線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2310
推到 Plurk!
推到 Facebook!

利用NI DAQ作連續資料擷取並畫在Chart上的問題

答題得分者是:friendlly
north96
一般會員


發表:1
回覆:1
積分:0
註冊:2008-05-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-05-04 16:34:58 IP:140.112.xxx.xxx 訂閱
各位好
我的設備是一片NI的DAQ卡,我引用了NI官方所提供給VC的程式來寫連續資料擷取的程式
在VC下是可以順利擷取到資料,BCB下也是成功的
但是缺點就是整個程式主控權會被留在連續擷取的這個程式中
而我的目的是想利用BCB的chart元件畫出所擷取出的資料(像是示波器效果)

以下是我遇到的問題 :
1. 由於主控權會被抓住,所以我用thread寫抓取資料的程式
2. thread寫完後,資料可以被正常擷取,我是設定1秒取1000筆資料,然後再畫圖
可是在chart上會出現第一個1000筆資料和第二筆是不連續的

我知道是因為畫圖有延遲造成的,曾經想過將畫圖程式也寫成另外一個thread看是否會有相同的問題
但是thread和thread之間也有資料衝突的問題,所以就沒用了
在此想問問有這方面經驗的朋友,是如何克服這類的問題
謝謝,如果在發問上有任何不恰當,煩請提醒我,我會改進的
friendlly
高階會員


發表:22
回覆:144
積分:103
註冊:2003-04-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-05-16 09:27:56 IP:61.64.xxx.xxx 訂閱
既然已經發現問題是畫圖所導致
再抓取的時候預設儲存的Buffer開多一點
等你抓到第4筆or第5筆再去繪圖
也可在這時候嘗試開一個Thread 畫圖
north96
一般會員


發表:1
回覆:1
積分:0
註冊:2008-05-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-05-16 10:08:32 IP:140.112.xxx.xxx 訂閱
謝謝你的回應,我後來也是用你說的方法實現出來的,呵呵
只不過是開很大的陣列,後來會改成指標寫法讓BUFFER更大
但是這應該只是治標的方法,我預定會再改為讀完一定的資料
會改寫到硬碟去,呵呵
總之,感謝你的幫忙
系統時間:2017-12-18 9:22:25
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!