DAQ ASSISTANT и NI USB - подсчет импульсов

Простейшие вопросы в области инженерной разработки
Аватара пользователя
mrpit
beginner
beginner
Сообщения: 20
Зарегистрирован: 08 дек 2009, 01:13
Версия LabVIEW: 8.5
Откуда: Санкт-Петербург
Контактная информация:

DAQ ASSISTANT и NI USB - подсчет импульсов

Сообщение mrpit »

Здравствуйте, уважаемые участники форума! Прошу помочь со следующей проблемой.
Следующая ситуация. Есть датчик который подключен к Ni USB 6501. Используется драйвер DAQ MX для сопряжения данного модуля с компьютером. Датчик выдает на выходе количество импульсов. Для конкретики стоит газоанализатор, который выдает импульсы в зависимости от того, сколько через него прошло газа.
Я создал dev task (Digital Line Input) который и использую в компоненте DAQ Assistant в программе.
Получа на выходе этого DAQ данные (не очень понятно правда почему boolean array) преобразую их в числовой тип, смотрю ноль там или единица и прибавляю к общей сумме. Таким образом считаю количество импульсов постоянно.
111.jpg
forum_help_daq.vi
(55.56 КБ) 189 скачиваний
Но чувствую, что что-то делаю не так. Есть наверное какое то более правильное решение. К тому же возникла такая проблема. Я думал что когда на выходе датчика появляется импульс там просто устанавливается единица, а когда он исчезает то сбрасывается в ноль. А оказывается, что на выходе датчика просто изменяется постоянно значение, а если газ не проходит то просто остается последнее значение, то есть может быть и единица всегда.

Надеюсь описал более менее понятно. Не судите строго я только начинаю разбираться в LabView =)
Заранее спасибо.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: DAQ ASSISTANT и NI USB - подсчет импульсов

Сообщение Eugen Graf »

Нужно разобраться с тем, какие именно импульсы выдаёт газовай анализатор. Видимо он запоминает последнее значение, но в каком виде он его выдаёт?
Boolean Array само собой понятно, т.к. ты используешь Digital I/O.
Аватара пользователя
mrpit
beginner
beginner
Сообщения: 20
Зарегистрирован: 08 дек 2009, 01:13
Версия LabVIEW: 8.5
Откуда: Санкт-Петербург
Контактная информация:

Re: DAQ ASSISTANT и NI USB - подсчет импульсов

Сообщение mrpit »

А сделать это как? Экспериментальным путем как я понимаю?
И ещё тогда я вижу решение - запоминать последнее значение пришедшее на выходе и потом сравнивать его со следующим, если не совпадает то считаем, что это импульс пришел.
Аватара пользователя
mrpit
beginner
beginner
Сообщения: 20
Зарегистрирован: 08 дек 2009, 01:13
Версия LabVIEW: 8.5
Откуда: Санкт-Петербург
Контактная информация:

Re: DAQ ASSISTANT и NI USB - подсчет импульсов

Сообщение mrpit »

Уважаемые участники, очень прошу о помощи! У самого мыслей никаких что делать и куда двигаться.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: DAQ ASSISTANT и NI USB - подсчет импульсов

Сообщение Eugen Graf »

Дело в том, что как я уже написал выше - непонятно что означают эти импульсы. Может быть это двоичный код, а может быть каждый позитивный и негативный порог нужно посчитывать (тогда подходит то, что ты написал выше). Кстати если это второе, то как узнать в какую сторону меняется значение?
В общем можно долго гадать, нужно внимательно прочитать документацию.
Аватара пользователя
mrpit
beginner
beginner
Сообщения: 20
Зарегистрирован: 08 дек 2009, 01:13
Версия LabVIEW: 8.5
Откуда: Санкт-Петербург
Контактная информация:

Re: DAQ ASSISTANT и NI USB - подсчет импульсов

Сообщение mrpit »

А копать в документации к датчикам или к Ni USB?
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: DAQ ASSISTANT и NI USB - подсчет импульсов

Сообщение Eugen Graf »

Нет, цифровой итерфейс газового анализатора.
Аватара пользователя
mrpit
beginner
beginner
Сообщения: 20
Зарегистрирован: 08 дек 2009, 01:13
Версия LabVIEW: 8.5
Откуда: Санкт-Петербург
Контактная информация:

Re: DAQ ASSISTANT и NI USB - подсчет импульсов

Сообщение mrpit »

Всем здравствуйте снова!
Документации нормальной в интернете найти не могу, есть только рекламные листовки без конкретной информации по цифровому выходу (например вот
21.pdf
(206.12 КБ) 170 скачиваний
).
Может у кого-нибудь есть информация? Счетчик объема газа серии TG фирмы Ritter, данный счетчик подключается к NI USB-6501, затем к компьютеру.

Может кто подскажет как все таки вычислить количество импульсов или все таки где то в настройках указать.

