<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > MODBUS-RTU數(shù)據(jù)幀格式、報文實例

          MODBUS-RTU數(shù)據(jù)幀格式、報文實例

          作者: 時間:2023-12-18 來源:歐工玩轉嵌入式 收藏

          報文模型

          設備地址

          本文引用地址:http://www.ex-cimer.com/article/202312/453989.htm

          功能代碼

          數(shù)據(jù)格式

          CRC校驗L

          CRC校驗H

          8bit

          8bit

          N*8bit

          8bit

          8bit

          一個報文就是一幀數(shù)據(jù),一個數(shù)據(jù)幀就是一個報文: 指的是一串完整的指令數(shù)據(jù),就像上面的一串數(shù)據(jù)。

          主機對從機寫數(shù)據(jù)操作

          如果單片機接收到一個報文那么就對報文進行解析執(zhí)行相應的處理

          0x01

          06

          00 01

          00 17

          98 04

          從機地址

          功能號

          數(shù)據(jù)地址

          數(shù)據(jù)

          CRC校驗

          主機對從機讀數(shù)據(jù)操作

          0x01

          03

          00 01

          00 01

          D5 CA

          從機地址

          功能號

          數(shù)據(jù)地址

          讀取數(shù)據(jù)個數(shù)

          CRC校驗

          單片機接收到這串數(shù)據(jù)根據(jù)數(shù)據(jù)計算CRC校驗判斷數(shù)據(jù)是否正確,如果判斷數(shù)據(jù)無誤,則結果是:返回信息給主機,返回的信息也是有格式的:

          從機對主機返回內(nèi)容

          0x01

          03

          02

          00 17

          F8 4A

          從機地址

          功能號

          數(shù)據(jù)字節(jié)個數(shù)

          兩個字節(jié)數(shù)據(jù)

          CRC校驗

          這樣MODBUS主機就完成了一次對從機數(shù)據(jù)的讀操作,實現(xiàn)了通訊。

          常用功能碼

          數(shù)據(jù)類型

          讀功能碼

          寫功能碼

          對象類型

          離散量輸入

          02


          單個位

          線圈狀態(tài)

          01

          05,15

          單個位

          輸入寄存器

          04


          16位字

          保持寄存器

          03

          06,16

          16位字

          寄存器起始地址(起始數(shù)據(jù)地址)

          數(shù)據(jù)類型

          參數(shù)地址,寄存器編號

          離散量輸入

          00001~0FFFF

          線圈狀態(tài)

          10001~1FFFF

          輸入寄存器

          30001~3FFFF

          保持寄存器

          40001~4FFFF

          舉例:
          Modbus協(xié)議中寄存器地址從1開始,而實際存儲中地址從0開始。假如要讀取寄存器編號為40005(4為塊編號,5為modbus中寄存器地址)的寄存器的數(shù)據(jù),則應把00
          04放入報文的地址域。寄存器定義,又名碼表或者信息點表,應由廠家提供的。

          寄存器編號

          屬性

          定義

          系數(shù)

          備注

          40001

          RO

          A相電壓


          從40048中讀取電壓系數(shù)

          40002

          RO

          B相電壓


          如要讀A相電壓,則應將0x00 0x00放入寄存器起始地址域中。

          報文實例

          1、讀40005、40006兩個寄存器,假設從機地址為1

          下行報文:01 03 00 04 00 02 85 ca

          從機地址

          功能碼

          寄存器起始地址

          讀取寄存器個數(shù)

          CRC校驗

          01

          03

          00 04

          00 02

          85 ca

          上行報文:01 03 04 00 00 00 00 21 33

          從機地址

          功能碼

          返回字節(jié)個數(shù)

          寄存器40005數(shù)據(jù)

          寄存器40006數(shù)據(jù)

          CRC校驗

          01

          03

          04

          00 00

          00 00

          21 33

          2、向40005寄存器中寫入0x12,0x34,假設從機地址為1

          下行報文:01 06 00 04 00 01 12 34 4a b0

          從機地址

          功能碼

          寄存器起始地址

          讀取寄存器個數(shù)

          要寫入的數(shù)據(jù)

          CRC校驗

          01

          03

          00 04

          00 01

          12 34

          85 ca

          上行報文:01 06 00 04 00 01 12 34 4a b0

          從機地址

          功能碼

          寄存器起始地址

          讀取寄存器個數(shù)

          寫入的數(shù)據(jù)

          CRC校驗

          01

          03

          00 04

          00 01

          12 34

          85 ca




          關鍵詞: MODBUS-RTU

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();