各位LabVIEW的先知們好:
小弟我有個問題困擾著
就是小弟我目前使用Graph來顯示資料曲線
作法是~
先把擷取到的資料作成矩陣報表~
然後在將資料從報表中讀出並畫在Graph上
如下圖~
![]()
但是這有個問題就是...隨著資料比數越多...LabVIEW就會花更多時間去讀取這些資料
導致我的資料擷取時間降低
我想使用Chart畫資料曲線~這樣就不用讀取報表的資料也能畫曲線圖了
只是說...我目前還不很了解Chart的X軸資料要如何設定成進行時間?
我的X軸是顯示已進行的時間 而不是現在的時間
如下圖~是顯示從00:00~42:19的資料曲線
表示已進行了42分鐘左右
![]()
請教各位先知們~
Chart的X軸可以設定成上圖這樣子嗎?
Graph可以有辦法設定讓它可像Chart會自動記錄前面的曲線呢??
Chart可自行設定X軸與Y軸嗎?
或是有其他方法可避免因資料筆數過多而拖長擷取時間的方法嗎?
謝謝~
問題一: Chart的X軸可以設定成上圖這樣子嗎?
==> 在chart圖上按右鍵 >> Properties
點選 Display Format 後,設定如圖一紅色圈圈處
即可將 x 軸轉成時間的表示方式
Waveform x 軸的設定方式也如此方法
問題二: Graph可以有辦法設定讓它可像Chart會自動記錄前面的曲線呢??
==> 使用shift register + build array 2種功能
可將之前的資料整合成 Array 後再一同輸出,效果即會類似 Chart 一樣,參閱圖二
問題三: Chart可自行設定X軸與Y軸嗎?
==> 同問題一的方式設定
參考看看這個小程式是否對你有幫助 程式: chart_waveform.vi
圖一

圖二

elvistu40356.0345138889
可以嘗試利用 Time Loop 固定擷取時間最為擷取回圈以及搭配queue工具將另外使用兩個迴圈作為顯示迴圈與結束偵測迴圈,作業平行,但時序非同步,如果不是很care即時同步顯示,其實這樣應該可以解決擷取拖慢的問題!至於chart好像有顯示筆數的設定,不曉得最大可以顯示幾筆!
如果只是要顯示趨勢圖。
可以考慮用TMDS格式存入原始資料,並用固定大小暫存buff的方式來顯示最新一段資料。
或是利用取樣的方式來顯示曲線趨勢,例如:如果一段曲線是由50000筆資料,可以用5000筆資料取樣畫出來。
以上是在寫高速DAQ時遇到相似問題時所使用的方式。