LabVIEW子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中其它功能来实现的,也就是利用它可以导出信号中的其它信息这个特点实现了基波信号的提取。通过对导出信号项的设置,实现了对基波信号的提取。同时还可以获得基波频率和信号的失真度(%)。
之所以称其为理想滤波器,就是因为它具有极好的幅频特性和相频特性。在振动加速度测试中已经取得十分满意的效果。
2.5.2 创建子VI的图标和连线板
已经创建完成的VI还不是子VI,因为我们还没有为这个VI创建它的数据输入输出通道和图标。建立输入输出通道应该是子VI最重要的特征之一,通过输入输出通道才可以实现子VI与其它VI间的数据交换。
图标是区分VI的标志,图标的创建方法这里不具体说明,大家可以参照帮助文件来试着完成。图标和前面板,参见下图。
图 2-17 例2-2的前面板和图标
下面创建连线板,具体操作是:在前面板中,鼠标单击图标在弹出的快捷菜单中选择显示连线板,然后对应将前面板中的控件与连线板一一对应分配。参见下图。
图 2-18 例2-2的前面板和连线板
至此,子VI创建完成,保存后就可以供其它程序使用。对于常用的子VI建议存储到用户库中,当然别忘了为它创建简要的说明文档。
下面我们继续通过VI的属性来确定子VI的前面板外观和运行时的位置。
2.5.3 VI的属性——窗口外观
每个VI都有前面板,子VI当然也不会例外。通过窗口外观的属性,我们可以为每个VI配置前面板的一些参数,还可以自定义前面板的外观。
通过窗口标题,还可以选择窗口显示的标题。比如是否与VI名称相同等。
放置在程序框图上的静态子VI,一般在运行时它的前面板是不打开的。通常需要显示的前面板可以采用自定义窗口的选项。在自定义的情况下设计者可以有更多的选择余地。比如顶层运行的VI、类似对话框形式的VI等等。
对于例2-2,我们选取默认值即可。
图 2-19 设置窗口的外观
图2-20 自定义窗口的外观
2.5.4 VI的属性——窗口大小和运行时的位置
VI运行时窗口的大小和运行时的位置也都可以通过VI属性来设定,参见下图。
图 2-21 设置窗口大小
因为这是一个子VI,所以它运行时窗口不打开,可选择“设置为当前前面板大小”。
图 2-22 确定运行时窗口的位置
通常这个属性选择位置:居中即可。
2.5.5 VI的层次结构
子VI的引入,使得VI具有鲜明的层次结构。无论在前面
LabVIEWVI层次结 相关文章:
- 频宽、取样速率及奈奎斯特定理(09-14)
- 为什么要进行信号调理?(09-30)
- IEEE802.16-2004 WiMAX物理层操作和测量(09-16)
- 为任意波形发生器增加价值(10-27)
- 基于PCI 总线的高速数据采集系统(09-30)
- 泰克全新VM6000视频测试仪助力数字电视等产品测试 (10-06)