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在两个地方调用,即便没有数据流的关系,也是顺序执行的,也就是先执行完一个,再执行另一个,同一时间只有一个在执行。

相关推荐
易召1 天前
练习LabVIEW第三十九题
labview
易召1 天前
练习LabVIEW第三十七题
labview
易召1 天前
练习LabVIEW第四十二题
labview
今天还没学习3 天前
基于LabVIEW应用ARINC 429板卡实现数据通讯——(下篇)
信息与通信·labview
易召3 天前
练习LabVIEW第三十八题
labview
易召4 天前
练习LabVIEW第三十三题
labview
易召4 天前
练习LabVIEW第三十四题
labview
易召5 天前
练习LabVIEW第三十二题
labview
易召5 天前
练习LabVIEW第三十题
labview
易召7 天前
练习LabVIEW第二十七题
labview