NI產品與技術 討論區

取消
顯示結果 
搜尋替代 
您的意思是: 

求和出錯的問題,幫忙給看看,謝謝

已解決!
前往解決方案
採集到數據(二維數組)後,通過按行索引分離出電壓信號和電流信號,即2處所示
1處,表示每次while循環間隔的時間,循環一次採集一次數據,可通過它來設定採樣頻率
3處,表示一個求和過程,通過按照一定的倍數放大後求出瞬時電功率,0.02代表一個
小的時間段,然後求和算出總的能量
不知道這樣的運算思路行的通行不通?
還有一個問題,就是如果我把1處等待ms的整數倍即每次循環的時間間隔設定成不同的值,當然那個小得時間段也隨之修改,可是相同的時間內卻得出不同的值!!!我不知道是為什麼!!!設定的值越小即採樣的速度越快,反而能量越少........
有朋友能幫我看看嗎?????
謝謝
0 積分
1 條訊息(共 6 條)
5,098 檢視

aba711 您好, 

 

可否請您對以下1,2 多做解釋:

 

1.  3處,表示一個求和過程,通過按照一定的倍數放大後求出瞬時電功率,0.02代表一個
小的時間段,然後求和算出總的能量

 

2.  還有一個問題,就是如果我把1處等待ms的整數倍即每次循環的時間間隔設定成不同的值,當然那個小得時間段也隨之修改,可是相同的時間內卻得出不同的值!!!我不知道是為什麼!!!設定的值越小即採樣的速度越快,反而能量越少........

 

謝謝您

NITW AE

0 積分
2 條訊息(共 6 條)
5,054 檢視
首先先謝謝ForwardC 您的回复
以前的問題原因找到了
對應於原來2處的問題
因為我們對數據採集週期要求較高,上面這種方法
由於循環內部積分器的存在,延長了循環時間
但是當我設定數據採樣週期很小的時候,循環週期大於我的採樣週期,所以精度達不到了
現在我已經將這個結構改為基於隊列的數據採集
分成三個循環,分別做數據採集,數據處理和結果顯示
3處的問題:
我採集到的是電壓和電流值
目的是求出一段時間內的電能
因為電壓電流基本是恆定的直流源
所以我想先求出一個很小的時間段的電能,在把他們累加
0.02就是那個時間段
現在面對的問題主要是,由於循環本身運行佔用的時間不能忽略,如果想保證循環採樣的間隔是給定的值,必須能精確控制每一次循環開始時間,使得給定採樣間隔包含運行循環消耗的時間。
現在發現很多定時循環的方法和模塊給定的都是等待時間,這樣肯定會使得實際採樣間隔等於給定等待時間加上循環運行消耗時間,使實際採樣間隔變大,不能精確控制,請問怎樣才能解決這種問題呢?謝謝!
0 積分
3 條訊息(共 6 條)
5,038 檢視
解決方案
由主題作者所接受 aba711

您好,

關於一下的定義

"這樣肯定會使得實際採樣間隔等於給定等待時間加上循環運行消耗時間"

 

實際採樣時間和循環運行消耗的時間是沒有關係的

在迴圈中, 假設您使用的是 DAQ 的儀器, DAQ read.vi的功能只是將在電腦 Buffer 中的值讀出, 而 Buffer 中資料來源的讀取速率,則是取決於您的採樣頻率

等待時間和循環運行消耗時間只會對DAQ read 的讀取速率有影響, 及影響您從 Buffer 中的讀取資料的速率

 

將您的程式改為三個循環, 是一個很好的做法, 不過要記住在回圈迴圈中要使用 variable 做資料的傳遞

 

倘若在您的第一個做採樣的循環中,讀取的速率很慢, 建議您盡量將此循環的程式精簡化

 

請問您使用的儀器是?

 

NITW AE

 

 

 

 

 

4 條訊息(共 6 條)
5,016 檢視
 ForwardC 您好:
用的研華的PCI1716L採集卡,現在修改方案了,不用軟件控制循環採集間隔了,改用採集卡上的定時採集,謝謝您的解答!
0 積分
5 條訊息(共 6 條)
5,005 檢視
還是建議您使用 NI DAQ 卡,支援服務會比較好。
0 積分
6 條訊息(共 6 條)
4,990 檢視