隨著測(cè)試需求的快速變化和測(cè)試項(xiàng)目開(kāi)發(fā)周期的縮短,您和團(tuán)隊(duì)能否最大程度地復(fù)用現(xiàn)有測(cè)試軟件和測(cè)量庫(kù),將尤為重要。那為什么測(cè)試工程師不能更頻繁地復(fù)用更多軟件呢?以下是測(cè)試團(tuán)隊(duì)最常給到的答復(fù):
· 我們正在使用的軟件是調(diào)任或離職同事所開(kāi)發(fā)的遺留軟件,如果對(duì)未知部分進(jìn)行更改,可能會(huì)有很大的風(fēng)險(xiǎn),而且費(fèi)用也很高。
· 測(cè)試和驗(yàn)證工程團(tuán)隊(duì)都有各自的工具和語(yǔ)言偏好或團(tuán)隊(duì)標(biāo)準(zhǔn)化機(jī)制;而且,由于過(guò)去項(xiàng)目的工具或軟件無(wú)法滿足當(dāng)今的需求,要實(shí)現(xiàn)代碼復(fù)用非常困難。
· 工程師亟需要最大程度地提高軟件復(fù)用程度及構(gòu)建抽象層或框架,但這不僅成本昂貴且耗時(shí)甚久。隨著項(xiàng)目周期不斷縮短,企業(yè)難以將重點(diǎn)放在如何實(shí)現(xiàn)標(biāo)準(zhǔn)的復(fù)用以及借鑒業(yè)界最佳實(shí)踐上。
現(xiàn)在工程師面臨的挑戰(zhàn)是應(yīng)該通過(guò)標(biāo)準(zhǔn)化來(lái)獲得長(zhǎng)期優(yōu)勢(shì),還是利用現(xiàn)有的代碼和軟件技能或偏好??jī)烧邞?yīng)如何取得平衡?為了幫助解決這個(gè)挑戰(zhàn),LabVIEW作為一個(gè)開(kāi)放平臺(tái),可幫助您將所有的測(cè)試硬件和軟件系統(tǒng)集成在一起。
使用LabVIEW,您可以將多種編程方法與圖形化數(shù)據(jù)流結(jié)合到單個(gè)應(yīng)用程序中。基于這種靈活性,您可以選擇所需的工具來(lái)創(chuàng)建待測(cè)設(shè)備(DUT)的控制、配置或測(cè)量庫(kù)。LabVIEW可將多種語(yǔ)言(如.m、C、Python、IEC 61131-3和.NET)集成到您的應(yīng)用程序中,且能夠與本地或網(wǎng)絡(luò)上運(yùn)行的其他軟件進(jìn)行互操作,從而幫助團(tuán)隊(duì)更快速成功。
內(nèi)容
· 調(diào)用現(xiàn)有DLL和.NET程序集
· 調(diào)用MATLAB腳本
· 集成Python腳本
· 通過(guò)標(biāo)準(zhǔn)工業(yè)協(xié)議與外部系統(tǒng)通信
調(diào)用現(xiàn)有DLL和.NET程序集
除了將源代碼導(dǎo)入LabVIEW程序框圖之外,還可在LabVIEW應(yīng)用程序中調(diào)用使用其他語(yǔ)言開(kāi)發(fā)的應(yīng)用程序和算法。例如,如果您已經(jīng)有一個(gè)C/C ++共享庫(kù)并且需要在LabVIEW中復(fù)用該庫(kù),那么可以使用“調(diào)用庫(kù)函數(shù)節(jié)點(diǎn)”(Call Library Function Node)來(lái)調(diào)用這個(gè)共享庫(kù)。為了使導(dǎo)入外部庫(kù)更加容易,LabVIEW還提供了導(dǎo)入共享庫(kù)向?qū)В╥mport Shared Library Wizard),可自動(dòng)創(chuàng)建或更新LabVIEW包裝VI項(xiàng)目庫(kù),以便集成到LabVIEW程序框圖中。

圖1.使用圖形化編程方法和Call Library Function Node(調(diào)用庫(kù)函數(shù)節(jié)點(diǎn)),復(fù)用現(xiàn)有C或C ++共享庫(kù)。
調(diào)用MATLAB腳本
調(diào)用使用The MathWorks,Inc.MATLAB®軟件開(kāi)發(fā)的MATLAB腳本,其中包含了常見(jiàn)的數(shù)值分析、信號(hào)處理和高級(jí)數(shù)學(xué)編程方法。這些腳本可以使用MATLAB腳本節(jié)點(diǎn)與VI結(jié)合在一起,從而可以將MATLAB分析函數(shù)集成到測(cè)試和測(cè)量系統(tǒng)中。
集成Python腳本
LabVIEW也可以調(diào)用系統(tǒng)中運(yùn)行的其他應(yīng)用程序。過(guò)去十年,Python的應(yīng)用日益普及且不斷擴(kuò)展,為各種應(yīng)用提供了數(shù)十萬(wàn)個(gè)現(xiàn)成的代碼庫(kù)。通過(guò)開(kāi)發(fā)Python自動(dòng)化腳本并將其集成至大型的LabVIEW程序,提供了一個(gè)直觀的解決方案來(lái)將Python的靈活腳本編寫(xiě)功能合并到LabVIEW系統(tǒng)設(shè)計(jì)工具。有多種方法可以復(fù)用Python代碼,比如Enthought開(kāi)發(fā)的LabVIEW Python集成工具包或者與LabVIEW內(nèi)部的命令行連接,這些方法提供了針對(duì)特定操作系統(tǒng)的接口,來(lái)調(diào)用可執(zhí)行文件和其他構(gòu)建庫(kù)。

圖3.使用LabVIEW Python集成工具包進(jìn)行內(nèi)聯(lián)調(diào)用,在LabVIEW中復(fù)用現(xiàn)有Python腳本。
通過(guò)標(biāo)準(zhǔn)工業(yè)協(xié)議與外部系統(tǒng)通信
LabVIEW具有通用和特定行業(yè)專用的以太網(wǎng)和串行外設(shè)通信庫(kù)。LabVIEW本地支持常用的工業(yè)協(xié)議(如CAN、PROFINET、OPC UA和EtherCAT),因而可以連接到各種設(shè)備、機(jī)器和基礎(chǔ)架構(gòu)。如果您的應(yīng)用程序需要支持多種協(xié)議,LabVIEW可以作為一個(gè)網(wǎng)關(guān),在其支持的近20種協(xié)議之間轉(zhuǎn)換,其中包括針對(duì)特定行業(yè)的協(xié)議,如DNP3和FlexRay。
由于FPGA可以使用LabVIEW進(jìn)行編程,因此您甚至可以高效地構(gòu)建自定義通信協(xié)議來(lái)滿足傳統(tǒng)或特有通信需求。LabVIEW FPGA模塊提供了串行、I2C和SPI等數(shù)字總線協(xié)議的代碼示例,作為開(kāi)發(fā)基礎(chǔ),同時(shí)還為Xilinx Aurora、Serial RapidIO、JESD204B和10千兆位以太網(wǎng)等高速串行協(xié)議提供了FPGA IP內(nèi)核。

圖 4.使用LabVIEW中的標(biāo)準(zhǔn)協(xié)議支持與DUT和其他系統(tǒng)組件進(jìn)行通信,如NI-XNET儀器驅(qū)動(dòng)程序。





