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

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

Postby Elena_frz on 15 Jul 2016, 09:07

Добрый день! подскажите, пожалуйста!!! необходимо измерить длительность между импульсами на цифровых входах Р0.1 и Р0.2. как я понимаю, для начала необходимо отловить эти импульсы, а затем каким-то образом измерить длительность. Задачу решаю с помощью пакета DAQmx.
сначала пробовала решать с помощью триггеров, но плата NI PCI-6259 не поддерживает триггеры. далее на ум пришла такая штука как Change Detection (отлавливатель сигнала). вроде бы все хорошо, только отлавливает он неправильно. два вопроса: как отловить сигналы? как измерить длительность между импульсами?
Пожалуйста, подскажите...всю голову сломала уже!
Elena_frz
beginner
beginner
 
Posts: 10
Joined: 25 Feb 2016, 11:27
LabVIEW Version: 2014
Karma: 0

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

Postby Borjomy_1 on 15 Jul 2016, 09:44

Можно сделать прием данных этих двух каналов на максимальной скорости этих двух каналов. Далее принятые массивы анализировать на фронты (т.е. d[i]<d[i+1]) и, соответственно длительность между импульсами будет разницей индексов найденых фронтов, деленной на частоту сбора
Borjomy_1
expert
expert
 
Posts: 1756
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 309
VIP

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

Postby Elena_frz on 15 Jul 2016, 11:59

Borjomy_1, Не понимаю как сделать это в labview - "прием данных этих двух каналов на максимальной скорости этих двух каналов" ??? Как это реализовать программно.
Elena_frz
beginner
beginner
 
Posts: 10
Joined: 25 Feb 2016, 11:27
LabVIEW Version: 2014
Karma: 0

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

Postby Artem.spb on 16 Jul 2016, 00:21

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

Плата 6259 содержит 32 10-мегагерцовых цифровых линии.
Топорный вариант: на двум каналам организовать таймированный сбор данных, полученные массивы анализировать по предложенному алгоритму 0->1->0
Примерно так (ищите примеры, там вариации)
DI_cont.png

Т.к. опрос таймированный, dt между значениями фиксирован и известен.

Менее топорно на мой взгляд поколдовать со счётчиками. Есть функция измерения времени между фронтами импульсов двух разных входов. Попробуйте её
DI_edge.png


Ну или поколдовать с таймерами. А что значит, что триггеры не работают? Как так? Вот пуск-стоп-сброс таймера по триггеру был бы вполне уместен, если предыдущий вариант не заработает.
Artem.spb
expert
expert
 
Posts: 1194
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 213
CLD hardware I/O VIP freelance

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

Postby Elena_frz on 18 Jul 2016, 09:22

Artem.spb, спасибо, возьму на вооружение! Когда запускаю задачу с триггером, вылетает ошибка "Specified property is not supported by the device or is not applicable to the task"!!! Пока пробую решить задачу с помощью Change Detection.
Attachments
Длительность импульса.vi
(24.46 KiB) Downloaded 96 times
Elena_frz
beginner
beginner
 
Posts: 10
Joined: 25 Feb 2016, 11:27
LabVIEW Version: 2014
Karma: 0

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

Postby Artem.spb on 18 Jul 2016, 22:31

Можете скинуть ваш :vi: с триггерами?
Приложенный вариант (Change Detection) в данном случае не подходит, потому что опрос осуществляется программно, а не аппаратно. Так что время появления фронта вы узнаете очень примерно (с погрешностью 100 мс).
Artem.spb
expert
expert
 
Posts: 1194
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 213
CLD hardware I/O VIP freelance

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

Postby Elena_frz on 25 Jul 2016, 09:52

Artem.spb, вот программа с триггером!
Attachments
Триггер.vi
(23.77 KiB) Downloaded 91 times
Elena_frz
beginner
beginner
 
Posts: 10
Joined: 25 Feb 2016, 11:27
LabVIEW Version: 2014
Karma: 0

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

Postby Artem.spb on 29 Jul 2016, 15:41

если я правильно понял, вам надо то, что на картинке?
Untitled-1.png

но по триггеру с такой маской вы словите данные ПОСЛЕ того, как первый сигнал станет 0, а второй 1, никакой предыстории там нет, так что вычислить длительность не получится, даже если бы такая конфигурация работала.
Artem.spb
expert
expert
 
Posts: 1194
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 213
CLD hardware I/O VIP freelance

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

Postby Elena_frz on 29 Jul 2016, 16:13

Artem.spb, Вы поняли правильно. наверное стоит поиграть с таймер. может подкинете идейку?
Elena_frz
beginner
beginner
 
Posts: 10
Joined: 25 Feb 2016, 11:27
LabVIEW Version: 2014
Karma: 0

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

Postby Artem.spb on 01 Aug 2016, 17:10

два варианта я предложил 16 июл 2016, 01:21.
Сейчас у меня мало времени на эксперименты, поэтому детально что-то посоветовать не могу.
Artem.spb
expert
expert
 
Posts: 1194
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 213
CLD hardware I/O VIP freelance

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

Postby Elena_frz on 02 Aug 2016, 09:07

Artem.spb, за идею спасибо! :thank:
Elena_frz
beginner
beginner
 
Posts: 10
Joined: 25 Feb 2016, 11:27
LabVIEW Version: 2014
Karma: 0


Return to Готовые комплексы сбора данных

Who is online

Users browsing this forum: No registered users and 2 guests

cron