Modbus 管理器用于主站或从站模式下的 Modbus RTU 或 ASCII 协议。
要将 Modbus 管理器添加到控制器中,请在硬件目录中选择 Modbus_Manager,将其拖到设备树,然后将其放到一个突出显示的节点上。
有关将设备添加到项目的更多信息,请参阅:
• 使用拖放方法
• 使用上下文菜单或加号按钮
要配置 Modbus 管理器,请按照以下步骤操作:
步骤 |
操作 |
---|---|
1 |
在设备树中,双击 Modbus_Manager。 结果:随即显示 Modbus_Manager 配置窗口。 ![]()
|
如下表所述设置参数:
元素 |
描述 |
---|---|
寻址 |
指定设备类型: o主站 o从站 |
地址 |
设备的 Modbus 地址 |
帧间时间(毫秒) |
用于避免总线冲突的时间 对于链路上的每个 Modbus 设备,此参数必须相同。 |
串行线路设置 |
“串行线路”配置窗口中指定的参数。 |
将此模块配置为 Modbus 主站时,PLCCommunication 库支持以下功能块:
oADDM
oREAD_VAR
oSEND_RECV_MSG
oSINGLE_WRITE
oWRITE_READ_VAR
oWRITE_VAR
有关详细信息,请参阅 PLCCommunication 库的PLCCommunication。
将模块配置为 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。
下面提供了针对双字的存储器匹配的示例:
oHMI 的 %MD2 存储器区域对应于控制器的 %MD1 存储器区域,因为 Modbus 请求使用相同的简单字。
oHMI 的 %MD20 存储器区域对应于控制器的 %MD10 存储器区域,因为 Modbus 请求使用相同的简单字。
下面给出了针对位的存储器匹配的示例:
oHMI 的 %MW0:X9 存储器区域对应于控制器的 %MX1.1 存储器区域,因为控制器存储器中的简单字分为 2 个不同的字节。
要向 Modbus 管理器添加调制解调器,请参阅将调制解调器添加到管理器。