徐 州,張 勇,崔希振
(上海飛機(jī)設(shè)計(jì)研究院,上海 201210)
隨著飛機(jī)研制進(jìn)程的推進(jìn),需要進(jìn)行大量的試驗(yàn)對飛機(jī)和系統(tǒng)的性能進(jìn)行驗(yàn)證,試驗(yàn)過程中會產(chǎn)生大量的試驗(yàn)數(shù)據(jù)[1]。在試驗(yàn)數(shù)據(jù)的管理和分析中,逐漸顯現(xiàn)以下問題:
(1)試驗(yàn)平臺各異,數(shù)據(jù)類型差異較大;
(2)同一數(shù)據(jù)經(jīng)過多次處理后,可追溯性差;
(3)試驗(yàn)數(shù)據(jù)缺少規(guī)范的管理;
(4)試驗(yàn)數(shù)據(jù)異地查看和分析比較困難。如何解決上述問題,對飛機(jī)的研制進(jìn)程有重要的影響。
PLM(product lifecycle management),即產(chǎn)品全壽命周期管理,是一種系統(tǒng)解決方案,旨在解決制造企業(yè)內(nèi)部以及相關(guān)企業(yè)之間的產(chǎn)品數(shù)據(jù)管理和有效流轉(zhuǎn)問題[2]。IntePLM是天喻軟件公司開發(fā)的用于產(chǎn)品全壽命周期管理的信息管理平臺,能夠有效地管理產(chǎn)品全壽命周期內(nèi)各個(gè)階段產(chǎn)生的各種數(shù)據(jù)和信息。它采用SOA(service oriental architecture)架構(gòu),同時(shí)支持C/S模式、B/S模式、基于SOA的智能客戶端3種模式,支持全壽命周期閉環(huán)管理。
IntePLM主要有3個(gè)層次,分別是UI(用戶界面)層、BLL(業(yè)務(wù)邏輯)層、DAL(數(shù)據(jù)訪問)層,其具體架構(gòu)如圖1所示,能夠方便地進(jìn)行擴(kuò)展和二次開發(fā),同時(shí)支持C#、.net語言和ORACLE數(shù)據(jù)庫。
圖1 IntePLM 3層次體系結(jié)構(gòu)Fig.1 Three levels structure of IntePLM
該系統(tǒng)的體系結(jié)構(gòu)繼承了IntePLM 的3層體系結(jié)構(gòu),從物理部署上有客戶端、應(yīng)用程序服務(wù)器、數(shù)據(jù)庫服務(wù)器和文件存儲服務(wù)器。其結(jié)構(gòu)如圖2所示。
圖2 數(shù)據(jù)管理系統(tǒng)主要架構(gòu)Fig.2 Main structure of data management system
數(shù)據(jù)管理系統(tǒng)的主線流程如圖3所示。該系統(tǒng)主要有兩大塊的功能,分別是數(shù)據(jù)管理功能和數(shù)據(jù)處理分析功能。
數(shù)據(jù)管理功能能夠根據(jù)登錄系統(tǒng)者的權(quán)限對Oracle數(shù)據(jù)庫進(jìn)行相應(yīng)的操作,其中管理員有所有權(quán)限,包括數(shù)據(jù)的導(dǎo)入、導(dǎo)出、增加、刪除等,試驗(yàn)人員擁有部分權(quán)限,包括數(shù)據(jù)的導(dǎo)入、導(dǎo)出等,而其他人員擁有最低的權(quán)限,只允許數(shù)據(jù)的查看及導(dǎo)出。在數(shù)據(jù)管理模塊中,還有對數(shù)據(jù)文件的預(yù)處理功能。在實(shí)際試飛試驗(yàn)數(shù)據(jù)中,一次飛行的數(shù)據(jù)往往由多個(gè)不同的采集設(shè)備進(jìn)行采集[1],不同設(shè)備之間可能會出現(xiàn)時(shí)間軸的不對應(yīng),這樣會導(dǎo)致不同的數(shù)據(jù)文件的采集起始時(shí)間、采集數(shù)據(jù)長度不一致,這對于后續(xù)的數(shù)據(jù)處理會帶來不利的影響,因此在預(yù)處理階段,會去除這種情況,主要的步驟是:①選取一次飛行多個(gè)數(shù)據(jù)文件中最晚開始采集的時(shí)間為標(biāo)準(zhǔn)起始時(shí)刻;②選取該起始時(shí)刻之后數(shù)據(jù)長度最小的數(shù)據(jù)作為這次飛行采集數(shù)據(jù)的標(biāo)準(zhǔn)長度;③對一次飛行中所有的數(shù)據(jù)文件都進(jìn)行截取處理,使得所有數(shù)據(jù)文件的長度一致;④統(tǒng)一時(shí)間列。經(jīng)過預(yù)處理的數(shù)據(jù)導(dǎo)入到數(shù)據(jù)管理系統(tǒng)中,之后可以被其他用戶查看、分析、導(dǎo)出和下載。而導(dǎo)出功能也提供多種模式,可以是單列數(shù)據(jù),也可以根據(jù)時(shí)間軸導(dǎo)出某一段數(shù)據(jù)。由于試驗(yàn)采集的參數(shù)多達(dá)上千個(gè),而每個(gè)參數(shù)的名稱皆以字符命名,不方便數(shù)據(jù)使用者查看,因此數(shù)據(jù)管理系統(tǒng)還關(guān)聯(lián)了數(shù)據(jù)定義文件,可以直接在參數(shù)符號下面解析參數(shù)的物理含義,方便使用者進(jìn)行數(shù)據(jù)查看和選擇。
數(shù)據(jù)處理與分析功能主要由五個(gè)模塊組成,分別是基本算法分析模塊、告警信息處理模塊、增益處理模塊、震蕩瞬態(tài)處理模塊、滯環(huán)曲線分析模塊。這五個(gè)模塊既能與數(shù)據(jù)管理功能模塊配合聯(lián)機(jī)使用,也能夠作為一個(gè)單機(jī)程序獨(dú)立運(yùn)行,方便使用者調(diào)用。這些模塊的具體功能如下:
(1)基本算法分析模塊。該模塊提供基本的算法分析功能,操作對象是通道的數(shù)據(jù)。模塊采用當(dāng)前流行的可視化設(shè)計(jì)思路,將算法的處理以圖形化的形式展現(xiàn),使用方便。該模塊包括基本的算術(shù)處理、濾波處理、頻譜分析、去噪處理等功能。
(2)告警信息處理模塊。告警信息是試驗(yàn)中重點(diǎn)關(guān)注的信號類型,它能提醒系統(tǒng)中出現(xiàn)哪些故障。告警信息處理模塊能夠有效地提取告警發(fā)生的時(shí)間、持續(xù)間隔、告警信號出現(xiàn)的次數(shù)等信息。由于告警信息通道較多,處理較頻繁,該模塊還實(shí)現(xiàn)了操作記錄存儲功能,能夠存儲相關(guān)操作動作的配置,在后續(xù)重復(fù)進(jìn)行相同操作時(shí)方便調(diào)用。另外該模塊還內(nèi)嵌了畫圖顯示子模塊,能夠?qū)崿F(xiàn)數(shù)據(jù)的曲線顯示、坐標(biāo)標(biāo)注、壞點(diǎn)剔除等功能。
(3)增益處理模塊。增益試驗(yàn)在功能驗(yàn)證試驗(yàn)中占比較大。該模塊能夠根據(jù)系統(tǒng)控制邏輯設(shè)置,計(jì)算每個(gè)試驗(yàn)點(diǎn)的增益,同時(shí)也提供配置存儲功能。
(4)震蕩瞬態(tài)處理模塊。該模塊能夠提供震蕩瞬態(tài)試驗(yàn)的數(shù)據(jù)處理功能,識別震蕩瞬態(tài)發(fā)生的時(shí)間,同時(shí)也配置存儲功能,實(shí)現(xiàn)快速數(shù)據(jù)結(jié)果輸出。
(5)滯環(huán)曲線分析模塊。該模塊用于處理滯環(huán)試驗(yàn)數(shù)據(jù)。
該系統(tǒng)包括了實(shí)體對象層、數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層、服務(wù)層、代理層、外觀層、界面層等。整個(gè)數(shù)據(jù)管理系統(tǒng)由C#編程實(shí)現(xiàn)[3]。
實(shí)體對象層 (Entity) PLM中對象的實(shí)體表現(xiàn),主要包含對象的屬性,該層是對象的集合。
數(shù)據(jù)訪問層 (DAL) 主要是負(fù)責(zé)數(shù)據(jù)庫的訪問,使邏輯層對數(shù)據(jù)庫的訪問是透明的。
業(yè)務(wù)邏輯層(BLL) 是核心部分,它的關(guān)注點(diǎn)主要集中在業(yè)務(wù)規(guī)則的制定、業(yè)務(wù)流程的實(shí)現(xiàn)等與業(yè)務(wù)需求有關(guān)的系統(tǒng)設(shè)計(jì)。
服務(wù)層 (Service) 能夠通過 WebServices和Remoting方式來實(shí)現(xiàn)訪問業(yè)務(wù)邏輯層。
代理層(Proxy) 生成WSDL訪問WebServices。
外觀層(FAD) 隔離業(yè)務(wù)邏輯和界面的。這一層一般沒有特別的業(yè)務(wù)邏輯。
界面層(WinUI) 用戶界面。
數(shù)據(jù)管理系統(tǒng)使用Spring框架,通過配置文件描述創(chuàng)建對象方式,代碼中不直接引用對象和服務(wù)。
實(shí)體對象層開發(fā)步驟為:①新建一個(gè)類庫的工程 (IntePLM.Entity.EcnEntity),引 用 IntePLM.Entity.IEntity.dll和 IntePLM.UNI.TyUtil.dll;②新建接口(如IEcnActInfo)并繼承IEntity接口;添加接口屬性(如ObjId1,ObjId2);③新建實(shí)現(xiàn)類(如 EcnActInfo)并繼承IEcnActInfo;④在實(shí)體層配置文件(IntePLM.Entity.xml)中增加創(chuàng)建對象的配置項(xiàng);⑤使用對象時(shí)調(diào)用如下方法IEcnActInfo eainfo=ObjectFactory
在數(shù)據(jù)管理系統(tǒng)中,對數(shù)據(jù)庫的訪問至關(guān)重要,IntePLM通過CDbAccess類訪問數(shù)據(jù)庫,其提供的訪問數(shù)據(jù)的基本函數(shù)如表1所示。
表1 IntePLM操作數(shù)據(jù)庫的基本函數(shù)Tab.1 Basic functions of database operation of IntePLM
數(shù)據(jù)訪問層的開發(fā)步驟為:①新建一個(gè)類庫的工程 (IntePLM.DAL.EcnDAL), 引用 IntePLM.DAL.TyDbAccess.dll,IntePLM.UNI.TyUtil.dll; ②新建接口(如 IEcnDAL),添加接口函數(shù)(如 Deleteecn);③新建實(shí)現(xiàn)類(如EcnDAL)并繼承IEcnDAL;④在數(shù)據(jù)訪問層配置文件(IntePLM.DAL.xml)中增加創(chuàng)建對象的配置項(xiàng);⑤使用對象時(shí)調(diào)用如下方法IEcn-DAL dal=ObjectFactory
業(yè)務(wù)邏輯層的實(shí)現(xiàn)方式類似于數(shù)據(jù)訪問層,實(shí)體對象通過調(diào)用ObjectFactory.CreateBusiness Object函數(shù)來創(chuàng)建。
服務(wù)層通過WebServices和Remoting方式來實(shí)現(xiàn)訪問業(yè)務(wù)邏輯層。代理層的實(shí)現(xiàn)可以通過Web引用和Wsdl工具生成這兩種方式。
數(shù)據(jù)管理系統(tǒng)界面如圖4所示,它分為3個(gè)區(qū)域,其中①號區(qū)域?yàn)楣δ軜?,葉子節(jié)點(diǎn)上均有相應(yīng)功能菜單;②號區(qū)域顯示的是試驗(yàn)數(shù)據(jù)管理系統(tǒng)中常用菜單;③號為工作區(qū)域,各項(xiàng)功能對應(yīng)窗體均在此顯示。
圖4 數(shù)據(jù)管理系統(tǒng)界面Fig.4 Interface of data management system
基本算法分析模塊和告警信息處理模塊界面如圖5和圖6所示。
圖5 基本算法分析模塊界面Fig.5 Interface of basic algorithm analysis module
圖6 告警信息處理模塊界面Fig.6 Interface of warning message analysis module
本文基于IntePLM開發(fā)了一套民用飛機(jī)的試飛試驗(yàn)數(shù)據(jù)管理系統(tǒng),該系統(tǒng)實(shí)現(xiàn)了兩大功能,分別是數(shù)據(jù)管理和數(shù)據(jù)分析處理。數(shù)據(jù)管理功能能夠方便有效地管理試飛試驗(yàn)數(shù)據(jù),并根據(jù)登錄用戶權(quán)限的不同允許用戶不同程度的使用數(shù)據(jù)。數(shù)據(jù)分析處理功能根據(jù)實(shí)際的需要定制了五大功能,分別是基本算法分析模塊、告警信息處理模塊、增益處理模塊、震蕩瞬態(tài)處理模塊、滯環(huán)曲線分析模塊。這五個(gè)模塊既能與數(shù)據(jù)管理功能模塊配合聯(lián)機(jī)使用,也能夠作為一個(gè)單機(jī)程序獨(dú)立運(yùn)行,方便使用者調(diào)用。目前該系統(tǒng)已經(jīng)應(yīng)用到實(shí)際的試飛試驗(yàn)數(shù)據(jù)的處理和管理中,為加快試飛的進(jìn)程,解決試飛和試驗(yàn)中出現(xiàn)的問題提供了很好的支持。
[1] 徐州,張勇,陳騏.基于VBA的海量數(shù)據(jù)處理系統(tǒng)[J].計(jì)算機(jī)工程,2010(增刊):31-33.
[2] 朱浩,尹澤勇,劉建武,等.PLM的內(nèi)涵和功能分析[J].中國制造業(yè)信息化,2004,33(7):83-86.
[3] 喬立波.C#入門經(jīng)典[M].4版.北京:清華大學(xué)出版社,2009. ■