创建LabVIEW类的成员VI



LabVIEW 2018帮助


版本日期:2018年3月
产品编号:371361R-0118
查看产品信息

下载帮助(仅限Windows)


LabVIEW 2015帮助
LabVIEW 2016帮助
LabVIEW 2017帮助
LabVIEW 2018帮助
LabVIEW 2019帮助

成员VI用于访问和操作LabVIEW类的私有数据。可通过各种方式创建成员VI。

从空VI创建成员VI

按照下列步骤,从空VI创建成员VI。

  1. 创建一个新的LabVIEW类或通过选择文件»打开,浏览并选择一个现有类。
    注:如通过文件»打开打开类,VI将在类窗口而不是项目浏览器窗口中打开。用户可在类窗口中对类进行开发,和在项目浏览器窗口中操作类似。
  2. 定义类的私有数据
  3. 项目浏览器窗口中,右键单击需要创建成员VI的类的图标,从快捷菜单中选择新建»VI

    新的成员VI出现在项目浏览器窗口中,LabVIEW将打开该VI。
  4. 接下来可对成员VI进行开发,以实现对类中私有数据的访问和交互。

在属性定义文件夹中创建成员VI

如在属性定义文件夹中创建一个成员VI,LabVIEW类的私有数据成为该类的属性。用户可通过属性节点访问该属性。

注︰您指定的属性定义文件夹名称将决定出现在属性节点中的属性名称。如需修改属性名称,必须重命名相应的属性定义文件夹。重命名私有数据不会修改属性节点中显示的属性名称。

按照下列步骤,在属性定义文件夹中创建一个成员VI。

  1. 创建一个新的LabVIEW类或通过选择文件»打开,浏览并选择一个现有类。
    注:如通过文件»打开打开类,VI将在类窗口而不是项目浏览器窗口中打开。用户可在类窗口中对类进行开发,和在项目浏览器窗口中操作类似。
  2. 定义类的私有数据
  3. 项目浏览器窗口中,右键单击需要创建成员VI的类的图标,从快捷菜单中选择新建»属性定义文件夹

    项目浏览器窗口中会出现一个属性定义文件夹符号
  4. 右键单击属性定义文件夹,从快捷菜单中选择新建»VI。也可从动态分配模板静态分配模板创建新VI。

    新的成员VI出现在项目浏览器窗口中,LabVIEW将打开该VI。
    注:注:右键单击属性定义文件夹,从快捷中选择添加»文件,可将现有成员VI添加至属性定义文件夹。
  5. 接下来可对成员VI进行开发,以实现对类中私有数据的访问和交互。每个属性定义文件夹均可包括一个读取VI和一个写入VI,读取或写入类的私有数据。
    注: 注:如使用属性节点访问LabVIEW类,右键单击类属性并从快捷菜单选择打开访问器VI,可快速查看LabVIEW类属性的实现。只有连线LabVIEW类或指向LabVIEW类的数据值引用至属性节点引用输入端,且访问器VI的程序框图可用时,才会出现该选项。如属性为动态的多个实现,选择该选项将显示选择实现对话框。使用该对话框查看属性的所有实现,或动态分配成员VI,以及打开一个或更多实现

使用属性节点读取和写入私有数据的成员VI必须使用4 × 2 × 2 × 4的连线板。读取私有数据的成员VI必须使用下列格式的连线板。

1 类输入3 类输出5 错误输出
2 错误输入4 值输出

写入私有数据的成员VI必须使用下列格式的连线板。

1 类输入3 错误输入5 错误输出
2 值输入4 类输出
注:注:成员VI的类输入类输出必须是同一个LabVIEW类。如属性定义文件夹中既有读取成员VI,又有写入成员VI,读取VI的值输出和写入VI的值输入必须是同一数据类型。

从动态分配模板中创建成员VI

