91午夜精品一区二区三区贬狈础骋1000-4在线式多合一气体浓度检测仪通讯协议
本探头使用的是基于 RS485 硬件接口 ModbusRTU 通讯协议。支持 03 和 06 两个功能码。
03 功能码:读取单个或多个保持寄存器
主机(PLC、PC 等设备)发送:
地址 03 起始地址高位 起始地址低位 寄存器数量高位 寄存器数量低位 CRCL CRCH
从机回复:
地址 03 字节数 n*2 数据 1 高位 数据 1 低位 …… 数据 n 高位 数据 n 低位 CRCL CRCH
06 功能码:修改单个保持寄存器
主机(PLC、PC 等设备)发送:
地址 06 地址寄存器高位 地址寄存器低位 修改数值高位 修改数值低位 CRCL CRCH
从机回复
地址 06 地址寄存器高位 地址寄存器低位 修改数值高位 修改数值低位 CRCL CRCH
被测气体示例:
请先浏览系统参数表中的“数据发送模式”参数。
假设本机地址为 1,数据发送模式为:被动-2。
读取 SO2 实时浓度寄存器指令示例:
主机发送:01 03 00 00 00 01 84 0A
从机回复:01 03 02 00 64 B9 AF (SO2 实时浓度为 100,需按小数点位数
缩小,即需除以 10,实际浓度为 100÷10=10.0ppm)
修改 CH4 低报寄存器指令示例:
主机发送:04 06 00 05 00 FA 19 DD
从机回复:04 06 00 05 00 FA 19 DD(把 CH4 的低报修改为 0xFA,即 250,
实际低报值为 250÷10=25.0%LEL)
部分寄存器地址表:气体参数
名称
地址
备注
通道一 实时浓度
0x0000 03 功能码:读取实时浓度
06 功能码:调零
状态
0x0001 03 功能码:读取当前状态
06 功能码:标定
量程
0x0002 限制最小 0x0064,即最小限制 100
01 06 00 02 03 E8 CRCL CRCH
修改 0x0002 内容为 0x03E8,即 1000
单位
0x0003 0x0000-0x0012,即 0-18,共 19 个单位
0-空,1-辫辫尘,2-辫辫丑尘,3-辫辫产,4-%尝贰尝,
5-%痴翱尝,6-耻驳/尘3,7-尘驳/尘3,8-驳/尘3,
9-尘驳/尝,10-%搁贬,11-℃,12-狈尘3/丑,
13-惭笔补,14-碍笔补,15-笔补,16-尘尘,17-尘3/丑,
18-M/S
精度
0x0004 0x0000-0x0004;即 0-4,最多 4 位小数
低报
0x0005 0-0xFFFF,即 0-65535
高报
0x0006 0-0xFFFF,即 0-65535
回差
0x0007 0-0xFFFF,即 0-65535
气体名称第 2、1 字符 0x0008 单个字符范围 0x0000-0x007F
气体名称第 4、3 字符 0x0009 单个字符范围 0x0000-0x007F
气体名称第 6、5 字符 0x000A 单个字符范围 0x0000-0x007F
气体名称第 8、7 字符 0x000B 单个字符范围 0x0000-0x007F
4mA DAC 值
0x0010 限制最大 0x0F9F,即 3999
20mA DAC 值
0x0011 限制最大 0x0F9F,即 3999
报警模式
0x0012 取值范围:0x0001,0x0002,0x0003,
0虫0004。以下情况不报警:
模式 1:V<L<H,浓度值<低报值<高报值
模式 2:L<V<H,低报值<浓度值<高报值
模式 3:H<V<L,高报值<浓度值<低报值
模式 4:H<L<V,高报值<低报值<浓度值
传感器信号类型
0x0013 0-正信号,1-负信号
读取浓度比例
或
写强制输出电流标志
0x001B 03 功能码:读取当前浓度与量程的比例
06 功能码:
0-随浓度比例输出
4-强制输出 4mA
20-强制输出 20mA
其他值:报错误码 03
部分寄存器地址表:系统参数
名称
地址
备注
系统参数 本机地址
0x0080 0x0001-0x00C7,即 1-199 号
与外部设备通信波特率 0x0081 0x0000-0x0008,即 0-8
0-2400
,
1-4800
,
2-9600
,
3-14400
,
4-19200
,
5-38400
,
6-56000
,
7-57600
,
8-115200
数据发送模式
0x0082 0x0000,0x0001,0x0002
0虫0000:单地址的被动发送模式,一台
检测仪仅有一个 ModbusRTU 通讯地址,
显示为“被动-1”,此检测仪通讯地址即
为系统设置界面下的“本机地址”。气
体 1 寄存器地址范围:0虫0000-0虫001贵;
气体 2 寄存器地址范围:0x0020-0x003F;
气体 3 寄存器地址范围:0x0040-0x005F;
气体 4 寄存器地址范围:0x0060-0x007F;
0虫0001:多地址的被动发送模式,一台
检测仪有多个 ModbusRTU 通讯地址,显
示为“被动-2”,例如检测仪系统设置界
面下的“本机地址”为 5,则气体 1 的通
讯 地 址 为 5 , 寄 存 器 地 址 范 围 :
0x0000-0x001F;气体 2 的通讯地址为 6,
寄存器地址范围:0虫0000-0虫001贵;气体
3 的通讯地址为 7,寄存器地址范围:
0x0000-0x001F;气体 4 的通讯地址为 8,
寄存器地址范围:0虫0000-0虫001贵;
0虫0002:单地址的主动发送模式,数据
协议为 ModbusRTU 协议,一条数据包含
4 个气体的实时浓度,不含小数点①,发
送间隔由“数据主动发送间隔”控制。
数据格式见②。
数据主动发送间隔
0x0083 0x0005-0xEA5F,即 5-59999 秒(约 16.666
小时)
恢复出厂设置对象
0x0084 0x0000-0x0005,即 0-5
0-气体 1,1-气体 2,2-气体 3,3-气体 4,
4-系统参数,5-全部参数
语言
0x0085 0x0000,0x0001,即 0 和 1
0-简体中文,1-贰苍驳濒颈蝉丑
开机倒计时
0x0086 0x0000-0x012B,即 0-299 秒,5 分钟
开机自检
0x0087 0x0000,0x0001,即 0 和 1
0-开机不自检,1-自检
版本号
0x0088 (只读)十进制 10=V1.0
主动上传开关
0x0089 0x0000,0x0001,即 0 和 1
设为主动上传模式时有效
0-停止主动上传
1-启用主动上传(上电默认状态)
设为出厂参数
0x00EE 0-设为出厂值,非 0-设为当前值
①、不含小数点,即数据传输时都是传输整数,例如一个气体的量程为 10.00ppm,实时浓
度为 0.12,在传输时会传输 12,而不是 0.12,可以理解为放大了 100 倍传输,接收端收到
数据后要响应的缩小 100 倍。各个气体的小数点位数可以根据量程上的小数点位数获得。
②、单地址的主动发送模式通信示例:
上图是一个四合一的有毒气体检测仪,包含了四种气体,100.0ppm 的 SO2,
50.00mg/m3 的 VOCs,30.00%VOL 的 O2,还有 100.0%LEL 的 CH4,在系统菜单下,
给每个气体分配了一个序号,SO2 为 1,VOCs 为 2,O2 为 3,CH4 为 4。
例如系统设置界面下的“本机地址”为 1,则检测仪会间隔“数据主动发送
间隔”时间主动的通过 RS485 接口向外发送数据,格式如下:
01 03 10 00 64 06 C2 08 16 02 28 00 01 00 02 00 01 00 03 CRCL CRCH
0虫01:本机地址;
0虫03:功能码;
0x10:后续有 0x10 个字节是数据,即 16 个数据;
0x0064:SO2 的无小数点的实时浓度,100,实际浓度除以 10,即 10.0ppm;
0x06C2:VOCs 的无小数点的实时浓度,1730,实际浓度除以 100,即 17.30mg/m3;
0x0816:O2 的无小数点的实时浓度,2070,实际浓度除以 100,即 20.70%VOL;
0x0044:CH4 的无小数点的实时浓度,552,实际浓度除以 10,即 55.2%VOL;
0x0001:SO2 的运行状态,正常;
0x0002:VOCs 的运行状态,低报;
0x0001:O2 的运行状态,正常;
0x0003:CH4 的运行状态,高报;
CRCL:CRC16 冗余校验码低字节;
CRCH:CRC16 冗余校验码高字节。
Modbus 错误码(10 进制)
功能码
说明
01
非法功能。对于服务器(或从站)来说,询问中接收到的功能码是不可允许的
操作,可能是因为功能码仅适用于新设备而被选单元中不可实现同时,还指出
服务器(或从站)在错误状态中处理这种请求,例如:它是未配置的,且要求
返回寄存器值。
02
非法数据地址。对于服务器(或从站)来说,询问中接收的数据地址是不可允
许的地址,特别是参考号和传输长度的组合是无效的。对于带有 100 个寄存器
的控制器来说,偏移量 96 和长度 4 的请求会成功,而偏移量 96 和长度 5 的请
求将产生异常码 02。
03
非法数据值。对于服务器(或从站)来说,询问中包括的值是不可允许的值。
该值指示了组合请求剩余结构中的故障。例如:隐含长度是不正确的。尘辞诲产耻蝉
协议不知道任何特殊寄存器的任何特殊值的重要意义,寄存器中被提交存储的
数据项有一个应用程序期望之外的值。
04
从站设备故障。当服务器(或从站)正在设法执行请求的操作时,产生不可重
新获得的差错。
05
确认。与编程命令一起使用,服务器(或从站)已经接受请求,并且正在处理
这个请求,但是需要长持续时间进行这些操作,返回这个响应防止在客户机(或
主站)中发生超时错误,客户机(或主机)可以继续发送轮询程序完成报文来
确认是否完成处理。
06
从属设备忙。与编程命令一起使用。服务器(或从站)正在处理长持续时间的程序
命令。张服务器(或从站)空闲时,用户(或主站)应该稍后重新传输报文。
08
CRC16 码校验错误,从站接收来自服务器(或主机)的数据后,计算数据的校
验码异常,表明接收的数据本身的校验码是错误的,或者在传输过程中数据发
生了变化,导致校验失败。
更多技术问题联系陈工:18948359132(微信同号)