<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > 基于某航空電子設備的自動(dòng)測試系統設計與實(shí)現

基于某航空電子設備的自動(dòng)測試系統設計與實(shí)現

作者: 時(shí)間:2012-04-17 來(lái)源:網(wǎng)絡(luò ) 收藏




各層實(shí)現功能如下:

硬件層 安裝有實(shí)現具體測試功能的適配卡、數據采集卡和串口,這些硬件設備是測試實(shí)現的核心,其通過(guò)J18C型電連接器,D型接口等與被測設備相連。

物理接口層 主要是指主機內采集卡提供的資源接口,另一方面它們主要通過(guò)ISA或PCI總線(xiàn)訪(fǎng)問(wèn)測試主機的板卡。同時(shí)物理接口層還包含相關(guān)接口卡I/O操作的“軟性驅動(dòng)”。

硬件驅動(dòng)層 提供上層軟件訪(fǎng)問(wèn)板卡硬件的方法,是軟硬件通訊的橋梁。測試系統中,所有驅動(dòng)都采用WDM編程技術(shù)。

軟件支持層 它是系統設計和實(shí)現的核心,涉及到對硬件訪(fǎng)問(wèn)功能封裝的API函數,對測試系統界面支持的導出類(lèi),對數據處理的算法、對硬件功能的封裝(初始化,中斷句柄傳遞,重置等),對動(dòng)態(tài)連接庫的設計布置等。各個(gè)功能模塊負責各功能的實(shí)現并最終交給主線(xiàn)程綜合控制模塊來(lái)處理,其模塊化設計為軟件增添了靈活性和可靠性等諸多的優(yōu)勢。

用戶(hù)應用層 為用戶(hù)提供簡(jiǎn)捷易用的可視化圖形界面操作流程,并減少了誤操作的可能。應用層當中值得注意的幾點(diǎn)分別是:報表的生成、保存和打印需要用到CView類(lèi)提供相關(guān)的成員虛函數來(lái)實(shí)現,文字與表格線(xiàn)條輸出采用CDC類(lèi)實(shí)現,測試數據的保存需要用到CDocument類(lèi)提供的服務(wù)對存儲串行化成員函數Serialize(CArchivear)的重載來(lái)實(shí)現,而幫助文檔視圖則是通過(guò)HtmlView基類(lèi)來(lái)實(shí)現的。整個(gè)軟件視圖設計采用多視圖構架,特點(diǎn)是清晰且易操作。

3.3軟件設計流程

這里介紹了測試系統手動(dòng)調試測試的一般流程。測試的一般步驟包括軟件初始化,測試系統自身軟硬件自檢,被測設備狀態(tài)切換的測試,觀(guān)測返回數字信號和波形,模擬電機驅動(dòng)信號控制電機旋轉,最后保存結果。其簡(jiǎn)要的軟件流程如圖3所示。而對于來(lái)講,實(shí)質(zhì)上就是按照一定的工作流程和被測設備的工作狀態(tài)切換來(lái)進(jìn)行自主自動(dòng)化的測試,總體的過(guò)程與手動(dòng)調試測試相似,并生成測試報表進(jìn)行記錄保存。

3.4軟件設計相關(guān)關(guān)鍵技術(shù)

3.4.1 面向對象與文檔視圖技術(shù)

文檔和視圖分離是MFC編程推薦的一種程序結構。在這種結構下,視圖類(lèi)處理跟界面有關(guān)的內容,而文檔類(lèi)處理跟存儲有關(guān)的內容,兩者通過(guò)GetDocument函數相關(guān)聯(lián)。這樣處理給編程帶來(lái)了很多好處,首先這種方法強調了模塊化的思想,兩個(gè)類(lèi)中分別處理不同的任務(wù),而需要數據交換時(shí)再相關(guān),因此提高了程序的模塊化;其次兩個(gè)類(lèi)中都有很多各自的支持類(lèi)和函數,特別是視圖類(lèi),這樣就不互相影響,最大方便地實(shí)現每個(gè)類(lèi)的功能。

3.4.2 多線(xiàn)程相關(guān)技術(shù)

測試軟件實(shí)現中采用多線(xiàn)程處理技術(shù)來(lái)調度多達4個(gè)組件共同測試的流程,同時(shí)數據采集與波形顯示的同步也采用了多線(xiàn)程間的同步來(lái)進(jìn)行協(xié)調。當然這些線(xiàn)程具體調度由操作系統完成,但從用戶(hù)角度來(lái)看是同時(shí)并行運行的。Windows環(huán)境中系統通過(guò)時(shí)間片輪流的方式實(shí)現多線(xiàn)程,CPU為每個(gè)線(xiàn)程分配一個(gè)時(shí)間片,每個(gè)線(xiàn)程從被激活起,運行到時(shí)間片被耗盡為止,此時(shí)另一個(gè)線(xiàn)程運行。軟件設計時(shí)只需要將用戶(hù)界面消息循環(huán)和數據采集、處理分配在不同線(xiàn)程上,就可以避免計算機長(cháng)時(shí)間不響應操作的問(wèn)題。在軟件具體設計過(guò)程中,使用了測試線(xiàn)程和界面線(xiàn)程。界面線(xiàn)程為主控線(xiàn)程,控制測試線(xiàn)程的開(kāi)啟、掛起和結束,提供消息循環(huán)并負責界面的生成和程序與用戶(hù)的交互。測試線(xiàn)程為工作者線(xiàn)程,實(shí)現具體的測試功能,包括數據采集、數據處理和數據入庫等。另外,系統自檢測和模塊也單獨各占有一個(gè)線(xiàn)程從而大大提高了測試系統的運行效率。





評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>