Modbus是美國Modicon公司(即現在的Schneider Electric公司)于1979年開發的一種通信協議,其目的是采用一根雙絞線實現多個設備之間的通信。
Modbus很快就成為自動化工業領域事實上的標準,Modicon公司把它向社會公開發布,不收任何專利費用。
通過Modbus 協議,可以輕松地實現不同廠家的控制設備(例如PLC、變頻器和DCS)之間的通信。
Modbus 協議采用問答式的通信方式,具有簡單、硬件便宜、通用性強、使用方便的優點,容易開發和實現。Modbus RTU幾乎成了國產PLC和變頻器首選的通信協議。
Modbus 協議不需要專門的通信模塊,通信所需的堆棧和協議機制是以軟件形式實現的,屬于ISO-OSI 參考模型的第7層。它的另一個優點是可以通過任何傳輸媒介進行通信,包括雙絞線、無線通信、光導纖維、以太網、電話調制解調器、移動電話以及微波等。這樣可以很容易地在一個新的或者是現有的工廠里建立起Modbus連接。
目前使用的Modbus有三個版本:Modbus ASCII、Modbus RTU和Modbus/TCP。Modbus ASCII協議需要將一個字節的數據轉換為兩個字節的ASCII碼后發送。Modbus RTU協議的數據以二進制進行編碼,每個字節的數據只需要一個字節的通信量。
Modbus RTU通信采用主-從方式,最多傳送255個字節的數據。主設備與一個或多個從設備進行通信。比較典型的主設備是PLC、PC、DCS(集散控制系統)或者RTU(遠程終端單元)。Modbus RTU的從設備一般是現場設備。當Modbus RTU主設備想要從一臺從設備得到數據的時候,主設備發送一條包含該從設備站地址、所需要的數據以及一個用于檢測錯誤的CRC校驗碼。網絡上所有其它設備都可以接收到這條信息,但是只有地址被指定的從設備才會作出反應。Modbus網絡上的從設備不能發起通信,它們只能在主設備對它說話的時候回答。
Modbus /TCP可以被理解為以太網上的Modbus。Modbus /TCP不過是采用TCP/IP標準,簡單地把Modbus信息包打包壓縮而已。這樣Modbus /TCP設備就可以通過以太網和光纖網絡進行連接和通信。與RS-485接口相比,Modbus /TCP還允許使用更多的地址、可以采用多主站架構、傳送速率可以達到GB/s的水平。Modbus /TCP網絡的從站數量僅受限于網絡物理層的能力。通常從站的數量一般在1024個左右。
Modbus RTU采用16位的循環冗余校驗碼(CRC)。通過一個對數據進行“或”運算以及移位運算的復雜程序,由主設備產生CRC,并且由接收設備進行檢查。如果雙方計算出的CRC值不符,從設備就會要求重新傳送信息。
Modbus RTU協議分為Modbus RTU主站協議和Modbus RTU從站協議。Modbus通信是由功能碼來控制的,主站直接訪問從站的數據區。










