[SM1000B]工业型多点DS18B20温度采集模块 MODBUS-RTU协议
- 概述
- 技术参数
- 产品选型
- 资料下载
三分钟快速了解 SM1000B-64
产品介绍
SM1000B温度数据采集模块,配合美国进口传感器,实现低成本温度状态在线监测的实用型专业模块,本模块可应用于:(1)SMT行业温度数据监控、 (2) 电子设备厂温度数据监控(3)、 冷藏库温度监测(4)、 仓库温度监测、 (5) 药厂GMP监测系统、 (6)环境温度监控(7) 、电信机房温度监控、 (8) 其它需要监测温度的各种场合等。为便于工程组网及工业应用,本模块采用工业广泛使用的MODBUS-RTU通讯协议,可方便与PLC、组态软件通讯联机。用户根据通讯协议可与任何串口通讯软件实现设备数据查询和设置。本模块支持1-64 个内置DS18B20的温度传感器。
产品特色
1 提供二次开发通讯协议
2 每台仪器有唯一的地址编号,可组网
3 基于工业通用的MODBUS-RTU协议,可接入PLC或组态软件
4 数据读写方便,一个命令可以读出所有测量数据
5 传感器采用总线式布线方式,接线简单、方便灵活
6 高精度、免校正、全数字化采集,不会因距离太远导致数据不准确
7 超长采集距离,传感器与模块之间的距离最远达300米
8 支持1-64个温度测点
9 赠送二次开发测试软件
接口说明
状态指示
设备上共有3个指示灯,分别为电源指示灯、信号接收指示灯、信号发送指示灯。
【POWER】指示灯 当接入电源后,指示灯亮,表明供电正常;若不亮,请检查电源。
【RX】指示灯 当主机与设备进行通讯时,此指示灯必须闪烁,若不闪烁,请检查主机通讯设置是否正确。
【TX 】指示灯 当主机发送的命令正确,模块则会响应回复数据,回复数据时,此指示灯会闪烁。
1.RS485通讯接口
RS485接口位于SM1000B-64模块的左边,为四芯接插件,引脚定义如下表所示:
引脚编号 | 引脚定义 | 引线颜色 |
1 | DC 6-24V电源正 | 红色 |
2 | DC 6-24V电源负 | 绿色 |
3 | RS485 A+ | 黄线 |
4 | RS485 B- | 兰色 |
2.传感器接口
设备支持SLST1系列、SS10系列内置DS18B20的温度传感器,外接传感器接口引脚定义如下:
引脚编号 | 引脚定义 | 引线颜色 | 引线说明 |
1 | VCC | 红色 | 传感器总线供电电源正,电压范围DC3-5.5V |
2 | DQ | 兰色 | 总线信号线 |
3 | GND | 黑线 | 供电电源负 |
应用方案
SM1000B-64典型应用方案
外形尺寸
通讯协议
设备所有操作或回复命令都为16进制数据。默认通讯波特率:9600,8,n,1。
基本命令格式:
[设备地址][功能码][起始地址:2字节][数据长度:2字节][CRC16校验]
意义如下:
A、设备地址:设备地址范围为1-249,其中250即0xFA为通用查询地址,当不知道设备地址时,可用此通用查询地址进行查询。
B、功能码:不同的应用需求功能码不同,比如3为查询输入寄存器数据。
C、起始地址:查询或操作寄存器起始地址。
D、数据长度:读取的长度,比如读取10个传感器的温度,此值为0x00 0A。
E、CRC校验:CRC16校验,高位在前,低位在后。
1. 读取数据(功能码为0x03 )
[设备地址][03][起始地址:2字节][数据长度:2字节][CRC16校验]
设备响应:
[设备地址][命令号][返回的字节个数][数据1][数据2]...[数据n][CRC16校验]
响应数据意义如下:
A、返回的字节个数:表示数据的字节个数,也就是数据1,2...n中的n的值。
B、数据1…N:各个传感器的测量值,每个数据占用两个字节。为整型数据,真实值为此值除以100。
例如:查询1号设备上1个传感器数据:
发送:01 03 01 01 00 40 14 06
回应: 01 03 80 05 3C 05 32 05 28 05 32 05 32 05 32 05 32 05 28 05 1E 05 3C 05 28 05 14 05 32 05 1E 05 3C 05 46 05 32 05 32 05 32 05 28 05 3C 05 32 05 32 05 46 05 3C 05 32 05 28 05 32 05 32 05 32 05 32 05 28 05 1E 05 3C 05 28 05 14 05 32 05 1E 05 3C 05 46 05 32 05 32 05 32 05 28 05 3C 05 32 05 32 05 46 05 3C 05 32 05 28 05 32 05 32 05 32 05 32 05 28 05 28 05 3C 05 28 05 14 05 32 05 1E 05 3C 05 46 C2 36
上例回复数据中:01表地址1,80表数据长度为128个字节,由于测点数据长度占两个字节,比如第一个数据为05 3C, 折成10进制即为:1340,因模块分辨率为0.01,该值需除以100,即实际值为13.40,同理:05 32为第2路值,十进制数据为:1330,实际值为13.30。
2. 传感器序列号识别操作
对于传感器,设备只有存储其序列号才能识别和正常检测。每个DS18B20都有唯一的64位识别序列号,我们提供了3种方法可以快速将一个或多个传感器的序列号存入到设备中。
3. 自动写入(功能号:0x22,辅助命令号:0x01 )。
当未知传感器序列号时,可通过此方法自动写入序列号到设备中。本方法适用于单个传感器的序列号识别操作。
发送命令格式:
[设备地址][命令号:0x02][辅助命令号:0x01][传感器编号][00] [04] [CRC16]
意义如下:
A、传感器编号:值范围为1-64。
B、00 04 为十六进制数。
如果设备需要能够识别一个新传感器,识别并将其序列号保存于设备第1号位置,则首先确保设备上只接了这一个传感器,然后进行如下操作。
上位机发送命令:01 22 01 01 00 04 A8 32
设备回复: 01 22 08 28 F8 4C 87 01 00 00 F1 04 70
其中01 表设备地址,22表命令功能号,08 表返回的数据长度,"28 F8 4C 87 01 00 00 F1"为该传感器的序列号,回复正确的序列号,表明操作成功,若回复的序列号为00或FF开始,则不成功。
4.手动写入(功能号:0x22,辅助命令号:0x0C )
直接写入64位序列号即8个字节到指定设备指定编号位置,本方法适用于已知传感器序列号的条件下。
发送命令格式:
[设备地址][命令号: 0x22][辅助命令号: 0x0C][传感器编号][8字节序列号][CRC16]
意义如下:
A、传感器编号:值范围为1-64。
B、8字节序列号,如DS18B20序列号: 28 B4 19 A4 01 00 00 46。
例如需将序列号28 B4 19 A4 01 00 00 46写入到1号设备第1号位置,则
命令为:01 22 0C 01 28 B4 19 A4 01 00 00 46 F0 7D
设备回复为:01 22 08 28 B4 19 A4 01 00 00 46 C1 13
设备响应格式:
[设备地址][命令号][返回的字节个数][ 8字节序列号][CRC低8位][CRC高8位]
A、返回的字节个数:一般为8,因为DS18B20 的64位序列号为8个字节。
B、数据:8个字节的ID号。
5. 读取传感器序列号(功能号:0x23)
发送命令格式:
[设备地址][命令号:0x23][通道号][传感器编号][00 08][CRC16]
说明:
A、传感器编号:指定传感器编号(值范围为1-64)
B、00 08 为十六进制数,为固定值,因为传感器序列号为8字节。
例如读取设备1上的24个传感器的序列号。
发送命令:01 22 02 01 00 18 A9 BF
设备响应:01 00 C0 28 40 93 A0 02 00 00 74 28 50 AE A0 02 00 00 47 28 F0 87 A0 02 00 00 10 28 68 54 8E 03 00 00 DE 28 E8 99 A0 02 00 00 34 28 74 AE A0 02 00 00 2D 28 7C 93 7C 02 00 00 F7 28 FC 77 A0 02 00 00 CB 28 0A 50 8E 03 00 00 6C 28 86 BB 7C 02 00 00 8C 28 26 7B A0 02 00 00 E1 28 36 E1 7C 02 00 00 A3 28 7E 5F 8E 03 00 00 47 28 41 F4 42 02 00 00 4D 28 51 D9 7C 02 00 00 5F 28 71 CB 7C 02 00 00 16 28 A9 42 8E 03 00 00 96 28 85 4D 8E 03 00 00 32 28 25 AD A0 02 00 00 7A 28 0D 3A 8E 03 00 00 45 28 CB 91 A0 02 00 00 E5 28 B7 DB 7C 02 00 00 47 28 F7 92 A0 02 00 00 3B 28 F7 5B 8E 03 00 00 24 11 F1
设备响应格式:[设备地址][命令号][返回的字节个数][8字节序列号][CRC16]
6. 更改设备地址(功能号:0x06辅助命令号:0x0B )
发送命令格式:
[设备地址][命令号:0x06][ 辅助命令号:0x0B] [00 00] [目标地址] [CRC16]
说明:
A、目标地址:值范围为1-249,目标地址与当前地址不能相同。
B、00 00为十六进制数,为固定值,不可更改。
比如将设备地址1,更改为2,则命令为:
01 06 0B 00 00 02 0A 2F
设备响应: 02 06 01 02 61 CC
设备响应格式:[设备地址][命令号][辅助命令号] [当前地址] [CRC16]
7. 查询设备地址(功能号:0x25辅助命令号:0x02 )
若不知道当前设备地址、且总线上只有一个设备时,可以通过此命令查询当前设备地址。
发送命令格式:
[设备地址:0xFA][命令号:0x25][ 辅助命令号:0x02] [00 00 01] [CRC16]
说明:
A、设备地址0xFA为通用设备查询地址。
B、00 00 01为十六进制数,为固定值,不可更改。
比如查询当前设备地址,命令为 FA 25 02 00 00 01 99 FE
设备响应: 01 25 01 01 D0 43
设备响应格式:[设备地址][命令号] [数据长度:1字节] [随机字节:1字节] [CRC16]
比如:02 25 01 18 11 CD 表明设备地址为02 。
随机清单
序号 | 名 称 | 型号 | 数量 | 备注 |
1 | 智能温度数据采集模块 | SM1000B-64 | 1台 | |
2 | RS485总线测试线 | 1根 | ||
3 | 3芯传感器测试线 | 1根 | ||
4 | 说明书和合格证 | 1份 |
- 型号
- SM1000B
- 量程
- -30 ~ 80°C
- 精度
- ±0.5℃(由传感器决定)
- 支持传感器
- 1-64个DS18B20
- 分辩率
- 0.01
- 功耗
- <1W
- 输入电压
- DC 6 ~ 24 V
- 波特率
- 9600
- 保存环境
- -40 ~ 70°C,5 ~ 95% RH(无凝露)
- 工作温度
- -40 ~ 85°C(工业级)
- 尺寸
- 见尺寸图
- 保修期
- 1年
- 配件
- 1根传感器引线,1根RS485通讯线