<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Modbus協議概念最詳細介紹

          共 2923字,需瀏覽 6分鐘

           ·

          2021-09-26 16:13

          一文認識Modbus協議;


          • 1 什么是Modbus?

          • 2 主從模式

          • 3 協議的分類

            • 3.1 Modbus ASCII

            • 3.2 Modbus RTU

            • 3.3 Modbus TCP

            • 3.4 Modbus Plus

          • 4 libmodbus

          • 5 freemodbus

          • 6 總結


          1 什么是Modbus?

          ModbusModicon(施耐德)公司于1979年開發(fā)的串行通信協議。它最初設計用于公司的可編程邏輯控制器(PLC)。Modbus是一種開放式協議,支持使用RS232/RS485/RS422協議的串行設備,同時還支持調制解調器。它的簡單性以及制造商可以免費將其納入其產品的事實使其成為連接工業(yè)電子設備的最流行的方法。Modbus比其他通信協議使用的更廣泛的主要原因有以下幾點:

          • 公開發(fā)表并且無著作權要求;
          • 易于部署和維護;
          • 對供應商來說,修改移動本地的比特或字節(jié)沒有很多限制;

          Modbus通過設備之間的串行線進行數據傳輸。最簡單的設置是使用一根串行電纜連接兩個設備(主設備和從設備)上的串行端口。數據以稱為比特10的序列發(fā)送。每個位都作為電壓發(fā)送。0被發(fā)送為正電壓,1被發(fā)送為負電壓。如下圖所示;

          在這里插入圖片描述

          2 主從模式

          Modbus解決了通過串行線路在電子設備之間發(fā)送信息的問題。該協議在遵循該協議的體系結構中實現主/從模型。Modbus主站(Master)負責從其他設備(Slave)請求信息。標準Modbus網絡中有一個Modbus主站。具體如下圖所示;

          主設備向從設備請求信息,最多大約可達到240個 . 每個從設備都有自己唯一的從設備地址標識Slave Address)。除了從從設備請求信息之外,主設備還可以寫入從設備的內部寄存器

          3 協議的分類

          Modbus的應用十分廣泛,特別是在工業(yè)控制領域,具體如下圖所示;

          我們可以看到最常用Modbus協議總共有以下四種:Modbus ASCIIModbus RTUModbus PlusModbus TCP

          具體如下圖所示;

          3.1 Modbus ASCII

          當設備設置為使用ASCII美國信息交換標準代碼)模式在MODBUS串行線上進行通信時,消息中的每個8位字節(jié)將作為兩個ASCII 4位字符發(fā)送。當物理通信鏈路或設備的功能不允許符合RTU計時器管理要求時,使用此模式。所以此模式的效率不如RTU,因為每個字節(jié)需要兩個字符。示例:字節(jié)0x7D編碼為兩個字符:0x350x42(在ASCII表中為0x37 ='7',而0x44 ='D')。

          3.2 Modbus RTU

          Modbus RTU是一種緊湊的,采用二進制表示數據的方式;因為使用二進制編碼和CRC錯誤檢查的結合使得Modbus RTU適用于工業(yè)應用,因為它比ASCII字符的替代方案更有效地傳輸。在Modbus RTU與ASCII之間進行選擇時,如果考慮性能,則RTU是首選。

          3.3 Modbus TCP

          Modbus TCP 是在TCP/IP網絡上運行的Modbus的實現,旨在允許Modbus ASCII / RTU協議在基于TCP / IP的網絡上傳輸。Modbus / TCP將Modbus消息嵌入TCP / IP幀內。盡管實現起來非常簡單,但是與網絡相關的特性增加了一些挑戰(zhàn)。例如,由于Modbus主機期望并要求在一定時間范圍內對其輪詢做出響應,因此必須考慮TCP / IP網絡的不確定性(和其他方面)。Modbus ASCII和Modbus TCP之間的主要區(qū)別在于,Modbus ASCII所需的LRC錯誤檢查由IP層執(zhí)行。

          對于以上TCP/RTU/ASCII的這三種通信協議在數據模型和功能調用上都是相同的,只有封裝方式是不同的。

          3.4 Modbus Plus

          Modbus有一個擴展版本Modbus Plus(Modbus+或者MB+),不過此協議是Modicon專有的,和Modbus不同。它需要一個專門的協處理器來處理類似HDLC的高速令牌旋轉。它使用1Mbit/s的雙絞線,并且每個節(jié)點都有轉換隔離設備,是一種采用轉換/邊緣觸發(fā)而不是電壓/水平觸發(fā)的設備。連接Modbus Plus到計算機需要特別的接口,通常是支持ISA(SA85),PCI或者PCMCIA總線的板卡。[^1]

          4 libmodbus

          libmodbus是一個多平臺的modbus開源庫,適用于Linux,Mac OS X,FreeBSD,QNX和Win32等操作系統;可以根據Modbus協議發(fā)送和接收數據。支持RTU(串行)和TCP(以太網)通信。官網:libmodbus.orgGithub:github.com/stephane/libmodbus/

          5 freemodbus

          FreeModbus是嵌入式系統的Modbus ASCII / RTU和Modbus TCP實現。它提供了Modbus應用協議v1.1a的實現,   并支持Modbus over Serial Line Specification 1.0中定義的RTU / ASCII傳輸模式  。從版本0.7開始,FreeModbus也支持Modbus / TCP。0.9版為使用lwIP  TCP / IP堆棧的嵌入式系統添加了第一個Modbus / TCP端口  。官網:https://www.embedded-experts.atGithub:https://github.com/cwalter-at/freemodbus

          FreeModbus是一款開源的Modbus協議棧,但是只有從機開源,主機源碼是需要收費的。同時網上也沒有發(fā)現比較好的開源的Modbus主機協議棧,所以才開發(fā)這款支持主機模式的FreeModbus協議棧。本版FreeModbus版本號更改為V1.6,特性如下:

          • 新增加的主機源碼與原有從機的風格及接口保持一致;
          • 支持主機與從機在同一協議棧運行;
          • 支持實時操作系統及裸機移植;
          • 為應用提供多種請求模式,用戶可以選擇阻塞還是非阻塞模式,自定義超時時間等,方便應用層靈活調用;
          • 支持所有常用的Modbus方法。

          Github:https://github.com/armink/FreeModbus_Slave-Master-RTT-STM32

          6 總結

          本文簡單介紹了modbus協議,以及modbus的種類以及相互之間的區(qū)別,目前沒有深入到各個協議的細節(jié),只做了一個概覽。筆者能力和水平有限,文中難免存在錯誤和紕漏,請大佬不吝賜教。

          [^1]: wiki modbus


          長按下圖二維碼關注,獨自前進,走得快;結伴而行,走得遠;在這里除了肝出來的文章,還有一步一個腳印學習的點點滴滴;

          關注并回復??????“麥叔的資料”??????開啟成長之旅 ??????。




          原創(chuàng)不易,點一下??在看??,為麥叔的肝保駕護航

          ??????



          瀏覽 53
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  激情自拍 9 | 五月天婷婷激情视频 | 亚洲一级特黄 | 2020天天日天天操 | 一区二区三区另类一级 |