2011年8月20日,第一稿
6.5 控件的引用
控件作为前面板上对象,不仅可以纪录保存数据,它自身有许多很丰富的特点。比如大小、外观形状、色彩等等。另外LabVIEW开发环境中,还提供了可操控控件对象的一些属性和方法。这些属性和方法可以在程序设计过程中随时被我们调用。有时候为了更好的利用这些属性和方法,我们还需要通过控件的引用来操控控件。
6.5.1 控件引用的创建方法
通常情况下,创建控件的引用很简单。三种方法:
1、在程序框图上,用鼠标右键单击控件,在弹出的菜单中选择:
》创建
》引用
参见下图。
1、在程序框图上,用鼠标右键单击控件,在弹出的菜单中选择:
》创建
》引用
参见下图。
2、在程序框图上,用鼠标右键单击空白处,在弹出的菜单中选择:
》编程
》应用程序控制
》VI服务器引用
然后在VI服务器引用上右键单击,在弹出的菜单中选择:
》链接至
》窗格
》数值
参见下图。
》编程
》应用程序控制
》VI服务器引用
然后在VI服务器引用上右键单击,在弹出的菜单中选择:
》链接至
》窗格
》数值
参见下图。
3、在前面板上,鼠标右键空白处,在弹出的选项板中选择:
》控件
》新式
》引用句柄
》控件引用句柄
参见下图。
》控件
》新式
》引用句柄
》控件引用句柄
参见下图。
引用句柄用来传递引用,并非是某个控件的引用(引用没有实例化)。
6.5.2 控件引用的实际应用
我们首先回顾3.2.2节中所讨论过的问题,在那里我们讨论了状态机与按键开关配合实现应用程序运行控制的基本方法。采用这种方法控制的应用程序,决不会产生用户误操作现象。因为在不同状态下,不可使用的按键都被设置为禁用状态。
首先,我们创建5个自定义的控件,也就是我们将使用的按键开关。参见下图。
首先,我们创建5个自定义的控件,也就是我们将使用的按键开关。参见下图。
现在,我们创建一个新的VI,命名为:簇控件的引用.vi。
然后,我们在这个VI的前面板的下方,创建一个簇,命名为:状态切换。再按顺序将这些自定义控件拖拽到这个簇中。参见下图。
然后,我们在这个VI的前面板的下方,创建一个簇,命名为:状态切换。再按顺序将这些自定义控件拖拽到这个簇中。参见下图。
现在我们就可以通过簇控件的引用和属性来控制按键开关的实际状态。参见下图。
下面我们就根据状态机的状态分别确定这些按键开关是否可用。
1、初始化后,进入等待测量状态
当应用程序进入初始化状态后,各按键开关所处状态应该是:
即时帮助——可用,此时可以查看即时帮助
开始测量——可用,可以选择开始进行测量
停止测量——禁用,测量还没有开始,停止测量当然不可用
创建报告——禁用,测量还没有进行,当然无法创建测试报告
退出测量——可用,可以选择不进行测量而直接退出测试程序
设置和运行结果参见下图。
1、初始化后,进入等待测量状态
当应用程序进入初始化状态后,各按键开关所处状态应该是:
即时帮助——可用,此时可以查看即时帮助
开始测量——可用,可以选择开始进行测量
停止测量——禁用,测量还没有开始,停止测量当然不可用
创建报告——禁用,测量还没有进行,当然无法创建测试报告
退出测量——可用,可以选择不进行测量而直接退出测试程序
设置和运行结果参见下图。
2、点击开始测量,进入测量状态
当应用程序进入测量状态后,各按键开关所处状态应该是:
即时帮助——禁用,
开始测量——禁用,
停止测量——可用,测量已经开始,停止测量可用
创建报告——禁用,测量还没有结束,当然无法创建测试报告
退出测量——禁用,测量正在进行中,不可以退出测试程序
设置和运行结果参见下图。
当应用程序进入测量状态后,各按键开关所处状态应该是:
即时帮助——禁用,
开始测量——禁用,
停止测量——可用,测量已经开始,停止测量可用
创建报告——禁用,测量还没有结束,当然无法创建测试报告
退出测量——禁用,测量正在进行中,不可以退出测试程序
设置和运行结果参见下图。
3、点击停止测量,再次进入等待测量状态
当应用程序再次进入等待测量状态后,各按键开关所处状态应该是:
即时帮助——可用,
开始测量——可用,
停止测量——禁用,测量还没有开始,停止测量禁用
创建报告——可用,测量已经结束,可以建测试报告
退出测量——可用,可以不再进行测量,而退出测试程序
设置和运行结果参见下图。
当应用程序再次进入等待测量状态后,各按键开关所处状态应该是:
即时帮助——可用,
开始测量——可用,
停止测量——禁用,测量还没有开始,停止测量禁用
创建报告——可用,测量已经结束,可以建测试报告
退出测量——可用,可以不再进行测量,而退出测试程序
设置和运行结果参见下图。
如果此时选择创建报告,应用程序会禁用所有的按键操作,直到报告生成后(时间很短)返回待测量状态。
由此可见,按键开关配合状态机使用,操作是在我们的引导下进行,根本就不会发生误操作现象。
当然我们也可以将部分程序转变为子VI,在不同的状态下调用该子VI。参见下图。
由此可见,按键开关配合状态机使用,操作是在我们的引导下进行,根本就不会发生误操作现象。
当然我们也可以将部分程序转变为子VI,在不同的状态下调用该子VI。参见下图。
关于状态机部分我们后面会介绍到。














