栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

【从零开始的Labview学习(三)】子VI

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【从零开始的Labview学习(三)】子VI

子VI
  • 图标和连线板设计
    • 使用子VI的必要性
    • 编辑图标
    • 连线板设计
    • 子VI前面板设计
  • 创建子VI
    • 创建方法
    • 调用子VI
    • 主VI与子VI对比
  • 多态VI
    • 函数的多态性
    • 创建多态VI
    • 调用多态VI
  • 可重入VI
    • 含义
      • 例:时间提醒
    • 重入方式
    • 调试重入VI
    • VI右键菜单
      • 层次结构窗口

图标和连线板设计 使用子VI的必要性 编辑图标

左键双击图标

有很多符号供选择

连线板设计

子VI控件的接线端
推荐布局:左侧为输入控件,中间为附加项,右侧为输出控件

子VI前面板设计

保证与程序框图中控件对应,避免在连线板设计时出错

创建子VI 创建方法

方法一:直接把已有VI视为子VI
方法二:
右键编辑,选择创建子VI

  • 选取代码创建子VI时,所有控件、穿过选择框的连线 都将创建接线端
  • 子VI用到主VI控件的属性节点或调用节点,需要将该主VI控件引用作为接线端引出
调用子VI

主VI与子VI对比

多态VI 函数的多态性

对不同对象进行相同操作
不同数据类型间的运算,运算规则不同

创建多态VI


调用多态VI

直接使用,多态VI会根据输入类型自动使用对应的VI。

可重入VI 含义


默认情况下,VI为非重入且执行系统不能在一个VI上同时运行多个调用。
同时调用一个非重入的子VI,如果某个调用正在运行,则其它的调用要等它运行完毕后才能运行。

例:时间提醒

下列程序框图是用来提醒用户午饭时间和休息时间已到。必须对Alarm Timer VI的重入属性进行设置才能保证有理想的结果。

用户指定一个午饭时间和休息时间。假设午饭时间为12:00pm,休息时间为10:00am。

Alarm Timer VI等待指定时间。Alarm Timer VI的实例位于程序框图的并行部分,无法预测哪一个实例先执行。假设午饭时间定时器先运行。

如Alarm Timer VI被配置为不可重入执行,休息时间定时器无法在12:00pm之前开始运行,必须等到午饭时间定时器完成执行。这个延迟机制使休息时间定时器无法在10:00am触发一个提醒。为了保证各个子VI实例在合适的时间被触发,必须配置Alarm Timer VI为重入执行。

重入方式

LabVIEW的重入VI类型如下:

非重入执行-LabVIEW为所有子VI实例分配同一个数据空间。
共享副本重入执行-LabVIEW分配一个副本池在调用方之间共享,该副本池最初仅包含一个副本。调用方调用一个共享副本VI时,将从副本池取出一个副本并在调用结束执行后返回该副本。如调用方调用共享副本VI时副本池为空,LabVIEW将为调用新建一个副本,并在执行结束后将副本返回副本池,因此副本池不断增大。
预分配的副本重入执行-LabVIEW为每个子VI使用分配单独的、非共享副本。

调试重入VI

如需调试某个重入VI,可选择文件»VI属性显示VI属性对话框,从下拉菜单中选择执行并勾选允许调试复选框。

如要调试某个预分配副本的实例,打开子VI的相关实例。无法编辑副本VI,但是可以查看VI程序框图。例如,设置断点、创建探针、启用高亮显示执行过程和单步执行。

要调试共享副本的VI实例,需在源VI中使用断点、探针和启用高亮显示执行过程。副本VI无法在调用之间保持上述设置。

注:  调试应用程序或动态链接库时,无法调试打开VI引用函数创建的可重入前面板。如可重入前面板是LabVIEW创建的动态链接库的接入点,也无法对其进行调试。
VI右键菜单

说明和提示
设置子VI节点
调用设置
显示VI层次结构

层次结构窗口

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1023457.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号