1、第第10章章 子子VI1引子nLabVIEW中的子VI(SubVI)类似于文本编程语言中的函数。n通过子VI,我们可以把程序分割为一个个小的模块来实现 2本章内容n10.1 创建子创建子VIn10.2 查看查看VI层次结构(层次结构(VI Hierarchy)n10.3 定义子定义子VI属性属性n10.4 多态多态(Polymorphic)VI310.1 创建子创建子VIn其实任何VI本身就可以作为子VI被其它VI调用,只是你需要在普通VI的基础上多进行两步简单的操作而已:定义连接端子定义连接端子和图标图标。410.1 创建子创建子VIn第一步:新建一个第一步:新建一个Blank VI,编写其
2、程序框图,编写其程序框图 n第二步:编辑第二步:编辑VI图标。图标。510.1 创建子创建子VIn第三步:建立连接端子第三步:建立连接端子。n第四步:第四步:保存该VI,将该VI当作子VI调用 610.2 查看查看VI层次结构(层次结构(VI Hierarchy)710.3 定义子定义子VI属性属性n10.3.1 可重入可重入(Reentrant)子子VIn在缺省情况下,如果有两处程序框图都调用同一个子VI,那么这两处程序框图则不能并行运行。即如果当该子VI正在被调用执行时,其它调用就必须等待直到当前调用执行完毕。而在很多情况下,我们都希望不同的调用应该是相互独立的。这时候我们就需要把子VI设
3、为可重入子VI。810.3 定义子定义子VI属性属性n可重入子可重入子VI举例举例910.3 定义子定义子VI属性属性n10.3.2 设置子设置子VI调用属性调用属性1010.3 定义子定义子VI属性属性n利用显示子利用显示子VI前面板来实现登录对话框前面板来实现登录对话框 1110.3.3 自定义子自定义子VI图标形状图标形状n第一步第一步:在编辑VI图标界面选择Edit-Clear清除图标。n第二步第二步:在256 Colors下画一个封闭封闭的图形。为了方便与端子对应,你可以选择Show Terminals复选框显示连接端子。n第三步第三步:将画好的256色图标分别复制到16 Color
4、s和B&W下,确保三种显示模式所显示的图标形状一致。1210.4 多态多态(Polymorphic)VIn LabVIEW中的多态与C+中的多态概念类似,即函数可以根据输入数据的类型自动选择执行内容。n在LabVIEW中你也可以创建自己的多态VI。它实际上是多个VI的集合,这些VI具有相同的端子模式。1310.4 多态多态(Polymorphic)VIn创建多态创建多态VI举例举例n多态多态VI对应的两个实例对应的两个实例VI 1410.4 多态多态(Polymorphic)VIn调用多态子调用多态子VI 15小试身手n1.写一个子VI计算输入双精度数组所有元素的平均值,并在上层VI调用它。16小试身手n2.在第5章习题2的基础上,利用子VI实现一个温度报警对话框,每当报警发生时就弹出该对话框,如下图所示,点击“知道了”按钮退出对话框。17