微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > Labview > labview动态调用子vi后,如何实现关闭子vi后,继续控制父vi?

labview动态调用子vi后,如何实现关闭子vi后,继续控制父vi?

时间:10-02 整理:3721RD 点击:

上图是,父vi中,通过布尔“谐波分析”控制事件结构,调用子vi“谐波分析.vi”的程序。


第二图是子vi“谐波分析.vi”中,通过布尔stop停止,并关闭子vi前面板的程序。
操作中,通过子vi中stop停止并关闭子vi后,父vi不能继续操作,处于“卡机”状态。
想实现,通过子vi中stop停止并关闭子vi后,父vi能继续操作,再次调用打开同一个或者其他字vi。
请问该如何解决,程序哪里出问题了?

自己顶帖,希望获得帮助

你第二个不应该是关闭前面板,应该是结束while循环

可以这样实现
先动态调用子VI,并取得子VI的引用句柄
子VI关闭时,在事件结构里面添加应用程序关闭?事件,并且执行否
并改变一个信号量,主程序不停查询这个信号量,如果改变就把子VI关闭

新手,能不能麻烦搞个程序截图看看

看看LV宝典里面有详细的过程
自己翻书
我都觉得自己写得很清楚了

labview宝典里面方法我试了,效果并不理想。可能还是我程序有问题,谢谢了。

这样貌似解决不了,也可能是我程序的问题,谢谢了。

这个其实不用这么麻烦  在子VI里找   文件--VI属性--窗口外观--自定义--勾选调用时显示前面板--勾选上如之前未打开则在运行后关闭    然后再点击确定保存VI属性就好啦!

你这个Stop关闭的不是子VI进父VI,当然父VI就是会卡死了。把“本VI"引用换成子VI的引用

如果事件完成了不应该卡死,应该是主vi还在等待子vi的完成,你没有退出子vi,只是关闭了窗口,把程序发上来看看

结束循环也不行

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top