陳 志
?
基于LabVIEW的插值校驗電路脈沖輸出的程序設計
陳 志
(上海理工大學 光電信息與計算機工程學院,上海 200093)
為了實現在脈沖插值校驗電路中輸入脈沖連續可調并能使頻率發生改變,設計出了一款基于LabVIEW脈沖輸出程序。該程序主要通過USB連接到Agilent 33521B信號發生器上,讓計算機能夠控制波形發生器來產生相應波形,實現相關參數的調節,并且能夠給定dF/dt的值,使得波形頻率F在dF/dt的速率下隨時間變化。最后的測試結果表明:所設計的程序滿足脈沖插值校驗電路對輸入脈沖的各種要求。在檢定操作中使用脈沖插入系統前,對脈沖插入系統應進行校驗,通過校驗,檢驗脈沖內插設備相對于已知的頻率范圍和頻率變化速率反應的正確性。
插值校驗;LabVIEW;Agilent33521B
目前絕大多數的計數器多數都只能計出完整的整數倍脈沖數,從而忽略了某些不完整的脈沖,在短時間的累計過程中,這些不完整的脈沖的數量對最后流量計校準的影響非常大,從而造成了較大的誤差[1]。基于ISO7278-3國際標準提出的脈沖插值技術可以很好地解決上述問題[2]。在使用脈沖插入系統之前,應對脈沖插入系統應進行校驗[3-10],在國際標準中給定的校驗電路中,需要波形發生器提供脈沖信號,并且需要能使頻率F隨時間變化,這樣才能檢查脈沖內插值設備相對于已知的頻率范圍和頻率變化速率反應的正確性。基于這種情況,傳統的波形發生器肯定不能滿足我們的需要,所以我們在LabVIEW[11-13]的環境下設計相關軟件來實現需求,最后并對軟件的功能進行測試。
圖1給出的是校驗電路的方框圖。脈沖發生器提供兩種輸出,這兩種輸出頻率的差別在于設置到可調節分頻器的系數。頻率為F的脈沖由計數器A來計數,頻率為F/R的脈沖由我們檢定的插值計數器來計數,兩組脈沖的啟動和停止由同一個開關控制。設間隔時間內計數器A累計采樣的脈沖大于10000個,然后按下停止開關,如果計數器A的讀數與脈沖插入器的讀數乘上分頻系數的值相比誤差在0.01%的范圍內,說明脈沖插入器的分辨力是極好的。

圖1 檢驗電路方框圖
為了校驗插入設備對頻率變化的反應,還應進行附加的校驗,用下圖中的斜波發生器提供給定時間內脈沖頻率的變化。這部分功能也是在由我們在LabVIEW上進行附加的編程來實現。
在程序設計開始之前,必須要先安裝相關的驅動,由于LabVIEW和Agilent33521B都有自己的驅動,所以在開發的過程中既要安裝NIVISA17.0,又要安裝Keysight IO Libraries Suite。其中NIVISA17.0是通用的底層接口驅動,Keysight IO Libraries Suite是KEYSIGHT公司提供的IO程序庫套件。由于NI公司提供了各種簡單的儀器驅動程序,我們只需要在這些程序上根據我們的需要進行二次開發即可[13-15]。
本文設計是利用Ni公司做的Agilent 3352X Series Standard Waveform.vi子程序為雛形,設計的一款關于實現相關參數的調節,并且能夠給定dF/dt的值,使得波形頻率F在dF/dt的速率下隨時間變化的程序。其中VISA resource name為當前IO的路徑,由系統默認生成。當選擇完路徑后,下面4個參數選擇項依次為:波形選擇,輸出幅值,輸出頻率,斜率改變量。波形選擇默認為正弦波(Sine),根據業務需求只提供正弦波和余弦波可選擇;輸出幅值默認為0.1 Vpp,在規定范圍內實現任意值可調;輸出頻率默認為100 Hz,在規定范圍內也可以任意調節;斜率改變量為輸出頻率隨時間改變量的大小,可以設定數值,以此來實現頻率的變化。前面板上的波形圖為輸出波形的實時顯示,可以從中看出波形頻率的變化。整個程序設計分為兩部分,第一部分圖2是實現對原始參數如波形、幅值、頻率等的調節來現實對波形發生器的控制。第二部分圖3是加了斜率改變量功能,并且在波形圖上實時顯示,實現總開關對其他開關的復位功能。
在圖2中數字1表示的子Vi是Initialize.vi,其作用通過給定的資源名打開內部的VISA,完成儀器的識別,最后實現儀器的初始化。數字2表示的子VI是Configure Standard Waveform.vi,作用是通過配置輸出波形,輸出幅值,輸出頻率,偏移量來產生波形。數字3表示的子VI是Enable Channel Output.vi,其功能是當總開邏輯值為False時,停止儀器輸出波形,同時總開關和While循環的條件接線端相連接,控制著整個程序的啟動或停止。數字4表示的子VI是Close.vi,實現關閉功能,保證儀器的安全。在圖2中通過事件結構來實現相關業務的實現:事件選擇器標簽設定4個邏輯功能分別對應4種參數的值改變,當選擇改變哪個參數時(發生相應的事件源),事件結構相應的選擇要處理的事件。當沒有事件源發生時,事件結構會執行超時標簽里的事件,因為我們需要讓頻率隨時間不斷變化,所以把頻率改變所導致發生的事件寫到超時邏輯中。這樣通過LabVIEW就能控制波形發生器了。
在圖2中,是針對脈沖插值校驗做的改進部分。根據ISO 7278-3:1995國標的脈沖插入系統的校驗實驗中,需要使頻率F在一定的速率下隨時間變化,在圖3的程序設計中,利用兩個時間計數器的差值來得出程序運行的時間。通過前面板任意設定的斜率改變量與運行時間的乘積再加上給定的頻率,得到的結果就是頻率隨時間的變。LabVIEW自帶仿真信號子VI,通過給仿真信號設置波形、頻率、幅值,就可以在前面板上得到了波形發生器輸出波形的實時圖像。圖2右下角用兩個條件結構實現當總開關復位時,其他所有開關都要復位的效果。
當程序編寫完后,在LabVIEW設定相關參數,波形選擇正弦波,幅值選擇0.1,初始頻率選擇1000 HZ,設定斜率為5,每5秒采樣1次輸出頻率,共采樣十次數據。

