SM1200B是一种强驱动能力远程数字化温度采集设备,可根据不同的需求,可同时连接1-1000个数字温度传感器,以RS485方式同上位机通讯设备采集工业通用标准MODBUS-RTU协议,方便与各种组态软件组合,快速组建各种测温系统。
产品特色
1. 提供二次开发通讯协议,便于二次开发
2.RS485总线接口,标准MODBUS-RTU协议
3. 传感器采集总线式布线,接线简单方便灵活。
4. 具有传感器搜索功能,可自动识别传感器ID
5. 可以实时读入传感器
6. 可以在线读出传感器64位唯一序列号
7.每台仪器有唯一的地址,可以通过拔码开关更改
8.6通道,每通道支持1-100个DS18B20测点
9. 每个通道可驱动传感器总线最远长达150-300米
10.可与组态王等各种组态软件直接连接
技术参数
传感器 |
DS18B20,SLST1系列,SS10系列 |
显示测温范围 |
-55℃~+125.0℃ |
显示分辨率 |
0.1℃ |
测温精度 |
0.5℃ |
测温速度 |
4s(一个循环周期) |
通道数 |
1-6通道,每通道最多可接100点 |
波特率 |
9600 (可订制其它波特率) |
通讯端口 |
RS485 (基于MODBUS-RTU通讯协议) |
供电电源 |
DC 6-24V 2A |
耗电 |
2W |
重量 |
1000克 |
存储温度 |
-20 ~80℃ |
运行环境: |
-40℃~+85℃ |
支持测温电缆长度 |
<300m |
外形尺寸 |
155×111×60mm3 |
接口与设置

如上图所示,设备由电源接口、RS485接口、传感器接线座、状态指示灯、校准按键及拔码开关等几部分组成。
设备正面左侧小盖板打开后(一般用一字螺丝刀撬开),如下图所示,左上边的排针为厂家设置口,下面两个开关,分别为波特率及设备地址设置开关。
通讯波特率设置
本设备为RS485接口,S2的第4段时未启用,可拔至0位置。波特率设置是通过拔码开关S2的前3段来实现,如右图所示,拨码开关拨至 “ON”表示 “1” ,拔向数字一侧表示“0”,代表意义如下:
拔码开关S2 |
波特率(bps) |
段3 |
段2 |
段1 |
0 |
0 |
0 |
19200 |
0 |
0 |
1 |
9600 |
0 |
1 |
0 |
4800 |
默认通讯波特率为9600,位置如右图所示。

必须重新启动设备(断电)新的通讯波特率设置才能够生效。
设备地址
设置在应用中,有时需要多机联网使用,联网中的设备地址不能相同,故用户更改设备地址,地址范围为1-63。本设备设备地址的更改是通过拔码开关S1来实现的。拨码开关拨至 “ON”表示 “1”,拔码开关S1的1-6段与地址的关系统如下表所示:
拔码开关S1(拨码开关上所标数字为段位号) |
设备地址 |
段6 |
段5 |
段4 |
段3 |
段2 |
段1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
2 |
0 |
0 |
0 |
0 |
1 |
1 |
3 |
… |
… |
… |
… |
… |
… |
|
1 |
1 |
1 |
1 |
1 |
1 |
63 |
默认设备地址为1,拔码位置如上图所示。
注意 : 必须重新启动设备(断电)新的设备地址的设置才能够生效
电源接口
设备供电电源接口为两芯绿色接插件。设备使用的电源为 DC6-24V,最大电压不允许超过24V,最小电压不低于5.5V,单机使用时建议使用的电源为DC9V 1A,若传感器较多及引线较长时,建议使用2A-3A的DC9V电源。多机远距离通讯时,建议用DC12 2A以上单片电源。
符号 |
名称 |
说明 |
V+ |
电源正端. |
DC6-24V 正极 |
V- |
电源负端 |
DC6-24V 负极 |
通讯接口
符号 |
名称 |
说明 |
GND |
RS232接地线 |
本设备未使用 |
RX |
RS232 接收 |
本设备未使用 |
TX |
RS232 发送 |
本设备未使用 |
B- |
RS485 B+ |
RS485通讯接口B- |
A+ |
RS485 A+. |
RS485通讯接口A+ |
传感器接口

