2012-01-23 3 views
1

Мы используем LabVIEW Real-Time с контроллером PXI-8110. У меня возникла следующая проблема: У меня есть цикл с периодом 500 мкс (цикл времени) и никакая другая задача. Я пишу время каждой итерации цикла в ram, а затем сохраняю данные послесловия. Необходимо, чтобы период был точным, но я вижу, что он составляет 500 мкс с +/- 25 мкс. Часы для синхронизированного контура составляют 1 МГц.LabVIEW Real Time Time Timed Loop resolution

Как можно получить 500 мкс - 25 мкс. Я бы понял, получаю ли 500 мкс + xx мкс, когда мое вычисление будет тяжелым. Но до сих пор я просто ничего не делаю.

Значит, кто-нибудь знает, что происходит не так? Я думал, что можно было бы разрешить 1μs как рекламу NI (если вычисление не так сильно).

Спасибо.

+0

Вы используете код на своем ПК или на PXI? – CookieOfFortune

+0

Мы запускаем код как самостоятельное приложение в системе PXI. – steffenmauch

ответ

1

Возможно, вам нужно проверить, в какой поток работает код. Более простой способ работы - использовать Timed Loop, так как это будет пытаться исправить перерасход. Также предварительно выделите массив, в который вы храните данные, и затем замените подмножество массива, каждое новое значение. Таким образом вы должны увидеть значительное улучшение. Если вы показываете это значение и работаете в режиме разработки, вы увидите джиттер + - время, когда вы сообщаете все обратно хосту. Создайте исполняемый файл, и снова дрожит сжатие.