S7-1200 Modbus-Tcp通讯测试

测试方式

将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协议介绍的文档,就能看明白报文的含义了。

例如: https://blog.csdn.net/xingyuan1hao/article/details/53573478

重点:有了这些报文的解析方式,就可以通过高级编程语言来进行socket协议解析和编程了。后面威武哥会逐步深入的介绍工业物联网的实现方式,都会用到这些,欢迎大家的持续关注。

通过上面的数据,我们可以观察到接收数据的:

第1位为:5

第4位为:10

现在回到PLC内部,观察下采集到的数据是不是正确。

好了,撒花吧。

后期会逐步介绍将PLC数据采集后,上传云服务器web展示APP/小程序展示数据大屏等花式操作。

紧跟步伐,不要掉队了。

学习更多知识,加QQ群:1098090823
威武网 » S7-1200 Modbus-Tcp通讯测试

提供最优质的资源集合

立即查看 了解详情