Modbus TCP
Mech-MSR 可与外部设备进行 Modbus TCP 通信。阅读以下内容前,请确保已在 Mech-MSR 中完成通信配置。
关于 Modbus TCP
Mech-MSR 支持通过 Modbus TCP 协议与PLC通信。在此通信方式下,Mech-MSR 是服务端,PLC 是客户端。所有请求由PLC发起,Mech-MSR响应。
在 Mech-MSR 中启用 Modbus TCP 通信服务后,软件会开始监听在端口 502 (默认)上的一个或多个 Modbus 客户端。
输入输出信号表
输入(从 PLC 到 Mech-MSR) | 输出(从 Mech-MSR 到 PLC) | ||||||
---|---|---|---|---|---|---|---|
模块 |
名称 |
所占字节 |
保持寄存器地址 |
模块 |
名称 |
所占字节 |
保持寄存器地址 |
使能 |
1 byte |
0 |
心跳 |
1 byte |
0 |
||
指令触发 |
指令触发ACK |
||||||
数据读取完成 |
数据就绪 |
||||||
复位输出数据 |
指令执行完成 |
||||||
预留 |
预留 |
||||||
预留 |
预留 |
||||||
预留 |
预留 |
||||||
预留 |
错误 |
||||||
预留 |
3 bytes |
1 |
综合判定结果 |
1 byte |
1 |
||
预留 |
|||||||
预留 |
|||||||
预留 |
|||||||
预留 |
|||||||
预留 |
|||||||
预留 |
|||||||
预留 |
|||||||
预留 |
2 bytes |
2 |
|||||
指令码 |
2 bytes |
4 |
状态码 |
2 bytes |
4 |
||
指令参数1 |
2 bytes |
6 |
RESERVED |
预留 |
2 bytes |
6 |
|
指令参数2 |
2 bytes |
8 |
ID 1 的判定结果 ID 2 的判定结果 ID 3 的判定结果 … |
8 bytes |
8 |
||
指令参数3 |
2 bytes |
10 |
|||||
指令参数4 |
2 bytes |
12 |
|||||
ID 1 的测量结果 ID 2 的测量结果 ID 3 的测量结果 … |
256 bytes (4 bytes × 64) |
16 |
输入(从 PLC 到 Mech-MSR)
CONTROL_INPUT(控制输入)
地址 | 数据 | 说明 |
---|---|---|
0.0 |
使能(布尔值) |
仅当“使能”信号置为 1 时,其他输入信号才会被认为有效。 |
0.1 |
指令触发(布尔值) |
当指令触发信号由 0 变为 1(上升沿)时,Mech-MSR 才会读取指令码和指令参数。当 Mech-MSR 返回指令触发ACK信号时,可将指令触发信号置为 0。 |
0.2 |
数据读取完成(布尔值) |
PLC 完成数据读取后,将该信号置为 1。当 PLC 收到数据就绪信号变为 0 后,才可将该信号置为 0。 |
0.3 |
复位输出数据(布尔值) |
当该信号置为 1 时,表示将 PLC 收到的判定结果和测量结果(输出)清空。此时,PLC 可发送新的指令,相关状态码信号也将复位。 |
0.4 |
预留(布尔值) |
预留字段。 |
0.5 |
预留(布尔值) |
预留字段。 |
0.6 |
预留(布尔值) |
预留字段。 |
0.7 |
预留(布尔值) |
预留字段。 |
1.0 |
预留(字节) |
预留字段。 |
COMMAND & COMMAND_PARAM(指令码及指令参数)
当前协议下,支持的指令及对应的指令码(COMMAND)、指令参数(COMMAND_PARAM)、说明如下表:
指令 | COMMAND | COMMAND_PARAM | 说明 |
---|---|---|---|
execute |
1 |
工程编号,一次只能设置 1 个。 |
用于触发工程并获取工程的判定结果和测量结果。 |
trigger |
2 |
工程编号,可一次性设置 1~4 个。 |
用于触发工程运行。 |
return |
3 |
工程编号,一次只能设置 1 个。 |
用于获取指定工程的判定结果和测量结果。 |
judge |
4 |
用于获取指定工程的整体质量判定结果或单个测量项的质量判定结果。 |
|
value |
5 |
主要用于获取指定工程的测量值。 |
查看工程列表处的说明了解如何查看工程编号。 |
输出(从 Mech-MSR 到 PLC)
CONTROL_OUTPUT(控制输出)
地址 | 数据 | 说明 |
---|---|---|
0.0 |
心跳信号(布尔值) |
系统心跳,1 秒反转一次。可用于判断 PLC 与 Mech-MSR 之间的通信连接处于正常状态还是中断状态。 |
0.1 |
指令触发ACK(布尔值) |
当 Mech-MSR 收到指令触发信号的上升沿时,此信号将被置为 1。当指令触发信号为下降沿时,将此信号置为 0。 |
0.2 |
数据就绪(布尔值) |
Mech-MSR 向输出端口写入数据,等待 PLC 读取。当数据读取完成信号为 1 时,将此信号置为 0。 |
0.3 |
指令执行完成(布尔值) |
当指令执行结束时,将此信号置为 1,表示指令已完成处理。 |
0.4 |
预留(布尔值) |
预留字段。 |
0.5 |
预留(布尔值) |
预留字段。 |
0.6 |
预留(布尔值) |
预留字段。 |
0.7 |
错误(布尔值) |
当 Mech-MSR 返回的状态码不为 0 时,表示存在错误,此信号置为 1。 |
1.1 |
综合判定结果(布尔值) |
工程的综合判定结果,0 表示合格(OK),1表示不合格(NG)。 |
1.2~1.7 |
预留(布尔值) |
预留字段。 |