Проблема блока приема данных DAQ Assistance

Новости мира инженеров
Ответить
DRUP2008
interested
interested
Сообщения: 5
Зарегистрирован: 28 мар 2013, 10:59
Версия LabVIEW: 2010
Контактная информация:

Проблема блока приема данных DAQ Assistance

Сообщение DRUP2008 »

Блок приема данных DaQ Assistance позволяет принимать сигналы согласно задаваемой в нем изначально выборке (соотношение количества сэмплов и частоты). Если необходимо непосредственно в режиме реального времени принимать определенные 2 сигнала (например, ток и напряжение), обрабатывать их (например, рассчитывать энергию ) и в определенный момент времени по оператору достижения определенного значения энергии нам необходимо прекратить прием сигналов и перейти на следующий цикл, то какие операторы необходимо задействовать? Этот вопрос связан с тем, что обычный блок приема данных DAQ Assistance не позволяет в режиме реального времени принимать сигнал и тут же его обрабатывать, т.е. после приема сигнала, например, на частоте приема 1кГц и 1000 сэмплах выборка приема сигнала составляет 1 с. Т.е., какой бы дальше не шел расчет, он будет обсчитывать ровно 1 с сигнала и раньше не при каком условии не перепрыгнет на следующий цикл.

Пожалуйста, подскажите что делать. В долгу не останусь!
Аватара пользователя
Super Star
adviser
adviser
Сообщения: 228
Зарегистрирован: 07 фев 2013, 08:37
Версия LabVIEW: 2011

Re: Проблема блока приема данных DAQ Assistance

Сообщение Super Star »

Спасибо за отличную новость!
я люблю свою работу.... Я приду сюда в субботу ...
Аватара пользователя
Andrew Lunev

Activity Professionalism
VIP
VIP
Сообщения: 957
Зарегистрирован: 11 дек 2010, 12:31
Награды: 2
Версия LabVIEW: 2014-2021
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 10 раз

Re: Проблема блока приема данных DAQ Assistance

Сообщение Andrew Lunev »

DRUP2008 писал(а):Пожалуйста, подскажите что делать. В долгу не останусь!
Сначала прочитать книжку "LabVIEW для всех", потом очень желательно пройти курс "Системы сбора данных" в NI. Потом уже приступать к программированию.
Ну а если хотите обрабатывать сигнал по одной точке выборки, то и поставьте длину выборки равной одной точке. Тогда на частоте 1кГц будете получать по одной точке тысячу раз в секунду. Только боюсь, что производительности всей этой связки не хватит, чтобы работать на такой частоте по одной точке.
DRUP2008
interested
interested
Сообщения: 5
Зарегистрирован: 28 мар 2013, 10:59
Версия LabVIEW: 2010
Контактная информация:

Re: Проблема блока приема данных DAQ Assistance

Сообщение DRUP2008 »

Проблема не в том, что я не читал эту элементарную книжку. Проблема в том, что в конкретной созданной блок-диаграмме необходимо одновременно и принимать 2 сигнала и обрабатывать их (а в нужный момент прекращать расчет, т.е. прерывать прием сигналов), а блок DAQ Assistance после приема сигналов на расчет отправляет определенную по длительности выборку, которую вы задаете ее изначально в блоке DAQ. Если задать 1 сэмпл в измерение, то и на расчет будет отправляться выборка, соответствущая одному сэмплу. Какой бы дальше не шел расчет, этот расчет будет производится на одном сэмпле выборки. В книгах по LABVIEW ничего не сказано про возможность замены блока приема сигналов DAQ Assistance на какой либо другой блок, который позволил бы принимать, обрабатывать и прекращать расчет сигналов в нужный момент (реальное время), а не ждать, пока пройдет вся заданная выборка.
DRUP2008
interested
interested
Сообщения: 5
Зарегистрирован: 28 мар 2013, 10:59
Версия LabVIEW: 2010
Контактная информация:

Re: Проблема блока приема данных DAQ Assistance

Сообщение DRUP2008 »

