收藏本站
设为首页 | 收藏本站
联系方式

联系人:李经理

手 机:15161725556

联系人:柏经理

手 机:15261725556

电 话:0517-86919886

传 真:0517-86892227

邮 箱:aokeyb@163.com

地 址:江苏金湖工业园区


新闻详情

SB-2100流量积算仪通信协议

浏览数:537 
文章附图

SB-2100系列标准通信协议:

201007170440454352.jpg

1通信接口RS485RS232波特率范围1200-9600

2仪表接线端为A, BCOM

3通信协议符合MODBUS规约。说明书表2中寄存器编号为寄存器地址。

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-用来读取数设定数据和码设定数据,

寄存器个数=13读码设定;=463读数设定。           

       读取数设定数据

   发送   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校验码

      说明:地址=仪表号,寄存器地址=数设定地址编号

回应字节个数=(发送)寄存器个数低(163

读取码设定数据

   发送   01 ;地址             回应   01 ;地址   

         04 ;功能码                    04 ;功能码

         00 ;寄存器地址高              02 ;字节个数

         01 ;寄存器地址低(码设定地址) 03 ;数据1码内容

         00 ;寄存器个数高              04 ;数据2 码内容

         01 ;寄存器个数低            CRCL ;CRC校验码低

        CRCL ;CRC校验码低        CRCH ;CRC校验码

        CRCH ;CRC校验码高           

  说明:地址=仪表号,寄存器地址=码设定地址编号

回应字节个数=(发送)寄存器个数低(13X2

功能码06-用来进行码设定

   发送   01 ;地址             回应   01   ;地址   

         06 ;功能码                 06   ;功能码

         00 ;寄存器地址高           00   ;寄存器地址高

         01 ;寄存器地址低(码设定地址)01 ;寄存器地址低

         00 ;数据高                 00   ;数据高     

         04 ;数据低                 04   ;数据低     

       CRCL ;CRC校验码低       CRCL   ;CRC校验码

       CRCH ;CRC校验码高      CRCH   ;CRC校验码高

     功能码10H-用来数设定(如:100=42Hc8H00H00H

发送   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校验码高

7CRC校验码计算

    01 ;地址        N1         CRC=0FFFFH为初值       

     10 ;功能码      N2        CRCLN1异或运算       

     00 ;寄存器地址高N3     CRC右移1位,若移出位为1

     01 ;寄存器地址低N4      CRC=CRCA001H异或,

     00 ;寄存器个数高N5    若移出位为0CRC=CRC   

     04 ;寄存器个数低N6    右移8次完成N1计算

     04 ;数据个数   N7                      

     80 ;数据1       N8    CRCLN11异或运算

     04 ;数据2       N9      CRC右移1位,若移出位为1                     

     80 ;数据3      N10      CRC=CRCA001H异或,                   

     80 ;数据4      N11    若移出位为0CRC=CRC  

   CRCL   ;CRC校验码低       右移8次完成N11计算     

   CRCH   ;CRC校验码高       最后得到CRC校验值   

8sb2100系列仪表浮点数据格式

      长度为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(仪表码地址08010905)

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: 读取仪表所有显示数据,包括瞬时,频率,差压, 压力,温度,密度,热量,累积流量,累积热量等1248个字节

上位机发送: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: 读取仪表实时时间051208212108,时间格式为6字节BCD

上位机发送:0x01,0x04,0x00,0x29,0x00,0x03,0xc3,0x61

仪表回传:0x01,0x04,0x06,

            0x08(),  

0x21(),

0x21(),

0x08(),

0x12(),

0x05(),

0x81(校验码低),0x9a(校验码高)

10、波特率说明

4800n81表示波特率为4800,1位开始位,8位数据位,1位停止位,无校验

4800e81表示波特率为4800,1位开始位,8位数据位,1位停止位,耦校验

//显示寄存器定义

//流量积算仪SB2100A

寄存器地址     变量名称          数据类型   

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