延續上一問題

 

希望輸入數據能不只限3組8筆資料,能由使用者增減為?組?筆。同時能自動設定Graph每個Plot的狀態和名稱,不要使用者一一去修改。主要是希望最後將程式當成SubVI來使用

 

 

嚴格來說你這問題的要求條件有矛盾,自動設定Graph每個Plot要調用屬性,而Graph是要在主程式的畫面顯示,所以SubVI不可能調用主程式Graph的屬性,能做成SubVI的只有由使用者增減為?組?筆輸入資料處理這部分,總而言之程式先做出來,在看你怎麼應用

 

 

首先要由使用者增減為?組?筆輸入資料,輸入資料最好設定為2D陣列,加上每組資料的名稱,建議輸入資料是弄成Table型式,另外若每個Plot的顏色若要自訂顏色?就另外設一個顏色用的資料陣列

20120331-05  

 

 

程式用For迴圈分解處理資料,可以做成SubVI的程式部分分成X軸和Y軸的2個處理迴圈,迴圈的次數等於組數加1乘上筆數(含每組資料的間隔),以這個程式來說會等於4*8=32


X軸資料就是單純輸出以0開始的等差數值陣列


Y軸則是把上一個程式用雙迴圈精簡,一次只處理一組資料,最後資料輸出到Graph上


這部分完成的程式如下圖:

20120331-03  

 

 

接下來調用Graph每個Plot屬性的部分另外設定個迴圈,迴圈執行次數和來源資料組數相同。我是儘可能減少在程式中調用元件屬性的次數,因為會影響程式的效率,調用時也是一次處理同一批相關屬性


以這程式來說:從上而下


1.指定要改變的Plot


2.改變Plot的顯示模式,設定為3,表示要使用直條圖模式


3.改變Plot的名稱


4.和5.改變Plot的顏色,這2個屬性要設定相同的顏色,這樣才不會出現奇怪的顯示結果


這部分完成的程式如下圖:

20120331-04  

 

 

整個程式如下圖:

20120331-02  

 

 

面板那邊Graph若資料筆數不定,X軸的名稱單位等數值字串全部取消顯示才不會奇怪,我放上的圖片中Graph的X軸文字是另外打的

20120331-01  

未出師的小工程師 發表在 痞客邦 PIXNET 留言(0) 人氣()