LabVIEW Разрешение в реальном времени - PullRequest
1 голос
/ 23 января 2012

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

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

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

Спасибо.

1 Ответ

1 голос
/ 10 июля 2012

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...