From 7:00 PM CST Friday, January 24th - 7:00 PM CST Sunday, January 26th, ni.com will be undergoing system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

创建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。

文章是否对您有帮助?

没有帮助