通过VI脚本向VI添加对象
- 更新时间2025-08-27
- 阅读时长5分钟
必需: VI脚本
可使用VI脚本通过编程添加前面板和程序框图对象。可创建的对象包括:
- 前面板控件,包括用户自定义控件
- 程序框图节点,包括函数、结构、调用的子VI
- 簇、数组和结构的元素
使用的对象
VI脚本任务需用到下列对象:
操作步骤
准备:关于下列步骤的范例,见labview\examples\Application Control\VI Scripting\Creating Objects目录下的Adding Objects VI。
- 获取目标VI的引用。
- 确定要新建对象的定义信息。
- 所有者的引用 - 前面板或程序框图上的每个对象都有各自的所有者。以最简单的情况为例,对象的所有者是VI的前面板或程序框图。但是,如果某个对象在结构中,结构就是对象的所有者。例如,条件结构、顺序结构、簇等。附加范例部分包含添加对象至循环、数组和簇的范例。
范例详细信息
在该例中,目标是在VI的程序框图上创建一个“减”函数。VI脚本使用VI引用作为新增的“减”函数的所有者。更准确地说,VI的程序框图是“减”函数的所有者。新建VI对象函数能够识别“减”函数只在程序框图上出现。
- 类名 - 通过VI脚本创建的每个前面板或程序框图对象都属于一个VI服务器类。关于要创建的对象的类名,请参考VI的组成部分。使用类说明符常量为新建VI对象函数指定对象所属的类。
范例详细信息
在该例中,“减”函数是函数类的成员。
- 样式 - 每个LabVIEW对象都有一种样式,样式决定了对象的种类。可使用控件:样式ID属性或节点:样式属性来确定要创建对象的样式。注: 向目标VI添加子VI或用户定义控件时,不必指定样式。
范例详细信息
在该例中,要创建一个“减”函数,所以样式为减。请注意,节点的样式和节点的类通常是不同的。
- 位置 - 指定创建对象的位置。位置是相对于对象所有者的位置。
范例详细信息
在该例中,减函数的位置是(100, 200)。
- (可选)子VI或用户定义控件的路径 - 添加子VI或用户定义控件时,需将子VI或用户定义控件文件的路径连接至“新建VI对象”函数的路径输入端。关于创建子VI调用的范例,请参考附加范例部分。
- (可选)新建对象的大小 - 如对象的大小可手动调节,可指定此类对象的大小。
范例详细信息
在该例中,要创建一个“减”函数,函数外观的大小不可调节。
- 所有者的引用 - 前面板或程序框图上的每个对象都有各自的所有者。以最简单的情况为例,对象的所有者是VI的前面板或程序框图。但是,如果某个对象在结构中,结构就是对象的所有者。例如,条件结构、顺序结构、簇等。附加范例部分包含添加对象至循环、数组和簇的范例。
- 将第2步中的信息连线至新建VI对象函数,使用该函数将新对象添加至目标VI。
- (可选)通过编程将新建对象连线至目标VI中的已有对象。
关于使用VI脚本连接对象的范例,请参考附加范例部分。
- 使用关闭引用函数,在引用使用结束时关闭各个对象引用。
说明和建议
- 尽可能从模板创建较复杂的新VI - 用户可通过编程每次创建一个组件对象,从而新建一个VI,但是从模板新建VI并对代码做适量修改更为简便。附件范例部分的Creating New VI From Scratch VI说明即使是一个很简单的目标VI,一次创建一个对象也需要大量的脚本代码。从模板开始创建VI可避免这些复杂的代码。
- 尽可能基于模板创建复杂控件 - 用户可从零开始通过编程创建一个复杂控件。创建一个自定义控件,按照上述步骤添加该控件的一个实例,然后根据需要修改控件的各个组成部分,较为简单。如有自定义控件的引用,也可使用VI:通过引用创建方法,创建控件的副本。
- 关闭所有打开的引用 - 打开太多引用会影响VI的速度。关于更多性能详情,请参考关闭VI和VI对象引用。
其他范例
关于添加数组控件、数值显示控件、子VI调用的范例,见labview\examples\Application Control\VI Scripting\Creating VIs目录下的Creating New VI From Scratch VI。
关于在While循环中添加“加”函数的范例,见labview\examples\Application Control\VI Scripting\Creating Objects目录下的Drop Add Function Inside While Loop VI。
关于添加对象至簇的范例,见labview\examples\Application Control\VI Scripting\Creating Objects目录下的Drop Digital Numeric Inside Cluster VI。