<tbody id="q8owe"></tbody>
  • <rp id="q8owe"><acronym id="q8owe"></acronym></rp>
    <dd id="q8owe"></dd>

      <em id="q8owe"></em>

      <em id="q8owe"><acronym id="q8owe"><u id="q8owe"></u></acronym></em>
      <dd id="q8owe"></dd>
      <tbody id="q8owe"><pre id="q8owe"></pre></tbody>
    1. 電子開發網

      電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
      搜索: 您現在的位置: 電子開發網 >> 電子開發 >> PLC基礎入門教程 >> 正文

      帶你聊透Modbus通信協議

      作者:佚名    文章來源:本站原創    點擊數:    更新時間:2023/7/25

      Modbus通信協議是什么?

      關于Mod,因為這種協議最早被用在PLC控制器中,準確的說是Modicon公司的PLC控制器,這也是Mod-Bus名稱的由來。后來Modicon被施耐德(Schneider)收購,Modbus協議廣泛應用在工業控制器、HMI和傳感器上,逐漸被其他廠商所接受,成為了一種主流的通訊協議,用于和外圍設備進行通訊。

      Modbus協議作為當今工業控制領域的通用通訊協議,在無數物聯網產品中得到應用,工業、農業等物聯網解決方案中都有其身影。ModBus網絡是一個工業通信系統,由智能終端的可編程序控制器和計算機,通過公用線路或局部專用線路連接而成。其系統結構既包括硬件、亦包括軟件,應用于各種數據采集和過程監控。

       

      Modbus網絡體系


      通過Modbus協議,控制器相互之間、或控制器經由網絡(如以太網)可以和其它設備之間進行通信。Modbus協議使用的是主從通訊技術,即由主設備主動查詢和操作從設備。一般將主控設備方所使用的協議稱為Modbus Master,從設備方使用的協議稱為Modbus Slave。典型的主設備包括工控機和工業控制器等;典型的從設備如PLC可編程控制器等。Modbus通訊物理接口可以選用串口(包括RS232和RS485),也可以選擇以太網口。

      Modbus在7層OSI參考模型中屬于第七層應用層,數據鏈路層有兩種:基于標準串口協議和TCP協議,物理層可使用3線232、2線485、4線422,或光纖、網線、無線等多種傳輸介質。


       

      ModBus網絡只有一個主機,發出通訊信號,多個從機,網絡可支持247個之多的遠程從屬控制器,但實際所支持的從機數要由所用通信設備決定。采用這個系統,各PC可以和中心主機交換信息而不影響各PC執行本身的控制任務。

      Modbus協議包括ASCII、RTU、TCP等,并沒有規定物理層。此協議定義了控制器能夠認識和使用的消息結構,而不管它們是經過何種網絡進行通信的。

       

      Modbus協議目前存在用于串口、以太網以及其他支持互聯網協議的網絡的版本。

      大多數Modbus設備通信通過串口EIA-485物理層進行。

      對于串行連接,存在兩個變種,它們在數值數據表示不同和協議細節上略有不同。

      三種傳輸模式

      1979年,Modicon 首先推出了串行Modbus標準,后來由于網絡的普及,需要更高的傳輸速度,1997年制定了基于TCP網絡的Modbus標準。

      所以總的可分為兩個傳輸模式:基于串行鏈路的和基于以太網TCP/IP的。但是我個人還是習慣分為3種傳輸模式:

       


      基于串口的Modbus-RTU 數據按照標準串口協議進行編碼,是使用最廣泛的一種Modbus協議,采用CRC-16_Modbus校驗算法。

      基于串口的Modbus-ASCII 所有數據都是ASCII格式,一個字節的原始數據需要兩個字符來表示,效率低,采用LRC校驗算法。

      基于網口的Modbus-TCP Modbus-TCP基于TCP/IP協議,占用502端口,數據幀主要包括兩部分:MBAP(報文頭)+PDU(幀結構),數據塊與串行鏈路是一致的。


      所以當我們提及Modbus協議時,要確定是哪種模式:RTU、ASCII或TCP,3種模式區別還是很大的。

      有些設備支持多種Modbus模式,有些設備只支持其中一種,實際使用要根據設備使用手冊來選擇采用哪種模式。

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

       


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

      標準的Modicon控制器使用RS232C實現串行的Modbus。

      Modbus的ASCII、RTU協議規定了消息、數據的結構、命令和就答的方式,數據通訊采用Maser/Slave方式,Master端發出數據請求消息,Slave端接收到正確消息后就可以發送數據到Master端以響應請求;

      Master端也可以直接發消息修改Slave端的數據,實現雙向讀寫。

      Modbus協議需要對數據進行校驗,串行協議中除有奇偶校驗外,ASCII模式采用LRC校驗,RTU模式采用16位CRC校驗,但TCP模式沒有額外規定校驗,因為TCP協議是一個面向連接的可靠協議。

      另外,Modbus采用主從方式定時收發數據,在實際使用中如果某Slave站點斷開后(如故障或關機),Master端可以診斷出來,而當故障修復后,網絡又可自動接通,Modbus協議的可靠性較好。

      對于Modbus的ASCII、RTU和TCP協議來說,其中TCP和RTU協議非常類似,只要把RTU協議的兩個字節的校驗碼去掉,然后在RTU協議的開始加上5個0和一個6并通過TCP/IP網絡協議發送出去即可。

      Modbus RTU 協議

      Modbus在7層OSI參考模型中屬于第七層應用層,數據鏈路層有兩種:基于標準串口協議和TCP協議,物理層可使用3線232、2線485、4線422,或光纖、網線、無線等多種傳輸介質。

      Modbus RTU 協議是一種開放的串行協議,廣泛應用于當今的工業監控設備中。該協議使用 RS-232 或 RS-485 串行接口進行通信,并得到市場上幾乎所有商業 SCADA、HMI、OPC 服務器和數據采集軟件程序的支持。

      Modbus RTU 協議使用主/從技術在設備之間進行通信。這意味著,任何使用 Modbus RTU 協議的應用程序都將有一個 Modbus 主站和至少一個 Modbus 從站。Modbus Master 通常是一臺運行軟件的主機監控計算機,它將與一個或多個 Modbus Slave 設備進行通信。

      Modbus 從設備是執行系統參數測量和控制系統中的開/關設備的設備。為了執行這些任務,主站向 Modbus 從站發送消息,請求執行特定任務。

      Modbus RTU 協議使用格式化的消息在主機和從機之間進行通信。消息由系統 Master 發起并發送到 Slave 設備。然后,從站以請求的數據進行響應,或者確認它執行了請求的功能。所有進出主站的消息都包含一個兩字節(16 位)CRC(循環冗余校驗)校驗和值,用于錯誤檢查。如果將無效請求傳輸到 Modbus 從站,則會返回一個字節(8 位)錯誤代碼值,說明請求錯誤的原因。

      Modbus 主站消息包含幾個重要的信息。每條消息都以接受消息的設備的從地址開始。接下來是要執行的功能編號(或命令)。后面是指定函數正確執行所需的任何數據。從地址是一個單字節(8 位)值,可用值范圍在 0-247 之間。Modbus 功能號也是一個字節值,并且在協議中定義了許多標準化功能號。支持所請求功能所需的任何數據值的長度將是一個或多個字節。Modbus 從站響應消息將包含響應的從站地址、功能編號和主站請求的任何必要數據。

      Modbus 通信協議特點

      (1)標準、開放,用戶可以免費、放心地使用Modbus協議,不需要交納許可證費,也不會侵犯知識產權。

      (2)Modbus可以支持多種電氣接口,如RS-232、RS-485等,還可以在各種介質上傳送,如雙絞線、光纖、無線等。  

      (3)Modbus的幀格式簡單、緊湊,通俗易懂。用戶使用容易,廠商開發簡單。


      Modbus4種數據類型

      Modbus協議規定,進行讀寫操作的數據類型,按照讀寫屬性和類型可分為以下4種:

      1. 離散量輸入(Discretes Input ):1位,只讀

      2.線圈(Coils):1位,讀寫

      3.輸入寄存器(Input Registers ):16位,只讀

      4.保持寄存器(Holding Registers):16位,讀寫


      常用的MODBUS通訊方式

      有兩種,一種是MODBUS ASCII,一種是MODBUS RTU。每個設備必須都有相同的傳輸模式。所有設備都支持RTU模式,ASCII傳輸模式是選項! 

      +ASCII傳輸方式

      Modbus串行鏈路的設備被配置為使用ASCII模式通信時,報文中的每8位字節以兩個ASCII字符發送。例:字節0X5B會被編碼為兩個字符:0x35和0x42進行傳送(ASCII編碼0x35="5",0x42="B"),這樣傳輸效率會降低。

      在ASCII模式,報文用特殊的字符區分幀起始和幀結束。一個報文必須以一個‘冒號’(:)(ASCII十六進制3A)起始,以‘回車-換行’(CRLF)對(ASCII十六進制0D和0A)結束。設備連續的監視總線上的‘冒號’字符。當收到這個字符后,每個設備解碼后續的字符一直到幀結束。報文中字符間的時間間隔可以達一秒。如果有更大的間隔,則接受設備認為發生了錯誤! 

      +RTU傳輸方式

      當設備使用RTU(RemoteTerminalUnit)模式在Modbus串行鏈路通信,報文中每個8位字節含有兩個4位十六進制字符。這種模式的主要優點是較高的數據密度,在相同的波特率下比ASCII模式有更高的傳輸效率。每個報文必須以連續的字符流傳送。

      Modbus RS485接線方法

      RS485的應用挺廣泛,可以支持ModBus協議,因為簡單、便宜、可靠、成熟,所以在工業控制、智能儀表和電力通信領域應用很多。

      1、我們來看看RS485的一個典型組網結構:

      RS485總線正確的接法 

      理論上,一條RS485總線的傳輸距離可以達到1200米。但是在實際應用受通信芯片、波特率和線材、干擾等影響,實際上是遠遠達不到這個數值的。

      理論上,一條RS485總線可以掛254臺設備,實際上也遠遠達不到,通常的應用中,也就是30臺左右。

      RS485總線要采用上圖手拉手式的總線結構,堅決杜絕星型連接和分叉連接,如下圖:

      RS485總線錯誤的接法 

      +關于線材的選用

      通信線纜要選擇兩芯屏蔽雙絞線,線徑不低于0.5平方。雙絞是因為485通訊采用差模通訊原理,雙絞的抗干擾性最好。有些野路子的做法用非屏蔽非雙絞線甚至是網線來敷設485通訊線,是極端錯誤的。

      +關于保障通信質量的幾種手段

      1、共地法:用1條線或者屏蔽線將所有485設備的GND地連接起來,這樣可以避免所有設備之間存在影響通訊的電勢差。

      2、終端電阻法:在最后一臺485設備的485+和485-上并聯連接120歐姆的終端電阻來改善通訊質量。

      3、如果通訊距離過長,建議如果超過500米就采用中繼器或者485HUB來解決問題。如果負載數過多,建議如果一條總線上超過30臺就采用485HUB來解決問題。

      +場景應用-Modbus物聯網云平臺

      Modbus物聯網云平臺在設備和用戶之間建立開箱即用的云平臺和云應用,實現數據采集、實時控制、數據可視化、開放 API,構建靈活強大的物聯網應用。Modbus云平臺支持市場上99%以上Modbus設備接入,比如工業儀器儀表,工業傳感器,Modbus PLC設備等。用戶可以在任何地方遠程訪問任何地方的Modbus設備,并對遠程設備的數據進行實時采集監控、遠程控制、智能音響小度、天貓精靈、小愛同學語音控制、診斷、通訊及調試等。

      Modbus物聯網云平臺是一個開放的物聯網云平臺,用戶只需按步驟完成注冊即可免費使用Modbus物聯網云平臺 。支持PC、Android、iOS多平臺終端。用戶可以在任何地方遠程訪問任何地方的串口設備,并對遠程設備的數據進行實時采集監控、遠程控制、診斷、通訊及調試等。Modbus物聯網云平臺支持微信關聯,用戶可以借助手機端的微信公眾號進行遠程查看設備的運行狀態,通訊數據和報警信息等,實現隨時隨地輕松掌控,方便快捷。


      總 結

      總的來說,簡單是 Modbus 如此普遍的主要原因。消息檢查是 Modbus 如此受歡迎的另一個原因。CRC 和 LRC 檢查意味著檢查傳輸錯誤的準確率達到 99%。概括來講,Modbus就是一種用于工業控制的協議,具有免費使用、上手簡單、修改方便三大特點,已經被廣泛使用。

      此協議支持傳統的RS-232、RS-485、RS-422和以太網設備。許多工業設備,包括PLC,DCS,智能儀表,變頻器等都在使用Modbus協議作為他們之間的通訊標準。有了它,不同廠商生產的控制設備可以連成工業網絡,進行集中監控。

      Tags:Modbus,通信協議  
      責任編輯:admin
    2. 上一篇文章:
    3. 下一篇文章: 沒有了
    4. 相關文章列表
      工業智能網關 采集 協議轉換 控制
      解讀Modbus和tcp的區別和聯系_Modbus RTU和TCP/IP區別
      兩臺plc的主從站通訊_西門子200SMART Modbus RTU通訊實例
      西門子S7-200SMART PLC的MODBUS TCP通信 STEP 7-MicroWIN SMART
      【組態王】組態王通過串口與MODBUS RTU設備通訊  COM口設置
      西門子200smartPLC 通過Modbus讀取絕對值編碼器的數據
      西門子plc 和modbusRTU對應關系_西門子S7-200和S7-200SMART的mod
      Modbus RTU通信教程 STEP 7-MicroWIN SMART軟件 從站的配置及編程
      西門子PLCS7-200/S7-200SMART Modbus地址問題應用解析
      西門子S7-200SMART PLC使用modbus 讀取儀表數據
      西門子S7-200SMART兩臺PLC之間主從站,MODBUS主從站通信步驟設置
      西門子plc s7-200smart modbus-tcp通信實例編程詳細指導,STEP7軟
      Modbus功能碼04實例_20種PLC元件編號和Modbus編號地址對應表
      弱電工程RS485總線_RS485布線安裝注意事項_RS485常見的故障與解決
      PLC通信入門教程:通信從來都不難,就是幾個0和1
      學PLC通訊入門:波特率,通信協議,通信端口別再分不清楚了
      Modbus超時時間設置,通訊延遲,通訊滯后問題與程序輪詢的關系
      變頻器采用Modbus通訊延遲,有什么因素導致變頻器給定頻率后很久
      Modbus 的RTU、ASCII、TCP傻傻搞不清楚?一文全解讀
      modbus協議實例講解,功能碼和報文詳解
      Modbus測試工具與控件介紹
      西門子PLC 200smartPLC與第三方進行Modbus TCP通訊
      MODBUS--變頻器\PLC\儀表連不上怎么辦?送最簡單的軟件搞定問題
      西門子plc Smart 200主從站之間RS485通訊實例_從站主站讀寫程序
      西門子plc之間的通訊_兩臺西門子S7-200 SMART PLC如何通過Modbus
      西門子S7-200 Smart plc的Modbus RTU庫通訊輪詢實例
      學習s7-200之間的Modbus通訊_兩個PLC互相通信,主站從站通訊
      西門子PLC的通信協議介紹
      西門子PLC S7-200Smart實現Modbus-RTU通信實例 多功能電表 溫控表
      西門子plc S7-200 SMART與丹佛斯變頻器之間Modbus通信
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網友評論
      推薦文章
      最新推薦
      關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      亚洲欧美日产在线观看,欧美中字慕日产2,欧美亚洲日产激情四射,日产精品视频一至六区