基于NI TestStand 和LabVIEW 開發(fā)模塊化的軟件架構(gòu)
當(dāng)今企業(yè)所面臨的挑戰(zhàn)之一是測試成本越來越高。由于設(shè)備的復(fù)雜性不斷增加,所以測試這些設(shè)備的成本也在不斷提高。因為測試對于產(chǎn)品質(zhì)量至關(guān)重要,而更加復(fù)雜的電子設(shè)備需要更新式、更先進的測試儀器,所以產(chǎn)品的測試成本過高,無法與其較低的制造成本保持一致。
當(dāng)今,測試工程師身處在這樣一個產(chǎn)品開發(fā)環(huán)境之中:
· 產(chǎn)品設(shè)計比前幾代更加復(fù)· 雜
· 為保持競爭力并滿足市場需求,· 開發(fā)周期不· 斷縮短
· 預(yù)算不· 斷縮減,· 但產(chǎn)品測試卻越來越昂貴
模塊化測試框架:軟件定義的測試方法
為了滿足縮短開發(fā)周期、實現(xiàn)較大范圍的產(chǎn)品組合、減少預(yù)算以及完成更復(fù)雜產(chǎn)品的挑戰(zhàn),測試工程師們不得不放棄專一的、針對特定應(yīng)用的交鑰匙測試系 統(tǒng)。這些系統(tǒng)缺少靈活性,難以適應(yīng)和添加新功能來更新測試更新、更復(fù)雜的產(chǎn)品,因此,傳統(tǒng)解決方案,例如靜態(tài)機架式儀器或?qū)S玫?ldquo;big iron”ATE系統(tǒng)都無法有效地滿足當(dāng)今的市場需求。
為滿足這些需求,測試經(jīng)理和工程師們轉(zhuǎn)向了基于行業(yè)標(biāo)準(zhǔn)的模塊化、軟件定義的測試架構(gòu),它可以提供:
· 增加測試系統(tǒng)的靈活性,· 能夠添加新的功能并適應(yīng)它們所需要的新技術(shù)
· 可擴展性,· 根據(jù)需要增加新的功能(和儀器)
· 通過減少前期投資成本及維護成本來降低測試系統(tǒng)成本,同· 時增加設(shè)備· 和代碼的重用率
· 通過硬件抽象層降低硬件折舊的風(fēng)險
設(shè)計高效的模塊化測試系統(tǒng)需要的架構(gòu)是能夠分離出測試系統(tǒng)(圖1)的不同組成部分--主要是將測試代碼和儀器之間以及測試代碼和總體測試管理架構(gòu)之 間解耦。這種將測試系統(tǒng)模塊化地解耦為不同的組成部分,以及通過軟件定義儀器功能的能力是更快更經(jīng)濟地開發(fā)靈活測試系統(tǒng)的關(guān)鍵因素。
圖1. 測試系統(tǒng)架構(gòu)
測試管理軟件:NI TestStand
一個自動化測試系統(tǒng)需要執(zhí)行諸多任務(wù)和測量操作步驟,其中有些操作是針對特定的被測設(shè)備(Device under test, DUT),而其它的則是適用于各種被測設(shè)備。傳統(tǒng)的測試系統(tǒng)通常將兩種操作類型整合到同一個單一的軟件層。在這種范式下,當(dāng)項目的要求發(fā)生變化時,測試系 統(tǒng)的每個部分都需要更改,并且代碼的重用變得非常繁瑣。
一個模塊化的測試系統(tǒng)架構(gòu)需要明確劃分系統(tǒng)級任務(wù)與DUT級任務(wù)。系統(tǒng)級任務(wù)對于每一個設(shè)備(測試管理軟件)通常是相同的,而DUT級任務(wù)對于每個 測試設(shè)備(測試代碼)是不同的。如圖表1所示即為DUT級和系統(tǒng)級任務(wù)間的區(qū)別。這種劃分使得測試工程師們能夠快速地重用、維護和修改測試管理軟件的組 件,而不會影響實際的測試代碼,反之亦然。
表1. 測試管理軟件任務(wù)與測試開發(fā)軟件任務(wù)
NI TestStand是 NI推出的一款功能強大、可立即執(zhí)行的測試管理軟件,用于開發(fā)、部署及執(zhí)行測試系統(tǒng)軟件(如圖2所示)。其核心在于NI TestStand是一個測試執(zhí)行程序,允許測試人員按照序列調(diào)用測試代碼,而且該代碼可以由任何編程語言編寫。此外,NI TestStand 還提供了現(xiàn)成可用的常見測試管理軟件功能,如下所列:
· 將結(jié)果記錄到任何OLEDB或ODBC數(shù)據(jù)庫
· 報告可以生成多種格式,· 包括HTML、文本、XML和ATML
· 管理不同· 訪問級別的用戶
· 測試限制管理
· 簡單和高級的操作界面
· 并行測試功能,· 允許在一個單一的DUT上同· 時測試多種產(chǎn)品或運行多個測試
此外,NI TestStand本身具有非常模塊化的軟件架構(gòu),它允許工程師們使用這些組件,或完全自定義它們。想要了解NI TestStand架構(gòu)的更多信息,請參閱NI TestStand測試管理軟件架構(gòu)指南。
圖2. NI 測試管理軟件
有些公司已經(jīng)編寫了自己的測試執(zhí)行程序,并花費了相當(dāng)大的工程資源來重新開發(fā)測試管理軟件。這種戰(zhàn)略往往導(dǎo)致生產(chǎn)力下降、長時間軟件維護帶來的資源 緊缺。相反,如果使用市場上現(xiàn)成可用的測試管理軟件,如NI TestStand,將讓您減少設(shè)備常見功能的開發(fā),使您專注于每個設(shè)備不同操作的測試代碼,從而最大限度地提高生產(chǎn)效率。
測試開發(fā)語言: LabVIEW
NI Teststand可以調(diào)用幾乎所有語言所編寫的程序,包括:LabVIEW、NI LabWindowsTM/CVI、C/C++、 .NET 甚至腳本語言。然而,大部分的通用編程語言并非針對測試測量應(yīng)用而優(yōu)化,因此很難寫出具有與儀器通信、分析數(shù)據(jù)以及按照有意義的方式展示數(shù)據(jù)等功能的程序代碼。
LabVIEW是一種直觀的圖形化編程語言,幫助程序員或者非程序員開很快地開發(fā)強大的測試應(yīng)用軟件。圖3所示為一個簡單的LabVIEW VI(虛擬儀器或程序)的范例,它可以用來從一個儀器采集信號,對數(shù)據(jù)進行分析,然后將結(jié)果生成報表給用戶。
圖3. LabVIEW圖形化編程語言,專為測試測量應(yīng)用而優(yōu)化
除了通過減少測試應(yīng)用開發(fā)時間以外,LabVIEW還能夠通過以下措施提高測試開發(fā)人員的效率:
· 通過免費的儀器驅(qū)動程序與儀器通信,· 從而· 可以控制任意儀器
· 通過數(shù)千個內(nèi)置的函數(shù)進行數(shù)據(jù)分析,· 并展示數(shù)據(jù)
· 專門針對測試測量應(yīng)用而· 開發(fā)的用戶界面控件,· 如:圖表、LED、按鈕以及儀表盤
· 可以自動利用多核處理的優(yōu)勢,· 提供更高的性能
欲了解更多信息,請閱讀自動化測試與驗證系統(tǒng)時選用NI LabVIEW的10大理由一文。
National Instruments 還提供基于文本編程語言開發(fā)測試代碼的工具。LabWindows/CVI是一個ANSI C開發(fā)環(huán)境,而NI Measurement Studio則Visual Studio的一個插件,為使用ANSI C, .NET 和 Visual C++編程語言提供測試測量界面控件和分析函數(shù)。
選擇一種針對測試測量而進行了專門優(yōu)化的編程語言,可以減少你開發(fā)測試代碼的時間,讓你更加專注于自己的特定應(yīng)用。 欲了解更多信息,請閱讀選擇正確的軟件應(yīng)用開發(fā)環(huán)境白皮書。
總結(jié)
隨著設(shè)備復(fù)雜性的增加、開發(fā)周期的縮短、預(yù)算減少等諸多挑戰(zhàn)的出現(xiàn),讓工程人員有機會重新審視他們現(xiàn)有的自動測試策略,并尋找新的途徑,在提高效率 的同時減少成本。在設(shè)計下一個自動測試系統(tǒng)時,使用新的策略,從而提高系統(tǒng)的靈活性和擴展性,實現(xiàn)更高的性能、更低系統(tǒng)成本、更長的生命周期。
模塊化的軟件定義自動測試系統(tǒng)客服了以往的基于獨立儀器或者昂貴的專有ATE系統(tǒng)的方案中的缺點。通過對測試系統(tǒng)中不同部分解耦,并通過軟件定義儀 器功能,工程師能夠使用這種模塊化的儀器提供具有更高的靈活性、擴展性,并且成本更低的解決方案,以應(yīng)對當(dāng)前市場中的挑戰(zhàn)。使用NI TestS測試管理軟件和LabVIEW圖形化編程語言構(gòu)建的模塊化測試軟件架構(gòu)被證證明能夠優(yōu)化測試系統(tǒng)并降低成本,其應(yīng)用領(lǐng)域中既有最新的智能手機、 3D電視,也有極其關(guān)鍵的下一代的國防系統(tǒng)和醫(yī)療設(shè)備。