• 
    

    
    

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

      ?

      基于圖形化的裝備測試程序開發(fā)方法研究

      2018-06-14 07:15:14尹常艷段彥鵬
      軟件 2018年5期
      關(guān)鍵詞:測試程序配置文件流程

      尹常艷,段彥鵬

      (西安泛華科技開發(fā)有限公司,陜西 西安 710075)

      0 引言

      當前電子裝備的功能日益強大,對其的維修保障提出了更高要求。裝備維修保障時,測試設(shè)備利用測試程序,調(diào)用適配器、板卡等資源完成功能檢測,從而得出測試結(jié)果。因而測試程序的開發(fā)成為了自動測試的核心工作,其重要程度日趨顯著[1-2]。

      現(xiàn)階段電子裝備進行維修保障需要通過專業(yè)的測控廠商,根據(jù)測試需求提供一套內(nèi)置測試程序集測試系統(tǒng)。當測試程序需要維護升級時,也需借助技術(shù)人員實現(xiàn)。測試程序的開發(fā),不但要求技術(shù)人員要全面了解測試設(shè)備、被測設(shè)備、接口等信息,還需要具有相關(guān)軟件的開發(fā)能力,然后通過編程實現(xiàn)測試功能。

      主流開發(fā)環(huán)境強大的軟件功能、靈活的編程方式毋庸置疑,但也具有開發(fā)周期長、入門門檻較高的缺點。另外由于各開發(fā)環(huán)境所使用的語言、編程方式存在差異,進而導致各開發(fā)環(huán)境開發(fā)的測試程序之間的可互換性差。

      由于上述各種因素,本文針對電子裝備測試程序開發(fā)的需求,充分考慮了開發(fā)環(huán)境的易用性及測試程序的通用性,利用虛擬儀器技術(shù),提出一種整合開發(fā)過程和資源,快速、便捷地根據(jù)測試需求開發(fā)測試程序,完成對被測裝備的測試。

      1 虛擬儀器技術(shù)

      虛擬儀器技術(shù)是利用高性能的模塊化硬件,結(jié)合靈活高效的軟件完成各種測試、測量和自動化的應(yīng)用。美國國家儀器公司開發(fā)LabVIEW圖形開發(fā)工具,提供了強大的軟件功能,縮短了產(chǎn)品投放市場時間、提高了產(chǎn)品開發(fā)和生成的效率[3]。LabVIEW中提供的VI腳本功能,可編程實現(xiàn)程序的創(chuàng)建、編輯和運行,減少VI的重復編輯。本文即利用VI腳本技術(shù)創(chuàng)建LabVIEW程序代碼。

      2 總體實現(xiàn)框架

      測試程序的開發(fā)工具是編寫,編譯,調(diào)試測試程序的開發(fā)環(huán)境,也稱為測試程序軟件開發(fā)環(huán)境[4]。為減少軟件開發(fā)過程對程序生成的影響,本開發(fā)方法設(shè)計一套圖形化的開發(fā)方法,用戶設(shè)計出整個測試過程,配置相應(yīng)的屬性等參數(shù),通過調(diào)試后將測試流程自動轉(zhuǎn)化為LabVIEW程序代碼,實現(xiàn)程序的開發(fā)。文中介紹的開發(fā)工具主要由工具箱、流程圖繪制、屬性配置、變量管理、調(diào)試輸出、流程保存,生成程序這幾大功能塊構(gòu)成[5]。

      工具箱提供測試流程中所需的功能模塊。根據(jù)功能劃分為固有模塊和擴展模塊。固有模塊包含開發(fā)過程所必須的模塊,如流程控制模塊(While、Switch、Timer等)和基本運算模塊(Add、Subt等);擴展模塊是將第三方提供的用于測試程序流程開發(fā)的模塊,如數(shù)據(jù)采集、信號分析等功能,通過工具將其封裝為具有Plugin方式的DLL,再以Plugin方式加載至擴展模塊中。

      流程圖繪制完成圖形化測試流程的編輯。用戶拖拽工具箱上的模塊,將其放置在流程圖繪制窗口,通過連線將各子模塊按邏輯聯(lián)系在一起,完成某些特定功能。

      屬性配置用于顯示和編輯對象屬性。屬性分為基本屬性和擴展屬性?;緦傩园▽ο蟮幕拘畔?,如名稱、顏色等信息。擴展屬性是對象特有屬性,如針對采集功能,擴展屬性包括采樣率、采樣間隔等信息[6]。

      變量管理模塊集中管理程序中所有變量。測試程序中連線只代表程序的執(zhí)行流程,模塊間的數(shù)據(jù)交互是依靠變量完成。模塊的輸入可以是一個變量值,也可是多個變量的數(shù)學、邏輯、基本函數(shù)運算,最終模塊輸入以表達式形式給出,該模塊還會對用戶組合的表達式進行邏輯分析,避免輸入非法表達式。

      調(diào)試輸出用來動態(tài)調(diào)試用戶開發(fā)的測試流程,降低測試程序自動生成過程中的出錯概率。用戶可針對流程圖上的任一節(jié)點來設(shè)置斷點、添加探針。在監(jiān)測窗口可觀察設(shè)置的各種變量的變化。調(diào)試可采用單步、跳出等方式,在流程圖繪制窗口形象的展示[7]。

      調(diào)試后無錯誤,將測試流程整體保存為流程配置文件。該文件采用 XML文件形式,文中節(jié)點出現(xiàn)的順序即為執(zhí)行順序,節(jié)點的屬性即為配置參數(shù),節(jié)點的包含關(guān)系即為節(jié)點功能單元的嵌套關(guān)系。

      最后利用VI腳本技術(shù),按照程序中節(jié)點的配置參數(shù)和執(zhí)行邏輯自動生成LabVIEW的程序代碼。生成測試程序分為參數(shù)解析和程序生成兩部分。參數(shù)解析模塊對測試程序的流程文件進行解析,將流程配置信息組織成需要的接口參數(shù)。程序生成模塊利用VI腳本技術(shù),通過識別接口參數(shù)不同的對象,將其生成并放置在框圖中,然后根據(jù)層級關(guān)系移動,最終進行連線,從而生成測試程序[82]。

      3 開發(fā)方法執(zhí)行流程

      3.1 設(shè)計開發(fā)測試流程

      根據(jù)測試需求設(shè)計測試流程。在工具箱上拖拽所需的功能塊,按照測試邏輯連接各功能塊,通過屬性窗口中設(shè)置各功能塊的參數(shù)、路徑等信息。完成后通過設(shè)置斷點、探針、變量等,在輸出和變量窗口觀察調(diào)試信息,對流程進行調(diào)試。

      3.2 獲得測試流程配置文件

      開發(fā)工具將調(diào)試無誤的測試流程信息整理保存,自動生成流程配置文件。該文件用于記錄流程執(zhí)行順序。文件中節(jié)點出現(xiàn)的順序即為執(zhí)行順序,節(jié)點的屬性即為配置參數(shù),節(jié)點的包含關(guān)系即為節(jié)點功能單元的嵌套關(guān)系。過程如下:測試流程頂層用節(jié)點Root表示測試流程開始,然后記錄測試流程的第一層級的流程控制節(jié)點。流程控制節(jié)點(WhileLoop、IfStruct、Parallel等)在文件中用容器記錄,每個控制節(jié)點分別在下層節(jié)點中詳細記錄各自特性信息。例如 WhileLoop,在下層節(jié)點中記錄其節(jié)點編號、標題、及所在容器的編號。如果其下層還包含容器,則繼續(xù)遞歸直至所有流程信息記錄完畢。另外測試流程中還包括變量參數(shù)信息,在流程配置文件中用變量節(jié)點記錄。變量節(jié)點中存儲了程序中定義的所有變量信息,從中可以解析出變量名稱、類型、維數(shù)等信息。

      3.3 獲取接口參數(shù)信息

      解析并整理流程配置文件,將節(jié)點的相關(guān)配置信息組織成程序生成時所需要接口參數(shù)信息。

      解析文件調(diào)用LabVIEW中的XML文件操作函數(shù)實現(xiàn)。從流程配置文件中解析得到的節(jié)點類型及相關(guān)的信息,例如節(jié)點類型為While循環(huán),則從該節(jié)點獲取容器號、容器名、循環(huán)條件等信息;若節(jié)點類型為 Active,則從中獲取調(diào)用函數(shù)的名稱或者是 Dll函數(shù)的路徑、參數(shù)名、參數(shù)值等信息。若某節(jié)點的子節(jié)點類型仍是容器節(jié)點,則繼續(xù)遞歸,直至獲取該節(jié)點的所有信息;整個測試流程中所有節(jié)點信息會統(tǒng)一放置在接口參數(shù)信息中[9]。

      3.4 生成測試程序

      利用LabVIEW VI腳本技術(shù),按照接口參數(shù)信息將測試流程中所有節(jié)點依次添加至 LabVIEW 程序框圖上。例如:節(jié)點類型是While循環(huán)或者條件結(jié)構(gòu),則在程序框圖設(shè)定位置自動放置While循環(huán)或者條件結(jié)構(gòu)。函數(shù)節(jié)點是根據(jù)解析出的類型劃分為內(nèi)置函數(shù)、子函數(shù)和外部庫節(jié)點。對于內(nèi)置函數(shù),開發(fā)工具根據(jù)函數(shù)名自動將該函數(shù)放置程序框圖上;對于子函數(shù),則從記錄的路徑中將該函數(shù)放置在程序框圖上;對于外部庫節(jié)點,則將調(diào)用庫函數(shù)放置在程序框圖上,然后按照 Dll路徑,導出函數(shù)調(diào)用規(guī)范以及參數(shù)信息(參數(shù)名,參數(shù)數(shù)據(jù)方向,參數(shù)類型,參數(shù)值等)配置庫節(jié)點。至此,測試流程中相關(guān)函數(shù),變量、結(jié)構(gòu)信息均以在程序框圖上生成。

      接著,遍歷程序框圖中的對象,根據(jù)接口函數(shù)信息記錄的層級關(guān)系,將部分函數(shù)、變量等功能塊分別移動到各自的容器中,然后獲取所有需要連線對象,找到連線的源端子和目標端子將兩者連接,實現(xiàn)數(shù)據(jù)的傳遞。

      最后對程序框進行整理,保存在指定路徑下。

      至此,測試流程已經(jīng)轉(zhuǎn)化為了 LabVIEW 程序代碼。

      4 實驗驗證

      為了驗證該方法,編寫一個模擬電壓輸出程序。生成的流程配置文件如圖1所示。

      圖1 多通道模擬電壓程序流程配置文件Fig.1 Multi-channel analog voltage program flow configuration file

      圖2 (左)生成節(jié)點 (右)節(jié)點移入容器Fig.2 (left) Generating node (right)node immigration container

      圖中括號1中Container表示容器,其中包含了While循環(huán)(C部分)和4個函數(shù)(A和B)。從1中可以看出A中兩個函數(shù)在while之前,B中兩個函數(shù)在while之后。While循環(huán)內(nèi)部包含3個函數(shù)分別用Activity表示。結(jié)束條件是由Condition表示,是由while內(nèi)一個函數(shù)的端子控制。括號2中Variable是函數(shù)中的變量信息。圖 1(左)是根據(jù)流程配置文件生成控件、流程控制節(jié)點、函數(shù)等信息;圖 2(右)是將相關(guān)信息放入流程控制節(jié)點;圖3是將控件、函數(shù)等根據(jù)端子連線信息連接后,整理框圖,保存程序運行。

      根據(jù)實驗驗證,該方法生成的流程配置文件能夠?qū)y試流程結(jié)構(gòu)描述清楚,根據(jù)其記錄的信息,利用VI腳本技術(shù)可以正確生成VI程序。

      圖3 (左)連線后整理程序(右)運行程序Fig.3 (left) Collate program after connection (right) running program

      5 結(jié)論展望

      本文介紹的測試程序圖形化開發(fā)方法,所有的功驗證能塊、流程控制結(jié)構(gòu)等均以圖形元素的形式展示,相比傳統(tǒng)的文本編程方式,具有形象直觀、編程門檻低,極大的降低了開發(fā)人員的學習成本[10]。同時,采用連線的方式控制節(jié)點的執(zhí)行順序,便于程序調(diào)試。

      本文提出的測試程序開發(fā)方法提出來一種快速生成測試程序的思路。用戶可以采用其它工具生成測試程序的流程配置文件,并通過熟悉的開發(fā)環(huán)境,編寫腳本程序自動生成測試程序。

      [1] 陳希祥, 邱靜, 劉冠軍. 裝備系統(tǒng)測試性方案優(yōu)化設(shè)計技術(shù)研究[J]. 中國機械工程, 2010, 21(2): 141-145.

      [2] 王俊亞, 陳棣湘, 潘孟春. 基于模型的裝備快速測試方法研究[J]. 計算機測量與控制, 2011, 19(10): 2347-2350.

      [3] 林業(yè)翔. 基于labVIEW的自動測試系統(tǒng)的研究與實現(xiàn)[D].華南理工大學, 2016.

      [4] 齊永龍, 宋斌, 劉道煦. 國外自動測試系統(tǒng)發(fā)展綜述[J].國外電子測量技術(shù), 2015, 34(12): 1-4+7.

      [5] 梁磊, 劉士儀, 李明. 基于活動圖的OWL-S過程模型的圖形化建模及實現(xiàn)[J]. 軟件, 2012, 33(4): 101-104.

      [6] 艾華. 便攜式多功能裝備故障綜合測試儀設(shè)計[J]. 中國新通信, 2017, 19(20): 148-149.

      [7] 李向東, 高甲子. 艦船裝備系統(tǒng)軟件一體化測試技術(shù)與質(zhì)量控制方法研究[J]. 船舶標準化與質(zhì)量, 2017(5): 53-59.

      [8] 紀亮. 國家物聯(lián)網(wǎng)感知裝備產(chǎn)業(yè)計量測試中心落戶無錫[J].中國計量, 2017(9): 33.

      [9] 李爍, 李明明. 中國醫(yī)學裝備協(xié)會醫(yī)學裝備計量測試專委會學術(shù)會議暨首屆青年學組成立大會成功召開[J]. 中國醫(yī)學裝備, 2017, 14(8): 140.

      [10] 盧超, 黃蔚, 胡國超. 基于圖形數(shù)據(jù)結(jié)構(gòu)的復雜對象建模設(shè)計[J]. 軟件, 2015, 36(12): 220-223.

      猜你喜歡
      測試程序配置文件流程
      提示用戶配置文件錯誤 這樣解決
      吃水果有套“清洗流程”
      搭建簡單的Kubernetes集群
      互不干涉混用Chromium Edge
      忘記ESXi主機root密碼怎么辦
      基于Castle型機械手的三溫量產(chǎn)測試平臺實現(xiàn)
      違反流程 致命誤判
      勞動保護(2018年5期)2018-06-05 02:12:10
      手機APP交互界面人因適合性測試程序的設(shè)計與實現(xiàn)
      中心主導制訂的《VHF/UHF頻率范圍內(nèi)測向系統(tǒng)測向靈敏度的測試程序》等兩項國際標準在ITU官網(wǎng)正式發(fā)布
      本刊審稿流程
      石柱| 基隆市| 定襄县| 杭锦旗| 汽车| 蒙阴县| 兴业县| 黔江区| 长岛县| 施秉县| 罗定市| 岳池县| 昔阳县| 尼玛县| 乐平市| 正宁县| 嘉善县| 怀仁县| 丰原市| 于都县| 房产| 长丰县| 会泽县| 扬州市| 南城县| 正宁县| 泾源县| 潢川县| 巨野县| 古蔺县| 张家口市| 大安市| 海门市| 内江市| 怀来县| 乐昌市| 平定县| 清新县| 云和县| 田林县| 林芝县|