DAQ ASSISTANT и NI USB - подсчет импульсов
- mrpit
- beginner
- Сообщения: 20
- Зарегистрирован: 08 дек 2009, 01:13
- Версия LabVIEW: 8.5
- Откуда: Санкт-Петербург
- Контактная информация:
DAQ ASSISTANT и NI USB - подсчет импульсов
Здравствуйте, уважаемые участники форума! Прошу помочь со следующей проблемой.
Следующая ситуация. Есть датчик который подключен к Ni USB 6501. Используется драйвер DAQ MX для сопряжения данного модуля с компьютером. Датчик выдает на выходе количество импульсов. Для конкретики стоит газоанализатор, который выдает импульсы в зависимости от того, сколько через него прошло газа.
Я создал dev task (Digital Line Input) который и использую в компоненте DAQ Assistant в программе.
Получа на выходе этого DAQ данные (не очень понятно правда почему boolean array) преобразую их в числовой тип, смотрю ноль там или единица и прибавляю к общей сумме. Таким образом считаю количество импульсов постоянно. Но чувствую, что что-то делаю не так. Есть наверное какое то более правильное решение. К тому же возникла такая проблема. Я думал что когда на выходе датчика появляется импульс там просто устанавливается единица, а когда он исчезает то сбрасывается в ноль. А оказывается, что на выходе датчика просто изменяется постоянно значение, а если газ не проходит то просто остается последнее значение, то есть может быть и единица всегда.
Надеюсь описал более менее понятно. Не судите строго я только начинаю разбираться в LabView =)
Заранее спасибо.
Следующая ситуация. Есть датчик который подключен к Ni USB 6501. Используется драйвер DAQ MX для сопряжения данного модуля с компьютером. Датчик выдает на выходе количество импульсов. Для конкретики стоит газоанализатор, который выдает импульсы в зависимости от того, сколько через него прошло газа.
Я создал dev task (Digital Line Input) который и использую в компоненте DAQ Assistant в программе.
Получа на выходе этого DAQ данные (не очень понятно правда почему boolean array) преобразую их в числовой тип, смотрю ноль там или единица и прибавляю к общей сумме. Таким образом считаю количество импульсов постоянно. Но чувствую, что что-то делаю не так. Есть наверное какое то более правильное решение. К тому же возникла такая проблема. Я думал что когда на выходе датчика появляется импульс там просто устанавливается единица, а когда он исчезает то сбрасывается в ноль. А оказывается, что на выходе датчика просто изменяется постоянно значение, а если газ не проходит то просто остается последнее значение, то есть может быть и единица всегда.
Надеюсь описал более менее понятно. Не судите строго я только начинаю разбираться в LabView =)
Заранее спасибо.
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: DAQ ASSISTANT и NI USB - подсчет импульсов
Нужно разобраться с тем, какие именно импульсы выдаёт газовай анализатор. Видимо он запоминает последнее значение, но в каком виде он его выдаёт?
Boolean Array само собой понятно, т.к. ты используешь Digital I/O.
Boolean Array само собой понятно, т.к. ты используешь Digital I/O.
- mrpit
- beginner
- Сообщения: 20
- Зарегистрирован: 08 дек 2009, 01:13
- Версия LabVIEW: 8.5
- Откуда: Санкт-Петербург
- Контактная информация:
Re: DAQ ASSISTANT и NI USB - подсчет импульсов
А сделать это как? Экспериментальным путем как я понимаю?
И ещё тогда я вижу решение - запоминать последнее значение пришедшее на выходе и потом сравнивать его со следующим, если не совпадает то считаем, что это импульс пришел.
И ещё тогда я вижу решение - запоминать последнее значение пришедшее на выходе и потом сравнивать его со следующим, если не совпадает то считаем, что это импульс пришел.
- mrpit
- beginner
- Сообщения: 20
- Зарегистрирован: 08 дек 2009, 01:13
- Версия LabVIEW: 8.5
- Откуда: Санкт-Петербург
- Контактная информация:
Re: DAQ ASSISTANT и NI USB - подсчет импульсов
Уважаемые участники, очень прошу о помощи! У самого мыслей никаких что делать и куда двигаться.
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: DAQ ASSISTANT и NI USB - подсчет импульсов
Дело в том, что как я уже написал выше - непонятно что означают эти импульсы. Может быть это двоичный код, а может быть каждый позитивный и негативный порог нужно посчитывать (тогда подходит то, что ты написал выше). Кстати если это второе, то как узнать в какую сторону меняется значение?
В общем можно долго гадать, нужно внимательно прочитать документацию.
В общем можно долго гадать, нужно внимательно прочитать документацию.
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
- mrpit
- beginner
- Сообщения: 20
- Зарегистрирован: 08 дек 2009, 01:13
- Версия LabVIEW: 8.5
- Откуда: Санкт-Петербург
- Контактная информация:
Re: DAQ ASSISTANT и NI USB - подсчет импульсов
Всем здравствуйте снова!
Документации нормальной в интернете найти не могу, есть только рекламные листовки без конкретной информации по цифровому выходу (например вот ).
Может у кого-нибудь есть информация? Счетчик объема газа серии TG фирмы Ritter, данный счетчик подключается к NI USB-6501, затем к компьютеру.
Может кто подскажет как все таки вычислить количество импульсов или все таки где то в настройках указать.
Заранее спасибо.
Документации нормальной в интернете найти не могу, есть только рекламные листовки без конкретной информации по цифровому выходу (например вот ).
Может у кого-нибудь есть информация? Счетчик объема газа серии TG фирмы Ritter, данный счетчик подключается к NI USB-6501, затем к компьютеру.
Может кто подскажет как все таки вычислить количество импульсов или все таки где то в настройках указать.
Заранее спасибо.
-
mzu2006
- 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 - подсчет импульсов
Вот что нашлось. Я понял это так. Каждый оборот диска соответствует какому-то количеству газа. Каждый оборот диска вызывает короткий импульс. Значит количество импульсов - это объём прокачанного газа, производная от последнего - скорость.
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
- mrpit
- beginner
- Сообщения: 20
- Зарегистрирован: 08 дек 2009, 01:13
- Версия LabVIEW: 8.5
- Откуда: Санкт-Петербург
- Контактная информация:
Re: DAQ ASSISTANT и NI USB - подсчет импульсов
Так вот и встал вопрос как все же получить в программе данное количество импульсов: как я писал в начале топика я думал, что количество импульсов это количество пришедших единиц, что после того как пришел импульс выход сбрасывается в ноль, а он остается в той же единице если дальше нет импульсов. Или я чего то не понимаю и делаю неправильно?
-
mzu2006
- 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 - подсчет импульсов
Что такое "количество единиц" я не понимаю. Импульс, это перепад 1->0 и, следющий за ним, 0->1
В общем случае, считать надо количество перепадов 1->0 за которыми следует перепад 0->1
Но ввиду особенностей механической конструкции счетчика, 0->1 , будет следовать всегда за 1->0.
Значит считать можно количество любых фронтов (перепадов).
В общем случае, считать надо количество перепадов 1->0 за которыми следует перепад 0->1
Но ввиду особенностей механической конструкции счетчика, 0->1 , будет следовать всегда за 1->0.
Значит считать можно количество любых фронтов (перепадов).
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
- mrpit
- beginner
- Сообщения: 20
- Зарегистрирован: 08 дек 2009, 01:13
- Версия LabVIEW: 8.5
- Откуда: Санкт-Петербург
- Контактная информация:
Re: DAQ ASSISTANT и NI USB - подсчет импульсов
Я понимаю, что импульс - это перепад 1->0 и, следющий за ним, 0->1
Но в том то и проблема, что я сначало считал, что на выходе датчика если газ не проходит через датчик мы имеем 0, но оказалось что даже если газ не проходит, то на выходе может быть единица.
То есть вопрос в том, почему после прихода импульса не устанавливается предыдущее значение.
То есть, например, на выходе у нас был 0. Затем пришло несколько импульсов, дальше газ уже не поступает но на выходе осталась 1.
Не могу разобраться с этим.
Но в том то и проблема, что я сначало считал, что на выходе датчика если газ не проходит через датчик мы имеем 0, но оказалось что даже если газ не проходит, то на выходе может быть единица.
То есть вопрос в том, почему после прихода импульса не устанавливается предыдущее значение.
То есть, например, на выходе у нас был 0. Затем пришло несколько импульсов, дальше газ уже не поступает но на выходе осталась 1.
Не могу разобраться с этим.
Последний раз редактировалось mrpit 15 янв 2010, 16:44, всего редактировалось 1 раз.
-
mzu2006
- 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 - подсчет импульсов
1. Перечитал ещё раз описание, link на которое я поместил в своём предыдущем посте. Раздел Pulse Generator, подраздел Description. Такое может быть только, если диск либо стартовал в позиции, когда, свет проходит через одну из радиально расположенных дырок, либо, когда он в этой позиции остановился. Оба варианта imho довольно маловероятны, и уж точно должны происходить не часто. Приведи, пожалуйста, осциллограмму данных считанных с датчика. Я подозреваю, что либо где-то нарушается контакт, либо в буффер попадают лишние данные итд.mrpit писал(а):Но в том то и проблема, что я сначало считал, что на выходе датчика если газ не проходит через датчик мы имеем 0, но оказалось что даже если газ не проходит, то на выходе может быть единица.
То есть вопрос в том, почему после прихода импульса не устанавливается предыдущее значение.
То есть, например, на выходе у нас был 0. Затем пришло несколько импульсов, дальше газ уже не поступает но на выходе осталась 1.
2. В любом случае, речь идёт об 1 импульсе - погрешность не должна быть велика, и метод, предложенный Viktor обязан работать.
3. В плате есть встроенный счётчик. Я бы попытался использовать его, задав задание по подсчёту фронтов через тот же DAQ assistant.
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
- mrpit
- beginner
- Сообщения: 20
- Зарегистрирован: 08 дек 2009, 01:13
- Версия LabVIEW: 8.5
- Откуда: Санкт-Петербург
- Контактная информация:
Re: DAQ ASSISTANT и NI USB - подсчет импульсов
Хорошо как буду в лаборатории попробую использовать решение Victor'a, спасибо.
А как настроить DAQ assistant на использование встроенного счетчика?
А как настроить DAQ assistant на использование встроенного счетчика?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 4 Ответы
- 357 Просмотры
-
Последнее сообщение poisk
-
- 4 Ответы
- 605 Просмотры
-
Последнее сообщение Borjomy_1
-
- 4 Ответы
- 450 Просмотры
-
Последнее сообщение Eugene543210
-
- 4 Ответы
- 187 Просмотры
-
Последнее сообщение Embedder74