欢迎来到天天文库
浏览记录
ID:47802857
大小:51.00 KB
页数:5页
时间:2020-01-17
《基于VB实现台达PLC与PC_机串行通讯》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于VB实现台达PLC与PC串行通讯随着工业自动化控制技术的不断发展,可编程逻辑控制器(PLC)与上位机之间通讯的应用越来越广泛。在PLC与上位机组成的集散控制系统中,PLC作为下位机完成现场各种信号和数据的采集、运算和完成对系统的底层控制,上位机则可提供人机交互界面,实现数据的处理以及现场数据的实时显示等监视和远程控制等功能。为实现面向产品全生命周期的数字化远程服务经营理念的制造装备的远程监测、诊断与维护技术,随着移动通讯市场的迅速扩大,GSM无线数字蜂窝通讯网络在我国得到了高速的发展,不但拥有较高的覆盖率,而且相继开放了SMS(短消息)、FAX(传真)、DATA
2、(数据)等业务,为选择高效、廉价的数据传输提供了新的思路。各种组态软件,如:iFix、MCGS、组态王等虽然可以实现PLC的远程监控,但不能实现PLCModbus通讯协议与GSM模块的通讯协议的转换。本文就是基于这点考虑,运用VB编制操作界面和通信功能,完成台达PLC与PC机串行通讯,这是实现GSM模块与PLC通讯的关键技术所在。1 通讯硬件及协议简介1.1通讯硬件组成台达PLC自带有两个通讯串口(EH系列可扩展第三个通讯口RS-485或RS-422)COM1和COM2。COM1采用标准RS-232接口,它是一种近距离、低干扰、点对点的通讯协议。该接口在下载完PLC
3、程序后一般都处于闲置状态。COM2是标准RS-485接口,可用于用抗干扰能力强、可多台串接组网的通讯方式。在该生产线的控制系统中,COM2已用于PLC与变频器之间的通讯,而一般PC机都自带标准RS-232接口。因此PC机与PLC之间通讯采用COM1(RS-232)接口,连接线采用台达PLC的编程电缆DVPACAB230。1.2通讯协议介绍Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了
4、一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。控制器能设置为两种传输模式(ASCII或RTU)中的
5、任何一种在标准的Modbus网络通信。PLC与上位机通讯时,通常由上位计算机发出命令给PLC,PLC处于被动状态。台达PLC所有通讯口都遵循Modbus通讯协议,出厂默认的通讯格式为“9600,7,E,1”、ASCII模式。波特率为9600,数据长度为7位,数据校验方式为偶校验,结束字元长度为1位,以上参数可以通过WPL编程软件修改。本文仅以ASCII通讯模式为例实现台达PLC与PC机的通讯。ASCII通讯格式如表1所示:StxAddressFunctionDataLRCEnd:1位1位1~32位1位回车键精选范本,供参考!表1:ASCII通讯格式地址:地址栈号范围
6、为01~FF十六进制数功能码:”01”读多个S、Y、M、T、C的状态,PLC返回一串数据,其中包含了读出的一系列装置的十六进制数。“02”读取S、Y、M、T、C输入状态,PLC返回一串数据,其中包含了读出的一系列装置的十六进制数。“03”读取D、T、C寄存器的值,返回数据串中包含寄存器值的十六进制数。“05”强制使S、Y、M、T、C置位或复位,当数据内容为“FF00”置位,当为“0000”则复位。“06”向PLC的D、T、C寄存器写值,值应为十六进制的。LRC校验码:LRC(LongitudinalRedundancyCheck)错误校验用于ASCII模式。这个错误
7、校验是一个8位二进制数,可作为2个ASCII十六进制字节传送。把十六进制字符转换成二进制,加上无循环进位的二进制字符和二进制补码结果生成LRC错误校验(参见图)。这个LRC在接收设备进行核验,并与被传送的LRC进行比较,冒号(:)、回车符号(CR)及置入的其他任何非ASCII十六进制字符在运算时忽略不计。范例如表2所示:StxAddressFunctionData1Data2Data3Data4LRCEnd:010304010001CR表2:LRC校验码计算示例Address+Function+Data1+Data2+Data3+Data4=01+03+04+0
此文档下载收益归作者所有