Измерение длительности между импульсами на цифровых входах
-
- beginner
- Сообщения: 10
- Зарегистрирован: 25 фев 2016, 11:27
- Версия LabVIEW: 2014
- Контактная информация:
Измерение длительности между импульсами на цифровых входах
Добрый день! подскажите, пожалуйста!!! необходимо измерить длительность между импульсами на цифровых входах Р0.1 и Р0.2. как я понимаю, для начала необходимо отловить эти импульсы, а затем каким-то образом измерить длительность. Задачу решаю с помощью пакета DAQmx.
сначала пробовала решать с помощью триггеров, но плата NI PCI-6259 не поддерживает триггеры. далее на ум пришла такая штука как Change Detection (отлавливатель сигнала). вроде бы все хорошо, только отлавливает он неправильно. два вопроса: как отловить сигналы? как измерить длительность между импульсами?
Пожалуйста, подскажите...всю голову сломала уже!
сначала пробовала решать с помощью триггеров, но плата NI PCI-6259 не поддерживает триггеры. далее на ум пришла такая штука как Change Detection (отлавливатель сигнала). вроде бы все хорошо, только отлавливает он неправильно. два вопроса: как отловить сигналы? как измерить длительность между импульсами?
Пожалуйста, подскажите...всю голову сломала уже!
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Измерение длительности между импульсами на цифровых вход
Можно сделать прием данных этих двух каналов на максимальной скорости этих двух каналов. Далее принятые массивы анализировать на фронты (т.е. d<d[i+1]) и, соответственно длительность между импульсами будет разницей индексов найденых фронтов, деленной на частоту сбора
-
- beginner
- Сообщения: 10
- Зарегистрирован: 25 фев 2016, 11:27
- Версия LabVIEW: 2014
- Контактная информация:
Re: Измерение длительности между импульсами на цифровых вход
Borjomy_1, Не понимаю как сделать это в labview - "прием данных этих двух каналов на максимальной скорости этих двух каналов" ??? Как это реализовать программно.
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 175 раз
- Контактная информация:
Re: Измерение длительности между импульсами на цифровых вход
Плата 6259 содержит 32 10-мегагерцовых цифровых линии.Elena_frz писал(а):Borjomy_1, Не понимаю как сделать это в labview - "прием данных этих двух каналов на максимальной скорости этих двух каналов" ??? Как это реализовать программно.
Топорный вариант: на двум каналам организовать таймированный сбор данных, полученные массивы анализировать по предложенному алгоритму 0->1->0
Примерно так (ищите примеры, там вариации) Т.к. опрос таймированный, dt между значениями фиксирован и известен.
Менее топорно на мой взгляд поколдовать со счётчиками. Есть функция измерения времени между фронтами импульсов двух разных входов. Попробуйте её Ну или поколдовать с таймерами. А что значит, что триггеры не работают? Как так? Вот пуск-стоп-сброс таймера по триггеру был бы вполне уместен, если предыдущий вариант не заработает.
-
- beginner
- Сообщения: 10
- Зарегистрирован: 25 фев 2016, 11:27
- Версия LabVIEW: 2014
- Контактная информация:
Re: Измерение длительности между импульсами на цифровых вход
Artem.spb, спасибо, возьму на вооружение! Когда запускаю задачу с триггером, вылетает ошибка "Specified property is not supported by the device or is not applicable to the task"!!! Пока пробую решить задачу с помощью Change Detection.
- Вложения
-
- Длительность импульса.vi
- (24.46 КБ) 364 скачивания
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 175 раз
- Контактная информация:
Re: Измерение длительности между импульсами на цифровых вход
Можете скинуть ваш с триггерами?
Приложенный вариант (Change Detection) в данном случае не подходит, потому что опрос осуществляется программно, а не аппаратно. Так что время появления фронта вы узнаете очень примерно (с погрешностью 100 мс).
Приложенный вариант (Change Detection) в данном случае не подходит, потому что опрос осуществляется программно, а не аппаратно. Так что время появления фронта вы узнаете очень примерно (с погрешностью 100 мс).
-
- beginner
- Сообщения: 10
- Зарегистрирован: 25 фев 2016, 11:27
- Версия LabVIEW: 2014
- Контактная информация:
Re: Измерение длительности между импульсами на цифровых вход
Artem.spb, вот программа с триггером!
- Вложения
-
- Триггер.vi
- (23.77 КБ) 331 скачивание
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 175 раз
- Контактная информация:
Re: Измерение длительности между импульсами на цифровых вход
если я правильно понял, вам надо то, что на картинке?
но по триггеру с такой маской вы словите данные ПОСЛЕ того, как первый сигнал станет 0, а второй 1, никакой предыстории там нет, так что вычислить длительность не получится, даже если бы такая конфигурация работала.-
- beginner
- Сообщения: 10
- Зарегистрирован: 25 фев 2016, 11:27
- Версия LabVIEW: 2014
- Контактная информация:
Re: Измерение длительности между импульсами на цифровых вход
Artem.spb, Вы поняли правильно. наверное стоит поиграть с таймер. может подкинете идейку?
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 175 раз
- Контактная информация:
Re: Измерение длительности между импульсами на цифровых вход
два варианта я предложил 16 июл 2016, 01:21.
Сейчас у меня мало времени на эксперименты, поэтому детально что-то посоветовать не могу.
Сейчас у меня мало времени на эксперименты, поэтому детально что-то посоветовать не могу.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 3 Ответы
- 2065 Просмотры
-
Последнее сообщение PozhiloyGoblin