Мегаобучалка Главная | О нас | Обратная связь


Задание 1.3. Создание виртуального прибора генератора произвольной формы



2018-07-06 431 Обсуждений (0)
Задание 1.3. Создание виртуального прибора генератора произвольной формы 0.00 из 5.00 0 оценок




Создайте в среде LabVIEW с использованием функций VISA виртуальный прибор (ВП), работающий совместно с генератором.

ВП должен обладать следующими функциональными возможностями:

- вывод строки с полным названием прибора (команда *IDN?);

- выбор формы генерируемого сигнала (команда SOUR1:FUNC);

- установка частоты генерируемого сигнала (команда SOUR1:FREQ);

- установка амплитуды генерируемого сигнала (команда SOUR1:AMPL);

- установка постоянного смещения генерируемого сигнала (команда SOUR1:DCO).

Примерный вид лицевой панели ВП приведен на рисунке5. Лицевая панель разработанного виртуального прибора генератора произвольной формы должна содержать те же функциональные элементы, что и лицевая панель на рисунке 5.

 

Рисунок 5 – Эталон лицевой панели, на который ориентируются при создании ВП для управления генератором

Части блок-диаграммы разработанного виртуального прибора для управления генератором сигналов произвольной формы GWINTEKAFG-72125 представлены на рисунках 6-20.

 

Рисунок 6 – Инициализация виртуального порта

 

В качестве имени ресурса VISAможно задать имя, присвоенное самой утилитой MAXдляGWINTEKAFG-72125 при его конфигурации. Но можно использовать и псевдоним, который указал пользователь в утилите MAXв диалоговом окне настроек свойств GWINTEKAFG-72125. Также в данной части программы задаются параметры инициализации виртуального порта: скорость передачи данных, размерность посылки, проверка на чётность, устанавливается стоп-бит. Также установлено отсутствие проверки в конце посылаемой строки символа конца строки.

 

Рисунок 7 – Запись команды идентификации в виртуальный порт

 

Запись команды *IDN? происходит вместе с записью символа возврата каретки на начало строки. Две строки (*IDN? и символ возврата каретки) объединяются в массив, состоящий из двух строк и одного столбца. Сначала в порт отправляется команда *IDN?, а затем пустая строка, начинающаяся с самого начала. Это делают для того, чтобы при последующей записи в порт новой команды в отправляемой строке не содержалось лишних символов.

Рисунок 8 – Задержка, организованная для того, чтобы команда *IDN? успела дойти до устройства

 

Задержка также необходима для того, чтобы устройство успело прислать ответ в порт, откуда произошла передача команды-запроса идентификации *IDN?.

 

Рисунок 9 – Чтение отклика устройства, являющегося ответом на команду *IDN?

 

Поскольку команда *IDN? (как и любая команда, которая в конце сообщения содержит символ вопроса) является командой, после выполнения которой устройство обязательно пошлёт ответ в порт, имя которого было указано при отправке команды *IDN? – то обязательно надо организовать чтение данных из указанного порта. При этом необходимо прочитать некоторое количество байт, которое содержит информацию об ответе. Для определения необходимого числа байт можно воспользоваться функцией «BytesatPort», которая считывает число байт, хранимых в буфере указанного порта. После этого считанное число байта и имя читаемого порта отправляются на вход функции «VISAREAD», на нижнем выходе которой содержится прочитанное число байтов ответа от симулятора, ответ представлен в виде одномерной строки.

Если бы в качестве команды посылалась строка, не содержащая в конце символа вопроса (те команды, которые не подразумевают обратной связи от устройства) – тогда бы не требовалось организовывать чтение данных из порта, а можно было сразу послать новую команду в устройство для её выполнения.

Рисунок 10 – Отправка команды SOUR1:FUNCNOISна установку выбранной пользователем стандартной формы сигнала (выбран шумовой сигнал)

 

После идентификации устройства, программа посылает в качестве команды требование – установить устройству такую стандартную форму сигнала, которую затребовал пользователь. Пользователю предоставляется на выбор четыре типа сигнала: синусоидальный (SIN), меандр (SQU), пила (RAMP), шум (NOISE). Поскольку программа не знает, какую форму выберет пользователь –каждому выбору соответствует своё событие в структуре CASE. Выбору синусоидальной формы сигнала соответствует появлению 0 на входе CASE, что приводит к активации события 0 структуры; выбор меандра – это появление 1 на входе CASE, что приводит к активации события 1 структуры; выбор пилы – это появление 2 на входе CASE, что приводит к активации события 2 структуры; выбор шума – это появление 3 на входе CASE, что приводит к активации события 3 структуры. На рисунке 10 показана часть диаграммы, где была выбрано событие, соответствующее выбору шумового сигнала. На рисунках 11-13 представлены части блок-диаграммы, соответствующие выбору синуса, меандра и пилы.

 

