Modbus 管理器

简介

Modbus 管理器用于主站或从站模式下的 Modbus RTU 或 ASCII 协议。

建议使用重新定位表来优化控制器和其他设备之间的通讯。

注意: Modbus 管理器自动添加到设备树的“串行线路 2”节点。

添加 Modbus 管理器

要将 Modbus 管理器添加到控制器中,请在硬件目录中选择 Modbus 管理器,将其拖到设备树,然后将其放到一个突出显示的节点上。

配置 Modbus 管理器

要配置控制器的 Modbus_Manager,请执行以下步骤:

步骤

操作

1

设备树中,双击 Modbus_Manager

结果:如果已在此串行线路端口上配置了 Modbus_Manager,则会显示 Modbus_Manager 配置窗口。

G-SA-0045237.3.gif-high.gif

 

 

配置 Modbus 管理器

如下表所述设置参数:

元素

描述

传输模式

指定要使用的传输模式:

oRTU:使用二进制编码和 CRC 错误校验(8 个数据位)。

oASCII:消息采用 ASCII 格式和 LRC 错误校验(7 个数据位)。

对于链路上的每个 Modbus 设备,此参数必须相同。

寻址

指定 M218 设备是主站还是从站。

地址

设备的 Modbus 地址。

帧间时间(毫秒)

避免总线冲突的时间。

对于链路上的每个 Modbus 设备,此参数必须相同。

串行线路设置

串行线路配置菜单[物理设置]中指定的参数。

Modbus 主站

当将控制器配置为 Modbus 主站时,PLCCommunication 库支持以下功能块:

oADDM

oREAD_VAR

oSEND_RECV_MSG

oSINGLE_WRITE

oWRITE_READ_VAR

oWRITE_VAR

有关详细信息,请参阅PLCCommunication库功能块描述

Modbus 从站

当控制器配置为 Modbus 从站时,支持以下 Modbus 请求:

类型

功能

功能代码

代码/子代码

数据访问(1 位)

物理离散量输入和输出

读取数字量输出 (%Q)

01

读取数字量输入 (%I)

02

写入多个数字量输出 (%Q)

15

数据访问(16 位)

物理输入寄存器

读取保持寄存器 (%MV)

03

写入单个寄存器(%MV)

06

写入多个寄存器 (%MV)

16

读取/写入多个寄存器 (%MV)

231

诊断

诊断

08

读取设备标识

43/14

1 当从站以返回代码 ILLEGAL FUNCTION 应答功能代码 23 时,主站将发送功能代码 03 和 16。

注意: 通过 Modbus 只能访问控制器应用程序的定位变量

下表包含诊断 Modbus 请求 08 支持的子功能代码:

子功能代码

功能

十进制

十六进制

 

10

0 A

清除计数器和诊断寄存器

11

0B

返回总线信息计数

12

0C

返回总线通讯错误计数

13

0D

返回总线异常错误计数

14

0E

返回从站信息计数

15

0F

返回从站无响应计数

16

10

返回从站 NAK 计数

17

11

返回从站忙计数

18

12

返回总线字符溢出计数

下表列出了可以通过读取设备标识请求(基本标识级别)读取的对象:

对象 ID

对象名称

类型

00(十六进制

供应商代码

ASCII 字符串

Schneider Electric

01(十六进制)

产品代码

ASCII 字符串

控制器参考号

例如 TM218LDA24DRN

02(十六进制)

主/次修订号

ASCII 字符串

aa.bb.cc.dd(与设备描述符相同)

下节描述控制器 Modbus 存储器映射与 HMI Modbus 映射之间的差异。如果您未将应用程序编程为可识别这些映射差异,则控制器与 HMI 将不能正确通讯,并且可能将不正确的值写入负责输出操作的存储器区域。

Warning_Color.gif警告

意外的设备操作

请将应用程序编程为可在控制器使用的 Modbus 存储器映射与附加 HMI 设备使用的 Modbus 存储器映射之间进行转换。

不遵循上述说明可能导致人员伤亡或设备损坏。

当控制器和 HMI 通过 Modbus 进行连接时(HMI 是 Modbus 请求的主站),数据交换使用简单字请求。

使用双字时,HMI 存储器的简单字上存在重叠,但是控制器存储器中不存在这种重叠(请参见下图)。为了使 HMI 存储器区域与控制器存储器区域相匹配,HMI 存储器的双字与控制器存储器的双字之比必须为 2。

G-SE-0005272.2.gif-high.gif

 

 

下面提供了存储器双字匹配的示例:

oHMI 的 %MD2 存储器区域对应于控制器的 %MD1 存储器区域,因为 modbus 请求使用相同的简单字。

oHMI 的 %MD20 存储器区域对应于控制器的 %MD10 存储器区域,因为 modbus 请求使用相同的简单字。

下面提供了存储器位匹配的示例:

oHMI 的 %MW0:X9 存储器区域对应于控制器的 %MX1.1 存储器区域,因为控制器存储器中的简单字分为 2 个不同的字节。

注意: 如果将 %MD 用于 PLC 和 HMI 之间的数据交换,则 PLC 和 HMI 两者的字顺序应保持一致。对于 Modicon M218 Logic Controller,双字变量的顺序是低字在前。