999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于WPF的三維電路級虛擬維修訓練系統平臺

2014-09-06 10:50:14冉躍龍閆英敏
電子器件 2014年4期
關鍵詞:故障模型系統

冉躍龍,閆英敏

(軍械工程學院電氣工程系,石家莊 050051)

?

基于WPF的三維電路級虛擬維修訓練系統平臺

冉躍龍,閆英敏*

(軍械工程學院電氣工程系,石家莊 050051)

摘要:針對當前裝備虛擬維修訓練系統開發大多只針對機械部件的拆裝的問題,對基于WPF(Windows Presentation Foundation)的裝備三維電路級虛擬維修訓練平臺進行了研究,闡述了系統平臺包含的三維顯示層、邏輯交互層、數據保持層和電路仿真層4層結構,探討了系統平臺設計中的3項關鍵技術。介紹了系統平臺的總體結構設計,設計開發了基于WPF的三維電路級虛擬維修訓練原型系統。該系統平臺實現了電路級虛擬維修,完善了裝備虛擬維修訓練系統的功能。

關鍵詞:虛擬維修;電路仿真;分層結構;模型-視圖模型-視圖;WPF;三維

虛擬維修(Virtual Maintenance)是通過采用計算機仿真和虛擬現實技術在計算機上真實展現裝備的維修過程。虛擬維修訓練系統是一種有效的訓練手段,它的開發能夠有效解決維修訓練中場地、數量和型號的限制以及訓練效率低等問題。但是,裝備的電氣化程度越來越高,目前成熟的虛擬維修訓練系統大多只是針對裝備零部件的拆裝訓練,很少涉及到裝備中電路的維修訓練[1-2]。因此,本文以某型裝備的電路級虛擬維修訓練系統為對象,以WPF為編程環境,采用分層結構,利用MVVM框架模式,設計實現了裝備電路級虛擬維修訓練系統平臺。

1 電路級虛擬維修平臺的體系結構

裝備電路級虛擬維修訓練平臺的任務為通過人機交互設備實現利用虛擬儀表工具對裝備電路模型進行仿真分析并排除故障的訓練。平臺的核心內容包括電路及儀表的三維建模,電路模型描述,電路故障建模和電路仿真運算。

本文采用分層結構來實現平臺的上述功能。電路級虛擬維修訓練平臺的體系結構如圖1所示,分為4個層次結構,分別是三維顯示層、邏輯交互層、數據保持層和電路仿真層,每層的結構及具體功能如下:

(1)三維顯示層:該層主要包括電路三維模型與虛擬儀表。它為參訓人員呈現電路的三維模型,利用3DS Max建模軟件,根據裝備電路結構及外觀構建裝備電路板的三維模型,同時定義節點與裝備電路模型的關聯關系。三維虛擬電路板經WPF的3D繪圖功能實現顯示,并利用交互設備及WPF的3D命中測試幫助類實現三維虛擬電路的測量與交互。整個平臺的可視部分均由三維顯示層實現顯示輸出。

(2)邏輯交互層:當用戶使用鼠標或者其他交互設備在虛擬維修平臺中進行交互操作時,該層主要負責響應用戶的操作。在對虛擬電路板及元器件進行瀏覽查看時,該層將交互設備所選取的對象與數據保持層中的模型進行聯系對應;在對虛擬電路進行測量時,該層將虛擬儀表所測得的節點數據與數據保持層中的節點數據進行聯系對應。

(3)數據保持層:該層包含裝備電路模型、裝備電路故障模型,為電路仿真層提供仿真數據。裝備電路模型是由SPICE電路描述語言構成的裝備電路描述,是面向仿真的裝備電路抽象。裝備電路模型以裝備電路為基本單元,描述電路的元器件電氣特性、器件連接關系、電路結構、激勵源、虛擬測量設備、節點性能參數分析等。裝備故障模型描述裝備故障器件的失效狀態。虛擬故障設定就是根據裝備故障模型,修改裝備電路模型中對應器件的電路描述,以及模擬裝備電路的實際故障情況。裝備各電路的電路描述、故障描述、信號關系描述、電路工作過程描述構成裝備電路模型,以網表文件(.CIR文件)格式存儲在數據保持層中。

