路面传感器ModBus RTU通讯协议

1、物理端口定义

  • 起始位——1bit

  • 停止位——1bit

  • 数据位——8bits

  • 校验位——none

  • 波特率——9600bps

2、内存地址映射

寄存器地址

含义

操作

0

设备地址(1~246)

读写

1

无意义

只读

2

路面温度x100

只读

3

积水深度x100

只读

4

冰厚度x100

只读

5

雪厚度x100

只读

6

湿滑系数x100

只读

7

路面状态码

只读

8

硬件状态码

只读

3、寄存器说明

可以通过读保持寄存器命令(0x03),获取以下寄存器数值; 写单个保持寄存器命令(0x06),修改设备地址。

地址0 modbus设备地址 无符号整型

地址范围 1~246。修改地址后,重新上电生效。

地址

内容

含义

0

0x0001

地址为1

地址2 路面温度 有符号整型

数值为实际温度乘以100。

地址

内容

含义

2

0x07EE

20.3摄氏度

地址3 积水深度 无符号整型

数值为实际深度乘以100。

地址

内容

含义

3

0x00FA

2.5mm

地址4 冰厚度 无符号整型

数值为实际厚度乘以100。

地址

内容

含义

4

0x0140

3.2mm

地址5 雪厚度 无符号整型

数值为实际厚度乘以100。

地址

内容

含义

5

0x01AE

4.3mm

地址6 湿滑系数 无符号整型

数值为实际数值乘以100。

地址

内容

含义

6

0x0052

0.82

地址7 路面状态 无符号整型

地址

内容

含义

7

0x0106

雪 报警

数值含义

W(警告) 高字节

S(路面状态) 低字节

0 NO WARNING (无警告)

0 ERROR(出错)

1 WARNING (警告)

1 DRY(干)

2 ALARM (报警)

2 MOIST(潮)

3 FROST WARNING (霜警告)

3 WET(湿)

4 OBSTRUCT(阻挡警告)

4 预留

5 FROST(霜)

6 SNOW(雪)

7 ICE(冰)

8 预留

9 SLUSHY(冰水混合)

地址8 硬件状态 无符号整型

地址

内容

含义

8

0x0040

测距模块异常

数值含义 高字节(十六进制)

镜头及模块状态 高四位

硬件状态 低四位

0 接收器窗清洁

0 硬件OK

1 警告-接收器窗污染

1 CPU硬件警告

2 报警-接收器窗污染严重

2 激光器警告

4 测距模块异常

x

4、通信示例

读取路面状态

TX:01 03 00 00 00 09 85 CC
- 01:设备地址
- 03:读保持寄存器功能码
- 00 00:寄存器地址
- 00 09:读取寄存器个数
- 85 CC:CRC校验码

RX:01 03 12 00 01 00 00 08 FB 00 06 00 00 00 00 00 51 00 02 00 00 B2 24
- 01:设备地址
- 03:03功能码
- 12:数据字节,18
- 00 01:地址寄存器数据,1
- 00 00:寄存器2数据,暂时无用
- 08 FB:温度寄存器数据,22.99度
- 00 06:水深寄存器数据,0.06mm
- 00 00:冰厚寄存器数据,0.00mm
- 00 00:雪厚寄存器数据,0.00mm
- 00 51:湿滑系数寄存器数据,0.81
- 00 02:路面状态码寄存器数据,02代表湿
- 00 00:硬件状态码寄存器数据,00代表硬件无异常
- B2 24:CRC校验码