問答中心
Answer Center
首頁
產品
解決方案
關于我們
服務支持
聯系我們
Answer Center
下載中心
視頻中心
常見問題
售后服務
時間:2022-12-10 10:28:27
點擊:2422
關鍵詞:modbus
Modbus是一種串行通信協議,是Modicon公司(現在的施耐德電氣 Schneider Electric)于1979年為使用可編程邏輯控制器(PLC)通信而發表。Modbus已經成為工業領域通信協議的業界標準(De facto),并且現在是工業電子設備之間常用的連接方式。Modbus協議有三種(Modbus-RTU(串口)、Modbus-ASCII(串口)、Modbus-TCP(以太網))。
通過此協議,設備之間可以通過網關來進行通信。Modbus協議具有標準、開放,可以支持多種電氣接口,數據幀格式簡單緊湊,數據傳輸量大、實時性好等特點,在工業控制系統中得到了廣泛的應用,已經成為通用工業標準。深入分析Modbus協議實現原理和其安全性對提高工控系統安全性有著重要的現實意義。ModbusRTU和ModbusASCII主要用于串行通信領域,而ModbusTCP則常用于以太網通信。現在,Modbus已經成為工業領域通信協議標準,并且現在是工業電子設備之間相當常用的連接方式。
層 |
ISO/OSI模型 |
|
7 |
應用層 |
Modbus應用協議 |
6 |
表示層 |
空 |
5 |
會話層 |
空 |
4 |
傳輸層 |
空 |
3 |
網絡層 |
空 |
2 |
數據鏈路層 |
Modbus串行鏈路協議 |
1 |
物理層 |
EIA/TIA-485(或EIA/TIA-232) |
協議原理
Modbus使用一種簡單的MasterandSlave主從協議(客戶機/服務器協議)進行通信。客戶機作為主站,向服務器發送請求;服務器(從站)接到請求后,對請求進行分析并作出應答。其中使用的通信幀被稱為應用數據單元(Application Data Unit,ADU),它包括通信地址段、功能代碼段、數據段和校驗段,如下圖:
一般使用上,監控系統(HMI)可以為Master,PLC、電表、儀表等都為Slave,HMI系統一直PollingSlave的各種relayandregister最新數值,然后做顯示及各種邏輯計算及控制調整等處理。
其中,功能代碼段和數據段組合稱為協議數據單元(Protocol Data Unit or Protocol Description Unit),PDU)。功能代碼段占用一個字節,取值范圍為1~255,其中128~255為保留值,用于異常消息應答報文。1~127為功能代碼編號,其中65~72和100~110為用戶自定義編碼。
Modbus 協議是一種應用層報文傳輸協議,包括ASCII、RTU、TCP三種報文類型,協議本身并沒有定義物理層,只是定義了控制器能夠認識和使用的消息結構,而不管它們是經過何種網絡進行通信的。
Modbus 協議使用串口傳輸時可以選擇RTU或ASCII模式,并規定了消息、數據結構、命令和應答方式并需要對數據進行校驗。ASCII 模式采用LRC校驗,RTU模式采用16 位CRC校驗。通過以太網傳輸時使用TCP,這種模式不使用校驗,因為TCP協議是一個面向連接的可靠協議。
免責聲明:本網站部分文章、圖片等信息來源于網絡,版權歸原作者平臺所有,僅用于學術分享,如不慎侵犯了你的權益,請聯系我們,我們將做刪除處理!