Измерение длительности между импульсами на цифровых входах

Ответить
Elena_frz
beginner
beginner
Сообщения: 10
Зарегистрирован: 25 фев 2016, 11:27
Версия LabVIEW: 2014
Контактная информация:

Измерение длительности между импульсами на цифровых входах

Сообщение Elena_frz »

Добрый день! подскажите, пожалуйста!!! необходимо измерить длительность между импульсами на цифровых входах Р0.1 и Р0.2. как я понимаю, для начала необходимо отловить эти импульсы, а затем каким-то образом измерить длительность. Задачу решаю с помощью пакета DAQmx.
сначала пробовала решать с помощью триггеров, но плата NI PCI-6259 не поддерживает триггеры. далее на ум пришла такая штука как Change Detection (отлавливатель сигнала). вроде бы все хорошо, только отлавливает он неправильно. два вопроса: как отловить сигналы? как измерить длительность между импульсами?
Пожалуйста, подскажите...всю голову сломала уже!
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Измерение длительности между импульсами на цифровых вход

Сообщение Borjomy_1 »

Можно сделать прием данных этих двух каналов на максимальной скорости этих двух каналов. Далее принятые массивы анализировать на фронты (т.е. d<d[i+1]) и, соответственно длительность между импульсами будет разницей индексов найденых фронтов, деленной на частоту сбора
Elena_frz
beginner
beginner
Сообщения: 10
Зарегистрирован: 25 фев 2016, 11:27
Версия LabVIEW: 2014
Контактная информация:

Re: Измерение длительности между импульсами на цифровых вход

Сообщение Elena_frz »

Borjomy_1, Не понимаю как сделать это в labview - "прием данных этих двух каналов на максимальной скорости этих двух каналов" ??? Как это реализовать программно.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Измерение длительности между импульсами на цифровых вход

Сообщение Artem.spb »

Elena_frz писал(а):Borjomy_1, Не понимаю как сделать это в labview - "прием данных этих двух каналов на максимальной скорости этих двух каналов" ??? Как это реализовать программно.
Плата 6259 содержит 32 10-мегагерцовых цифровых линии.
Топорный вариант: на двум каналам организовать таймированный сбор данных, полученные массивы анализировать по предложенному алгоритму 0->1->0
Примерно так (ищите примеры, там вариации)
DI_cont.png
Т.к. опрос таймированный, dt между значениями фиксирован и известен.

Менее топорно на мой взгляд поколдовать со счётчиками. Есть функция измерения времени между фронтами импульсов двух разных входов. Попробуйте её
DI_edge.png
Ну или поколдовать с таймерами. А что значит, что триггеры не работают? Как так? Вот пуск-стоп-сброс таймера по триггеру был бы вполне уместен, если предыдущий вариант не заработает.
Elena_frz
beginner
beginner
Сообщения: 10
Зарегистрирован: 25 фев 2016, 11:27
Версия LabVIEW: 2014
Контактная информация:

Re: Измерение длительности между импульсами на цифровых вход

Сообщение Elena_frz »

Artem.spb, спасибо, возьму на вооружение! Когда запускаю задачу с триггером, вылетает ошибка "Specified property is not supported by the device or is not applicable to the task"!!! Пока пробую решить задачу с помощью Change Detection.
Вложения
Длительность импульса.vi
(24.46 КБ) 362 скачивания
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Измерение длительности между импульсами на цифровых вход

Сообщение Artem.spb »

Можете скинуть ваш :vi: с триггерами?
Приложенный вариант (Change Detection) в данном случае не подходит, потому что опрос осуществляется программно, а не аппаратно. Так что время появления фронта вы узнаете очень примерно (с погрешностью 100 мс).
Elena_frz
beginner
beginner
Сообщения: 10
Зарегистрирован: 25 фев 2016, 11:27
Версия LabVIEW: 2014
Контактная информация:

Re: Измерение длительности между импульсами на цифровых вход

Сообщение Elena_frz »

Artem.spb, вот программа с триггером!
Вложения
Триггер.vi
(23.77 КБ) 330 скачиваний
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Измерение длительности между импульсами на цифровых вход

Сообщение Artem.spb »

если я правильно понял, вам надо то, что на картинке?
Untitled-1.png
но по триггеру с такой маской вы словите данные ПОСЛЕ того, как первый сигнал станет 0, а второй 1, никакой предыстории там нет, так что вычислить длительность не получится, даже если бы такая конфигурация работала.
Elena_frz
beginner
beginner
Сообщения: 10
Зарегистрирован: 25 фев 2016, 11:27
Версия LabVIEW: 2014
Контактная информация:

Re: Измерение длительности между импульсами на цифровых вход

Сообщение Elena_frz »

Artem.spb, Вы поняли правильно. наверное стоит поиграть с таймер. может подкинете идейку?
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Измерение длительности между импульсами на цифровых вход

Сообщение Artem.spb »

два варианта я предложил 16 июл 2016, 01:21.
Сейчас у меня мало времени на эксперименты, поэтому детально что-то посоветовать не могу.
Elena_frz
beginner
beginner
Сообщения: 10
Зарегистрирован: 25 фев 2016, 11:27
Версия LabVIEW: 2014
Контактная информация:

Re: Измерение длительности между импульсами на цифровых вход

Сообщение Elena_frz »

Artem.spb, за идею спасибо! :thank:
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Готовые комплексы сбора данных»