摘要:海上天然氣平臺有一套由Allen-Bradley PLC 5組成的 ESD系統,和一套由 EMERSON 8.0 版本DeltaV組成的 DCS。兩者之間的通信由PLC 5 1771 KE模塊和DeltaV可編程通信接口卡把各自的信號都轉換成 RS232 而進行的。但是發現兩套系統之間通信不穩定,出現數據錯包,丟包甚至通信完全中斷的情況。通過分析故障現象,檢查通信線路和設置,在沒有改變其他設置和參數的情況下,把接線方式改成采用流量控制后,通信不穩定甚至中斷問題得到徹底解決,沒有再出現故障。關鍵詞:自動化;通信;AB PLC 5;DeltaV;握手
Abstract: The seaborne natural gas platform has one set of ESD system formed by Allen-Bradley PLC 5 and one set of Emerson 8.0 DeltaV system. The communication between them was achieved by PLC 5 1771 card and DeltaV interface card which transfes the signals to RS232 respectively. But it was found that the communication is not stable, and leads data loss and even totally broken. The problem can be completely solved when the cable connection was modified to use handshaking while others setting remained unchanged.
key words: Automation; Communication; PLC5; DeltaV; Handshaking
1 引言
崖城Y13-1氣田原來DCS系統是由EMERSON ROSEMOUNT SYSTEM 3組成的,ESD系統是由Allen-Bradley PLC 5組成。這套DCS系統是20年前購買的,現在市場上很難找到備件,決定把它升級成EMERSON DeltaV 8.0系統。升級后DCS系統和 ESD系統的通信方式不變,由Allen-Bradley PLC 5的1771 KE模塊 (Series B)把DH+信號轉換成RS232信號,DeltaV系統是由可編程通信接口卡(Series 2)把Ethernet信號轉換成RS232信號,通過通信線把兩塊卡相連,再在各自的系統里做相應的設置,這樣兩個系統間的通信就建立起來了。在這個工作完成后的前5天,通信良好。之后3天在DeltaV的操作界面上能夠觀察到數據錯包和丟包現象,而且越來越嚴重,最后由于錯包和丟包太多,造成通信完全中斷,KE卡和可編程通信接口卡也出現紅燈報警[1]。影響了氣田的安全運行。
2 故障處理
為了解決這個問題,從硬件和軟件著手。硬件上更換了KE卡、可編程通信接口卡和通信線。軟件上重新檢查了通信設置,包括地址,波特率,校驗位和校驗方式[2],確保這些設置在兩個系統是一致的。而且接線方式和參數設置和出廠測試是一樣的。又確認供電、溫度、濕度和噪聲等系統運行環境和升級前沒有變化。但是問題還是和以前一樣,正常運行幾天后,然后數據包出錯和丟失問題再次出現,最后通信完全中斷。
3 采用握手接線方式
在處理故障的時候發現RS-232的接線方式是把各自的DSR和DTR信號線短接,把握手信號旁通了,如圖1所示。筆者嘗試采用握手信號,把各自的DTR和DSR相接,如圖2所示[3]。
圖1 不握手接線方式
圖2 握手接線方式
4 結果
按圖2接線后,通信即時恢復,卡上紅燈報警消除,數據交換正常。到現在已經運行了2年,再沒有出現數據包出錯或丟失和現通信中斷的情況,至此這個通信問題完全解決。
5 原因分析
既然兩個系統間的通信已經建立而且開始時是正常的,只是過了一段時間才出現問題的。說明參數的設置應該是對的,有可能是由于數據量太大變成擁塞最后完全癱瘓的。那么采用握手信號來進行流量控制就正好能夠解決問題。而在廠家測試時也是沒有用握手信號但通信沒有發現問題,而且這也是DeltaV可編程通信接口卡手冊上允許的。廠家測試時可能是通信數據量較少,PLC網絡結構單一,測試時間也只有兩天,所以沒有暴露出問題。
流量控制,是為了保證傳輸雙方都能正確地發送和接收數據而不會丟失。如果發送的速度大于接收的速度,而接收端的處理器來不及處理,則緩沖區在一定時間后溢出,造成以后發送來的數據無法進入緩沖區而漏失[3]。解決這個問題的辦法是讓接收方通知發送端何時發送及何時停止發送。流量控制又稱為握手(Hand Shaking),常用的方式有硬件握手和軟件握手[4]。
我們采用了硬件握手方式。在接線上把對方DTR(Data Terminal Ready 和DSR(Data Set Ready)相連接,發送方通過DSR告訴對方我準備好了,如果接收方通過DTR回應說我也準備好了,那么發送方才開始發送數據,否則就等待,直到對方回應準備好[5]。CTS(Clear to send) 和RTS(Ready to Send) 信號沒有連接。
6 結語
接線方式改成采用握手信號后,運行了2年,再沒有出現數據包出錯或丟失的現象,更沒有出現通信中斷的情況,問題得到完全解決。實踐證明在PLC 5和 DeltaV采用RS-232串行通信時需要正確地連接成握手方式,有利于控制流量,否則在實際應用時由于數據交換量大和網絡結構復雜,會出現通信錯包,丟包堵塞,甚至中斷現象。
參考文獻:
[1] 王志鵬, 可編程邏輯器原理與程序設計[M]. 北京: 國防工業出版社, 2005.
[2] ALLEN-Bradley Driver for DeltaV Series 2 Programmable Serial Interface Card User Manual, 2011,
[3] 陳光軍, 數據通信技術與應用[M]. 北京: 北京郵電大學出版社, 2005.
[4] 李斯偉, 雷新生, 數據通信技術[M]. 北京: 人民郵電出版社, 2004.
[5] 王華忠. 監控與數據采集 (SCADA) 系統及其應用[M]. 北京: 電子工業出版社, 2010.
作者簡介
蘭明光(1970-),男,江西高安人,高級工程師,學士學位,現就職于中海石油(中國)有限公司崖城作業公司,主要從事自動化系統的維護管理方面的工作。