Может кто чего посоветует...
NI-6009 имеет счетчик поддерживает только подсчет фронтов и только on Demand, никаких Continues и измерений частоты. А мне как раз частота нужна.
Поэтому решила количество спадающих фронтов поделить на прошедшее время и в результате получится частота. Все бы ничего, только измерянная частота не стабильна.
На входе меандр от генератора 500 Гц, на индикаторе скачки от 496 до 504 Гц. Замена While Loop на Timed Loop не помогла, поэтому для более приемлемого результата усредняю последние 5 значений.
Подобной проблемы не наблюдается при использовании более продвинутых счетчиков поддерживающих прямое измерение частоты в тех же 6212 например.
По сути стабильнось времени в цикле не должно влиять на результат. Ведь я делю количество импульсов с момента последнего измерения на прошедшее время. Если будет большее время, то будет большее количество импульсов. Возможно я чего-то недопонимаю?
Измерение частоты с помощью NI-6009
-
Borjomy_1
- doctor

- Сообщения: 2305
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 33 раза
- Поблагодарили: 34 раза
Re: Измерение частоты с помощью NI-6009
С этим модулем вычислять частоту можно только через АЦП. т.е собирая данные с максимальной частотой (вроде, 10 кГц) и прогоняя через Фурье. Гарантированно получите достаточно высокую и прогнозируемую точность. Для 1 сек измерения это 0.02%
-
jane_wild
- leader

- Сообщения: 545
- Зарегистрирован: 30 июн 2016, 02:11
- Награды: 1
- Версия LabVIEW: 2020
- Благодарил (а): 107 раз
- Поблагодарили: 23 раза
- Контактная информация:
Re: Измерение частоты с помощью NI-6009
Хорошая идея. А зачем Фурье, думаю что Single Tone Info... должен помочь. Учитывая что 6009 кроме измерения частоты ничего делать не будет и единственный канал можно сэмплировать до максимально возможных 48kHz Нужно будет попробовать.
Life is short. Smile while you still have teeth!
-
IvanLis
- guru

- Сообщения: 5652
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 35 раз
- Поблагодарили: 122 раза
Re: Измерение частоты с помощью NI-6009
Там FFT в основе как раз и лежит.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение Картинку или Файл
Как добавить в сообщение Видео
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение Картинку или Файл
Как добавить в сообщение Видео
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
jane_wild
- leader

- Сообщения: 545
- Зарегистрирован: 30 июн 2016, 02:11
- Награды: 1
- Версия LabVIEW: 2020
- Благодарил (а): 107 раз
- Поблагодарили: 23 раза
- Контактная информация:
Re: Измерение частоты с помощью NI-6009
Чтобы не плодить темы, решила спросить тут. Необходимо измерять частоту вращения двигателя. Использую счетчик NI 6212. (Аналоговый вход не рассматривается)
Когда вал не вращается, импульсов нет и возникает ошибка -200474 (timeout). Думала очистив ее, при возникновении импульсов работа восстановиться.
Не тут то было, DAQmx read возращает упомянутую ошибку, пока не перезапустишь задачу. Можно поставить в качестве таймаута -1, но тогда как остановить VI?
Ведь DAQmx read будет ждать импульсов вечно....
Что посоветуете?
Когда вал не вращается, импульсов нет и возникает ошибка -200474 (timeout). Думала очистив ее, при возникновении импульсов работа восстановиться.
Не тут то было, DAQmx read возращает упомянутую ошибку, пока не перезапустишь задачу. Можно поставить в качестве таймаута -1, но тогда как остановить VI?
Ведь DAQmx read будет ждать импульсов вечно....
Что посоветуете?
Life is short. Smile while you still have teeth!
-
FredP
- user

- Сообщения: 75
- Зарегистрирован: 19 апр 2020, 01:22
- Версия LabVIEW: 2021
- Благодарил (а): 7 раз
- Поблагодарили: 14 раз
- Контактная информация:
Re: Измерение частоты с помощью NI-6009
Нужно установить таймаут на какую то низкую скорость, типа 1-10 Гц, ну и перезапускать задачу при ошибке таймаута. Как закрутится - перестанет выдавать ошибку. Измерения нормально работать будут в любом случае. Частота 1 оборот в 10 минут тоже же вращение? ;) Но она же явно не интересует.
-
jane_wild
- leader

- Сообщения: 545
- Зарегистрирован: 30 июн 2016, 02:11
- Награды: 1
- Версия LabVIEW: 2020
- Благодарил (а): 107 раз
- Поблагодарили: 23 раза
- Контактная информация:
Re: Измерение частоты с помощью NI-6009
Ну я собственно так и сделала. Вроде как работает. Оставила таймаут по умолчанию 10 сек. Решила что незачем перезапускать задачу каждую секунду.
Просто я думала что может есть более элегантное решение. Пробовала используя счетчик считать фронты и вычислять скорость, а также использовать аналоговый вход, как постами выше. В обоих случаях погрешность слишком велика. А вот конфигурация счетчика на измерение частоты - то что нужно. Вот думаю модифицировать и запускать задачу по цифровому входу, ну типа контактор на пуск мотора сработал - запустила задачу, остановили мотор - остановили и задачу....
Просто я думала что может есть более элегантное решение. Пробовала используя счетчик считать фронты и вычислять скорость, а также использовать аналоговый вход, как постами выше. В обоих случаях погрешность слишком велика. А вот конфигурация счетчика на измерение частоты - то что нужно. Вот думаю модифицировать и запускать задачу по цифровому входу, ну типа контактор на пуск мотора сработал - запустила задачу, остановили мотор - остановили и задачу....
Life is short. Smile while you still have teeth!
-
FredP
- user

- Сообщения: 75
- Зарегистрирован: 19 апр 2020, 01:22
- Версия LabVIEW: 2021
- Благодарил (а): 7 раз
- Поблагодарили: 14 раз
- Контактная информация:
Re: Измерение частоты с помощью NI-6009
Куда уж элегантнее - две виайки и один кейс. Если это работает - значит это не глупо. Ну и "Если работает - не трожь" ;)
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение