PC与多类型PLC通信及监控

 

(1.乌兰察布职业学院;
2.乌兰察布市发展改革委员会,内蒙古 乌兰察布 012000)

摘要:文章针对现代工业控制中经常会遇到的需要对不同型号甚至不同品牌的PLC设备进行通讯及监控而导致数据采集与管理困难的情况,利用PC机与PLC的通讯技术,实现了PC机对PLC进行监控及管理。

关键词:PLC;
VB;
程序设计;
串行通讯

中图分类号:TN915    文献标识码:A    文章编号:HTK1007—6921(2009)21—0092—02

1 监控系统设计过程
1.1 PC机和PLC的通讯

首先是利用VB编程工具里面的一个专为串行端口连接开发的控件工具:MSComm控件,编写一个通讯程序,利用一台PC机RS232串行端口COM1和COM2进行调试,把RS232通讯线的一端接在PLC的232接口上,发送正确的通讯指令,检测是否得到正确的PLC响应。
1.2 测试PLC的通讯命令

查阅通讯协议,利用上面所做的通讯程序,不断给PLC发送各种指令,直到能得到PLC的正确响应为止。
1.3 向PLC发送命令帧

PLC和PC机的通讯能顺利进行的基础上,发送正确的通讯命令帧给PLC,分析处理起反馈回来的代码信息,得到PLC各种数据和状态。
1.4 编制监控程序的界面

用VB程序开发语言编制监控程序的界面,能直观的显示出PLC资源的状态及数据信息。
2 通讯与监控系统的功能的实现

该系统模块有以下几项功能:PC机与欧姆龙CPM系列PLC和松下的FP系列PLC通讯功能的实现;
I/O点、数据寄存器、中间继电器等PLC内部寄存器的监控功能的实现。
2.1 欧姆龙CPM2AH与上位机链接参数设置
2.1.1 上位机链接通讯。设置通讯方式为上位机链接通讯(这是缺省设置)。RS-232C端口:置DM6645的位12~15为0。外设端口:置DM6650的位12~15为0。通讯板:A口置DM6555的位12~15为0,B口置DM6550的位12~15为0。
2.1.2 节点号设置。当使用1∶1连接时,设PLC节点号为00。当使用1∶N连接时,设置00~31之间的一个节点号(惟一的)。RS-232C端口:置在DM6648的位00~07中。外设端口:置在DM6653的位00~07中。通讯板:A口置DM6558的位00~07中,B口置DM6553的位00~07中。
2.1.3 标准端口设置。标准设置或用户设置是针对RS-232C口和外设端口的,当下述位置0时,使用标准设置(下面解释用户设置)。RS-232C端口:DM6645中位00~03设0(0:标准;
1:用户)。外设端口:DM6650中位00~03设0(0:标准;
1:用户)。通讯板:A口置DM6555的位00~03设0,B口置DM6550的位00~03设0(0:标准;
1:用户)。对于通讯板设定可参考编程手册。
2.2 监控系统各模块界面


3 PC与PLC主要通讯程序的介绍
3.1 欧姆龙CPM2AH系列的VB通讯程序

MSComm1.CommPort=1“确定通讯端口

MSComm1.InBufferSize=1024“设置接收缓冲区大小”

MSComm1.OutBufferSize=1024“设置发送缓冲区大小”

MSComm1.Settings=“9600,e,7,2”“即设置通讯格式,波特率为9600kb/s,偶校验,8位数据,2位停止位。”

MSComm1.PortOpen=True“打开通讯端口”
3.2 与欧姆龙检查通讯结果

当我们接收到PLC反馈回来放在接收缓冲区字符串Instring中的信息时,还必须对其进行验证,可以用VB函数处理中的一个指令——Mid()。如果Mid(Instring,6,2)=“00”则表示通讯成功,得到正确响应,否则表示错误响应。分析错误响应的程序如下:


4 与松下机检查通讯的结果

当我们接收到PLC反馈回来放在接收缓冲区字符串TempInput中的信息时,还必须对其进行验证,可以用VB函数处理中的一个指令——Mid()。如果Mid(TempInput,4,1)=“$”则表示通讯成功,得到正确响应;如果Mid(TempInput,4,1)=“!”则表示错误响应。
5 实现写入数据到数据寄存器DM的程序
[参考文献]
[1]弭洪涛.可编程序控制器(PLC)原理及应用[M].北京:中国水利水电出版社,1999.10~20.
[2]台方.可编程序控制器应用教程[M].北京:中国水利水电出版社,2001.241~252.
[3]汪晓平.PLC可编程控制器系统开发实例导航[M].北京:人民邮电出版社,2004.80~100.
[4]范逸之,陈立元.VisualBasic与RS—232串行通讯控制[M].北京:清华大学出版社,2002.67~77.
[5]李肇庆,韩涛.串行端口技术[M].北京:国防工业出版社,2002.2~18.
[6]余雷声.电气控制与PLC应用[M].北京:机械工业出版社,1996.90~96.