前言
Modbus是一種串行通訊協議,是Modicon公司(現在的施耐德電氣 Schneider Electric) 於1979年為使用可編程邏輯控制器(PLC)通信而發表。Modbus已經成為工業領域通信協議事實上的業界標准,並且現在是工業電子設備之間常見的連接方式。
Modbus在工業環境下很流行,因為它是公開發布而免版稅的。它是為工業應用開發的,與其他標准相比,它相對易於部署和維護,除了要傳輸的數據格式的大小外,幾乎沒有其他限制。Modbus使用RS485作為其物理層。
Modbus支持連接到同一網絡的許多設備之間進行通信,例如,一個測量溫度和濕度並將結果發送給服務器的系統中,Modbus通常用於在監控和數據采集(SCADA)系統中將計算機或服務器與遠程終端單元(RTU)連接。許多數據類型是根據梯形邏輯(一種通過基於繼電器邏輯電路圖的圖形來代表程序的一種編程語言)的行業用法機及其在驅動繼電器中的用途來命名的: 單位物理輸出稱為線圈,單位物理輸入稱為離散輸入或觸點。
Modbus協議在RS232,RS422和RS485之上運行。有針對Modbus幀的基於IP鏈路層定義的 Modbus/TCP規范。Modbus協議基於Request(請求)/Response(響應)模型。
Modbus通信協議的類型
串行端口和以太網存在多種版本的Modbus協議,最常見的是:
- Modbus RTU
- Modbus ASCII
- Modbus TCP
- Modbus Plus
Modicon發布了基於主從架構的多點網絡的Modbus通信接口。Modbus節點之間的通信通過發送請求和讀取響應類型消息來實現。
Modbus協議及其物理媒體
Modbus是描述消息通信對話框的開放標准。
Modbus通過多種類型的物理介質進行通信,例如:
-
串行RS-232
-
串行RS-485
-
串行RS-422
-
以太網
最初的Modbus接口在RS-232串行通信上運行,但是大多數后來的Modbus實現使用RS-485,因為它允許:
-
距離更長。
-
更高的速度。
-
單個多點網絡中可能有多個設備。
使用兩線制通過串行RS-485物理介質進行主從Modbus通信 發送 並接收連接。
在簡單的接口(如RS232或RS485)上,Modbus消息以純格式通過網絡發送,並且該網絡將專用於Modbus通信。
但是,如果您的網絡需要使用功能更廣泛的網絡系統(例如以太網上的TCP / IP)使用多個異構設備,則Modbus消息將以此物理接口規定的格式嵌入到以太網數據包中。
因此,在這種情況下,Modbus和其他類型的混合協議可以同時存在於同一物理接口上。
Modbus消息結構簡介
Modbus的主要消息結構是點對點。Modbus能夠在點對點和多點網絡上運行。
Modbus設備使用Master-Slave(Ethernet稱為Client-Server)技術進行通信,其中只有一個設備(Master 或Server)可以請求數據(稱為查詢)。
其他設備(Slaves或Clients)通過將請求的數據提供給主服務器或執行查詢中請求的操作來進行響應。
從站是任何外圍設備,例如I / O傳感器,閥門,網絡驅動器或其他測量類型的設備,它們處理信息並使用Modbus將其響應消息發送到主設備。
主機可以尋址單個從機或向所有從機發起廣播消息。從站將分別對所有尋址到它們的消息查詢返回響應,但不響應廣播消息。
從站不會自行回復消息,而僅響應從主站發送的消息查詢。
對於使用以太網的協議(例如Modbus TCP),任何設備都可以發出Modbus命令,因此所有設備都可以充當主設備,盡管通常只有一個設備充當主設備。
主站(Master)的查詢將包括:
- 從站地址(廣播地址)。
- 帶有從站讀取或寫入數據命令的功能代碼。
- 如果寫命令是由主機發起的,則寫命令為“數據”。
- 錯誤檢查字段。
命令
Modbus命令可以指示Modbus設備執行以下操作:
- 更改其寄存器之一的值,該值將被寫入線圈和保持寄存器。
- 讀取I / O端口:從Discrete和Coil端口讀取數據,
- 命令設備發送回其線圈和保持寄存器中包含的一個或多個值。
Modbus命令包含要使用的設備的Modbus地址(1到247)。即使其他設備可能會收到命令,只有被尋址的設備才會響應並執行該命令(例外是發送到節點0的特定可廣播命令,該命令已執行但未確認)。
所有Modbus命令都包含校驗和信息,以使接收者能夠檢測到傳輸錯誤。
錯誤檢查
錯誤檢查是主機或從機在傳輸或響應開始時創建的值,然后在接收到消息時進行檢查以驗證內容是否正確。
從站的響應包括:
- 確認請求的字段。
- 要返回的數據。
- 錯誤檢查數據。
如果未發生錯誤,則從站的響應將包含所請求的數據。
如果從站接收到的消息查詢中發生錯誤,或者從站無法執行請求的操作,則從站將返回異常消息作為其響應。
從站的消息幀的錯誤檢查字段允許主站確認消息的內容有效。
在本文中,您了解了什么是Modbus通信協議以及行業中使用的Modbus通信類型。