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开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。

相关文章
|
5天前
|
存储 异构计算
LabVIEW FPGA中可重入和非可重入子VI的区别
LabVIEW FPGA中可重入和非可重入子VI的区别
12 0
|
5天前
|
存储 数据采集 Windows
LabVIEW重入:允许同时调用同一子VI
LabVIEW重入:允许同时调用同一子VI
11 1
|
10月前
|
Shell Windows
shell实战案例-批量ping ip(多进程限制并发)
shell实战案例-批量ping ip(多进程限制并发)
274 0
|
Shell Linux
shell脚本多进程并发写法实例(高阶修炼)
shell脚本多进程并发写法实例(高阶修炼)
|
5天前
|
弹性计算 运维 Serverless
基于函数计算搭建的异步任务执行框架
本文介绍基于函数计算实现的异步任务执行框架(编程语言:Python3),把跟阿里云资源开通相关的API封装到一个独立的模块,提供标准的API跟企业内部在用的ITSM或OA进行集成,降低客户对接API门槛,更快上阿里云。
基于函数计算搭建的异步任务执行框架
|
消息中间件 SQL NoSQL
只会单机执行定时任务?多机执行 yyds!
那我们是否有一种方法,可以让任务在多机同时执行,然后又可以避免多机同时处理相同数据的问题呢?这里给大家介绍一种多机分片的方式,也是最近在公司Get到的新技能。
117 0
|
图形学
Unity 之 关于停止协程的五种方式解析
通过代码结合示例一一解析了五种停止协程的方式。
1484 0
Unity 之 关于停止协程的五种方式解析
|
Linux 测试技术
Unixbench控制脚本源码分析
Unixbench是一款用于linux系统的系统性能测试工具。本文是对Unixbench入口脚本Run进行分析。
908 0
Unixbench控制脚本源码分析
|
SQL 关系型数据库 对象存储
PostgreSQL dblink异步调用实践,跑并行多任务 - 例如开N个并行后台任务创建索引, 开N个后台任务跑若干SQL
标签 PostgreSQL , 后台任务 , DBLINK 异步调用 背景 使用DBLINK异步接口,可以非常方便的实现跑后台任务,如果要让数据库执行若干条SQL,开N个并行执行,同样可以使用DBLINK封装成API进行调用。
1291 0
|
API 调度 Android开发
如何使用WorkManager执行后台任务(上)
0x00 简述 WorkManager 是 Android Jetpack中的一部分,它主要是封装了 Android 后台任务的调度逻辑。在前文《Android后台任务处理指南》一文中知道,WorkManager 是高级 API,它实际是封装了JobScheduler, Firebase Jo...
1686 0