請教關於呼叫subVi 上的問題

對於Labiew 仍是新手的我來說希望能藉由修改前人的程式來增進自己的能力, 目前遇到關於呼叫subVi 上的問題一直找不出原因,想請前輩們幫忙指點一下.

我的問題是

我從Set Instrument Environment_new.vi 呼叫Multi-frequency_1.vi 希望能在Set Spectrum Analyzer 畫面中呼叫Multi-frequncy, 設定完成之後再回到Set Spectrum Analyzer 畫面,目前所遇到的問題是,如果我單獨執行Multi-frequency_1.vi時可以正常動作, 但是如果藉由Set Instrument Environmet_new.vi 呼叫執行時,只要呼叫到Multi-frequency_1.vi整個程式將如陷入某個while loop 般無法跳脫出來,也動彈不得,只能強制將Labview 關閉再重開,我在Vi properties 內將windows appearance 設定成 show front panel when called ,將execution 的piority 設成 high priority 似乎也沒效,所以可否請各位前輩幫忙指點一下, 我的程式如附檔2004-08-09_103657_tmp.exe

提醒你程式撰寫時盡量不要超過一個畫面可見的範圍,你寫的程式看起來有點亂,人家要幫你看時會覺得很累,雖然你的程式少了些subvi不能執行,不過就你敘述的內容,我大概知道什麼問題,重點就是subvi內最好不要有while loop或者event structure,除非你確定此subvi內的程序一定會完成內部的迴圈,否則就會有跳不出來的可能,我覺得要完全使用別人的程式當成subvi會有些難處,建議你修改一下subvi才可以解決你的問題

還有如果陷入某個while loop 般無法跳脫出來,就進到subvi去stop就好,建議不要強制將labview關掉,你的系統以後可能會不穩

感謝 Yao,

目前問題已經獲得解決, 看起來應該是button 的behavior 設定上的問題,將原來ㄊswitch when pressed 修改成latch when pressed 即可