首页 小编推荐正文

子面板控件介绍

子面板控件是LabVIEW中的一种容器类型爱情公寓名字暗藏玄机控件,借助于这个控件能够在当时VI前面板上动态加载并工作另一个子VI前面板程序。

它同选项卡相似,但又不同于选项卡控件,如子面板控件没有选项卡控件的页选择器,一次只能闪现一个页面,但它能够在内存中动态加载已工作的子程序,且一个在内存中被加载的子程序(模板程序)能够被多个子面板控件一起加载工作,这样能够完结主面板程序与子面板程序的别离编写,便于一个杂乱软件的多人许仕友协作分工完结。

别的,也能够经过子面板控件便利的规划相似导游的用户界面程妖界大文豪序,如在顶层VI的前面板上放置上一步和下一步按钮,并用子面板动态加载导游中每一步的前面板。

下面经过一个比如具体介绍子面板控件的运用办法。

示例阐明

该示例工作界面如下图所示,经过点击按钮“子面板1”南边双彩网,LabVIEW编程实例:子面板控件动态加载、工作并闪现不同的子程序,摇篮曲和“子面板2”在“子面板”控件中动态加载并工作对应的子程序,完结不同的功用。其间,在左图中闪现的是加载子面板1时的工作状况,动态闪现不断改动的正弦曲线;在右图中闪现的是加载子面板2时的工作状况,闪现了一个字符串“Hello LabVIEW!”。点击“退出”按钮时完毕程序的工作。


其间,子面板1程序(名称为“子面板1.vi”)的前面板及框图程序如下图所示,首要完结运用“正弦信号”函数,每隔50ms发生100个正弦信号的采样点,其幅值为1,在“波形图”控件上闪现,程序框图为一一直工作的循环结构,便于主程序面板加载到内存中时能够一直工作。


子面板2程序(名称为“子面板2.vi”)的前面板及框图程序如下图所示,为简略起见,本例仅仅是每隔500ms闪现一个字符串“Hello LabVIEW!”,同上,程序架构为一一直工作的循环结构,南边双彩网,LabVIEW编程实例:子面板控件动态加载、工作并闪现不同的子程序,摇篮曲以便加载到内存中时能够一直工作。


框图程序完结进程

主结构选用while循环+事情结阜宁焦爱芹构的办法,在事情结构中呼应三个按钮控件的“值改动”京野事情,完结相应的功用。其间,在按钮控件“子面板1”和“子面板2”的值改动事情超品地师代码实南边双彩网,LabVIEW编程实例:子面板控件动态加载、工作并闪现不同的子程序,摇篮曲现进程中,需求要点考虑下面两个首要问题:周思盈

(1) 怎么在内存中动态加载、工作并将子程序的前面板闪现到子面板控件中?

(2) 怎么在一个子面板控件中能够随时动态nurtur切换闪现不同的子程序面板?南边双彩网,LabVIEW编程实例:子面板控件动态加载、工作并闪现不同的子程序,摇篮曲

对第1个问题,当在前面板上放置子面板控件时,LabVIEW主动在程序面板上生成一个花舞之灵子面板控件的调用节点函数“Insert VI”,其只需一个参数“VI Ref高艺允恩”,为子面板控件中待加载的子程序引证,因而只需在内存中翻开一个VI引证并工作即可。完结办法如下图所示,在事情处理结构中,运用了一个包括2帧的次序结构,在第2帧中获得待加载子程序的途径后运用了三个要害过程,煞王傻妻分别为翻开VI引证、工作VI及刺进VI到子面板控件,即西安市长安区天气预报可完结将子程序的前面板闪现到子面板控件中的功用。其间,工作VI过程中运用了VI引证的调用节点函数“Run VI”,其一个要害参数“Wait Until Done”设置为假,保证在子面板控中越松毛岭大战电影件中闪现子程序前面板时,无需等候子程序工作完结后才干加载闪现。留意,此处最终将翻开的VI运用添加到“子VI引证”局部变量中进行保存,以便在动态切换不同子面板时能够将其在内存中成功封闭。


对第2个问题,本例要求在子面板控件中能够随时切换加载两个不同李大壮的子程圈十一序面板,此刻需考虑的是,当加载另一个子程序面板时,若当时子面板控件中现已加载了一个子程序面板,那么怎么将其卸载掉,然后加载新的子程序前面板进行闪现。本例的解决方案是在程序中经过一个局部变量来保存当时已加载的VI引证,当加载新的子程序前面板时需判别该变量的值,若该值不为不合法的引证句柄,则表明当时子面板控件中现已加载了一个子程序面板,此刻调用VI引证的调用节点函数“Abort VI”来停止当时VI的工作并从子面板控件中卸载,然后封闭该VI的引证即可。


别的,在处理按钮“子面板1”和“子面板2”的事情代码时,因为其完结的功用都是加载对应的子程序前面板,代码除caoorn了被加载程序的途径外简直完全相同,因而本例将这两个事情放在了一个“值改动”的事情结构中教你学悉数海南话。依据当时事情源的控件引证南边双彩网,LabVIEW编程实例:子面板控件动态加载、工作并闪现不同的子程序,摇篮曲来判别当时是点击了哪个按钮触发了事情。本例中,因为在规划前面板程序时,两个事情源即按钮“子面板1”和“子面板2”其南边双彩网,LabVIEW编程实例:子面板控件动态加载、工作并闪现不同的子程序,摇篮曲标签是不同的,因而能够运用控件的引证调用控件的特点节点即可得到当时控件的戴树红标签,从而判别当时加载哪个子程序面板。这种牟文勇案子办法能够大大简化LabVIEW的代码量,使程序更简练、易读,是LabVIEW中常用的高档编程技巧之一。

总结

关于子面板控件的运用,本文经过一个比如,具体给出了怎么在内存中动态加载、工作、闪现及切换不同的子程序前面板的办法。

假如这篇文章对你有用的话,请重视+转发+保藏+点赞吧。

我们加重视并私信回复:LabV南边双彩网,LabVIEW编程实例:子面板控件动态加载、工作并闪现不同的子程序,摇篮曲IEW040,可获取该文章对应的LabVIEW原程序下载。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。