Labview实现PC与PLC实时监控#以OMRON C200HE可编程控制器为例,用

【60】
第27卷第4期
2005-04
制造业自动化
收稿日期:2004-10-13作者简介:宋万清(1962- ), 男, 博士生, 副教授, 研究方向为智能控制, 故障诊断, 现场总线。 Labview实现PC与PLC实时监控
宋万清, 杨建国
( 东华大学 机械学院 , 上海  200051)
要:以OMRON C200HE可编程控制器为例,用Labview实现PC与PLC的实时监控功能: PC
机读取PLC的DM区连续通道数据; PC机将PLC设置为“MONITOR”状态,对IR区通道
写入数据,然后PLC设置为“RUN”状态。还介绍了FCS校验码的实施。
关键词: 串行通讯; RS-232C协议; PLC; LabVIEW; FCS校验码中图分类号:TP273文献标识码:B            文章编号:1009-0134(2005)04-0060-03   0    引言
随着PLC网络通讯功能的不断增强,PLC与PC
组成的集散控制系统被广泛应用。Labview把复杂、烦琐、费时的语言编程简化成为菜单或图标提示的选择功能(图形),不仅具有强大的虚拟仪表功能,还具有丰富的图形界面模块、数值分析、数字信号处理。在工业自动化生产线上用Labview实施在线监控,不仅能够达到智能的人机界面、智能化控制,而且便于现场技术人员对控制系统软件的二次开发。本文以全自动供水系统为背景,介绍了用Labview实施在线监控。
微计算机信息
1   PC与PLC的通讯方式
1.1  硬件连接[1]
PC与PLC之间遵循RS-232C协议。C200H系列PLC有C200H-LK201 25针串口和COM1 9针串
RS-232C接口(又称 EIA RS-232C)是目前最
常用的一种串行通讯接口,其中EIA代表美国电子工业协会,RS代表“推荐标准”,“232”是标识号,“C”代表RS-232的最新一次修改。其特点是PLC每接收来制PC的一个命令帧,就自动向PC回送一应答帧命令,其命令帧格式为:
应答帧格式为:
设备的代码。LK201模块可以通过SW1进行设置, COM1模块在DM6648,DM6653中设置。最多设置32,所以一台PC最多向32个PLC通讯。
识别码和正文取决于上位机命令。结束码为00表示正常结束,13表示FCS错误,14表示格式错误,15表示入口码数据错误,18表示帧长度错误,A3表示传输数据时因FCS错误引起终止,A8表示传输数据时因帧长度错误引起终止。1.3   PC与PLC实时监控的通讯功能
上位机与PLC组成的实时监控系统,串行通讯 
①连续循环扫描PC与PLC之间的发送、接受命令状态,使用Labview的While循环即可,以下不在论述;②上位机在线读PLC的DM区连续通 道数据;③上位机向PLC的IR数据存储单元发送命令而不影响PLC正在控制运行的现场设备。
2   PC从PLC的DM区读取数据[4]
制造业自动化
若命令帧为 “@00RD0000000452* ”,表示上位机连续读取DM0000至DM0003的4个通道内容,52为程序算出的FCS。DM0000通道的数据以十六进制形式放在应答帧中第8位至第12位,DM0001通道的数据是第13位至16位,DM0002通道的数据是第17位至20位,DM0003通道的数据是第21位至24位,每个通道的数据占四位。对PLC数据的读取只能以“通道”的形式,而不能以“位”的形式。
PLC;③处理PLC串口自动返回的应答帧,判断PLC是否正常执行PC机命令帧。若正常,从响应帧中提取PLC 指定通道的数据到PC并在界面以十进制显
 图2   串口通讯.VI图标/连接端口
图3   串口通讯.VI前面板
利用“串口设置节点”设置好串口后,在输入控件“命令字符串”中输入需要进行FCS校验的字符串,经过FCS校验后利用“字符串合并节点”按照“命令字符串”、“FCS校验码”、“*”、“回车”的顺序将所有字符打包在一起,成为命令帧,在输出控件“命令帧”中显示,并利用“串口写节点”发送到PLC,程序如图4所示。
灵敏度特异度图4   串口通讯.VI框图程序
图5   串口通讯.VI框图程序
PC 读出应答帧后,先利用“字符串提取节点”将应答帧中的第6、7位“结束码”字符提取出来,判断是否等于“00”,若相等再分别将应答帧中的第8至第11位、第20至23位的DM通道内容提取出来,利用“十六进制字符串转换成十进制数节点”分别将它们转换成十进制数后,再进行工程转换为有效量程,保留俩位小数,以便在人机界面显示。最后在输出控件“水位值”和“频率值”中显示。如果结束码不等于“00”,则前面板上的灯“错误”亮,表示通讯命令未能正常执行,程序如图6。
图6   串口通讯.VI框图程序
例如,PC读取DM区中DM0010~DM0013通
图7   读取液位值的框图程序
第27卷第4期2005-04【61】
【62】
第27卷
第4期
2005-04
3    上位机向PLC的IR区通道写数据
PLC在“RUN”状态时是不能写入数据,所以PC向PLC写数据比读数据要复杂。分三步:①PLC的在线运行方式设置为“MONITOR”或“PROGRAM”状态;②写数据;③再设置回原来的“RUN”状态。当然,这个过程程序是在瞬间完成的。3.1  PC设置PLC运行状态
命令帧格式:
识别码为SC,表示根据命令帧中
“正文”设置
PLC杨武事件
的运行方式:00表示PROGRAM
方式;02表示MONITOR方式;03表示RUN方式。
应答帧格式:
例如命令帧为“@00SC0252*”,表示不管PLC现在为何种运行方式,PC将PLC设置为“MONITOR”,程序如图8、9、10、11所示。
图8   MONITOR.VI的图标/连接端口
图9   MONITOR.VI的前面板
图10   MONITOR.VI的框图程序图11   MONITOR.VI的框图程序
在这个程序中由于命令帧是确定的,即作FCS校验的字符串是“@00SC02”,所以不需要每次在前面板上输入,也就不需要输入控件“命令字符串”。此外又在前面板上添加了一个输出控件“错误”指示
灯,若上位计算机发送命令帧后,PLC发送的应答帧“结束码”不等于“00”时,则“错误”指示灯亮。
3.2  向PLC的IR区写数据
识别码为WR, 从指定通道开始一个通道接一个通道地把数据写入IR区。由于SR区和输入继电器区是只能读不能写,因此“WR”能写的通道是000~029通道中除了I/O登记表中登记的、用作输入的通道和030~250通道。
命令帧格式:
示PC将十六进制数“5”写到PLC的IR区的200通道,将“6”写到201通道,将“7”写到202通道。
WRITE.VI的图标/连接端口和前面板与图8、图9相同。与图10、图11不同的是程序多了一个输入控件“命令字符串”,从前面板上输入命令,就可以对PLC的IR区中可设置数据的通道写数据。本文程序中FCS校验子程序只能对最多13位的命令字符串进行校验,所以一次也就只能够对一个通道写数据,图12   MONITOR.VI的框图程序
图13   MONITOR.VI的框图程序
【78】
第27卷第4期
2005-04
一次采样中断周期的0.2%左右,最坏情况下(状态切换)占用5%,但最坏情况出现的频率极低,并且在这种情况下,计算任务未开始或者已完成,运动控制的其它任务没有调度,所以也满足对该模块的时间花费要求。
在上述测试条件下综合考虑多轴控制,实现10轴控制开销(不计联动控制计算)占用运算资源小于50%。因此,可以证明该模型可以满足数控加工的实时要求且具有高度模块化、易于扩展的特性。
5   结论
在开放式控制器软件体系结构的研究中,我们尝试采用面向对象的软件方法建立整个系统的模型,并且在实际的控制器硬件平台上进行了验证。经过研究实践,我们认为采用面向对象建模的手段是可以建立符合开放性要求(模块化、可扩展、具有互易操作性)的控制器算法模型的。当然上述模型方法的实现同时需要软件工程手段才能充分保证其性能上的要求。
追求控制器的开放化是国际控制器领域技术发
展的重要趋势。为了提高企业核心竞争力,实现技术的追赶和超越,我们将继续和高校、科研院所以及行业伙伴等一道,继续这方面的深入研究,推动我国控制器技术的发展和产业升级。参考文献:
[1] GB/T18758.1机械电气设备 开放式数控系统第1部分总
则[s]. 中华人民共和国国家标准 .[2] 李佳特. 现代CNC发展趋势[J].制造技术与机床,2003(4).[3] 卞立乾. 关于我国数控技术发展战略初探。[J].中国机械工冷轧不锈钢
程, 2001(4).
[4]毕承恩.丁乃建,等.现代数控机床[M].机械工业出版社,1991.[5] 周延佑.开放式数控系统结构的发展.世界制造技术与装备
市场,1997(2):89-90.
[6] 刘利. 当前NC的热点——开放化与 PC化[J].机电一体化.
1998(1):18-20.
[7] 童教陛. 以PC为基础的CNC及其开放性[J].世界制造技气溶胶光学厚度
术与装备市场,1997(2):19-21.[8] 陈虎.开放式控制器能否成为中国装备控制器技术的新机
遇[J].机械工人,2004(9):29-31.
[9] Erich Gamma,等.设计模式[M].机械工业出版社, 2000.
3.3  将PLC设置为RUN
这个程序与图4-4结构一样,差别在于将图4-4命令字符串为@00SC02改为命令字符串为@00SC03即可实现将PLC设置为RUN。
4    FCS校验码
FCS校验码是PC发命令帧的一部分,所以首先编写程序,计算出命令帧中的FCS校验码,如图14
图14  FCS校验.VI的框图板
FCS校验是对RS-232C协议从起净“@”到正
蝶形胶布文最后一位之间的所有字符作“异或”运算。用“String”是字符串输入控件,输入命令帧中FCS校验码之前的每一个字符,转换成ASCⅡ码的数组后,将数组的每一个元素分别提取出来,第一位与
第二位作“异或”后,所得结果与第三位作“异或”,依次类推,再将最终的“异或”结果转换成2位的十六进制字符,在“hex integer string”中输出显示。
此FCS校验程序对13位的字符串进行运算,可以满足读PLC数据区或写数据时命令帧的FCS码。若需对多个连续的PLC通道写数据,只要再插入相应位数的提取数组元素作“异或”运算的功能就可以了。
5   结束语
本文是以全自动控制供水监控系统而设计,有关PC与PLC之间数据传送过程中,进制的转换、工程单位的转换、人机界面没有论述,但Labview程序中包含了这些内容。参考文献:
[1]   OMRON公司. C系列Host Link单元操作手册[Z]. 1997.[2]  龚建伟. 串口通讯技术[EB10L]. http://www.gjwtech.com/
serialcomm.htm , 2001.[3]  郭宗仁, 吴亦锋, 郭永,等.可编程序控制器应用系统设计及网络技术[M]. 北京: 人民邮电出版社, 2002.
[4]  OMRON公司. C200HX/C200HG/C200HE programmable
controllers operation manual[Z]. 1998.[5]   钟绍俊,许素安,赵子恺. 可编程控制器与LabVIEW的
通讯实现[J]. 微计算机信息, 2003, 19(3): 19-20.
【上接第62页】

本文发布于:2024-09-20 16:53:57,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/698030.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:命令   数据   控制器   控制   技术   通道   字符串
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议