产品概述
SM1210B采用标准RS485接口,方便接入PLC,DCS等各种仪表或系统,用于监测SHT10温度,SHT10湿度等12种状态量。
内部使用了较高精度的传感内核及相关器件,确保产品具有较高的可靠性与卓越的长期稳定性, 该系列有RS232、RS485、CAN、4-20mA、DC0-5V\10V、ZIGBEE、LORO、WIFI、GPRS等多种输出方式供选择(若没有,可订做)。
可应用于多点同时监测的各种场所,尤其适用于农业大棚、隧道、气象、城市照明等场所。
实物照片
接线说明
请按如下标识或引线颜色接线,请勿带电接线,否则会损坏设备。认真检查接线无误后再打开电源。
引线颜色 | 标号 | 说明 |
红色 | V+ | 电源RS485 正极 |
绿色 | V- | 电源RS485负极 |
黄色 | A+ | RS485 A+ |
兰色 | B- | RS485 B- |
通讯协议
SM1210B所有操作或回复命令都为16进制数据。默认通讯波特率:9600,8,n,1。
1 ) 读取数据 ( 功能码 0x03)
命令说明 | 设备地址 | 功能码 | 起始地址 | 数据长度 | 校验码 |
命令格式 | 01 | 03 | 00 00 | 00 0C | 45 CF |
发送举例 | 01 03 00 00 00 0C 45 CF |
响应命令格式及举例
响应说明 | 设备地址 | 功能码 | 数据长度 | 数据1 | 数据2 | 数据3 | 数据4 | 数据5 | 数据6 | 数据7 | 数据8 | 数据9 | 数据10 | 数据11 | 数据12 | 校验码 |
命令格式 | 01 | 03 | 18 | 00 79 | 00 7A | 00 7B | 00 7C | 00 7D | 00 7E | 00 7F | 00 80 | 00 81 | 00 82 | 00 83 | 00 84 | 9F 52 |
回复命令 | 01 03 18 00 79 00 7A 00 7B 00 7C 00 7D 00 7E 00 7F 00 80 00 81 00 82 00 83 00 84 9F 52 |
数据说明 | 命令中数据为十六进制,以数据1为例,00 79转为十进制数值为121,假设数据倍率为100,则真实值为121/100=1.21。其它以此类推 |
2 ) 数据地址表
组态软件中地址 | 寄存器地址 | 寄存器说明 | 数据类型 | 值范围 |
40001 | 00 01 | SHT10温度寄存器 | 无符号整形 | 0-65535 |
40002 | 00 02 | SHT10湿度寄存器 | 无符号整形 | 0-65535 |
40100 | 00 64 | 型号编码 | 无符号整形 | 0-65535 |
40101 | 00 65 | 测点总数 | 无符号整形 | 1-5000 |
40102 | 00 66 | 设备地址 | 无符号整形 | 1-249 |
40103 | 00 67 | 波特率 | 无符号整形 | 0-6 |
40104 | 00 68 | 通讯模式 | 无符号整形 | 0-2 |
40105 | 00 69 | 协议类型 | 无符号整形 | 0-3 |
40106 | 00 6A | 上传时间间隔 | 无符号整形 | 0-36000 |
40107 | 00 6B | SHT10温度校正值 | 无符号整形 | 0-65535 |
40108 | 00 6C | SHT10湿度校正值 | 无符号整形 | 0-65535 |
3 ) 读取与修改设备地址
1. 读取设备地址
若不知道当前设备地址、且总线上只有一个设备时,可以通过此命令查询当前设备型号的方法取得设备地址。
命令说明 | 设备地址 | 功能码 | 起始地址 | 数据长度 | 校验码 |
命令格式 | FA | 03 | 00 64 | 00 01 | D0 5E |
发送举例 | FA 03 00 64 00 01 D0 5E |
命令说明 | FA即250为通用地址,当不知道地址时可以用250这个地址来取得真实设备地址,00 64为设备型号的寄存器,此处也可以为00 66(设备地址寄存器)。 |
响应命令格式及举例
响应说明 | 设备地址 | 功能码 | 数据长度 | 型号编码 | 校验码 |
响应举例 | 01 | 03 | 02 | 07 12 | 3A 79 |
响应举例 | 01 03 02 07 12 3A 79 |
响应说明 | 第一个字节01表示当前设备的真实地址为01, 07 12转换为10进制为1810即当前设备型号为1810 |
2. 更改设备地址
命令说明 | 设备地址 | 功能码 | 寄存器地址 | 当前地址 | 目标地址 | 校验码 |
命令格式 | 01 | 06 | 00 66 | 00 01 | 00 02 | E8 14E |
发送举例 | 01 06 00 66 00 02 E8 14E |
命令说明 | 将设备地址1更改为2。 |
响应命令格式及举例
响应说明 | 设备地址 | 功能码 | 寄存器地址 | 目标地址 | 校验码 |
响应举例 | 02 | 06 | 00 66 | 00 02 | E8 27 |
响应举例 | 02 06 00 66 00 02 E8 27 |
响应说明 | 修改成功后,第1个字节为新的设备地址,立即生效。 |
4 ) 读取与修改波特率
1. 读取波特率
设备默认出厂波特率为9600,若需要更改,可根据下表及相应通讯协议进行更改操作。
命令说明 | 设备地址 | 功能码 | 起始地址 | 数据长度 | 校验码 |
命令格式 | 01 | 03 | 00 67 | 00 01 | 35 D5 |
发送举例 | 01 03 00 67 00 01 35 D5 |
命令说明 | 读取当前设备的波特率编码。波特率编码:1为2400; 2为4800;3为9600;4为19200;5为38400;6为115200。 |
响应命令格式及举例
响应说明 | 设备地址 | 功能码 | 数据长度 | 波特率ID | 校验码 |
响应举例 | 01 | 03 | 02 | 00 03 | F8 45 |
响应举例 | 01 03 02 00 03 F8 45 |
响应说明 | 根据波特率编码,03为9600,即当前设备的波特率为9600。 |
2. 更改波特率
命令说明 | 设备地址 | 功能码 | 起始地址 | 目标波特率 | 校验码 |
命令格式 | 01 | 06 | 00 67 | 00 05 | F8 16 |
发送举例 | 01 06 00 67 00 05 F8 16 |
命令说明 | 将波特率从9600更改为38400,即将代码从3更改为5。新的波特率会即时生效,此时设备会失去响应,或响应不正确。 |
4 ) 读取与修改校正值
1. 读取校正值
当数据与参照标准有误差时,我们可以通过调整“校正值”来减小显示误差。 校正差值可修改范围为正负1000,即值范围为0-1000或64535-65535。 比如当显示值偏小100时,我们通过增加100来校正。在命令中100即十六进制0x64;如果需要减小,则可以设置负值,比如-100,对应十六制制值为FF 9C,其计算方式为100-65535=65435,再转为十六进制则为0x FF 9C。
设备校正值是从00 6B开始,我们以第1个参数为例进行说明,多个参数时校正值读取与修改方法相同。
命令说明 | 设备地址 | 功能码 | 寄存器地址 | 数据长度 | 校验码 |
命令格式 | 01 | 03 | 00 6B | 00 01 | F5 D6 |
发送举例 | 01 03 00 6B 00 01 F5 D6 |
命令说明 | 00 6B为第一个状态量校正值寄存器。 |
响应命令格式及举例
响应说明 | 设备地址 | 功能码 | 寄存器地址 | 校正参数 | 校验码 |
响应举例 | 01 | 03 | 02 | 00 64 | B9 AF< |
响应举例 | 01 03 02 00 64 B9 AF |
响应说明 | 当前设备寄存器。 |
2. 更改校正值
命令说明 | 设备地址 | 功能码 | 起始地址 | 校正值 | 校验码 |
命令格式 | 01 | 06 | 00 6B | 00 64 | F9 FD |
发送举例 | 01 06 00 6B 00 64 F9 FD |
命令说明 | 当前值加100校正操作。 |
响应命令格式及举例
响应说明 | 设备地址 | 功能码 | 寄存器地址 | 校正参数 | 校验码 |
响应举例 | 01 | 06 | 00 6B | 00 64 | F9 FD |
响应举例 | 01 06 00 6B 00 64 F9 FD |
响应说明 | 成功更改后,参数立即生效。 |