RS485即Modbus RTU協(xié)議,,是一種主從式點對點的通訊協(xié)議,,允許一臺主機和多臺從機之間進(jìn)行數(shù)據(jù)通信。NB模塊為主機,,電磁水表為從機,。通信方式為NB模塊提出命令請求,電磁水表響應(yīng)接收數(shù)據(jù)后作數(shù)據(jù)分析,,如果滿足Modbus通信規(guī)約,,則作數(shù)據(jù)響應(yīng)。NB模塊通過RS485 數(shù)字接口來實現(xiàn)對電磁水表的數(shù)據(jù)采集,,包括瞬時流量,、瞬時流速,、正向總量、反向總量,、累計總量,、流量百分比、電流,、頻率,、報警等數(shù)據(jù)。
RS485通信的每一幀數(shù)據(jù)包含從機地址,、命令字,、信息字、校驗字,,NB模塊命令請求報文為地址,、命令、數(shù)據(jù)地址,、數(shù)據(jù)長度,、校驗碼,電磁水表數(shù)據(jù)響應(yīng)報文為地址,、命令,、數(shù)據(jù)長度、數(shù)據(jù)信息,、校驗碼,。以讀取電磁水表的瞬時流速為例,電磁水表通信地址為1,,讀取命令字為03H,,瞬時流速的寄存器地址為0,數(shù)據(jù)類型是浮點型,,即4個字節(jié)2個寄存器,。NB模塊向電磁水表發(fā)送命令請求:01H 03H 00H 00H 00H 02H C4H 0BH,表示讀取通信地址為1,,寄存器地址從0開始的4個字節(jié)數(shù)據(jù),,即電磁水表的瞬時流速,命令請求的校驗碼為C4H 0BH,。電磁水表響應(yīng)數(shù)據(jù)為:01H 03H 04H 00H 00H C1H 48HABH 95H,,04H表示4個字節(jié),則 00H 00H C1H 48H 表示瞬時流速,,將高,、低位寄存器位置交換后,通過 IEEE- 754 標(biāo)準(zhǔn)計算可得知瞬時流速為-12.5。當(dāng)讀取更多數(shù)據(jù)或其他數(shù)據(jù)時,,依據(jù)實際情況修改命令請求,。