摘 要:工業控制領域要解決的主要問題是如何實現不同廠家生產的儀表與控制系統之間的網絡通訊,有效地選擇同時支持不同廠家生產的儀表與控制系統的工業通訊協議標準進行通訊集成是進行異構系統通訊集成的關鍵,而通訊集成技術正是解決工業儀表與控制系統網絡通訊的核心技術。本文結合實際通訊集成工程實例,闡述了基于Modbus協議實現工業智能儀表與控制系統之間通訊集成技術的主要方法,并詳細介紹了基于Modbus協議實現異構系統之間通訊的完整解決方案。經過后期實際應用效果發現,基于Modbus協議實現的異構系統之間的通訊集成方案為工程運作中的第三方通訊問題的解決提供了很大的便利性。
關鍵詞:Modbus;通訊集成;集散控制系統
在現代工業控制領域中 智能儀表與控制系統所構成的異構系統之間的通訊標準差別一般都很大。在工廠中,不同的工藝設備儀表和工廠的控制系統往往采用不同廠家的PLC和DCS,因此,各種異構系統的通訊集成技術是實現在全廠范圍內對各系統進行綜合監測和控制的核心技術。如果工廠計劃自己進行通訊集成技術的開發,則需要考慮硬件和軟件方面的設施投資。其中,硬件方面需要購買網關設備進行各種不同協議的轉換,軟件方面需要解決軟總線OPC技術等問題,所以,在硬軟件投資上成本相對較高。目前,選擇同時支持不同廠家生產的儀表與控制系統的工業標準協議進行不同系統之間的通訊集成是一種比較主流的方法[ 1 ]。該方法不僅滿足系統集成領域的發展需求,還盡可能地考慮到降低工業生產成本問題。本文通過一個通訊集成工程實例,探討了基于Modbus協議下,一臺西門子S7-200微型PLC與恒壓供水控制器以及儀表之間的通訊集成方法和步驟。
1 Modbus通訊協議
Modbus通訊協議是一種廣泛應用于工業控制領域的串口通訊協議之一,該協議具有開放徹底、廣泛支持的特點[ 2 ],在掌握了關鍵的通訊集成編程技術后,可以利用自由口編程方法快速實現Modbus應用層的通訊協議,可以說Modbus通訊協議是一種利用極低成本實現通訊集成的方法。Modbus通訊協議不僅支持大部分傳統的個人計算機通訊接口,還支持大部分現代工業設備PLC、DCS等。Modbus的數據傳輸分為美國信息交換碼(ASCⅡ)和遠程終端設備(RTU)兩種模式。Modbus通訊協議中,包含了16種功能各不相同的功能碼,每種功能碼具有各自的指令含義。其中01、06、16這三個功能碼是STEP 7-MicroWin指令庫中常用到的功能碼。在STEP 7-MicroWin指令庫中含有預先定義好的子程序和中斷服務程序,這些預定程序是針對Modbus通訊而設計的,其主要用于實現西門子S7-200微型PLC與其他設備之間的通訊互聯。此外,Modbus主站協議中的一系列指令也方便了S7-200PLC與DCS以及智能儀表之間的通訊互聯,在這個過程中S7-200PLC相當于Modbus RTU主站,DCS和智能儀表屬于從站。在STEP 7-MicroWin指令庫中,主站的初始化操作指令是MBUS-CTRL,MBUS-MSG指令可以實現對從站的請求讀寫。MBUS-MSG與Modbus通訊協議中包含的功能碼存在相互對應的關系,例如:功能碼16與RW為1是相互對應的,功能碼03與RW為0也是相互對應的關系。S7-200PLC Modbus主站向從站寄存器中寫入相應數據就可以達到控制變頻器相關操作的功能,如控制變頻器的啟動停止以及控制其工作效率等,S7-200PLC Modbus主站讀取從站寄存器中的存儲數據也可以獲取關于變頻器的相關運行數據。此外,將S7-200PLC的V存儲區重置為1后,功能碼16被強制設定為單寄存器的寫入功能,從而實現對寄存器進行單寄存器寫入功能。通過上述介紹可以實現對工業控制現場智能儀表的一系列參數設置。
2 Modbus協議在工業上的應用
2.1 通訊集成工程案例
本文以某工業供水系統控制作為案例,該供水系統具有相互獨立的控制系統 ,其中各個系統之間互不干擾,采取獨立供水方式。為了實現對整個工業現場供水情況的實時掌握和監控,需要重點解決數據采集主站與恒壓供水控制器從站之間的通訊互聯問題。本文將以西門子的S7-200微型PLC作為數據采集的主站。
2.2 基于Modbus_RTU的通訊集成解決方案
將一臺西門子S7-200微型PLC作為數據采集的主站用于對整個供水系統的綜合監控,3臺恒壓供水控制器和液體流量計掛接到Modbus總線上作為Modbus從站,主站會對從站上的各儀表設備進行數據采集和控制。將S7-200PLC控制器上的Port0串行通訊端口連接到恒壓供水控制器端口上,并選用通用版工業組態軟件MCGS作為上位機,利用上位機和西門子S7-200微型PLC可以實現PPI通訊。
2.3 S7-200主站程序編寫
實現通訊互聯的關鍵步驟是對主站程序進行編寫。其主程序的編寫主要負責初始化主站通訊端口以及實現對從站數據的讀取和寫入操作,其中從站數據的讀取和寫入程序的實現主要利用輪詢和中斷的方法。S7-200 Modbus主站程序能夠實現對恒壓供水控制器寄存器中的數據讀取,其讀取寄存器中的壓力值,并將換算后的壓力值與管網上壓力表值進行對比,查看是否相同??傊?,利用S7-200 Modbus指令庫中的輪詢和中斷,使得異構系統之間的通訊變得更加簡單可行。
3 結語
本文介紹了基于Modbus協議的通訊集成工程案例,不僅提高了系統的穩定性,還大大縮短了整個系統的開發時間。利用Modbus協議實現不同廠家生產的儀表和控制系統之間的通訊集成,可以有效地降低工業現場的控制成本費用,同時現場布線操作起來相對容易,在一定程度上也減輕了施工人員的工作量,有效地提高了工業控制的靈活性和可靠性。
參考文獻:
[1] 史運濤,孫德輝,李志軍等.基于Modbus協議的通訊集成技術研究[J].化工自動化及儀表,2010,37(4):67-72.
[2] 王軍霞,趙金龍,程秀竹等.MODBUS RTU通訊協議在S7—200 PLC中的應用[J].自動化信息,2013(4):53-55.
作者簡介:
唐珺(1983-),男,江西南昌人,碩士,講師,研究方向:電子通信。