必需: VI脚本

如要从模板新建VI,只需对模板VI进行少量修改。必须获取VI中的对象引用,才能修改对象。获取对象引用后,可将其连接至属性节点调用节点,获取或设置引用对象的信息。获取对象引用最简便的方法是使用“打开VI对象引用”函数。要使用该函数,新建VI中的对象必须有唯一的标签。如对象没有唯一的标签,必须通过其他更复杂的方法获取无标签对象或未知对象的引用

使用的对象

VI脚本任务需用到下列对象:

操作步骤

准备:关于下列步骤的范例,见labview\examples\Application Control\VI Scripting\Finding and Modifying Objects目录下的Obtaining Known Object Reference VI。

  1. 获取包含要交互对象的目标VI的引用
  2. 确定获取引用的对象的信息。

    1. 类型 - VI脚本操作的任何前面板或程序框图对象都是VI服务器类的成员,因此对给定对象的引用都属于相应的类。关于要使用的对象的类名,请参考VI的组成部分。使用类说明符常量为打开VI引用函数指定对象所属的类。

      范例详细信息

      在该例中,待编辑控件是数值控件的成员。

    2. 所有者 - 前面板或程序框图上的每个对象都有各自的所有者。以最简单的情况为例,对象的所有者是VI的前面板或程序框图。但是,如果某个对象在结构中,结构就是对象的所有者。例如,条件结构、顺序结构、簇等。

      范例详细信息

      在该例中,待编辑控件在VI的前面板上。控件的所有者是前面板。因此,脚本VI使用VI:前面板属性获取目标VI的前面板引用。

      注: “控件”和“控件接线端”类容易混淆。控件接线端是前面板控件对象在程序框图上的反映。目标VI的前面板是待编辑控件的所有者,程序框图是待编辑控件接线端的所有者。可改变控件对象的数值表示法,但是不能改变控件接线端的数值表示法。
    3. 标签 - 目标VI中对象的名称。

      范例详细信息

      在该例中,控件的标签是待编辑

  3. 使用打开VI对象引用函数,将第2步获取的信息连线至该函数,从而获取目标对象的引用。
  4. 将打开VI对象引用函数的对象引用句柄输出连接至属性节点调用节点,获取或设置引用对象的信息。

    范例详细信息

    在该例中,脚本VI使用数值:表示法属性,设置待编辑控件的数值表示法。

  5. 使用关闭引用函数,在引用使用结束时关闭各个对象引用。

说明和建议

  • 至少显示程序框图标签一次 - 打开VI对象引用函数无法定位从不显示标签的对象。程序框图对象默认情况下不显示标签,必须手动将程序框图的标签设置为可见,然后使用打开VI对象引用函数。右键单击对象,选择可见项»标签,显示对象的标签。显示标签后,即使再次隐藏标签,打开VI对象引用函数也能找到相应的对象。
  • 使用唯一的标签 - LabVIEW不强制要求使用唯一的标签。默认情况下,同一个类的对象使用相同的标签。例如,程序框图上如有两个For循环,两个For循环的标签都是For循环。使用打开VI对象引用函数打开同名标签时,LabVIEW将返回其找到的第一个对象的标签。唯一的标签保证了LabVIEW返回的引用是预期的引用。
  • 关闭所有打开的引用 - 打开太多引用会影响VI的速度。关于更多性能详情,请参考关闭VI和对象引用

其他范例

关于在已知VI中获取引用的范例,见labview\examples\Application Control\VI Scripting\Creating VIs目录下的Creating New VI From Template VI。