发表于:2026/8/22 14:24:16
#0楼
这边有个锅炉房,内部有气体报警主机和RW积算仪各一台,输出是485信号,需要把这信号传输至中控室,便于中控室能实时查看可燃气体的浓度与积算仪中蒸汽压力数据,我采购了两个485转模拟量的输出模块,但不会设置,按模块厂家提供的方法设置后中控室还是接收不到信号。有没有大神可以教我怎么设置,我把气体报警主机协议、积算仪协议、模块说明书放在下面了。感谢
Modbus-RTU从通讯规约补充说明
一、通讯物理层:
1位起始位+ 8位数据位+ 1位停止位 无奇偶校验
二、通讯信息传输过程
1、地址码:控制器的上位机通讯地址,通常为RS232端口地址
2、功能码:04 读取探测器浓度值,03 读取探测器状态
3、通讯示例:
读取003号探测器浓度值(使用04功能码: 01 04 00 03 00 01 c1 ca)
发送 01 04 0003 0001 c1ca
命令 控制器地址 功能码 探测器地址 读取数量 CRC校验
高8位 低8位
控制器 01 04 02 00 00 CRC
回复数据 控制器地址 功能码 数据长度 浓度值 CRC校验
*发送和接收的数据均为16进制*
*如果连续读取多个探测器的浓度,数据长度为02的倍数,浓度值处依次回复多个探测器的浓度值*
读取003号探测器状态(使用03功能码:01 03 00 03 00 01 74 0a)
发送 01 03 00 03 00 01 74 0a
命令 控制器地址 功能码 探测器地址 读取数量 CRC校验
高8位 低8位
控制器 01 03 02 00 0a CRC
回复数据 控制器地址 功能码 数据长度 状态值 CRC校验
*发送和接收的数据均为16进制*
*如果连续读取多个探测器的状态,数据长度为02的倍数,状态值处依次回复多个探测器的状态值*
4、探测器状态定义
回复状态值 状态定义
1 通讯故障
2 传感器故障
7 此地址无对应的探测器
10 正常
14 低限报警
15 高限报警
99 屏蔽(V2.0不返回屏蔽状态值)
5、寄存器地址表(此表寄存器地址为10进制数):
回路号 探测器地址 探测器浓度寄存器地址 探测器状态寄存器地址
0 001 30002 40002
0 002 30003 40003
0 003 30004 40004
…… …… ……
1 001 30258 40258
1 002 30259 40259
1 003 30260 40260
…… …… ……
2 001 30514 40514
2 002 30515 40515
2 003 30516 40516
…… …… ……
3 001 30770 40770
3 002 30771 40771
3 003 30772 40772
…… …… ……
4 001 31026 41026
4 002 31027 41027
4 003 31028 41028
…… …… ……
5 001 31282 41282
5 002 31283 41283
5 003 31284 41284
…… …… ……
注意:
如果地址有偏移,比如实际验证30002对应0回路002号探测器,请通过地址偏移修正
如果探测器检测浓度为整数,按短整型进行数据解析
如果探测器检测浓度包含小数,则回复的浓度值(浓度高8位+浓度低8位)应答数据为浮点型:
bit15:表示指数位的符号位,1表示负,0表示正
Bit14-bit13:表示指数位(即小数点的位数)
Bit12-bit0:表示有效位(数值)
计算方式为:有效位*10^指数
例如:浓度返回值 0xA019
转换后探测器的浓度值为 25*10^(-1)= 2.5
*组态王软件、力控组态软件、浙大中控DCS等具备线性转换功能的系统,可通过线性转换的方式,对采集
到的浓度数据进行转换和解析*
线性转换需要根据系统设置的数据类型和识别到的回复数据,自行确定采集值和真实浓度对应的线性关系!
三、其它说明:
1. JB-TB-AT2020FH/ JB-TB-AT2020DX/ JB-TB-AT2020F 回路号请进入控制器输入设备列
表查看
2. JB-TB-AT2020D/ JB-TB-AT2020DH 回路号固定为0回路
3.JB-TB-AT2020S(开机显示程序版本V1.12)波特率固定为4800,不可修改,回路号固定
为0回路
JB-TB-AT2020S(开机显示程序版本V1.15)波特率固定为9600,不可修改;回路号固定
为0回路(每次关机重启后,需要在控制器上重新设置数据参数)
JB-TB-AT2020S(2021新款,蓝色中文液晶)回路号固定为1回路
4.JB-TB-AT2020LH,回路号固定为1回路
5.控制器应开通modbus协议,并在端口设置中设置RS232端口参数为modbus,波特率推荐
9600(或4800);具备多个上位机通讯端口的控制器,应将所有端口号设置为相同地址。
RW-A系列
标准通信协议
1、通信接口RS485或RS232,波特率范围1200-9600。
2、仪表接线端为A, B和COM。
3、通信协议符合MODBUS规约。积算仪说明书20页中寄存器编号为寄存器地址。
4、通信信息组成:地址码-功能码-数据段-CRC校验码,一条消息连续发送和接收,字符间隔不能大于一个字符,否则认为一条新消息开始或老消息结束。信息体由十六进制数组成。.
5、数据定义:累积量为4字节十六进制定点数,瞬时量(包括温度压力等)为4字节浮点数。.
6、通信命令:
功能码03-用来读取显示数据
发送 01 ;地址 回应 01 ;地址
03 ;功能码 03 ;功能码
00 ;寄存器地址高 04 ;字节个数
01 ;寄存器地址低(显示地址) XX ;数据1
00 ;寄存器个数高 XX ;数据2
02 ;寄存器个数低 XX ;数据3
CRCL ;CRC校验码低 XX ;数据4
CRCH ;CRC校验码高 CRCL ;CRC校验码低
CRCH ;CRC校验码高
说明:地址=仪表号,寄存器地址=显示项目编号
回应字节个数=(发送)寄存器个数低X2
功能码04-用来读取数设定数据和码设定数据,
寄存器个数=1-3读码设定;=4-63读数设定。
读取数设定数据
发送 01 ;地址 回应 01 ;地址
04 ;功能码 04 ;功能码
00 ;寄存器地址高 04 ;字节个数
01 ;寄存器地址低(数设定地址)XX ;数据1
00 ;寄存器个数高 XX ;数据2
02 ;寄存器个数低 XX ;数据3
CRCL ;CRC校验码低 XX ;数据4
CRCH ;CRC校验码高 CRCH ;CRC校验码低
CRCL ;CRC校验码高
说明:地址=仪表号,寄存器地址=数设定地址编号
回应字节个数=(发送)寄存器个数低(1-63)
读取码设定数据
发送 01 ;地址 回应 01 ;地址
04 ;功能码 04 ;功能码
00 ;寄存器地址高 02 ;字节个数
01 ;寄存器地址低(码设定地址) 03 ;数据1码内容
00 ;寄存器个数高 04 ;数据2 码内容
01 ;寄存器个数低 CRCL ;CRC校验码低
CRCL ;CRC校验码低 CRCH ;CRC校验码高
CRCH ;CRC校验码高
说明:地址=仪表号,寄存器地址=码设定地址编号
回应字节个数=(发送)寄存器个数低(1-3)X2
功能码06-用来进行码设定
发送 01 ;地址 回应 01 ;地址
06 ;功能码 06 ;功能码
00 ;寄存器地址高 00 ;寄存器地址高
01 ;寄存器地址低(码设定地址)01 ;寄存器地址低
00 ;数据高 00 ;数据高
04 ;数据低 04 ;数据低
CRCL ;CRC校验码低 CRCL ;CRC校验码低
CRCH ;CRC校验码高 CRCH ;CRC校验码高
功能码10H-用来数设定(如:100=42H,c8H,00H,00H)
发送 01 ;地址 回应 01 ;地址
10H ;功能码 10H ;功能码
00 ;寄存器地址高 00 ;寄存器地址高
01 ;寄存器地址低(数设定地址) 01 ;寄存器地址低
00 ;寄存器个数高 00 ;寄存器个数高
04 ;寄存器个数低 04 ;寄存器个数低
04 ;数据个数 CRCL ;CRC校验码低
42h ;数据1 CRCH ;CRC校验码高
C8 ;数据2
00 ;数据3
00H ;数据4
CRCL ;CRC校验码低
CRCH ;CRC校验码高
7、CRC校验码计算
01 ;地址 N1 CRC=0FFFFH为初值
10 ;功能码 N2 CRCL与N1异或运算
00 ;寄存器地址高N3 CRC右移1位,若移出位为1
01 ;寄存器地址低N4 则CRC=CRC和A001H异或,
00 ;寄存器个数高N5 若移出位为0则CRC=CRC
04 ;寄存器个数低N6 右移8次完成N1计算
04 ;数据个数 N7 …
80 ;数据1 N8 CRCL与N11异或运算
04 ;数据2 N9 CRC右移1位,若移出位为1
80 ;数据3 N10 则CRC=CRC和A001H异或,
80 ;数据4 N11 若移出位为0则CRC=CRC
CRCL ;CRC校验码低 右移8次完成N11计算
CRCH ;CRC校验码高 最后得到CRC校验值
8、RW-A积算仪浮点数据格式
长度为4字节, 采用IEEE标准方式,其中尾数高位始终为1,位的分布如下:1位符号位,8位指数位,24位尾数,符号位是最高位,尾数为低位23位,按字节排序如下:
地址 0 1 2 3
内容 MMMMMMMM MMMMMMMM EMMMMMMM SEEEEEEEE
其中 S:符号位,0=正数,1=负数.
E:指数(在二个字节中),偏移码为127.
M:23位尾数,最高位为1,有效位为24位.
例如:100=0x00,0x00,0xc8,0x42
0=0x00,0x00,0x00,0x00
-100=0x00,0x00,0xc8,0xc2
9、通信举例
仪表地址设为01,通信波特率=4800,n,8,1(仪表码地址08=01,09=05)。
例1:读取仪表瞬时流量F,F=100. (4字节浮点数)
上位机发送:0x01,0x03,0x00,0x00,0x00,0x02,0xc4,0x0B
仪表回传:0x01,0x03,0x04,0x00,0x00,0xc8,0x42,0x2d,0xc2
例2:读取仪表累积流量S,S=12345.(4字节定点数)
上位机发送:0x01,0x03,0x00,0x14,0x00,0x02,0x84,0x0f
仪表回传:0x01,0x03,0x04,0x39,0x30,0x00,0x00,0xf6,0xa0
例3: 读取仪表所有显示数据,包括瞬时,频率,差压, 压力,温度,密度,热量,累积流量,累积热量等12项48个字节
上位机发送:0x01,0x03,0x00,0x00,0x00,0x18,0x45,0xc0
仪表回传: 0x01,0x03,0x30,
0x69,0x00,0xc8,0x42, (瞬时=100.0008)
0x86,0x00,0x00,0x00,(频率=0)
0x00,0x00,0xc8,0x44,(差压=1600)
0x9e,0x99,0x99,0x3f,(压力=1.20)
0x7d,0x1f,0x39,0x43,(温度=185.123)
0x00,0x00,0x80,0x3f,(密度=1.0)
0x00,0x00,0x00,0x00,(热量=0.0)
0x00,0x00,0x00,0x00,(保留)
0x00,0x00,0x00,0x00,(保留)
0x00,0x00,0x00,0x00,(保留)
0x60,0x30,0x00,0x00,(累积=12384)
0x0a,0x00,0x00,0x00,(累积热=10)
0xf5(校验码低),0xb9(校验码高)
例4: 读取仪表实时时间05-12-08-21-21-08,时间格式为6字节BCD码
上位机发送:0x01,0x04,0x00,0x29,0x00,0x03, 0x61, 0xc3
仪表回传:0x01,0x04,0x06,
0x08(秒),
0x21(分),
0x21(时),
0x08(日),
0x12(月),
0x05(年),
0x81(校验码低),0x9a(校验码高)
10、波特率说明
4800n81表示波特率为4800,1位开始位,8位数据位,1位停止位,无校验
4800e81表示波特率为4800,1位开始位,8位数据位,1位停止位,耦校验
//显示寄存器定义
//流量积算仪RW-A
寄存器地址 变量名称 数据类型
00-01 瞬时流量 float
02-03 频率 float
04-05 差压 float
06-07 压力 float
08-09 温度 float
10-11 密度 float
12-13 热瞬时量 float
14-15 热焓 float
16-17 累积量小数 float
18-19 热累积量小数 float
20-21 累积流量 unsigned long int
22-23 累积热量 unsigned long int
24-25 停电次数 unsigned long int
26-27 停电时间 unsigned long int
Modbus-RTU从通讯规约补充说明
一、通讯物理层:
1位起始位+ 8位数据位+ 1位停止位 无奇偶校验
二、通讯信息传输过程
1、地址码:控制器的上位机通讯地址,通常为RS232端口地址
2、功能码:04 读取探测器浓度值,03 读取探测器状态
3、通讯示例:
读取003号探测器浓度值(使用04功能码: 01 04 00 03 00 01 c1 ca)
发送 01 04 0003 0001 c1ca
命令 控制器地址 功能码 探测器地址 读取数量 CRC校验
高8位 低8位
控制器 01 04 02 00 00 CRC
回复数据 控制器地址 功能码 数据长度 浓度值 CRC校验
*发送和接收的数据均为16进制*
*如果连续读取多个探测器的浓度,数据长度为02的倍数,浓度值处依次回复多个探测器的浓度值*
读取003号探测器状态(使用03功能码:01 03 00 03 00 01 74 0a)
发送 01 03 00 03 00 01 74 0a
命令 控制器地址 功能码 探测器地址 读取数量 CRC校验
高8位 低8位
控制器 01 03 02 00 0a CRC
回复数据 控制器地址 功能码 数据长度 状态值 CRC校验
*发送和接收的数据均为16进制*
*如果连续读取多个探测器的状态,数据长度为02的倍数,状态值处依次回复多个探测器的状态值*
4、探测器状态定义
回复状态值 状态定义
1 通讯故障
2 传感器故障
7 此地址无对应的探测器
10 正常
14 低限报警
15 高限报警
99 屏蔽(V2.0不返回屏蔽状态值)
5、寄存器地址表(此表寄存器地址为10进制数):
回路号 探测器地址 探测器浓度寄存器地址 探测器状态寄存器地址
0 001 30002 40002
0 002 30003 40003
0 003 30004 40004
…… …… ……
1 001 30258 40258
1 002 30259 40259
1 003 30260 40260
…… …… ……
2 001 30514 40514
2 002 30515 40515
2 003 30516 40516
…… …… ……
3 001 30770 40770
3 002 30771 40771
3 003 30772 40772
…… …… ……
4 001 31026 41026
4 002 31027 41027
4 003 31028 41028
…… …… ……
5 001 31282 41282
5 002 31283 41283
5 003 31284 41284
…… …… ……
注意:
如果地址有偏移,比如实际验证30002对应0回路002号探测器,请通过地址偏移修正
如果探测器检测浓度为整数,按短整型进行数据解析
如果探测器检测浓度包含小数,则回复的浓度值(浓度高8位+浓度低8位)应答数据为浮点型:
bit15:表示指数位的符号位,1表示负,0表示正
Bit14-bit13:表示指数位(即小数点的位数)
Bit12-bit0:表示有效位(数值)
计算方式为:有效位*10^指数
例如:浓度返回值 0xA019
转换后探测器的浓度值为 25*10^(-1)= 2.5
*组态王软件、力控组态软件、浙大中控DCS等具备线性转换功能的系统,可通过线性转换的方式,对采集
到的浓度数据进行转换和解析*
线性转换需要根据系统设置的数据类型和识别到的回复数据,自行确定采集值和真实浓度对应的线性关系!
三、其它说明:
1. JB-TB-AT2020FH/ JB-TB-AT2020DX/ JB-TB-AT2020F 回路号请进入控制器输入设备列
表查看
2. JB-TB-AT2020D/ JB-TB-AT2020DH 回路号固定为0回路
3.JB-TB-AT2020S(开机显示程序版本V1.12)波特率固定为4800,不可修改,回路号固定
为0回路
JB-TB-AT2020S(开机显示程序版本V1.15)波特率固定为9600,不可修改;回路号固定
为0回路(每次关机重启后,需要在控制器上重新设置数据参数)
JB-TB-AT2020S(2021新款,蓝色中文液晶)回路号固定为1回路
4.JB-TB-AT2020LH,回路号固定为1回路
5.控制器应开通modbus协议,并在端口设置中设置RS232端口参数为modbus,波特率推荐
9600(或4800);具备多个上位机通讯端口的控制器,应将所有端口号设置为相同地址。
RW-A系列
标准通信协议
1、通信接口RS485或RS232,波特率范围1200-9600。
2、仪表接线端为A, B和COM。
3、通信协议符合MODBUS规约。积算仪说明书20页中寄存器编号为寄存器地址。
4、通信信息组成:地址码-功能码-数据段-CRC校验码,一条消息连续发送和接收,字符间隔不能大于一个字符,否则认为一条新消息开始或老消息结束。信息体由十六进制数组成。.
5、数据定义:累积量为4字节十六进制定点数,瞬时量(包括温度压力等)为4字节浮点数。.
6、通信命令:
功能码03-用来读取显示数据
发送 01 ;地址 回应 01 ;地址
03 ;功能码 03 ;功能码
00 ;寄存器地址高 04 ;字节个数
01 ;寄存器地址低(显示地址) XX ;数据1
00 ;寄存器个数高 XX ;数据2
02 ;寄存器个数低 XX ;数据3
CRCL ;CRC校验码低 XX ;数据4
CRCH ;CRC校验码高 CRCL ;CRC校验码低
CRCH ;CRC校验码高
说明:地址=仪表号,寄存器地址=显示项目编号
回应字节个数=(发送)寄存器个数低X2
功能码04-用来读取数设定数据和码设定数据,
寄存器个数=1-3读码设定;=4-63读数设定。
读取数设定数据
发送 01 ;地址 回应 01 ;地址
04 ;功能码 04 ;功能码
00 ;寄存器地址高 04 ;字节个数
01 ;寄存器地址低(数设定地址)XX ;数据1
00 ;寄存器个数高 XX ;数据2
02 ;寄存器个数低 XX ;数据3
CRCL ;CRC校验码低 XX ;数据4
CRCH ;CRC校验码高 CRCH ;CRC校验码低
CRCL ;CRC校验码高
说明:地址=仪表号,寄存器地址=数设定地址编号
回应字节个数=(发送)寄存器个数低(1-63)
读取码设定数据
发送 01 ;地址 回应 01 ;地址
04 ;功能码 04 ;功能码
00 ;寄存器地址高 02 ;字节个数
01 ;寄存器地址低(码设定地址) 03 ;数据1码内容
00 ;寄存器个数高 04 ;数据2 码内容
01 ;寄存器个数低 CRCL ;CRC校验码低
CRCL ;CRC校验码低 CRCH ;CRC校验码高
CRCH ;CRC校验码高
说明:地址=仪表号,寄存器地址=码设定地址编号
回应字节个数=(发送)寄存器个数低(1-3)X2
功能码06-用来进行码设定
发送 01 ;地址 回应 01 ;地址
06 ;功能码 06 ;功能码
00 ;寄存器地址高 00 ;寄存器地址高
01 ;寄存器地址低(码设定地址)01 ;寄存器地址低
00 ;数据高 00 ;数据高
04 ;数据低 04 ;数据低
CRCL ;CRC校验码低 CRCL ;CRC校验码低
CRCH ;CRC校验码高 CRCH ;CRC校验码高
功能码10H-用来数设定(如:100=42H,c8H,00H,00H)
发送 01 ;地址 回应 01 ;地址
10H ;功能码 10H ;功能码
00 ;寄存器地址高 00 ;寄存器地址高
01 ;寄存器地址低(数设定地址) 01 ;寄存器地址低
00 ;寄存器个数高 00 ;寄存器个数高
04 ;寄存器个数低 04 ;寄存器个数低
04 ;数据个数 CRCL ;CRC校验码低
42h ;数据1 CRCH ;CRC校验码高
C8 ;数据2
00 ;数据3
00H ;数据4
CRCL ;CRC校验码低
CRCH ;CRC校验码高
7、CRC校验码计算
01 ;地址 N1 CRC=0FFFFH为初值
10 ;功能码 N2 CRCL与N1异或运算
00 ;寄存器地址高N3 CRC右移1位,若移出位为1
01 ;寄存器地址低N4 则CRC=CRC和A001H异或,
00 ;寄存器个数高N5 若移出位为0则CRC=CRC
04 ;寄存器个数低N6 右移8次完成N1计算
04 ;数据个数 N7 …
80 ;数据1 N8 CRCL与N11异或运算
04 ;数据2 N9 CRC右移1位,若移出位为1
80 ;数据3 N10 则CRC=CRC和A001H异或,
80 ;数据4 N11 若移出位为0则CRC=CRC
CRCL ;CRC校验码低 右移8次完成N11计算
CRCH ;CRC校验码高 最后得到CRC校验值
8、RW-A积算仪浮点数据格式
长度为4字节, 采用IEEE标准方式,其中尾数高位始终为1,位的分布如下:1位符号位,8位指数位,24位尾数,符号位是最高位,尾数为低位23位,按字节排序如下:
地址 0 1 2 3
内容 MMMMMMMM MMMMMMMM EMMMMMMM SEEEEEEEE
其中 S:符号位,0=正数,1=负数.
E:指数(在二个字节中),偏移码为127.
M:23位尾数,最高位为1,有效位为24位.
例如:100=0x00,0x00,0xc8,0x42
0=0x00,0x00,0x00,0x00
-100=0x00,0x00,0xc8,0xc2
9、通信举例
仪表地址设为01,通信波特率=4800,n,8,1(仪表码地址08=01,09=05)。
例1:读取仪表瞬时流量F,F=100. (4字节浮点数)
上位机发送:0x01,0x03,0x00,0x00,0x00,0x02,0xc4,0x0B
仪表回传:0x01,0x03,0x04,0x00,0x00,0xc8,0x42,0x2d,0xc2
例2:读取仪表累积流量S,S=12345.(4字节定点数)
上位机发送:0x01,0x03,0x00,0x14,0x00,0x02,0x84,0x0f
仪表回传:0x01,0x03,0x04,0x39,0x30,0x00,0x00,0xf6,0xa0
例3: 读取仪表所有显示数据,包括瞬时,频率,差压, 压力,温度,密度,热量,累积流量,累积热量等12项48个字节
上位机发送:0x01,0x03,0x00,0x00,0x00,0x18,0x45,0xc0
仪表回传: 0x01,0x03,0x30,
0x69,0x00,0xc8,0x42, (瞬时=100.0008)
0x86,0x00,0x00,0x00,(频率=0)
0x00,0x00,0xc8,0x44,(差压=1600)
0x9e,0x99,0x99,0x3f,(压力=1.20)
0x7d,0x1f,0x39,0x43,(温度=185.123)
0x00,0x00,0x80,0x3f,(密度=1.0)
0x00,0x00,0x00,0x00,(热量=0.0)
0x00,0x00,0x00,0x00,(保留)
0x00,0x00,0x00,0x00,(保留)
0x00,0x00,0x00,0x00,(保留)
0x60,0x30,0x00,0x00,(累积=12384)
0x0a,0x00,0x00,0x00,(累积热=10)
0xf5(校验码低),0xb9(校验码高)
例4: 读取仪表实时时间05-12-08-21-21-08,时间格式为6字节BCD码
上位机发送:0x01,0x04,0x00,0x29,0x00,0x03, 0x61, 0xc3
仪表回传:0x01,0x04,0x06,
0x08(秒),
0x21(分),
0x21(时),
0x08(日),
0x12(月),
0x05(年),
0x81(校验码低),0x9a(校验码高)
10、波特率说明
4800n81表示波特率为4800,1位开始位,8位数据位,1位停止位,无校验
4800e81表示波特率为4800,1位开始位,8位数据位,1位停止位,耦校验
//显示寄存器定义
//流量积算仪RW-A
寄存器地址 变量名称 数据类型
00-01 瞬时流量 float
02-03 频率 float
04-05 差压 float
06-07 压力 float
08-09 温度 float
10-11 密度 float
12-13 热瞬时量 float
14-15 热焓 float
16-17 累积量小数 float
18-19 热累积量小数 float
20-21 累积流量 unsigned long int
22-23 累积热量 unsigned long int
24-25 停电次数 unsigned long int
26-27 停电时间 unsigned long int
20分悬赏















