最简单的办法,用全局变量吧。
只要有一个“停止”的布尔变量就行。程序初始化时置F,主程序和子程序都读取它连接while循环的结束条件(用默认的“真时停止”),任何一方点STOP按钮的时候给他置T即可。
你这里的两个问题本质上是一个问题。照你写的这个程序框图来看,不用调试就知道是有问题的。停止值改变分支里面的上下两部分程序可以说是并行的。有可能发生的问题是子面板执行到abort的时候,因为子界面被强行中断,打开主面板和关闭子面板都不执行了,因而会发生一系列的问题。如果停止值改变这个分支是在子界面里面的,那么下半部分根本不需要从头开始动态调用,因为子界面已经运行在内存中的。只需要在打开主界面之后执行关闭或者停止就可以了。
不建议在程序中用abort来中断VI,尤其在设计主界面和子界面切换的时候,除非你能确定abort不会引起其他的问题。
下面给出一个NI工程师的例子你可以参考一下:
中级18:子面板技术 (作者: NI应用工程师 包云泉):
>
没有严格的上限,但会严重消耗CPU资源。亲自测试结果:
1、普通配置个人电脑,2~4个全速的并行循环,CPU占用率达到100%;
2、普通配置个人电脑,在每个循环体中添加1ms以上的时间延迟,同时运行20+个循环完全没问题;
3、与电脑配置相关,尤其是CPU配置,高配能运行的数量更多。
以上就是关于labview中,在执行完子程序后如何返回到主程序界面。全部的内容,包括:labview中,在执行完子程序后如何返回到主程序界面。、labview的界面跳转问题,要实现从主界面跳到子界面,子界面上按返回时子界面关闭,子程序关闭,返回原位、labview同时运行几十个子程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)