靳 臣,陳紅衛(wèi)
(江蘇科技大學(xué) 電子信息學(xué)院,江蘇 鎮(zhèn)江 212003)
海上油氣勘探開發(fā)的重要裝備海洋鉆井平臺已受到了普遍關(guān)注,其中半潛式鉆井平臺[1]已發(fā)展到第6代。半潛式鉆井平臺是一種獨(dú)立在海上作業(yè)的大型平臺,設(shè)有鉆井機(jī)械設(shè)備、器材和生活艙室等,集航行、定位、鉆井、生產(chǎn)等多種功能于一體。相比較其他形式的海洋平臺,半潛式鉆井平臺在波浪中的運(yùn)動(dòng)響應(yīng)、對惡劣海況的適應(yīng)性、甲板可變載荷等方面具有較好的性能,在深海油氣開發(fā)中承擔(dān)著至關(guān)重要的角色。
海洋石油981號半潛式鉆井平臺是當(dāng)今最先進(jìn)的第6代深水半潛式鉆井平臺。其工作水深3 050 m,鉆井深度10 000 m,平臺設(shè)計(jì)質(zhì)量30 670 t,長度為114 m,寬度為79 m,從船底到鉆井塔頂高度130 m,電纜總長度650 km,采用大功率推進(jìn)器和DP3動(dòng)力定位系統(tǒng)。由此可見,半潛式鉆井平臺具有結(jié)構(gòu)龐大、造價(jià)昂貴、工作環(huán)境惡劣且維修困難等特點(diǎn)。為保證海上生產(chǎn)高效、順利地進(jìn)行,保證人員的生命安全,對其進(jìn)行集成監(jiān)控將是必然趨勢。依托網(wǎng)絡(luò)實(shí)現(xiàn)海洋鉆井平臺綜合監(jiān)控,一方面能及時(shí)對主要設(shè)備參數(shù)進(jìn)行報(bào)警、預(yù)警,提高可靠性和安全性;另一方面能提高自動(dòng)化程度,通過獲取實(shí)時(shí)數(shù)據(jù)來合理調(diào)度作業(yè)過程,提高生產(chǎn)效率,降低成本。此外,監(jiān)控所得的信息是管理層對作業(yè)進(jìn)行高效管理和制定策略的基礎(chǔ),最終使平臺實(shí)現(xiàn)管控一體化。
為了實(shí)施監(jiān)控系統(tǒng)通信網(wǎng)絡(luò)的統(tǒng)一化、標(biāo)準(zhǔn)化,與傳統(tǒng)監(jiān)控系統(tǒng)不同,工作站與設(shè)備、工作站與工作站、工作站與監(jiān)控中心之間通信采用的是OPC技術(shù)。
OPC技術(shù)是由世界上多個(gè)軟硬件供應(yīng)商、自動(dòng)化公司與微軟合作開發(fā)的一套數(shù)據(jù)交換接口標(biāo)準(zhǔn),它能夠?yàn)楝F(xiàn)場設(shè)備、自動(dòng)控制應(yīng)用、企業(yè)管理應(yīng)用軟件之間提供開放、一致的接口規(guī)范,為來自不同供應(yīng)商的軟硬件提供“即插即用”的連接[3]?;贑OM/DCOM技術(shù)的OPC采用客戶/服務(wù)器結(jié)構(gòu),廠商為設(shè)備提供符合OPC規(guī)范接口的服務(wù)器,應(yīng)用程序通過OPC接口對OPC服務(wù)器的訪問,實(shí)現(xiàn)現(xiàn)場設(shè)備、監(jiān)控系統(tǒng)以及管理系統(tǒng)之間的數(shù)據(jù)交換。
OPC數(shù)據(jù)訪問服務(wù)器的對象:OPC服務(wù)器對象(OPCServer)、OPC 組 對 象 (OPCGroup) 和 OPC 項(xiàng) 對 象(OPCItem)。OPCServer是客戶端和服務(wù)器交互的首要對象,客戶端通過該對象下的接口函數(shù)訪問服務(wù)器;OPCGroup用于管理服務(wù)器內(nèi)部的實(shí)時(shí)數(shù)據(jù)信息,提供成批訪問數(shù)據(jù)的機(jī)制。OPCItem不是數(shù)據(jù)源,它代表了OPC服務(wù)器到數(shù)據(jù)源的一個(gè)物理連接,可以是模擬量或開關(guān)量,但它是服務(wù)器的內(nèi)部對象,不直接與客戶端進(jìn)行交互。OPCServer和OPCGroup是必須實(shí)現(xiàn)的兩個(gè)標(biāo)準(zhǔn)的COM對象,它們實(shí)現(xiàn)了提供與客戶端程序交互的接口。
1)OPC服務(wù)器建立類廠,通過類廠,客戶程序可以創(chuàng)建OPC服務(wù)器。客戶程序通過OPC服務(wù)器的名字找到OPC服務(wù)器中注冊表的信息,創(chuàng)建一個(gè)服務(wù)器對象OPCServer。
2)通過訪問OPCServer的接口來實(shí)現(xiàn)數(shù)據(jù)通信的系列功能。通信流程如圖1所示,由于OPCItem對象包含于OPCGroup對象,所以必須先創(chuàng)建OPCGroup對象,然后在其下面添加OPCItem對象,讀寫OPCItem項(xiàng)對象的屬性Value、Qualityhe和Timestamp??蛻舳双@得數(shù)據(jù)可以用同步或異步方式。
圖1 OPC通信流程圖Fig.1 OPC communication flow chart
3)通信結(jié)束后,OPC客戶退出前必須釋放所有接口,并依次刪除OPCItem,OPCGroup和OPCServer對象。
集成監(jiān)控系統(tǒng)包括鉆井系統(tǒng)、動(dòng)力定位系統(tǒng)、功率管理、壓載系統(tǒng)和緊急關(guān)斷子系統(tǒng),網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,主要由監(jiān)控管理層,數(shù)據(jù)服務(wù)層和現(xiàn)場設(shè)備層組成[4]?,F(xiàn)場設(shè)備層位于底層,由各個(gè)子系統(tǒng)下的傳感器、離散IO和PLC等 組成各種異構(gòu)數(shù)據(jù)源以及CAN和PROFIBUS現(xiàn)場總線。數(shù)據(jù)服務(wù)層主要是數(shù)據(jù)庫和多個(gè)支持OPC接口的服務(wù)器組成,OPC服務(wù)器中封存了不同設(shè)備的驅(qū)動(dòng)程序,能夠?qū)⒉杉臄?shù)據(jù)轉(zhuǎn)換為統(tǒng)一的OPC數(shù)據(jù)格式,通過總線技術(shù)和網(wǎng)絡(luò)技術(shù)發(fā)送到監(jiān)控管理層,利用ODBC將實(shí)時(shí)數(shù)據(jù)保存在數(shù)據(jù)庫中。監(jiān)控管理層主要是OPC客戶端和應(yīng)用程序,通過界面參數(shù)顯示實(shí)現(xiàn)對平臺設(shè)備實(shí)時(shí)參數(shù)的監(jiān)控和對重要設(shè)備參數(shù)的報(bào)警等功能,保證系統(tǒng)的正常運(yùn)行。
半潛式鉆井平臺下的設(shè)備大多來自不同的設(shè)備廠商,通訊標(biāo)準(zhǔn)不統(tǒng)一,而不同廠商的設(shè)備基本只與自己開發(fā)的驅(qū)動(dòng)程序相匹配,這顯然不符合現(xiàn)今系統(tǒng)集成的要求。本系統(tǒng)中采用OPC服務(wù)器讀取數(shù)據(jù),然后由iFIX提供的OPC驅(qū)動(dòng)程序讀取OPC服務(wù)器中的變量,從而實(shí)現(xiàn)對不同廠商、不同區(qū)域的設(shè)備進(jìn)行集成監(jiān)控。
應(yīng)用OPC技術(shù)開發(fā)監(jiān)控系統(tǒng)的關(guān)鍵在于OPC服務(wù)器和客戶端的構(gòu)建。服務(wù)器可以選擇現(xiàn)成的OPC服務(wù)器程序,例如KEPServer;也采用編程簡單且能靈活滿足實(shí)際要求的OPC開發(fā)包來實(shí)現(xiàn),例如KOSRDK[5]。監(jiān)控系統(tǒng)由集成了OPC客戶端的iFIX組態(tài)軟件開發(fā),動(dòng)面功能強(qiáng)大且配置簡單。客戶端與OPC服務(wù)器的結(jié)構(gòu)如圖3所示。
圖2 雙冗余環(huán)形網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Network structure of double redundancy ring
圖3 客戶端-OPC服務(wù)器的結(jié)構(gòu)Fig.3 Structure of client-OPC serve
快速開發(fā)工具包KOSRDK是基于使用面向?qū)ο蟮募夹g(shù),適合VC++編程環(huán)境,它將OPC規(guī)范所定義的COM接口實(shí)現(xiàn)封裝動(dòng)態(tài)鏈接,通過調(diào)用KOSRDK.DLL的接口函數(shù)將數(shù)據(jù)傳到數(shù)據(jù)緩沖區(qū),形成本地列表,并經(jīng)過OPC服務(wù)器的驅(qū)動(dòng)將數(shù)據(jù)進(jìn)行傳遞,生成OPC服務(wù)器列表,供客戶層使用。這樣,開發(fā)者通過類的派生以及重載函數(shù),實(shí)現(xiàn)數(shù)據(jù)的訪問和提交,簡化OPC服務(wù)器的開發(fā)過程。
利用KOSRDK在VC++環(huán)境下開發(fā)OPC服務(wù)器的流程:
1)調(diào)用KOS_Init進(jìn)行初始化;
2)初始化成功后注冊回調(diào)函數(shù);
3)利用KOS_AddItem添加OPC點(diǎn)到OPC Server DLL中,這樣客戶端才能檢索和使用OPC點(diǎn);
4)通過KOS_UpdateItem更新地址空間內(nèi)的OPC點(diǎn)數(shù)據(jù)信息,將設(shè)備的實(shí)時(shí)信息和狀態(tài)反饋給客戶端;
5)運(yùn)行結(jié)束時(shí)需要?jiǎng)h除OPC點(diǎn)和反初始化,分別通過KOS_RemoveItem和KOS_UnInit兩個(gè)函數(shù)實(shí)現(xiàn)。
客戶端主要實(shí)現(xiàn)監(jiān)控和報(bào)警功能,選擇支持OPC標(biāo)準(zhǔn)的工控組態(tài)軟件iFIX開發(fā)客戶端,通過OPC接口訪問OPC服務(wù)器。iFIX是HMI/SCADA自動(dòng)化組態(tài)軟件,集強(qiáng)大功能、安全性、通用性和易用性于一身,提供了生產(chǎn)操作的過程可視化、數(shù)據(jù)采集和數(shù)據(jù)監(jiān)控。
iFIX與OPC服務(wù)器的連接配置:
1)注冊O(shè)PC服務(wù)器,并在OPC服務(wù)器下依次添加所需要的項(xiàng),設(shè)置項(xiàng)的名稱、數(shù)據(jù)類型、值等。
2)在OPC PowerTool下添加已注冊的OPC服務(wù)器Knight和KEPServer,并依次在服務(wù)器下添加、配置若干組,在組下添加項(xiàng),項(xiàng)的添加可以通過瀏覽選擇適合的OPC服務(wù)器中的項(xiàng)對象。
3)iFIX讀取數(shù)據(jù)。在數(shù)據(jù)庫管理器中創(chuàng)建標(biāo)簽,每個(gè)標(biāo)簽既要對應(yīng)所創(chuàng)建的服務(wù)器中的項(xiàng),又要對應(yīng)實(shí)際的監(jiān)控對象,比如電機(jī)電流與標(biāo)簽AI1對應(yīng),AI1與OPC項(xiàng)a.a.b對應(yīng)。
4)根據(jù)數(shù)據(jù)源與定義標(biāo)簽的對應(yīng)關(guān)系,已讀數(shù)據(jù)在由iFIX軟件設(shè)計(jì)的監(jiān)控界面上實(shí)時(shí)顯示,并可以設(shè)置參數(shù)的上下限實(shí)現(xiàn)報(bào)警功能。
以半潛式鉆井平臺動(dòng)力定位系統(tǒng)DPS(dynamic positioning system)[6]中的推力系統(tǒng)為例。推力系統(tǒng)配有8個(gè)360°全回轉(zhuǎn)吊艙推進(jìn)器,平均分布于鉆井平臺的4個(gè)角落。為滿足動(dòng)力定位DP-3要求,保證任意一個(gè)推進(jìn)器發(fā)生故障后仍應(yīng)有足夠的橫向和縱向推力,吊艙一般采用對角布置,即每個(gè)配電盤給對角的兩個(gè)吊艙供電。吊艙軸由液壓馬達(dá)驅(qū)動(dòng),能使吊艙 360°轉(zhuǎn)動(dòng)[7]。
測試系統(tǒng)利用PLC模擬采集設(shè)備的數(shù)據(jù)。S7-200模擬推進(jìn)電機(jī)的數(shù)據(jù)(推進(jìn)電機(jī)滑油壓力、溫度,冷卻液溫度,推進(jìn)電機(jī)轉(zhuǎn)矩、轉(zhuǎn)速、電壓、電流以及功率);S7-300模擬回轉(zhuǎn)馬達(dá)的數(shù)據(jù)(液壓油溫度、壓力,回轉(zhuǎn)角度,回轉(zhuǎn)角速度和回轉(zhuǎn)加速度)。分別將KEPServer和Knight作為對應(yīng)這兩個(gè)PLC的OPC服務(wù)器,進(jìn)行OPC項(xiàng)的添加和設(shè)置,最后按照3.2小節(jié)所示的方法與iFIX客戶程序連接。監(jiān)控系統(tǒng)的運(yùn)行效果圖如圖4所示,圖5是曲線顯示,可以根據(jù)選擇數(shù)據(jù)量標(biāo)簽顯示歷史曲線和實(shí)時(shí)曲線。
圖4 OPC服務(wù)器與iFIX客戶端的實(shí)時(shí)數(shù)據(jù)交互Fig.4 Real-time data interaction of OPC server and client iFIX
圖5 實(shí)時(shí)曲線和歷史曲線圖Fig.5 Real time curve and history curve
測試結(jié)果表明,基于OPC技術(shù)規(guī)范的客戶端和服務(wù)器能夠進(jìn)行數(shù)據(jù)交換,并且能夠?qū)⒉煌到y(tǒng)下的設(shè)備數(shù)據(jù)集成,從而可以實(shí)現(xiàn)對整個(gè)半潛式鉆井平臺的集成監(jiān)控。
OPC技術(shù)為現(xiàn)場設(shè)備、控制系統(tǒng)應(yīng)用、管理應(yīng)用軟件之間提供了開放、統(tǒng)一的標(biāo)準(zhǔn)接口,很好地解決了網(wǎng)絡(luò)異構(gòu)數(shù)據(jù)集成問題。而且OPC技術(shù)使設(shè)備生產(chǎn)廠商和應(yīng)用程序開發(fā)的工作分離,應(yīng)用程序開發(fā)人員無需重復(fù)開發(fā)設(shè)備驅(qū)動(dòng)程序,只需開發(fā)一套接口就可以和不同設(shè)備相連[8]。利用OPC技術(shù)開發(fā)集成監(jiān)控系統(tǒng)能縮短開發(fā)周期,提高互連互操作性、可擴(kuò)展性、可維護(hù)性、適應(yīng)性和經(jīng)濟(jì)性。本文遵循OPC標(biāo)準(zhǔn),設(shè)計(jì)開發(fā)了服務(wù)器和客戶端,實(shí)現(xiàn)了集成監(jiān)控系統(tǒng)的數(shù)據(jù)采集與處理、參數(shù)的監(jiān)測與控制以及數(shù)據(jù)存儲的功能。
[1]欒蘇,韓成才,王維旭,等.半潛式海洋鉆井平臺的發(fā)展[J].石油礦場機(jī)械,2008,37(11):90-93.
LUAN Su,HAN Cheng-cai,WANG Wei-xu,et al.Development of Semi-Submersible Rig [J].OilField Equipment,2008,37(11):90-93.
[2]陳丹,劉志剛.OPC技術(shù)和面向?qū)ο罂蚣芗夹g(shù)在船舶監(jiān)控系統(tǒng)中的應(yīng)用[J].船海工程,2006,3(3):58-61.
WANG Jing-xian,LIU Zhi-gang.Application of OPC technology and object-oriented framework in the vessel’s monitoringandcontrollingsystem[J].Ship&OceanEngineering,2006,35(3):58-61.
[3]王莉華,王建軍.分布式系統(tǒng)綜合集成測試技術(shù)[J].計(jì)算機(jī)工程,2008(34):57-59.
WANG Li-hua,WANG Jian-jun.Comprehensive integrated test technology for distributed system[J].Computer Engineering,2008(34):57-59.
[4]徐思成,李增權(quán),郭國選.基于OPC技術(shù)和以太網(wǎng)的異構(gòu)網(wǎng)絡(luò)集成[J].儀表技術(shù)與傳感器,2011(1):109-110.
XU Si-cheng,LI Zeng-quan,GUO Guo-xuan.Integration of distributing heterogeneous system based on ethernet and OPC technology[J].Instrument Technique And Sensor,2011(1):109-110.
[5]姜萍,段新會(huì),王銳.基于OPC技術(shù)的DCS監(jiān)控系統(tǒng)設(shè)計(jì)[J].信息化縱橫,2009(7):59-62.
JIANG Ping,DUAN Xian-hui,WANG Rui.Design of monitoring system for DCS based on OPC technology[J].Microcomputer&ITS Applications,2009(7):59-62.
[6]竇培林,袁洪濤,宋金揚(yáng),等.深水半潛式鉆井平臺DP3動(dòng)力定位系統(tǒng)設(shè)計(jì)和應(yīng)用[J].海洋工程,2010,28(4):117-121.
DOU Pei-lin,YUAN Hong-tao,SONG Jin-yang.Design and application of DP3 system for deep water semi-submersible drilling platform[J].The Ocean Engineering,2010,28(4):117-121.
[7]高文,陳紅衛(wèi).半潛式鉆井平臺動(dòng)力定位集成監(jiān)控技術(shù)[J].計(jì)算機(jī)測量與控制,2011,19(7):1611-1625.
GAO Wen,CHEN Hong-wei.Integrated monitoring technology of dynamic positioning in semi-submersible drilling platform[J].Computer Measurement&Control,2011,19(7):1611-1625.
[8]周磊,劉大成,周傳福,等.OPC規(guī)范下數(shù)據(jù)訪問服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2007,23(1):264-266.
ZHOU Lei,LIU Da-cheng,ZHOU Chuan-fu.Design and realization of data access server based on OPC specification[J].Control&Auyomation,2007,23(1):264-266.