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,只是关闭了窗口,把程序发上来看看
结束循环也不行
