《实验四虚拟电压表的设计和虚拟数字万用表的使用6112.pdf》由会员分享,可在线阅读,更多相关《实验四虚拟电压表的设计和虚拟数字万用表的使用6112.pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 虚拟仪器技术 实 验 报 告 学生 学 号 日 期 实验四、虚拟电压表的设计和虚拟数字万用表的使用 一、实验原理 1)一般电压表和万用表的工作原理和使用方法。2)交流电各种电压值表示的概念以及相互转换关系。3)子 VI 的创建方法。二、实验目的 1)掌握虚拟电压表和数字万用表的设计和使用方法 2)进一步掌握 LabVIEW 的使用,特别是控件属性的操作以及子 VI 的使用。三、实验容及要求 1)利用 LabVIEW 设计一简易虚拟电压表。功能要求:具有普通电压表的基本功能,用户可选择直流测量和交流测量。对于直流电压只需显示电流值大小,对于交流电则需要显示该交流电的峰值、有效值、平均值和直流分
2、量(若存在)。同时能够提供虚拟输入和实际输入两种测量信号,虚拟输入时能够显示信号波形。其他要求:对虚拟电压表进行初始设置,即每次运行程序时电压表的初始界面一致,具体表现在开关处于关闭状态,波形图窗口清空,其他控件处于使能状态下。实际输入时禁用仿真参数设置控件,仿真输入时测量直流电压值时禁用信号幅度、频率、初始相位、占空比、信号类型等控件。2)创建自行设计的虚拟电压表子 VI。3)使用 NI ELVIS 提供的数字万用表(DMM)模块完成电阻、电流和电压的测量,并就其中的电压测量部分与自行设计的虚拟电压表进行比较和分析。四、实验步骤 1)参考程序流程图如图 4.1 所示;参考前面板设计如图 4.
3、2 所示,该前面板除具有实验三函数发生器的参考前面板中所有的输入控件外,还添加了仿真与实际信号的切换按钮,交流/直流测量的切换按钮,开关按键,电源指示灯以及结果显示包括:直流分量,平均值,有效值和峰峰值(可以根据需求自行添加或删减);参考程序框图设计如图 4.3 所示。本次虚拟电压表的设计与实际使用的模拟/数字电压表是存在很大差别的,为便于实验做了大量简化。实验的主要目的是了解 LabVIEW 中对子函数的调用及使用方法,LabVIEW 中有关属性节点、局部变量的使用和有关用户界面设计的一些基本方法,以及利用 DAQ 处理采集数据的方法(此部分需要结合实验二中相关容)。程序框图图 4.3 看似
4、复杂,其实大量的工作是用于完成空间的属性操作和有关程序初始化设置的问题,真正用于数据处理的模块其实只有三个(具体见实验提示 4)。图 4.2 实验四参考前面板设计 图 4.3 部分参考程序框图 2)本次实验的程序框图中使用了LabVIEW中特有的一种顺序结构(Sequence Structure),这主要是缘于LabVIEW采用了多线程并行的运行机制,这是G语言不同于一般文本语言主要特点之一,即程序的代码是同时运行的。所以对于控件的初始显示可采用平铺式顺序结构(Flat Sequence Structure)或堆栈式顺序结构(Stacked Sequence Structure)的方法,在第一
5、帧中设置各个控件的初始设置。初始化设置是通过控件的属性控制以及常量和局部变量设置完成的。如图4.3所示,参考程序框图采用了平铺式顺序结构,LabVIEW在执行程序时先从左边的帧开始,依次执行右面帧的程序(本次只有两个帧,帧的程序还是同时执行的)。左边帧完成程序初始化设置,左边一列是控件的使能控制,0是Enabled(启用),1是Disabled(禁用),2是Disabled and Grayed out(禁用且变灰)。这是通过控件的属性节点完成的,而右边一列则是对变量数值的初始设置,用局部变量完成。3)虚拟输入信号的提供可采用实验三中自行设计的虚拟函数发生器。有关子VI的创建方法已介绍,本次实
6、验主要是使用实验三中创建的子VI,在程序框图中的函数面板中选择VI添加创建的子VI。自行创建的子VI和LabVIEW提供的各种函数模块的使用方法相同。关于子VI属性的设置在主菜单中选择“文件/VI属性”,进入VI属性对话框,根据类别更改VI属性。这里需要注意的是while循环对子VI的影响,建议在创建子VI时去掉原先程序框图中用于使程序连续执行的while循环,或用一布尔真常量控制while循环的结束符(即让此while循环只循环一次)。此外,对于直流信号可以直接利用“初始化数组”模块完成。4)有关交流电压波形的参数如表4.1所示,可以根据表4.1中参数的关系再利用信号的波峰值求取其他参数值。
7、事实上,LabVIEW提供用于计算这些参数的模块。对于波峰的求取,可使用波形最大最小值模块(Waveform Min Max.vi),位于“函数面板/编程/波形/模拟波形”下,如图4.4所示。有效值和直流分量可利用位于“函数面板/编程/波形/模拟波形/波形测量”下的基本平均直流-均方根模块(NI_MAPro.lvlib:Basic Averaged DC-RMS.vi)实现,如图4.5所示,缺省情况下均方根即有效值。求取平均值的均值模块位于“函数面板/数学/概率与统计”中,如图4.6所示。表4.1 几种典型的交流电压波形的参数 其中U是波峰值。图 4.4 波形最大最小值模块 图 4.5 基本平
8、均直流-均方根模块 图 4.6 均值模块 5)图 4.4、图 4.5 和图 4.6 所示的三个数据处理模块的输入端均可以为波形数据,求均值模块可自行提取波形数据中的波形数组数据。这里要说明的在使用这些数据处理模块时,对数据本身还是需要做一些其他处理。首先,求取均值时需要将波形数组数据绝对值化,这是由交流信号的平均值定义决定,如果不取绝对值那平均值都为 0,失去了实际意义。其次,提供的参考程序框图图 4.3 中使用了“获得波形成分”模块,获取采集信号的波形数组数据、采样时间和采样起始时间,用于提取采集信号中一个完整周期。要提取出信号的至少一个完整周期的采样值的原因,是因为交流信号的有效值、平均值
9、等都是以具备完整周期数的信号计算的,而实际采样时很难保证采样值为原信号的整周期倍数,如果直接使用采样值计算平均值和有效值将带来较大误差。因而,本次实验中在实际采样信号时要得到原周期信号的完整信息或是对周期信号处理时,采集到的采样值至少要大于一个完整的周期(实际对于正弦波、三角波只要能够测量出波峰与波谷也能计算出原波形)。要得到一个完整周期的采样点数,首先要明白信号频率 F、采样频率 F、采样点数 N 之间的关系:其中 F1是频率为 Fs 的采样信号采集 Ns 个采样点数的原信号的结果为一个完整周期的原信号频率,为实际采集到信号的周期数,N 为一个完整周期的采样点数。可以看出 N1实际就是标准频率f=F/F的倒数,这也就是在LabVIEW的数字系统中都采用标准频率的原因之一。位于“函数面板/Express/信号分析(Signal Analysis)”下的单频测量(Tone Measurements)Express 模块能够直接得出采样信号的频率(还有幅度,相位)。“数组子集(Array Subset)”模块可以根据N从采集的波形数组数据中获取一个周期的采样值。五、实验结果 1、程序图:2、前面板 六、总结及心得体会 通过本次实验我们学会了虚拟电压表和数字万用表的设计和使用方法,并且进一步掌握了 LabVIEW 特别是子 VI 的设计方法
限制150内