LabVIEW中引用的概念及在VI间传递值

一 引用的概念

LabVIEW中有一个重要概念:引用。引用的本质是一个临时指针,它可以指向一个具体的对象,并为其分配内存空间,是对象在程序中的唯一标识。

尽管LabVIEW不是纯粹面向对象的语言,但引用的概念与其它面向对象的语言,例如:C++,基本相同。我们可以把LabVIEW中的控件、VI、应用程序等都视为一个对象,通过引用可以对这些对象进行操作。区别在于:其它语言可以通过引用创建新的对象或为对象创建新的属性和方法。但LabVIEW只能通过引用操作对象固有的属性和方法。

二 控件引用

前面板上的控件,除了记录和保存数据,还自带丰富的属性和方法。为了更好更方便的操作这些控件,我们经常使用到控件的引用。如下图所示:

波形图表控件,在该控件上点击右键->创建->引用,然后在函数->编程->应用程序控制->属性节点中进行选择,这样就可以实现通过引用操作控件的属性和方法。

三 VI引用

在之前发布的文章中,我们在讲解动态调用的时候已经讲过此种情况。

通过引用节点调用VI,如下图所示:

以及异步调用VI:

这两种情况都是使用“打开VI引用”函数,获取VI的引用,实现对VI的操控。

四 范例

举一个简单的例子,实现主VI通过引用的方式获取子VI中控件的值,这也是一种VI间传递值的方法。

下图是主程序的前面板,运行时,前面板控件中显示的值都是从子VI传递过来的。

1.主VI和子VI都作为独立存在的一个对象;

2.实现两个VI之间值的传递,本质是对两块内存区域指定地址的访问和写入。

两个子VI的前面板:

代码编写:

1.在程序框图中,首先要获取子VI前面板上控件的引用;

2.然后用For循环找到需要的那个控件的引用;

3.再通过该引用获取子VI前面板上控件的值。

该范例资源随文附上,大家可自行查看。

  • 15
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 在LabVIEW,可以通过调用VI和切换面板来实现不同VI的交互和切换。 首先,LabVIEW的每个VIVirtual Instrument)都有自己的面板和前台。面板是用户与VI交互的界面,前台是编程和数据传输的地方。 要在LabVIEW调用一个VI,可以使用"调用VI"函数。该函数可以打开并运行另一个VI,并且可以通过输入和输出参数与被调用的VI进行通信。 另一种方法是使用"打开VI引用"和"执行VI"函数。"打开VI引用"函数将另一个VI打开到内存,并返回一个VI引用。然后,使用"执行VI"函数来实际运行该VI。 调用VI后,可以使用"切换面板"函数来切换到所调用VI的面板。该函数需要传入VI引用,并且可以选择是否激活该面板。 通过这些方法,可以在LabVIEW实现VIVI的切换和交互。可以在一个VI调用其他VI,并通过输入和输出参数进行数据传输和通信。使用"切换面板"函数可以在运行时切换到所调用VI的界面,并与之进行交互。 总之,LabVIEW提供了很多便捷的方式来调用VI和实现VI的切换面板。这使得用户可以方便地进行模块化设计和可视化编程,提高了开发效率和交互性。 ### 回答2: LabVIEW通过调用VIVI切换面板,可以利用"VI Server"这个功能实现。VI Server是LabVIEW提供的一种远程访问和控制其它VI的方法。下面是一个简单的示例: 1. 打开一个新的LabVIEW项目,创建两个VI,分别命名为"VI_A.vi"和"VI_B.vi"。 2. 在VI_A.vi的Block Diagram,添加一个"Invoke Node"函数。该函数用于调用VI_B.vi,并切换到VI_B.vi的面板。 3. 在Invoke Node函数的输入端,将VI_B.vi的路径(包括文件夹路径和文件名)作为字符串输入。 4. 在VI_A.vi,添加一个按钮控件,并将其与Invoke Node函数连接。 5. 在VI_A.vi的Front Panel,添加一个显示文本的控件,用于显示VI_B.vi的面板。 6. 在VI_B.vi的Front Panel,添加一些控件。 7. 在VI_B.vi的Block Diagram,添加一个Local Variable函数,用于将Front Panel的某个控件的传递给Output端口。 8. 运行VI_A.vi,点击按钮控制,即可切换到VI_B.vi的面板,并在VI_A.vi的显示文本控件显示VI_B.vi某个控件的。 这样就实现了LabVIEW调用VIVI切换面板的功能。利用VI Server,我们可以在一个VI调用另一个VI,并实现控制和传递数据。这种功能在LabVIEW编程非常有用,可以实现模块化的设计和多个VI的协同工作。 ### 回答3: LabVIEW是一款强大的图形化编程软件,可以帮助工程师和科学家快速开发控制和测量系统。在LabVIEW,可以通过调用VIVirtual Instrument)来实现不同VI的数据传递和控制。 LabVIEW调用VIVI的切换面板相对简单。首先,我们需要在当前的VI插入一个按钮或控件来触发切换操作。可以通过在“控制面板”模式下,点击工具栏的“控件”或“移动和调整”选项卡,在工具栏上找到合适的控件,并将其拖放到适当的位置。 接下来,双击所插入的控件将打开事件结构。在事件结构,可以选择所需的事件类型,如按下按钮事件。在该事件类型下,可以插入代码来调用其他的VI。 在按钮的按下事件处理程序,我们可以使用“调用VI”功能来调用需要切换到的VI。可以通过拖放“调用VI”节点到事件结构内,并设置所需的输入和输出参数。在输入参数,需要提供切换到的VI的路径或文件名。在输出参数,可以选择需要从调用的VI返回的结果。 通过以上步骤,LabVIEW就可以实现在不同VI的切换面板操作。当用户触发按钮时,当前VI将调用指定的VI,并切换到被调用VI的面板。 需要注意的是,被调用VI的面板需要事先创建和设计好,以确保切换时能够正常显示和工作。此外,在切换面板时,需要注意数据的传递和同步,以确保各个VI的数据一致性和正确性。 总而言之,LabVIEW通过调用VI的方式可以实现不同VI的切换面板操作,从而实现更复杂和功能强大的控制和测量系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值