謝光華 韓菲 任靜思 張富利
[摘 要] 隨著石油行業中數字油田發展,SCADA 系統在油田中的建設規模不斷擴大。基于SCADA在油田生產過程監控與調度中應用廣泛和重要性,豐富的實時自動化數據與其他應用系統安全共享應用,可以促進提升企業油氣生產管理水平。文章以某油田為例,介紹了一種基于SCADA系統組態軟件數據訪問接口,實現與其他分析應用系統之間數據實時交換的方法,并應用于視頻圖像與監測數據綜合分析中取得良好效果,可推廣應用到油田SCADA系統數據治理等領域。
[關鍵詞] 油田SCADA;數據采集;安全共享
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2018. 23. 028
[中圖分類號] F270.7;TN914 [文獻標識碼] A [文章編號] 1673 - 0194(2018)23- 0069- 02
1 前 言
數據采集與監控系統(Supervisory Control And Data Acquisition,SCADA)廣泛應用于電力調度、油氣調度、軌道交通綜合監控等工業控制領域,在提高系統運行效率,保障生產系統安全,輔助分析事故發生原因等方面起著重要作用[1]。隨著網絡、面向對象、數據庫等技術協同發展,SCADA數據與其他系統集成應用,滿足綜合、安全、經濟運行以及商業化運營的需要。
運用SCADA系統組態軟件支持的數據接口,根據具體應用需求,選擇合適的傳輸協議,通過程序開發數據采集工具,將自動化實時數據采集任務與數據應用分析任務分離,監測數據實時轉發,第三方系統分析結果信息及時回寫,實現自動化數據安全、快速、經濟共享,一體化應用。
2 油田SCADA系統數據實時交互方法設計
2.1 油田SCADA系統架構簡介
油田SCADA 系統是一個將生產過程控制與遠程調度相互結合的自動化系統。通過對油田生產過程中的流量、溫度、設備狀態、密度、壓力、液位、管道系統等相關信息采集,異常預警報警,從而有效地監控與管理整個油田生產過程[2]。
某油田SCADA系統常采用三層架構設計[3],分為數據采集層、數據監控層、數據應用層。現場采集層,是系統的數據源,包括儀表、PLC/RTU站庫系統,由油氣水井、計量站、接轉站、供汽站、油氣水管網站控系統,以及原油、污水、清水處理站DCS系統等構成。單井、管網站控系統通過無線方式與監控層通訊;重點站場、DCS系統通過有線光纖與監控層通訊。數據監控層是系統核心部分,數據采集、分析、管理在此層實現,起承上啟下作用。由SCADA冗余主備服務器、實時數據服務器、歷史數據服務器組成。也是人機接口部分,系統監視、調控、預警、策略調配等功能通過客戶層實現。數據應用層,通過單向隔離網閘將自動化數據發送到油田辦公網上,實現自動化數據的安全共享,在遠端通過IE瀏覽器實現數據的管理與綜合應用。
2.2 組態軟件數據訪問方式選擇
SCADA系統采用美國GE公司旗下的IFIX軟件作為上位機監控平臺組態軟件。IFIX 組態軟件支持ODBC 方式和DAO 、RDO 、ADO 等VBA數據訪問方式,可以與企業自動化管理系統無縫連接。
IFIX ODBC由SQL任務、觸發塊SQT、數據塊SQD三部分組成。建立一個SQL任務,需要通過關系數據庫SQL命令、IFIX軟件SQL任務選項一系列配置操作。觸發塊SQT掃描周期和相位,根據系統設計規劃嚴格設置和跟蹤測試。采集任務不斷增多時,若一個掃描相位設置不合理,將可能影響一組SQL任務不能正常執行完成數據轉儲[4]。IFIX ODBC方式操作過程復雜,安全風險高,主要限于系統管理員或專業維護工程師采用,并以實現向關系數據庫周期推送數據功能為主。IFIX VBA設計中可采用ADO組件,通過配置和編程實現實時數據向關系數據庫、Excel文件等的推送以及回寫。此方法建立一項新的數據交互任務,需要定制大量代碼,專業技術較高,同樣主要限于專業人員應用。
IFIX提供開發工具包(FIX Integration Toolkit)可訪問實時和歷史數據,包括實時數據訪問接口(EDA)和歷史數據訪問接口(HDA)以及其他功能函數,允許用C語言和VB.NET語言編寫的程序使用相同的.NET程序集進行訪問數據。工具包運行以iFIX 5.5運行為基礎。采用數據訪問開發工具包,設計在iFIX節點上運行的數據采集服務端程序,通過一定機制與非IFIX節點上運行的客戶端程序進行數據交互。將采集客戶端程序封裝成函數供其他應用系統快速、簡單、高效調用,實現SCADA系統數據實時交互。
2.3 數據交互服務/客戶端傳輸協議選擇
采用網絡協議實現數據采集客戶與服務端之間的數據交互。TCP/IP傳輸控制協議是Internet采用的一種標準網絡協議。TCP/IP是協議組可分為四個層次:網絡接口層、網絡層、傳輸層和應用層。TCP協議與UDP協議是傳輸層協議。TCP(Transmission Control Protocol,傳輸控制協議)是面向連接的協議,在收發數據前,必須和對方建立可靠的連接,TCP建立連接要進行3次握手,而斷開連接要進行4次。UDP(User Data Protocol,用戶數據報協議)是一種非連接協議,傳輸數據前發送端和接收端不建立連接。發送端UDP傳送數據的速度僅受應用程序生成數據的速度、計算機的能力和傳輸帶寬的限制;接收端UDP將每個消息段放入隊列,應用程序每次從隊列中讀一個消息段。一臺服務機可同時向多個客戶機傳輸相同的消息。
油田SCADA監控系統物理節點(服務器、監控機),有實時數據應用需求的系統服務器均部署在油田生產專用網絡內部,網絡通訊鏈路相對穩定、安全。UDP協議與TCP協議相比,具有資源消耗小,處理速度快的優點。同時鑒于分析對監控數據有時效性要求,選擇UPD協議進行數據采集客戶與服務端通訊,實現分析系統與監控系統之間的數據交互。
2.4 SCADA系統與分析系統通信設計
運用Visual Studio 2010開發環境用C#程序語言,采用對象和模塊方法設計,實現UPD通信和系統數據實時交互。建立通信管道,客戶端和服務器端通信進程通過Socket進行通信。Socket 類為網絡通信提供了一套豐富的方法和屬性。通信規則采用指定協議。基于UDP協議和數據操作需求,定義讀、寫操作信息編碼、解碼函數,統一約定客戶端與和服務器端通訊信息編碼、解碼方式。通信進程中首先創建一個Socket對象,使用SendTo()和ReceiveFrom()方法進行通訊。SendTo()方法指定要發送的數據和目標機器IP地址。IP地址、通信端口號通過程序配置文件定義。當網絡環境改變,修改配置文件中的IP和端口號,快速完成系統移植與部署。
通信客戶端、服務端程序流程如圖1所示。
服務端程序調用工具包(iFixToolkit.Adapter2.dll)函數,以組態軟件運行為基礎,實現數字、字符、Ascii等類型數據的讀取或寫入等操作。客戶端與服務端UDP通信,將相關函數封裝成接口,應用功能函數直接調用,完成數據讀寫任務。應用功能函數不依賴組態軟件運行,降低開發難度,非SCADA系統管理員或專業維護工程師可以完成。
3 數據實時交互方法應用
運用上文數據實時交互方法,研發采集工具成功應用于某油田的注汽鍋爐視頻圖像分析與數據一體化監控管理[5]。將視頻圖像分析過程任務分解,運用UDP網絡通信實現數據采集任務分離,一臺數據采集服務器與多臺分析服務器通訊,一個采集工具與多個圖像分析任務實時數據交互,解決了視頻分析軟件只能部署在SCADA節點上的問題,減少了對SCADA節點的操作,降低了系統部署安全風險。同時應用系統軟件統一開發,通過文件參數定制方法,實現系統快速、經濟部署。如圖2所示。
4 結 論
運用SCADA系統組態軟件提供的數據訪問接口,根據應用需求選擇合適的網絡傳輸協議,通過程序編程設計一種自動化數據實時交互方法,將自動化數據采集、分析任務分離,減少分析系統直接對監控組態軟件運行的依賴,實現分析系統服務器經濟靈活部署。運用此方法開發的數據采集工具軟件,應用于某油田鍋爐視頻圖像、監測數據實時綜合分析,實現視頻報警信息寫回數據監測系統和一體化監控,優化了數據、視頻監控處理操作步驟和相應的崗位設置,提高了油田生產過程監控管理效率。此數據實時交互方法和數據采集軟件工具可應用于SCADA系統數據標簽信息治理等領域,具有良好的推廣應用價值。
主要參考文獻
[1]陳曦,周峰,郝鑫,等.我國SCADA系統發展現狀、挑戰與建議[J].工業技術創新,2015(1):103-114.
[2]王尊天.SCADA系統在油田中的應用探析[J].中國管理信息化,2016,19(15):147-148.
[3]謝光華.稠油油田生產物聯網設計與建設[J].信息系統工程,2017(7):23-24.
[4]蔣能記,謝光華,李家燕.自動化實時數據轉儲優化[J].油氣田地面工程,2010,29(7):61-62.
[5]韓菲,謝光華,姚逸龍.油田注汽鍋爐視頻圖像分析系統設計[J].信息系統工程,2018(5):45-46.