技术参数 | 参数值 |
品牌 | KLHA/快乐海岸 |
温度测量范围 | -30℃~85℃ |
温度测量精度 | ±0.5℃ @25℃ |
支持测点总数 | 1000 |
DS18B20通道数 | 10 |
每通道最大点数 | 16 |
支持器件 | 内置DS18B20的探头 |
通讯接口 | RS485 |
默认波特率 | 9600 8 n 1 |
供电电源 | DC9~24V 1A |
运行环境温度 | -30~85℃ |
运行环境湿度 | 5%RH~90%RH |
产品接线
RS485型:通讯协议
产品使用RS485 MODBUS-RTU标准协议格式,所有操作或回复命令都为16进制数据。设备出厂时默认设备地址为1,默认波特率为 模块及非记录仪表:9600,8,n,1 或 记录仪:115200,8,n,1 。
1. 读取数据 ( 功能码 0x03)
问询帧(十六进制),用于查询每个测点或通道数据。多通道DS18B20温度模块,由于每个通道支持的点数较多,而每个问询帧又有回复字节长度的限制,所以设备设计时是按通道查询数据的。本设备分为10个通道,每个通道最大支持16测点,发送举例:查询1#设备1通道上所有测点数据,上位机发送命令:01 03 01 01 00 10 14 3A 。
地址 | 功能码 | 起始地址 | 数据长度 | 校验码 |
01 | 03 | 01 01 | 00 10 | 14 3A |
对于正确的问询帧,设备会响应数据:01 03 20 00 79 00 7A 00 7B 00 7C 00 7D 00 7E 00 7F 00 80 00 81 00 82 00 83 00 84 00 85 00 86 00 87 00 88 F6 78 ,响应格式:地址,功能码,长度,数据1,数据2,...,数据n,CRC16校验码。
因模块显示分辨率为0.01,以数据1的值为例,如果值为121,则121除以倍率100,实际数据值为1.21度。实际应用中,每个数据值占两个字节,即整型变量,实际值在此值基础上除以100为真实值。当数据为BA D2时,即显示-177.10时,表明无传感器接入,当数据为B4 92时,即显示-193.10时,表示该总线上该编号没有正确序列号
2. 常用数据地址表
为方便针对设置备通道数据查询,可针对该节点地址进行编址。设备是按通道轮循查询数据的,目前无法一个指令查询所有设备。如果设备中有 10 个通道,只分10条查询指令,查出设备所有数据。每个通道的起始地址与组态软件中 4xxxx 地址之间的关系如表所示,其基本计算方法为:n*256+02,其中 n 为通道号。比如1通道1号位置的寄存器为40258。
组态地址 | 寄存器地址 | 寄存器说明 | 数据类型 | 值范围 |
40258 | 01 01 | 1通道1#测点温度寄存器 | 只读 | 0~65535 |
40259 | 01 02 | 1通道2#测点温度寄存器 | 只读 | 0~65535 |
...... | ..... | (1通道中间测点省略) | ... | ... |
40274 | 01 10 | 1通道16#测点温度寄存器 | 只读 | 0~65535 |
40514 | 02 01 | 2通道1#测点温度寄存器 | 只读 | 0~65535 |
40515 | 02 02 | 2通道2#测点温度寄存器 | 只读 | 0~65535 |
...... | ..... | (2通道中间测点省略) | ... | ... |
40530 | 02 10 | 2通道16#测点温度寄存器 | 只读 | 0~65535 |
---- | ---- | 中间通道省略) | ---- | ---- |
42562 | 03 01 | 10通道1#测点温度寄存器 | 只读 | 0~65535 |
42563 | 03 02 | 10通道2#测点温度寄存器 | 只读 | 0~65535 |
...... | ..... | (10通道中间测点省略) | ... | ... |
42578 | 03 10 | 10通道16#测点温度寄存器 | 只读 | 0~65535 |
3 修改设备地址与波特率
(1) 修改设备地址
设备是通过产品左侧的拔码开关设置设备地址及波特率的。在应用中,需要多机联网使用时,联网中的设备地址不能相同,故用户要更改设备地址,设备可更改的地址范围为1-63。更改设备地址是通过拔码开关S1来实现的。拨码开关拨至 “ON”表示 “1”,拔码开关S1的1-6段与地址的关系统如下表所示:
段6 | 段5 | 段4 | 段3 | 段2 | 段1 | 地址值 |
0 | 0 | 0 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 | 0 | 0 | 2 |
0 | 0 | 0 | 0 | 0 | 0 | 3 |
0 | 0 | 0 | 0 | 0 | 0 | 4 |
... | ... | ... | ... | ... | ... | n |
1 | 1 | 1 | 1 | 1 | 1 | 63 |
(2) 修改波特率
波特率设置是通过拔码开关S2的前3段来实现,S2的第4段时未启用,可拔至0位置。如右图所示,拨码开关拨至 “ON”表示 “1” ,拔向数字一侧表示“0”,代表意义如下。
段3 | 段2 | 段1 | 波特率 |
0 | 0 | 0 | 9600 |
0 | 0 | 1 | 9600 |
0 | 1 | 0 | 4800 |