LabVIEW专栏二、调用子VI

该节目标是创建带子vi,修改vi属性,测试可重入和不可重入的区别

一 、设置子VI

把VI封装成为子VI,可以帮助模块化程序,简化代码结构。

任何VI本身都可以成为别的VI的子VI。

1.1、设置输入输出端子

1、在前面板空白处,点击右键可以把输入和输出控件放置到前面板。此处放置一个数值输入控件,控件标签为"数值",放置一个数值输出控件,控件标签为"数值 2"。

2、在前面板右上角有个"端子设置面板",鼠标移动到其中一格,此处点击左上第一个端子,点击后,对应的格子会变黑。

3、再点击对应的数值输入控件"数值"后,左上角端子就会变成控件的颜色

4、再设置输出端子,先点右上角的端子 ,再点数值输出控件"数值 2" 后,右上端子就会变成控件的颜色

1.2、设置重入

1、ctrl+i→选中"执行"→修改"重入"

  • 非重入:默认设置,一般用于耗时不长的,或者需要强制保持顺序的场合,比如tcp读写不能同时执行
  • 共享副本的重入:vi可重入,用于需要vi并行的场合,未初始化的寄存器也会保留上一次的值
  • 预分配副本的重入:vi可重入,用于需要vi并行的场合,相当于每个vi执行的时候,都是一个单独的vi在执行。

一般情况下,需要vi重入的话,用"共享副本的重入"就足够。

1.3、修改vi图标

vi最好修改为可识别的图标,这样方便标识对应的功能

1、双击右上角图标
2、弹窗
3、隐藏图层
4、工具选中"矩形"→圈中整个框

5、图标文本输入对应的vi名称,也可以自定义,此处用"测试耗时"举例

二、编写vi

创建以上三个vi

  1. 测试耗时:测试"等待(不可重入)"和"等待(重入)"的耗时

  2. 等待(不可重入):输入端子为数值,1000代表1s,输入到"等待(ms)"vi重入属性为默认的"非重入"

  3. 等待(重入):输入端子为数值,1000代表1s,输入到"等待(ms)"中。vi重入属性为默认的"共享副本重入"

1.1、统计vi耗时写法

使用"时间计数器":
1. 在vi执行前,放置一个,统计开始时间

  1. 在vi执行完成后,放置一个,统计结束时间

1.2、等待(重入)和等待(不可重入)

写法一样,重入设置不一样。

1.3、测试耗时

1.4、运行结果

可以看出"等待(重入)"的统计耗时都是1000,说明两个vi是并行执行的

而"等待(不可重入)"的统计耗时一个1000,一个2001,说明vi在两个地方调用,即便没有数据流的关系,也是顺序执行的,也就是先执行完一个,再执行另一个,同一时间只有一个在执行。

相关推荐
LabVIEW开发4 小时前
Beckhoff EK1100:接 LabVIEW 的坑
labview·labview知识·labview功能·labview程序
LabVIEW开发13 小时前
LabVIEW + FlexRIO:3 个月搭出质谱分析系统
人工智能·labview·labview知识·labview功能·labview程序
LabVIEW开发9 天前
LabVIEW无线温湿度监测
labview·labview知识·labview功能·labview程序
LabVIEW开发9 天前
检测PXI系统是否在线的方法
labview·labview知识·labview功能·labview程序
LabVIEW开发10 天前
防止LabVIEW前面板被截图:从拦截Print Screen到重构防护边界
labview·labview知识·labview功能·labview程序
LabVIEW开发11 天前
LabVIEW弹窗子VI如何记住上次输入的数值
labview·labview知识·labview功能·labview程序
LabVIEW开发12 天前
LabVIEW数据预判故障 减摇鳍智能预维
labview·labview知识·labview功能
电气_空空13 天前
基于LabVIEW 平台的通用数据采集卡的驱动方法及数据采集
labview
LabVIEW开发16 天前
8 个字节读回一个温度:KELLER 高温计的 LabVIEW 实现
labview·labview知识·labview功能·labview程序
LabVIEW开发17 天前
从饱和升温曲线到参数辨识:在LabVIEW中拟合y=a(1-e^(-bx))
算法·labview·labview知识·labview功能·labview程序