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

          新聞中心

          EEPW首頁 > 網(wǎng)絡(luò)與存儲 > 設(shè)計應(yīng)用 > 通信Modbus是如何工作的?

          通信Modbus是如何工作的?

          作者: 時間:2024-07-15 來源:strongerHuang 收藏


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


          學(xué)電子需要掌握一些常見的,就屬其中一種,在現(xiàn)實生活中應(yīng)用非常廣泛,很多工業(yè)電子設(shè)備的系統(tǒng)中基本都有它的存在。


          今天針對初學(xué)描述關(guān)于一些常見的問題。


          什么是Modbus?

          Modbus 是由 Modicon 公司(現(xiàn)施耐德),于1979年針對 PLC 開發(fā)的一種,當(dāng)時主要用于工業(yè)電子設(shè)備之間聯(lián)網(wǎng)通信。


          Modbus 是一種應(yīng)用層通信息協(xié)議,位于 OSI(開放式系統(tǒng)互聯(lián)通信)模型的第 7 層。它在不同類型的總線或網(wǎng)絡(luò)上連接的設(shè)備之間提供客戶端/服務(wù)器通信。


          Modbus 是由一個 Master(主機) 和最多 247 個 Slave(從機)組成的通信網(wǎng)絡(luò)。


          更多關(guān)于Modbus的介紹,可以參看:

          https://modbus.org/


          Modbus干什么用?

          Modbus 是一種開放的,你可以免費將其應(yīng)用到你的設(shè)備中,而無需支付版稅。


          Modbus 是一種廣泛使用的標準通信協(xié)議,你和其他廠家的設(shè)備,如果都遵循 Modbus 標準協(xié)議,就可以進行通信傳輸數(shù)據(jù)。


          Modbus是如何工作的?

          Modbus 通常底層基于 UART 串口485進行通信,最簡單的一個主設(shè)備和一個從設(shè)備通信,就是通過串口Tx和Rx進行收發(fā)數(shù)據(jù)。


          底層串口的通信,就是大家熟悉的“0”“1”通信,在這個基礎(chǔ)上,添加 Modbus 通信協(xié)議,方便解析協(xié)議和多設(shè)備組網(wǎng)。


          一主多從,在從設(shè)備中都有唯一的地址,通過解析從機地址,主機就能和對應(yīng)的從機進行通信。

          什么是Modbus ASCII?

          Modbus ASCII是Modbus協(xié)議中的一種傳輸方式,對應(yīng)的還有另外一種

          Modbus RTU傳輸方式。


          施耐德電氣(Schneider Electric)收購了Modicon公司之后,有推出了Modbus TCP協(xié)議。


          協(xié)議格式:


          什么是從機地址?

          從機地址(或從站ID),就是為每一個從設(shè)備分配的唯一地址,方便主機建立通信時進行識別,從機地址在出廠時就會設(shè)置好。


          什么是功能碼?

          功能碼是 Modbus 通信協(xié)議中的一項,主機發(fā)送的第二個字節(jié)就是功能碼。就是你看到的讀寫線圈寄存器那些內(nèi)容。


          下面貼幾個常見功能碼:


          什么是CRC?

          正規(guī)的通信協(xié)議基本都有校驗碼,目的就是為了確保傳輸?shù)臄?shù)據(jù)沒有錯誤。像校驗和、CRC校驗等是嵌入式設(shè)備通信協(xié)議常見的校驗碼。


          Modbus使用CRC循環(huán)冗余校驗,其校驗信息位于消息末尾的兩個字節(jié)。


          這里推薦閱讀文章《自定義串口通信協(xié)議》中文末校驗相關(guān)的內(nèi)容。


          參考:

          http://www.simplymodbus.ca/crc.xls


          什么是字/字節(jié)排序?

          字節(jié)排序就是先存儲(傳輸)高字節(jié),還是先傳輸?shù)妥止?jié)。比如:0x1234,它是兩個字節(jié),傳輸時通常是分0x12和0x34傳輸。


          在通信中,會牽涉到一個字節(jié)排序的問題,但在Modbus 規(guī)范中并未準確定義數(shù)據(jù)在寄存器中的存儲方式。


          Modbus標準協(xié)議沒有具體約定,就需要開發(fā)者在開發(fā)過程中人為約定先傳輸高字節(jié),還是低字節(jié)。


          最后

          Modbus是一種應(yīng)用非常廣泛的標準通信協(xié)議,工業(yè)自動化、電子、嵌入式等這些專業(yè)的同學(xué),建議都抽時間學(xué)習(xí)一下。


          由于時間有限,本文只介紹了一些基礎(chǔ)內(nèi)容,更多介紹和協(xié)議具體內(nèi)容,請到官網(wǎng)深入了解。


          https://modbus.org/




          關(guān)鍵詞: Modbus 通信協(xié)議

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();