日韩欧美视频第二区,秋霞成人午夜鲁丝一区二区三区,美女日批视频在线观看,av在线不卡免费

電子開發網

電子開發網電子設計 | 電子開發網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
  • 上一篇文章:
  • 下一篇文章: 沒有了
  • 相關文章列表
    工業智能網關 采集 協議轉換 控制
    解讀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 個字
    [ 查看全部 ] 網友評論
    推薦文章
    最新推薦
    關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁面
    下到頁底
    晶體管查詢
    主站蜘蛛池模板: 伊通| 阳曲县| 吴江市| 马山县| 镇江市| 萨迦县| 顺昌县| 祁东县| 永和县| 慈溪市| 郯城县| 庆安县| 湘潭市| 汶上县| 寿光市| 锡林郭勒盟| 大同市| 平塘县| 通江县| 铁岭市| 银川市| 青州市| 新疆| 扶绥县| 黔江区| 望都县| 资兴市| 同江市| 名山县| 福海县| 光泽县| 冷水江市| 合作市| 白山市| 东山县| 岑溪市| 西林县| 湛江市| 建瓯市| 朝阳县| 固原市|