Главный вопрос: "Есть ли в более поздних версиях LABVIEW возможность замены принимающего сигналы блока DAQ Assistance на другие блоки, в которых не надо было бы задавать выборку приема сигнала и которые бы снимали сигналы постоянно с момента включения, и чтобы прием можно было прервать в определенный момент времени".
Я конечно не самый продвинутый пользователь LABVIEW, но если у кого то есть решение или предложение, то помогите. Это же не самый сложный вопрос. Мне не поможет в конкретной ситуации агитация каких-то курсов и т.д. Важно решение в конкретном случае.
Аватара пользователя
Vasiliy Baev

Activity Gold Bronze
leader
leader
Сообщения: 545
Зарегистрирован: 31 окт 2011, 09:02
Награды: 4
Версия LabVIEW: 2019
Откуда: Санкт-Петербург
Благодарил (а): 8 раз
Поблагодарили: 10 раз
Контактная информация:

Re: Проблема блока приема данных DAQ Assistance

Сообщение Vasiliy Baev »

DRUP2008, Ваша программа должна состоять из блоков
1. DAQmx Create Virtual Chanel
В нем Вы указываете параметры канала: физический адрес, диапазон,..
2. DAQmx timing
Тут указывается режим сбора! Либо забираем данные пачкой (используется при больших частотах, для оптимизации расхода ресурсов на обработку), либо собираем 1 точку. В этом блоке указываются и другие параметры, вся информация в хелпе.
3. DAQmx Start Task
4. Блок чтения (в цикле while)
5. Блок закрытия задачи после цикла.

Полученные данные лучше отправлять по очереди в цикл обработки, а далее вывод на экран.
С телефона программу нарисовать не могу:-)
Последний раз редактировалось Vasiliy Baev 29 мар 2013, 08:32, всего редактировалось 1 раз.
Аватара пользователя
alerm

Activity
leader
leader
Сообщения: 682
Зарегистрирован: 02 май 2012, 21:28
Награды: 1
Версия LabVIEW: 20
Благодарил (а): 57 раз
Поблагодарили: 9 раз
Контактная информация:

Re: Проблема блока приема данных DAQ Assistance

Сообщение alerm »

1) что делает данная тема в этом разделе?
2) чем, собственно, не устраивает выборка длиной в 1 семпл?

одновременно принимать и обрабатывать невозможно, не ломайте причинно-следственные связи
сперва принимаем, потом обрабатываем

берем цикл -> загоняем туда DAQ Assistance или DAQmx Read -> берем по одному семплу -> с простой обработкой цикл будет совершать итерацию за 4-5 мс -> будет казаться что непрерывно -> по определенному триггеру завершаем цикл -> вуаля?
Аватара пользователя
Andrew Lunev

Activity Professionalism
VIP
VIP
Сообщения: 957
Зарегистрирован: 11 дек 2010, 12:31
Награды: 2
Версия LabVIEW: 2014-2021
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 10 раз

Re: Проблема блока приема данных DAQ Assistance

Сообщение Andrew Lunev »

DRUP2008 писал(а):Проблема не в том, что я не читал эту элементарную книжку.
А вы ее читали, чтобы решать в этом проблема или нет?
DRUP2008 писал(а):В книгах по LABVIEW ничего не сказано про возможность замены блока приема сигналов DAQ Assistance на какой либо другой блок, который позволил бы принимать, обрабатывать и прекращать расчет сигналов в нужный момент (реальное время), а не ждать, пока пройдет вся заданная выборка.
В этих книжках как раз написано, что DAQ Assistant реализует лишь очень малую часть возможностей по сбору данных. И для тех, кому его мало надо использовать :vi: из палитры DAQmx, с ней можно реализовать практически все, что может плата. Как же вы читали книжку, но никогда не слышали про DAQmx?
DRUP2008
interested
interested
Сообщения: 5
Зарегистрирован: 28 мар 2013, 10:59
Версия LabVIEW: 2010
Контактная информация:

Re: Проблема блока приема данных DAQ Assistance

