【LabVIEW】VI前面板


一、子VI前面板

對於子VI,有三種選擇來控制前面板的狀態

1、在調用時顯示前面板
當子VI執行時打開前面板。

2、如果之前是關閉的,那么在調用后關閉
當子VI結束執行后,關閉前面板。

3、加載時顯示前面板
當子VI被載入內存時,打開前面板。


如果你想要根據每一次的具體情況來決定是否彈出子VI的前面板,那么應該在調用它的頂層VI中進行設置。
如果你在頂層VI中多次調用此子VI,通過這樣的設置,你可以選擇在其中的某幾次打開前面板。具體步驟如下:

在頂層VI的程序框圖中,右鍵點擊子VI——選擇子VI節點設置


有四種選擇來控制子VI前面板的行為

1、加載時打開前面板
當子VI被載入內存時打開其前面板。

2、調用時打開前面板
當子VI執行時打開前面板。

3、如果之前是關閉的,那么在調用后關閉
當子VI結束執行后,關閉前面板。

4、調用時掛起
停止執行主VI,並允許用戶任意次運行子VI。

 

二、是否顯示前面板

(1)顯示

子VI設置成對話框型,或者是選擇調用時顯示前面板的選項,則調用子VI時會顯示它的前面板,這時只有關閉對話框(也就是子VI的前面板)才能操作主VI。

在主VI里右擊子 VI圖標——設置子VI節點——勾選 調用時顯示前面板


(2)不需要顯示
如果不需要顯示子VI前面板,只要在VI屬性中把window appearance設置成default,子VI前面板就不會打開。

 

三、調用子VI造成主界面卡死的問題

幾點建議:
建議1: 一定不要忘記在所有while循環中加入延時措施。

因為對於labview,它的while循環全速執行起來會讓你的CPU的一個內核全速運行,對於labview自動多線程的特點。

比如CPU有4個內核,你放四個沒有延時的while循環,4個內核就滿了。

可以打開任務管理器的性能頁,對比程序運行前后CPU使用率。


建議2: 不要在事件結構中處理耗時過程。

事件結構主要是用來響應用戶操作的,應該盡快響應用戶操作,把耗時過程單獨放在while事件結構之外。

這樣即使要連續執行不同的耗時任務也能順利執行。也許小規模時候覺得沒有必要,但規模稍大時候就會顯現出來。

 

四、在程序框圖中改變前面板狀態

操作流程:

(1)改變前面板狀態 FP.State

添加屬性節點:應用程序控制——屬性節點
調出本VI:應用程序控制——VI服務器引用
將本VI與屬性節點相連,點擊屬性節點——前面板窗口——狀態 FP.State
在該屬性節點上右鍵——全部轉換為寫入
在該屬性節點上右鍵——創建——常量
在生成的下拉框里選擇要設置的前面板狀態。


【FP.State屬性】
LabVIEW前面板窗口的當前狀態。有效值為:
0(Invalid)
1(Standard)
2(Closed)
3(Hidden)
4(Minimized)
5(Maximized)

 
在Standard或Maximized狀態下,前面板窗口處於用戶可見狀態。
如試圖對未打開的前面板窗口設置該屬性,可返回錯誤。

 

(2)打開/關閉前面板

FP.Close和FP.Open不是LabVIEW自帶的,是早期版本帶有的。
如果在屬性節點前面板窗口沒有,就在調用節點里。


程序框圖菜單欄工具——選項——VI服務器——勾選 顯示VI腳本函數、屬性和方法
VI服務器勾選后,放置一個調用節點在程序框圖面板
右鍵該調用節點——選擇類——VI服務器——VI——VI
點擊該調用節點——前面板——OPEN/Close


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM