电磁流量计通信协议(标准MODBUS格式)
- 格式:pdf
- 大小:308.63 KB
- 文档页数:15
系列标准MODBUS通信协议南京梅特朗测控仪表有限公司1、通信接口RS485或RS232,波特率范围1200-9600。
2、仪表接线端为A, B和COM。
3、通信信息组成:地址码-功能码-数据段-CRC校验码,一条消息连续发送和接收,字符间隔不能大于一个字符,否则认为一条新消息开始或老消息结束。
信息体由十六进制数组成。
.4、数据定义:累积量为4字节十六进制定点数(unsigned longint),瞬时量(包括温度压力等)为4字节浮点数(float)。
. 5、通信命令:功能码03-用来读取显示数据发送01 ;地址回应01 ;地址03 ;功能码03 ;功能码00 ;寄存器地址高04 ;字节个数01 ;寄存器地址低(显示地址) 80 ;数据100 ;寄存器个数高04 ;数据202 ;寄存器个数低80 ;数据3CRCL ;CRC校验码低80 ;数据4CRCH ;CRC校验码高CRCL ;CRC校验码低CRCH ;CRC校验码高说明:地址=仪表号,寄存器地址高=0- 1 -寄存器地址低=显示项目编号寄存器个数高=0寄存器个数低=读取显示变量寄存器个数,显示数据每个变量占用2个寄存器,4个字节。
回应字节个数=寄存器个数低X2.功能码04-用来读取设定数据发送01 ;地址回应01 ;地址04 ;功能码04 ;功能码00 ;寄存器地址高04 ;字节个数01 ;寄存器地址低80 ;数据100 ;寄存器个数高04 ;数据202 ;寄存器个数低80 ;数据3CRCL ;CRC校验码低80 ;数据4CRCH ;CRC校验码高CRCL ;CRC校验码低CRCH ;CRC校验码高说明:地址=仪表号;寄存器地址高=0X10表示读数设定;寄存器地址高=0X20表示读码设定;寄存器个数高=0寄存器个数低=读取设定寄存器个数。
- 2 -回应字节个数=寄存器个数低X2.功能码06-用来进行码设定发送01 ;地址回应01 ;地址06 ;功能码06 ;功能码00 ;寄存器地址高00 ;寄存器地址高01 ;寄存器地址低01 ;寄存器地址低00 ;数据高00 ;数据高04 ;数据低04 ;数据低CRCL ;CRC校验码低CRCL ;CRC校验码低CRCH ;CRC校验码高CRCH ;CRC校验码高功能码07-用来读取日报表,报表数据为长整型,顺序为质量热量发送01 ;地址回应01 ;地址07 ;功能码07 ;功能码xxy; 起始年(BCD码) xxf ;长度= xxc*5xxm ; 起始月(BCD码) xx1 ; 数据1xxd ; 起始日(BCD码) …. ; 数据xxc ;报表长度(1-16) xxn ;数据nCRCL ;CRC校验码低CRCL ;CRC校验码低CRCH ;CRC校验码高CRCH ;CRC校验码高功能码08-用来读取月报表,报表数据为长整型,顺序为质量热量- 3 -发送01 ;地址回应01 ;地址08 ;功能码08 ;功能码xxy; 起始年(BCD码) xxf ;长度= xxc*5xxm ; 起始月(BCD码) xx1 ; 数据1xxd ; 空…. ; 数据xxc ;报表长度(1-16) xxn ;数据nCRCL ;CRC校验码低CRCL ;CRC校验码低CRCH ;CRC校验码高CRCH ;CRC校验码高功能码10H-用来数设定(如:100=86H,00H,00H,48H)发送01 ;地址回应01 ;地址10H ;功能码10H ;功能码00 ;寄存器地址高00 ;寄存器地址高01 ;寄存器地址低(数设定地址) 01 ;寄存器地址低00 ;寄存器个数高00 ;寄存器个数高02 ;寄存器个数低04 ;寄存器个数低04 ;数据个数n CRCL ;CRC校验码低86h ;数据1 CRCH ;CRC校验码高00 ;数据200 ;数据348H ;数据4…………….XX ;数据nCRCL ;CRC校验码低- 4 -CRCH ;CRC校验码高7、CRC校验码计算01 ;地址N1 CRC=0FFFFH为初值10 ;功能码N2 CRCL与N1异或运算00 ;寄存器地址高N3 CRC右移1位,若移出位为101 ;寄存器地址低N4 则CRC=CRC和A001H异或,00 ;寄存器个数高N5 若移出位为0则CRC=CRC04 ;寄存器个数低N6 右移8次完成N1计算04 ;数据个数N7 …80 ;数据1 N8 CRCL与N11异或运算04 ;数据2 N9 CRC右移1位,若移出位为180 ;数据3 N10 则CRC=CRC和A001H异或,80 ;数据4 N11 若移出位为0则CRC=CRCCRCH ;CRC校验码高右移8次完成N11计算CRCL ;CRC校验码低最后得到CRC校验值8、IEE标准浮点数据格式长度为4字节, 采用IEEE标准方式,其中尾数高位始终为1,位的分布如下:1位符号位,8位指数位,24位尾数,符号位是最高位,尾数为低位23位,按字节排序如下:地址0 1 2 3内容SEEEEEEEE EMMMMMMM MMMMMMMM MMMMMMMM- 5 -其中S:符号位,0=整数,1=负数.E:指数(在二个字节中),偏移码为127.M:23位尾数,最高位为1,有效位为24位.例如:100=0x42,0xc8, 0x00,0x000=0x00,0x00,0x00,0x00-100=0xc2,0xc8, 0x00,0x009、通信举例仪表地址设为01,通信波特率=4800,n,8,1(仪表码地址08=01,09=05)。
例1:读取仪表瞬时流量F,F=100. (4字节浮点数)上位机发送:0x01,0x03,0x00,0x12,0x00,0x02,0x64,0x0e仪表回传:0x01,0x03,0x04,0x42,0xc8,0x00,0x00,0x6e,0x64 例2:读取仪表累积流量S,S=12345.(4字节定点数)上位机发送:0x01,0x03,0x00,0x0a,0x00,0x02,0x04,0x9e仪表回传:0x01,0x03,0x04,0x00,0x00,0x30,0x39,0xf4,0x01 例3:读取仪表所有显示数据,包括密度,焓差,入口温度,出口温度,瞬时热量,流速,瞬时流量,累积流量,累积热量,峰累积,谷累积,余量等12项48个字节上位机发送:0x01,0x03,0x00,0x07,0x00,0x18,0x45,0xde仪表回传:0x01,0x03,0x30,0x3f,0x80,0x00,0x00, (密度=1.000)0x42,0xfa,0x00,0x00,(焓差=125)- 6 -0x42, 0xc8,0x00,0x00,(入口温度=100)0x3f,0x99,0x99,0x9a,(出口温度=1.20)0x43,0x39,0x1f,0x7d,(瞬时热量=185.123)0x3f,0x80,0x00,0x00, (流速=1.000)0x43,0x39,0x1f,0x7d,(瞬时流量=185.123)0x00,0x00,0x30,0x60,(累积=12384)0x00,0x00,0x00,0x0a,(累积热=10)0x00,0x00,0x00,0x00,(峰累积=0)0x00,0x00,0x00,0x00,(谷累积=0)0x00,0x00,0x00,0x00,(余量=0)0xe0(校验码低),0xe0(校验码高)例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(校验码高)- 7 -电磁流量计参数表//显示寄存器寄存器地址变量名称数据类型1-2 输出电流float3-4 输出频率float5-6 保留float7-8 密度float9-10 工作热焓float11-12 入口温度float13-14 出口温度float15-16 热瞬时量float17-18 流速(m/s) float19-20 瞬时流量float21-22 累积量unsigned long int 23-24 热累积量unsigned long int 25-26 峰累积量unsigned long int 27-28 谷累积量unsigned long int 29-30 定量累积量unsigned long int 31-32 反向累积量unsigned long int 33-34 停电次数unsigned long int 35-36 停电时间unsigned long int- 8 -37-38 保留unsigned long int 39-40 保留unsigned long int//用户参数设定寄存器地址变量名称数据类型1-2 保留3-4 COD上限float5-6 COD下限7-8 PH上限9-10 PH下限11-12 温度上限13-14 温度下限15-16 设定密度17-18 输出上限19-20 输出下限21-22 流速切除23-24 保留25-26 协议系数27-28 协议上限29-30 协议下限31-32 保留- 9 -寄存器地址变量名称数据类型33-34 保留35-36 保留37-38 峰单价39-40 谷单价41-42 平单价43-44 定量报警45-46 定量充值47-48 保留49-50 保留51-52 保留53-54 流量报警1上限55-56 流量报警1下限57-58 报警1回差59-60 流量报警2上限61-62 流量报警2下限63-64 报警2回差65-66 保留67-68 保留69-70 标况温度71-72 标况密度- 10 -寄存器地址变量名称数据类型73-74 设计温度float75-76 设计密度77-78 液体膨胀系数79-80 液高温度81-82 液高密度83-84 液低温度85-86 液低密度87-88 液高温度89-90 液高热焓91-92 液中温度93-94 液中热焓95-96 液低温度97-98 液低密度99-100 保留//传感器参数101-102 直径103-104 量程105-106 流速拟制107-108 拟制时间109-110 滤波常数111-112 保留- 11 -寄存器地址变量名称数据类型113-114 测量流速1 float 115-116 修正系数1117-118 测量流速2119-120 修正系数2121-122 测量流速3123-124 修正系数3125-126 测量流速4127-128 修正系数4129-130 测量流速5131-132 修正系数5133-134 测量流速6135-136 修正系数6137-138 传感器系数139-140 保留141-142 保留143-144 零点校正145-146 保留147-148 保留149-150 保留151-152 空管报警阀值153-154 保留- 12 -//码设定寄存器地址变量名称数据类型(char)0 保留1 流体介质//0水,1液体2 密度补偿0-设定,01-温度补偿,02-温度补偿(一次式),03-温度补偿(二次式)3 流量补偿,0-关闭,01-COD补偿,02-PH补偿,4 流量单位0-t,1-kg,2-m3,3-l,4nm35 热量单位0-KJ,01-MJ,02-GJ,03-KWH6 流量累积小数,0-1-2-37 流量方向,0-正向,01-反向;+0x80负流量关8 输出选择0-频率,1-当量脉冲9 输出脉冲当量系数0-1;1-0.1;2-0.01,3-0.00110 输出脉冲宽度10-240ms11 仪表号,远程设定无效12 波特率1,RS48513 通信协议0-思博;1-标准14 波特率2,RS232,备用15 历史曲线记录间隔0-1min,1-5min,2-10min3-20min,4-30min,5-60min16 协议模式0-关闭;1-开启17 分时计量0-关闭;1-启用- 13 -寄存器地址变量名称数据类型18 定量控制模式0-关闭,1-常开,2-常闭,3-自动19 1#输出继电器0-关闭;1-空管;2-励磁,3-流量20 2#输出继电器21 备用22 语言选择0-中文;1-英语23 背光控制0-关闭;1-常开24 励磁方式,0-单频, 1-单125 自动循环显示首项32 自动循环显示末项33-34 峰时段设定135-36 峰时段设定237-38 谷时段设定139-40 谷时段设定2//时钟41 秒BCD42 分43 时44 日45 月46 年47 0xa0-时钟设定,0xa2-写设定数据,0xa4-写定量- 14 -。