Сообщение DRUP2008 »

В данной книжке описано создание виртуальных каналов приема данных в NI MAX на ломаном языке, понятном, скорее всего, только программистам, но, так как я не являюсь программистом, то меня интересует решение ситуации: "У меня создана блок-диаграмма: 1. DAQ Assistant, принимающий 2 независимых аналоговых сигнала напряжения с датчиков тока и напряжения; 2. С выхода блока DAQ Assistant далее идет канал с принятыми сигналами на блок расчета энергии, в котором стоит оператор сравнения с требуемым значением энергии, по достижении которой блок DAQ Assistance должен выключиться или должен начаться следующий цикл в кадре в нужный момент времени (достижение требуемой энергии), а не после выдержки всех принятых сэмплов, заданных при приеме сигнала. Я не могу понять основную последовательность и необходимость создания виртуальных каналов в DAQmx Create channel, т.к. в литературе она не описана. В книгах говориться только кратко о том, что создаются виртуальные каналы, а как вывести индикацию с них сигналов и обработать их дальше, увязать с DAQmx Time и DAQmx Start Task, ничего не сказано". Главная причина моего непонимания в том, что нигде нет подробного объяснения, чем принципиально отличается DAQmx Create channel от DAQ Assistance и на каком поле работать с блоками DAQmx. При работе с DAQ Assistance все просто - создал новый Blanc VI, нажал Show block diagram, вставил на поле блок DAQ Assistance, настроил его, нажал ОК, далее с его выхода DAta вывел поток сигналов и дальше вставил расчет, например, энергии вместе с индикаторами, графиками и т.д. Блок DAQmx можно добавить на это же поле, но в его настройки можно зайти только при создании какого-то проекта и виртуального канала".
Может быть кто-нибудь сможет внятно объяснить, в чем суть DAQmx.
Аватара пользователя
Andrew Lunev

Activity Professionalism
VIP
VIP
Сообщения: 957
Зарегистрирован: 11 дек 2010, 12:31
Награды: 2
Версия LabVIEW: 2014-2021
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 10 раз

Re: Проблема блока приема данных DAQ Assistance

Сообщение Andrew Lunev »

LabView - язык программирования. Чтобы в нем писать (рисовать) все равно надо знать основы программирования, от этого никуда не уйдешь. И нужно знать сам язык. В курсе "Системы сбора данных" 80% посвящено как раз построению систем измерений с помощью функций DAQmx. Если не хотите на курсы идти, то хотя бы поищите в инете учебник по этим курсами почитайте его. В книге "LabVIEW для всех" 11 глава полностью посвящена функциям DAQmx с их подробным описанием. Не понимаю как вы ищите, но не находите.
Объяснять на форуме, как работают эти функции это практически переписать учебник. Никто здесь это делать не будет.

Если хотите, чтобы вам помогли, то выложите код, который уже написали. Укажите, что в нем работает не так, как вам хочется.
Аватара пользователя
Vasiliy Baev

Activity Gold Bronze
leader
leader
Сообщения: 545
Зарегистрирован: 31 окт 2011, 09:02
Награды: 4
Версия LabVIEW: 2019
Откуда: Санкт-Петербург
Благодарил (а): 8 раз
Поблагодарили: 10 раз
Контактная информация:

Re: Проблема блока приема данных DAQ Assistance

Сообщение Vasiliy Baev »

Краткое описание функций DAQmx на английском http://www.ni.com/white-paper/2835/en
Для перехода между этапами/состояниями приложения используйте Конечный автомат - State machine

Код: Выделить всё

Питер Блюм "LabVIEW: Стиль программирования" стр. 283
Основы LabVIEW Часть 1 стр. 199
http://www.caitoctroy.ru/labview.html?start=119
DRUP2008
interested
interested
Сообщения: 5
Зарегистрирован: 28 мар 2013, 10:59
Версия LabVIEW: 2010
Контактная информация:

Re: Проблема блока приема данных DAQ Assistance

Сообщение DRUP2008 »

Всем спасибо за советы.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Новости»