可通过任何VI模板,使用新建对话框创建新的成员VI。但是,LabVIEW提供了一种创建动态分配成员VI的快速方法,这些动态分配成员VI包括许多动态方法所需的功能。LabVIEW将在所有的新成员VI中放置错误输入错误输出簇、用于错误处理的条件结构,以及输入LabVIEW类和输出LabVIEW类。在VI连线板上,LabVIEW将输入和输出接线端都设置为动态按照下列步骤,从动态分配模板创建成员VI。

  1. 创建一个新的LabVIEW类或通过选择文件»打开,浏览并选择一个现有类。
    注:如通过文件»打开打开类,VI将在类窗口而不是项目浏览器窗口中打开。用户可在类窗口中对类进行开发,和在项目浏览器窗口中操作类似。
  2. 定义类的私有数据
  3. 项目浏览器窗口中,右键单击需要创建成员VI的类的图标,从快捷菜单中选择新建»基于动态分配模板的VI

    新的成员VI出现在项目浏览器窗口中,LabVIEW将打开该VI。VI的前面板窗口将显示LabVIEW类显示控件、LabVIEW类输入控件、错误输入错误输出簇。
  4. 按<Ctrl-E>键显示程序框图。(macOS)按<Option–E>组合键。(Linux) 按<Alt-E>键。程序框图将显示两个LabVIEW类接线端、错误输入错误输出簇接线端,以及用于错误处理的“条件”结构。
  5. 接下来可对成员VI进行开发,以实现对类中私有数据的访问和交互。

从静态分配模板中创建成员VI

LabVIEW也提供一种快速方法创建静态分配成员VI。LabVIEW将在所有的新成员VI中放置错误输入错误输出簇、用于错误处理的条件结构,以及输入LabVIEW类和输出LabVIEW类。与创建动态分配VI相反,LabVIEW不将动态分配VI的连线板上的输入和输出接线端设置为动态。按照下列步骤,从静态分配模板创建成员VI。

  1. 创建一个新的LabVIEW类或通过选择文件»打开,浏览并选择一个现有类。
    注:如通过文件»打开打开类,VI将在类窗口而不是项目浏览器窗口中打开。用户可在类窗口中对类进行开发,和在项目浏览器窗口中操作类似。
  2. 定义类的私有数据
  3. 项目浏览器窗口中,右键单击需要创建成员VI的类的图标,从快捷菜单中选择新建»基于静态分配模板的VI

    新的成员VI出现在项目浏览器窗口中,LabVIEW将打开该VI。VI的前面板窗口将显示LabVIEW类显示控件、LabVIEW类输入控件、错误输入错误输出簇。
  4. 按<Ctrl-E>键显示其程序框图。(macOS)按<Option–E>组合键。(Linux) 按<Alt-E>键。程序框图将显示两个LabVIEW类接线端、错误输入错误输出簇接线端,以及用于错误处理的“条件”结构。
  5. 接下来可对成员VI进行开发,以实现对类中私有数据的访问和交互。

创建访问数据成员的成员VI

可快速创建LabVIEW类成员的读写访问VI。读取访问VI取消捆绑了LabVIEW类数据,因此可在调用方VI中访问数据。写入访问VI重新捆绑了来自调用方VI的类数据新值。可使用访问VI,从VI中读取数据或将数据写入VI,该VI不是LabVIEW类的成员VI。按照下列步骤,创建一个VI,访问类的数据。

  1. 创建一个新的LabVIEW类或通过选择文件»打开,浏览并选择一个现有类。
    注:如通过文件»打开打开类,VI将在类窗口而不是项目浏览器窗口中打开。用户可在类窗口中对类进行开发,和在项目浏览器窗口中操作类似。
  2. 定义类的私有数据
  3. 项目浏览器窗口中,右键单击需要创建成员VI的类的图标,从快捷菜单中选择新建»用于数据成员访问的VI,打开创建访问器对话框。也可右键单击LabVIEW类私有数据控件中数据成员,从快捷菜单中选择创建访问器
    注: 必须先保存LabVIEW类才能使用该选项。如未保存新建的LabVIEW类,LabVIEW将以灰色显示用于数据成员访问的VI创建访问器
  4. 选择要访问的数据成员、访问类型、新VI为动态或静态,以及是否可使用属性节点访问数据成员。如指定数据成员为可通过属性节点访问,LabVIEW将把成员VI添加至属性定义文件夹
    注:注:如使用属性节点访问LabVIEW类并指定所选的数据成员可通过属性节点访问,可快速查看LabVIEW类属性的实现。右键单击类属性,从快捷菜单中选择打开访问器VI。只有连线LabVIEW类或指向LabVIEW类的数据值引用至属性节点引用输入端,且访问器VI的程序框图可用时,才会出现该选项。如属性为动态的多个实现,选择该选项将显示选择实现对话框。使用该对话框查看属性的所有实现,或动态分配成员VI,以及打开一个或更多实现
    如按<Ctrl>键并同时选择多个数据成员,LabVIEW将为每个数据成员创建一个访问器VI。(macOS)按<Option>键。(Linux)按<Alt>键。如在对话框中选择读取和写入,LabVIEW将创建一个提供读取访问的VI和另一个提供写入访问的VI。
  5. 单击创建按钮可创建访问器VI。

    新建的VI出现在每个数据成员和所选的每个访问类型的项目浏览器窗口,LabVIEW自动打开每个VI。VI的名称有访问类型和数据成员名称组成,例如:Read Numeric.vi。VI的前面板窗口将显示LabVIEW类显示控件、LabVIEW类输入控件、选择的数据成员、错误输入错误输出簇。
  6. 按<Ctrl-E>键显示其程序框图。(macOS)按<Option–E>组合键。(Linux) 按<Alt-E>键。程序框图将显示两个LabVIEW类接线端、选择的数据成员、错误输入错误输出簇接线端,以及用于错误处理的条件结构
  7. 现在可操作来自调用方VI的类数据。

