发布日期:2018-08-20 点击次数:93
ETME拉绳位移传感器RS485协议说明
本传感器使用MODBUS-RTU通讯协议,默认波特率9600,检验位NONE,数据位8,停止位1。设备地址默认02。
1. 读AD值(MODBUS)
命令 :02 03 00 01 00 01 D5 F9
地址码: 02(此值为设备地址,根据设备地址不同而不同。)
功能码: 03 (此值为固定的)
寄存器地址:00 01(此值为固定的)
寄存器数量:00 01(此值为固定的)
CRC16校验: D5 F9(低位在前,高位在后,此值是根据前面数据不同而变化的,不是固定的。)
返回: 02 03 02 08 95 3B EB
地址码: 02(此值为设备地址,根据设备地址不同而不同。)
功能码: 03(此值为固定的)
字节数: 02(此值为固定的)
AD值: 08 95(比如返回AD数据为2197,高位在前,低位在后。此值一直随传感器变化中。)
CRC16校验: 3B EB (低位在前,高位在后。)
2.修改设备地址
命令: 02 06 00 01 00 05 18 3A
地址码: 02(此值为设备地址,根据设备地址不同而不同。)
功能码: 06 (此值为固定的)
寄存器地址: 00 01(此值为固定的)
设备地址: 00 05(比如把设备地址修改为5)
CRC16校验: 18 3A(低位在前,高位在后。)
返回: 05 06 00 01 21 29
地址码: 05(修改后的设备地址)
功能码: 06 (此值为固定的)
起始地址: 00 01(此值为固定的)
CRC16校验: 21 29(低位在前,高位在后。)
3.修改波特率
发送:02 10 00 01 00 02 04 00 00 E1 00 75 77(波特率修改为57600)
地址码: 02(此值为设备地址,根据设备地址不同而不同)
功能码: 10(此值为固定的)
寄存器地址:00 01(此值为固定的)
寄存器数量:00 02(此值为固定的)
字节数: 04(此值为固定的)
寄存器值1: 00 00(此值根据波特率不同而修改)
寄存器值2: E1 00(此值根据波特率不同而修改)
CRC16校验: 75 77(低位在前,高位在后。)
寄存器值1和2即为波特率设定值,以57600为例即为00 00 E1 00,数据位为高位在前,低位在后,这一点和校验位不同。
返回: 02 10 00 01 00 02 10 3B
地址码: 02(此值为设备地址,根据设备地址不同而不同)
功能码: 10(此值为固定的)
寄存器地址:00 01(此值为固定的)
寄存器数量:00 02(此值为固定的)
CRC16校验: 10 3B (低位在前,高位在后。)
4.校验错误返回
02 80 55 55 55 9B 7F
地址码: 02(此值为设备地址,根据设备地址不同而不同)
错误码: 80(此值为固定的)
异常码: 55 55 55(此值为固定的)
CRC16校验: 9B 7F (低位在前,高位在后。)
在发送命令时如果返回的是此命令码,则说明本命令校验码错误,造成校验码错误的原因有可能是如下几点:
1. 校验码计算错误
2. 校验码高低字节顺序错误
3. USB转485转换器问题
4. 通讯线问题,通讯线请尽量用带屏蔽双绞线
5. 传感器模块损坏等
如都不能查明原因请联系你的供货商寻求技术支持。
5.功能码错误返回
02 81 FF FF FF 44 7C
地址码: 02(此值为设备地址,根据设备地址不同而不同)
错误码: 81(此值为固定的)
异常码: FF FF FF(此值为固定的)
CRC16校验: 44 7C (低位在前,高位在后。)
由于本传感器模块相对简单,所以并不是所有的MODBUS功能码都做在里面。在发送命令时如果返回的是此命令码,则说明此命令码传感器模块不支持。
6.读AD值(ASCII码值)
命令:02 04 00 01 00 01 60 39
地址码: 02(此值为设备地址,根据设备地址不同而不同)
功能码: 04(此值为固定的)
寄存器地址:00 01(此值为固定的)
寄存器数量:00 01(此值为固定的)
CRC16校验: 60 39 (低位在前,高位在后。)
返回:~+AD(4位)+0x0d+0x0a
起始符:~ ;AD值:ASCII码值;两位结束符0x0d,0x0a。
本命令多用于单传感器的串口调试,用串口助手发送此命令,可以在串口助手上直接看到传感器的整型AD值,而不用进行进制转换,方便观察。
最新产品