Modbus 协议在业内应用广泛。与 Modbus 串行链路不同,Modbus TCP/IP 不以层次结构为基础,而是基于客户端/服务器模型。
当客户端向服务器发送传输信息的请求,以执行某个命令或执行其他许多可用功能中的某项功能时,Modbus 客户端与服务器之间即开始传输信息。
服务器收到请求后,便开始执行命令,或从存储器中检索所需的数据。然后,服务器会通过确认命令已完成或通过提供请求的数据来响应客户端。
Modicon M218 Logic Controller 既可以执行客户端服务,也可以执行服务器服务,因此,它既可以启动与其他控制器和 I/O 设备的通讯,也能响应来自其他控制器、SCADA、HMI 以及其他设备的请求。
无需任何配置,控制器的嵌入式以太网端口即可支持 Modbus 服务器。
Modbus 服务器包含在固件中,不需用户进行任何编程操作。通过此功能,可以在“运行”、“已停止”和“空”模式下对其进行访问。
Modbus TCP 客户端无需任何配置,即可支持 PLCCommunication 库中的功能块:
oADDM
oREAD_VAR
oSEND_RECV_MSG
oSINGLE_WRITE
oWRITE_READ_VAR
oWRITE_VAR
有关详细信息,请参阅 PLCCommunication 库的功能块描述。
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 |
|
0x04 |
|
0x05 - 0x7E |
为其他公共代码保留 |
0x7F |
数据结构偏移 |
基本网络诊断
字段名称 |
字节 |
TR 目标 |
---|---|---|
Basic NW Diag Validity |
4 |
- |
Communication Global Status |
2 |
- |
Supported Communication Services |
2 |
- |
Status of Communication Services |
2 |
- |
IP 地址 |
4 |
IP 地址 |
子网掩码 |
4 |
子网掩码 |
缺省网关 |
4 |
缺省网关 |
MAC 地址 |
6 |
MAC 地址 |
Ether Frame Format Capability /配置/操作 |
6 |
以太网帧格式 |
Ether Rcv Frames OK |
4 |
接收的以太网帧的总数正常 |
成功传输的以太网帧 |
4 |
传输的以太网帧的总数正常 |
保留 |
2 |
- |
Num MB Open Server Connections |
2 |
Num_Open_ServerCnx |
Num MB Error Msgs Sent |
4 |
Num_MB_Error_Msgs_Sent |
Num MB Msgs Sent |
4 |
Num_MB_Msgs_Sent |
Num MB Msgs Rcvd |
4 |
Num_MB_Msgs_Rcvd |
设备名称 |
16 |
设备名称 |
IP Assignment Mode Capability /操作 |
4 |
IPAssignment ModeCapability;IPAssignmentModeOperational |
总数: |
78 |
|
以太网端口诊断:Port Diagnostics Data Validity
字段名称 |
字节 |
TR 目标 |
---|---|---|
Port Diagnostics Data Validity |
2 |
- |
逻辑/Physical Port Number |
2 |
- |
Ether Control Capability |
2 |
电缆类型 - 双工状态 |
Link Speed Capability |
2 |
速度 |
Ether Control Configuration |
2 |
- |
Link Speed Configuration |
2 |
速度 |
Ether Control Operational |
2 |
- |
Link Speed Operational |
2 |
速度 |
Port MAC Address |
6 |
MAC 地址 |
Media Counters |
72 |
- |
保留 |
46 |
- |
总数: |
140 |
|
以太网端口诊断:介质计数器诊断数据的有效性
字段名称 |
字节 |
TR 目标 |
---|---|---|
Media Counters Data Validity |
4 |
- |
Num Frames Xmit OK |
4 |
Frames transmitted OK |
Num Frames Received OK |
4 |
Frames received OK |
保留 |
60 |
- |
总数: |
72 |
|
Modbus TCP/端口 502 诊断:
字段名称 |
字节 |
TR 目标 |
---|---|---|
Modbus TCP/Port 502 Diag Validity |
4 |
- |
Port 502 Status |
2 |
- |
Num Open Connections |
2 |
Num_Open_Cnx |
Num MB Msgs Sent |
4 |
Num_MB_Msgs_Xmit |
Num MB Msgs Received |
4 |
Num_MB_Msgs_Rcvd |
Num Open Client Connections |
2 |
Num_Open_ClientCnx |
保留 |
2 |
- |
Max Num Connections |
2 |
Max_Num_Cnx |
Max Num Client Connections |
2 |
Max_Num_ClientCnx |
保留 |
2 |
- |
Num MB Error Msgs Sent |
4 |
Num_MB_Error_Msgs_Sent |
保留 |
102 |
- |
总数: |
34 + 6*N + 2 |
|
Modbus TCP/端口 502 连接表:
字段名称 |
字节 |
TR 目标 |
---|---|---|
Connection Table Validity |
2 |
- |
Number of Entries (NE) |
2 |
- |
Starting Entry Index (SE) |
2 |
- |
Connection Table Entry 1 |
16 |
- |
Connection Table Entry 2 |
16 |
- |
保留 |
... |
- |
Connection Table Entry N |
16 |
- |
总数: |
6 + 16 * N |
|
下表列出了可以通过读取设备标识请求(基本标识级别)读取的对象:
对象 ID |
对象名称 |
类型 |
值 |
---|---|---|---|
00h |
供应商名称 |
ASCII 字符串 |
Schneider Electric |
01h |
产品代码 |
ASCII 字符串 |
控制器参考号 例如: TM218LDA40DR2HN |
02h |
主/次修订号 |
ASCII 字符串 |
aa.bb.cc.dd(与设备描述符相同) |