王小魏 何乾伟 刘治彬
(西南石油大学石油与天然气工程学院,四川 成都 610500)
【摘 要】传统的信号发生器的功能完全靠硬件实现,其功能单一,一旦确定就不能更改,而且用户的购置和维修费用多。于是根据虚拟仪器的特点,利用LabVIEW开发工具,设计了一种虚拟信号发生器。该信号发生器能够产生三角波、正弦波、锯齿波、方波和噪音波等信号,以及任意函数的公式波信号。该信号发生器具有界面美观友好、操作简单、响应速度快等特点,并且设置了登录系统,大大增加了其安全性。
教育期刊网 http://www.jyqkw.com
关键词 虚拟仪器;LabVIEW;信号发生器
0 引言
在工业生产和实验教学中,信号发生器经常被用到。传统的信号发生器其功能完全靠硬件实现,功能单一,而且用户的购置和维护费用高。更重要的是,对于传统的信号发生器,其功能一旦确定就不能更改,用户要想使用新的功能则必须重新购买新的仪器,传统信号发生器的不足显而易见。虚拟仪器是将仪器技术、计算机技术、总线技术和软件技术紧密地结合在一起,打破了传统仪器的框架,形成了一种新的仪器模式。因此,用LabVIEW开发了一套多功能虚拟信号发生器,在很大程度上解决了传统信号发生器的诸多弊端。它不但可以实现信号发生的功能,还可以对产生的信号进行调节控制,而且用户可以自定义其功能,为高校实验教学和科学研究工作提供了方便快捷的信号源,具有很好的应用前景。
1 开发环境介绍
LabVIEW是由美国国家仪器公司创立的一种功能强大而又灵活的仪器分析软件应用开发工具,它是一种基于图形化的、用图标代替文本行创建应用程序的计算机编程语言。
LabVIEW使用的编程语言通常称为G语言。G语言是一种图形化的语言,使用这种语言基本上不写程序代码,取而代之的是流程图和框图。它尽可能利用了工程技术人员所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的开发工具。它可以增强构建科学和工程系统的能力,提供了实现仪器编程和数据处理采集系统的便捷途径。虚拟仪器(VI)实际上就是一个基于计算机的用G语言编程的数据采集和分析系统。
2 虚拟信号发生器的设计指标
虚拟信号发生器是基于LabVIEW软件平台开发的,在设计上参考了传统信号发生器的功能,并基于虚拟仪器在计算机上的特点,在功能上有所拓展。虚拟信号发生器包括登录系统和信号发生器两个模块,其实现的功能主要包括:
(1)用户需要输入正确的用户名和密码信息方能进入系统,若输入错误,则提示重新登录或直接退出;
(2)可以产生1Hz—10kHz的三角波、正弦波、锯齿波、方波、周期性噪声波和任意函数的公式波形;
(3)信号的频率、幅度、相位、偏移量和方波的占空比等参数可进行调节;
(4)采样频率和采样点数可以调节;
(5)信号产生过程可控,可以暂停或继续产生信号。
3 虚拟信号发生器的设计与实现
3.1 登录模块设计
登录模块在程序中加入了一个“用户登录”程序,预先在库中存储了用户的个人信息(帐号和密码)。然后合理分布各个元素的位置,使用户更加一目了然的明晰程序的使用方法。信号发生器登录界面如图1所示。
登录界面整体采用了事件结构,内部包含一个while循环结构。当输入的用户名和密码与预设的用户名和密码一致时弹出“登录成功”对话框,点击确定后加载信号发生器子VI;当输入信息与预设信息不一致时弹出错误信息提示框,提示用户重新登录或直接退出程序。登录模块程序框图如图2所示。
3.2 虚拟信号发生器前面板设计
仪器的前面板分为三个部分,包括:公共显示控件、公共控件部分以及多种波形信号选择部分。如图3所示。
3.2.1 公共显示部分
显示部分只包括一个波形图控件,用于显示用户通过此发生器产生的波形信号。在显示控件选板直接拖出波形图控件,将其置于前面板的适当位置,根据所需功能适当调节其属性。
3.2.2 公共控件部分
该部分包括程序的启动、开始/暂停、停止、信号重置控件和波形参数输入旋钮选择控件。可改变的波形参数的控件包括幅值控件、频率控件、相位控件、方波占空比控件、偏移量控件和采样信息控件。启动、开始/暂停、停止可通过布尔选板里的确定按钮产生,幅值控件、频率控件、相位控件、方波占空比控件、偏移量控件可通过数值选板里的旋钮控件产生,采样信息由采样频率、采样点、以及两个显示控件组成。由于旋钮读数精度较低,所以在字符串与路径选板里面拖出五个字符串显示控件,用于显示幅值控件、频率控件、相位控件、方波占空比控件、偏移量控件的当前数值,便于对这五个参数进行更加精确的控制。当控件输入完成,适当修改其属性,再对外观加以美化。
3.2.3 波形选择部分
该部分为一个旋钮选择控件。可选择的波形有方波、锯齿波、正弦波、三角波、周期性噪音波和公式波。该控件可由数值选板中的旋钮产生,根据需要调节其属性,对其外观加以修饰,用以实现各种波形之间的相互转换。当选择公式波形时,需要一个字符串输入控件输入公式,字符串输入控件可以由字符串与路径选板里面的字符串输入控件产生。
3.3 虚拟信号发生器程序框图设计
程序框图的设计就是为了实现前面板所想要完成的功能,该函数信号发生器的程序框图如图4所示。
3.3.1 信号的产生
信号产生的控件是从波形生成选板中直接拖出,即可产生方波,正弦波,三角波,锯齿波等信号。
3.3.2 信号的显示
信号的显示只需要将产生的各种波形信号的输出端与波形图输入端相连,便可将产生的波形信号通过前面板的波形图输出。
3.3.3 信号的选择
采用一个条件结构进行信号选择,该条件结构包括六个分支,每一个分支对应一种波形信号,每一个分支都有一个索引号,通过前面板的波形选择旋钮控制索引号从而达到波形选择的目的。
(4)开始和暂停
开始和暂停功能是通过两个while循环结构实现。while循环每10毫秒检测一次暂停按钮是否被触发,如果被触发,循环停止,从而实现对信号的控制。
4 虚拟信号发生器功能测试
该虚拟信号发生器的功能测试主要包括以下几个:
(1)登录界面能否实现正常登录,在用户信息不正确时能否发出错误提示;
(2)能否正常产生正弦波、方波、三角波、锯齿波等多种波形,能否实现波形种类选择的功能,能否调节幅值、相位、频率、采样信息等参数;
(3)能否正常显示输入的公式波;
(4)暂停、启动、重置等控件功能是否正常,程序暂停后能否继续运行。
部分测试结果如下所示:
5 结束语
本文设计的虚拟信号发生器界面美观、操作简单、响应迅速、功能强大。不仅能产生正弦波、方波、锯齿波、三角波、周期噪音波形及任意函数公式的波形,还能对其频率、相位、幅值等参数进行调节,并且能对信号产生过程进行控制。此外,由于增加了登录系统,使得仪器的安全性大大增加,可广泛应用于生产和实验教学中。
教育期刊网 http://www.jyqkw.com
参考文献
[1]McQuiston. Virtual Instruments for Use in Test Systems Development[C]//Roceedings of the IEEE Systems Readiness Technology Conference, Autotestcon (Proceedings) 1993.Publ by IEEE, IEEE Service Center, 2003
[2]McQuiston.Virtual instruments for use in test systemsdevelopment[C]// Proceedings of the IEEE Systems Readiness Technology Conference[S.l.]: IEEE, 2003.
[3]侯国屏,叶齐鑫.LabVIEW编程与虚拟仪器设计[M].北京:清华大学出版社,2005.
[4]刘其和,李云明.LabVIEW虚拟仪器程序设计与应用[M].北京:化学工业出版社,2011.3.
[5]岂兴明,田京京,朱洪岐.LabVIEW入门与实战开发100例[M].北京:电子工业出版社,2014.4
[责任编辑:刘展]