JF-NH4-485在线水质氨氮传感器使用说明书
技术参数
※量 程:0~1000ppm(量程可更改)
※精 度:0.01ppm
※输出信号:RS485信号输出
※传输协议:Modbus RTU
※波特率:9600(默认),可自定义,但不建议
※温度范围:0-80℃
※温度补偿:自动补偿
※校准:命令方式(软件校准)
※工作电压:12V
※电缆长度:标配6米
※保质期:6个月
产品图片
安装及接线
※安装方式:
1、将浸泡瓶拧开,可以看到传感器壳体上有两个3/4 英寸的管螺纹,如下图,管道式安装用到3/4 英寸(1),沉入式安装用到3/4 英寸(2)。
2、水质检测传感器的安装主要有两种形式:
安装时,首先将电极浸泡瓶拧开,确保电极玻璃球泡内无气泡,然后根据需要按以下两种方式安装在测试源上。
第一种是管道式安装,如下图中的五种方式,它都是管道的安装方法,可根据实际情况选择;
第二种是沉入式安装,如下图,在传感器的上接根塑料管子(一般是自来水用的管),攻一下内螺纹,与传感器顶部的3/4 英寸配合(为了防水,建议在螺纹上面绕些生料带),导线可顺着管子引出即可。
※接线方式:
在线水质氨氮传感器的信号电缆必须采用屏蔽电缆。共提供4根信号线:
红------+12V
黑------GND
绿------RS485A
白------RS485B
在线水质氨氮传感器要求提供12V的直流电源,为提高系统抗干扰性能,最好能将控制电源与其它动力电源分开。
使用前后及使用中的准备及注意点
※清洗:
良好的离子选择性电极在一、二分钟内即可稳定下来。但如电极的膜被溶液内的油或微粒弄脏后其响应会变慢。PVC的离子选择性电极用水漂洗即可。用去离子水彻底漂洗之后,应将电极放入用于校正的最低标准液内浸泡2到4个小时重新标定。如电极的斜率或响应时间不符合要求,电极可在标定之前浸泡时间要长一些,如一夜。
※存储:
PVC离子感应电极在测量间隙可存储在低浓度标准液内。如PVC离子选择性电极几天不用,则应该干燥保存。
※如果在使用前,有段时间不用(长期干放),请先用蒸馏水或者去离子水浸泡电极 30~60 分钟。
通信协议
※Modbus协议
Modbus是由Modicon(现为施耐德电气公司的一品牌)在1979年发明的,是********个真正用于工业现场的总线协议。为更好地普及及推动Modbus在基于以太网上的分布式应用,目前施耐德公司已将Moudbus协议的所有权移交给IDA(Interface for Distributed Automation,分布式自动化接口)组织,并成立了Modbus-IDA组织,为Modbus今后的发展奠定了基础。在中国,Modbus已经成为国家标准(GB/T19582-2008)
※传感器通讯波特率 第一次使用传感器时,默认波特率为9600 Baud,你可以通过Modbus RTU命令改写波特率,命令写入后将在下一次上电后生效。
波特率寄存器
寄存器名称 |
类型 |
大小 |
起始地址 |
读功能码 |
写功能码 |
数据(波特率) |
默认值 |
存储模式 |
波特率 |
4× |
16Bit |
0x0001 |
0x03 |
0x06 |
见下表 |
0x0000 |
大端模式 |
寄存器数据 |
对应波特率 |
是否有效 |
0x0000 |
115200 Baud |
无效 |
0x0001 |
57600 Baud |
无效 |
0x0002 |
38400 Baud |
无效 |
0x0003 |
28800 Baud |
无效 |
0x0004 |
19200 Baud |
无效 |
0x0005 |
14400 Baud |
无效 |
0x0006 |
9600 Baud |
有效 |
0x0007 |
4800 Baud |
有效 |
0x0008 |
2400 Baud |
有效 |
0x0009 |
1200 Baud |
有效 |
修改波特率寄存器示例
将波特率改为9600 Baud(0x0006),默认地址为0x01
主机发送请求:
地址
(8bit) |
功能码
(8bit) |
起始地址高位
(8bit) |
起始地址低位
(8bit) |
数据高位
(8bit) |
数据低位
(8bit) |
CRC高位
(8bit) |
CRC低位
(8bit) |
0x01 |
0x06 |
0x00 |
0x01 |
0x00 |
0x06 |
0x58 |
0x08 |
传感器正常应答:
地址
(8bit) |
功能码
(8bit) |
起始地址高位
(8bit) |
起始地址低位
(8bit) |
数据高位
(8bit) |
数据低位
(8bit) |
CRC高位
(8bit) |
CRC低位
(8bit) |
0x01 |
0x06 |
0x00 |
0x01 |
0x00 |
0x06 |
0x58 |
0x08 |
传感器子地址
在第一次使用传感器时,传感器使用的默认子地址为0x01,你可以通过Modbus RTU命令写子地址寄存器进行设置,命令写入后将在下一次上电时生效。
子地址寄存器
寄存器名称 |
类型 |
大小 |
起始地址 |
读功能码 |
写功能码 |
数据范围 |
默认值 |
存储模式 |
子地址 |
4× |
16Bit |
0x0002 |
0x03 |
0x06 |
0x00~0xFE |
0x0001 |
大端模式 |
注意:设置的地址范围不能超过0x00~0xFE。
修改地址寄存器示例
将地址修改为0x08,默认传感器地址为0x01
主机发送请求:
地址
(8bit) |
功能码
(8bit) |
起始地址高位
(8bit) |
起始地址低位
(8bit) |
数据高位
(8bit) |
数据低位
(8bit) |
CRC高位
(8bit) |
CRC低位
(8bit) |
0x01 |
0x06 |
0x00 |
0x02 |
0x00 |
0x08 |
0x29 |
0xCC |
传感器正常应答:
地址
(8bit) |
功能码
(8bit) |
起始地址高位
(8bit) |
起始地址低位
(8bit) |
数据高位
(8bit) |
数据低位
(8bit) |
CRC高位
(8bit) |
CRC低位
(8bit) |
0x01 |
0x06 |
0x00 |
0x02 |
0x00 |
0x08 |
0x29 |
0xCC |
传感器进行正常应答后,将传感器重新上电,使用子地址0x08连接传感器即可。
读取NH4+值
NH4寄存器
寄存器名称 |
类型 |
大小 |
起始地址 |
读功能码 |
写功能码 |
数据范围 |
存储模式 |
NH4值 |
4× |
16bit |
0x0001 |
0x0004 |
|
十进制:0~10000 |
大端模式 |
读取NH4+值寄存器示例
默认地址为0x01,放入待测溶液中进行测量
主机发送请求:
地址
(8bit) |
功能码
(8bit) |
起始寄存器地址高位
(8bit) |
起始寄存器地址低位
(8bit) |
寄存器数量高位
(8bit) |
寄存器数量低位
(8bit) |
CRC高位 |
CRC地位 |
0x01 |
0x04 |
0x00 |
0x01 |
0x00 |
0x01 |
0x60 |
0x0A |
传感器正常应答:
地址
(8bit) |
功能码
(8bit) |
字节数
(8bit) |
数据位[0]
(8bit) |
数据位[1]
(8bit) |
数据位[2]
(8bit) |
数据位[3]
(8bit) |
CRC高位 |
CRC地位 |
0x01 |
0x04 |
0x04 |
0xC6 |
0x40 |
0x61 |
0x41 |
0x2F |
0x78 |
数据位[0]至数据位[3]共 4 个字节构成 32 位小端模式下 Float 类型的数据为 14.078314
NH4+校准
传感器在使用一段时间后,可能使测量数据的准确度有偏差,所以得用相关的标准液进 行校准。
寄存器名称 |
类型 |
大小 |
起始地址 |
读功能码 |
写功能码 |
数据范围 |
存储模式 |
第一校准点 |
4× |
16bit |
0x005F |
0x04 |
0x06 |
10 |
大端模式 |
第二校准点 |
4× |
16bit |
0x0060 |
0x04 |
0x06 |
100 |
大端模式 |
校准完成/重置 |
4× |
16bit |
0x0061 |
|
0x06 |
|
大端模式 |
可以一点校准,发一点校准点命令(10ppm),收到应答后,再发校准完成命令;如果
两点校准,必须在第一点校准(10ppm)完成后,再发第二点校准命令(100ppm),最后发 校准完成命令完成校准。
NH4+校准示例
设置第一个校准点为 10ppm 写入寄存器值 10,十六进制为 000A
主机发送请求
地址
(8bit) |
功能码
(8bit) |
起始寄存器地址高位
(8bit) |
起始寄存器地址低位
(8bit) |
数据高位
(8bit) |
数据地位
(8bit) |
CRC高位
(8bit) |
CRC地位
(8bit) |
0x01 |
0x06 |
0x00 |
0x5F |
0x00 |
0x0A |
0x39 |
0xDF |
传感器正常应答
地址(8bit) |
功能码(8bit) |
字节数(8bit) |
数据高位(8bit) |
数据地位(8bit) |
CRC高位(8bit) |
CRC地位(8bit) |
0x01 |
0x04 |
0x02 |
0x00 |
0x0A |
0x39 |
0x37 |
设置第二个校准点为 100ppm 写入寄存器值 100,十六进制为 0064
主机发送请求
地址
(8bit) |
功能码
(8bit) |
起始寄存器地址高位
(8bit) |
起始寄存器地址低位
(8bit) |
数据高位
(8bit) |
数据地位
(8bit) |
CRC高位
(8bit) |
CRC地位
(8bit) |
0x01 |
0x06 |
0x00 |
0x60 |
0x00 |
0x64 |
0x88 |
0x3F |
传感器正常应答
地址
(8bit) |
功能码
(8bit) |
字节数
(8bit) |
数据高位
(8bit) |
数据地位
(8bit) |
CRC高位
(8bit) |
CRC地位
(8bit) |
0x01 |
0x04 |
0x02 |
0x00 |
0x64 |
0xB8 |
0xDB |
发送校准完成命令
主机发送请求
地址
(8bit) |
功能码
(8bit) |
起始寄存器地址高位
(8bit) |
起始寄存器地址低位
(8bit) |
数据高位
(8bit) |
数据地位
(8bit) |
CRC高位
(8bit) |
CRC地位
(8bit) |
0x01 |
0x06 |
0x00 |
0x61 |
0x00 |
0x64 |
0xD9 |
0xFF |
传感器正常应答
地址
(8bit) |
功能码
(8bit) |
字节数
(8bit) |
数据高位
(8bit) |
数据地位
(8bit) |
CRC高位
(8bit) |
CRC地位
(8bit) |
0x01 |
0x04 |
0x02 |
0x00 |
0x64 |
0xB8 |
0xDB |
读取温度值
真实的COND数值使用以下公式进行计算
TEMP真实值 = TEMP/100
温度寄存器
寄存器名称 |
类型 |
大小 |
起始地址 |
读功能码 |
写功能码 |
数据范围 |
存储模式 |
TEMP值 |
4× |
16bit |
0x0001 |
0x0004 |
|
十进制:0~100 |
大端模式 |
读取温度值寄存器示例
默认地址为0x01,放入待测溶液中进行测量
主机发送请求:
地址
(8bit) |
功能码
(8bit) |
起始寄存器地址高位
(8bit) |
起始寄存器地址低位
(8bit) |
寄存器数量高位
(8bit) |
寄存器数量低位
(8bit) |
CRC高位 |
CRC地位 |
0x01 |
0x04 |
0x00 |
0x04 |
0x00 |
0x01 |
0x70 |
0x0B |
传感器正常应答:
地址
(8bit) |
功能码
(8bit) |
字节数
(8bit) |
数据高位
(8bit) |
数据地位
(8bit) |
CRC高位 |
CRC地位 |
0x01 |
0x04 |
0x02 |
0x09 |
0xC4 |
0xBE |
0xF3 |
此时测量数据值为(0x09C4)16进制 = 2500 十进制,TEMP(真实值)=2500/100 = 25℃
温度校准
传感器在使用一段时间后,可能使测量数据的准确度有偏差,所以进行校准。
寄存器名称 |
类型 |
大小 |
起始地址 |
读功能码 |
写功能码 |
数据范围 |
存储模式 |
校准点 |
4× |
16bit |
0x004F |
0x04 |
0x06 |
2500 |
大端模式 |
校准完成/重置 |
4× |
16bit |
0x0051 |
|
0x06 |
|
大端模式 |
温度校准示例
设置校准点为TEMP 25℃ 写入寄存器值 25,十六进制为0019
主机发送请求
地址
(8bit) |
功能码
(8bit) |
起始寄存器地址高位
(8bit) |
起始寄存器地址低位
(8bit) |
数据高位
(8bit) |
数据地位
(8bit) |
CRC高位
(8bit) |
CRC地位
(8bit) |
0x01 |
0x06 |
0x00 |
0x4F |
0x00 |
0x19 |
0x79 |
0xD7 |
传感器正常应答
地址
(8bit) |
功能码
(8bit) |
字节数
(8bit) |
数据高位
(8bit) |
数据地位
(8bit) |
CRC高位
(8bit) |
CRC地位
(8bit) |
0x01 |
0x04 |
0x02 |
0x00 |
0x19 |
0x78 |
0xFA |
发送校准完成命令
主机发送请求
地址
(8bit) |
功能码
(8bit) |
起始寄存器地址高位
(8bit) |
起始寄存器地址低位
(8bit) |
数据高位
(8bit) |
数据地位
(8bit) |
CRC高位
(8bit) |
CRC地位
(8bit) |
0x01 |
0x06 |
0x00 |
0x51 |
0x00 |
0x19 |
0x19 |
0xD1 |
传感器正常应答
地址
(8bit) |
功能码
(8bit) |
字节数
(8bit) |
数据高位
(8bit) |
数据地位
(8bit) |
CRC高位
(8bit) |
CRC地位
(8bit) |
0x01 |
0x04 |
0x02 |
0x00 |
0x01 |
0x78 |
0xF0 |
|