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

相关文章
|
iOS开发 MacOS
LabVIEW如何使用热键去触发自定义的事件
LabVIEW如何使用热键去触发自定义的事件
452 1
|
存储 数据采集 Windows
LabVIEW重入:允许同时调用同一子VI
LabVIEW重入:允许同时调用同一子VI
679 1
LabVIEW使用VI脚本创建和打开VI
LabVIEW使用VI脚本创建和打开VI
685 2
|
网络协议
Labview 的TCP通信
Labview 的TCP通信
890 0
|
容器
LabVIEW主VI前面板中显示或使用多个子VI
LabVIEW主VI前面板中显示或使用多个子VI
423 2
使用LabVIEW时遇到VISA属性错误 -1073807331的解决方案
使用LabVIEW时遇到VISA属性错误 -1073807331的解决方案
714 1
|
数据采集
LabVIEW Actor架构特点与适用范围
LabVIEW Actor架构特点与适用范围
333 1
|
监控 Linux API
LabVIEW监控实时嵌入式目标上的CPU和内存使用情况
LabVIEW监控实时嵌入式目标上的CPU和内存使用情况
747 4
|
网络协议 安全 网络安全
LabVIEW程序的常见加密方式
LabVIEW程序的常见加密方式
929 1
|
存储 缓存 算法
LabVIEW大量数据的内存管理
LabVIEW大量数据的内存管理
513 1
下一篇
开通oss服务