SM2123B采用标准RS485总线 MODBUS-RTU协议,方便接入PLC,DCS等各种仪表或系统,用于监测液体酸碱度等状态量。内部使用了较高精度的传感内核及相关器件,确保产品具有较高的可靠性与卓越的长期稳定性, 可定制RS232、RS485、CAN、4-20mA、DC0~5V/10V、ZIGBEE、Lora、WIFI、GPRS等多种输出方式。 使用注意事项: 1、电极在测量前必须用已知PH值的标准缓冲溶液进行定为校准,为取得更正确的结果,已知PH值要可靠,而且其PH值愈接近被测值愈好。2、取下电极保护套后要注意,在塑料保护栅内的敏感玻璃泡不与硬物接触,任何破损和擦毛都会使电极失效。3、测量完毕,不用时应将电极保护套套上,保护套内应放少量3.3mol/L氯化jia溶液,以保持电极球泡的湿润。4、电极的引出端,必须保持清洁和干燥,jue对防止输出两端短路,否则将导致测量结果失准或失效。5、电极避免长期浸在蒸馏水中货蛋白质溶液和酸性氟化物溶液中,并防止和有机硅油脂接触。6、电极经长期使用后,如发现梯度略有极爱内地,则可把电极下端浸泡在4%HF(氢氟酸)中3-5秒钟,用蒸馏水洗净,然后在氯化jia溶液中浸泡,使之复新。7、被测溶液中如含有易污染敏感球泡货堵塞液接界的物质,而使电极钝化,其现象是敏感梯度降低,货读数不准。如此,则应根据污染物质的性质,以适当溶液清洗,使之复新。8、凡需测量能溶解聚碳酸树脂的有机溶剂,请选用PH符合电极中玻璃外壳型号电极。注:选用清洗剂时,如能溶解聚碳酸树脂的清洗液,如四氯化碳,三氯乙烯,四氢呋喃等,则可能把聚碳酸树脂溶解后,涂在敏感玻璃球泡上,而使电极失效,请慎用!
技术参数 | 参数值 |
品牌 | 搜博 |
PH测量范围 | 0~14 |
PH测量精度 | ±0.5 |
适用温度范围 | 0~65℃ |
通讯接口 | RS485 |
默认波特率 | 9600 8 n 1 |
供电电源 | DC6~24V 1A |
运行环境温度 | -30~80°C |
运行环境湿度 | 5%RH~90%RH |
编号 | 引线颜色 | 标号 | 说明 |
1 | 红色 | V+ | 电源正极 |
2 | 绿色 | V- | 电源负极 |
3 | 黄色 | A+ | RS485 A+ |
4 | 兰色 | B- | RS485 B- |
产品使用RS485 MODBUS-RTU标准协议格式,所有操作或回复命令都为16进制数据。设备出厂时默认设备地址为1,默认波特率为 9600,8,n,1。
1. 读取数据 ( 功能码 0x03)
问询帧(十六进制),发送举例:查询1#设备1个数据,上位机发送命令:01 03 00 00 00 01 84 0A 。
设备地址 | 功能码 | 起始地址 | 数据长度 | 校验码 |
01 | 03 | 00 00 | 00 01 | 84 0A |
对于正确的问询帧,设备会响应数据:01 03 02 00 79 79 A6 ,响应格式解析如下:
设备地址 | 功能码 | 数据长度 | 数据1 | 校验码 |
01 | 03 | 02 | 00 79 | 79 A6 |
数据说明:命令中数据为十六进制,以数据1为例,00 79转为十进制数值为121,假设数据倍率为100,则真实值为121/100=1.21,其它以此类推。
2. 数据地址表
组态软件中地址 | 寄存器地址 | 寄存器说明 | 数据类型 | 值范围 |
40001 | 00 00 | 液体酸碱度寄存器 | 只读 | 0-65535 倍率1 |
40100 | 00 64 | 型号编码 | 读/写 | 0~65535 |
40101 | 00 65 | 测点总数 | 读/写 | 1~20 |
40102 | 00 66 | 设备地址 | 读/写 | 1~249 |
40103 | 00 67 | 波特率 | 读/写 | 0~6 |
40104 | 00 68 | 通讯模式 | 读/写 | 1查询 2主动上传 |
40105 | 00 69 | 协议类型 | 读/写 | 0~3 |
3 读取与修改设备地址
(1) 读取或查询设备地址
若不知道当前设备地址、且总线上只有一个设备时,可以通过命令FA 03 00 64 00 02 90 5F 查询设备地址。
设备地址 | 功能码 | 起始地址 | 数据长度 | 校验码 |
FA | 03 | 00 64 | 00 02 | 90 5F |
FA即250为通用地址,当不知道地址时可以用250这个地址来取得真实设备地址,00 64为设备型号的寄存器。
对于正确的查询命令,设备会响应,比如响应数据为:01 03 02 07 12 3A 79,其格式解析如下表所示:
设备地址 | 功能码 | 起始地址 | 型号编码 | 校验码 |
01 | 03 | 02 | 55 3C 00 01 | 3A 79 |
响应应数据中,di一个字节01表示当前设备的真实地址为,55 3C 转换为10进制为21820即表示当前设备主型号为21820,后面两字节00 01表示该设备有一个状态量。
(2)更改设备地址
比如当前设备地址为1,我们希望更改为02,则命令为:01 06 00 66 00 02 E8 14 。
设备地址 | 功能码 | 寄存器地址 | 目标地址 | 校验码 |
01 | 06 | 00 66 | 00 02 | E8 14 |
更改成功后,设备会返回信息:02 06 00 66 00 02 E8 27 ,其格式解析如下表所示:
设备地址 | 功能码 | 寄存器地址 | 目标地址 | 校验码 |
01 | 06 | 00 66 | 00 02 | E8 27 |
响应应数据中,修改成功后,X1个字节为新的设备地址,一般设备地址更改后,立即生效,此时用户需要同时将自己软件的查询命令做相应更改。
4 读取与修改波特率
(1) 读取波特率
设备默认出厂波特率为9600,若需要更改,可根据下表及相应通讯协议进行更改操作。比如读取当前设备的波特率ID,命令为: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。
对于正确的查询命令,设备会响应,比如响应数据为:01 03 02 00 03 F8 45,其格式解析如下表所示:
设备地址 | 功能码 | 数据长度 | 波特率编码 | 校验码 |
01 | 03 | 02 | 00 03 | F8 45 |
根据波特率编码,03为9600,即当前设备的波特率为9600。
(2)更改波特率
比如将波特率从9600更改为38400,即将代码从3更改为5,则命令为:01 06 00 67 00 05 F8 1601 03 00 66 00 01 64 15 。
设备地址 | 功能码 | 寄存器地址 | 目标波特率 | 校验码 |
01 | 03 | 00 66 | 00 01 | 64 15 |
将波特率从9600更改为38400,即将代码从3更改为5。新的波特率会即时生效,此时设备会失去响应,查询设备的波特率需做相应修改。
4 读取校正值
(1) 读取校正值
当数据与参照标准有误差时,我们可以通过调整“校正值”来减小显示误差。校正差值可修改范围为正负1000,即值范围为0-1000或64535-65535。 比如当显示值偏小100时,我们通过增加100来校正,命令为:01 03 00 6B 00 01 F5 D6 。在命令中100即十六进制0x64;如果需要减小,则可以设置负值,比如-100,对应十六制制值为FF 9C,其计算方式为100-65535=65435,再转为十六进制则为0x FF 9C。设备校正值是从00 6B开始,我们以di1个参数为例进行说明,多个参数时校正值读取与修改方法相同。
设备地址 | 功能码 | 起始地址 | 数据长度 | 校验码 |
01 | 03 | 00 6B | 00 01 | F5 D6 |
对于正确的查询命令,设备会响应,比如响应数据为: 01 03 02 00 64 B9 AF,其格式解析如下表所示:
设备地址 | 功能码 | 数据长度 | 校正值 | 校验码 |
01 | 03 | 02 | 00 64 | B9 AF |
响应应数据中,di一个字节01表示当前设备的真实地址,00 6B为di一个状态量校正值寄存器。若设备有多个参数,其它参数操作方式与此相同,一般温度、湿度有此参数,光照一般没有此项。
(2)更改校正值
比如当前状态量偏小,我们希望将其真实值加1,当前值加100校正操作命令为:01 06 00 6B 00 64 F9 FD 。
设备地址 | 功能码 | 寄存器地址 | 目标地址 | 校验码 |
01 | 06 | 00 6B | 00 64 | F9 FD |
操作成功后,设备会返回信息:01 06 00 6B 00 64 F9 FD ,成功更改后,参数立即生效。