Modbus 管理器用于主站或从站模式下的 Modbus RTU 或 ASCII 协议。
要将 Modbus 管理器添加到控制器,请在硬件目录中选择 Modbus 管理器,将其拖到设备树,然后将其放到一个突出显示的节点上。
有关将设备添加到项目的更多信息,请参阅:
• 使用拖放方法
• 使用上下文菜单或加号按钮
要配置控制器的 Modbus 管理器,请双击设备树中的 Modbus 管理器。
Modbus 管理器配置窗口随即显示,如下所示:
如下表所述设置参数:
元素 |
描述 |
---|---|
传输模式 |
指定要使用的传输模式: oRTU:使用二进制编码和 CRC 错误校验(8 个数据位) oASCII:消息采用 ASCII 格式,LRC 错误校验(7 个数据位) 对于链路上的每个 Modbus 设备,此参数设置必须完全相同。 |
寻址 |
指定设备类型: o主任务 o从站 |
地址 |
设备的 Modbus 地址(选择从站时)。 |
帧间时间(毫秒) |
避免总线冲突的时间。 对于链路上的每个 Modbus 设备,此参数设置必须完全相同。 |
串行线路设置 |
串行线路配置窗口中指定的参数。 |
当将控制器配置为 Modbus 主站时,PLCCommunication 库支持以下功能块:
oADDM
oREAD_VAR
oSEND_RECV_MSG
oSINGLE_WRITE
oWRITE_READ_VAR
oWRITE_VAR
有关详细信息,请参阅 库的PLCCommunicationPLCCommunication。
当控制器配置为 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 |
对象名称 |
类型 |
值 |
---|---|---|---|
00(十六进制) |
供应商名称 |
ASCII 字符串 |
Schneider Electric |
01(十六进制) |
产品代码 |
ASCII 字符串 |
控制器型号 |
02(十六进制) |
主/次修订号 |
ASCII 字符串 |
aa.bb.cc.dd(与设备描述符相同) |
下节描述控制器 Modbus 存储器映射与 HMI Modbus 映射之间的差异。如果不对应用程序进行编程以识别映射中的这些差异,则控制器和 HMI 将不会正确通讯。因此,可能会将不正确的值写入到负责输出操作的存储器区域。
|
意外的设备操作 |
请将应用程序编程为可在控制器使用的 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 管理器添加调制解调器,请参阅将调制解调器添加到管理器。