西门子模块6ES7231-0HF22-0XA0型号大全
西门子模块6ES7231-0HF22-0XA0型号大全
前 言
随着硫化机自动控制水平的不断提高,硫化机的温度压力数据采集记录方法经历了圆盘记录仪、打点式记录仪、智能化无纸记录仪乃至目前较先进的上位机监控系统。上位机监控系统界面友好、控制安全可靠、精度高、数据存储量大,已越来越受用户青睐。笔者采用电阻式触摸平板电脑作为上位机,把现场数据通过传感器采集经PLC处理后送入上位机,组成一个监控系统。
1、监控系统构成
整个监控系统由A/D模块、D/A模块、CPU、传感器、电气转换器、平板电脑组成,如图1所示。
上位机对数据进行分析、存盘、综合处理、打印、报警、图形显示、人机对话,并可通过数据传送对PLC进行控制。
2、监控软件的设计
2.1 窗体设计
在软件的编程过程中,人机界面(MM,)非常重要,因为它直接与操作员产生信息交流,友好的人机界面要求能真实再现控制设备的状态以及准确的采集所需参数的数据,这主要依靠VB 6.0的控件组合及原代码完成。整个人机界面包括硫化状态画面(主画面)、实时曲线画面、数据查看画面、历史曲线画面、工艺编辑画面、报警画面、口令画面、开关状态画面,各画面间可以相互切换。当然也可根据用产习惯编辑不同的人机界面,具有很好的灵活性。
主画面如图2所示,它实时采集硫化机温度压力信号,并将其保存在以日期为名称的数据库里。显示每锅轮胎硫化的时间、步序参数数据,产量、胶囊计数、本机目前的信息也一目了然,棒图控件能动态表明每条轮胎的硫化进程,并有百分数提醒操作员。如果某一阀门打开,主画面中相应阀门名称的颜色变化,管路里就会有液体流动的动画,形象再现了阀门状态的变化,这可以在picture控件中应用API函数实现。清零菜单可分别对左右计数和产量进行清零。单击通讯按钮通过串口与PLC通信,进行数据交换,数据采集频率可在Timer控件中设定。主画面为监控系统的窗口,基本上所有操作员需要了解的数据都集中在这里,其画面的友好程度及功能的完整性直接影响人机界面成功与否。
实时曲线画面实时跟踪硫化机的温度压力参数,可分为圆盘型和直线型。圆盘型尊重原有圆盘记录仪的习惯,以为单位,实时记录每一时间的数值,在实时数据与上一时间数据间画圆弧,这样能准确显示数值的变化情况。直线型以一小时(一般轮胎硫化时间在一小时内)为单位显示,如果采集完一个小时数据,则实时曲线以采集频率从右向左漂移,这时在Picture控件右端显示当前数值对应的曲线,这种动态漂移效果可由bbbbbbS API函数实现。这两种曲线方式各有千秋,前者可以直观了解当天所有轮胎的曲线情况,但上位机的显示屏显示数据,图形就显得小,分辨率不高。者清晰度高,但只能显示当前一段时间的映线,如果需要更长时间的曲线,得从历史画面中查看。一般来讲,两者兼顾应用,相得益彰。
每天采集的数据都存放在当天的数据库里,要查看哪天的曲线只要打开该天的数据库就可以画出该天的历史曲线。
工艺编辑画面:所有需要修改的参数都集中在工艺编辑画面里,步序、分步时间、阀门状态、PID参数、延时设定、硫化规格、机号都可修改。该画面功能多,操作较为复杂,但主要还是围绕数据库做文章。建立一个数据库与Treeview控件联接,数据库中包括各种工艺号,每个工艺号为一个表(Table)。单击表名,该表的内容显示在Datagrid控件中,可以通过键盘修改表的内容。
其它画面不再详述。
2.2 上位机与PLC间的通信
在上位机链接通信中,上位机多是以主态同PLC进行通信,命令一般从上位机发至PLC,任何数据都能从PLC发送至上位机。两者间的通信通过上位机的串口与连接实现,并遵循RS-232协议,其命令格式为:
响应码为:
用V 8 6.0编写通信程序时,要用通讯控件(Mscomm)。将通讯控件调入后,还需编通信代码,如PLC采集的内温、内压、外温、外压存芯正数据区DMOOOONDM0003,主画面的内温、内压、外温、外压分别显示在Label 1(0)~Label 1(3)中。则在VB6.0下建立的通信代码如下:
Private Sub Timer 1-Timer()
bbbb l. MSComm l. CommPort=1使用COM l端口
bbbb l. MSComm l. Settings=9600,e,7,2设置通信条件
bbbb l. MSComm l. Port Open=True打开串口
R$=@ 00RD00000004读PLCDM0000-DM 0003的内容
RD$=R$content$fcs(R$)
bbbb 1. MSComm 1.In Buffer Count=0
bbbb 1. MSComm 1.Output=RD$content$Chr$(13)发送命令
Do
Dummy=Do Everts(1)
Loop Until bbbb 1. MSComm 1. In Buffer Count>=27
Inbbbbbb$=bbbb1. MSComm 1. bbbbb接受数据
Label 1(0). caption=MID$(inbbbbbb$,8,4)
Label 1(1). caption=MID$(inbbbbbb$,12,4)
Label 1(2). caption=MID$(inbbbbbb$,16,4)
Label 1(3). caption=MID$(inbbbbbb$,20,4)
From1. MSComm 1. Port Open=Faise
End Sub
数据是以帧为单位发送的,每次接受一帧时计算FCS并将结果与包含在帧中的FCS比较使之能检查帧中的数据错误。FCS是转换成2个ASC Ⅱ字符的8位数据,这8位数据是对帧开始数据直到此帧正文结束的数据进行异或运算的结果。VB 6.0下的FCS函数代码如下:
Function fcs(O$)
Dim B%,I%,Ⅱ%,FF$
B%=0
Ⅱ%=Len(O$)
For I%= I TO Ⅱ%
B%=B%×or Asc(Mid(O$,I%,1))
Next I%
FF$二He×$(B%)
1f Len(FF$)=1 Then
FF$=0+FF$
End If
Fcs=FF$content$*
End Function
3、结束语
本例已成功地应用于硫化机自动控制系统中,从实际运行情况,状态良好。当然,它有待不断完善,使之画面更丰富,功能更强大
1 龙门刨床的机械传动控制要求
图1 往返式机械传动示意图
图1所示的龙门刨床的机械传动示意图。传动系统从原点启动,中速行驶到1000mm,开始高速行驶,高速行驶到3000mm,开始低速爬行,低速爬行到终点(3200mm)停车。停顿2s。反向高速行驶,高速行驶到距原点200mm处开始低速爬行。到达原点停车,停顿2s后重新开始往返。在原点和终点低速爬行的目的是为了避免系统惯性带来的定点误差,做到原点和终点的jingque定位停车。
2 龙门刨床机械传动的PLC控制系统硬件设计
2.1 系统对变频器的控制要求
变频器的正反转由继电器K1、K2控制,速度的切换由继电器K3、K4完成。变频器故障报警输出触点(30A、30C触点)用于立即停止高速计数器运行,并由指示灯HR指示。
变频器具有多段速度设定功能,当K3、K4两个继电器触点都断开时,高速行驶(速度);K3闭合,K4断开时,中速行驶(第二速度);K3断开,K4闭合时,低速行驶(第三速度);K3、K4都闭合时,手动调节行驶(第四速度)。
旋钮SF用于手动/自动切换,并用指示灯HG1表示自动状态。手动时,能够通过按钮SA1(电机正转)和SA2(电机反转)手动调节传动系统的位置。
按钮SA用于传动系统在自动状态下的启动/停止控制。采用“一键开关机”方式实现启动/停止控制,用指示灯HG2表示启动状态。
行程开关SQ用于自动启动时,确定传动系统在原点位置,自动停止时,传动系统必须返回原点。行程开关SQ1、SQ2用于传动系统的两端限位,确保传动系统不能脱离设备。
2.2 PLC系统硬件系统的构成及连接
为了实现对龙门刨床机械传动的jingque定位,本系统采用PLC作为控制器,通过变频器进行速度调节,采用光电编码器和PLC高速计数器进行定位控制。根据龙门刨床的机械传动控制要求,系统中有开关量输入点8个,开关量输出点7个,光电编码器A相输入一个,因此选用SIEMENS的CPU224作为控制器,其 I/O点的分配及系统接线如图2所示。
图2 龙门刨床机械传动PLC控制系统接线图
3 PLC梯形图程序的设计
PLC的梯形图程序设计包含主程序(用于实时调用手动子程序SBR_0和自动子程序SBR_1)、子程序SBR_0(用于实现对系统的手动控制)和 SBR_1(用于实现对系统的自动控制)和中断处理程序INT_0程序(用于处理高速计数器计数当前值到达不同预置值的处理)。由于篇幅所限,以下将以中断处理程序INT_0程序为例,说明变频器对速度的控制和调节。其梯形图如下。
4 梯形图设计过程中要注意的几个关键问题
4.1通过多次更改高速计数器的中断和预置值实现多点定位
实现多点定位控制的关键包括两点,点是设置高速计数器中断事件12(计数器当前值=计数器预置值),另一点就是在中断处理程序中更改高速计数器预置值。
定位控制需要测量定位点与原点的距离,然后将单位距离(mm)转换成脉冲量,通过光电编码器和PLC高速计数器记录脉冲量的变化。本系统中,光电编码器的机械轴和电动机同轴。传动比=10,用于驱动设备的传动辊直径=100mm,光电编码器每转脉冲数=600个/转。可以计算出每毫米距离的脉冲数为:
每毫米距离的脉冲数=600÷(10×100×3.14)≈0.19108脉冲/mm
定点位和预置值比较,必须采用高速计数器中断方式,而不能采用一般的比较指令。因为一般的比较指令无法捕捉高速变化的事件。
所以,必须通过ATCH和ENI指令将高速计数器中断事件号12((计数器当前值=计数器预置值)与中断处理程序INT_0连接。在中断处理程序INT_0中,到达预置值时,重新装载下一次的预置值,并执行工艺要求的继电器输出,处理变频器的运行速度。
在自动子程序SBR_1中,将高速计数器HC0设置为单相计数输入,没有外部控制功能。在原点和终点通过更改计数方向,便于中断处理程序INT_0判断变频器的运行方向。
4.2 在中断处理程序INT_0中不能使用等于比较指令
由于在一个中断处理程序INT_0中判断处理多个预置值。需要比较指令和计数方向来判断目前高速计数器计数当前值在哪个阶段,根据判断来决定执行那一段指令。但是,判断不能使用等于比较指令,应该使用大于或小于指令判断。
尽管中断事件(计数器当前值=计数器预置值)发生时,PLC立即中断当前主程序、子程序,执行中断处理程序INT_0中的指令。但是,在中断处理程序 INT_0中,PLC仍然是按照逐条逐行的扫描机制执行。而高速变化的计数值不可能和中断处理程序执行同步,如果采用等于比较指令,PLC在执行中断处理程序时,可能会错过等于值,使PLC在中断处理程序中无法判断设备运行到哪个阶段。
4.3 在自动运行时,高速计数器的初始值寄存器写入必须禁止
由于多点定位需要多次装载预置值,写入预置值必须执行HSC指令。
执行HSC写入指令,不单单是写入预置值,如果在控制字节中不加以限制,初始值寄存器SMD38中的值同样写入。而SMD38=0,这样,就会使高速计数器计数当前值置0。因此,在自动运行时,必须设置控制字节SMB37的第七位SM37.6为0,在装载预置值时,禁止写入初始值。
但是,在高速计数器初始设置和返回原点重新开始运行时,又必须写入初始值,使初始值置0,避免机械原因带来的误差。因此,控制字节必须多次修改。遵循的原则是:允许写入初始值、执行HSC指令后,必须马上修改控制字节,禁止初始值写入,并再次执行HSC指令,中间不能有其它指令存在。
4.4 多点定位的输出线圈尽量采用立即指令
采用高速计数器进行多点定位,主要为了jingque定位。定位精度既决定于高速计数器的测量,同时也决定于执行机构的执行快速性。
如果采用普通输出指令,在一个扫描周期的程序执行阶段,改变的仅仅是输出映像存储器,PLC的输出点不会立即刷新,只有在程序执行完毕后,PLC的输出映像存储器才能对输出点刷新,执行输出。
为了增加定位精度,尽量采用立即输出指令。立即输出指令不受PLC扫描周期阶段的限制,在改变输出映像存储器的同时,立即刷新PLC输出点。
4.5自动/手动程序采用For-Next循环指令和子程序指令实现
本系统中的自动/手动功能通过采用For-Next指令和子程序指令实现。自动程序和手动程序实际上就是两个循环指令的循环体。而循环指令仅执行一次循环扫描刷新。
手动子程序SBR_0和自动子程序SBR_1用于整个程序的分段,便于程序的理解,增加程序的可读性。For-Next循环指令的作用是使输出线圈能够重复使用,简化程序。
中断处理程序:INT_0
当变频器正向运行(由SM36.5判断,增计数为正向运行,SM36.5=1),高速计数器当前值等于19108(1000mm)时,继电器 K3(Q0.2)、K4(Q0.3)断开,变频器速度设定为高速正向行驶(速度)。同时将高速计数器预置值更改为57325(3000mm)。
当变频器正向运行,高速计数器当前值等于59325(3000mm)时,继电器K3(Q0.2)断开、K4(Q0.3)接通,变频器速度设定为低速正向爬行行驶(第三速度)。同时将高速计数器预置值更改为61146(3200mm)。
当变频器正向运行,高速计数器当前值等于61146(3200mm)时,表明达到终点,继电器K1(Q0.0)、K2(Q0.1)、K3(Q0.2)、 K4(Q0.3)全部复位断开,变频器立即停止运行。同时,发出终点到达信号M0.1,让子程序SBR_1处理停顿2s时间,并由SBR_1处理反向运行设置。
当变频器反向运行(由SM36.5判断,减计数为反向运行,SM36.5=0),高速计数器当前值等于3822(200mm)时,继电器K3(Q0.2)断开、K4(Q0.3)接通,变频器速度设定为低速反向爬行行驶(第三速度)。同时将高速计数器预置值更改为0。
当变频器反向运行(由SM36.5判断,减计数为反向运行,SM36.5=0),高速计数器当前值等于0时,表明变频器返回到达原点。继电器 K1(Q0.0)、K2(Q0.1)、K3(Q0.2)、K4(Q0.3)全部复位断开,变频器立即停止运行。同时,发出原点到达信号M0.0,让子程序 SBR_1处理停顿2s时间,并由SBR_1处理正向重新运行设置。
本文创新点:
往返式传动控制系统的多点定位是一个较难解决的问题,本系统采用PLC作为控制器,通过变频调速,利用光电编码器和PLC高速计数器进行定位控制,克服了往返式传动控制系统中由于机械惯性的作用给系统带来的定点误差,从而实现了jingque定位。