labview学习-VI服务器

1. 基本概念

  • LabVIEW中除了控件作为对象、VI、项目、库、甚至应用程序本身都是对象,从而都有自己的属性和方法
  • 灵活调用属性节点和方法节点l来实现程序的动态控制,这就是VI服务器的功能
  • 使用VI服务器的三种方式
    • LabVIEW编程,通过属性节点和调用属性节点,在LabVIEW程序中利用这些服务
    • 通过ActiveX调用LabVIEW提供的服务
    • TCP/IP,用于远程计算机,通过web服务来调用LabVIEW提供的功能
  • LabVIEW中所有对象都可以通过引用来实现操控
  • 获得引用的方法
    • 直接创建(所有操控的对象必须存在于当前程序中,否则不可创建引用)
      • 《labview学习-VI服务器》
    •  打开和关闭引用(所要操控的对象并没有存在于当前的程序中,获得它们的引用的方法就是采用“打开VI引用”等相关函数,包括打开应用程序引用和打开VI引用)
      • 《labview学习-VI服务器》

2. 动态改变界面 

  • 设置和改变控件属性的两种方法:直接创建和创建引用
  • 改变VI的属性
    • 获取VI引用的方式
      • 通过应用程序选板中,“属性节点”函数,右键“选择类”
      • 通过应用程序选板中“VI服务器引用”函数,可以选择应用程序引用,当前VI引用和窗口引用
      • 更为通用的方法。利用应用程序选板中“打开VI引用”函数,该函数不但可以获取本VI的引用,也可以获得其他VI的属性
  • 不能一下子得到某个控件或对象的引用,此时通过逐步得到所有控件引用,例如设置界面修饰物
    • 《labview学习-VI服务器》
    • 《labview学习-VI服务器》  

3. LabVIEW对象的层次关系 

  • LabVIEW的控件对象是典型的层次继承结构,每个类可以继承父类的所有属性和方法。通用类是所有图形控件的基类,所有图形控件都是从通用类继承而来的。
  • 类的转换函数
    • 转换为通用类函数
    • 《labview学习-VI服务器》
    • 转换为特定类函数
    • 《labview学习-VI服务器》

4. 动态调用VI

  • 静态和动态装载子VI
    • 静态装载:一般情况下,一个VI被打开时,它所有的子VI也会被同时载入内存,这样占用内存过大且程序启动过慢。
    • 按照使用频率可以将子VI分成三个级别:经常被使用的、偶尔被使用的、几乎从来不使用的。
    • 在程序启动时,暂不装载这些子VI,直到需要运行的时候再载入内存。另外对于几乎从来不使用的VI,运行结束后将其立即卸载出内存
    • 《labview学习-VI服务器》
  • 动态调用子VI(程序需要在运行时才决定哪个子VI被装入内存运行)
    •  步骤:动态打开一个VI,运行VI,关闭VI的引用
    • 动态调用子VI功能的方法:一是使用“通过引用调用”函数,二是使用“调用节点”调用VI的“运行VI”方法
    • 《labview学习-VI服务器》
    •  《labview学习-VI服务器》
  • 递归调用和可重入VI 
    • 用循环结构实现递归
    • 改用动态调用方法实现递归
      • 《labview学习-VI服务器》
      • 《labview学习-VI服务器》 需要设置VI的可重入特性

5. 应用程序引用

  • VI服务器的引用对象中,除了控件和VI,应用程序本身也是可引用的对象
  • 《labview学习-VI服务器》
    原文作者:andycj7
    原文地址: https://blog.csdn.net/qq_25705779/article/details/118273627
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