童健
(浙江杭鋼動力有限公司,浙江杭州310022)
基于S7-200的Modbus通訊過程容錯性提高方法
童健
(浙江杭鋼動力有限公司,浙江杭州310022)
采用西門子S7-200實現iFIX上位機同英格索蘭氮氣透平機的數據通訊,通過對數據包通訊狀態的監控,判斷氮透是否正常運行,跳過處于非工作狀態的氮透數據包請求,解決了因氮透停止運行導致的數據讀取異常現象,提高了通訊過程容錯性。
數據通訊;監控;容錯性
隨著工業通訊技術的不斷發展,在工控領域,儀器儀表之間以總線通訊的方式實現信息傳遞成為越來越普遍的做法。其原因在于現場總線通訊技術改變了傳統模擬信號采集中,一對一的采集方式,實現一對多、雙向的信號傳遞過程,在通訊效率、抗干擾能力上遠強于傳統的模擬信號傳遞方式。然而,在實際的現場總線通訊過程中,總線上某通訊對象的異常狀況可能會影響總線上信號傳遞過程,降低通訊效率甚至造成通訊中斷。
本文針對iFIX上位機與英格索蘭氮氣透平機之間采用Modbus現場總線方式通訊過程中出現的通訊故障問題,提出了一種新的通訊模式,徹底解決了通訊過程中存在的故障,提高系統運行的穩定性。
iFIX組態軟件自帶Modbus驅動接口。英格索蘭氮透支持基于RS485的Modbus通訊方式。在工控機上安裝一塊RS485通訊卡,即可實現iFIX組態軟件與英格索蘭氮透的數據通訊。通訊結構圖如圖1所示。

圖1 通訊結構圖
筆者所在單位原一期氮透項目只有1#、2#2臺氮壓機,即采用以上通訊方式,實施方便,數據采集、通訊正常。二期又上了2臺氮透,還是采用該通訊模式進行數據的采集監控。可隨后,監控計算機采集的數據經常不更新,刷新時間很長,嚴重影響監控系統的實時性。
通過對數據采集過程的分析,我們發現由于每個Modbus數據包只能讀取連續地址的數據,而每個數據包最長只能讀取128個字節數據。因此,如果需要讀取地址40001、40130的數據,需要分成兩個數據包讀取。本系統中,為了讀取一臺氮透中AI/ AO/DI/DO的數據,需要12個數據包,四臺氮透共需要48個數據包。每個數據包的發送與接收時間約為0.1 s,故完成4臺氮透的所有數據的采集過程,約需要4.8 s時間。
然而,當其中有一臺氮透斷電(處于備機狀態)時,iFIX所發出的請求包無法獲得回應,在iFIX的Modbus通訊機制中,數據包無法獲得回應時,每1秒重復發生5次,還沒有獲得回應,則跳轉至下一個數據包。因此,如果有一臺氮透斷電沒有工作,則該氮透的12個數據包均需要重復發送5次,耗時60 s,整個數據采集循環周期為63.6 s。兩臺氮透沒有工作,則循環周期為122.4 s。該情況導致正常運行的氮透在上位機上長時間無法獲取數據,影響上位機系統對氮透的監控進程,進而影響正常的生產。
以上的分析與實際情況相符。因為一期時二臺氮透(一臺低壓、一臺中壓)均長期處于運行狀態,不存在備機的通訊等待問題。而二期后,有了備用機組,當備用機組未通電時,即發生了上述的數據長時間不刷新的現象,備用機組越多,該現象越明顯。
為了在氮透運行臺數發生變化時,均能夠保證iFIX上位機對氮透的數據采集速度,擬采用西門子S7-200系列PLC與氮透實現通訊,利用S7-200靈活的數據通訊功能,解決同氮透通訊中存在的問題,實現穩定、快速通訊。
采用S7-200實現iFIX同氮透的通訊結構圖如圖2所示。

圖2 利用S7-200通訊結構圖
S7-200的CPU自帶1~2個RS485通訊端口,默認支持PPI通訊協議。同時,通過自由編程,可支持任何基于RS485主從通訊模式的通訊協議。利用該通訊口實現同氮透之間基于RS485的Modbus通訊,采集氮透的實時運行數據。再通過以太網,實現iFIX上位機同S7-200的通訊,從S7-200讀取所有氮透的運行數據,實現上位機對氮透系統的數據監控功能。S7-200 Modbus通訊初始化程序如圖3。

圖3 S7-200 Modbus通訊初始化程序圖
針對于通訊過程由于某臺氮透斷電影響其他氮透的數據讀取速度的問題,S7-200的通訊過程采用以下方式解決:
(1)每個數據包分別設置標示符。每組氮透數據包對應的標示符表如表1。

表1 氮透數據包對應的標示符
(2)程序實時監控數據包發送與接收成功位“Done”。當檢測到“101Done”位為1,表示101數據包發送與接收成功,繼續執行102數據包的發送。按此順序執行所有數據包的發送過程。
(3)程序試試監控數據包發送與接收失敗位“Error”。當程序檢測到每臺氮透第一個數據包發送失敗時,直接跳轉至發送下一臺氮透數據包。
程序運行流程圖如圖4所示。
程序實現部分代碼分數據包順序發送代碼和通訊故障跳轉代碼兩部分。因篇幅所限,不在此詳列。
經過測試,采用S7-200與英格索蘭氮透通訊,4臺氮透全部正常運行時,數據采集周期為4.8 s。3臺氮透運行時,數據采集周期為3.7 s。2臺氮透運行時,數據采集周期為2.6 s。實踐證明,在該模式下運行,氮透的啟動或者停止,對上位機的數據采集過程沒有任何影響,提高了數據通訊過程容錯性。
Improvement Method of Modbus Communication Process Fault Tolerance Based on S7-200
TONG Jian
(Power Co.,Ltd.,Hangzhou Iron and Steel Group Co.,Hangzhou,Zhejiang 310022,China)
Siemens S7-200 is adopted to realize data communication of iFIX upper computer and Ingersoll Rand nitrogen turbine.By monitoring the state of the data packet communication it can determine whether the nitrogen turbine is in normal operation or not. The packet request of the nitrogen turbine in the non-working state can be ignored.It solves datareadabnormalphenomenonduetothenitrogenturbine’soutageandimproves communication process fault tolerance.
data communication;monitor;fault tolerance
TN919
B
1006-6764(2013)07-0081-03
2013-03-15
童健(1974-),男,1994年7月畢業于本溪冶金高等專科學校工業自動化儀表,大專學歷,2013年2月畢業于浙江大學遠程教育學院電氣工程,本科學歷,學士學位,工程師,現從事儀控自動化專業的技術管理和氣體廠的設備管理工作。