测试方式
将PLC当做一个Modbus Tcp Server,然后通过调试软件读/写PLC内部变量;
PLC编程
首先找到Modbus Tcp Server的功能块:
将此功能块添加到程序中,然后增加两个DB块,用途分别为:
Modubs Tcp Server连接设置的DB块-》mbs_conn
供外部读/写的DB块-》mbs_regDB
有了DB数据块后,配置Modbus Tcp Server的功能块:
编译下载程序之后,,就可以通过以太网读写PLC内部的数据了。
注意:mbs_regDB这个DB块是PLC内部变量与外部访问接口之间的桥梁,因为以太网只能访问到这个DB块的数据。PLC内部程序可以从mbs_regDB取值,或者赋值给mbs_regDB,从而达到数据的交换。
通讯测试
将程序下载到PLC,然后百度一个Tcp调试工具,就可以开始测试了。
此时PLC程序已经运行起来了。
PLC的IP地址我设置为了192.168.0.49,端口为502。
观察发送日志中的
发送数据为:00000000000601030000000A
接收数据为:000000000017010314000500000000000A000000000000000000000000
拆分后的发送数据为:
0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x03 0x00 0x00 0x00 0x0A
拆分后的接收数据为:
0x00 0x00 0x00 0x00 0x00 0x17 0x01 0x03 0x14 0x00 0x05 0x00 0x00 0x00 0x00 0x00 0x0A 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
百度几篇modbus_tcp协议介绍的文档,就能看明白报文的含义了。
重点:有了这些报文的解析方式,就可以通过高级编程语言来进行socket协议解析和编程了。后面威武哥会逐步深入的介绍工业物联网的实现方式,都会用到这些,欢迎大家的持续关注。
通过上面的数据,我们可以观察到接收数据的:
第1位为:5
第4位为:10
现在回到PLC内部,观察下采集到的数据是不是正确。
好了,撒花吧。
后期会逐步介绍将PLC数据采集后,上传云服务器,web展示,APP/小程序展示,数据大屏等花式操作。
紧跟步伐,不要掉队了。