创建重写祖先成员VI的成员VI

可创建一个动态分配的成员VI,重写或扩展祖先动态分配成员VI的功能。只有在两个成员VI的以下属性相同时,一个成员VI才可以重写另一个来自父类的成员VI:

当从快捷菜单中选择新建»重写VI时,LabVIEW将创建一个满足所有合法重写要求的重写成员VI。按照下列步骤,通过新建»重写VI选项,创建重写成员VI。

  1. 创建一个新的LabVIEW类或通过选择文件»打开,浏览并选择一个现有类。如正在创建一个新类,则必须先保存该类,才可创建重写成员VI。
    注:如通过文件»打开打开类,VI将在类窗口而不是项目浏览器窗口中打开。用户可在类窗口中对类进行开发,和在项目浏览器窗口中操作类似。
  2. 项目浏览器窗口中,右键单击需要创建成员VI的类的图标,从快捷菜单中选择新建»重写VI
    注:如所选类没有继承成员VI用于重写,则LabVIEW将禁用重写VI选项。父类中的VI必须动态分配成员VI,从而对其进行重写。
  3. 显示新建重写对话框。该对话框将显示祖先类定义的动态方法。选择要重写的成员VI。
  4. 单击确定按钮。
  5. 新的成员VI出现在项目浏览器窗口中,LabVIEW将打开该VI。LabVIEW使用父VI的图标对子类的图标进行覆盖,创建新VI的图标。另外,VI前面板上将显示从祖VI复制的控件、LabVIEW类显示控件,以及错误输入错误输出簇。
  6. 按<Ctrl-E>键显示其程序框图。(macOS)按<Option–E>组合键。(Linux) 按<Alt-E>键。程序框图将显示LabVIEW从祖先成员VI复制的接线端。LabVIEW还将接线端自动连线至调用父方法节点

接下来可根据需要修改重写成员VI的程序框图上的代码。

注: 未经修改时,新建的重写成员VI将与祖先成员VI实现相同的功能。通过重写成员VI可增加和减少成员VI从父成员VI继承的功能。

创建需子孙类覆盖VI的成员VI

用户可创建一个动态分配VI,该VI可要求子孙类覆盖或扩展成员VI的功能。如子孙类要覆盖祖先类成员VI,成员VI不必提供VI在子孙类的任何应用。按照下列步骤,使子孙类覆盖成员VI。

  1. 创建一个新的LabVIEW类或通过选择文件»打开,浏览并选择一个现有类。
    注:注:如通过文件»打开打开类,VI将在类窗口而不是项目浏览器窗口中打开。用户可在类窗口中对类进行开发,和在项目浏览器窗口中操作类似。
  2. 项目浏览器窗口中,右键单击需要创建成员VI的类的图标,从快捷菜单中选择新建»基于动态分配模板的VI

    新的成员VI出现在项目浏览器窗口中,LabVIEW将打开该VI。VI的前面板窗口将显示LabVIEW类显示控件、LabVIEW类输入控件、错误输入错误输出簇。
  3. 项目浏览器窗口,右键单击从中创建成员VI的类的图标,从快捷菜单中选择属性,打开类属性对话框。
  4. 选择项设置,打开项设置页,选择子孙类要覆盖的动态分配VI。
  5. 勾选需要子孙类重写该动态分配VI复选框。用户不必提供该VI的任何应用,因为每个子类必须用其各自的应用覆盖该VI。

文章是否对您有帮助?

没有帮助