Keyword:西门子PLC无线通讯、快速填表式modbus编程、监控软件wincc,组态王,力控
实现功能:将远距离3到8公里的一台M02型PLC数据,通过无线数传电台,用Modbus RTU方式传输到另一台M02型的PLC中,并通过网线连接到总控室的上位机WinCC、组态王中。
主要硬件:大连德嘉M02型PLC(兼容S7-200、内嵌 Modbus RTU 模式(填表式编程、比西门子简单)、可使用STEP7-MicroWIN/STEP7-MicroWIN SMART编程);无线数传电台(型号:AS32-DTU-1W),注:无需手机卡!!数传电台的参数配置默认缺省就可以,默认参数:波特率:9600,校验位:None
软件配置:大连德嘉Modbus RTU通讯设置软件
无线数传电台配置:波特率:9600;校验位:None
应用场景:
价格方面:无线数传电台选用成都泽耀科技DTU模块(型号:AS32-DTU-1W),单价143元;兼容S7-200PLC选用大连德嘉M02型PLC单价439元,可以说一千块钱左右就可以做到远距离通讯了。
优点:尤其是在项目改造中不用更改原来设备中的软件,就可以将远处的过程数据传送到上位机中,如:WinCC、组态王、力控等。整个改造无需学习任何新的知识,分分钟钟就可搞定——简单。
注:(1)组态王、力控中的驱动选择西门子 TCP S7-200;
(2)WinCC中的驱动选择TCP/IP(S7-300 TCP协议),WinCC中的 I、 Q、 M、 DB1(切记是 DB1)与 S7-200 中的 I、 Q 、M、 V 一一对应,使用时非常简单,填完 IP 地址就可立即使用。
(3)KepWare中驱动既可以选择西门子S7-200 TCP,也可以选择S7-300 TCP。
如要了解详细通讯实例过程,请阅读下文
PLC与无线数传电台通过RS485口详细连接图:
1.功能码01,读取线圈0xxxx:
从站(A点)M02型PLC内嵌Modbus相关参数设置如下:波特率:9600;校验方式:8位无校验、1停止位、No Parity;Modbus从站地址:1,并下载Modbus组态到硬件。
主站(B点)M02型PLC内嵌Modbus相关参数设置如下:波特率:9600;校验方式:8位无校验、1停止位、No Parity;命令重发次数:从站无响应,直接发送下一条命令;等待从站回答时间:500ms;并下载Modbus组态到硬件。
主站方式设置Modbus命令,一共可以添加64条命令,而且是从上往下循环执行的方式,这里都是填表(非编程)的方式实现Modbus通讯。
注:等待从站回答时间一定要设置在400ms以上,一般都设置为500ms,如果要是太快的话,可能数据传送不过来。
从站监控表数据:
主站监控表读取过来的数据:
2.功能码02,读取输入状态1xxxx:
从站监控表数据:
主站监控表读取过来的数据:
3. 功能码03,读保持寄存器4xxxx
从站监控表数据:
主站监控表读取过来的数据:
3. 功能码04,读输入寄存器3xxxx
从站监控表数据:
主站监控表读取过来的数据:
5.功能码05,写单个线圈0xxxx
主站写入数据监控表:
从站监控表数据:
6.功能码06,写单个寄存器4xxxx
注:这里写入方式可以是“循环写”或“只有变化才写”
主站写入数据监控表:
从站监控表数据:
7.功能码15,写多个线圈0xxxx
主站写入数据监控表:
从站监控表数据:
8.功能码16,写多个寄存器4xxxx
主站写入数据监控表:
从站监控表数据:
上述为具体的实例,最终传输的数据可由远端的控制中心实现在线监控。
通过WinCC画面监控,驱动选择如下:
如建立变量MW0,更改数值为1,监控画面如下:
通过组态王画面监控,驱动选择如下:
如建立变量MW10,更改数值,监控画面如下: