在衡器行業中,但凡涉及串行通信時,工程師們都會有一種無奈,就是通信協議問題。由于我國衡器廠眾多,各自采用自己的通信協議,使得通信協議五花八門,互不兼容。由于是自成一體,也為后續與其他系統聯網、維修、儀表配件互換等留有后遺問題。若采用一種工業控制領域的主流協議,各衡器廠的通信協議都與這個主流協議兼容,那么上述問題自然迎刃而解。這個主流協議* ModBus。
一、什么是 ModBus
ModBus 是一種通信協議,是由 Modicon 公司發表于 1979 年,主要用于 PLC(可編程邏輯控制器)系統。目前,在工業自動化設備通信連接中,ModBus 已是相當常見的一種連接方式。
二、ModBus 與其他通信協議比較
1、物理層簡單、價廉:ModBus 可以在常用且廉價的 RS232、RS485 等物理媒介上運行,不像CanBus、ProfiBus、BitBus 等需昂貴的芯片支持。
2、免費:ModBus 是一種公開的,可以無償使用的協議。而使用 ProfiBus 則需要向有關組織登記繳費。
3、使用普及:ModBus 是當前工業控制中使用廣的一種通信協議,基于這點,具有 ModBus的設備接入工控系統相對容易。
4、維護方便:由于接入 ModBus 總線相對其他工控總線而言,比較簡單。一般具有 RS232、RS485 等串行口的 PC 機都可以接入,使用 PC 機自帶的級終端軟件或其他串行控制軟件,就能觀察 ModBus 通信過程,可以很方便地查出故障站點。
三、ModBus 的主要型式
ModBus 主要有四種型式:ASCII、RTU、TCP/IP 和 Plus。
1、ASCII 型式:采用 ASCII 碼進行數據交換,使用縱向冗余校驗的校驗和(LRC)進行數據校驗。
2、RTU 型式:采用二進制碼進行數據交換,使用循環冗余校驗的校驗和(CRC)進行數據校驗。
3、TCP/IP 型式:主要用于以太網,不使用校驗和進行數據校驗。
4、Plus 型式:該型式為 Modicon 公司專有,采用專門的協處理器進行數據處理。
目前,使用廣泛的型式是 ASCII 和 RTU,主要采用 RS232、RS422、RS485 進行物理連接,其中 RS485 使用多。
四、ModBus 的結構
ModBus 協議是一個 master(主)/slave(從)架構的協議。有一個節點是 master 節點,其他使用 Modbus 協議參與通信的節點是 slave 節點。每一個 slave 設備都有一個的地址。ModBus 的通信比較簡單,由 master 發通信指令,指令中含有欲于之通信的 slave 站號。當 master 發指令時,所有 slave 都處于收聽狀態,一旦 slave 收聽到與自己地址相同的站號時,立刻執行指令的內容,并回傳執行的結果。
五、ASCII 型式的 ModBus 通信協議的格式
在 ModBus 上通信時,各站點的通信參數必須一致,如:波特率、奇偶校驗。
通信時,一個信息字節中的每 8 位分為兩個 ASCII 字符進行傳輸,允許字符傳輸間隔在 1 秒之內。
1、ASCII 型式每一字節的格式
16 進制編碼,ASCII 字符(0-9、A-F),即:0x30-0x39、0x41-0x46。
1 位開始位、7 位數據位(先低后高)、1 位奇偶校驗(無奇偶校驗時為 0)、1 位停止位。
2、數據錯誤校驗采用縱向冗余校驗(LRC)
3、通信幀格式(ModBus 命令格式)
開始 | 地址(站號) | 功能 | 數據 | 校驗(LRC) | 結束 |
:(0x3a) | xx | xx | x... | xx | CR、LF(0x0d、0x0a) |
1 字符 | 2 字符 | 2 字符 | N 字符 | 2 字符 | 2 字符 |
一個基本的 ModBus 命令,除了開始、校驗、結束字符外,還必須有地址項及功能項。地址——也就是站號,想要被操作的對象(slave 站號);功能——想要被操作的對象完成的任務。ModBus命令可以沒有數據項。
被操作的對象,在完成所要求的操作后,必須回傳一幀信息,傳遞操作結果。回傳信息的格式與命令格式相同,只是數據內容為操作的結果。
六、利用 ModBus,實現 PLC 與電子稱重設備的通信
為了使大家對 Modbus 有更進一步的了解,下面用例子方式說明如何把電子稱重設備接入 PLC控制系統的 Modbus 總線網絡。例子中的稱重儀表為上海彩信電子科技有限公司生產的 XK311增強型儀表。本例中,1 臺 PLC 作為主機(master),10 臺電子秤作為從機(slave),使用 XK311增強型儀表作為電子秤顯示儀表,從機地址為 70、71、72、....79。通過 RS485 連接 PLC 和各儀表,采用 ModBus ASCII 通信協議。PLC 可以對各臺儀表進行置零、去皮、讀取重量等多項操作。稱重系統示意圖如圖 1 所示,圖中的計算機是在系統調試時接入 RS485 總線的,用以觀察 RS485中傳輸的數據,正常工作時是移除的。
上述系統可實現以下功能:
1、正常工作時,PLC 每隔 10 秒輪詢一次,獲取每臺秤的重量。
2、當秤臺上重量異常時,PLC 會發出警告信息,提示控制室人員注意。
3、控制人員可以通過 PLC,對某臺秤發出置零、去皮等操作指令。
4、PLC 可對各臺秤的稱量,進行各項統計,生成必要的統計報表。
七、ModBus 與局域網互連
現在,很多 PLC 都具有局域網接口,通過該接口,就可以遠程控制稱重系統了。當然,也可以通過接在 Modbus 總線上的 PC 機,利用 PC 機的軟、硬件資源,編制相應的軟件,將重量信號傳送到局域網上。若局域網通過路由器接入因特網,很顯然重量數據就可以在因特網上傳輸了。本系統是通過 PLC 的 DH+網絡接入局域網的。當然,網絡部分使用的協議,* TCP/IP、NetBEUI。Modbus 也有相關的 TCP/IP 型式,這里就不再贅述了,大家可以參考相關的書籍。
上述的稱重系統只是 PLC 的一個子系統,是后期改造的一個項目。其整個 PLC 系統是采用美國 ROCKWELL 公司的 PLC,共有 5 臺 PLC 機箱(采用 PLC5 系列)、4 臺工控機和 2 臺服務器、若干臺 PC 組成的。PLC 采用 ROCKWELL 公司的 DH+網絡連接,使用 DF1 協議;其中 1臺 PLC 與稱重系統采用 RS485 連接,使用 Modbus 協議;DH+網絡通過 1 臺作為連接橋的工控機,連入局域網。工控機上的監控軟件是 RSVIEW32,操作人員通過該軟件的人機界面,觀察各項數據,發出各項指令,當然也包括稱重數據及指令。另外,局域網上的 PC 機也安裝了 RSVIEW32 軟件,只不過取消了操作指令,但可以通過該軟件觀察各項數據,便于其他相關人員關注設備運行情況。
八、結束語
本文簡單介紹了 ModBus 通信協議,例舉了電子秤采用 RS485 串行接口接入 PLC 系統,用ModBus 通信協議,實現與 PLC 的實時通信。由于水平有限,如有錯誤的地方,望諒解。
PLC 程序采用的是梯形圖,其中有對串行口進行操作的梯形圖,設置圖中的相關屬性,如波特率、奇偶校驗,把相關的 Modbus 操作命令寫入其中即可。有關 PLC 的編程請參閱 ROCKWELL 公司的《PLC5 指令系統與使用說明》。
請輸入賬號
請輸入密碼
請輸驗證碼
以上信息由企業自行提供,信息內容的真實性、準確性和合法性由相關企業負責,化工儀器網對此不承擔任何保證責任。
溫馨提示:為規避購買風險,建議您在購買產品前務必確認供應商資質及產品質量。