圖2 33521B波形發生器分程序框圖
從表1中采樣的數據可以看出輸出的頻率隨時間的變化下符合正比例函數的曲線,說明采樣數據輸出的頻率是在設定的速率下隨時間連續變化,并且程序基本實現了對波形發生器各種參數的控制,符合檢驗電路脈沖輸出的要求。
表1 不同的門控時間下頻率的變化

Tab.1 Frequency changes at different gating times
圖3為當間隔為10秒時實物采樣的結果。
本文基于ISO7278-3國際標準提出的脈沖插入系統的校驗裝置為藍本,對其中脈沖輸出部分進行了程序的設計來滿足相關的功能。利用了Lab-VIEW2015為實驗平臺,實現了遠程對Agilent-33521B波形發生器的操控來進行脈沖的輸出。通過軟件的控制,對于我們控制誤差,采集脈沖信號有很大的幫助,真正實現了人機分離。特別是后續對程序進行了擴展,并不僅僅是為了輸出脈沖信號,更重要的是實現了脈沖頻率在一定速率下隨時間的連續變化,為我們開展脈沖插入系統校驗的實驗打下了堅實的基礎。

圖3 波形發生器頻率輸出
[1] 韓偉, 沈昱明. 雙計時脈沖插值計數器的設計和實驗[J]. 計量學報, 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] 高文平. 具有分站功能的多通道壓力測量系統[J]. 軟件, 2015, 36(3): 64-68
[4] 劉紅春. 微波脈沖頻率計數器檢定/校準方法及不確定度分析[J]. 工業計量, 2011(s2): 48-49.
[5] 王如迅. 基于SWTBot 技術的軟件自動化測試的研究與實現[J]. 軟件, 2016, 37(02): 121-128.
[6] 顏樂鳴. 基于工作流的軟件測試過程模型研究[J]. 軟件, 2018, 39(5): 160-165.
[7] 葉常春, 尹良澤. 面向小規模程序的輕型測試方法[J]. 軟件, 2015, 36(10): 90-93.
[8] 胡德才, 張瓊飛. 流量計檢定數據采集方法[J]. 油氣田地面工程, 2005, 24(8): 38-38.
[9] 蔣建新. 用脈沖插入技術實現指針式流量計的自動檢定[J]. 計量技術, 2008(10): 47-49.
[10] 常志方, 劉文剛, 韓保. 脈沖計量技術概述[J]. 廣東科技, 2013(16): 258-259.
[11] 豈興明, 周建興, 矯津毅. LabVIEW 8.2中文版入門與典型實例[M]. 北京: 人民郵電出版社, 2010.
[12] 胡武揚, 段富海, 董科銳. 基于LabVIEW 的舵機自動加載測試系統軟件設計[J]. 軟件, 2015, 36(5): 24-29.
[13] 趙俊巖. 利用LabVIEW通過USB控制33220A程序設計[J]. 電子測試, 2009(4): 57-59.
[14] 張瑞香, 劉沖, 覃承彬. 基于LabVIEW的Agilent 33220A控制系統[J]. 裝備制造技術, 2006(3): 63-65.
[15] 閏石, 龔培榮, 韓定定. 上海EBIT裝置中的任意波形發生器的輸出控制[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的插值校驗電路脈沖輸出的程序設計[J]. 軟件,2018,39(10):64-67