(4)電路仿真層:該層主要負責對電路板上的電路進行實時的電路仿真。它的主要組成部分為NGSPICE電路仿真內核動態鏈接庫,通過動態鏈接庫的接口進行數據交換。該層處理的對象是數據保持層所提供的電路描述語言,裝備電路描述、故障描述等信息作為NGSPICE仿真程序的輸入數據,經電路仿真后生成描述各節點電壓電流的仿真結果數據。

圖1 系統平臺體系結構圖

2 電路級虛擬維修訓練平臺設計的關鍵技術

2.1基于WPF的三維顯示技術

目前,三維模型的顯示,大多是利用DirectX和OpenGL來編程實現的。然而,使用這2種工具進行開發時,編程模型比較復雜,而且需要一定的數學知識來實現三維模型的控制,如平移、旋轉和縮放。若需要完成交互式的三維場景構建,還需要編寫復雜的三維交互算法[3-4]。此外,這2種工具對顯卡的要求也比較苛刻。

WPF引入了一個新的擴展的三維模型,改變了上述所有這些問題。使用WPF,可以通過簡單的標記構建復雜的三維場景。同時,幫助類提供了命中測試、基于鼠標的旋轉以及其他基本構件。并且幾乎所有的計算機都可以顯示3D內容,這一點要歸功于當缺少顯卡支持時WPF退而使用軟件渲染的能力[5]。

WPF在三維顯示和交互方面的優勢使得它成為電路級虛擬維修訓練平臺的理想開發工具。下面以運放LM747為例介紹基于WPF的三維顯示流程,如圖2所示。

圖2 三維電路模型顯示流程圖

首先,采用3DS Max對LM747進行三維模型的構建。在進行三維建模時,需要注意以下兩點:(1)模型器件的主體和管腳必須是不同的幾何體,不能采用一個幾何體通過一定的修改來建立模型,這是由于在WPF進行三維交互時,只有不同的GeomrtryModel3D對象才能擁有不同的鼠標處理事件,即交互事件,而不同的幾何體可以轉換為不同的GeometryModel3D對象。(2)模型制作完成后,需要將整個模型的不同幾何體使用“成組”命令,這樣才能使三維模型轉換為WPF中的Model3DGroup對象,便于對器件模型整體進行選取。

然后,利用3DS Max中的導出工具導出為3DS文件。3DS文件是一種通用的保存三維模型的數據格式,是基于塊結構存儲的,因此便于使用程序編程進行讀取。同時,文件的大小也比MAX文件小很多,對于大型三維模型,可以在很大程度上節省磁盤空間,并加快讀取三維模型的速度。

最后,將3DS文件形式的三維模型導入WPF工程中,即可在WPF環境中進行三維交互。對于3DS文件的讀取,目前已經有了很多成熟的方法進行讀取分析[6]。AB4D公司的Ab3d.Reader3ds.dll是一個用于在WPF中讀取3DS文件的動態鏈接庫,可以在WPF應用程序中方便地對3DS讀取顯示,并提取模型對象的層次信息。圖2中顯示了模型的層次信息,可以看出,“LM747”是一個Model3DGroup對象,代表LM747這一器件模型整體,“LM747P1”至“LM747P14”均為GeomrtryModel3D對象,分別代表LM747的14個管腳。獲取了這些層次信息后,就可以利用WPF提供的三維命中測試類來進行3D場景的交互[7]。

2.2基于MVVM的程序設計模式

MVVM(Model-View-View Model)模式由視圖(View)、視圖模型(ViewModel)、模型(Model)三部分組成[5]。圖3所示為MVVM的結構及其各部分之間的交互關系。可以看出,MVVM的三部分結構實現了UI邏輯(UI Logic)、呈現邏輯(Presentation Logic)以及數據和業務邏輯(Business Logic and Data)的分離。

圖3 MVVM模式結構及交互關系

View封裝了界面和界面邏輯:它的責任便是定義用戶在屏幕上能看到的一切結構以及外觀。通過數據綁定(Data Binding),View可以將用戶操作和數據的改變傳遞到ViewModel,然后由ViewModel決定如何從Model獲取或改變數據。通過命令(Command),在View和ViewModel之間可以實現操作的調用。View背后的代碼是用來實現XAML很難表達的可視化行為。

