收藏本站
設為首頁 | 收藏本站
聯系方式

聯系人:柏經理

手 機:15261725556

電 話:0517-86919886

傳 真:0517-86892227

郵 箱:aokeyb@163.com

地 址:江蘇金湖工業園區

新聞詳情

SB-2100流量積算儀通信協議

瀏覽數:188 
文章附圖

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=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        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校驗值   

8、sb2100系列儀表浮點數據格式

      長度為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(儀表碼地址0801,0905)。

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