陳 志
?
基于LabVIEW的插值校驗電路脈沖輸出的程序設(shè)計
陳 志
(上海理工大學(xué) 光電信息與計算機工程學(xué)院,上海 200093)
為了實現(xiàn)在脈沖插值校驗電路中輸入脈沖連續(xù)可調(diào)并能使頻率發(fā)生改變,設(shè)計出了一款基于LabVIEW脈沖輸出程序。該程序主要通過USB連接到Agilent 33521B信號發(fā)生器上,讓計算機能夠控制波形發(fā)生器來產(chǎn)生相應(yīng)波形,實現(xiàn)相關(guān)參數(shù)的調(diào)節(jié),并且能夠給定dF/dt的值,使得波形頻率F在dF/dt的速率下隨時間變化。最后的測試結(jié)果表明:所設(shè)計的程序滿足脈沖插值校驗電路對輸入脈沖的各種要求。在檢定操作中使用脈沖插入系統(tǒng)前,對脈沖插入系統(tǒng)應(yīng)進行校驗,通過校驗,檢驗脈沖內(nèi)插設(shè)備相對于已知的頻率范圍和頻率變化速率反應(yīng)的正確性。
插值校驗;LabVIEW;Agilent33521B
目前絕大多數(shù)的計數(shù)器多數(shù)都只能計出完整的整數(shù)倍脈沖數(shù),從而忽略了某些不完整的脈沖,在短時間的累計過程中,這些不完整的脈沖的數(shù)量對最后流量計校準(zhǔn)的影響非常大,從而造成了較大的誤差[1]?;贗SO7278-3國際標(biāo)準(zhǔn)提出的脈沖插值技術(shù)可以很好地解決上述問題[2]。在使用脈沖插入系統(tǒng)之前,應(yīng)對脈沖插入系統(tǒng)應(yīng)進行校驗[3-10],在國際標(biāo)準(zhǔn)中給定的校驗電路中,需要波形發(fā)生器提供脈沖信號,并且需要能使頻率F隨時間變化,這樣才能檢查脈沖內(nèi)插值設(shè)備相對于已知的頻率范圍和頻率變化速率反應(yīng)的正確性?;谶@種情況,傳統(tǒng)的波形發(fā)生器肯定不能滿足我們的需要,所以我們在LabVIEW[11-13]的環(huán)境下設(shè)計相關(guān)軟件來實現(xiàn)需求,最后并對軟件的功能進行測試。
圖1給出的是校驗電路的方框圖。脈沖發(fā)生器提供兩種輸出,這兩種輸出頻率的差別在于設(shè)置到可調(diào)節(jié)分頻器的系數(shù)。頻率為F的脈沖由計數(shù)器A來計數(shù),頻率為F/R的脈沖由我們檢定的插值計數(shù)器來計數(shù),兩組脈沖的啟動和停止由同一個開關(guān)控制。設(shè)間隔時間內(nèi)計數(shù)器A累計采樣的脈沖大于10000個,然后按下停止開關(guān),如果計數(shù)器A的讀數(shù)與脈沖插入器的讀數(shù)乘上分頻系數(shù)的值相比誤差在0.01%的范圍內(nèi),說明脈沖插入器的分辨力是極好的。
圖1 檢驗電路方框圖
為了校驗插入設(shè)備對頻率變化的反應(yīng),還應(yīng)進行附加的校驗,用下圖中的斜波發(fā)生器提供給定時間內(nèi)脈沖頻率的變化。這部分功能也是在由我們在LabVIEW上進行附加的編程來實現(xiàn)。
在程序設(shè)計開始之前,必須要先安裝相關(guān)的驅(qū)動,由于LabVIEW和Agilent33521B都有自己的驅(qū)動,所以在開發(fā)的過程中既要安裝NIVISA17.0,又要安裝Keysight IO Libraries Suite。其中NIVISA17.0是通用的底層接口驅(qū)動,Keysight IO Libraries Suite是KEYSIGHT公司提供的IO程序庫套件。由于NI公司提供了各種簡單的儀器驅(qū)動程序,我們只需要在這些程序上根據(jù)我們的需要進行二次開發(fā)即可[13-15]。
本文設(shè)計是利用Ni公司做的Agilent 3352X Series Standard Waveform.vi子程序為雛形,設(shè)計的一款關(guān)于實現(xiàn)相關(guān)參數(shù)的調(diào)節(jié),并且能夠給定dF/dt的值,使得波形頻率F在dF/dt的速率下隨時間變化的程序。其中VISA resource name為當(dāng)前IO的路徑,由系統(tǒng)默認(rèn)生成。當(dāng)選擇完路徑后,下面4個參數(shù)選擇項依次為:波形選擇,輸出幅值,輸出頻率,斜率改變量。波形選擇默認(rèn)為正弦波(Sine),根據(jù)業(yè)務(wù)需求只提供正弦波和余弦波可選擇;輸出幅值默認(rèn)為0.1 Vpp,在規(guī)定范圍內(nèi)實現(xiàn)任意值可調(diào);輸出頻率默認(rèn)為100 Hz,在規(guī)定范圍內(nèi)也可以任意調(diào)節(jié);斜率改變量為輸出頻率隨時間改變量的大小,可以設(shè)定數(shù)值,以此來實現(xiàn)頻率的變化。前面板上的波形圖為輸出波形的實時顯示,可以從中看出波形頻率的變化。整個程序設(shè)計分為兩部分,第一部分圖2是實現(xiàn)對原始參數(shù)如波形、幅值、頻率等的調(diào)節(jié)來現(xiàn)實對波形發(fā)生器的控制。第二部分圖3是加了斜率改變量功能,并且在波形圖上實時顯示,實現(xiàn)總開關(guān)對其他開關(guān)的復(fù)位功能。
在圖2中數(shù)字1表示的子Vi是Initialize.vi,其作用通過給定的資源名打開內(nèi)部的VISA,完成儀器的識別,最后實現(xiàn)儀器的初始化。數(shù)字2表示的子VI是Configure Standard Waveform.vi,作用是通過配置輸出波形,輸出幅值,輸出頻率,偏移量來產(chǎn)生波形。數(shù)字3表示的子VI是Enable Channel Output.vi,其功能是當(dāng)總開邏輯值為False時,停止儀器輸出波形,同時總開關(guān)和While循環(huán)的條件接線端相連接,控制著整個程序的啟動或停止。數(shù)字4表示的子VI是Close.vi,實現(xiàn)關(guān)閉功能,保證儀器的安全。在圖2中通過事件結(jié)構(gòu)來實現(xiàn)相關(guān)業(yè)務(wù)的實現(xiàn):事件選擇器標(biāo)簽設(shè)定4個邏輯功能分別對應(yīng)4種參數(shù)的值改變,當(dāng)選擇改變哪個參數(shù)時(發(fā)生相應(yīng)的事件源),事件結(jié)構(gòu)相應(yīng)的選擇要處理的事件。當(dāng)沒有事件源發(fā)生時,事件結(jié)構(gòu)會執(zhí)行超時標(biāo)簽里的事件,因為我們需要讓頻率隨時間不斷變化,所以把頻率改變所導(dǎo)致發(fā)生的事件寫到超時邏輯中。這樣通過LabVIEW就能控制波形發(fā)生器了。
在圖2中,是針對脈沖插值校驗做的改進部分。根據(jù)ISO 7278-3:1995國標(biāo)的脈沖插入系統(tǒng)的校驗實驗中,需要使頻率F在一定的速率下隨時間變化,在圖3的程序設(shè)計中,利用兩個時間計數(shù)器的差值來得出程序運行的時間。通過前面板任意設(shè)定的斜率改變量與運行時間的乘積再加上給定的頻率,得到的結(jié)果就是頻率隨時間的變。LabVIEW自帶仿真信號子VI,通過給仿真信號設(shè)置波形、頻率、幅值,就可以在前面板上得到了波形發(fā)生器輸出波形的實時圖像。圖2右下角用兩個條件結(jié)構(gòu)實現(xiàn)當(dāng)總開關(guān)復(fù)位時,其他所有開關(guān)都要復(fù)位的效果。
當(dāng)程序編寫完后,在LabVIEW設(shè)定相關(guān)參數(shù),波形選擇正弦波,幅值選擇0.1,初始頻率選擇1000 HZ,設(shè)定斜率為5,每5秒采樣1次輸出頻率,共采樣十次數(shù)據(jù)。
圖2 33521B波形發(fā)生器分程序框圖
從表1中采樣的數(shù)據(jù)可以看出輸出的頻率隨時間的變化下符合正比例函數(shù)的曲線,說明采樣數(shù)據(jù)輸出的頻率是在設(shè)定的速率下隨時間連續(xù)變化,并且程序基本實現(xiàn)了對波形發(fā)生器各種參數(shù)的控制,符合檢驗電路脈沖輸出的要求。
表1 不同的門控時間下頻率的變化
Tab.1 Frequency changes at different gating times
圖3為當(dāng)間隔為10秒時實物采樣的結(jié)果。
本文基于ISO7278-3國際標(biāo)準(zhǔn)提出的脈沖插入系統(tǒng)的校驗裝置為藍本,對其中脈沖輸出部分進行了程序的設(shè)計來滿足相關(guān)的功能。利用了Lab-VIEW2015為實驗平臺,實現(xiàn)了遠程對Agilent-33521B波形發(fā)生器的操控來進行脈沖的輸出。通過軟件的控制,對于我們控制誤差,采集脈沖信號有很大的幫助,真正實現(xiàn)了人機分離。特別是后續(xù)對程序進行了擴展,并不僅僅是為了輸出脈沖信號,更重要的是實現(xiàn)了脈沖頻率在一定速率下隨時間的連續(xù)變化,為我們開展脈沖插入系統(tǒng)校驗的實驗打下了堅實的基礎(chǔ)。
圖3 波形發(fā)生器頻率輸出
[1] 韓偉, 沈昱明. 雙計時脈沖插值計數(shù)器的設(shè)計和實驗[J]. 計量學(xué)報, 2014, 35(6): 131-134.
[2] ISO 7278-3:1998 Liquid hydrocarbons-Dynamic measurement-Proving systems for volumetric meters-Part 3:Pulse interpolation techniques[S]. 1998.
[3] 高文平. 具有分站功能的多通道壓力測量系統(tǒng)[J]. 軟件, 2015, 36(3): 64-68
[4] 劉紅春. 微波脈沖頻率計數(shù)器檢定/校準(zhǔn)方法及不確定度分析[J]. 工業(yè)計量, 2011(s2): 48-49.
[5] 王如迅. 基于SWTBot 技術(shù)的軟件自動化測試的研究與實現(xiàn)[J]. 軟件, 2016, 37(02): 121-128.
[6] 顏樂鳴. 基于工作流的軟件測試過程模型研究[J]. 軟件, 2018, 39(5): 160-165.
[7] 葉常春, 尹良澤. 面向小規(guī)模程序的輕型測試方法[J]. 軟件, 2015, 36(10): 90-93.
[8] 胡德才, 張瓊飛. 流量計檢定數(shù)據(jù)采集方法[J]. 油氣田地面工程, 2005, 24(8): 38-38.
[9] 蔣建新. 用脈沖插入技術(shù)實現(xiàn)指針式流量計的自動檢定[J]. 計量技術(shù), 2008(10): 47-49.
[10] 常志方, 劉文剛, 韓保. 脈沖計量技術(shù)概述[J]. 廣東科技, 2013(16): 258-259.
[11] 豈興明, 周建興, 矯津毅. LabVIEW 8.2中文版入門與典型實例[M]. 北京: 人民郵電出版社, 2010.
[12] 胡武揚, 段富海, 董科銳. 基于LabVIEW 的舵機自動加載測試系統(tǒng)軟件設(shè)計[J]. 軟件, 2015, 36(5): 24-29.
[13] 趙俊巖. 利用LabVIEW通過USB控制33220A程序設(shè)計[J]. 電子測試, 2009(4): 57-59.
[14] 張瑞香, 劉沖, 覃承彬. 基于LabVIEW的Agilent 33220A控制系統(tǒng)[J]. 裝備制造技術(shù), 2006(3): 63-65.
[15] 閏石, 龔培榮, 韓定定. 上海EBIT裝置中的任意波形發(fā)生器的輸出控制[J]. 計算機測量與控制, 2007, 15(10): 1330-1332.
Program Design of Pulse Output for Interpolation Calibration Circuit Cased on LabVIEW
CHEN Zhi
(School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China)
In order to adjust the input pulse continuously and change the frequency in the pulse interpolation circuit, a LabVIEW-based pulse output program is designed. The program is mainly connected to Agilent 33521B signal generator through USB, so that the computer can control the waveform generator to generate the corresponding waveform and realize the relevant parameters. The value of dF/dt can be adjusted and the waveform frequency F will change with time at the rate of dF/dt. The final test results show that the program meets the various requirements of pulse interpolation circuit for input pulse. Before using the pulse insertion system in the verification operation, the pulse insertion system should be checked. By checking, the correctness of the pulse insertion device in response to the known frequency range and frequency change rate should be checked.
Interpolation check; LabVIEWN; Agilent 33521B
TP311.1
A
10.3969/j.issn.1003-6970.2018.10.014
陳志(1992-),男,碩士研究生在讀,研究方向:流量測量。
陳志. 基于LabVIEW的插值校驗電路脈沖輸出的程序設(shè)計[J]. 軟件,2018,39(10):64-67