ViewModel封裝了呈現邏輯和實現程序狀態維持:它負責協調視圖與任何需要的模型類的交互。ViewModel通過改變提醒事件(INotifyProperty Changed與INotifyCollectionChanged)通知View狀態的改變。該部分主要涉及到應用程序的工作流程、任務、用戶操作、應用程序邏輯行為和應用程序運行控制。ViewModel不是控件的后臺控制代碼,它不涉及任何具體界面外觀并獨立于具體的界面實現[8]。

Model封裝了業務邏輯及數據:業務邏輯實現了像檢索和數據管理相關程序中的邏輯,用來確保數據的一致性和有效性。

MVVM的核心思想是將界面設計與控制代碼設計相分離,便于程序分工設計,增強測試的方便性,容易管理維護以及進行擴展。

虛擬維修訓練系統平臺涉及的功能較多,在功能設計時需要逐個進行測試,測試成功后進行組合;而且系統平臺需要滿足易修改和易擴展的要求,界面設計與程序行為設計的分離有助于減輕維護和改善平臺時的工作量。因此采用MVVM框架對系統平臺進行設計非常合適。圖4所示為平臺中所使用的MVVM框架(圖中僅顯示了平臺程序相關類的主要屬性、方法和事件)。其中,View部分位于三維顯示層,ViewModel部分位于邏輯交互層,Model部分位于數據保持層。

圖4 系統平臺中的MVVM框架

從圖中可以看出,CircuitModel(Model)完全獨立于CircuitViewModel(ViewModel)和CircuitView(View),它通過實現INotifyPropertyChanged接口,把電路模型數據(包括三維模型數據、電路網表文件數據和電路節點特性數據)的改變傳送到CircuitView,使得CircuitModel具備良好的獨立性,便于維護擴展。

CircuitViewModel通過命令調用CircuitModel中公開的方法完成數據操縱,它不包含CircuitView的引用,因此CircuitModel獨立于CircuitView,具備適應不同UI界面的特點。

CircuitView通過屬性綁定和事件綁定的方式,獲取數據和執行程序,在CircuitView中建立CircuitViewModel事例并賦值給DataContext屬性,給CircuitView提供數據源,CircuitView具備單獨設計,以達到界面設計與控制代碼設計的分離的目的。

由以上的分析可以看出,平臺采用MVVM框架模式設計,具備良好的可維護性和可擴展性。

2.3基于NGSPICE的電路仿真內核

SPICE(Simulation Program with Integrated Circuit Emphasis)是目前應用廣泛的電路仿真引擎,Pspice、Hspice、Multisim等的核心算法均來自于SPICE算法。NGSPICE為SPICE仿真器家族中的一員,它是SPICE3F5的升級改進版,提高了程序的穩定性,且整合了XSPICE,可進行數模混合仿真[9]。同時,NGSPICE還具有以下特點:(1)由于它是開放的源碼,能夠嵌入編寫的程序中獨立運行,不依賴其他任何電路仿真軟件;(2)運行時占用的計算機資源較少,能夠滿足虛擬電路模型及電路故障模型的實時仿真計算;(3)仿真輸出結果以文檔的形式輸出,可以很方便地進行讀取顯示。

綜上,NGSPICE是三維電路級虛擬維修訓練平臺的理想電路仿真內核。

文獻[10]基于SPICE仿真引擎,提出了利用VC語言編寫接口程序實現電路仿真的方法。本文采用上述文獻中的思想進行了進一步的研究,在NGSPICE源代碼的基礎上進行了改寫,編譯生成了可供外部程序調用的動態鏈接庫,實現了在WPF平臺中調用NGSPICE對電路模型進行仿真的方法。動態連接庫的接口函數為callNGSPICE(char* commandString),入口參數為SPICE命令字符串,出口參數為電路節點特性。

圖7 系統平臺使用使用流程

圖5所示為平臺電路仿真層的系統結構框圖。

圖5 系統平臺電路仿真層結構圖

當需要進行電路模型或者電路故障模型的仿真時,SPICE命令字符串將發送給系統平臺電路仿真層,從數據保持層提取與待仿真電路模型相對應的網表文件(.CIR格式文件),通過調用NGSPICE動態鏈接庫進行電路仿真分析,進而解算出電路節點的特性,即節點的瞬時電壓和電流值。仿真后得到的數據將傳送給數據保持層,供其他模塊的使用,如萬用表和示波器。

