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开发1 小时前
Fluke 万用表:接 LabVIEW 常踩的 5 个坑
labview·labview知识·labview功能·labview程序
LabVIEW开发14 小时前
LabVIEW 水泵异常检测:从多源传感、峭度特征到 SAE+ELM 智能诊断
labview
helesheng2 天前
用NI的数据采集卡实现简单电子测试之7——用“硬件计数器+软件定时”的方法实现测频率 [原创cnblogs.com/helesheng]
labview·数据采集卡·虚拟仪器·usb-6009·测频率
LabVIEW开发3 天前
CTM-3 红外测温仪 + LabVIEW 温度怎么测?
算法·labview·测试·labview程序
LabVIEW开发3 天前
CMT 矢量网络分析仪 + LabVIEW 测S参数?
labview·测试·labview程序
LabVIEW开发4 天前
FlexRIO 在轨图像取舍:判决要跑在数据进内存之前
labview·fpga·labview功能·labview程序·flexrio
LabVIEW开发5 天前
PHD2000 注射泵通宵实验:LabVIEW 分段排程、堵针检测与断点续跑
串口通信·labview·仪器控制·实验室自动化
LabVIEW开发5 天前
用 LabVIEW 做故障注入:把起落架的「危险试验」变成可重复流程
串口通信·labview·仪器控制·labview功能·labview程序
LabVIEW开发6 天前
CLAD 例题精讲 2|数值与布尔:三个反直觉的地方
labview
LabVIEW开发7 天前
波音客机降噪验证系统:NI PXI 加 LabVIEW 怎么同时做到可扩展与低成本
labview·labview知识·labview功能·labview程序