新闻  |   论坛  |   博客  |   在线研讨会
工程监测多通道振弦模拟信号采集仪VTN的AABB 通讯协议
河北稳控科技 | 2023-02-20 10:37:44    阅读:117   发布文章

工程监测多通道振弦模拟信号采集仪VTN的AABB 通讯协议

VTN新款2.jpg

AABB 通讯协议是一种非标准自定义协议, 相较于 MODBUS 通讯协议,结构更简单,指令生成方法更容易,便于进行快速测试。 AABB 通讯协议支持单寄存器读写两种指令。


(1) 读取单个寄存器

AABB 通讯协议1.png

指令头: 固定为 16 进制 AABB

地址码: 设备的地址(1~255, 其中地址 255 为通用地址)

寄存器地址:要访问的寄存器地址, 寄存器地址字节最高位是读写标志位,为 0 时表示读寄存器,为 1时表示写寄存器。

和校验: 之前所有数据之和, 0xAA+0xBB+地址码+寄存器地址, 校验和超过 255 时,仅使用低字节。 如下例中,校验和=0xAA+0xBB+0x01+0x08=0x016E,则只使用 0x6E 作为最终和校验码。

例:读取地址为 0x01 的设备寄存器值,寄存器地址为 8

主机发送指令: 0xAA 0xBB 0x01 0x08 0x6E

从机返回应答: 0xAA 0xBB 0x01 0x08 0x00 0x60 0xCE


(2) 修改单个寄存器

AABB 通讯协议2.png

写寄存器指令中,寄存器地址字节的最高位应为 1, 即地址值与 0x80 做“或” 运算。

例: 修改地址为 0x01 的设备寄存器值,寄存器地址为 8,修改值为 100

主机发送指令: 0xAA 0xBB 0x01 0x88 0x00 0x64 0x52

从机返回应答: 0xAA 0xBB 0x01 0x08 0x00 0x64 0xD2

(3) 通用设备地址

AABB 通讯协议支持通用地址, 无论设备的当前地址为何值,使用 0xFF 作为地址对其发送读写指令,均可得到正确响应。

例:使用通用地址,读取任一设备的寄存器 8

主机发送指令: 0xAA 0xBB 0xFF 0x08 0x6C

从机返回应答: 0xAA 0xBB 0x01 0x08 0x00 0xC8 0x36

注: 当总线上连接有多个从机设备时(通常为 RS485 总线), 使用通用地址时总线上所有设备均会响应指令,导致指令无法正常使用。

注:严禁在连接有多个从设备的总线中使用通用地址修改设备地址。

(4)特殊设备地址

设备地址保存于寄存器 ADDR.[7:0], 取值范围为 1~255,这些地址中, 255 在 AABB 协议中作为通用地址使用。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客