聯系人:李經理 手 機:15161725556 聯系人:柏經理 手 機:15261725556 電 話:0517-86919886 傳 真:0517-86892227 郵 箱:aokeyb@163.com 地 址:江蘇金湖工業園區 |
SB-2100流量積算儀通信協議瀏覽數:740次
SB-2100系列標準通信協議: 1、通信接口RS485或RS232,波特率范圍1200-9600。 2、儀表接線端為A, B和COM。 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-用來讀取數設定數據和碼設定數據, 寄存器個數=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、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(儀表碼地址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,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 |