通过GPRS实现组态软件与PLC的MODBUS通讯,实现无线远距离通讯。
PLC采用S7-1200 1212C CPU和CM1241 RS485通讯模块
宏电H7710SGS 485接口 GPRS DTU模块,组态软件为紫金桥
![](http://www.ck365.cn/data/upload/201503/19/104655-93-147405.gif)
对于宏电H7710 的工作原理,是把采集数据的S71200经RS485 串口连接到GPRS模块上,之后通过模块上的SIM卡的网络,走流量连接到Internet网中的一个固定IP地址的数据中心Server,中心站采用紫金桥实时数据库.
CM1241接口的3和8为RS485通讯正负极,对应连接H7710的3和2端子
这个系统里PLC作为从站使用,组态软件为主站。
PLC OB1 里始终调用MB_SLAVE块 ,MB_ADDR 为从站地址,MB_HOLD_REG 为指向 Modbus 保持寄存器数据块的指针。
![](http://www.ck365.cn/data/upload/201503/19/104645-85-147405.jpg)
在MB_HOLD_REG指定的数据块DB4中建立要发送的数据
MB_COMM_LOAD块 用于组态端口使用 Modbus RTU 协议来通信,在OB100里调用一次即可。PORT 端口号,BAUD 波特率,PARITY 校验方式,MB_DB MB_SLAVE指令的背景数据块的引用。 在程序中插入MB_SLAVE之后,数据块标识符会显示在 MB_DB 框连接的下拉列表中。
![](http://www.ck365.cn/data/upload/201503/19/104637-25-147405.jpg)
通过以上指令从站PLC程序部分基本完成,具备通讯条件。
再简单描述一下上位机设置。
在紫金桥组态软件设备组态中配置所连接的从站设备1200。选择MODBUS串行通讯,数据读取周期时间设5秒,输入正确PLC通讯 地址,设置串口通讯格式,配置GPRS设备H7710,DTU标识输入手机卡的电话号码。
![](http://www.ck365.cn/data/upload/201503/19/104625-60-147405.jpg)
![](http://www.ck365.cn/data/upload/201503/19/104619-77-147405.jpg)
H7710的具体设置这里就不详细叙述了,不是本文重点。
在紫金桥组态软件点组态中添加MB_HOLD_REG指定的数据块DB4中的数据,这样在组态画面就可以读取从站的数据了。
这个案例主要用于实现无线远距离数据采集.
有错误不足之处欢迎指正吐槽。