LabVIEW异步调用VI的多个实例实现并行执行

简介: LabVIEW异步调用VI的多个实例实现并行执行

LabVIEW异步调用VI的多个实例实现并行执行


默认情况下,如对一个VI进行多个异步调用,LabVIEW将这些调用按顺序排列,依次执行。各个调用的执行时间累加,效率不高。按照下列步骤,并行执行各个调用,避免一个调用阻止另一个调用的执行。


使用的对象


使用下列程序框图对象,开始对重入VI进行动态调用,稍后收集VI的输出:


创建下列程序框图,在重入VI上开始多个异步调用并收集结果。


下面列出了上述程序框图的要点。


在VI属性对话框的执行页上,勾选共享副本重入执行或预分配的副本重入执行,配置vi路径指定VI的重入执行。


在打开VI引用函数的选项参数中包括0x40标签。该标签表示开始同步调用重入VI。否则,LabVIEW按顺序执行调用。


注LabVIEW帮助中打开VI引用函数的选项标签为十六进制表示。因为,传入数值常量之前,把数值常量的格式改为十六进制显示,以保证传入正确的值。


也可组合使用选项标签,指定被调VI的多个特性。在该例中,合并选项标签0x100和0x40,配置LabVIEW对VI进行同步调用,并收集被调VI的执行结果。


对于一个具体的引用,使用等量的等待异步调用节点和开始异步调用节点。


使用0x40选项标签表示开始异步调用节点调用VI的副本,而不是VI本身。关于调用VI副本的详细信息,请参考意见和建议。


如在一个VI引用上开始了多个调用,不能直接确定VI实例返回的是哪个等待异步调用节点返回的输出。如要获知VI返回的是哪个实例的输出,可为VI调用分配一个标识符。


收集结果后,使用关闭引用函数关闭VI引用。


如要忽略异步调用的结果,取消等待异步调用节点,并使用0x80替换0x100选项标签。


说明和建议


VI服务器属性和方法无法修改异步调用的VI的并行实例。如在0x40 VI引用上调用VI服务器属性或方法,属性或方法无法修改异步调用节点实际调用的VI副本。属性和方法会影响到原被调VI。如要将VI服务器属性或方法应用于开始异步调用节点实际调用的VI副本,在原被调VI中调用相关属性和方法。


需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。

相关文章
|
NoSQL 数据可视化 关系型数据库
推荐几个好用的redis可视化工具
推荐几个好用的redis可视化工具
16678 1
|
监控 TensorFlow 算法框架/工具
阿里云超算:高性能容器方案实战之Singularity
除了自动化整合IaaS层硬件资源为用户提供云上HPC集群外,E-HPC还致力于巩固云上HPC服务的高可用性,先后推出了“集谛多维性能监控”、“低成本断点续算”等新特性,帮助用户更好、更省地使用云上HPC服务。本文主要介绍阿里云超算推出的弹性高性能容器方案以及在分子动力学领域和AI领域的实战案例。
9062 0
LabVIEW使用VI脚本创建和打开VI
LabVIEW使用VI脚本创建和打开VI
483 2
|
数据采集
LabVIEW写入可快速加载的TDMS文件
LabVIEW写入可快速加载的TDMS文件
369 1
LabVIEW操控应用程序和VI设置
LabVIEW操控应用程序和VI设置
169 1
|
存储 数据库 数据库管理
SQLite支持哪些数据类型?
【7月更文挑战第31天】SQLite支持哪些数据类型?
1162 8
LabVIEW创建自定义输入控件、显示控件和自定义类型1
LabVIEW创建自定义输入控件、显示控件和自定义类型1
437 1
|
存储 数据采集 Windows
LabVIEW重入:允许同时调用同一子VI
LabVIEW重入:允许同时调用同一子VI
441 1
|
监控
LabVIEW通过OPC与PLC通讯
LabVIEW通过OPC与PLC通讯
358 0
|
容器
LabVIEW主VI前面板中显示或使用多个子VI
LabVIEW主VI前面板中显示或使用多个子VI
224 2