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