7
6ES7321-1BP00-0AA0参数方式
摘 要:该文介绍了液压泵站的液压工作原理及工艺要求,选用固态软启动器来实现电动机的软启动和软停车,选用西门子S7-200PLC作为液压泵站的控制系统,设计了控制系统的动力柜电气控制原理图及梯形图程序。
0 前言
由于液压传动的功率密度大,能够输出大的力和力矩;易于实现大范围的无级调速,可达100: 1 ~2000:1;易于实现过载保护;工作比较稳定,反应快,冲击小,能高速启动、制动和换向;容易和电气控制结合,实现自动控制。而PLC的主要特点是易学易用,编程方便;性高,抗干扰能力强;适用性强,使用方便;系统的设计和施工周期缩短;维护方便。其广泛应用于钢铁、石油、化工、电力、机械制造、汽车、轻纺、交通运输和等行业。以PLC作为液压泵站的控制,对液压泵站的工作进行自动控制,具有多种的检测和保护手段,稳定性好,性高,并可方便地进行各种参数的的设定和修改。
1 液压泵站的控制原理
由于液压泵电动机的直接起动和停机都将引起转矩突变而导致液流冲击和电流冲击。液流冲击使液压泵系统产生振动和噪声,严重时使管道和管道管夹振动,甚使管道、闸阀破裂,以及损坏密封件;电流冲击则有可能危及接触器等电器设备,另外冲击电流可转化为冲击转矩,影响传动机械的使用寿命。
传统方法是采用启动方式,随着技术的进步,人们越来越多的采用固态软启动器采用三相反并联晶闸管作为调压器,将其接入电源和电动机定子之间。使用软启动器启动电动机时,晶闸管的输出电压逐渐增加,电动机逐渐加速,直到晶闸管全导通,电动机工作在额定电压的机械特性上,实现平滑启动,降低启动电流,避免启动过流跳闸。待电机达到额定转数时,启动过程结束,软启动器自动用旁路接触器取代已完成的晶闸管,为电动机正常运转提供额定电压,以降低晶闸管的热损耗,延长软启动器的使用寿命,提高其工作效率,又使电网避免了谐波污染。软启动器同时还提供软停车功能,软停车与软启动过程相反,电压逐渐降低,转数逐渐下降到零,避免自由停车引起的转矩冲击。原则上,异步电动机凡是不需要调速的各种应用场合都可以使用软启动器,尤其适用于各种泵类负载或风机类负载,因为此类负载需要软启动和软停车。采用液压泵站采用固态软启动器能解决上述问题。动力柜电气控制原理图,如图1所示。
2 PLC控制系统的设计
液压泵站用于铜电解阳自动生产线机组,共有6台液压泵电机组,其中3台泵供给生产线, 2备1用,2台泵供给压力机组, 1备1用, 1台泵供给铣耳机组。液压泵站的液压系统原理图,如图2所示。工艺要求为:液压泵电动机卸载起动、卸载停机,且各台电动机错开起动;每台电动机均有运行电流指示,有供电电压指示;液压泵的吸油过滤器需具有堵塞报警;油箱油位检测,高、低油位报警,低油位自动停机;油温检测,油温过低能自动加热至正常才能起动;油温过高会自动起动循环泵降温;系统压力检测,下限压力报警;上限压力自动停机保护,压力控制点可以从触摸屏上设置等功能。采用PLC作控制系统,可灵活地控制液压泵站的油泵电机组的运行,不仅可实现严格的一定顺序的机组起停控制,也可由通过现场控制箱的转换开关来确定备、用电机的投入使用,见表1。
根据控制要求,设计液压泵站控制系统的梯形图程序,由于篇幅所限,列出部分梯形图程序,如图3所示。
3 结束语
液压泵站的电机启动采用固态软启动器,解决了液流冲击和电流冲击,同时采用PLC逻辑控制,系统稳定,运行,能实现复杂的开关量控制,满足液压泵站的控制要求,在相似的液压泵站中应用PLC逻辑控制,本文具有一定的参考应用。
关键词:虚拟PLC;MSComm;PL2303hx;单片机
0 引言
计算机技术的迅猛发展促使虚拟PLC技术应运而生。它通过借助PC完成PLC的计算、存储、编译以及通过I/O口完成于现场工业设备进行通讯的各项功能。
虚拟PLC结合计算机技术的发展,利用VC、VB、Delphi等编程语言及微机的图形处理功能开发出PLC的软件编程平台,并构建虚拟模型实现PLC的部分硬件功能。相对于传统PLC,虚拟PLC具有友好的PLC指令编辑界面和兼容性。虚拟PLC上可以很好的实现软实时性,而硬实时性差成为其发展的制约因素,还未实现“”的体验。论文就如何实现虚拟PLC同硬件间实时通讯的开发与实现进行了研究。
1 虚拟PLC平台
论文中的虚拟PLC运行平台是作者所在课题组基于Visual C++6.0环境立开发的。虚拟PLC基于计算机技术和虚拟现实技术开发的,在保证功能效果的前提下,如何提高用户在使用虚拟PLC时的真实感和沉浸感,是虚拟PLC要着重处理的问题。
该虚拟PLC系统中建立了虚拟模型,并通过将Solidworks、3DS MAX等建立的三维模型导入Eon Studio的方法,构建了虚拟模型与虚拟PLC的通讯,从而可以在没有任何硬件的情况下完成硬件PLC的各项实验,达到实验教学的目的。
虚拟PLC的可视化增强了的直观性和逼真度,接近工业实践和提升学生的兴趣,大大降低PLC实验的费用。然而,存在着与硬件间通讯弱的问题。它的总体框架如图1所示。
2 通讯系统总体框架
借助Visual C++6.0的串口通讯控件MSComm来实现上位机与单片机间的通讯。数据经USB口送出后,须先经过USB口转串口芯片处理,然后连接到单片机。后,由单片机来连接硬件电路。虚拟PLC借助单片机可以直接驱动硬件和现场信息,从而完成了整个通讯系统的建立。通讯系统总体框架图如图2所示。其中,整个通讯系统包含以下三个模块。
1 ) M S C o m m 模块。在V i s u a l C + + 6 . 0 中,MSComm控件是Microsoft为我们提供进行串口通讯的ActiveX控件。
2)USB口转串口模块。USB口较九针口方便易用,但须在上位机中安装对应于USB口转串口芯片的驱动,以便通讯时进行USB协议的加载和解析。该系统中采用的USB口转串口芯片是PL2303hx。
3)下位机模块。该系统采用的下位机是单片机STC89c52rc。
3 MSComm模块
M S C o m m 控件在进行串行通讯时有两种方法:事件驱动方法和查询法。论文采用事件驱动方法:在接收到数据时触发事件响应的消息,由专门的函数来对消息进行处理。论文采用的串口通讯相关参数如表1所示。
COM口的设置须参照设备管理器中生成的虚拟COM口号,该系统生成的虚拟口是COM3。在添加完M S C o m m 控件后系统会自动生成CMSComm的通讯类,而我们仅需要调用该类中的函数即可完成串行通讯的设置,论文的具体相关设置的部分代码如下:
MSCommIni()
{
……
m_ctrlMSComm.SetCommPort(3); //选择COM口
m_ctrlMSComm.SetbbbbbMode(1);
//输入方式为二进制方式
m_ctrlMSComm.SetInBufferSize(1024);
//设置输入缓冲区大小
m_ctrlMSComm.SetOutBufferSize(1024);
//设置输出缓冲区大小
m_ctrlMSComm.SetbbbbbLen(0);
//设置当前接收区数据长度为0
m_ctrlMSComm.SetSettings("9600,n,8,1");
//波特率9600,无校验,8个数据位,1个停止位
m_ctrlMSComm.SetRThreshold(1);
//参数1表示串口接收缓冲区中有多于或等于1
个字符时将引发一个接收数据的OnComm事件
……
}
由于该系统主要是将Y口的状态发送给下位,所以选择的是二进制的传输方式。由于USB线通讯时的数据越少越好,所以将每个Y口对应一个bit位,每8个Y口状态按照一定的顺序进行一次绑定。后,将每次绑定的数据按照一定的顺序统一打包发送给单片机。发送的部分代码如下:
m_ctrlMSComm.SetOutput(binDT); //发送数据
MSComm控件在接收到单片机发送来的数据时,寻找相应的消息响应函数。这里,系统中响应函数为OnOnCommMscomm1()。具体响应的部分代码如下:
if(m_ctrlMSComm.GetCommEvent()==2)
//事件值为2表示接收缓冲区内有字符
{ myVar.Attach(m_ctrlMSComm.Getbbbbb());
safearray_inp=myVar;
//VARIANT型变量转换为ColeSafeArray型变量
len=safearray_inp.GetOneDimSize();
//得到有效数据长度
for(k=0;k
safearray_inp.Gebbbement(&k,rxdata+k);
//转换为BYTE型数组
for(k=0;k
{BYTE bt=*(char*)(rxdata+k); //字符型
strtemp.bbbbat("%c",bt);
//将字符送入临时变量strtemp存放
char test[8]={'C','D','E','F','G','H','I','J'};
//定义不同事件响应的代号
for (int i=0;i<4;i++)
{If (strtemp == test[i])
//对比出单片机要引发哪个事件响应
{if(m_pDoc->m_bDlgPLC)
m_dlgPLC.vcX[i] = TRUE;
else if(m_pDoc->m_bDlgTrafficLight)
m_dlgTrafficLight.vcX[i] = TRUE;
}}}}
该系统中,MSComm控件既要将虚拟PLC运行平台的Y口状态发送到单片机,又要接收单片机发送来的数据,并对其中的有效数据处理后,影响虚拟PLC的运行状态。它的整个工作流程图如图3所示。
4 USB口转串口模块
上位机的数据发出后,要进行USB传输协议的处理,然后发送给单片机。USB口转串口模块就是负责USB协议的解析和打包。
论文采用PL2303hx作为USB口转串口芯片,须外接12.0MHZ的晶振,提供其外部的时钟脉冲。它的输出电平再经过MAX232的调平处理,可直接与单片机引脚连接。
PL2303hx可双向传输数据。一方面接收上位机模块的数据进行USB协议解析,并将电平转换为标准的TTL电平,保证单片机能正常的接收数据;另一方面,对单片机发送出来的数据进行USB协议处理和电平转换,保数据能有效传输到上位机。
5 单片机模块
该系统就是采用单片机是S T C 系列的89C52rc。它具有40个引脚,P0-P3各个P口有8个I/O口,其中P3.0和P3.1是负责与上位机模块进行串口数据的接收和发送。
单片机的多功能性使其在进行某一特定功能时,须行相关的设定。该系统主要用到了STC89c52rc的串行通讯功能、定时器功能等。该系统中单片机的外接晶振是11.0592MHz,而其所选的是可以进行自动重装的工作模式2,采用定时器1作为波特率发生器。定时时间t= 1/9600,震荡周期为1/(11.0992×106)。根据公式:
t =(28 –T1的初值)×振荡周期×12;
计算出定时器1的初值并转化为16进制的形式。单片机中初始化的部分代码如下:
SerialIni(){
……
TMOD = 0x21; //工作在模式2
TH1 = 0xfd;
TL1 = 0xfd; /* 9600 */
TR1 = 1;
SCON = 0x50; /* 工作在方式1*/
……}
该系统采取中断的方式来响应上位机发送来的数据。一旦有数据发送过来时RI被置为1,进入中断程序。中断程序中先对RI复位,然后将串行缓存寄存器SBUF中的数值取出,经处理后存储在一个数组中,接着对设置的全局变量的值进行加1,判断全局变量是否出了设定的上限值,过就归零,否则不动作。然后进行下一次SBUF的扫描,直到RI归零为止。其中的全局变量取决于上位机发送来的Y口的总数。部分接收程序如下:
ReciveData(){ /*有串口数据过来*/
RI = 0;
temp = SBUF; //取出SBUF中的值
if((0x00<=temp)&&(temp<=0xff)){/*卡定范围*/
temp1 = temp-0x00; }
if(j==0){sled_data[0]=temp1; }
else if(j==1){sled_data[1]=temp1; }
else if(j==2){sled_data[2]=temp1; }
j=j+1;
if(j>2)
j=0;}
该系统设置通过P1口采集现场的硬件运行状况,接收用户信号的输入,并将采集到的数据处理后发送到上位机。这样,使得用户在操作时如发现电路运行时序出现错误,可以通过按下相应的按键等发送特定的信息给上位机,从而影响虚拟PLC的运行时序,保证了LED等组成的控制对象和上位机运行时序的同步及电路运行的。其部分代码如下:
if(down_to_up0 == 0) //捕获按键按下的消息
button1 = 0x43;
……
else if(down_to_up3 == 0)
button4 = 0x46;
if(button1!=0xff&&down_to_up0==1) //确保按
键按下时仅触发一次动作
{ SBUF = button1;button1 = 0xff;}
……
if(button4 != 0xff && down_to_up3 ==1)
{ SBUF = button4;button4 = 0xff;}
该系统中采用不断循环扫描的方式来进行串行通讯数据的接收和现场信息的。是检测P1口的各个引脚电平是否有变化,如有变化就发送相应的信息给上位机。其次扫描串行通讯中断标志位RI是否有效,有效则处理接收到的数据。
1 引言
配料生产线作为整个硅铁生产中的重要环节,其工艺性能技术指标,对整个硅铁生产工艺流程和硅铁产品质量提高有着直接的影响。目前西北地区许多硅铁厂的配料生产线的控制方式还停留在上世纪六、七十年代的继电器控制水平。随着对硅铁需求的数量增加和质量的高要求,因此对落后的生产工艺进行改造显得非常必要。本文就某硅铁厂硅铁配料生产线控制系统的改造进行阐述。
2 改造前状况
原配料系统是由一台电子秤和布置在方形料仓四周的四台电磁下料机构成,控制系统是由简单的继电器组成的单控制回路,依靠人工在现场分别操作下料机完成配料。配料仓通过气阀将配好的物料卸到运料小车里,小车沿斜桥上料系统将物料加入到炉膛冶炼。系统主要存在以下问题。
①系统是人工控制,处于开环控制状态,配料误差大,无法满足控制精度,造成产品质量不稳定。
②运料小车卷扬机电机在全速运行时,由限位开关急停制动,因惯性过大造成制动失灵或停车位置不准,有时出现“挂”及“溜沟”事故,严重影响生产。
③原系统料车是恒速运行,由于起动频繁,起动电流过大,长时间运行必然会引起电网的波动,接触器及电机线圈容易烧毁。
④料车在斜桥上端卸料时,如果抱闸失灵,料车将在重力作用下下滑,带动电机反转,损坏系统设备。
⑤现场粉尘较大,工作环境恶劣。
3 改造方案设计
由于原来场地空间只适宜旧配料生产工艺,厂方要求在不改变原有配料工艺和机械设备基础上尽大可能地实现配料工艺自动化,从而节约改造资金。为此采取如下措施。
①机械设备和原有配料工艺保留。在四个大仓下面各装一个电磁振动给料机,四种物料仍然使用同一台电子称重仪,配料方法是四种物料依次配料,不许同时配。
②对电气控制系统进行改造。在上位机中使用“组态王”控制软件,以串口通讯方式与PLC 连接,以实现可视化操作。系统的设计分为手动及自动控制系统两部分,手动控制系统作为一种应急控制而存在。系统采用IND560 型电子秤仪表头完成,自动控制系统采用S7-200 型PLC 加扩展模块实现。由上位机(研华工控机ARK 3389)、PLC、电磁振动控制器、电磁振动给料机、称重传感器和变频器组成一个小型的DCS 系统。由值班人员在控制室完成所有物料的配料过程。
③上料小车由继电器控制卷扬机直接起动、恒速运行改为FR-740 型交流变频器变速驱动控制。变频调速是按照U/f 恒压频比规律或矢量控制方式进行工作,通过改变定子供电频率达到电动机调速目的。调程中,人为机械特性与固械特性基本平行,消耗的转差功率变化不大,效率很高,节电效果明显。使用变频器控制能实现无级调速并且降低起动电流,减少对绕组的绝缘破坏,延长电动机使用寿命。同时变频器的一些保护功能可以大大提高生产性。所以使用变频调速方案可以很好地解决上述系统中存在的问题。
④将传统的机械式接近开关改为防尘光电接近开关,探测距离3cm 以上,每个控制位两边安装接近开关,同一控制位的接近开关并联,只要有一边感应到,小车立即执行其动作。为了确保,小车低速运行停止后,不允许滑出接近开关的感应范围。



①电压测量精度≤±0.6%FS。
②电流测量精度≤±1 .5%FS。
③可以显示2位小数,数据显示刷新频率不1 Hz。
④设备的平均无故障时间≥5000 h。
⑤环境温度适宜范围是0--40℃,相对湿度≤80%RH。
⑥供电电源电压220(1±10%)VAC,输出电流≥15 A,要求接大地良好,确保设备的机柜不带静电。
⑦老化测试台具有4个工位,向每台被老化的探测器提供立的28.5V/25 A电源,4个工位可以单或同时使用。当其中某台探测器出现故障或限强制退出时,仅切断该探测器的供电系统,中止其老化进程,但不影响其他正在老化的探测器。
⑧对老化进程中探测器所采取的保护措施如下。
·过压保护措施。当探测器上反馈的模拟信号“+28.5 V转接”≥32V或≤24 V时,老
化测试台自动切断对该探测器的供电;当“磁控管电流”≥22 V或≤13 V时,老化
测试台也会自动断电。但是在“接通探测器”指令发出的瞬间,由于探测器上的
“+28.5 V转接”电压建立需要一段过渡时间,故在此期间不启动过压保护措施。
·过流保护措施。当探测器处于低压老化阶段“+28.5 V消耗电流”≥6A或处于高压
老化阶段“+28.5 V消耗电流”≥12 A时,老化测试台自动切断对探测器的供电。
·过渡过程的保护措施。当探测器处于冷态时,发出“接通探测器”指令,瞬间冲击
电流很大,将会过6A,若此时就启动保护措施将立即中止低压老化进程。为
使老化测试顺利进行并保证产品,拟在启动“接通探测器”指令后预留一段过
渡时间(经反复试验该过渡时间设定为15 s),在这段过渡期内,“+28.5 V消耗电流”
限不报警。过渡时间中的前2s内允许“+28.5 V消耗电流”的过流保护限值与高
压老化时相同,即小于12A; 2s后按低压老化限值测试,即小于6A。过渡期结束
后,按要求正常测试。
·磁控管预热保护措施。为了使磁控管正常工作,延长其使用寿命,在“接通探测器”
指令发出且探测器上反馈回“+28.5 V转接”信号后,延时2min才允许启动“接通
高压”指令或“射检”指令,但这二者不能同时有效!
·人身保护措施。出于对人身保护,避免电磁波辐射,老化测试的工艺要求禁止“接
通高压”指令和“向天线”指令同时有效。
综上所述,老化测试台的保护项目及指标汇总,见表2-6。
表2-6 HG-09型探测器老化测试台保护项目及指标汇总表
保护项目 下下限断电指标 下限报警指标 上限报警指标 上上限断电指标
+28.5V转接 ≤24.00V ≤25.50V ≥31.50V ≥32.00V
+28.5V 低压 ≥6.00A
消耗电流 高压 ≥12.00A
磁控管电流(内部转换为电压值) ≤13.00V ≤15.00V ≥21.00V ≥22.00V
用经验设计法设计梯形图时,没有一套固定的方法和步骤可以遵循,具有很大的试探性和随意性,对于不同的控制系统,没有一种通用的容易掌握的设计方法。在设计复杂系统的梯形图时,用大量的中间单元来完成记忆、联锁和互锁等功能,由于需要考虑的因素很多,它们往往又交织在一起,分析起来非常困难,一般不可能把所有问题都考虑得很周到,程序设计出来后,需要模拟调试或在现场调试,发现问题后再针对问题对程序进行修改。即使是非常有经验的工程师,也很难做到设计出的程序能一次成功。修改某一局部电路时,很可能会引发出别的问题,对系统的其他部分产生意想不到的影响,因此梯形图的修改也很麻烦,往往花了很长的时间还得不到一个满意的结果。用经验法设计出的梯形图很难阅读,给系统的维修和改进带来了很大的困难。
所谓顺序控制,就是按照生产工艺预先规定的顺序,在各个输入信号的作用下,根据内部状态和时间的顺序,在生产过程中各个执行机构自动地有秩序地进行操作。使用顺序控制设计法时根据系统的工艺过程,画出顺序功能图(Sequential Function Chart),然后根据顺序功能图画出梯形图。
顺序控制设计法是一种的设计方法.很容易被初学者接受,对于有经验的工程师,也会提高设计的效率,节约大量的设计时间。程序的调试、修改和阅读也很方便。只要正确地画出了描述系统工作过程的顺序功能图,一般都可以做到调试程序时一次成功。
顺序控制设计法基本的思想是将系统的一个工作周期划分为若干个程序相连的阶段,这些阶段称为步(Step),然后用编程元件(如存储器位M)来代表各步,步是根据输出量的ON/OFF状态的变化来划分的,在任何一步之内,各输出量的状态不变,但是相邻两步输出量总的状态是不同的,步的这种划分方法使代表各步的编程元件的状态与各输出量的状态之间有着为简单的逻辑关系。
使系统由当前步进入下一步的信号称为转换条件,转换条件可以是外部的输入信号,如按钮、指令开关、限位开关的接通/断开等,也可以是PLC内部产生的信号,如定时器、计数器的触点提供的信号,还可能是若干个信号的与、或、非逻辑组合。
顺序控制设计法用转换条件控制代表各步的编程元件,让它们的状态按一定的顺序变化,然后用代表各步的编程元件去控制PLC的各输出位。
顺序功能图并不涉及所描述的控制功能的具体技术,它是一种通用的直观的技术语言,可以供进一步设计和不同的人员之间进行技术交流。对于熟悉设备和生产流程的现场情况的电气工程师来说,顺序功能图是很容易画出的。
在IEC的PLC标准(IEC 61131)中,顺序功能图是PLC的编程语言。顺序功能图主要由步、有向连线、转换、转换条件和动作(或命令)组成。