基于LabVIEW的插值校验电路脉冲输出的程序设计

2018-11-16 09:39
软件 2018年10期
关键词:计数器校验程序设计

陈 志



基于LabVIEW的插值校验电路脉冲输出的程序设计

陈 志

(上海理工大学 光电信息与计算机工程学院,上海 200093)

为了实现在脉冲插值校验电路中输入脉冲连续可调并能使频率发生改变,设计出了一款基于LabVIEW脉冲输出程序。该程序主要通过USB连接到Agilent 33521B信号发生器上,让计算机能够控制波形发生器来产生相应波形,实现相关参数的调节,并且能够给定dF/dt的值,使得波形频率F在dF/dt的速率下随时间变化。最后的测试结果表明:所设计的程序满足脉冲插值校验电路对输入脉冲的各种要求。在检定操作中使用脉冲插入系统前,对脉冲插入系统应进行校验,通过校验,检验脉冲内插设备相对于已知的频率范围和频率变化速率反应的正确性。

插值校验;LabVIEW;Agilent33521B

0 引言

目前绝大多数的计数器多数都只能计出完整的整数倍脉冲数,从而忽略了某些不完整的脉冲,在短时间的累计过程中,这些不完整的脉冲的数量对最后流量计校准的影响非常大,从而造成了较大的误差[1]。基于ISO7278-3国际标准提出的脉冲插值技术可以很好地解决上述问题[2]。在使用脉冲插入系统之前,应对脉冲插入系统应进行校验[3-10],在国际标准中给定的校验电路中,需要波形发生器提供脉冲信号,并且需要能使频率F随时间变化,这样才能检查脉冲内插值设备相对于已知的频率范围和频率变化速率反应的正确性。基于这种情况,传统的波形发生器肯定不能满足我们的需要,所以我们在LabVIEW[11-13]的环境下设计相关软件来实现需求,最后并对软件的功能进行测试。

1 脉冲插入系统校验电路

图1给出的是校验电路的方框图。脉冲发生器提供两种输出,这两种输出频率的差别在于设置到可调节分频器的系数。频率为F的脉冲由计数器A来计数,频率为F/R的脉冲由我们检定的插值计数器来计数,两组脉冲的启动和停止由同一个开关控制。设间隔时间内计数器A累计采样的脉冲大于10000个,然后按下停止开关,如果计数器A的读数与脉冲插入器的读数乘上分频系数的值相比误差在0.01%的范围内,说明脉冲插入器的分辨力是极好的。

图1 检验电路方框图

为了校验插入设备对频率变化的反应,还应进行附加的校验,用下图中的斜波发生器提供给定时间内脉冲频率的变化。这部分功能也是在由我们在LabVIEW上进行附加的编程来实现。

2 程序设计

在程序设计开始之前,必须要先安装相关的驱动,由于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右下角用两个条件结构实现当总开关复位时,其他所有开关都要复位的效果。

3 软件实验测试

当程序编写完后,在LabVIEW设定相关参数,波形选择正弦波,幅值选择0.1,初始频率选择1000 HZ,设定斜率为5,每5秒采样1次输出频率,共采样十次数据。

图2 33521B波形发生器分程序框图

从表1中采样的数据可以看出输出的频率随时间的变化下符合正比例函数的曲线,说明采样数据输出的频率是在设定的速率下随时间连续变化,并且程序基本实现了对波形发生器各种参数的控制,符合检验电路脉冲输出的要求。

表1 不同的门控时间下频率的变化

Tab.1 Frequency changes at different gating times

图3为当间隔为10秒时实物采样的结果。

4 结论

本文基于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

猜你喜欢
计数器校验程序设计
采用虚拟计数器的电子式膜式燃气表
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
炉温均匀性校验在铸锻企业的应用
高职高专院校C语言程序设计教学改革探索
计数器竞争冒险及其处理的仿真分析
大型电动机高阻抗差动保护稳定校验研究
基于加窗插值FFT的PMU校验方法
PLC梯形图程序设计技巧及应用
锅炉安全阀在线校验不确定度评定