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 客户端。

通信流程

Modbus TCP 通信流程如下图所示。

查看输入输出信号表了解各信号含义。
handshake flow

输入输出信号表

输入(从 PLC 到 Mech-MSR) 输出(从 Mech-MSR 到 PLC)

模块

名称

所占字节

保持寄存器地址

模块

名称

所占字节

保持寄存器地址

控制输入

使能

1 byte

0

控制输出

心跳

1 byte

0

指令触发

指令触发ACK

数据读取完成

数据就绪

复位输出数据

指令执行完成

预留

预留

预留

预留

预留

预留

预留

错误

预留

3 bytes

1

综合判定结果

1 byte

1

预留

预留

预留

预留

预留

预留

预留

预留

2 bytes

2

状态码

状态码

1 byte

4

指令

指令码

4 bytes

4

判定结果

ID 1 的判定结果

ID 2 的判定结果

ID 3 的判定结果

…​

8 bytes

5

指令参数1

4 bytes

8

指令参数2

4 bytes

12

测量结果

ID 1 的测量结果

ID 2 的测量结果

ID 3 的测量结果

…​

256 bytes

(4 bytes × 64)

13

指令参数3

4 bytes

16

指令参数4

4 bytes

20

输入(从 PLC 到 Mech-MSR)

控制输入

地址 数据 说明

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

预留(字节)

预留字段。

指令

当前协议下,支持的指令及对应的指令码、指令参数、说明如下表:

指令 指令码 指令参数 解释

execute

1

工程编号,一次只能设置 1 个。

用于触发工程并获取工程的判定结果和测量结果。

trigger

2

工程编号,可一次性设置 1~4 个。

用于触发工程运行。

return

3

工程编号,一次只能设置 1 个。

用于获取指定工程的判定结果和测量结果。

judge

4

用于获取指定工程的整体质量判定结果或单个测量项的质量判定结果。

value

5

主要用于获取指定工程的测量值。

查看工程列表处的说明了解如何查看工程编号。

输出(从 Mech-MSR 到 PLC)

控制输出

地址 数据 说明

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

预留(布尔值)

预留字段。

状态码

Mech-MSR 可能返回的状态码一共有 5 个:

  • 正常状态码:0,表示指令执行成功。

  • 错误状态码:-1、-2、-3、-4。查看错误状态码说明了解详情。

判定结果

输出管理窗口通信输出选项卡下,已添加测量项的质量判定结果,0 表示合格(OK),1 表示不合格(NG)。

对于单个工程,支持一次性输出至多 64 个判定结果。

测量结果

输出管理窗口通信输出选项卡下,已添加测量项的测量结果。

对于单个工程,支持一次性输出至多64个测量值。

我们重视您的隐私

我们使用 cookie 为您在我们的网站上提供最佳体验。继续使用该网站即表示您同意使用 cookie。如果您拒绝,将使用一个单独的 cookie 来确保您在访问本网站时不会被跟踪或记住。