Рисунок 11 – Событие, соответствующее выбору синусоидального сигнала, отправка команды SOUR1:FUNCSIN

 

Рисунок 12 – Событие, соответствующее выбору сигнала-меандра, отправка командыSOUR1:FUNCSQU

Рисунок 13 – Событие, соответствующее выбору сигнала-пилы, отправка команды SOUR1:FUNCRAMP

 

Рисунок 14 – Задержка, организованная для того, чтобы командаSOUR1:FUNC{SIN|SQU|RAMP|NOIS}успела дойти до устройства

 

Рисунок 15 – Отправка команды SOUR1:FREQ {<frequency>}на установку частоты сигнала стандартной формы

 

Изначально неизвестно, какую частоту задаст пользователь. Перебрать все частоты с помощью CASEнереально, поэтому используется две строки, которые затем объединяются в одну. Первая строка содержит детерминированную часть команды (SOUR1:FREQ), а вторая строка содержит само значение частоты, которое пользователь вводит на лицевой панели ВП.

Рисунок 16 – Задержка, организованная для того, чтобы командаSOUR1:FREQ {<frequency>}успела дойти до устройства

 

Рисунок 17 – Отправка команды SOUR1:AMPL {<amplitude>}на установку частоты сигнала стандартной формы

 

Изначально неизвестно, какую амплитуду задаст пользователь. Перебрать все значения амплитуд (от 1 милливольта до 5 вольт с шагом 1 милливольт, диапазон и шаг определены в соответствии с метрологическими характеристиками, указанными в спецификации на генератор сигналов произвольной формы) с помощью CASEнереально, поэтому используется две строки, которые затем объединяются в одну. Первая строка содержит детерминированную часть команды (SOUR1:AMPL), а вторая строка содержит само значение амплитуды, которое пользователь вводит на лицевой панели ВП. По умолчанию в генераторе значение амплитуды установлено равным 100 милливольтам. В самой же программе ВП значение амплитуды по умолчанию было выбрано равным 5 вольтам.

Помимо аргумента <amplitude>, функция также может принимать следующие значения аргумента: MINили MAX. При отправке команды SOUR1:AMPLMINгенератор установит амплитуду сигнала в самое минимальное значение – это 1 милливольт. Если же отправить команду SOUR1:AMPLMAX – генератор установит амплитуду сигнала в самое максимальное значение, равное 5 вольтам.

Рисунок 18 –Задержка, организованная для того, чтобы команда SOUR1:AMPL {<amplitude>}успела дойти до устройства

 

Рисунок 19 – Отправка командыSOUR1:DCO{<offset>} на установку смещенияуровня постоянного напряжения сигнала стандартной формы

 

Изначально неизвестно, какое смещение уровня постоянного напряжения выберет пользователь. Перебрать все значения смещения (от - 5 вольт до + 5 вольт с шагом 1 милливольт, диапазон и шаг определены в соответствии с метрологическими характеристиками, указанными в спецификации на генератор сигналов произвольной формы) с помощью CASEнереально, поэтому используется две строки, которые затем объединяются в одну. Первая строка содержит детерминированную часть команды (SOUR1:DCO), а вторая строка содержит само значение смещения уровня постоянного напряжения, которое пользователь вводит на лицевой панели ВП. По умолчанию в генераторе значение смещения установлено равным 0 вольтам, такое же значение по умолчанию выбрано и в программе ВП.

Помимо аргумента <offset>, функция также может принимать следующие значения аргумента: MINили MAX. При отправке команды SOUR1:DCOMINгенератор установит смещение уровня постоянного напряжения сигнала в самое минимальное значение – это – 5 вольт. Если же отправить команду SOUR1:DCOMAX – генератор установит смещение сигнала в самое максимальное значение, равное + 5 вольтам.

Рисунок 20 – Закрытие виртуального порта

 

На рисунке 21 представлена лицевая панель разработанного ВП. По функциональности онасоответствует эталону лицевой панели, представленному на рисунке 5.

 

Рисунок 21 – Лицевая панель разработанного ВП для управления генератором сигналов произвольной формы GWINSTEKAFG-72125

 



2018-07-06 431 Обсуждений (0)
Задание 1.3. Создание виртуального прибора генератора произвольной формы 0.00 из 5.00 0 оценок









Обсуждение в статье: Задание 1.3. Создание виртуального прибора генератора произвольной формы

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (431)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)