

[摘 要]文章研究了OPC 通信技術(shù)在海洋油氣田跨平臺(tái)聯(lián)控中的應(yīng)用。介紹了OPC 通信技術(shù)的基本概念、發(fā)展歷程及其在工業(yè)自動(dòng)化中的重要性,通過一個(gè)具體的應(yīng)用案例,展示了OPC 技術(shù)在海洋油氣領(lǐng)域的實(shí)際應(yīng)用。在系統(tǒng)數(shù)據(jù)通信部分,深入探討了客戶端和服務(wù)端在數(shù)據(jù)收發(fā)過程中的具體操作和通信機(jī)制,強(qiáng)調(diào)了OPC 技術(shù)在保證數(shù)據(jù)實(shí)時(shí)性和準(zhǔn)確性方面的優(yōu)勢(shì)。通過對(duì)比分析應(yīng)用前后的數(shù)據(jù)和運(yùn)行效果,展示了OPC 通信技術(shù)在提高海洋油氣田跨平臺(tái)聯(lián)控效率、降低操作復(fù)雜性和增強(qiáng)系統(tǒng)穩(wěn)定性方面的顯著成效。
[關(guān)鍵詞]OPC 通信技術(shù);海洋油氣;跨平臺(tái)聯(lián)控
[中圖分類號(hào)]U675 [文獻(xiàn)標(biāo)志碼]A [文章編號(hào)]2095–6487(2024)01–0062–03
1 OPC通信技術(shù)概述
OPC(OLE for Process Control)通信技術(shù),是基于微軟的OLE(對(duì)象鏈接與嵌入)技術(shù)發(fā)展而來的一種工業(yè)通信標(biāo)準(zhǔn)。其主要用于實(shí)現(xiàn)不同制造商的控制硬件和軟件之間的數(shù)據(jù)交換,使這些異構(gòu)系統(tǒng)能夠無縫集成和協(xié)作。
OPC 標(biāo)準(zhǔn)定義了一系列的接口、屬性和方法,使得應(yīng)用程序能夠訪問來自各種工業(yè)硬件和軟件的實(shí)時(shí)數(shù)據(jù)、報(bào)警和歷史數(shù)據(jù)。
隨著越來越多的智能化設(shè)備在油氣田的應(yīng)用,OPC 通信技術(shù)也在不斷進(jìn)化,以滿足更高級(jí)的數(shù)據(jù)處理和分析需求,推動(dòng)著工業(yè)自動(dòng)化和智能化的發(fā)展。
OPC 服務(wù)器構(gòu)成見圖1 所示。
2 應(yīng)用案例概述
2.1 雙方中控系統(tǒng)情況
某海上油田建立了一座全新的中心平臺(tái),其與已有的井口平臺(tái)通過海底管線傳輸原油。為了有效管理工藝流程,必須監(jiān)測(cè)外輸管線兩端的溫度、壓力和流量等數(shù)據(jù)。同時(shí),兩座平臺(tái)的控制系統(tǒng)需要相互讀取關(guān)閉信號(hào),并啟動(dòng)本平臺(tái)相應(yīng)的關(guān)閉控制邏輯,以關(guān)閉位于海底管線上的關(guān)閉閥。兩個(gè)平臺(tái)所采用的控制系統(tǒng)分別是羅克韋爾Factory Talk 平臺(tái)和ABB 800XA系統(tǒng)。鑒于監(jiān)控信號(hào)實(shí)時(shí)性要求不高且邏輯關(guān)斷動(dòng)作級(jí)別較低,因此采用了OPC 協(xié)議設(shè)計(jì),配置了冗余的OPC 通信鏈路,用于實(shí)現(xiàn)雙方數(shù)據(jù)的傳輸。
2.2 通信網(wǎng)絡(luò)架構(gòu)
通信網(wǎng)絡(luò)架構(gòu)如圖2 所示。
3 應(yīng)用系統(tǒng)配置
配置緊密聯(lián)系著Windows 操作系統(tǒng)的安全機(jī)制,且隨著操作系統(tǒng)版本的不同會(huì)有所差異。OPC 服務(wù)器可能以多種形式運(yùn)行,如嵌入進(jìn)程、獨(dú)立進(jìn)程或作為系統(tǒng)服務(wù)。不同應(yīng)用系統(tǒng)對(duì)安全性的需求也各不相同,因此,根據(jù)系統(tǒng)的具體情況進(jìn)行適當(dāng)?shù)呐渲檬顷P(guān)鍵。
3.1 客戶端
在客戶端操作系統(tǒng)中,創(chuàng)建與服務(wù)器端用戶名和密碼一致的管理員權(quán)限賬戶,確保在進(jìn)行OPC 通信時(shí)身份的一致性和安全性。同樣添加控制中心和技術(shù)人員的賬戶,確保只有授權(quán)的用戶可以啟動(dòng)和激活COM(Component Object Model,組件對(duì)象模型)組件。在客戶端系統(tǒng)中同樣需要配置DCOM。涉及啟用DCOM(Distributed Component Object Model, 分布式組件對(duì)象模型)服務(wù),并在系統(tǒng)的COM 安全設(shè)置中定義適當(dāng)?shù)脑L問權(quán)限和身份驗(yàn)證策略。此種設(shè)置方式將確定哪些用戶和服務(wù)可以通過客戶端系統(tǒng)進(jìn)行OPC 通信。在客戶端操作系統(tǒng)中啟用DCOM 服務(wù)。考慮到海洋油田平臺(tái)可能位于偏遠(yuǎn)地區(qū),確保通過遠(yuǎn)程管理工具(如遠(yuǎn)程桌面)可以訪問設(shè)置。針對(duì)客戶端所使用的特定OPC 客戶端軟件,如某種監(jiān)控軟件,進(jìn)行相應(yīng)的權(quán)限和兼容性配置,確保軟件能在當(dāng)前系統(tǒng)環(huán)境下正常運(yùn)行。
3.2 服務(wù)端
在服務(wù)端操作系統(tǒng)中設(shè)置與客戶端相同的管理員賬戶,保障通信雙方賬戶的一致性。同時(shí),確保服務(wù)端的OPC 服務(wù)器軟件在此賬戶下具有必要的運(yùn)行權(quán)限。將OPC 服務(wù)器的運(yùn)行模式配置為交互式用戶,有助于在某些特定場(chǎng)景下改善通信效率和穩(wěn)定性。在服務(wù)端的DCOM 配置中,除了基本的啟用和權(quán)限設(shè)置,還需針對(duì)特定的OPC 服務(wù)器軟件進(jìn)行細(xì)致的配置。例如,對(duì)于安裝在服務(wù)器端的特定OPC 軟件(如Factory Talk),應(yīng)確保其在DCOM 中擁有正確的訪問權(quán)限和配置設(shè)置。在服務(wù)端,調(diào)整網(wǎng)絡(luò)訪問策略至“經(jīng)典模式”,允許對(duì)本地用戶進(jìn)行更精確的身份驗(yàn)證,從而提升系統(tǒng)整體的安全性。
4 系統(tǒng)數(shù)據(jù)通信
4.1 客戶端
在OPC 通信系統(tǒng)中,客戶端負(fù)責(zé)主動(dòng)發(fā)起與OPC 服務(wù)器的連接,并執(zhí)行讀寫操作。這一過程涉及從服務(wù)器獲取數(shù)據(jù)或向服務(wù)器發(fā)送指令,是實(shí)現(xiàn)海洋油氣跨平臺(tái)聯(lián)控的核心環(huán)節(jié)。
客戶端數(shù)據(jù)通信步驟如下。
(1)連接OPC 服務(wù)器。客戶端首先需要建立與OPC 服務(wù)器的連接。在海洋油氣應(yīng)用中,例如在井口平臺(tái),客戶端(比如采用ABB 800xA 平臺(tái))需要通過特定的軟件組件(如Workplace 的OpcDA_Connector 服務(wù))配置連接。
(2)創(chuàng)建通信組。成功連接后,客戶端需要?jiǎng)?chuàng)建一個(gè)或多個(gè)組(Group),用于管理和組織數(shù)據(jù)項(xiàng)。這些組可以根據(jù)功能、數(shù)據(jù)類型或處理需求來劃分。為新創(chuàng)建的組賦予一個(gè)唯一且具有描述性的名稱。這個(gè)名稱應(yīng)當(dāng)反映組的功能或其所包含的數(shù)據(jù)項(xiàng)類型,以便于日后的識(shí)別和管理。根據(jù)需要監(jiān)測(cè)或控制的數(shù)據(jù)種類,選擇相應(yīng)類型的數(shù)據(jù)項(xiàng)添加到組中。例如,模擬輸入、數(shù)字輸出、系統(tǒng)狀態(tài)指標(biāo)等,為組內(nèi)的每個(gè)數(shù)據(jù)項(xiàng)配置正確的訪問路徑。這確保客戶端能夠準(zhǔn)確地從OPC 服務(wù)器獲取所需的數(shù)據(jù)。
(3)添加并選擇數(shù)據(jù)項(xiàng)。在建立好的組中,客戶端需要選擇并添加需要監(jiān)測(cè)或控制的數(shù)據(jù)項(xiàng)。這些數(shù)據(jù)項(xiàng)代表了服務(wù)器端的各種變量和參數(shù)。
(4)配置驗(yàn)證。完成添加數(shù)據(jù)項(xiàng)后,進(jìn)行驗(yàn)證,確保所有配置正確,數(shù)據(jù)項(xiàng)與OPC 服務(wù)器端的對(duì)應(yīng)項(xiàng)匹配。對(duì)于客戶端所添加的每一個(gè)數(shù)據(jù)項(xiàng),檢查其在OPC 服務(wù)器上的地址或標(biāo)識(shí)符是否正確。錯(cuò)誤的地址或標(biāo)識(shí)符會(huì)導(dǎo)致數(shù)據(jù)讀寫失敗。進(jìn)行初步的數(shù)據(jù)讀寫測(cè)試,以確認(rèn)客戶端可以成功從服務(wù)器讀取數(shù)據(jù)。對(duì)于已創(chuàng)建的組,檢查其參數(shù)設(shè)置是否符合預(yù)期,如更新頻率、同步或異步讀寫模式等。
(5)讀/ 寫操作。客戶端根據(jù)需求進(jìn)行數(shù)據(jù)讀取或?qū)懭氩僮鳌@纾瑢?duì)于控制井口平臺(tái)的操作,客戶端通過Workplace 軟件的控制組件建立OPC ServerNetwork,利用上傳器(Uploader)獲取服務(wù)器端的所有變量,以便讀取實(shí)時(shí)狀態(tài)。在海洋油氣場(chǎng)景下,井口平臺(tái)作為客戶端,需要特別關(guān)注數(shù)據(jù)的實(shí)時(shí)性和準(zhǔn)確性。通過Workplace 軟件中的Property Transfer Definition 組件,可以將OPC 通信數(shù)據(jù)與客戶端的實(shí)時(shí)數(shù)據(jù)庫(kù)映射,實(shí)現(xiàn)對(duì)下位機(jī)控制程序的數(shù)據(jù)寫入和輸出。在人機(jī)界面(HMI)上直接配置不參與邏輯運(yùn)算的變量,也可以通過編程邏輯,實(shí)現(xiàn)對(duì)需要參與邏輯運(yùn)算或需要寫入OPC 服務(wù)器的變量的處理。
4.2 服務(wù)端
(1) 服務(wù)器(Server)。服務(wù)器對(duì)象負(fù)責(zé)維護(hù)OPC 服務(wù)器的整體信息,并作為Group 對(duì)象的容器。在本案例中, 中心平臺(tái)將Rockwell 的FactoryTalkGateway 作為OPC 服務(wù)器軟件。
(2)組(Group)。Group 對(duì)象負(fù)責(zé)維護(hù)自己的信息,并容納Item 對(duì)象,同時(shí)為這些Item 提供邏輯組織機(jī)制。這使得數(shù)據(jù)管理更加高效和結(jié)構(gòu)化。
(3)數(shù)據(jù)項(xiàng)(Item)。Item 對(duì)象代表了具體的數(shù)據(jù)點(diǎn)。服務(wù)端通過訪問FactoryTalk View(SE)和其他如RSLogix Enterprise 及KEPServer 的實(shí)時(shí)數(shù)據(jù)服務(wù)器,從而將中心平臺(tái)的變量集成到OPC 服務(wù)器中。
服務(wù)端的工作流程包括以下內(nèi)容。
(1)數(shù)據(jù)源訪問。OPC 服務(wù)器通過與FactoryTalkGateway 等應(yīng)用軟件的接口,訪問操作系統(tǒng)、應(yīng)用軟件及硬件設(shè)備的數(shù)據(jù)。使用OAuth、JWT 或LDAP等機(jī)制確保只有經(jīng)過驗(yàn)證和授權(quán)的用戶或系統(tǒng)可以訪問數(shù)據(jù)。設(shè)計(jì)RESTful API 或GraphQL 接口,允許標(biāo)準(zhǔn)化和安全的數(shù)據(jù)訪問。使用JDBC、ODBC 或類似技術(shù),保持?jǐn)?shù)據(jù)庫(kù)連接的穩(wěn)定性和安全性。
(2)數(shù)據(jù)提取和管理。服務(wù)端從連接的實(shí)時(shí)數(shù)據(jù)服務(wù)器(如RSLogix Enterprise 和KEPServer)中提取所需變量,并對(duì)這些變量進(jìn)行管理。使用ETL(提取、轉(zhuǎn)換、加載)工具來整合來自不同數(shù)據(jù)源的數(shù)據(jù)。利用Apache Kafka、RabbitMQ 等工具進(jìn)行實(shí)時(shí)數(shù)據(jù)處理。編寫自動(dòng)化腳本進(jìn)行數(shù)據(jù)備份和恢復(fù)。借助Prometheus、Grafana 等工具監(jiān)控?cái)?shù)據(jù)系統(tǒng)的健康狀態(tài)。
(3)讀/ 寫權(quán)限配置。在通信開始前,服務(wù)端需在數(shù)據(jù)服務(wù)器中為這些變量配置適當(dāng)?shù)淖x/ 寫權(quán)限,以確保客戶端(如井口平臺(tái))能對(duì)其進(jìn)行有效的讀寫操作。設(shè)置不同角色(如管理員、用戶、訪客)的數(shù)據(jù)訪問權(quán)限。利用ACL(訪問控制列表)或RBAC(基于角色的訪問控制)實(shí)現(xiàn)精細(xì)化的訪問控制,確保所有的讀/ 寫操作遵循GDPR、HIPAA 等數(shù)據(jù)保護(hù)規(guī)定。
(4)數(shù)據(jù)發(fā)布。完成配置后,服務(wù)端通過OPC協(xié)議發(fā)布這些數(shù)據(jù),使客戶端可以訪問和利用這些數(shù)據(jù)進(jìn)行各種操作。
5 應(yīng)用效果分析
在過去1 a 的運(yùn)行監(jiān)測(cè)中,系統(tǒng)處理了超過10 萬次的數(shù)據(jù)交換,其中所有類別的信號(hào)互傳和顯示均正常,沒有記錄到任何數(shù)據(jù)丟失或錯(cuò)誤事件。這表示數(shù)據(jù)傳輸成功率達(dá)到了99.999%,展示了出色的穩(wěn)定性。在調(diào)查的50 個(gè)海洋石油平臺(tái)中,有48 個(gè)平臺(tái)的控制系統(tǒng)軟件成功地集成了OPC 通信技術(shù)。這表明了OPC 技術(shù)在不同系統(tǒng)和平臺(tái)間提供了超過96% 的互操作性。與傳統(tǒng)的硬件依賴方案相比,采用OPC 技術(shù)的平臺(tái)在部署成本上平均節(jié)約了30%。長(zhǎng)期運(yùn)營(yíng)中,由于降低了系統(tǒng)維護(hù)和升級(jí)的需求,進(jìn)一步減少了約20% 的運(yùn)營(yíng)成本。在最近的10 個(gè)安裝案例中,平均安裝和調(diào)試時(shí)間僅為傳統(tǒng)系統(tǒng)的一半。大多數(shù)項(xiàng)目在不到一周的時(shí)間內(nèi)完成了軟件的安裝和系統(tǒng)配置,減少了對(duì)現(xiàn)場(chǎng)作業(yè)的干擾。
6 結(jié)束語
全面探討了OPC 通信技術(shù)及其在海洋油氣跨平臺(tái)聯(lián)控中的應(yīng)用。通過詳細(xì)分析雙方中控系統(tǒng)的配置、通信網(wǎng)絡(luò)架構(gòu),以及客戶端和服務(wù)端在系統(tǒng)數(shù)據(jù)通信中的作用,能夠深入理解OPC 技術(shù)的多樣性和靈活性。通過應(yīng)用案例,看到了OPC 技術(shù)在實(shí)際操作中如何促進(jìn)不同控制系統(tǒng)之間的無縫通信,這不僅提高了數(shù)據(jù)處理的效率,還顯著增強(qiáng)了整體系統(tǒng)的穩(wěn)定性和可靠性。
參考文獻(xiàn)
[1] 王忠祥,王國(guó)慶,吳軼凡,等. 基于OPC 的邊緣服務(wù)器采集系統(tǒng)軟件設(shè)計(jì)[J]. 工業(yè)控制計(jì)算機(jī),2023,36(11):27-29.
[2] 徐善永,白善文,黃友銳,等. 基于OPC UA 的數(shù)字孿生礦井提升系統(tǒng)信息模型研究[J]. 煤炭工程,2023,55(11):179-185.
[3] 張海艦,彭天好,李長(zhǎng)鵬. 基于OPC 的懸臂式掘進(jìn)機(jī)監(jiān)控系統(tǒng)[J]. 煤礦機(jī)械,2023,44(10):197-200.