Работа с ElvisII - генератор сигналов произвольной формы

Простейшие вопросы в области инженерной разработки
Ответить
pakanpak
interested
interested
Сообщения: 5
Зарегистрирован: 30 мар 2017, 20:34
Версия LabVIEW: 16
Контактная информация:

Работа с ElvisII - генератор сигналов произвольной формы

Сообщение pakanpak »

Добрый день, форумчане!

Хотел обратиться к вам за помощью, может кто натолкнет в нужное русло или выдаст очевидный ответ, который я не вижу.
Итак, что у меня имеется и что мне нужно. Есть стенд ElvisII с ЦАП и экспрессВИ "Генератор сигналов произвольной формы". Очевидно, что он нужен для генерации сигналов нетривиальной формы. Но загвоздка в том, что генерировать очередной сигнал он должен не постоянно, а по запросу (в простейшем случае по таймеру).

Я начал осваивать язык LV совсем недавно и многих, даже самых очевидных, хитростей не знаю. Я набросал простую схемку.
Слева два цикла For формируют массив точек, из которых и будет сформирован сигнал необходимой формы. Записывается массив точек в генератор единожды. Справа цикл While для работы виртуального осциллографа, по большому счету его можно оставить пустым, а к выходным каналам ЦАП подключить реальный осциллограф.

Проблема, которую я не решил. Как организовать переменное включение/выключение генератора? В цикл while ведь он не лезет... :help:

Спасибо за ответы!
PS. Это моя первая тема на форуме. Если накосячил с оформлением или подачей информации - сильно не пинайте, буду исправляться :wink:
Вложения
AGW.jpg
Artem.spb

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

Re: Работа с ElvisII - генератор сигналов произвольной формы

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

Лень смотреть, что внутри функций элвиса, но что знаит " В цикл while ведь он не лезет."?
Функцию в цикл и вперёд.
pakanpak
interested
interested
Сообщения: 5
Зарегистрирован: 30 мар 2017, 20:34
Версия LabVIEW: 16
Контактная информация:

Re: Работа с ElvisII - генератор сигналов произвольной формы

Сообщение pakanpak »

Artem.spb, не все так просто... Или просто, но я не понимаю. Вот цикл, при старте выдает ошибку
Вложения
Ошибка.png
Аватара пользователя
Andrew Lunev

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

Re: Работа с ElvisII - генератор сигналов произвольной формы

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

Все верно написано в описании ошибки и это верно не только для Элвиса, но и для всех плат ввода/вывода от NI. Если действительно хотите генератор произвольной формы сделать и чтобы менялись параметры сигнала во время генерации, то экспресс приборами пользоваться не получится, надо обычные VI использовать. Как именно использовать и в чем отличие буферов памяти на плате и в программе лучше всего почитать в учебном курсе NI "Системы сбора данных", раздел аналогового вывода.
pakanpak
interested
interested
Сообщения: 5
Зарегистрирован: 30 мар 2017, 20:34
Версия LabVIEW: 16
Контактная информация:

Re: Работа с ElvisII - генератор сигналов произвольной формы

Сообщение pakanpak »

Andrew Lunev, спасибо за развернутый ответ. Правильно я понимаю, что я не только не смогу менять параметры, но и включать/выключать этот генератор во время выполнения программы без изменения параметров?
Аватара пользователя
Andrew Lunev

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

Re: Работа с ElvisII - генератор сигналов произвольной формы

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

Скорее всего не сможете. С Элвисом я очень давно и мало работал, особенностей не помню. Но смысл в том, что вы сначала в буфер платы помещаете свой сигнал и потом запускаете задачу и генерируется сигнал на основе этих данных из платы. Гененируется сигнал по кругу, пока не остановите задачу. Экспресс прибор сложней задачу сделать не даст. То есть подгрузить новый сигнал в буфер нельзя.
Если нужно менять параметры сигнала налету без остановки задачи, то надо в реальном времени готовить новую порцию сигнала и подгружать ее в буфер, пока из буфера генерируется старый сигнал. Это делается с использованием функций более низкого уровня, чем экспресс приборы. С их помощью можно и триггеры добавить и аппаратные и программные. Или просто амплитуду сигнала в ноль вывести, чем не приостановка генерации?
Включать/выключать генерацию с экспресс приборами это запускать и останавливать задачу генерации. То есть практически перезапускать каждый раз вашу программу. Если необходима непрерывная генерация, то в моменты перезапуска будут разрывы в осциллограмме. Без использования экспресс приборов можно сделать генерацию без разрывов.
Еще можно использовать буфер не на плате Элвиса, а в памяти компьютера, про это и написано в описании ошибки. Но тут узким местом становится USB, он должен успеть перекинуть данные из оперативки в плату и нет гарантий, что форма сигнала будет такой, какой нужно. Получается аппаратное тактирование генерации в плате заменяется программным тактированием и еще под Windows. Шаг по времени будет плавать...
pakanpak
interested
interested
Сообщения: 5
Зарегистрирован: 30 мар 2017, 20:34
Версия LabVIEW: 16
Контактная информация:

Re: Работа с ElvisII - генератор сигналов произвольной формы

Сообщение pakanpak »

Andrew Lunev, "Если нужно менять параметры сигнала налету без остановки задачи, то надо в реальном времени готовить новую порцию сигнала и подгружать ее в буфер, пока из буфера генерируется старый сигнал. Это делается с использованием функций более низкого уровня, чем экспресс приборы. С их помощью можно и триггеры добавить и аппаратные и программные. Или просто амплитуду сигнала в ноль вывести, чем не приостановка генерации?" - не могли бы Вы посоветовать литературу или статьи на эту тему?
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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