基于LabVIEW的虚拟仪器设计研究
图4-2 数据采集流程图
在框图程序中,主要用到的节点有Call Libraty Functions、Case Strcture、Wile Loop、Sequence structure和Event Structure等。
l、Call Library Functions节点。下面将数据采集模块中所用到的Call Libraty Functions节点说明如下。
①调用初始化函数initial(),其各个参数设置为:I/O基地址IOBase=OXC400,中断号IRQNurn=ll,内存地址PhysAdr=D900100,DMA通道号DMAchn=O。返回值非
基于LabVIEW的虚拟仪器设计研究 零时表示初始化成功。
②调用多缓冲区方式开始函数StartIntr(),其各个参数设置为:缓冲区个数NumBuf=lO,每缓冲区采样点数=(通过前面板控件输入),起始通道Begchn=O,通道数=2,采样频率=(通过前面板控件输入),滤波器频率=0,程控放大器增益=(通过前面板控件输入)。返回值非零时表示启动采集板成功,开始采集数据。
③调用查询函数QueryBuf(),无参数,返回值为己填充满的缓冲区个数。 ④调用取采集结果函数ADResult(),其参数为指向临时数组ADbuf的指针。 ⑤调用采集停止函数StopIntr(),无参数,返回值非零时表示函数调用成功。 2、Case Structure节点。选择结构(Case Structure,相当于C语言中的Swith语句,在某种意义上,还相当于C语言中的if--else语句。
3、While Loop节点。While循环(while loop)相当于C语言中的while循环和do循环。
4、Sequence Structure节点。顺序结构(Sequence Structure)使得程序按照预先确定的顺序执行。
将数据采集模块命名为DAOA&B.vi,可以在其他的模块中作为SubVI调用。
4.3虚拟示波器前面板的设计
LabVIEW前面板用于设置输入数值和观察输出量,用于模拟真实示波器的前面板。由于虚拟面板直接面向用户,是虚拟示波器控制软件的核心。设计前面板时,主要考虑界面美观,操作简洁,用户可以通过前面板中的开关和旋钮模拟传统仪器的操作,通过键盘和鼠标实现对虚拟示波器的控制。前面板上设有各个功能模块按钮,当按下相应按钮时,即可调用该子程序。
根据传统示波器的面板控键的功能,利用LabVIEW中的控制模板,分别在设计面板上放入模拟实际控键的显示器、通道选择控键、垂直增益控键、触发源、触发电平、时基控制等。例如:
打开LabVIEW前面板编辑窗口,点击鼠标右键,显示控制模板,选择Graph》Waveform Graph,作为示波器的显示器,它可以显示一个或多个波形。在显示器模板上点击鼠标右键,对其进行属性设置,如根据示波器的频率与幅度值的变化,利用工具模板中的文字工具,对显示器横(时间)、纵(幅度)坐标的刻度重新设置。用Graph控键设计的示波器是完全同步的,波形稳定。
基于LabVIEW的虚拟仪器设计研究 点击Show Control Palette》Classic Controls》Boolean》Horizontal Slide Switch选择开关,设置触发斜坡控键(极性),开关可对正、负斜坡进行选择。
点击Show Control Palette》Numeric》Dial作为选择开关,设置扫描速率和垂直灵敏度等各种控键,它们使用的是同一种旋钮式控键。根据控键所起作用和使用需要,对各控件进行性质设置。如垂直灵敏度控键,设置三个刻度点(0.5V/div,1 V/div,2V/div),当置于不同档时,可改变波形的垂直方向的灵敏度。“扫描速率”控键的设置与“垂直灵敏度”相似,单位是“ms/div”,当选择不同档位时,显示器的横坐标刻度间隔分别以2ms/div,4ms/div和8ms/div变化,以达到改变波形的水平方向的扫描速度。
按Boolean》Vertical Switch路径,设置“通道选择”控键。设置三个选择档,分别是“A”、“B”和“A&B”,用来实现单通道和双通道显示的功能。软面板程序用来提供用户与虚拟示波器的接口。当按下“采集”按钮,然后运行程序就可以开始采集信号。用户可以进行单通道和双通道的任意切换:各种功能模块的实现在面板上都对应着相应的按钮,按下该按钮就可以调出该模块子程序。在子程序中按下返回键就回到主程序面板。设计的前面板如图4-3
图4-3 拟示波器前面板
基于LabVIEW的虚拟仪器设计研究 4.4 电压测量
4.4.1 直流电压测量
在虚拟仪器系统中,电压的测量是一个数字化测量,首先将输入的连续模拟电压通过A/D转换,变换成断续的数字量,然后对采集的数进行均值处理,得到待测信号的直流电压数值。 4.4.2 交流电压测量
本系统主要测量低频交流电压,即IMHz以下的信号电压。在模拟电路中用集成乘法器、积分器、开方器等实现电压有效值的测量,其原理示于图4-4。
图4-4 模拟计算型有效值电压测量原理
4.5 频率测量
频率是周期性信号的基本参量之一,目前普遍采用电子计数器测量各种频率。作为用软件设计代替硬件电路的虚拟仪器而言,对频率的测量只能用软件来实现,因此与传统的测量方法截然不同。
其基本思想是:对于输入的时间信号,通过傅里叶变换估算出它的功率谱,在其功率谱中最大功率值所对应的点,也就是基频点。我们可以通过求出这个点在输入序列中的位置,再结合采样频率,通过一些运算,估算出信号的频率。频率测量模块框图如图4-5
图4-5 率测量模块框图