6ES7221-1BH22-0XA8产品特点
在过程控制中,由于工业现场非常分散,I/O点数众多,各种仪表的工作环境 非常恶劣,采用数据采集卡和LabVIEW开发平台来完成现场的数据采集和控制显然不可取。 考虑到过程控制中的过程参数变化不是很快,而PLC恰恰可以克服数据采集卡在过程控制 中的不足,并且具有较高的性能比,因而采取以PLC为下位机,以装有LabVI EW软件的工控机为上位机开发平台,通过RS232或RS485串口与PLC通讯,实现对工业现场的 监控与现场数据的分析。这样可以利用LabVIEW软件强大的数据处理功能和良好 的人机交互环境通过简单的编程实现上位机的SCADA功能。
1系统的基本结构
现以实验室中的双容水箱对象为例来构建基于LabVIEW与PLC的过程控制系统。系统结构如图1所示。系统采用OMRON公司C200HG系列的PLC为下位机,用RS232型电缆将HO ST bbbb模块直接连到装有LabVIEW的工控机的串口上。
2PLC与上位机连接系统的通讯
上位机与PLC之间的通信实际上是计算机与PLC通信模块HOST bbbb之间交换命 令和响应的过程。上位机具有初始传送优先权,所有通讯均由上 位机启动,不需要PLC编写通信程序,HOST bbbb能够对上位机发送来的字符串进行分析,检查数据格式,分析指令代码,然后根据指令代码进行相应的操作,并向上位机发出响应信号。通知上位机已完成或反映通信的错误,如奇偶校验错误、FCS错误、代码错误等。在一次交换中传输的命令格式和应 答数据称之为一帧。命令帧要通过用户编写的上位机通讯程序实现,PLC的上位链(Hostbbbb )单元会根据上位机发来的命令帧自动生成响应帧返回给上位机。
2.1命令帧格式
上位机命令格式如下:
其中@表示一帧的开始。节点号是上位机按该号来识别PLC。识别码是含有两个字 符的上位机链接命令代码,它表示上位机要对PLC进行何种操作,其识别码的含义见文献[4]。“正文”包括起始字和字数,起始字指的是要读写通道的起始地址,字数是指要读写的通道个数。FCS设置两个字符帧检查顺序码,FCS码由上位机计算,并设置在命令帧里。它主要是 用来保证在传送一帧数据时,在终止符前安排一个FCS码,以检查在传送数据时,是否发生 错误。FCS码的具体算法是:从一帧数据的开始到帧正文结束(FCS之前)所有数据字符的ASCI I码执行“异或”操作的结果,此结果是一个8位二进制数,然后分别把其高4位和低4位转换成两个16进制数并看成ASCII码。终止符是“*”,“回车”符表示命令的结束。
2.2应答帧格式
应答帧是由PLC自动返回的,其应答格式如下:
其中“结束码”是两位16进制数,它是PLC返回给上位机的通讯错误代码,其中00表示通讯无错误,不同错误代码的含义可参考编程手册。“正文”中每4位16进制表示一个通道的数据。
2.3LabVIEW与PLC通讯的实现
(1)PLC上位机链接设置
采用RS232C端口时,需要置DM6645的12~15位为0,PLC的节点号设置在DM6648的00~07位。 文中采用OMRON C200 PLC的默认设置。即在CPU的DIP开关J脚置OFF的情况下,PLC与上位机 之间采用如下参数进行通讯:
启动位:1位;数据长度:7位;停止位:2位;奇偶校验:偶校验;波特率:9 600 b/s。
(2)LabVIEW中串口通讯的步骤
LabVIEW共有5个串行通讯节点,包括初始化端口(Serial Port Init.vi)、串口写(S erial P ort Write.vi)、串口读(Serial Port Read.vi)、检测串口输入缓存中的字节数(Bytes at Serial Port.vi)、串口中断(Serial Port Break.vi)等功能,各个节点端口参数表见文献[2]。
在LabVIEW的程序中可采用下列步骤实现与PLC之间的通讯:
①初始化串口,设置双方通讯的端口号、波特率、数据位、停止位、奇偶校验等;
②把要发送的数据按PLC命令帧的格式打包,包括计算帧校验序列FCS;
③写端口,把整个命令帧发送到串口;
④延时等待PLC的应答帧到达串口;
⑤读串口,读取PLC的应答帧;
⑥把读取的应答帧解包,读取相应的数据。
(3)LabVIEW中串口通讯的实现
①初始化串口,按照PLC串口通讯的要求,通过Serial Port Init.vi节点设定,端口号设为0,即设定上位机的串口COM1与PLC通讯,若设其他串口,端口号依此类推;波特率设为9 600 b/s;数据位为7位;停止位设定为2位;奇偶校验设定为2,即对数据帧进行偶校验。
②对PLC数据帧计算FCS并把数据帧打包,其子程序如图2所示:
第0步为计算帧校验序列FCS程序;第1步为数据帧打包程序。
在编程时应注意以下几点:
1)对于长度为n的字符串,要进行n-1次“异或”,因此循环次数应为n-1;
2)利用循环结构的移位寄存器对每个字符的ASCII码进行“异或”时,要对左侧的移位寄存器进行初始化[3]。在系统中,由于任何一帧数据都是以“@”开始,因此程序中采用“@”的ASCII码来初始化左侧的移位寄存器;
3)在For循环与循环外部的数据交换通道采用无索引(Disable Indexing)形式,这样就可在循环结束后一次性读取FCS的数值;
4)由于数据帧中FCS的数字是字符型的,要通过“Number To Hexadecimal bbbbbb”这个节点把整型表示的FCS数值转换成2个以16进制表示的ASCII码字符;
5)程序中的“13”是回车符ASCII码数值。
③对串口的发送与接收及解包程序
数据的发送与接收主要是通过串口写、串口读节点来实现的。在写串口完成后要延时一段时 间(如延时250 ms)后再读串口,这样才能保证串口通讯正常进行。解包程序与打包程序类似,其过程正好相反。数据收发子程序如图3所示。
3系统的分析及方案设计
3.1系统分析
通过作双容水箱上升阶跃,采用LabVIEW的波形显示控件可得到一条与“S”型相近的响应曲线,可用一阶惯性环节加纯迟延近似表示其传递函数:
由于τ/T=1.06>1,故系统迟延较大[4],且动态特性存在非线性。经分析,动态特性的非线性主要是由于变频器及水泵的非线性造成的。在采用单级PID控制时,由于系统迟延较大,在水箱B出现正偏差、降负荷的初级阶段,水箱A中的水位值已经开始下降,但水箱B中的水位继续上升,使系统的动态特性变差;基于上述现象的存在,系统动态特性呈现一种近似等幅振荡状态。因而系统不宜采用单级PID控制。
3.2系统设计
经分析,采用串级控制系统可以改善对象的动态特性,提高系统的工作频率;对负荷的变化具有一定的自适应力;适用于非线性对象[1]。故采用串级控制方案,其控制系统框图如图4所示。
主调节器和副调节器是在LabVIEW中用公式节点实现的,整个串级控制算法为[1]:
Kp、Ti、Kd分别为调节器的比例增益、积分时间、微分时间。
在整个串级控制中,把整个控制对象分为导前区(水箱A)和惰性区(水箱B),其中副 调节器的任务 是快速消除系统内扰,以及克服变频器及水泵在系统负荷变化时对水位测量值的影响,起粗 调作用,故采用P调节规律;而主调节器的任务是维持水箱B水位的稳定,采用PID调节规律 。PLC的D/A转换模块DA004是12位的,所能接收大数字量为OFFF(即4095),这时在主调节 器积分的作用下,在整个系统开始启动、停止或给定值变化幅度较大时,由于短时间内出现 很大的偏差,在积分作用下,整个调节器输出进入深度饱和状态,产生积分饱和[1],使系统产生较大的超调和振荡。在控制程序中采用积分分离的PID算法。在偏差大于某一值M时,主调节器采用PD控制,在水位测量值接近给定值时,采用PID控制。整个控制 系统的阶跃响应曲线见图5。
4小结
以PLC为下位机,以LabVIEW为上位机开发平 台,利用LabVIEW软件强大的数据 运算能力和数据分析能力并通过LabVIEW与PLC之间的串口通讯,组成了完整的串级控制系统 ,试验表明,调节后水位的波动范围在±1 mm范围内,而且作系统扰动试验时,水位能够很 快的实现平衡。从而符合系统所要达到的稳、准、快的特性。PLC与LabVIEW的串 口通讯程序的设计方法亦要移植到其他上位机,整个系统的设计思想可应用于工业现场控制 的其他场合
在雷达伺服控制系统中,可编程控制器(PLC)以其模块化结构,体积小、可靠性高,编程设计/更改方便,控制能力强,得到了广泛应用。西门子公司S7-200型PLC,不仅可实现输入/输出逻辑关系综合,延时/时序,数学运算及定时操作等功能,而且利用其串行口(RS485)与上位PC机串行口(RS232)的串行通信功能,可以直接进行上、下位机之间的数据传送,上位机(PC机)可以实时采集伺服控制系统中,各设备单元有关测试点状态,以及天线上控保开关状态;同时PC机通过该串口可实时给PLC发送控制指令。
在应用S7-200型PLC与PC机及通信时,首先碰到RS232/RS485串口转换问题,以及由于上、下位机通信为半双工(一方发送,另一方接收),上、下位机之间接收/发送数据同步问题,以及伺服控制系统中,各设备单元测试点状态的采集与处理等难点问题。以下将对这些难点问题一一进行阐述。
1 PLC与PC机通信接口
由于PLC与PC机在串行接口上的不同,PLC为RS485,PC机为RS232。我们采用西门子公司的RS232/RS485通信转换电缆为上、下位机通信的转换口。由于RS485采用差分型数据传输,传输线上为电位差信号,因而抗干扰能力强。
RS232/RS485串行通信框图如图1所示。
2 S7-200型PLC自由端口模式
S7-200型PLC有数种通信模式,一种为点对点(PPI)通信协议,另一种为对用户完全开放的自由端口模式。在自由端口通信模式下,通信端口完全由用户程序所控制,通信协议也由用户设定。在该模式下,PLC与PC机为主从关系,PC机始终处于主导地位。当PLC处于“RUN”状态下时,通信命令有效;当PLC处于“STOP”状态下时,通信命令无效。
在进行通信前,应该首先对PLC自由通信端口进行初始化。对S7-200型PLC初始化,是通过设置特殊标志位SMB30来实现的,需要设置的参数有:通信波特率,奇偶校验位,数据停止位,以及接收/发送的字节数等。
S7-200型PLC有专门的数据接收/发送指令,下面分别进行介绍:
(1)发送数据指令格式 :XMT TABLE PORT
其中,变量TABLE中存储发送的数据总数n;TABLE+1为发送的个有效数据,TABLE+2为发送的第二个有效数据,以此类推,TABLE+n-1为发送的第n-1个有效数据(也是后一个数据)。
PORT指明通信口,这里必须为0口。数据存储格式如图2所示。
当正在发送数据时,特殊标志位SM4.5为0;当发送数据完成时,SM4.5为1;可用SM4.5的状态来判断发送是否完成。
(2) 接收数据指令格式:RCV TABLE PORT
其中,变量TABLE存储接收的数据总数n+2,TABLE+2为接收的个有效数据,TABLE+3为接收的第二个有效数据,以此类推,TABLE+n+1为接收的第n个有效数据(也是后一个数据)。
PORT指明通信口,这里必须为0口。
后一个字节数据接收完毕,PLC将产生一个中断。用户可将进行的处理操作放于中断处理程序中。
接收到的数据格式见图3所示。
3 串行通信接收/发送同步方式软件“握手”信号
在图1中,我们知道,RS485只有两根数据线TxD,RxD,这对数据线既可发送数据,也可接收数据。但通信双方不能同时接收/发送数据(即为半双工制),一方处于发送数据时,另一方必须处于接收数据;反之亦然。
由于无硬件握手信号,我们采用软件“握手”信号来保持数据传输的同步,以保证PLC与PC机通信时,一方处于发送数据时,另一方处于接收数据的状态。图4与图5给出了PLC与PC机通信程序流程图。
设计思想:
PLC发送数据前,首先发送一个字节的“握手”信号,PC机收到“握手”信号后,再将该“握手”信号回传给PLC,PLC将收到的“握手”信号进行比较,若正确,则开始发送n个字节的数据,此时PC机处于接收数据状态。若握手信号不正确,则重新发送“握手”信号,直到收到正确的“握手”信号为止。
PLC接收数据,PC机发送数据的同步方法类似,同样用校对“握手”信号的方法保持PLC与PC机的同步。
4 结论
本文设计的PLC与PC机串行通信方法在某雷达天线伺服控制系统中已获得了成功应用。目前,设备运行稳定、可靠。应用情况表明,本文提出的PLC与PC机串行通信方法,有效可行。
随着我国公路事业的迅猛发展,改性沥青在高等公路及城市道路建设中得到普遍使用。与普通沥青比较,改性沥青具有较大承载能力,高温时不易变形,低温时不易硬脆,雨天时不湿滑,抗老化,寿命长等特性。改性沥青设备是在普通沥青中掺加热熔性高聚物改性剂,经过混合研磨而制成改性沥青的专用设备。自90年代采用沥青改性技术以来,大多是直接进口国外成套设备。如奥地利Novophalt公司的沥青改性设备等,价格昂贵,维修不便。2000年我们受某工程设备有限公司的委托开发改性沥青设备自动控制系统,针对改性沥青设备环境条件差,工艺过程要求比较复杂,我们主要采用了可靠性高、抗干扰能力强、通用灵活、维护方便的PLC为核心控制器,与工控机组成PLC + 上位机的二级监控系统,既保证了设备的长期可靠、安全地运行,又使系统操作简便,实现了对生产过程的有效监督。
1 控制系统基本结构及原理
设计中采用日本三菱PLC,上位机选用台湾研华工控机,4台日本产智能称重仪表,分别对A罐、C罐、E斗、F斗的称重传感器信号进行转换。控制系统的结构如图1所示。
上位计算机主要完成与PLC的实时通信,通过组态软件开发出的动态监控画面能形象直观地显示阀的开关,管道中的物体流动,搅拌机的运、停及A、B、C、D各罐的液位升降等;进行工艺配方选择(配方1、配方2、洗罐);对智能仪表的各级称量目标值及搅拌时间等参数进行设定。
PLC根据上位机设定的工艺配方、时间、参数等数据,调用相应的执行程序,连续读取各按钮、行程开关、智能称重仪表的加料、卸料信号的状态,在CPU内进行逻辑分析、比较,准确控制各电磁阀、电机等按照严格的逻辑顺序动作,同时将上位机所需的现场数据送入指定的内部数据存储器,便于上位机随时读取。
系统设置了自动/手动两种工作方式,由操作台上的选择开关进行切换。手动工作方式一般只在调试、维护时使用,这时PLC只对设备进行监视,而不控制。
如图2所示,设备的控制流程主要分为A罐混料过程、B罐研磨过程和C罐稀释过程3个过程。整个系统为连续生产过程,当A罐原沥青和改性剂形成的混合料全部进入B罐,开始定时研磨时,A罐已空,可开始下一周期的混料过程,当B罐高浓度改性沥青全部进入C罐后,A罐第二轮也已混料结束,即可进行下一轮的B罐研磨过程。这样就实现了A罐混料,B罐研磨,C罐稀释3个过程同时进行,连续生产,提高了设备的工作效率。
由于改性沥青粘度较大,易粘连,存留于沥青生产罐及管道中,故设备应在每次连续生产即将结束时,进行一次洗罐:当后一轮生产进行到A罐已空时(此时,B罐、C罐工作还在进行),即可开始洗罐过程。向A罐中加入少量的基质沥青搅拌,待B罐工作结束,将洗罐沥青注入B罐搅拌,依次使洗罐沥青沿改性沥青生产时的路径流通一遍,并在每个罐中搅拌停留一段时间,洗罐结束后,自动生产过程结束。
2 PLC控制系统设计
(1)PLC 硬件设计
本系统选用日本三菱PLC为核心控制器,型号为FX2N-64MR,其中输入点用了30个,输出点用了20个,其外部I/O分配如图3所示。
(2)PLC软件设计
PLC程序采用模块化结构,把各主要功能分别用子程序实现,主要有配方子程序和洗罐子程序,主程序根据需要调用不同的子程序。
在配方和洗罐2个子程序中,又将A罐混料,B罐研磨和C罐稀释工作过程设置为3个子系统,分别用子程序实现。主程序流程图如图4所示。
3 小结
PLC作为新一代的工业控制装置,具有可靠性高、抗干扰能力强、体积小,功能强,通用灵活,维护方便等特点,因而普遍应用于工业控制过程。以PLC为核心的改性沥青设备控制系统于2000年6月投入使用以来,运行情况良好,并已经过鉴定。实际应用结果表明:该控制系统不仅运行稳定可靠,保证了改性沥青生产的质量,而且和上位机结合,使系统简单、灵活,深受用户好评。