楊慧玉,任 兵,合 燁,劉學(xué)明,李 平
(1.重慶建設(shè)工業(yè)集團(tuán)有限責(zé)任公司,重慶 400050;2.重慶大學(xué)機(jī)械傳動(dòng)國家重點(diǎn)實(shí)驗(yàn)室,重慶 400044)
數(shù)字采集儀以及動(dòng)態(tài)信號(hào)分析儀種類繁多,在測(cè)控領(lǐng)域應(yīng)用廣泛。隨著電子技術(shù)的發(fā)展,各種數(shù)字采集儀的性能都有所提高。按照國家計(jì)量校準(zhǔn)規(guī)程對(duì)這類儀器進(jìn)行校準(zhǔn),需要各種校準(zhǔn)儀器協(xié)調(diào)工作,同時(shí)對(duì)測(cè)試人員的要求很高,但校準(zhǔn)工作效率和校準(zhǔn)精度不高。尤其是由于校準(zhǔn)涉及一些重復(fù)操作,會(huì)使檢測(cè)人員出現(xiàn)疲勞,由此可能產(chǎn)生一些誤操作,影響校準(zhǔn)結(jié)果。針對(duì)這些問題,本文通過采用基于虛擬儀器的校準(zhǔn)系統(tǒng)取代人工校準(zhǔn),能精確、迅速地完成儀器的校準(zhǔn)任務(wù),具有很好的應(yīng)用前景。
基于虛擬儀器的測(cè)試系統(tǒng)近幾年在國內(nèi)外發(fā)展迅速,很多學(xué)者和單位都開發(fā)了相應(yīng)的產(chǎn)品[1]。在虛擬儀器的設(shè)計(jì)過程中,軟件平臺(tái)的選擇對(duì)于儀器功能的設(shè)計(jì)和開發(fā)至關(guān)重要。LabVIEW是美國國家儀器公司(NI)開發(fā)的面向測(cè)控領(lǐng)域的圖形化虛擬儀器開發(fā)平臺(tái),它基于圖形化的編程語言,自身具有豐富的圖形控件和強(qiáng)大的函數(shù)庫,采用拖放圖標(biāo)和流程圖的形式進(jìn)行儀器的開發(fā)。此外,LabVIEW支持大量的儀器驅(qū)動(dòng)和通信協(xié)議,借助一致的驅(qū)動(dòng)API,可以實(shí)現(xiàn)對(duì)儀器的底層命令控制[2-3];因此,本文采用LabVIEW軟件,結(jié)合硬件平臺(tái),開發(fā)出數(shù)字采集儀在線校準(zhǔn)系統(tǒng)。
按照傳統(tǒng)的校準(zhǔn)方法,需要配置正弦信號(hào)發(fā)生器、頻率計(jì)、數(shù)字電壓表和白噪聲信號(hào)發(fā)生器等多臺(tái)儀器[4-5],這些儀器相互獨(dú)立,不利于攜帶和現(xiàn)場(chǎng)測(cè)試。為更適合工程應(yīng)用,本校準(zhǔn)系統(tǒng)采用NI公司的基于PXI總線的硬件設(shè)備來取代傳統(tǒng)的儀器。
基于PXI總線的系統(tǒng)能勝任惡劣環(huán)境所要滿足的要求[6]:(1)能在嚴(yán)酷的工業(yè)環(huán)境下工作;(2)通過共享硬件資源以減小體積;(3)內(nèi)置定時(shí)和觸發(fā)信號(hào),集成了定時(shí)和同步特性,減少不同儀器之間實(shí)現(xiàn)觸發(fā)和同步功能的復(fù)雜性;(4)使系統(tǒng)集成變得更簡(jiǎn)易。
校準(zhǔn)系統(tǒng)的組成框圖如圖1所示。
圖1 校準(zhǔn)系統(tǒng)的結(jié)構(gòu)圖
具體的硬件配置如下:
(1)NI PXIe-8108嵌入式控制器;
(2)NI PXIe-1082 8槽Express機(jī)箱;
(3)NI PXI-4461信號(hào)發(fā)生器;
(4)NI PXI-5122高速數(shù)字化儀;
(5)打印機(jī)。
采用嵌入式控制器PXIe-8108和機(jī)箱PXIe-1082結(jié)合的方式,作為虛擬儀器的硬件平臺(tái)基礎(chǔ)。NI公司的基于PXI總線嵌入式控制器和機(jī)箱體積小,性能好,攜帶方便,適合工程應(yīng)用。
采用PXI4461作為信號(hào)發(fā)生器,它可以實(shí)現(xiàn)2路同步更新模擬輸出通道,輸出標(biāo)準(zhǔn)信號(hào)至被檢儀器。通過信號(hào)分線裝置,可以實(shí)現(xiàn)多路實(shí)時(shí)同步信號(hào)輸出,用于儀器多通道的功能指標(biāo)校準(zhǔn)。
通過軟件功能設(shè)計(jì),PXI4461可產(chǎn)生任意波形的標(biāo)準(zhǔn)信號(hào),如正弦信號(hào)、白噪聲信號(hào)等。
校準(zhǔn)系統(tǒng)信號(hào)發(fā)生模塊達(dá)到的具體指標(biāo)為:
(1)24位分辨率,采樣率204.8kS/s,動(dòng)態(tài)范圍優(yōu)于110dB;
(2)配合信號(hào)分線裝置,輸出通道為16個(gè);
(3)信號(hào)幅值范圍為-10~10 V,允許誤差優(yōu)于0.05%,幅值穩(wěn)定性優(yōu)于0.3%(8h);
(4)信號(hào)頻率:
測(cè)量范圍 0.01~20kHz,允許誤差優(yōu)于 1×10-4;
測(cè)量范圍 0.02~1MHz,允許誤差優(yōu)于 5×10-5;
(5)穩(wěn)定性優(yōu)于0.05%;
(6)失真度≤0.03%。
實(shí)時(shí)信號(hào)采集和處理部分采用的是PXI-5122數(shù)字化儀,它可以取代電壓表和頻率計(jì),實(shí)現(xiàn)對(duì)本裝置信號(hào)發(fā)生器的頻率、幅度、動(dòng)態(tài)范圍等參數(shù)的測(cè)量,同時(shí)也可以控制并讀取被校準(zhǔn)儀器的測(cè)量結(jié)果,進(jìn)行校準(zhǔn)項(xiàng)目結(jié)果的計(jì)算。
它所能達(dá)到的主要指標(biāo)如下:
(1)垂直分辨率14位,采樣帶寬100MHz,采樣率100MS/s;
(2)頻率分辨率誤差≤1×10-4;
(3)交流電壓測(cè)量允許誤差≤±0.1%。
上述指標(biāo)都能達(dá)到JJG 834-2006《動(dòng)態(tài)信號(hào)分析儀檢定規(guī)程》和JJF 1048-1995《數(shù)據(jù)采集系統(tǒng)校準(zhǔn)規(guī)范》的要求;因此,本校準(zhǔn)系統(tǒng)的硬件平臺(tái)在功能上完全可以代替國家檢定規(guī)程中所要求的檢定儀器。而且,該硬件平臺(tái)精度高,可控性好,模塊之間可以實(shí)時(shí)通信,可以實(shí)現(xiàn)自動(dòng)化的校準(zhǔn)工作。
為提高開發(fā)效率,縮短開發(fā)周期,本校準(zhǔn)系統(tǒng)是在NI公司的虛擬儀器開發(fā)平臺(tái)LabVIEW環(huán)境中開發(fā)的。
由于本校準(zhǔn)系統(tǒng)的功能是對(duì)數(shù)字采集儀器進(jìn)行校準(zhǔn),校準(zhǔn)項(xiàng)目的制定是基于JJG 834-2006和JJF 1048-1995,校準(zhǔn)項(xiàng)目個(gè)數(shù)較多。若采用傳統(tǒng)的選項(xiàng)卡或按鈕進(jìn)行校準(zhǔn)項(xiàng)目的選擇會(huì)造成界面控件布局密集,影響美觀和舒適度。而且,從長(zhǎng)遠(yuǎn)角度考慮,如果對(duì)儀器功能進(jìn)行擴(kuò)充,采用傳統(tǒng)的方法,需要重新設(shè)計(jì)儀器界面;因此,本文在校準(zhǔn)系統(tǒng)的開發(fā)中,采用主界面和子界面獨(dú)立設(shè)計(jì)[7]。主界面及主程序,完成儀器校準(zhǔn)的初始化、儀器校準(zhǔn)項(xiàng)目的選擇和最終校準(zhǔn)報(bào)告的生成及打印。
圖2 主界面動(dòng)態(tài)調(diào)用子程序
本校準(zhǔn)系統(tǒng)主界面設(shè)計(jì)以子面板為核心,將不同的校準(zhǔn)項(xiàng)目調(diào)至子面板界面中執(zhí)行,通過枚舉選擇控件完成校準(zhǔn)項(xiàng)目的選擇。采用這種方式的主界面極為精簡(jiǎn),并且子程序的改變都不會(huì)影響到主界面,有利于系統(tǒng)的維護(hù)和升級(jí)。圖2為主程序動(dòng)態(tài)調(diào)用子程序,在主界面的子面板中顯示的程序圖。圖3為校準(zhǔn)系統(tǒng)的主程序流程圖。
圖3 校準(zhǔn)系統(tǒng)的主程序流程圖
如圖3所示,初始化主要完成界面數(shù)據(jù)、控件狀態(tài)的初始化??紤]到被檢儀器生產(chǎn)廠家各不相同,儀器的級(jí)別也不相同,為了具有通用性,本校準(zhǔn)系統(tǒng)分為手動(dòng)校準(zhǔn)和自動(dòng)校準(zhǔn)。對(duì)于自動(dòng)校準(zhǔn),校準(zhǔn)系統(tǒng)采用全局變量選擇儀器驅(qū)動(dòng)子程序進(jìn)行通信,完成相應(yīng)的驅(qū)動(dòng)程序的調(diào)用。手動(dòng)校準(zhǔn)是針對(duì)一些生產(chǎn)廠家的老型號(hào)儀器,這類儀器無法實(shí)現(xiàn)程序控制和數(shù)據(jù)通信,因此在儀器校準(zhǔn)過程中需要手動(dòng)輸入一些儀器的參數(shù)和讀數(shù)。
自動(dòng)校準(zhǔn)適用于可以進(jìn)行程序控制和數(shù)據(jù)通信的儀器,通過對(duì)儀器的控制可以自動(dòng)完成每個(gè)校準(zhǔn)項(xiàng)目,減少人為干預(yù),提高校準(zhǔn)精度。
對(duì)于被檢儀器的控制,主要分為兩類:一類是LabVIEW驅(qū)動(dòng)庫支持,還有一類是通過動(dòng)態(tài)鏈接庫調(diào)用。NI公司開發(fā)的用來與各種儀器總線進(jìn)行通信的高級(jí)應(yīng)用編程接口-VISA,不受平臺(tái)、總線和環(huán)境的限制,可用來對(duì) USB、GPIB、串口、VXI、PXI和以太網(wǎng)系統(tǒng)進(jìn)行配置、編程和調(diào)試。通過LabVIEW對(duì)VISA進(jìn)行配置,就可以實(shí)現(xiàn)對(duì)儀器的控制[6]。
LabVIEW為更好地支持普通數(shù)據(jù)采集卡等硬件,提供了調(diào)用庫函數(shù)節(jié)點(diǎn)(call library function node,CLFN)和代碼接口節(jié)點(diǎn)(code interface node,CIN)兩種實(shí)現(xiàn)方法。LabVIEW平臺(tái)下調(diào)用動(dòng)態(tài)連接庫的方法,比研究利用CIN節(jié)點(diǎn)的方法更有意義[8]。采用CLFN節(jié)點(diǎn),LabVIEW可以較容易地實(shí)現(xiàn)訪問動(dòng)態(tài)連接庫(DLL)。本校準(zhǔn)系統(tǒng)在開發(fā)過程中,對(duì)于國產(chǎn)的采集儀器采用DLL調(diào)用的方法,如采用DLL調(diào)用方式讀取北京優(yōu)采公司的UA300中數(shù)據(jù)。通過調(diào)用采集器DLL文件,嚴(yán)格按照數(shù)據(jù)匹配類型配置CLFN的輸入和輸出節(jié)點(diǎn),并且按照采集器的量程進(jìn)行轉(zhuǎn)換,以此得到采集的數(shù)據(jù)??梢园l(fā)現(xiàn),該方法可以充分利用采集器的DLL文件資源,無需重新編寫采集程序,很大地縮減了開發(fā)周期。
校準(zhǔn)系統(tǒng)中每個(gè)校準(zhǔn)項(xiàng)目的界面和功能設(shè)計(jì)是系統(tǒng)開發(fā)的核心。在校準(zhǔn)項(xiàng)目子程序界面的設(shè)計(jì)中,充分考慮工業(yè)用戶界面的設(shè)計(jì)要求。通過選用合適的LabVIEW控件,或者自行設(shè)計(jì)自定義控件,達(dá)到較好的界面效果。校準(zhǔn)項(xiàng)目子程序設(shè)計(jì)采用狀態(tài)機(jī)模式[7,9]。狀態(tài)機(jī)是最高級(jí)的LabVIEW設(shè)計(jì)模式,它具有極大的靈活性和可擴(kuò)展性,可以允許代碼從任意一個(gè)狀態(tài)跳轉(zhuǎn)到另一個(gè)狀態(tài),同時(shí)保證了程序的可讀性。圖5為校準(zhǔn)項(xiàng)目的程序流程圖。
圖4 采用DLL方式讀取UA300數(shù)據(jù)
圖5 校準(zhǔn)項(xiàng)目子程序流程圖
信號(hào)發(fā)生器與采集控制設(shè)計(jì):信號(hào)發(fā)生器采用軟件輸出標(biāo)準(zhǔn)信號(hào)源,通過硬件PXI4461的AO口輸出,以此作為信號(hào)發(fā)生器。在軟件設(shè)計(jì)的過程中,不同校準(zhǔn)項(xiàng)目所要求的信號(hào)源不盡相同,而且,在一個(gè)校準(zhǔn)項(xiàng)目的操作過程中,信號(hào)也是根據(jù)需要進(jìn)行自動(dòng)調(diào)整。本校準(zhǔn)系統(tǒng)在設(shè)計(jì)信號(hào)發(fā)生器的過程中,通過信號(hào)發(fā)生與數(shù)據(jù)采集相互協(xié)調(diào)、制約來完成。
(1)當(dāng)信號(hào)發(fā)生器產(chǎn)生該校準(zhǔn)項(xiàng)目所需的信號(hào)時(shí),觸發(fā)采集模塊進(jìn)行采集,這就保證了采集信號(hào)的有效性。
(2)當(dāng)對(duì)該類型信號(hào)采集完成時(shí),采集模塊給信號(hào)發(fā)生器模塊一個(gè)觸發(fā)信號(hào),則進(jìn)行信號(hào)參數(shù)的自動(dòng)調(diào)整。
(3)根據(jù)校準(zhǔn)項(xiàng)目的需求,當(dāng)采集模塊采集夠所需的全部數(shù)據(jù)時(shí),觸發(fā)信號(hào)發(fā)生器關(guān)閉,然后程序跳轉(zhuǎn)至數(shù)據(jù)處理模塊。
對(duì)采集到的數(shù)據(jù)進(jìn)行處理,主要是基于JJG 834-2006和JJF 1048-1995。它們針對(duì)的是傳統(tǒng)校準(zhǔn)方法,在某些條目上不適合自動(dòng)校準(zhǔn);因此,本校準(zhǔn)系統(tǒng)在開發(fā)過程中,充分利用計(jì)算機(jī)的優(yōu)勢(shì),在算法上進(jìn)行了一定程度的優(yōu)化,比如,對(duì)于最高采集速率的校準(zhǔn)項(xiàng)目中,按照校準(zhǔn)規(guī)程,需要人工統(tǒng)計(jì)出N個(gè)信號(hào)周期內(nèi)采集數(shù)據(jù)個(gè)數(shù)n,然后以此計(jì)算出最高采集速率。而在自動(dòng)校準(zhǔn)過程中,對(duì)一個(gè)信號(hào)進(jìn)行采集時(shí),首先要規(guī)定采集的個(gè)數(shù)n,而不是統(tǒng)計(jì)出n;因此,該規(guī)程在此實(shí)用性較差。本校準(zhǔn)系統(tǒng)在實(shí)現(xiàn)該算法時(shí),先規(guī)定采集個(gè)數(shù)n,然后通過計(jì)算信號(hào)過零點(diǎn)的次數(shù),統(tǒng)計(jì)出信號(hào)周期N,以此計(jì)算最高采樣速率。同樣,在其他項(xiàng)目的校準(zhǔn)過程中,由于校準(zhǔn)規(guī)程針對(duì)的是手動(dòng)校準(zhǔn)與人工讀數(shù),為降低測(cè)試人員工作量,在多次讀值的過程中對(duì)平均次數(shù)的要求較低,而在自動(dòng)化校準(zhǔn)系統(tǒng)的開發(fā)過程中,可以通過提高平均次數(shù)進(jìn)行多次采集,提高讀值的精度。
報(bào)表的生成采用Word模板設(shè)計(jì),這種方法適合規(guī)范化、標(biāo)準(zhǔn)化的報(bào)表生成。采用這種方法進(jìn)行報(bào)表設(shè)計(jì),只需要設(shè)計(jì)好報(bào)表模板,然后將每次檢定的結(jié)果填入到報(bào)表中相應(yīng)的位置即可。
首先根據(jù)需求設(shè)計(jì)好標(biāo)準(zhǔn)化的模板,對(duì)于模板中需要填入的數(shù)據(jù),采用Word中的“書簽”進(jìn)行位置標(biāo)記。
每個(gè)檢定項(xiàng)目產(chǎn)生的檢定結(jié)果,可以通過全局變量和配置文件的形式保存在程序中,當(dāng)檢定完所有的項(xiàng)目后,點(diǎn)擊“報(bào)表”按鈕,程序會(huì)讀取所有檢定項(xiàng)目的結(jié)果,填入到報(bào)表中相應(yīng)的“書簽”位置。采用“書簽”形式,可以方便快捷地在報(bào)表中填入單個(gè)數(shù)據(jù)、數(shù)組表格以及圖形。對(duì)于生成的報(bào)表,可以直接通過打印機(jī)打印。
圖6 采用數(shù)字采集儀在線校準(zhǔn)系統(tǒng)對(duì)UA300進(jìn)行采集線性度校準(zhǔn)界面圖
圖6為采用本文開發(fā)的數(shù)字采集儀在線校準(zhǔn)系統(tǒng)對(duì)UA300進(jìn)行采集線性度的校準(zhǔn)時(shí)的操作界面。
系統(tǒng)界面的左下角是校準(zhǔn)項(xiàng)目選擇區(qū),圖6中顯示選擇采集線性度校準(zhǔn)項(xiàng)進(jìn)行實(shí)驗(yàn),該檢定項(xiàng)目為自動(dòng)檢定。系統(tǒng)界面中間部分為線性度測(cè)量子程序的界面,就是采用本文中提到的動(dòng)態(tài)調(diào)用子程序方法嵌入到子面板中。
由于本檢定項(xiàng)目為自動(dòng)檢定,當(dāng)用戶點(diǎn)擊“開始”按鈕時(shí),系統(tǒng)首先進(jìn)行自檢,通過查詢?cè)O(shè)備之間的通信是否正常完成自檢。當(dāng)自檢成功后,其對(duì)應(yīng)的標(biāo)志燈會(huì)亮。系統(tǒng)進(jìn)入信號(hào)發(fā)生模塊控制區(qū),按照預(yù)先設(shè)定好的信號(hào)發(fā)出信號(hào),系統(tǒng)確認(rèn)發(fā)出的信號(hào)為標(biāo)準(zhǔn)信號(hào)后,啟動(dòng)采集模塊,按照預(yù)先設(shè)定好的采集次數(shù)和采集數(shù)據(jù)的個(gè)數(shù)完成采集任務(wù)。當(dāng)完成當(dāng)前信號(hào)的采集后,系統(tǒng)再次控制信號(hào)發(fā)生器,更改信號(hào)的參數(shù),然后再次進(jìn)行采集。按照該實(shí)驗(yàn)的校準(zhǔn)規(guī)程,需要在被檢儀器量程范圍內(nèi)選擇11個(gè)點(diǎn)進(jìn)行數(shù)據(jù)采集。當(dāng)系統(tǒng)采集到所需的所有數(shù)據(jù)后,關(guān)閉信號(hào)發(fā)生模塊和信號(hào)采集模塊,程序跳轉(zhuǎn)至線性度結(jié)果計(jì)算模塊,得到線性度的檢定結(jié)果,并保存至主程序的結(jié)果變量中。
這樣就完成了線性度的檢定,然后選擇其他的檢定項(xiàng)目進(jìn)行檢定。當(dāng)所有的檢定項(xiàng)目都完成后,可以點(diǎn)擊“報(bào)表”按鈕,生成報(bào)表。
圖6中的圖形顯示控件以及界面右側(cè)的校準(zhǔn)過程數(shù)據(jù)可以實(shí)時(shí)顯示采集的數(shù)據(jù),右上角的實(shí)時(shí)幫助可以提供當(dāng)前自動(dòng)校準(zhǔn)的狀態(tài),當(dāng)采用手動(dòng)校準(zhǔn)時(shí),它可以提供提示幫助。
采用虛擬儀器技術(shù),應(yīng)用LabVIEW平臺(tái)開發(fā)數(shù)字采集儀在線校準(zhǔn)系統(tǒng),取代傳統(tǒng)的校準(zhǔn)儀器,實(shí)現(xiàn)自動(dòng)化,滿足國家校準(zhǔn)標(biāo)準(zhǔn)的同時(shí),提高了精度。采用本校準(zhǔn)系統(tǒng)對(duì)儀器進(jìn)行校準(zhǔn),速度快,數(shù)據(jù)記錄完整,報(bào)表生成規(guī)范,實(shí)用性強(qiáng),且系統(tǒng)軟件架構(gòu)合理,安全性好,易于維護(hù)和擴(kuò)展。
[1]李海明,朱保安,王雙記.基于LabVIEW構(gòu)建電子儀器自動(dòng)測(cè)試[J].中國測(cè)試,2010,36(2):63-65.
[2]陳樹學(xué),劉萱.LabVIEW寶典[M].北京:電子工業(yè)出版社,2011.
[3]林靜,林振宇,鄭福仁.LabVIEW虛擬儀器程序設(shè)計(jì)從入門到精通[M].北京:人民郵電出版社,2010.
[4]JJG 834—2006動(dòng)態(tài)信號(hào)分析儀檢定規(guī)程[S].北京:中國計(jì)量出版社,2006.
[5]JJF 1048—1995數(shù)據(jù)采集系統(tǒng)校準(zhǔn)規(guī)范[S].北京:中國計(jì)量出版社,1995.
[6]黃松嶺,吳靜.虛擬儀器設(shè)計(jì)基礎(chǔ)教程[M].清華大學(xué)出版社,2008.
[7]劉章發(fā),衣法臻.LabVIEW編程樣式[M].北京:電子工業(yè)出版社,2009.
[8]趙炯,劉力平.LabVIEW中的動(dòng)態(tài)連接庫調(diào)用[J].中國工程機(jī)械學(xué)報(bào),2007,5(1):122-126.
[9]阮奇楨.我和LabVIEW[M].北京:北京航空航天大學(xué)出版社,2009.