3 平臺實現

裝備三維電路級虛擬維修訓練系統平臺是一個組合式的分層結構系統,主要包含4層結構。同時,通過利用相應的關鍵技術,各層有機地組合了起來,各層的具體功能也以高效便捷的方式得到了實現。最后,本文以某型高炮裝備的電路板為例,采用3DS Max 2012進行電路三維建模,實現了基于WPF的三維電路級虛擬維修訓練原型系統。系統平臺運行界面如圖6所示。平臺具有以下特點:(1)平臺可運行于絕大部分普通主流PC,對PC的硬件要求不高。同時,平臺具有良好的可維護性和可擴展性;(2)訓練過程中,信息可以以動畫、圖像、影像、文字和三維模型等多媒體手段進行展示,使用者可以通過鼠標和鍵盤或手寫筆、觸摸屏、數據手套等外接交互設備進行交互;(3)平臺中的可視化電路器件模型的參數和電氣連接特性與后臺描述電路模型的網表文件(.CIR格式文件)相對應,可以對電路模型進行實時電路仿真。

圖6 系統平臺界面

平臺的使用流程如下:首先,組織訓練的人員可以瀏覽三維電路板,通過使用鼠標右鍵點擊相應的器件三維模型來進行故障的設置(圖7(a)),例如短路、斷路和參數漂移,以此來進行維修任務的設定。然后,受訓者即可參與該型裝備的電路級虛擬維修訓練。進行維修訓練時,受訓者通過對電路進行實時的仿真,并使用萬用表和示波器測量某些關鍵的節點(圖7(b)),從而推斷出電路故障所在并更換器件(圖7(c)),完成裝備電路維修訓練任務。

4 結束語

三維電路級虛擬維修訓練系統平臺的研究和開發,實現了裝備的電路級虛擬維修。通過內嵌的電路仿真內核,系統實現了后臺對電路模型的實時仿真,完成了真正意義上的電路級虛擬維修,彌補了傳統虛擬維修訓練系統只針對機械部件拆裝訓練的不足。同時,系統采用WPF平臺進行開發,具有良好的三維呈現功能和交互性;采用MVVM框架模式設計,實現系統軟件設計的模塊化,降低了各模塊之間的耦合度,系統具備良好的可維護性和可擴展性。該系統平臺在減少電路維修訓練損失,節約經費,縮短維修培訓周期,提高相關人員維修水平方面具有重要意義。

參考文獻:

[1]王文舉,李光耀.虛擬維修仿真技術的研究與進展[J].系統仿真學報,2011,23(9):1751-1757.

[2]焦玉民,張琦,屈宏偉.虛擬維修技術研究與展望[J].中國工程機械學報,2011,9(3):359-366.

[3]劉效森,吳迺陵,陳碩西.基于OpenGL下的固體物理模型交互式仿真[J].電子器件,2007,30(5):1926-1929.

[4]郭艷霞,侯彤璞,杜園園.基于DirectX的三維場景實體的拾取[J].遼寧石油化工大學學報,2009,29(3):77-80.

[5]Matthew MacDonald.Pro WPF in C# 2010:Windows Presentation Foundation in.NET 4[M].Apress,Inc.,2010:770-774.

[6]劉芳,劉賢梅.3DS文件讀取、繪制與控制方法的研究與應用[J].計算機工程與設計,2009,30(19):4575-4578.

[7]Josh Smith.WPF Apps with the Model-View-ViewModel Design Pattern[EB/OL].http://msdn.microsoft.com/en-us/magazine/dd419663.aspx.

[8]程國雄,胡世清.基于Silverlight的RIA系統架構與設計模式研究[J].計算機工程與設計,2010,31(8):1706-1709.

[9]Paolo Nenzi,Holger Vogt.Ngspice Users Manual Version 24 Plus[EB/OL].http://sourceforge.net/projects/ngspice.

[10]郝永生,韓路杰,王廣龍,等.基于SPICE的電路仿真系統接口程序設計[J].計算機工程,2010,36(12):253-255.

冉躍龍(1988-),男,土家族,貴州鳳岡人,現為中國人民解放軍軍械工程學院在讀碩士研究生,主要研究方向為電路故障仿真和電路虛擬維修,ranyuelong@163.com;