Заранее спасибо.
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: DAQ ASSISTANT и NI USB - подсчет импульсов

Сообщение mzu2006 »

Вот что нашлось. Я понял это так. Каждый оборот диска соответствует какому-то количеству газа. Каждый оборот диска вызывает короткий импульс. Значит количество импульсов - это объём прокачанного газа, производная от последнего - скорость.
Аватара пользователя
mrpit
beginner
beginner
Сообщения: 20
Зарегистрирован: 08 дек 2009, 01:13
Версия LabVIEW: 8.5
Откуда: Санкт-Петербург
Контактная информация:

Re: DAQ ASSISTANT и NI USB - подсчет импульсов

Сообщение mrpit »

Так вот и встал вопрос как все же получить в программе данное количество импульсов: как я писал в начале топика я думал, что количество импульсов это количество пришедших единиц, что после того как пришел импульс выход сбрасывается в ноль, а он остается в той же единице если дальше нет импульсов. Или я чего то не понимаю и делаю неправильно?
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: DAQ ASSISTANT и NI USB - подсчет импульсов

Сообщение mzu2006 »

Что такое "количество единиц" я не понимаю. Импульс, это перепад 1->0 и, следющий за ним, 0->1
В общем случае, считать надо количество перепадов 1->0 за которыми следует перепад 0->1
Но ввиду особенностей механической конструкции счетчика, 0->1 , будет следовать всегда за 1->0.
Значит считать можно количество любых фронтов (перепадов).
Аватара пользователя
mrpit
beginner
beginner
Сообщения: 20
Зарегистрирован: 08 дек 2009, 01:13
Версия LabVIEW: 8.5
Откуда: Санкт-Петербург
Контактная информация:

Re: DAQ ASSISTANT и NI USB - подсчет импульсов

Сообщение mrpit »

Я понимаю, что импульс - это перепад 1->0 и, следющий за ним, 0->1
Но в том то и проблема, что я сначало считал, что на выходе датчика если газ не проходит через датчик мы имеем 0, но оказалось что даже если газ не проходит, то на выходе может быть единица.
То есть вопрос в том, почему после прихода импульса не устанавливается предыдущее значение.
То есть, например, на выходе у нас был 0. Затем пришло несколько импульсов, дальше газ уже не поступает но на выходе осталась 1.
Не могу разобраться с этим. :dntknw:
Последний раз редактировалось mrpit 15 янв 2010, 16:44, всего редактировалось 1 раз.
Аватара пользователя
Viktor

Activity Professionalism Tutorials Black
expert
expert
Сообщения: 1408
Зарегистрирован: 23 мар 2008, 10:56
Награды: 4
Версия LabVIEW: 2020
Откуда: Санкт-Петербург
Благодарил (а): 17 раз
Поблагодарили: 3 раза
Контактная информация:

Re: DAQ ASSISTANT и NI USB - подсчет импульсов

Сообщение Viktor »

Используй Boolean Crossing PtByPt.vi
Снимок.PNG
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: DAQ ASSISTANT и NI USB - подсчет импульсов

Сообщение mzu2006 »

mrpit писал(а):Но в том то и проблема, что я сначало считал, что на выходе датчика если газ не проходит через датчик мы имеем 0, но оказалось что даже если газ не проходит, то на выходе может быть единица.
То есть вопрос в том, почему после прихода импульса не устанавливается предыдущее значение.
То есть, например, на выходе у нас был 0. Затем пришло несколько импульсов, дальше газ уже не поступает но на выходе осталась 1.
1. Перечитал ещё раз описание, link на которое я поместил в своём предыдущем посте. Раздел Pulse Generator, подраздел Description. Такое может быть только, если диск либо стартовал в позиции, когда, свет проходит через одну из радиально расположенных дырок, либо, когда он в этой позиции остановился. Оба варианта imho довольно маловероятны, и уж точно должны происходить не часто. Приведи, пожалуйста, осциллограмму данных считанных с датчика. Я подозреваю, что либо где-то нарушается контакт, либо в буффер попадают лишние данные итд.

2. В любом случае, речь идёт об 1 импульсе - погрешность не должна быть велика, и метод, предложенный Viktor обязан работать.

3. В плате есть встроенный счётчик. Я бы попытался использовать его, задав задание по подсчёту фронтов через тот же DAQ assistant.
Аватара пользователя
mrpit
beginner
beginner
Сообщения: 20
Зарегистрирован: 08 дек 2009, 01:13
Версия LabVIEW: 8.5
Откуда: Санкт-Петербург
Контактная информация:

Re: DAQ ASSISTANT и NI USB - подсчет импульсов

Сообщение mrpit »

Хорошо как буду в лаборатории попробую использовать решение Victor'a, спасибо.
А как настроить DAQ assistant на использование встроенного счетчика?
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»