盧逸斌 王楠 朱智超 吳睫 唐亮
(1.上海宇航系統(tǒng)工程研究所,上海 201109;2.上海航天電子技術(shù)研究所,上海 201109)
基于OPC技術(shù)的飛行器測試與控制系統(tǒng)設(shè)計
盧逸斌1王楠1朱智超1吳睫2唐亮1
(1.上海宇航系統(tǒng)工程研究所,上海 201109;2.上海航天電子技術(shù)研究所,上海 201109)
為滿足飛行器地面測試與控制的需求,提高測試效率及測試設(shè)備的通用化程度,提出了一種基于OPC技術(shù)的飛行器測試與控制系統(tǒng)設(shè)計,并成功應(yīng)用于現(xiàn)役飛行器測試與控制系統(tǒng),高效地完成了數(shù)據(jù)采集與處理、參數(shù)監(jiān)測與控制、數(shù)據(jù)存儲等功能。
OPC 測試與控制 通用化
飛行器測試與控制系統(tǒng)在飛行器的整個研制流程中起到綜合檢驗飛行器的作用。通過測試與控制系統(tǒng)對飛行器的功能和性能進行全面的測試,對飛行器的接口和電磁兼容性進行全面檢測,是確保飛行器成功完成飛行任務(wù)的重要環(huán)節(jié)。
飛行器測試與控制系統(tǒng)有著規(guī)模大、專業(yè)廣、難度大、兼容性差的特點。目前常規(guī)飛行器測試與控制系統(tǒng)設(shè)備數(shù)量一般超過50臺專用測試設(shè)備,40臺通用測試設(shè)備,200個以上測試接口,100根以上測試電纜,5000個以上各類型的測試數(shù)據(jù)。近年來隨著測試技術(shù)的不斷進步,測試與控制系統(tǒng)從VXI、PCI技術(shù)逐步向PXI、PLC技術(shù)轉(zhuǎn)變,為了提高綜合測試的效率,提高各類設(shè)備間的兼容性,提高設(shè)備的安全及故障預(yù)警能力,選擇應(yīng)用OPC技術(shù),整合不同監(jiān)控設(shè)備間,工作站與工作站、工作站與服務(wù)器之間的通信方式。
為了實施監(jiān)控系統(tǒng)通信網(wǎng)絡(luò)的統(tǒng)一化、標準化,與傳統(tǒng)監(jiān)控系統(tǒng)不同,工作站與設(shè)備、工作站與工作站、工作站與監(jiān)控中心之間通信采用的是OPC技術(shù)。
OPC是OLE for Process Control的縮寫,OPC技術(shù)是由世界上多個軟硬件供應(yīng)商、自動化公司與微軟合作開發(fā)的一套數(shù)據(jù)交換接口標準,它能夠為現(xiàn)場設(shè)備、自動控制應(yīng)用、企業(yè)管理應(yīng)用軟件之間提供開放、一致的接口規(guī)范,為來自不同供應(yīng)商的軟硬件提供“即插即用”的連接。
圖1 OPC結(jié)構(gòu)圖
基于微軟的COM(組件對象模型)/DCOM(分布式組件對象模型)技術(shù)的OPC采用客戶/服務(wù)器結(jié)構(gòu),廠商為設(shè)備提供符合OPC規(guī)范接口的服務(wù)器,應(yīng)用程序通過OPC接口對OPC服務(wù)器進行訪問,實現(xiàn)現(xiàn)場設(shè)備、監(jiān)控系統(tǒng)以及管理系統(tǒng)之間的數(shù)據(jù)交換,如圖1所示。
圖2 飛行器測試與控制系統(tǒng)網(wǎng)絡(luò)組成圖
圖3 OPC客戶端數(shù)據(jù)設(shè)置界面
圖4 監(jiān)控軟件界面
OPC對象模型分為不同層次的三類對象組成。
1.2.1 OPC服務(wù)器對象
它提供了一種訪問數(shù)據(jù)的方法,擁有服務(wù)器的所有信息,同時也是下層對象-OPC組對象的容器,主要功能為。
(1)創(chuàng)建和管理OPC組對象。
(2)管理服務(wù)器內(nèi)部的狀態(tài)信息。
(3)將服務(wù)器的錯誤代碼翻譯成描述性語句。(4)瀏覽OPC服務(wù)器內(nèi)部的數(shù)據(jù)組織結(jié)構(gòu)。
1.2.2 OPC組對象
它提供了客戶組織數(shù)據(jù)的一種方法,每個組中都可以定義或多個OPC組件對象。OPC組對象的主要功能為:(1)管理組對象的內(nèi)部狀態(tài)信息。(2)創(chuàng)建和管理組件對象。
(3)服務(wù)器內(nèi)部的實時數(shù)據(jù)存取服務(wù)。
組對象是應(yīng)用程序組織數(shù)據(jù)的一個單位,客戶可對之進行讀寫,還可設(shè)置客戶端的數(shù)據(jù)刷新率。
1.2.3 OPC組件對象
它是讀寫數(shù)據(jù)的最小邏輯單位,一個組件對象與一個具體的過程之相連,每個組件雖然代表了與服務(wù)器中的某個數(shù)據(jù)的連接,但它并不是數(shù)據(jù)源,而是僅僅是與數(shù)據(jù)源的連接。OPC組件對象并不提供對外接口,客戶不能直接對之進行操作,所有操作都是通過組對象進行的。
飛行器測試與控制系統(tǒng)是一個分布式局域網(wǎng)絡(luò)系統(tǒng),如圖2所示。主要包括以下子系統(tǒng):總線測試系統(tǒng)、測控測試系統(tǒng)、GNC測試系統(tǒng)、供配電系統(tǒng)、測試等效系統(tǒng)、總控測試系統(tǒng),其中測控測試系統(tǒng)設(shè)備為射頻信號處理設(shè)備,暫不支持OPC協(xié)議。
系統(tǒng)設(shè)備分為三個層次,分別為現(xiàn)場設(shè)備層、數(shù)據(jù)服務(wù)層和監(jiān)控管理層?,F(xiàn)場設(shè)備層位于底層,由各個子系統(tǒng)下的單元測試設(shè)備組成,主要有PLC單元、PXI單元、1553b總線、RS422總線、信道處理單元、供電單元組成。數(shù)據(jù)服務(wù)層由總控服務(wù)器、數(shù)據(jù)庫服務(wù)器和多個安裝OPC服務(wù)器的終端組成,OPC服務(wù)器中封存了不同設(shè)備的各種驅(qū)動程序,能夠?qū)⒉杉臄?shù)據(jù)轉(zhuǎn)換為統(tǒng)一的OPC數(shù)據(jù)格式,通過總線技術(shù)和網(wǎng)絡(luò)技術(shù)發(fā)送到監(jiān)控管理層,利用ODBC將數(shù)據(jù)保存在數(shù)據(jù)庫中。監(jiān)控管理層主要是OPC客戶端和應(yīng)用程序,通過圖形、表格、曲線、虛擬操作面板等方式顯示處理飛行器測試數(shù)據(jù)。
飛行器測試與控制系統(tǒng)的主要設(shè)備來自各大廠商,主要有西門子、National Instrument、AB等廠商,不同的廠商的設(shè)備之間缺少統(tǒng)一的數(shù)據(jù)交互平臺,各設(shè)備需使用專用的驅(qū)動程序,與目前的設(shè)備統(tǒng)一集中管理的設(shè)計理念存在較大差距。
采用OPC服務(wù)器技術(shù),由OPC驅(qū)動程序讀取OPC服務(wù)器中的變量,從而實現(xiàn)對不同廠商、不同區(qū)域的設(shè)備進行集成監(jiān)控,使得工業(yè)控制具有更簡單的系統(tǒng)結(jié)構(gòu)、更長的壽命、更低的價格,同時現(xiàn)場設(shè)備與系統(tǒng)的連接也更加簡單、靈活、方便,主要應(yīng)用的內(nèi)容如下。
(1)采用OPC接口實現(xiàn)了應(yīng)用程序和工業(yè)控制設(shè)備之間高效、靈活的數(shù)據(jù)讀寫,可以編制符合標準OPC接口的客戶端應(yīng)用軟件完成數(shù)據(jù)的采集任務(wù)。
(2)OPC提供了讀取存儲在過程數(shù)據(jù)存檔文件、數(shù)據(jù)庫或遠程終端設(shè)備中的歷史數(shù)據(jù)以及對其操作、編輯的方法。
(3)OPC提供了OPC服務(wù)器發(fā)生異常以及OPC服務(wù)器設(shè)定事件到來時向OPC客戶發(fā)送通知的一種機制,通過使用OPC技術(shù),能夠更好的捕捉控制過程中的各種報警和事件,并給予相應(yīng)的處理。
(4)工控軟件開發(fā)中冗余技術(shù)是一種非常重要的技術(shù),它是系統(tǒng)長期穩(wěn)定工作的保障。OPC技術(shù)的使用可以更加方便的實現(xiàn)軟件冗余,而且具有較好的開放性和操作性。
(5)借助微軟的DCOM技術(shù),OPC實現(xiàn)了高性能的遠程數(shù)據(jù)訪問,從而使得工業(yè)控制軟件之間的數(shù)據(jù)交換更加方便。
OPC服務(wù)器開發(fā)是基于使用面向?qū)ο蟮募夹g(shù),可以使用適用于VC++編程環(huán)境快速開發(fā)包KOSRDK,將OPC規(guī)范所定義的COM接口實現(xiàn)封裝動態(tài)鏈接,通過調(diào)用KOSRDK.DLL的接口函數(shù)將數(shù)據(jù)傳輸?shù)綌?shù)據(jù)緩沖區(qū),形成本地列表,并經(jīng)過OPC服務(wù)器的驅(qū)動將數(shù)據(jù)進行傳遞,生成OPC服務(wù)器列表,供客戶層使用。開發(fā)者通過類的派生以及重載函數(shù),實現(xiàn)數(shù)據(jù)的訪問和提交,簡化OPC服務(wù)器的開發(fā)過程。
利用KOSRDK在VC++環(huán)境下開發(fā)OPC服務(wù)器的流程如下。
(1)調(diào)用KOS_Init進行初始化。
(2)初始化成功后注冊回調(diào)函數(shù)。
(3)利用KOS_AddItem添加OPC點到OPC Server DLL中,通過客戶端檢索和使用OPC點。
(4)通過KOS_UpdataItem更新地址空間內(nèi)的OPC點數(shù)據(jù)信息,將設(shè)備的實時信息和狀態(tài)反饋給客戶端。
(5)運行結(jié)束時需要刪除OPC點和反初始化,分別通過KOS_Re moveItem和KOS_UnInit兩個函數(shù)實現(xiàn)。
OPC客戶端開發(fā)需根據(jù)OPC邏輯對象模型包含OPCserver對象、OPCgroup對象和OPCitem對象,每類對象都包括一系列接口。
(1)OPCserver對象主要功能為創(chuàng)建和管理server內(nèi)部狀態(tài)信息及OPCgroup對象。
(2)OPCgroup對象主要功能為管理OPCgroup對象內(nèi)部狀態(tài)信息及OPCitem對象,同時對OPC服務(wù)器內(nèi)部的實時數(shù)據(jù)進行存取。OPCgroup主要屬性包括組名(group name)、組激活狀態(tài)標識(ActiveStatus)、服務(wù)器提供客戶程序提交數(shù)據(jù)刷新速率(Update Rate)等。
(3)OPCitem是非COM對象,在OPC標準中用來描述實時數(shù)據(jù),代表了與服務(wù)器中的數(shù)據(jù)連接。每個i t e m主要屬性包括ActiveStatus、Value、Type等等。
OPC客戶端開發(fā)使用VC6.0工具,界面設(shè)置如圖3所示,其中Property為Item的類型選擇,可選擇Value(數(shù)據(jù)值)或Switch(開關(guān)狀態(tài)),Computer為OPCServer在網(wǎng)絡(luò)上的計算機名,OPCServer為選擇的服務(wù)器名,Item為數(shù)據(jù),Update Rate為刷新頻率默認50ms,Auto Connect為與自動連接開關(guān)。通過Add和Remove添加Item的數(shù)據(jù)項。
飛行器測試與控制系統(tǒng)的上位機監(jiān)控軟件需含指令發(fā)送、數(shù)據(jù)采集、加電時間統(tǒng)計、數(shù)據(jù)存儲、故障報警等功能。
上位機監(jiān)控軟件界面如圖4所示。表頭型顯示控件與按鈕型控制控件的OPCItem類型為Value型,指示燈顯示控件的OPCItem類型為Switch型,主從切換用于控制界面為主機或從機,避免誤操作,網(wǎng)絡(luò)可以設(shè)置OPC的各個參數(shù)值與類型。
測試結(jié)果表明,基于OPC技術(shù)的飛行器測試與控制平臺各項功能正常、穩(wěn)定,大幅縮減了系統(tǒng)內(nèi)部協(xié)議的復(fù)雜度,提高了系統(tǒng)的通用化程度和測試效率。
OPC技術(shù)為現(xiàn)場設(shè)備、控制系統(tǒng)應(yīng)用、管理應(yīng)用軟件之間提供了開放、統(tǒng)一的標準接口,很好地解決了網(wǎng)絡(luò)異構(gòu)數(shù)據(jù)集成問題。而且OPC技術(shù)使設(shè)備生產(chǎn)廠商和應(yīng)用程序開發(fā)的工作分離,應(yīng)用程序開發(fā)人員無需重復(fù)開發(fā)設(shè)備驅(qū)動程序,只需開發(fā)一套接口就可以和不同設(shè)備相連。利用OPC技術(shù)開發(fā)集成監(jiān)控系統(tǒng)能縮短開發(fā)周期,提高互連互操作性可擴展性、可維護性、適應(yīng)性和經(jīng)濟性。本文遵循OPC標準設(shè)計開發(fā)了服務(wù)器和客戶端,實現(xiàn)了集成監(jiān)控系統(tǒng)的數(shù)據(jù)采集與處理、參數(shù)的監(jiān)測與控制以及數(shù)據(jù)存儲的功能。
[1]靳臣,陳紅衛(wèi).基于OPC的半潛式鉆井平臺監(jiān)控系統(tǒng)的開發(fā)[J].電子設(shè)計工程,2013,21(8):87-90.Jin Chen,Chen hongWei. Development of semi-submersible drilling platform monitoring system based on OPC[J]. Electronic Design Engineering,2013,21(8):87-90.
[2]周磊,劉大成,周傳福,等.OPC規(guī)范下數(shù)據(jù)訪問服務(wù)器的設(shè)計與實現(xiàn)[J].微計算機信息,2007,23(1):264-266.Zhou Lei,Liu Dacheng,Zhou Chuanfu.Design andrealization of data access server based on OPC specification[J].Control&Auyom ation,2007,23(1):264-266.
In order to meet the demands of spacecraft testing and control, improve the level of the testing efficiency and testing equipment currency,proposed a design of spacecraft testing and control system based on OPC technology, and successfully applied to the current spacecraft testing and control system,efficiently completed the data acquisition and processing, parameter monitoring and control ,data storage functions.
OPC;testing and control;currency
盧逸斌,男,學(xué)士,上海宇航系統(tǒng)工程研究所,工程師,從事飛行器綜合測試。