MODBUS(TCP通信功能的使用概述)

S7-1200集成PN接口的MODBUS TCP通信概述

Modbus TCP是一种标准的网络通信协议,通过CPU上的PN接口进行TCP/IP通信,不需要额外的通信硬件模块。Modbus TCP使用开放用户通信连接作为Modbus通信路径,CPU支持的混合客户端和服务器之间的最大连接数为8。

软件STEP7 V11 SP1版,S7-1200CPU来自固件V1.0.2,不再需要安装Modbus TCP库文件,可以直接调用Modbus TCP库指令“MB_CLIENT”和“MB_SERVER”实现Modbus TCP通信功能,如图1所示。

图一。Modbus TCP的库指令

S7-1200是一个Modbus Tcp服务器。

“MB_SERVER”命令将处理Modbus TCP客户端的连接请求,接收Modbus函数的请求并发送响应。

1.调用MB_SERVER通信指令,进入“程序块”和“OB1”主程序,设置连接ID、IP端口等参数,如下图2所示。

图二。调用MB_SERVER通信指令

功能块参数的含义如下表5所示。

表1。功能块“MB_SERVER”参数

2.创建MB _ data _ ptr数据块

点击“程序块”和“添加新块”,选择“数据块”创建DB块,选择“标准兼容S7- 300/400”,点击“确定”将数据区定义为100个字的数组,如图3所示。

图3。创建新的MB_DATA_PTR块

3.3的对应关系。Modbus地址

“MB_SERVER”指令允许Modbus函数(FC01、 fc 02、 fc 04、 fc 05、 fc 15)直接读写S7-1200CPU的过程图像输入/输出区(数据类型:BOOL和WORD)。将到达的Modbus报文写入Modbus保持寄存器或通过Modbus功能码(FC03、FC06和FC16)从寄存器中读取(保持寄存器可以通过MB_SERVER指令的参数“MB_HOLD_REG”指定),保持寄存器的大小(MB_HOLD_REG参数)必须大于1字节。详情参见表2。

表二。2之间的对应关系。Modbus地址

4.客户端的Modscan32软件设置

注:Modscan32软件用于客户端测试,Modscan32是Modbus TCP客户端测试软件,是第三方软件,可以从网上下载。

将测试计算机的IP地址设置为192.168.0.210,打开Modscan32软件,设置功能码、起始地址、长度等。在Modscan32的"Setup-"数据定义中,如图4所示。

图4。设置“数据定义”参数

在“连接-”连接。",选择“远程modbus TCP服务器”并设置服务器的IP地址和端口号,如图5所示。

图5。设置连接属性

注意:使用Modsscan32作为客户端不需要考虑设备ID和服务器的一致性,服务器自动响应客户端的设备ID。

5.通信测试

S7-1200为服务器,客户端Modscan32读取带有FC03功能码的服务器两个字,设置客户端与服务器对应的功能、起始地址、端口等参数,如图5-6所示。

图6。S7-1200作为服务器

通信结果如下图7所示。Modscan32将数据10和20从服务器读取到DB4。DBW0和DB4。客户端的DBW2区域。

图7。7的通信结果。FC03

用函数FC15向服务器的Q0.0~Q0.7写入8位数据,设置连接参数。Modscan32的设置结果如下图8所示。

图8。使用FC15通信,设置Modscan32。

测试结果显示,服务器端直接对应进程图像输出区,00001~00008对应Q0.0~Q0.7,如下图9所示。

图9。使用FC15交流测试结果

6.HR_Start_Offset后台参数

HR_Start_Offset是一个类型的字,用于指定Modbus保持寄存器的起始地址。它存储在MB_SERVER后台数据块中,默认值为0。该值可以通过编程写入HR_Start_Offset。以FC03函数读取两个字为例,将HR_Start_Offset的偏移量设置为2,其他参数不变。HR_Start_Offset前后的地址对应如下表7所示,编程调用和结果如图10~11所示。

表3。HR _ start _ offset偏移前后的地址对应

编程调用如下面的图10所示。

图10。HR _ start _ offset的偏移设置

通信结果如下图11所示。

图11。沟通结果

7.7的查询请参考下面的列表4。MB_SERVER参数状态。

表4。MB _服务器参数状态

审计郭婷