为了满足不同测量的要求传统的电压表分别做成独立的仪表,包括峰值电压表、平均值电压表和有效值电压表。在此,提出采用虚拟仪器同时实现三种示值电压表的方案;介绍了虚拟仪器软件平台LabVIEW的特点。对虚拟数字电压表的设计和实现进行了详细描述,包括基于LabVIEW 8.2的虚拟信号发生器的实现过程,它能产生正弦、方波、三角波及由输入数学公式确定的复杂自编辑波形。最后,对设计的虚拟电压表运行结果进行分析,验证了虚拟电压表设计方法的正确性。
虚拟仪器是随着计算机技术、电子测量技术和通信技术发展起来的一种新型仪器。它充分利用计算机系统强大的数据处理和显示能力,利用软件完成数据的采集、控制、数据分析和处理以及测试结果的显示等,通过软、硬件的配合,实现传统仪器的各种功能,真正实现了“软件即仪器”的概念,用户可以方便地对仪器进行维护和扩展。
电压是电路中常用的电信号,通过电压测量,利用基本公式可以导出其他的参数。因此,电压测量是其他许多电参数和非电参数量的基础。测量电压相当普及的一种测量仪表就是电压表,但常用的是模拟电压表。模拟电压表根据检波方式的不同。分为峰值电压表、均值电压表和平均值电压表,它们都各自做成独立的仪表。这样,使用模拟电压表进行交流电压测量时,必须根据测量要求选择仪表。另外,多数电压表的表头是按正弦交流有效值刻度的,而测量非正弦波时,必须经过换算才能得到正确的测量结果,从而给实际工作带来不便。
采用虚拟电压表,可将表征交流电压特征的峰值、平均值和有效值集中显示在一块面板上,测量时可根据波形在面板上选择仪表,用户仅通过面板指示值就能对测量结果进行分析比较,大大简化了测量步骤。
1 虚拟电压表的设计思路
LabVIEW 8.2版本的工程技术比以往任何一个版本都丰富.它采用了中文界面,各个控件的功能一目了然。利用它全新的用户界面对象和功能,能开发出专业化、可完全自定义的前面板。LabVIEW 8.2对数学、信号处理和分析也进行了重大的补充和完善,信号处理分析和数学具有更为全面和强大的库,其中包括500多个函数。所以在LabVIEW 8.2版本下能够更方便地实现虚拟电压表的设计。
虚拟电压表是基于计算机和标准总线技术的模块化系统,通常它由控制模块、仪器模块和软件组成,由软件编程来实现仪器的功能。在虚拟仪器中,计算机显示器是惟一的交互界面,物理的开关、按键、旋钮以及数码管等显示器件均由与实物外观相似的图形控件来代替,操作人员只要通过鼠标或键盘操作虚拟仪器面板上的旋钮、开关、按键等设置各种参数,就能根据自己的需要定义仪器的功能。在虚拟电压表的设计中,考虑到仪器主要用于教学和实验,使用对象是学生,因此将引言中提到的三种检波方式的仪器合为一体,既简化了面板操作,又便于直接对比。
该电压表主要用于电路分析和模拟电子技术等实验课的教学和测量仪器,能够使学习者了解和掌握电压的测量和电压表对各种波形的不同响应。因此,虚拟电压表应具备电源开关控制、波形选择,以及显示峰值、有效值和平均值三种结果,且输入信号的大小可调节等功能。虚拟电压表由硬件设备与接口、设备驱动软件和虚拟仪器面板组成。其中,硬件设备与接口包括仪器接口设备和计算机,设备驱动软件是直接控制各种硬件接口的驱动程序,虚拟仪器通过底层设备驱动软件与真实的仪器系统进行通信,并以虚拟仪器面板的形式在计算机屏幕上显示与真实仪器面板操作相对应的各种控件。在此,用软件虚拟了一个信号发生器。该信号发生器可产生正弦波、方波和三角波,还可以输入公式,产生任意波形。根据需要,可调节面板上的控件来改变信号的频率和幅度等可调参数,然后检测电压表的运行情况。因此,在LabVIEW图形语言环境下设计的虚拟电压表主要分为两个部分:第一部分是虚拟电压表前面板的设计;第二部分是虚拟电压表流程图的设汁。
2 前面板的设计
前面板模拟真实电压表的前面板,用于设置输入数值和观察输出量。由于虚拟面板直接面向用户,是虚拟电压表控制软件的核心。设计这部分时,主要考虑界面美观、操作简洁,用户能通过面板上的各种按钮、开关等控件来控制虚拟电压表进行测量工作。根据传统电压表面板控件的功能,利用LabVIEW中的控制模板,分别在设计面板上放入模拟实际电压表控件的数据输入控件、显示器、数据输出控件、开关、选择器,显示器用于显示输入的信号波形;数据输入控件主要用于输入被测信号的信号频率、采样频率、采样数、振幅和相位;数据输出控件则用于输出被测信号经过处理后得到的峰值、平均值和有效值及标准频率的有效显示。打开LabVIEW前面板的编辑窗口,点击鼠标右键,显示控制模板,选择图形一波形图,作为电压表的显示器。在显示器模板上点击鼠标右键,对其进行属性设置,例如根据示波器的频率与幅度值的变化,利用工具模板中的文字工具,对示波器横(时间)、纵(幅度)坐标的刻度进行重新设置。用Graph控件设计的示波器是完全同步的,且波形稳定。
选择控件→数值→数值输入控件/数值显示控件,作为电压表参数设置中输入和测试结果的数据显示。
选择控件→下拉列表与枚举→菜单下拉列表,放置对输入波形选择开关,在下拉列表中单击鼠标右键,选择“编辑项”对其进行编辑。
“电源开关”控件选择经典→经典布尔→方形按钮,当按下开关时,虚拟电压表开始运行,同时电源开关的指示灯亮。同样,当弹起开关时,虚拟电压表停止运行。前面板如图1所示。
3 流程图的设计
每一个前面板都对应一个流程图程序。前面板的设计完成后,可对流程图程序进行设计。打开LabVIEW设计环境中的窗口→显示程序框图,进入流程图编辑窗口,与前面板各控件对应的端口图标自动出现在流程图编辑窗口中。利用LabVIEW中的功能模块,根据虚拟示波器前面板各控件的作用和联系,虚拟示波器运作后数据流的控制,分别在流程图设计面板中放置各个功能模块,合理摆放后,在用连线工具依次连接,以实现虚拟示波器的功能。数据流的编辑主要是对端口图标的连接。用连线工具进行连线时,如果端口闪烁,说明相连的数据类型匹配,否则不能连接。
3.1 虚拟信号发生器的实现
由于虚拟电压表主要用于演示,所以为了方便,可直接利用LabVIEW软件产生仿真信号。在该设计中,设置了正弦波、方波和三角波以及由公式确定的任意波形。在程序设计框图中,使用一个Case(选择)语句对四种波形进行选择。Case语句中,每一个数字(0,1,2,3,4)都代表一种波形,与前面板控件中5种状态相对应。至于Case语句的制作,只需将4个图标中的一个,例如正弦波发生程序,用Case框起来,然后在上面的空白处写上相应的数字,例如1;然后点击箭头,可以设置第二个图标,如果要添加一个Case的话,可以点击鼠标右键,直接添加,编辑相应的基本信号发生器VI中相应的节点即可。在添加公式波时,要把基本信号发生器VI换成公式波形VI,0代表默认状态,表示无任何波形输入。本文给出了Case结构的一个分支,公式波形的流程图如图2所示。该子Ⅵ可使用指定时间函数的公式字符串生成一个函数波形,它要求公式的自变量必须是t,它所支持的运算符和常用的函数详见参考文献。
另外,在模拟状态下,信号频率以赫兹或者每秒周期数为单位。但是在数字系统中,通常使用数字频率,它是信号频率与采样频率的比值,被称为标准频率。所以,在框图程序中,应当在信号频率与采样频率之间加载一个除法器。
在波形发生程序按照规定的参数产生波形后,如果将波形直接输入波形显示控件,那将是错误的。因为波形显示控件,并不像数据显示控件那样只需要一个或一组数据,因此波形能否按规定显示出来,取决于输入的几组不同且具有决定性的数据,例如周期、相位等。在该设计中,将z轴起始坐标、周期、波形捆绑成一个数组,同时输入到波形显示控件中。
3.2 数据处理部分
数据处理部分的作用,就是将产生出的信号通过不同形式的检波、计算,得出规定的不同的结果。在该设计中同时显示交流有效值、峰值和平均值。对于一个纯粹的交流电压,正半周期信号与负半周期信号对称,U的平均值等于零,所以一般不直接测量平均值。在设计时,按函数→数值→绝对值取交流电压的绝对值,然后求平均值,取全波平均值。交流电压中的最大值,即为峰值。可以通过比较数据求出最大值,这需要使用波形最大、最小子虚拟仪器来处理框图。有效值显示:在函数→信号处理→波形测量中选择基本平均直流均方根。其框图符号如图3所示。
图3中,DC value为测量的直流分量;RMS为value测量有效值;reset用于重启过去记录的时间信号、平均测量的参数;averaging type是测量中的平均类型,在单个模块VI中,可依据输入记录长度自动设置平均时间;Window是在DC/RMS计算之前,用于记录时间的窗;erroe in是在该VI运行之前描述错误环境,默认值为no error。如果错误已经发生,该VI在errorout端返回错误代码,子VI在无错误时才正常运行。
3.3 开关部分
用一个while条件语句设计整个框图程序,当模拟电压开关为“1”时,虚拟电压表工作,条件语句中的程序开始运行;当模拟开关为“0”即关时,条件语句中的程序停止运行,虚拟电压表不工作。设计好的流程图如图4所示。
4 结 语
经过实际使用,虚拟电压表所有的控制键和功能正常,符合使用要求。需要指出的是,在设计该虚拟电压表时,签于教学使用的目的,仅从功能上考虑,并未对虚拟电压表的技术指标进行深入研究。事实上,峰值是取样值的最大值,而取样点不可能取得太多,否则运行速度太慢,因此显示的峰值与理论值是有差别的,在设计时应注意合理选择参数。
在LabVIEW图形化语言环境下设计的虚拟仪器简单快捷,用户完全可根据测试功能的需要,调用不同功能的软件模块,以组建自己的仪器。这对测量者,尤其是高等院校的实验室是非常方便的。可在同一台计算机中,根据不同的教学层次,设计不同档次的仪器为教学服务。如何针对不同的教学目的,分别对硬件驱动程序部分、虚拟面板部分、信号的后期处理部分进行部分或完整的设计,信号的后期处理程序可以设计成一个独立的功能模块,能够对采样信号进行非实时的在现和离线分析,既满足了学生的要求,又避免了设备的重复购置。
为了满足不同测量的要求传统的电压表分别做成独立的仪表,包括峰值电压表、平均值电压表和有效值电压表。在此,提出采用虚拟仪器同时实现三种示值电压表的方案;介绍了虚拟仪器软件平台LabVIEW的特点。对虚拟数字电压表的设计和实现进行了详细描述,包括基于LabVIEW 8.2的虚拟信号发生器的实现过程,它能产生正弦、方波、三角波及由输入数学公式确定的复杂自编辑波形。最后,对设计的虚拟电压表运行结果进行分析,验证了虚拟电压表设计方法的正确性。
虚拟仪器是随着计算机技术、电子测量技术和通信技术发展起来的一种新型仪器。它充分利用计算机系统强大的数据处理和显示能力,利用软件完成数据的采集、控制、数据分析和处理以及测试结果的显示等,通过软、硬件的配合,实现传统仪器的各种功能,真正实现了“软件即仪器”的概念,用户可以方便地对仪器进行维护和扩展。
电压是电路中常用的电信号,通过电压测量,利用基本公式可以导出其他的参数。因此,电压测量是其他许多电参数和非电参数量的基础。测量电压相当普及的一种测量仪表就是电压表,但常用的是模拟电压表。模拟电压表根据检波方式的不同。分为峰值电压表、均值电压表和平均值电压表,它们都各自做成独立的仪表。这样,使用模拟电压表进行交流电压测量时,必须根据测量要求选择仪表。另外,多数电压表的表头是按正弦交流有效值刻度的,而测量非正弦波时,必须经过换算才能得到正确的测量结果,从而给实际工作带来不便。
采用虚拟电压表,可将表征交流电压特征的峰值、平均值和有效值集中显示在一块面板上,测量时可根据波形在面板上选择仪表,用户仅通过面板指示值就能对测量结果进行分析比较,大大简化了测量步骤。
1 虚拟电压表的设计思路
LabVIEW 8.2版本的工程技术比以往任何一个版本都丰富.它采用了中文界面,各个控件的功能一目了然。利用它全新的用户界面对象和功能,能开发出专业化、可完全自定义的前面板。LabVIEW 8.2对数学、信号处理和分析也进行了重大的补充和完善,信号处理分析和数学具有更为全面和强大的库,其中包括500多个函数。所以在LabVIEW 8.2版本下能够更方便地实现虚拟电压表的设计。
虚拟电压表是基于计算机和标准总线技术的模块化系统,通常它由控制模块、仪器模块和软件组成,由软件编程来实现仪器的功能。在虚拟仪器中,计算机显示器是惟一的交互界面,物理的开关、按键、旋钮以及数码管等显示器件均由与实物外观相似的图形控件来代替,操作人员只要通过鼠标或键盘操作虚拟仪器面板上的旋钮、开关、按键等设置各种参数,就能根据自己的需要定义仪器的功能。在虚拟电压表的设计中,考虑到仪器主要用于教学和实验,使用对象是学生,因此将引言中提到的三种检波方式的仪器合为一体,既简化了面板操作,又便于直接对比。
该电压表主要用于电路分析和模拟电子技术等实验课的教学和测量仪器,能够使学习者了解和掌握电压的测量和电压表对各种波形的不同响应。因此,虚拟电压表应具备电源开关控制、波形选择,以及显示峰值、有效值和平均值三种结果,且输入信号的大小可调节等功能。虚拟电压表由硬件设备与接口、设备驱动软件和虚拟仪器面板组成。其中,硬件设备与接口包括仪器接口设备和计算机,设备驱动软件是直接控制各种硬件接口的驱动程序,虚拟仪器通过底层设备驱动软件与真实的仪器系统进行通信,并以虚拟仪器面板的形式在计算机屏幕上显示与真实仪器面板操作相对应的各种控件。在此,用软件虚拟了一个信号发生器。该信号发生器可产生正弦波、方波和三角波,还可以输入公式,产生任意波形。根据需要,可调节面板上的控件来改变信号的频率和幅度等可调参数,然后检测电压表的运行情况。因此,在LabVIEW图形语言环境下设计的虚拟电压表主要分为两个部分:第一部分是虚拟电压表前面板的设计;第二部分是虚拟电压表流程图的设汁。
2 前面板的设计
前面板模拟真实电压表的前面板,用于设置输入数值和观察输出量。由于虚拟面板直接面向用户,是虚拟电压表控制软件的核心。设计这部分时,主要考虑界面美观、操作简洁,用户能通过面板上的各种按钮、开关等控件来控制虚拟电压表进行测量工作。根据传统电压表面板控件的功能,利用LabVIEW中的控制模板,分别在设计面板上放入模拟实际电压表控件的数据输入控件、显示器、数据输出控件、开关、选择器,显示器用于显示输入的信号波形;数据输入控件主要用于输入被测信号的信号频率、采样频率、采样数、振幅和相位;数据输出控件则用于输出被测信号经过处理后得到的峰值、平均值和有效值及标准频率的有效显示。打开LabVIEW前面板的编辑窗口,点击鼠标右键,显示控制模板,选择图形一波形图,作为电压表的显示器。在显示器模板上点击鼠标右键,对其进行属性设置,例如根据示波器的频率与幅度值的变化,利用工具模板中的文字工具,对示波器横(时间)、纵(幅度)坐标的刻度进行重新设置。用Graph控件设计的示波器是完全同步的,且波形稳定。
选择控件→数值→数值输入控件/数值显示控件,作为电压表参数设置中输入和测试结果的数据显示。
选择控件→下拉列表与枚举→菜单下拉列表,放置对输入波形选择开关,在下拉列表中单击鼠标右键,选择“编辑项”对其进行编辑。
“电源开关”控件选择经典→经典布尔→方形按钮,当按下开关时,虚拟电压表开始运行,同时电源开关的指示灯亮。同样,当弹起开关时,虚拟电压表停止运行。前面板如图1所示。
3 流程图的设计
每一个前面板都对应一个流程图程序。前面板的设计完成后,可对流程图程序进行设计。打开LabVIEW设计环境中的窗口→显示程序框图,进入流程图编辑窗口,与前面板各控件对应的端口图标自动出现在流程图编辑窗口中。利用LabVIEW中的功能模块,根据虚拟示波器前面板各控件的作用和联系,虚拟示波器运作后数据流的控制,分别在流程图设计面板中放置各个功能模块,合理摆放后,在用连线工具依次连接,以实现虚拟示波器的功能。数据流的编辑主要是对端口图标的连接。用连线工具进行连线时,如果端口闪烁,说明相连的数据类型匹配,否则不能连接。
3.1 虚拟信号发生器的实现
由于虚拟电压表主要用于演示,所以为了方便,可直接利用LabVIEW软件产生仿真信号。在该设计中,设置了正弦波、方波和三角波以及由公式确定的任意波形。在程序设计框图中,使用一个Case(选择)语句对四种波形进行选择。Case语句中,每一个数字(0,1,2,3,4)都代表一种波形,与前面板控件中5种状态相对应。至于Case语句的制作,只需将4个图标中的一个,例如正弦波发生程序,用Case框起来,然后在上面的空白处写上相应的数字,例如1;然后点击箭头,可以设置第二个图标,如果要添加一个Case的话,可以点击鼠标右键,直接添加,编辑相应的基本信号发生器VI中相应的节点即可。在添加公式波时,要把基本信号发生器VI换成公式波形VI,0代表默认状态,表示无任何波形输入。本文给出了Case结构的一个分支,公式波形的流程图如图2所示。该子Ⅵ可使用指定时间函数的公式字符串生成一个函数波形,它要求公式的自变量必须是t,它所支持的运算符和常用的函数详见参考文献。
另外,在模拟状态下,信号频率以赫兹或者每秒周期数为单位。但是在数字系统中,通常使用数字频率,它是信号频率与采样频率的比值,被称为标准频率。所以,在框图程序中,应当在信号频率与采样频率之间加载一个除法器。
在波形发生程序按照规定的参数产生波形后,如果将波形直接输入波形显示控件,那将是错误的。因为波形显示控件,并不像数据显示控件那样只需要一个或一组数据,因此波形能否按规定显示出来,取决于输入的几组不同且具有决定性的数据,例如周期、相位等。在该设计中,将z轴起始坐标、周期、波形捆绑成一个数组,同时输入到波形显示控件中。
3.2 数据处理部分
数据处理部分的作用,就是将产生出的信号通过不同形式的检波、计算,得出规定的不同的结果。在该设计中同时显示交流有效值、峰值和平均值。对于一个纯粹的交流电压,正半周期信号与负半周期信号对称,U的平均值等于零,所以一般不直接测量平均值。在设计时,按函数→数值→绝对值取交流电压的绝对值,然后求平均值,取全波平均值。交流电压中的最大值,即为峰值。可以通过比较数据求出最大值,这需要使用波形最大、最小子虚拟仪器来处理框图。有效值显示:在函数→信号处理→波形测量中选择基本平均直流均方根。其框图符号如图3所示。
图3中,DC value为测量的直流分量;RMS为value测量有效值;reset用于重启过去记录的时间信号、平均测量的参数;averaging type是测量中的平均类型,在单个模块VI中,可依据输入记录长度自动设置平均时间;Window是在DC/RMS计算之前,用于记录时间的窗;erroe in是在该VI运行之前描述错误环境,默认值为no error。如果错误已经发生,该VI在errorout端返回错误代码,子VI在无错误时才正常运行。
3.3 开关部分
用一个while条件语句设计整个框图程序,当模拟电压开关为“1”时,虚拟电压表工作,条件语句中的程序开始运行;当模拟开关为“0”即关时,条件语句中的程序停止运行,虚拟电压表不工作。设计好的流程图如图4所示。
4 结 语
经过实际使用,虚拟电压表所有的控制键和功能正常,符合使用要求。需要指出的是,在设计该虚拟电压表时,签于教学使用的目的,仅从功能上考虑,并未对虚拟电压表的技术指标进行深入研究。事实上,峰值是取样值的最大值,而取样点不可能取得太多,否则运行速度太慢,因此显示的峰值与理论值是有差别的,在设计时应注意合理选择参数。
在LabVIEW图形化语言环境下设计的虚拟仪器简单快捷,用户完全可根据测试功能的需要,调用不同功能的软件模块,以组建自己的仪器。这对测量者,尤其是高等院校的实验室是非常方便的。可在同一台计算机中,根据不同的教学层次,设计不同档次的仪器为教学服务。如何针对不同的教学目的,分别对硬件驱动程序部分、虚拟面板部分、信号的后期处理部分进行部分或完整的设计,信号的后期处理程序可以设计成一个独立的功能模块,能够对采样信号进行非实时的在现和离线分析,既满足了学生的要求,又避免了设备的重复购置。
举报