LabVIEW使用VI服务器的调用节点将数据传递到另一个VI 使用调用节点(Invoke Node)与通过引用调用节点(Call by Reference)调用VI时有什么差别?

简介: LabVIEW使用VI服务器的调用节点将数据传递到另一个VI 使用调用节点(Invoke Node)与通过引用调用节点(Call by Reference)调用VI时有什么差别?

LabVIEW使用VI服务器的调用节点将数据传递到另一个VI


注意第二个:使用调用节点(Invoke Node)与通过引用调用节点(Call by Reference)调用VI时有什么差别?


可以使用按引用节点调用来动态调用VI。允许将值传递给控件并从指示器返回值。此方法是使用VI服务器将数据传递到VI的首选方法。有关更多信息,请参阅通过引用调用VI和通过调用节点调用VI与通过引用节点调用VI之间的区别


还可以使用“设置控件值”和“获取控件值”方法来完成此任务。要使用此方法,必须先使用打开VI引用功能打开对VI的引用,然后在调用运行VI调用节点之前使用单独的调用节点传递数据。该过程需要为将数据传递到的每个控件提供一个调用节点。必须知道控件的名称及其数据类型。可以使用调用节点的“设置控制值”方法或“设置控制值 [变体]”方法来传递数据。必须确保名称和数据类型匹配,否则将收到一条错误消息,指出输入参数无效。如果要从VI中提取信息,则需要为要从中检索信息的每个指标创建一个单独的调用节点。使用获取控件值或获取控件值 [变体] 方法检索信息。


使用调用节点(Invoke Node)与通过引用调用节点(Callby Reference)调用VI时有什么差别?


解决方案


在通过引用调用VI时,使用调用节点和通过引用调用节点的主要差别在于编程的便捷性以及结构的灵活性。当使用通过引用调用节点时,必须连线严格类型引用。严格类型引用中包括含有数据类型的连线板以及指向VI的引用。因此,当使用通过引用调用节点时,LabVIEW已知数据类型并在节点中创建连线板。通过这个方法,能够实现动态加载VI,同时获得简单连线的便捷性。


当使用调用节点时,LabVIEW忽略是否使用严格类型引用。因此能够传递任何VI到调用节点并运行。由于不需要限定类型以及调用具有相同连线板的VI,使用调用节点大大增加了灵活性。但是,如果要传递值,则需要知道控件及其数据类型的名称 ,这需要额外的编程。如果想做的只是打开前面板并运行VI,那么调用节点也是一个简单的方法。考虑到能够传递任何VI路径并且打开加载该VI,这个方法显得更加灵活。


使用调用节点调用VI的另一个好处是它提供了与VI交互的能力。如果VI需要被控制或者输出需要多次读取,调用节点的方法能够与VI交互以实现所需功能。使用通过引用调用节点时,在VI结束执行后连线板会输出结果,但它不提供与运行中VI交互的能力。

如果要异步调用目标VI,请使用开始异步调用节点(Start Asynchronous Call Node)而不是通过引用调用节点(Call by Reference Node)。这将允许目标VI在单独的线程上运行。


使用调用节点的方法可能会在UI线程中运行目标VI,如果希望在调用VI运行时让被调用VI充分执行,则可能会导致一些问题。即使有一个False常量连接到结束前等待(Wait Until Done)终端,也会发生这种情况。对于单独线程中的完整异步调用,需要修改目标VI的执行设置,方法是转到文件»VI属性(File»VI Properties),在对话框中选择执行(Execution),然后选择不同于用户界面或与调用者相同的执行系统。


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

相关文章
|
8天前
|
缓存 负载均衡 监控
性能优化:Node.js高效服务器开发技巧与最佳实践
【10月更文挑战第29天】在Node.js服务器开发中,性能优化至关重要。本文介绍了几种高效开发的最佳实践,包括使用缓存策略、采用异步编程、实施负载均衡和性能监控。通过示例代码展示了如何实现这些技术,帮助开发者构建更快、更稳定的Node.js应用。
23 2
|
11天前
|
数据采集 存储 JavaScript
如何使用Puppeteer和Node.js爬取大学招生数据:入门指南
本文介绍了如何使用Puppeteer和Node.js爬取大学招生数据,并通过代理IP提升爬取的稳定性和效率。Puppeteer作为一个强大的Node.js库,能够模拟真实浏览器访问,支持JavaScript渲染,适合复杂的爬取任务。文章详细讲解了安装Puppeteer、配置代理IP、实现爬虫代码的步骤,并提供了代码示例。此外,还给出了注意事项和优化建议,帮助读者高效地抓取和分析招生数据。
如何使用Puppeteer和Node.js爬取大学招生数据:入门指南
|
17天前
|
存储 数据挖掘
服务器数据恢复—用RAID5阵列中部分盘重建RAID5如何恢复原raid5阵列数据?
服务器数据恢复环境: 一台服务器挂接一台存储,该存储中有一组由5块硬盘组建的RAID5阵列。 服务器故障: 存储raid5阵列中有一块硬盘掉线。由于RAID5的特性,阵列并没有出现问题。工作一段时间后,服务器出现故障,用户方请人维修。维修人员在没有了解故障磁盘阵列环境的情况下,用另外4块硬盘(除去掉线的硬盘)重新创建了一组全新的RAID5阵列并完成数据同步,导致原raid5阵列数据全部丢失。
|
30天前
|
Python
Flask学习笔记(三):基于Flask框架上传特征值(相关数据)到服务器端并保存为txt文件
这篇博客文章是关于如何使用Flask框架上传特征值数据到服务器端,并将其保存为txt文件的教程。
29 0
Flask学习笔记(三):基于Flask框架上传特征值(相关数据)到服务器端并保存为txt文件
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
68 4
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
56 3
|
1月前
|
SQL 分布式计算 关系型数据库
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
49 3
|
1月前
|
SQL 存储 数据管理
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
53 2
|
1月前
|
分布式计算 Hadoop
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
44 1
|
1月前
|
JSON JavaScript 前端开发
使用 Node.js 和 Express 构建 RESTful API 服务器
【10月更文挑战第3天】使用 Node.js 和 Express 构建 RESTful API 服务器
下一篇
无影云桌面