關於資料暫存問題..

請教一下各位先進

小弟寫了一個單純擷取來自電源供應器電壓訊號的程式,但在RUN的過程出現類似暫存資料不足的情形

之後出現這些訊息出來

 

Possible reason(s):

Attempted to read samples that are no longer available. The requested sample was previously available, but has since been overwritten.

Increasing the buffer size, reading the data more frequently, or specifying a fixed number of samples to read instead of reading all available samples might correct the problem.

Property: RelativeTo
Corresponding Value: Current Read Position
Property: Offset
Corresponding Value: 0

Task Name: _unnamedTask<0>

 

後來去翻書找了一下我就另外使用waveform chart去調整它的chart history length但還是出現相同的情況

但我又換回去waveform graph想了解設定部份我lose掉什麼還是...?請各位先進協助一下謝謝

test0302.vi![](upload://zgvRDBVrULNlclRQJtYd2gAYUu4.png)附上一下我的圖片跟程式

你的Build Table也要設顥示的buffer才行.

 

這個訊息跟 graph 或 chart 的記憶體無關 ... 是跟 DAQ 卡本身的 on-board memory 有關。

你的3秒 delay 把整個 while loop 拖慢了,讓迴圈無法即時從 DAQ 卡把資料搬出來,所以 DAQ 的 buffer 爆掉了。 

把 delay 拿掉試試看 ...

謝謝兩位大大,的確拿掉解決了這個問題...

但小弟需要擷取訊號時以後可能調整成5分鐘擷取一次,想請問不知道能不能繼續使用DELAY這部份而不影響到他的執行

 

基本上有兩個做法:

1. 用一個 loop,速度還是跑的很快 (例如 5ms),然後讓程式另外再計算每5分鐘觸發存檔的動作。

2. 用兩個loop加 local variable,一個loop跑快(例如 5ms),另外一個loop跑慢(5分鐘一次)

用 google 搜尋一下,論壇上已經有人做過嘍。

感恩~問題解決了,謝謝大大的提點