Modbus 管理器

简介

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

添加管理器

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

有关将设备添加到项目的更多信息,请参阅:

• 使用拖放方法

• 使用上下文菜单或加号按钮

Modbus 管理器配置

要配置 Modbus 管理器,请按照以下步骤操作:

步骤

操作

1

设备树中,双击 Modbus_Manager

结果:随即显示 Modbus_Manager 配置窗口。

G-SE-0001992.3.gif-high.gif

 

 

如下表所述设置参数:

元素

描述

寻址

指定设备类型:

o主站

o从站

地址

设备的 Modbus 地址

帧间时间(毫秒

用于避免总线冲突的时间

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

串行线路设置

“串行线路”配置窗口中指定的参数。

Modbus 主站

将此模块配置为 Modbus 主站时,PLCCommunication 库支持以下功能块

oADDM

oREAD_VAR

oSEND_RECV_MSG

oSINGLE_WRITE

oWRITE_READ_VAR

oWRITE_VAR

有关详细信息,请参阅 PLCCommunication 库的PLCCommunication。

Modbus 从站

将模块配置为 Modbus 从站时,支持以下 Modbus 请求:

功能代码

十进制(十六进制)

子功能

十进制(十六进制)

功能

1(十六进制 1)

 

读取数字量输出 (%Q)

2(十六进制 2)

 

读取数字量输入 (%I)

3(十六进制 3)

 

读取多个寄存器 (%MW)

6(十六进制 6)

 

写入单个寄存器 (%MW)

8(十六进制的 8)

参见下表

诊断

15(十六进制 F)

 

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

16(十六进制 10)

 

写入多个寄存器 (%MW)

23(十六进制 17)

 

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

43(十六进制 2B)

14(十六进制 E)

读取设备标识

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

子功能代码

功能

十进制

十六进制

 

10

0A

清除计数器和诊断寄存器

11

0B

返回总线信息计数

12

0C

返回总线通讯错误计数

13

0D

返回总线异常错误计数

14

0E

返回从站信息计数

15

0F

返回从站无响应计数

16

10

返回从站 NAK 计数

17

11

返回从站忙计数

18

12

返回总线字符溢出计数

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

功能代码

十进制(十六进制)

子功能代码

十进制(十六进制)

对象 ID

对象名称

类型

43(十六进制 2B)

14(十六进制 E)

00(十六进制)

供应商代码

ASCII 字符串

Schneider Electric

01(十六进制)

产品代码

ASCII 字符串

模块参考

例如:TM5PCRS2

02(十六进制)

主/次修订号

ASCII 字符串

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

注意: 下节描述了在控制器 Modbus 映射与 HMI Modbus 映射之间的差异。

当控制器和 Magelis 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 个不同的字节。

添加调制解调器

要向 Modbus 管理器添加调制解调器,请参阅将调制解调器添加到管理器