閆英敏(1970-),女,漢族,河北南宮人,現工作于中國人民解放軍軍械工程學院電氣工程教研室,副教授,博士學位。主要研究方向為裝備綜合電氣系統檢測與故障診斷技術,yanyinming00@163.com。

3DCircuit-LevelVirtualMaintenanceTrainingSystemPlatform

RANYuelong,YANYingmin*

(Department of Electrical Engineering,Ordnance Engineering College,Shijiazhuang 050051,China)

Abstract:For the fact that the current equipment virtual maintenance training systems are almost all cornered with the disassembly of mechanical components,the research on 3D circuit-level equipment virtual maintenance training platform based on WPF(Windows Presentation Foundation)is developed.The platform contains a structure of 4 layers,namely 3D display layer,logic interaction layer,data persistence layer and circuit simulation layer.Three key technologies in the design of the platform are studied.The structure of the platform is introduced and the model of the 3D circuit-level virtual maintenance training system is designed and developed.Circuit-level virtual maintenance has been achieved,which improves the function of virtual maintenance training system.

Key words:virtual maintenance;circuit simulation;hierarchical structure;MVVM;WPF;3D

doi:EEACC:721010.3969/j.issn.1005-9490.2014.04.029

中圖分類號:TP391.9

文獻標識碼:A

文章編號:1005-9490(2014)04-0718-05

收稿日期:2013-07-18修改日期:2013-08-15

猜你喜歡
故障模型系統
一半模型
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
故障一點通
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
3D打印中的模型分割與打包
奔馳R320車ABS、ESP故障燈異常點亮
主站蜘蛛池模板: 青青草一区| 亚洲欧美h| 亚洲无码高清视频在线观看 | 香蕉视频在线精品| 亚洲人成网站18禁动漫无码| 日韩无码黄色网站| 97国内精品久久久久不卡| 青青草综合网| 沈阳少妇高潮在线| 国产成人亚洲综合A∨在线播放| 国产亚洲欧美日韩在线一区| 天堂中文在线资源| 成人免费黄色小视频| 日韩黄色大片免费看| 日韩在线观看网站| 99成人在线观看| 亚洲精品麻豆| 日韩欧美中文字幕在线韩免费| 中文字幕亚洲电影| 综合色88| 久久99热这里只有精品免费看| 高清视频一区| 国产亚洲精品资源在线26u| 欧美精品成人一区二区视频一| 日韩欧美国产精品| 日韩高清在线观看不卡一区二区| 欧美日韩午夜| 国产精品第一区在线观看| 国产欧美日韩另类| 国产男人的天堂| 日韩在线播放欧美字幕| 日本免费福利视频| 成人精品午夜福利在线播放| 日本爱爱精品一区二区| 亚洲国产天堂久久综合226114| 亚洲一区二区无码视频| 精品三级网站| 亚洲无卡视频| 狼友视频国产精品首页| 免费可以看的无遮挡av无码| 欧美亚洲国产视频| 亚洲首页国产精品丝袜| 亚洲天堂区| www.狠狠| aaa国产一级毛片| 欧美综合中文字幕久久| 黄色成年视频| 看你懂的巨臀中文字幕一区二区 | 六月婷婷精品视频在线观看| 亚洲日韩精品综合在线一区二区| 国产永久免费视频m3u8| 亚洲 欧美 日韩综合一区| 18黑白丝水手服自慰喷水网站| 黄色一级视频欧美| 91精品国产综合久久香蕉922 | 亚洲欧美成人网| 精品久久综合1区2区3区激情| 尤物特级无码毛片免费| 欧美日本在线观看| 激情无码字幕综合| 91亚洲精选| 青青青视频免费一区二区| 一级成人a做片免费| 色婷婷电影网| 日韩成人在线网站| 中国成人在线视频| av天堂最新版在线| 99激情网| 午夜影院a级片| 久久综合结合久久狠狠狠97色| 夜夜操国产| 91尤物国产尤物福利在线| 国产正在播放| 免费一级毛片在线播放傲雪网| 在线观看国产精品第一区免费 | 国产人成在线视频| 91午夜福利在线观看| 综合色在线| 激情六月丁香婷婷| 国产精品成人一区二区| 久久精品视频亚洲| 99人体免费视频|