引言
通信裝備的維修保障能力在保證部隊(duì)作戰(zhàn)能力方面起著重要作用,當(dāng)前,在通信裝備的維修訓(xùn)練上,大多采用實(shí)裝訓(xùn)練。此方式受到多方面的影響,比如通信裝備的數(shù)量、復(fù)雜程度和使用壽命等。加之技術(shù)的更新?lián)Q代,通信裝備的電子化和智能化水平越來越高,復(fù)雜程度大幅增加,通信裝備的造價(jià)也非常昂貴。這導(dǎo)致了通信裝備維修訓(xùn)練成本和難度徒增的問題。而虛擬維修作為一種新的維修技術(shù),具有成本低、風(fēng)險(xiǎn)小、效率高、實(shí)用性強(qiáng)等優(yōu)點(diǎn)。對維修保障流程的合理性、維修保障系統(tǒng)組織結(jié)構(gòu)的高效性進(jìn)行評估,形成維修周期最短、維修費(fèi)用最低、維修保障能力最強(qiáng)的全局最優(yōu)的維修方案。
系統(tǒng)以Delphi 為系統(tǒng)開發(fā)的平臺,在EON 二次開發(fā)的基礎(chǔ)上,設(shè)計(jì)出了某通信裝備的虛擬維修訓(xùn)練系統(tǒng),并進(jìn)行了實(shí)踐驗(yàn)證,有很好的應(yīng)用價(jià)值。
1 系統(tǒng)設(shè)計(jì)
通信裝備的虛擬維修訓(xùn)練系統(tǒng)不僅要求形象直觀地將裝備各個(gè)部分的3D 模型以及拆裝過程展現(xiàn)給使用者,而且要求能夠很好的指導(dǎo)使用者進(jìn)行維修訓(xùn)練,還要求根據(jù)情況生成相應(yīng)的故障分析文檔和實(shí)際維修的參考方案。整個(gè)系統(tǒng)在實(shí)現(xiàn)過程中涉及到了數(shù)據(jù)庫開發(fā)技術(shù)、3D 模型建立、行為模型制作、二次開發(fā)等方面,主要包括裝備模型制作、行為邏輯模型編輯、故障數(shù)據(jù)庫建立、維修數(shù)據(jù)處理、故障維修參考文檔生成等幾個(gè)部分,如圖1 所示。
系統(tǒng)的實(shí)現(xiàn)是在對EON Studio(簡稱EON)二次開發(fā)的基礎(chǔ)上進(jìn)行的,二次開發(fā)要求開發(fā)對象要足夠開放,而EON 提供了對外部程序的接口EonX,完全可以實(shí)現(xiàn)對其進(jìn)行應(yīng)用開發(fā),并且EON 有豐富的節(jié)點(diǎn)、元件庫,可以方便地給三維模型加上行為。鑒于Delphi 方便、高效及其強(qiáng)大的功能,本系統(tǒng)用它作為二次開發(fā)的平臺,最終實(shí)現(xiàn)系統(tǒng)的功能需要。
2 系統(tǒng)實(shí)現(xiàn)
2.1 三維模型設(shè)計(jì)
隨著通信裝備的發(fā)展,其規(guī)模越來越大,零部件數(shù)量非常可觀,再加上虛擬維修系統(tǒng)對模型的幾何尺寸精細(xì)程度和位置準(zhǔn)確度的要求比較高,裝備三維模型建立的工作量很大。目前,三維建模工具有許多,該設(shè)計(jì)所用的3DS MAX 操作簡易、渲染效果逼真,還可以直接輸出EON 文件。
在建模過程中,要在面片的Diffuse 材質(zhì)中給它一個(gè)貼圖文件。如果貼圖大小為W×H,那么貼圖要求最好滿足此條件:max{W,H}≤2048,否則貼圖將不會(huì)正常顯示。此外,貼圖最好用矢量圖,因?yàn)槲粓D在縮放時(shí)會(huì)失真,而矢量圖是不會(huì)存在這種情況的。該系統(tǒng)在設(shè)計(jì)時(shí)用CorelDraw 軟件將部分元件貼圖轉(zhuǎn)化為矢量圖,再進(jìn)行材質(zhì)貼圖。
虛擬維修的基礎(chǔ)是三維建模,三維模型的設(shè)計(jì)一定要一次完成,如果將行為模型編輯完成后,再想要修改,那么必須重新導(dǎo)入EON,從頭編輯行為模型。
2.2 建立行為模型
三維模型設(shè)計(jì)完成后,就要給通信裝備的需要虛擬拆裝的零部件加上行為,建立行為模型,這是整個(gè)系統(tǒng)開發(fā)的核心,直接關(guān)系到與應(yīng)用程序的數(shù)據(jù)通信成功與否。通過3DS max 將三維模型導(dǎo)入到EON 中有下面三種方法:
1)EON 的Import 功能:先將三維模型保存為。3ds 文件,然后在EON 中導(dǎo)入,在導(dǎo)入后,一開始是看不到模型的,因?yàn)镋ON 和3DS MAX 中坐標(biāo)尺寸不一樣,這只需在EON 中修改模型的scale 屬性值即可,操作比較復(fù)雜。
2)Raptor 插件:作為擴(kuò)展3DS MAX 功能的外掛模塊,它可以在3DS MAX 中瀏覽三維模型的EON場景,并將其保存為EON 文件,操作簡單,但是模型中貼圖較多時(shí)容易出錯(cuò)。
3)3DS MAX 的Export 功能:在Export 功能中選擇EON Stand-alone File,該方法操作簡單且在貼圖較多時(shí)不會(huì)出錯(cuò)。該系統(tǒng)采用此方法。
模型導(dǎo)入后就是給相關(guān)模塊添加節(jié)點(diǎn)及元件,構(gòu)建完整的Simulation Tree,然后在Routes 圖中制作邏輯圖,完成行為模型的建立。
由于模型比較大,貼圖也比較多,所以在EON中渲染虛擬場景非常慢,曾經(jīng)達(dá)到過40 s 左右,并且在瀏覽時(shí)速度緩慢,甚至出現(xiàn)停頓現(xiàn)象,對瀏覽造成了很大的麻煩。究其原因,每當(dāng)視點(diǎn)發(fā)生變化,瀏覽器就會(huì)重新計(jì)算場景中各模型的新位置并重新進(jìn)行渲染,所以當(dāng)場景中模型較多時(shí),瀏覽器渲染速度就會(huì)跟不上視點(diǎn)變化的速度,從而出現(xiàn)緩慢甚至停頓的現(xiàn)象。通過降低貼圖質(zhì)量和模型復(fù)雜度可以解決這一問題,但是視覺效果會(huì)降低。經(jīng)過探索,有以下三種解決方案:
1)將模型分模塊編輯,生成。edz 文件,用ChangeSimulation 節(jié)點(diǎn)進(jìn)行場景切換,該方法在場景切換時(shí)還要緩沖等待,影響場景瀏覽的連貫性。
2)采用PowerSwitch 節(jié)點(diǎn)在同一場景下實(shí)現(xiàn)模塊間切換,該裝備有3 大模塊,共7 個(gè)機(jī)柜,元器件眾多,貼圖豐富,如果在場景下同時(shí)出現(xiàn)勢必影響瀏覽速度,而同時(shí)顯現(xiàn)也沒必要,故而用此方法,邏輯圖如圖2 所示。
3)在EON 中修改Render 屬性,將RenderingQuality 調(diào)至low , 具體操作如: Simulation →Configuration→Render,該方法由于降低了渲染頻率,所以在模型移動(dòng)過程中有輕微的模糊和扭曲。
2.3 Delphi 與EON 通訊--EON 的二次開發(fā)行為模型建立完成后,就要通過混合編程技術(shù)在Delphi 中調(diào)用它,實(shí)現(xiàn)EON 的二次開發(fā)。如前所述,要實(shí)現(xiàn)這一步必須借助EonX 控件,EonX 是EON 提供給宿主程序(即二次開發(fā)平臺Delphi)的通信接口,通過它可以把行為模型顯示在宿主程序中,進(jìn)行正常瀏覽。它通過EON 內(nèi)部的路由解釋器接受宿主程序的輸入消息,改變視點(diǎn)位置,同時(shí),可向宿主程序輸出消息,完成這一通信過程靠的是EON 中的路由接口--InEvent 和OutEvent.當(dāng)然,必須先在Delphi 中安裝,才可使用,安裝方法是:在菜單欄中點(diǎn)ImportComponent→Import a Type Library,選擇EonX 7.0Type Library,完成安裝。
EonX 提供了許多二次開發(fā)的方法,通過方法SendEvent 可由宿主程序經(jīng)過InEvent 向EON 發(fā)送消息,改變需要維修零部件的位置坐標(biāo)。下面是讓發(fā)信機(jī)模塊出現(xiàn)在場景中的程序:
procedure TForm1.TreeViewMouseDown(
Sender: TObject;
Button: TMouseButton;
Shift: TShiftState;
X, Y: Integer);
var EventIn: OleVariant;
begin
EventIn:=System.True;
MyEon.SendEvent(TreeView.Selected.text,E
ventIn); //給相應(yīng)模塊發(fā)消息
end;
EonX 也有許多屬性和事件,通過添加OnEvent事件的響應(yīng)函數(shù),可以在宿主程序中監(jiān)聽到經(jīng)過OutEvent 的輸出消息,并在宿主程序中進(jìn)行相應(yīng)的處理。下面是發(fā)信機(jī)柜一號電路板改變視角時(shí)Delphi 進(jìn)行響應(yīng)的程序:
procedure TForm1.MyEonEvent(
ASender: TObject;
const bstrNodeName: WideString;
var pvarNodeValue: OleVariant);
begin
……
if bstrNodeName=‘發(fā)信機(jī)柜_電路板1 號'
then
begin
Panel_Tran_Cir1.Visible:=True;
Panel_Tran_Cir2.Visible:=False;
Panel_Tran_Cir3.Visible:=False;
Panel_Rec_Cir1.Visible:= False;
……
end;
end;
圖3 示出了Delphi 與EON 的通信原理圖。
2.4 系統(tǒng)實(shí)例
最終完成的系統(tǒng)界面如圖4 所示。系統(tǒng)正常運(yùn)行時(shí),可以通過外設(shè)對通信裝備進(jìn)行虛擬拆裝,很全面地對裝備內(nèi)部結(jié)構(gòu)進(jìn)行瀏覽;也可以根據(jù)用戶選擇的故障,指導(dǎo)用戶對相應(yīng)部件的參數(shù)進(jìn)行測量,完成故障維修工作,并生成故障分析文檔和故障維修參考文檔。
3 結(jié)語
系統(tǒng)在EON 軟件二次開發(fā)的基礎(chǔ)上,結(jié)合三維建模、虛擬維修、數(shù)據(jù)庫以及電子電路仿真等方面的技術(shù),開發(fā)出了某通信裝備的虛擬維修訓(xùn)練系統(tǒng),降低了維修訓(xùn)練對客觀實(shí)物的依賴,有效地解決了當(dāng)前維修訓(xùn)練中成本高等問題,對提高維修訓(xùn)練效率、擴(kuò)大維修訓(xùn)練規(guī)模有極大的幫助,本文所涉及的系統(tǒng)已進(jìn)行實(shí)踐驗(yàn)證,系統(tǒng)有效可行,具有良好的應(yīng)用前景。
-
通信
+關(guān)注
關(guān)注
18文章
6042瀏覽量
136144 -
虛擬
+關(guān)注
關(guān)注
0文章
187瀏覽量
23669 -
數(shù)據(jù)處理
+關(guān)注
關(guān)注
0文章
606瀏覽量
28595
發(fā)布評論請先 登錄
相關(guān)推薦
評論