例2-1是咱们创立的榜首个VI,也是一个极端简略的VI。其实在图形化语言中,最常常运用的是子VI。子VI类似于文本语言中的子程序。
在图形化语言中,子VI是供给给其它VI运用的VI,子VI能够完结与调用VI之间的数据交换。子VI除了能够被其它VI运用外,它的另一个作用便是简化程序框图。关于一个杂乱的程序框图能够经过创立多个子VI来进行化简。
子VI是模块化程序规划的根底和首要部件。子VI使得程序易于调试、了解和保护。所以了解和创立子VI是构建VI的根底。
LabVIEW函数选板上所供给的内置VI都归于子VI。这些内置VI是LabVIEW开发环境所供给的,装置LabVIEW后即可获得。除此之外,咱们还能够创立合适自己运用的子VI。
2.5.1 创立子VI
创立子VI有两种办法,一是经过创立一个新VI来完结;另一个是从现有的VI中提取部分代码构成一个子VI。
咱们经过一个滤波器的规划来介绍榜首种办法,创立一个合适自己运用的子VI。
例2-2 抱负滤波器
滤波器是信号处理中比较常用的部件,在实践工程运用中也常常用到。一般情况下,咱们能够挑选LabVIEW所供给的滤波器内置VI。在LabVIEW的函 数选板中,挑选:》信号处理》滤波器能够看到多种滤波器内置VI,包括高档IIR滤波器和高档FIR滤波器供咱们在规划中运用,拜见下图。
图 2-14 LabVIEW所供给的滤波器内置VI
咱们在电动式振荡台的测验项目中,需求精确测验振荡加速度的峰值,可是在实践的加速度信号中往往包括许多谐波重量,然后导致无法精确的丈量出加速度的峰 值。为了处理这个问题,最好的办法是便是对加速度信号进行滤波处理。运用上述滤波器内置VI能够完结滤波处理,可是咱们忧虑滤波后信号的起伏和相位是否会 产生改动。也便是说,滤波器的幅频特性和相频特性是否真实会令咱们满足。其实,咱们仅仅等待能够提取加速度信号的基波重量,并不关怀其它重量的信息。那么 有没有这样仅提取基波信号的办法呢?
经过对函数》信号处理》波形丈量》中的谐波失真剖析内置VI的仔细剖析,以为这个内置VI能够完结咱们提取加速度信号的基波重量的要求。所以咱们创立了这个子VI,并将其命名为:抱负滤波器,拜见下图。
图 2-15 抱负滤波器程序框图
这个子VI是咱们经过发掘了谐波失真剖析内置VI中其它功能来完结的,也便是运用它能够导出信号中的其它信息这个特色完结了基波信号的提取。经过对导出信号项的设置,完结了对基波信号的提取。一起还能够获得基波频率和信号的失真度(%)。
之所以称其为抱负滤波器,便是由于它具有极好的幅频特性和相频特性。在振荡加速度测验中现已获得十分满足的作用。
现已创立完结的VI还不是子VI,由于咱们还没有为这个VI创立它的数据输入输出通道和图标。树立输入输出通道应该是子VI最重要的特征之一,经过输入输出通道才能够完结子VI与其它VI间的数据交换。
图标是区别VI的标志,图标的创立办法这儿不详细阐明,咱们能够参照帮助文件来试着完结。图标和前面板,拜见下图。
图 2-17 例2-2的前面板和图标
下面创立连线板,详细操作是:在前面板中,鼠标单击图标在弹出的方便菜单中挑选显现连线板,然后对应将前面板中的控件与连线板一一对应分配。拜见下图。
图 2-18 例2-2的前面板和连线板
至此,子VI创立完结,保存后就能够供其它程序运用。关于常用的子VI主张存储到用户库中,当然别忘了为它创立扼要的阐明文档。
下面咱们持续经过VI的特点来确定子VI的前面板外观和运行时的方位。
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/212130.html