工程监测多通道振弦模拟信号采集仪VTN的MODBUS 通讯协议
在 MODBUS 协议下,所有寄存器被定义为“保持寄存器” (详见 MODBUS 通讯协议标准说明), 设备支持基于 MODBUS 协议的多个连续寄存器读取、单个寄存器写入两种指令码, 对应指令码分别为 0x03、 0x06。
(1) 03(0x03)、 04(0x04) 指令码: 读取多个连续的寄存器数据,指令格式如下
例:读取地址为 0x01 的设备寄存器值,寄存器开始地址为 0,连续读取 10 个寄存器
主机发送指令: 0x01 0x03 0x00 0x00 0x00 0x0A 0xC5 0xCD
从机返回应答: 0x01 0x03 0x14 0x00 0x01 0x00 0x60 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x01 0xF4 0x00 0x00 0x00 0x64 0x00 0xC8 0x5F 0x8F(下划线为读取到的 10 个寄存器值)
读取多个连续寄存器时, 单次读取不要超过 32 个寄存器, 不要读取不存在的寄存器。
注意:当工作模式拨码开关设置为“MODBUS 指令驱动测量模式” 时,对传感器通道寄存器的读取的指令会在测量完成后响应,最长响应延时为 120 秒。
(2) 06(0x06) 指令码: 修改单个寄存器的值, 指令格式如下
例:将地址为 0x01 的设备中的寄存器 8 的值修改为 100
主机发送指令: 0x01 0x06 0x00 0x08 0x00 0x64 0x09 0xE3
从机返回应答: 0x01 0x06 0x00 0x08 0x00 0x64 0x09 0xE3