产品名称:温湿度变送器
直流供电:DC5V-30V
输出信号:RS485信号
通讯协议:Modbus-RTU协议和自定义普通协议
通信地址:1~247可设,默认1
波特率:可设置,默认9600,8位数据,1位停止,无校验
温度精度:±0.5℃ (25℃)
湿度精度:±3%RH
温度量程:-40℃~+60℃
湿度量程:0%RH~80%RH
温度分辨率:0.1℃
湿度分辨率:0.1%RH
设备功耗:≤0.2W
产品尺寸:65*46*28.5mm
产品重量:39.8g
产品采用工业级芯片,高精度进口SHT20温湿度传感器,确保产品的优异可靠性、高精度、互换性。采用RS485硬件接口(具有防雷设计),协议层兼容标准的工业Modbus-Rtu协议。本产品集MODBUS协议与普通协议于一体,用户可以自行选择通信协议,普通协议带有自动上传功能(连接RS485通过串口调式工具即会自动输出温湿度)。
MODBUS调试助手下载链接:
http://www.sinilink.com/download/tools/MODBUS-DEBUG.rar
产品所用功能码:
0x03:读保持寄存器
0x04: 读输入寄存器
0x06:写单个保持寄存器
0x10:写多个保持寄存器
寄存器类型 |
寄存器地址 |
数据内容 |
字节数 |
输入寄存器 |
0x0001 |
温度值 |
2 |
0x0002 |
湿度值 |
2 |
|
保持寄存器 |
0x0101 |
设备地址 (1~247) |
2 |
0x0102 |
波特率 0:9600 1:14400 2:19200 |
2 |
|
0x0103 |
温度修正值(/10) -10.0~10.0 |
2 |
|
0x0104 |
湿度修正值(/10) -10.0~10.0 |
2 |
主机发送数据帧:
从机地址 |
功能码 |
寄存器地址 高字节 |
寄存器地址 低字节 |
寄存器数量 高字节 |
寄存器数量 低字节 |
CRC 高字节 |
CRC 低字节 |
|
|
|
|
|
|
|
|
从机响应数据帧:
从机地址 |
响应功能码 |
字节数 |
寄存器1数据 高字节 |
寄存器1数据 低字节 |
寄存器N数据 高字节 |
寄存器N数据 低字节 |
CRC 高字节 |
CRC 低字节 |
|
|
|
|
|
|
|
|
|
MODBUS命令帧
从机地址 |
功能码 |
寄存器地址 高字节 |
寄存器地址 低字节 |
寄存器数量 高字节 |
寄存器数量 低字节 |
CRC 高字节 |
CRC 低字节 |
0x01 |
0x04 |
0x00 |
0x01 |
0x00 |
0x01 |
0x60 |
0x0a |
从机响应数据帧:
从机地址 |
功能码 |
字节数 |
温度 高字节 |
温度 低字节 |
CRC 高字节 |
CRC 低字节 |
0x01 |
0x04 |
0x02 |
0x01 |
0x31 |
0x79 |
0x74 |
温度值=0x131,转换成十进制305,实际温度值 = 305 / 10 = 30.5℃
注:温度是有符号16进制数,温度值=0xFF33,转换成十进制-205,实际温度-20.5℃;
从机地址 |
功能码 |
寄存器地址 高字节 |
寄存器地址 低字节 |
寄存器数量 高字节 |
寄存器数量 低字节 |
CRC 高字节 |
CRC 低字节 |
0x01 |
0x04 |
0x00 |
0x02 |
0x00 |
0x01 |
0x90 |
0x0A |
从机响应数据帧:
从机地址 |
功能码 |
字节数 |
湿度 高字节 |
湿度 低字节 |
CRC 高字节 |
CRC 低字节 |
0x01 |
0x04 |
0x02 |
0x02 |
0x22 |
0xD1 |
0xBA |
湿度值=0x222,转换成十进制546,实际湿度值=546 / 10 = 54.6%;
从机地址 |
功能码 |
寄存器地址 高字节 |
寄存器地址 低字节 |
寄存器数量 高字节 |
寄存器数量 低字节 |
CRC 高字节 |
CRC 低字节 |
0x01 |
0x04 |
0x00 |
0x01 |
0x00 |
0x02 |
0x20 |
0x0B |
从机响应数据帧:
从机地址 |
功能码 |
字节数 |
温度 高字节 |
温度 低字节 |
湿度 高字节 |
湿度 低字节 |
CRC 高字节 |
CRC 低字节 |
0x01 |
0x04 |
0x04 |
0x01 |
0x31 |
0x02 |
0x22 |
0x2A |
0xCE |
以读取从机地址为例:
从机地址 |
功能码 |
寄存器地址 高字节 |
寄存器地址 低字节 |
寄存器数量 高字节 |
寄存器数量 低字节 |
CRC 高字节 |
CRC 低字节 |
0x01 |
0x03 |
0x01 |
0x01 |
0x00 |
0x01 |
0xD4 |
0x36 |
从机响应帧:
从机地址 |
功能码 |
字节数 |
从机地址 高字节 |
从机地址 低字节 |
CRC 高字节 |
CRC 低字节 |
0x01 |
0x03 |
0x02 |
0x00 |
0x01 |
0x30 |
0x18 |
以修改从机地址为例:
从机地址 |
功能码 |
寄存器地址 高字节 |
寄存器地址 低字节 |
寄存器值 高字节 |
寄存器值 低字节 |
CRC 高字节 |
CRC 低字节 |
0x01 |
0x06 |
0x01 |
0x01 |
0x00 |
0x08 |
0xD8 |
0x30 |
修改从机地址:0x08 = 8
从机响应帧(与发送相同):
从机地址 |
功能码 |
寄存器地址 高字节 |
寄存器地址 低字节 |
寄存器值 高字节 |
寄存器值 低字节 |
CRC 高字节 |
CRC 低字节 |
0x01 |
0x06 |
0x01 |
0x01 |
0x00 |
0x08 |
0xD4 |
0x0F |
从机地址 |
功能码 |
起始地址 高字节 |
起始地址 低字节 |
寄存器数量 高字节 |
寄存器数量 低字节 |
字节数 |
寄存器1高字节 |
寄存器1低字节 |
寄存器2高字节 |
寄存器2低字节 |
CRC 高字节 |
CRC 低字节 |
0x01 |
0x10 |
0x01 |
0x01 |
0x00 |
0x02 |
0x04 |
0x00 |
0x20 |
0x25 |
0x80 |
0x25 |
0x09 |
修改从机地址:0x20 = 32
波特率:0x2580 = 9600
从机响应帧:
从机地址 |
功能码 |
寄存器地址 高字节 |
寄存器地址 低字节 |
寄存器数量 高字节 |
寄存器数量 低字节 |
CRC 高字节 |
CRC 低字节 |
0x01 |
0x10 |
0x00 |
0x11 |
0x00 |
0x04 |
0xD4 |
0x0F |
普通版本协议
波特率默认9600(用户可自行设定),8位数据,1位停止,无校验 RS485通信
串口命令 |
说明 |
READ |
触发一次温湿度上报 (27.4℃,67.7% 温度27.4℃湿度67.7%) |
AUTO |
启动温湿度自动上报功能 (同上) |
STOP |
|
BR:XXXX |
设置波特率 9600~19200 (BR:9600 波特率为9600) |
TC:XX.X |
设置温度校准 (-10.0~10.0) (TC:02.0温度修正值为2.0℃) |
HC:XX.X |
设置湿度校准 (-10.0~10.0) (HC:-05.1 湿度修正值为-5.1%) |
HZ:XXX |
设置温湿度上报速率 (0.5,1,2,5,10) (HZ:2 自动上报速率 2Hz) |
PARAM |
读取系统当前设置
|
PARAM指令:
TC:0.0,HC:0.0,BR:9600,HZ:1 ->温度修正值0.0湿度修正值0.0波特率9600上报速率 1Hz
SLAVE_ADD:1 ->MODBUS从机地址 0x01