与 Modbus 串行链路不同,Modbus TCP/IP 不以层次结构为基础,而是基于客户端/服务器模型。
TM4ES4 模块同时实现了客户端和服务器服务,因此,它既可以启动对其他控制器和 I/O 设备的通讯,也能响应来自其他控制器、SCADA、HMI 以及其他设备的请求。Modbus 服务器功能缺省处于未激活状态。
无需配置,TM4ES4 模块即可支持 Modbus 服务器。
Modbus 服务器/客户端包含在固件中,不需用户进行任何编程操作。通过此功能,可以在 RUNNING、STOPPED 和 EMPTY 状态下对其进行访问。
Modbus TCP 客户端无需任何配置,即可支持 PLCCommunication 库中的以下功能块:
oADDM
oREAD_VAR
oSEND_RECV_MSG
oSINGLE_WRITE
oWRITE_READ_VAR
oWRITE_VAR
有关详细信息,请参阅功能块描述。
Modbus 服务器支持以下 Modbus 请求:
功能代码 十进制(十六进制) |
子功能 十进制(十六进制) |
功能 |
---|---|---|
1 (1h) |
|
读取数字量输出 (%Q) |
2 (2h) |
|
读取数字量输入 (%I) |
3 (3h) |
|
读取保持寄存器 (%MW) |
6 (6h) |
|
写入单个寄存器 (%MW) |
8 (8h) |
|
诊断 |
15 (Fh) |
|
写入多个数字量输出 (%Q) |
16 (10h) |
|
写入多个寄存器 (%MW) |
23 (17h) |
|
读取/写入多个寄存器 (%MW) |
43 (2Bh) |
14 (Eh) |
读取设备标识 |
下表包含数据选择代码列表:
数据选择代码 |
描述 |
---|---|
0x00 |
保留 |
0x01 |
基本网络诊断 |
0x02 |
以太网端口诊断 |
0x03 |
Modbus TCP/端口 502 诊断 |
0x04 |
Modbus TCP/端口 502 连接表 |
0x05 - 0x7E |
为其他公共代码保留 |
0x7F |
数据结构偏移 |