正下方线排
传感器总线采用三线制。见接线排,VCC,GND为给传感器供电电源。DQn为传感器通道编号,本设备共有6个通道,即DQ1、DQ2、…DQ10
普通线最长距离不大于200米,若通讯距离大于200米,建议使用线芯较粗的双绞线(信号线与地线对绞)。
通讯协议
设置默认的通讯波特率为:9600
数据查询 (功能号3或4)
上位机发送命令:
[设备地址][命令号][通道号][位置编号][00][查询数据长度][CRC低8位][CRC高8位]
意义如下: A、设备地址:模块自带的ID地址。
B、命令号:0x03。
C、[通道号]通道号:1-6,十六进制值范围为:1-0X06。
D、[位置编号]传感器编号:1-100,十六进制值范围为:1-0X64。
E、[查询数据长度],值范围:1-100,十六进制值范围为:1-0X64。
F、CRC校验,读取个数高8位、低8位。
举例:查询1#设备通道1全部100个数据:
01 03 01 01 00 64 14 1D
模块回复:
01 03 64 07 12 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 B4 92 ED 41
模块响应格式:
[设备地址] [功能码] [数据长度][数据1]…[数据n][CRC低8位][CRC高8位]
上例查询回复中:0x01表地址1,0x03表为命令号,0x64表共有100个数据,第一个数据为07 12 折成10进制即为:1810,因模块分辨率为0.01,该值需除以100,即实际温度值为18.10度,每个温度值占两个字节,即整型变量,实际值需在此值基础上除以100.
当数据为BA D2时,即显示-177.10时,表明无传感器接入,当数据为B4 92时,即显示-193.10时,表示该总线上该编号没有正确序列号。
为方便查询:设备地址为1#查询1-5个通道命令为:
查询1#模块 1 通道100个温度值命令(十六进制):01 03 01 01 00 64 14 1D
查询1#模块2通道100个温度值命令(十六进制):01 03 02 01 00 64 14 59
查询1#模块3通道100个温度值命令(十六进制):01 03 03 01 00 64 15 A5
查询1#模块4通道100个温度值命令(十六进制):01 03 04 01 00 64 14 D1
查询1#模块5通道100个温度值命令(十六进制):01 03 05 01 00 64 15 2D
查询1#模块6通道100个温度值命令(十六进制):01 03 06 01 00 64 15 69
传感器自动搜索 (功能号6)
上位机发送命令:
[设备地址][命令号:06][子命令:0x0C][通道号][存储控制位0|1][ 读取字节数,固定为01][CRC低8位][CRC高8位]
意义如下: A、设备地址:模块自带的ID地址。
B、命令号:0x0C;子命令:0x01
C、[通道号]:1-6,十六进制值范围为:1-0X06。
C、 [存储控制位0|1],当序列号需要保存时,此值为1,当序列号不需保存时,此值为0
D、CRC校验,读取个数高8位、低8位。
举例:自动搜索1号设备所有传感器:
01 06 0C 01 01 01 1B 0A
模块回复:
01 06 01 01 21 89
模块响应格式:
[设备地址][命令功能码][数据长度] [通道1传感器个数] [通道2传感器个数]…[通道n传感器个数] [CRC低8位][CRC高8位]
本例中搜索到的传感器个数:0x01即1个
将新传感器读入到指定位置 (功能号0x22)
上位机发送命令:
[设备地址][命令号:0x22][子命令:01][通道号][存储控制码:01][目标位置编号][CRC低8位][CRC高8位]
意义如下: A、设备地址:模块自带的ID地址。
B、命令号:0x22;子命令:01
C、[通道号]:1-6,十六进制值范围为:1-0X06。
D、[目标位置编号]:1-100,十六进制值范围为:1-0X64。
E、CRC校验,读取个数高8位、低8位。
举例:将新的传感器接到设备1通道后,如果用户希望该传感器在该通道位置4,则发送命令为:
01 22 01 01 00 04 A8 32
模块回复:
01 22 08 28 00 00 00 02 00 00 00 C7 7E
模块响应格式:
[设备地址][命令功能码:0x22][数据长度: 08] [搜索到的8字节序列号][CRC低8位][CRC高8位]
注:所有的[搜索到的8字节序列号]正确的应该是28(十进制为40)开始的8个字节。
查询指定位置传感器的序列号 (功能号0x22)
上位机发送命令:
[设备地址][命令号:0x22][子命令:0x02][通道号][00][查询数据长度n][CRC低8位][CRC高8位]
意义如下: A、设备地址:模块自带的ID地址。
B、命令号:0x22;子命令:02
C、[通道号]:1-10,十六进制值范围为:1-0X0A。
D、CRC校验,读取个数高8位、低8位。
举例:用户需要查询1号地址设备上通道1的16个点的传感器序列号,则发送命令为:
01 22 02 01 00 10 A8 79
模块回复:
01 22 80 28 B4 19 A4 01 00 00 46 28 B4 19 A4 01 00 00 46 28 B4 19 A4 01 00 00 46 28 B4 19 A4 01 00 00 46 28 B4 19 A4 01 00 00 46 28 B4 19 A4 01 00 00 46 28 B4 19 A4 01 00 00 46 28 B4 19 A4 01 00 00 46 28 B4 19 A4 01 00 00 46 28 B4 19 A4 01 00 00 46 28 B4 19 A4 01 00 00 46 28 B4 19 A4 01 00 00 46 28 B4 19 A4 01 00 00 46 28 B4 19 A4 01 00 00 46 28 B4 19 A4 01 00 00 46 28 B4 19 A4 01 00 00 46 9D 7F
模块响应格式:
[设备地址][命令功能码:0x22][数据长度] [搜索到的8字节序列号1]…[搜索到的8字节序列号n] [CRC低8位][CRC高8位]
将新传感器序列号直接写入到设备指定位置 (功能号0x22)
上位机发送命令:
[设备地址][命令号:0x22][子命令:0x0C] [通道号] [位置编号][8字节传感器序列号][CRC低8位][CRC高8位]
意义如下: A、设备地址:模块自带的ID地址。
B、[通道号]:1-6,十六进制值范围为:1-0X06。
C、[位置编号]:1-100,十六进制值范围为:1-0X64。
D、CRC校验,读取个数高8位、低8位。
举例:将某传感器特有的8字节序列号写到设备编号1的位置,则发送命令为:
01 22 0C 01 01 28 B4 19 A4 01 00 00 46 1E 7C
模块回复:
01 22 08 28 B4 19 A4 01 00 00 46 C1 13
模块响应格式:
[设备地址][命令功能码:0x22][数据长度: 08] [搜索到的8字节序列号][CRC低8位][CRC高8位]
读取设备地址 (功能号0x25)
上位机发送命令:
[设备地址:通道命令0xFA][命令号:0x25][子命令:0x02][固定为00][数据长度高] [数据长度低] [CRC低8位][CRC高8位]
意义如下: A、设备地址:当不知道设备地址情况下,可以用250或0XFA通道地址读出实际地址,使用此命令时,请确保RS485总线上仅接入一台设备。
B、命令号:0x22;子命令:01
C、CRC校验,读取个数高8位、低8位。
举例:将某传感器特有的8字节序列号写到设备编号1的位置,则发送命令为:
FA 25 02 00 00 01 99 FE
模块回复:
01 25 01 01 D0 43
模块响应格式:
[设备地址][命令功能码:0x25][数据长度: 01] [实际地址值][CRC低8位][CRC高8位]
修改设备地址 (功能号0x06)
上位机发送命令:
[设备地址][命令号:0x06][子命令:0x0B][固定为00][目标地址高位:固定为0x00] [目标地址低位] [CRC低8位][CRC高8位]
意义如下: A、设备地址:设备的原地址,只有地址正确方可执行此命令。
B、命令号:0x06;子命令:0x0B
C、[目标地址低位],设备地址修改的目标值。
举例:将设备地址从1改成2,则发送命令为:
FA 25 02 00 00 01 99 FE
模块回复:
02 25 01 02 90 06
模块响应格式:
[设备地址][命令功能码:0x25][数据长度: 01] [实际地址值][CRC低8位][CRC高8位]
与组态软件的连接
为方便针对节点数据查询,可针对该节点地址进行编址。如果设备中有10个通道,那通地址与组态软件中4xxxx地址之间的关系如下:
n*256+01 ,通道1对应的起始地址为:40257, 通地址2对应地址为40513
其中n为节点地址。
如果2号通下有5个传感器,根据通讯信息,查询该5个传感器数据的命令为:
01 03 02 00 00 05 84 71
由上述地址可以看出,转换成组态软件中的编址方法,则该节点下第一个传感器的地址为:
02*256+01=513
系统中通道及传感器编址:
传感器
通道 |
1 |
2 |
3 |
4 |
… |
5 |
1# |
40258 |
40259 |
40260 |
40261 |
… |
40358 |
2# |
40514 |
40515 |
40516 |
40517 |
… |
40614 |
3# |
40770 |
40771 |
40772 |
40773 |
… |
40870 |
4# |
41026 |
41027 |
41028 |
41029 |
… |
41126 |
… |
|
|
|
|
… |
|
以上寄存器名4AABB,数据类型为整型(占两个字节),值范围:0-65535
其中:
AA为通道的编码,值范围为01-99;
BB为该传感器编号,值范围为01-99;
比如1#通道3号位置传感器的地址为:40259;
产品选型
产品型号 |
说明 |
SM1200B-600 |
6通道,每通道支持100点 |
SM1200B-700 |
7通道,每通道支持100点 |
SM1200B-900 |
9通道,每通道支持100点 |
外形尺寸

随机清单
序号 |
名 称 |
型号 |
数量 |
备注 |
1 |
DS18B20采集工作站 |
SM1200B-600 |
1台 |
|
2 |
说明书及合格证 |
|
1份 |
|
3 |
Dc9V电源 |
|
1个 |
|