Chapter 10 Modbu s Commu nication 10-40 10.2 Modbu s 通讯 10.2.1 Modbu s 通讯 1. 介绍 XGB 内置通讯支持 Modbus, 即 Modicon 产品的通讯协议. 同时支持使用 ASCII 数据类型的ASCII 格式和使用Hex 数据格式的 RTU 格式. 通过在 Modbus 中所支持的功能代码实现通讯,特殊功能代码如 01, 02, 03, 04, 05, 06, 15 和 16. 请参考 "Modicon Modbus 通讯协议指南". 2.基本规范 1) ASCII 模式 A) 使用 ASCII 数据通讯. B) 每个桢使用 ‘:’ (冒号n: H3A), 作为头, CR/LF (Carriage return-line feed: HoD H0A), 作为尾. C) 使用 LRC 检查错误. D) 桢结构(ASCII 数据) 项目 头 地址 功能码 数据 LRC 尾(CR/LF) 大小 1 字节 2 字节 2 字节 n 字节 2 字节 2 字节 2) RTU 模式 A) 使用十六进制通讯. B) 没有头和尾的区别. 从地址开始,到有 CRC 的桢结束. C) 在两个桢之间至少有 3.5 字符时间. D) 使用 16 位 CRC 检查错误. E) 桢结构(HEX 数据) 项目 地址 功能码 数据 CRC 大小 1 字节 1 字节 n 字节 2 字节 3)地址区域 (1)设定范围是从 1 到247,但是 XGB 支持 0 到 63. (2)地址 0 被用作传送地址. 传送地址是所有从站设备接受和自身地址响应的地址,XGB 不支持此项功能. 4) 功能代码区域 (1) 命令代码是 0~225. XGB 仅支持 01, 02, 03, 04, 05, 06, 15, 和 16. (2) 如果响应格式是+(ACK), 使用相同的功能代码. (3) 如果响应格式是-(NAK),返回同时设置功能代码的第8 位是 1. 例.)如果功能代码是 03 -我们这里只写了功能代码的一部分, 因为仅有功能代码是不同的. [请求] 0000 0011 (H03) [确认+] 0000 0011 (H03) [确认-] 1000 0011 (H83) 返回同时设置功能代码的第8 位是 1 Chapter 10 Modbu s Commu nication 10-41 5) 数据区域 (1)发送数据类型为 ASCII 数据(ASCII 模式) 或者 hex (RTU 模式). (2) 数据根据每个功能代码改变. (3)相应桢的数据区域是响应数据或者是错误数据. 6) LRC 检测/CRC 检测区域 (1) LRC (纵向冗余检测) : 工作方式是 ASCII 模式. 它是除了头和尾之外转换成 ASCII 的所有桢和的补码, (2) CRC (循环冗余校验):工作方式是RTU 模式. 使用 2 字节 CRC 检验规则. 7) 功能码类型 代码 ...