2012-01-23 81 views
1

我們將LabVIEW Real-Time與PXI-8110控制器配合使用。 我面臨以下問題: 我有一個500μs週期時間(時間循環)的循環,沒有其他任務。我將每次循環迭代的時間寫入ram,然後保存數據後續字。 有必要確定這段時間,但我發現它的誤差爲500μs,誤差爲+/-25μs。 定時循環的時鐘爲1 MHz。LabVIEW實時定時循環分辨率

怎麼可能有500μs - 25μs。我會理解,如果我的計算是沉重的時候得到500μs+ xxμs。但直到現在,我只是做了一個額外的事情。

那麼有沒有人有線索發生了什麼問題? 我認爲NI廣告可以有1μs的分辨率(如果計算不是很重)。

謝謝。

+0

您是在PC上還是在PXI上運行代碼? – CookieOfFortune

+0

我們在PXI系統上運行代碼作爲獨立應用程序。 – steffenmauch

回答

1

您可能需要檢查代碼在哪個線程中工作。更簡單的工作方式是使用定時循環,因爲它會嘗試並糾正超限。還要預先分配存儲數據的數組,然後將每個新值替換爲數組子集。你應該看到這種方式的巨大改進。 如果您顯示該值並且正在開發模式下運行,則您會在將所有內容報告回主機時看到抖動+ - 時間。構建可執行文件並再次抖動會縮小。