• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      實現(xiàn)儀器可互換的開關(guān)驅(qū)動程序設(shè)計

      2010-11-15 07:36:56鐘建林齊玉東辛旭光
      中國測試 2010年5期
      關(guān)鍵詞:測試程序測試項目自動測試

      鐘建林,齊玉東,辛旭光,何 友

      (海軍航空工程學(xué)院,山東 煙臺 264001)

      1 引 言

      開關(guān)系統(tǒng)是ATS(自動測試系統(tǒng))中信號傳輸與分配的中樞,測試程序通過開關(guān)對測試資源與UUT(被測設(shè)備)之間的信號通道或激勵通道進行控制,實現(xiàn)測試過程的自動化和程序化。為了降低開發(fā)、維護和升級的成本,大型裝備自動測試系統(tǒng)在測試軟件中采取儀器可互換技術(shù)。一方面可以利用現(xiàn)有的物理資源,減少采購費用;另一方面,當(dāng)測試資源升級、更換時,測試程序無需更改,大大減少了開發(fā)和維護費用。大型裝備自動測試系統(tǒng)通常包含多個開關(guān)資源,這些開關(guān)資源可能來自不同的廠商,總線形式不一,軟件控制接口各異,需要對這些開關(guān)資源的軟件接口進行統(tǒng)一,實現(xiàn)測試程序TPS與具體開關(guān)資源的無關(guān),進而實現(xiàn)開關(guān)類儀器的可互換。

      2 實現(xiàn)儀器可互換的自動測試技術(shù)框架

      2.1 基于配置文件的ATS軟件結(jié)構(gòu)

      基于ini配置文件的自動測試系統(tǒng)實現(xiàn)了儀器可互換,其軟件體系結(jié)構(gòu)如圖1。其中資源需求描述是一個ini文件,描述了儀器所屬類的類名、邏輯儀器名、物理儀器名、資源描述符、物理驅(qū)動程序名等,物理儀器在該文件中進行“軟注冊”。系統(tǒng)在啟動時根據(jù)儀器類名搜索與測試主機相連的該類物理儀器,并使該類物理儀器處于待機狀態(tài),隨時等待程控指令。測試程序通過邏輯儀器名對物理儀器進行控制,因而測試程序中不會出現(xiàn)物理儀器有關(guān)的信息,實現(xiàn)了測試程序與具體物理儀器無關(guān)[1]。

      測試項目定義文件以ini文件的格式定義了當(dāng)前UUT的測試項目信息,一個TPS(測試程序集)對應(yīng)一個測試項目定義文件。每個測試項目具有標(biāo)準格式的信息,如測試項目代號、(子)測試項目名稱、測試項目級別、對應(yīng)測試函數(shù)名、函數(shù)調(diào)用參數(shù)、是否加電測試等。測試程序主框架根據(jù)測試項目定義文件實現(xiàn)對TPS測試項目的屬性識別和有效管理。

      測試數(shù)據(jù)模板是一個Excel表格,測試程序主框架根據(jù)該表數(shù)據(jù)與相應(yīng)測試項目的測試數(shù)據(jù)進行比較,判斷測試是否通過,并通過測試項目列表格式化顯示測試結(jié)果。

      測試主框架內(nèi)核包括測試引擎、測試數(shù)據(jù)管理等與軟件平臺有關(guān)的函數(shù),其中測試引擎主要包括測試程序主框架的函數(shù),實現(xiàn)對類驅(qū)動的動態(tài)調(diào)用,完成TPS的儀器無關(guān)性及系統(tǒng)集成[2]。

      圖1 自動測試系統(tǒng)軟件結(jié)構(gòu)

      2.2 TPS、類驅(qū)動、物理驅(qū)動的調(diào)用關(guān)系

      儀器可互換技術(shù)最初由IVI聯(lián)盟提出,其核心是將儀器驅(qū)動程序分為上下兩層,即上層的儀器類驅(qū)動程序和下層的儀器物理驅(qū)動程序。圖1中,TPS與類驅(qū)動動態(tài)鏈接庫DLL之間通過隱含連接方式調(diào)用DLL中定義的導(dǎo)出變量和導(dǎo)出函數(shù)。而類驅(qū)動與物理驅(qū)動動態(tài)庫采用顯式鏈接方式。底層代碼由儀器供貨商提供,直接與儀器會話,并被物理驅(qū)動程序所調(diào)用。物理驅(qū)動導(dǎo)出函數(shù)與類驅(qū)動導(dǎo)出函數(shù)是一一對應(yīng)的,它們的函數(shù)名以及參數(shù)的數(shù)量、定義均相同,但函數(shù)名的前綴不同(函數(shù)名前綴在資源需求描述文件中定義)[3-4]。測試程序只與類驅(qū)動打交道,不包含物理驅(qū)動中的函數(shù)和變量名,使得測試程序與具體儀器無關(guān),當(dāng)需要更換儀器資源時,只需要在資源需求描述ini文件中進行注冊,并將類驅(qū)動與相應(yīng)的物理驅(qū)動重新鏈接即可,實現(xiàn)了儀器的可互換。

      3 基于LabWindows/CVI的開關(guān)驅(qū)動程序編程實例

      NI公司的LabWindows/CVI以ANSI C為核心,它的集成化開發(fā)平臺、交互式編程方法、豐富的面板功能以及訪問ini文件、多線程、創(chuàng)建庫文件、DDE動態(tài)數(shù)據(jù)交換等高級編程手段使其自身功能強大,應(yīng)用方便,成為工程技術(shù)開發(fā)人員建立ATS首選的軟件開發(fā)工具[5]。在某大型ATS項目開發(fā)中,除了矩陣開關(guān)之外,使用了單刀單擲開關(guān)SPST、單刀雙擲開關(guān)SPDT、單刀四擲開關(guān)SP4T、單刀六擲開關(guān)SP6T共4類、5個PXI開關(guān)模塊,它們同屬于Switch開關(guān)類儀器,實際型號分別是NI PXI 2568,NI PXI 2566,NI PXI 2594,CETC PXI AV6943,其中 NI PXI 2566模塊兩個,其他模塊各一個。這些開關(guān)模塊包含的開關(guān)個數(shù)不相同,不同的開關(guān)模塊提供的軟件接口也不相同。

      3.1 類驅(qū)動函數(shù)的設(shè)計

      在熟悉儀器類的共有功能和現(xiàn)有或?qū)砜赡芤玫降膬x器特有功能的基礎(chǔ)上,對類驅(qū)動進行統(tǒng)一規(guī)劃、構(gòu)造類公共函數(shù)和類特有函數(shù)是類驅(qū)動函數(shù)設(shè)計的第一步。其中類公共函數(shù)是儀器共有的函數(shù),如初始化、復(fù)位、自檢、關(guān)閉等操作,而類特有函數(shù)是該類儀器特有的函數(shù)。開關(guān)類特有函數(shù)一般有連接、斷開和狀態(tài)查詢3種。

      在開關(guān)類驅(qū)動函數(shù)的設(shè)計中,應(yīng)注意參數(shù)數(shù)量和類型盡可能統(tǒng)一、合理、簡單。在盡量覆蓋下層物理驅(qū)動參數(shù)的基礎(chǔ)上,有所歸納和提煉,便于測試程序編寫人員對函數(shù)的理解和TPS調(diào)用。具體到開關(guān)驅(qū)動,尤其要清楚每個驅(qū)動函數(shù)對開關(guān)操作后的狀態(tài),即確保開關(guān)狀態(tài)的可控和可觀,使程序?qū)π盘柾ǖ篮图钔ǖ缹崿F(xiàn)有效且準確的控制。

      類驅(qū)動的公共函數(shù)包括 Init(),Reset(),Selftest(),Close()。通常,儀器供應(yīng)商都提供了相應(yīng)的底層驅(qū)動程序,因此這些類公共函數(shù)的實現(xiàn)比較簡單,直接根據(jù)邏輯儀器名加載相應(yīng)的物理驅(qū)動程序即可。但是要注意Init(),Reset()函數(shù)執(zhí)行后儀器的狀態(tài),例如,NI 2594(SP4T)初始化后 ch0通道接通,ch1,ch2,ch3 通道斷開;AV6943(SP6T)初始化后全部通道處于斷開狀態(tài);2566(SPDT)初始化后全部NO(常開端)斷開,NC(常閉端)閉合;2568(SPST)初始化后全部開關(guān)斷開。測試程序的編寫人員必須掌握這些情況。

      在類驅(qū)動的設(shè)計中,將重點放在類特有函數(shù)上。對TPS而言,在該系統(tǒng)中用到的開關(guān)功能包括連接、斷開和狀態(tài)查詢,因此分別設(shè)立Connect,Disconnect,Getstate 3種類特有函數(shù),其定義分別為:

      其中,LogiSess是邏輯儀器句柄,Channel是指定的開關(guān),Pol是該開關(guān)的某一通道號,PolConnected返回接通的通道號。規(guī)定開關(guān)Channel和通道Pol均從整數(shù)0開始編號。對于不同類型的開關(guān),其參數(shù)含義如表1。其中,X表示0~N的某一整數(shù),Y表示0~M的某一整數(shù)。SPDT的連接或斷開指的是連接或斷開NO端,其查詢函數(shù)返回1則表明NO處于接通狀態(tài),其NC端的控制狀態(tài)可以完全由NO的控制和狀態(tài)確定。

      表1 開關(guān)函數(shù)的參數(shù)范圍

      3.2 物理驅(qū)動函數(shù)的設(shè)計

      在下層的物理驅(qū)動中,則必須根據(jù)類驅(qū)動的參數(shù)對儀器廠商提供的底層驅(qū)動進行適當(dāng)?shù)姆庋b,通常包括參數(shù)的重新定義、類型轉(zhuǎn)換、統(tǒng)一約定等。例如,儀器供貨商為PXI AV6943模塊提供的底層連接函數(shù)為:AV6943_switchStatus(Handle hHandle,ViUInt32 unSwitchNum,ViUInt32 unStatus,ViString strErrMsg)。hHandle為儀器句柄,unSwitchNum為開關(guān)號,unStatus參數(shù)范圍為 0~6(0:全部斷開;1~6:選通一路),由于儀器句柄、通道參數(shù)類型與相應(yīng)的類驅(qū)動函數(shù)均不同,這要在物理驅(qū)動函數(shù)中進行類型轉(zhuǎn)換。另外,類驅(qū)動中通道Pol從0開始編號,必須將unStatus參數(shù)的0~5定義為6個選通通道,而全部斷開可定義為6,從而保持與類驅(qū)動參數(shù)定義的一致性。

      以下是AV6943開關(guān)連接函數(shù)的實現(xiàn)代碼:

      4 結(jié)束語

      基于IVI的儀器類驅(qū)動器對物理儀器功能進行了合理的歸納和提煉,為TPS提供統(tǒng)一、易用的軟件接口。物理驅(qū)動程序?qū)Φ讓域?qū)動程序進行適當(dāng)?shù)姆庋b,CVI測試引擎實現(xiàn)類驅(qū)動與物理儀器之間的動態(tài)鏈接。當(dāng)增加或更換新的開關(guān)模塊時,測試程序無需更改,只需在程序中添加新模塊對應(yīng)的物理驅(qū)動程序并編譯鏈接即可,其相應(yīng)的類驅(qū)動程序也無需改動,實現(xiàn)了TPS的硬件無關(guān)性和儀器的可互換[6]。

      [1]劉金寧,孟 晨,崔少輝.基于配置文件的虛擬儀器測試軟件設(shè)計與實現(xiàn)[J].電力自動化設(shè)備,2005(1):50-53.

      [2]鐘建林,何 友,任獻彬.基于LabWindows/CVI的ATS軟件框架[J].電子技術(shù)應(yīng)用,2008(4):70-72.

      [3]牛雙誠,任獻彬.儀器可互換技術(shù)研究[J].測控技術(shù),2003(2):1-3.

      [4]王國華,孟曉風(fēng),趙瑞賢.一種基于開放式系統(tǒng)的儀器互換性實現(xiàn)[J].中國測試技術(shù),2006,32(4):11-14.

      [5]宋宇峰.LabWindows/CVI逐步深入與開發(fā)實例[M].北京:機械工業(yè)出版社,2003.

      [6]任獻彬,許愛強.TPS重用性及互操作性設(shè)計技術(shù)[J].電子測量技術(shù),2003(2):13-14.

      猜你喜歡
      測試程序測試項目自動測試
      我國金融科技“監(jiān)管沙盒”測試項目準入標(biāo)準制度研究
      籃球半場往返運球上籃的訓(xùn)練方法——體育中考籃球測試項目訓(xùn)練心得
      甘肅教育(2020年8期)2020-06-11 06:10:22
      JXG-50S型相敏軌道電路接收器自動測試臺
      可并行測試的電磁兼容自動測試系統(tǒng)的實現(xiàn)
      電子測試(2018年13期)2018-09-26 03:29:14
      基于Castle型機械手的三溫量產(chǎn)測試平臺實現(xiàn)
      關(guān)于某型雷達自動測試系統(tǒng)的幾點認識和建議
      電子制作(2018年11期)2018-08-04 03:26:00
      手機APP交互界面人因適合性測試程序的設(shè)計與實現(xiàn)
      中心主導(dǎo)制訂的《VHF/UHF頻率范圍內(nèi)測向系統(tǒng)測向靈敏度的測試程序》等兩項國際標(biāo)準在ITU官網(wǎng)正式發(fā)布
      電氣自動化控制設(shè)備可靠性測試探討
      《國家學(xué)生體質(zhì)健康標(biāo)準》測試項目修訂研究
      巴里| 铅山县| 江西省| 米易县| 壶关县| 潢川县| 鹤峰县| 额尔古纳市| 嘉善县| 西和县| 青岛市| 健康| 丹江口市| 始兴县| 渭源县| 扎兰屯市| 扶绥县| 迁西县| 封丘县| 拜泉县| 富宁县| 安平县| 江阴市| 阜南县| 会泽县| 民勤县| 神池县| 分宜县| 巴南区| 新和县| 阿坝| 沙河市| 泰宁县| 宜阳县| 济阳县| 留坝县| 疏附县| 岑巩县| 临沂市| 平顺县| 东至县|