定义
子vi相当于文本编程语言中的子程序
图标和连线版相当于文本编程语言中的函数原型
图标是子vi的图形化表示
目的
代替重复的代码,节省程序框图的空间与时间
顶层的代码所占空间减小,可能会节省内存
vi在内存中的结构
前面板对象,程序框图对象,代码,数据
打开主vi,调用:前面板对象,代码,数据,子vi代码,子vi数据。
图标编辑
单击前面板或程序框图右上角,选择图片编辑,可以先设置线条与填充颜色,再插入或绘制图形,也可以插入字体,建议9号字体
连线版设计
先对前面板对象进行排序,控制器在左,显示器在右
再将右上角小方块与端口相连
创建子vi
为创建好的vi设计图标连线并保存;
转换vi的一部分为子vi:程序框图中使用定位工具选取子vi一部分
点击编辑,创建子vi
创建好后,建议修改子vi图标,提高可读性
调用子vi
在函数选板中选择vi,选择需打开的vi,双击将其放置在程序框图上
放置一个已经打开的vi至当前vi的程序框图
复制调用
多态vi
定义
如需对不同数据类型进行同样的操作,可创建多态vi
多态vi是具有相同模式连线版的子vi的集合
创建
创建两个新的vi,新建多态vi即可
打开多态vi,选择绘制实例vi图标,可以使图标随接线端数据类型变化
注意
可重入vi
当为非重入状态时,任意时刻只有一个程序可以调用子vi
重入执行时,labview可以同一时刻执行所有子vi实例,labview分配重入执行的副本,使不同程序执行都有相应内存
非重入执行:只有一个内存空间
预分配的重入执行:为子vi分配副本空间
共享副本的重入执行:按计算机处理器个数创建共享副本池,执行子vi时调用,不执行时归还,若没有可用副本,则按需分配另一个副本
调试重入vi
在vi属性 执行 中勾选允许调试复选框
vi右键菜单
说明和提示
设置子vi节点
调用设置
显示vi层次结构