Технология проектирования виртуальных приборов




Для проектирования ВП в среде LabVIEW необходимо сформировать его лицевую панель и разработать блок-диаграмму. При формировании лицевой панели производится выбор и установка на ней элементов управления и индикации из палитры элементов данной панели. Аналогично при разработке блок-диаграммы производится выбор и установка на ней функциональных элементов и подпрограмм из палитры функций данной панели.

Установка каждого элемента на лицевой панели сопровождается появлением соответствующего терминала данных (terminal) на панели блок-диаграммы. Терминалы элементов управления представляют порты ввода информации в блок-диаграмму, а терминалы индикаторов – порты вывода информации из блок-диаграммы на лицевую панель. Для обработки введенной информации и программного управления параметрами и режимами работы элементов лицевой панели на панели блок-диаграммы размещаются необходимые константы, функции (Functions), подприборы (SubVI) и структуры (Structures), которые также имеют терминалы для ввода и вывода информации. Все перечисленные элементы представляют узлы (nodes) блок-диаграммы, которые соединяются с терминалами элементов управления и индикации и между собой линиями, называемыми проводниками (wires). В такой схеме через узлы в процессе обработки проходит поток данных (data flow), идущий по проводникам от входных терминалов к выходным. Узлы – это объекты на блок-диаграмме, которые имеют одно или более полей ввода/вывода данных и выполняют алгоритмические операции ВП. Они аналогичны операторам, функциям и подпрограммам текстовых языков программирования.

Таким образом, описанная технология формирования ВП является основой для потоковой модели обработки данных, когда поток данных входит (втекает) в узлы-источники, проходит через узлы обработки данных и выходит (вытекает) через узлы-приемники данных. При этом порядок обработки данных определяется целиком полнотой подхода данных к терминалам узлов. Такая концепция работы программы в LabVIEW существенно облегчает, по сравнению с текстовыми языками, разработку многозадачных и многопоточных программ.

Терминалы данных имеют прямоугольную форму и содержат буквенно-графическое обозначение, характеризующее тип и форму представления воспринимаемых ими данных. Таким образом, по виду терминала можно определить – является ли он источником или приемником данных, какие типы данных он воспринимает – числовые, логические или строковые, а для числовых – является ли число целым или вещественным. Для определения таких различий используются различия в толщине внешней рамки терминала и направлении треугольной стрелки внутри него, цвет терминала и буквенное или графическое обозначение. Кроме того, вид терминала можно определить и по содержанию контекстного меню.

В LabVIEW 7.0 введен еще один способ идентификации терминала, а именно отображение иконки соответствующего элемента. Такое отображение включается с помощью опции Отображать в виде иконки (View as Icon) контекстного меню терминала. В качестве примера можно сравнить вид терминала числового элемента ввода данных в форме с плавающей запятой одинарной точности в его традиционном представлении и в представлении в виде иконки . Однако представление в виде иконки приводит к потере пространства блок диаграммы, что не всегда удобно.

Перечень и вид терминалов элементов ввода/вывода данных LabVIEW 7.0 с характеристикой типа, цвета и значения по умолчанию приведен в следующей таблице.


 

Элемент управления Элемент индикации Тип данных Цвет Значение по умолчанию
Числовой с плавающей запятой одинарной точности Оранжевый 0,0
Числовой с плавающей запятой двойной точности Оранжевый 0,0
Числовой с плавающей запятой расширенной точности Оранжевый 0,0
Комплексный с плавающей запятой одинарной точности Оранжевый 0,0+i0,0
Комплексный с плавающей запятой двойной точности Оранжевый 0,0+i0,0
Комплексный с плавающей запятой расширенной точности Оранжевый 0,0+i0,0
Числовой байтовый со знаком Синий  
Числовой двухбайтовый со знаком Синий  
Числовой четырехбайтовый со знаком Синий  
Числовой байтовый без знака Синий  
Числовой двухбайтовый без знака Синий  
Числовой четырехбайтовый без знака Синий  
Нумерованный Синий -
<64,64>-битовая отметка времени   Дата и время (локальные)
Логический Зеленый FALSE
Строковый Розовый пустая строка
Массив – заключает тип данных в квадратные скобки и принимает цвет этого типа данных Различный -
Кластер – заключает разные типы данных. Кластерный тип данных имеет коричневый цвет, если все элементы кластера числовые и розовый, если элементы разных типов Коричневый или розовый -
Путь Морской волны <Не путь>
Динамический (Dynamic) – (Express VIs) Включает данные, связанные с сигналом и атрибутами, которые обеспечивают информацию о сигнале, такую как имя сигнала или дата и время получения данных. Фиолетовый  
Осциллограмма – кластер элементов, которые содержат дату, начальное время и интервал выборок сигнала Коричневый -
Ссылка Морской волны -
Вариант – включает имя элемента управления или индикатора, информацию о типе данных и сами данные Фиолетовый -
I/O name – передает имя канала платы сбора данных (DAQ), ресурсное имя VISA или логическое имя IVI с целью их конфигурации Фиолетовый -
Рисунок – отображает рисунок, который содержат линии, окружности, текст и другие графические элементы Синий -

Настройка параметров объектов лицевой панели (элементов управления и индикаторов) и терминалов блок-диаграммы производится с помощью контекстного меню опций и команд. Контекстное меню открывается с помощью щелчка ПКМ на объекте. Опции, входящие в состав контекстного меню, зависят от типа объекта. Вместе с тем, в состав контекстного меню многих объектов входит ряд одинаковых пунктов. Сочетание общего и индивидуального можно показать на примере контекстных меню числового элемента управления (слева) и его терминала (рис. 1.5).

Краткие пояснения к пунктам контекстного меню приведены в следующей таблице:

Видимые объекты (Visible Items) Позволяет показать или скрыть определенные элементы оформления, такие как ярлыки, заголовки, полосы прокрутки или соединительные терминалы.
Найти терминал (Find Terminal) LabVIEW находит и выделяет на блок-диаграмме терминал элемента лицевой панели.
Найти элемент управления (Find Control) LabVIEW находит и выделяет на лицевой панели элемент управления, имеющий заданный терминал на блок-диаграмме.
Заменить на индикатор (Change to Indicator) Позволяет заменить элемент управления лицевой панели на индикатор. Для индикатора аналогичный пункт выполняет обратное действие.
Сделать элемент управления невидимым (Hide Control) Позволяет сделать элемент управления невидимым. Для невидимого элемента аналогичный пункт меню выполняет обратное действие.
Описание и подсказка (Description and Tip) Позволяет описать объект и сделать подсказку к нему.
Создать (Create) Позволяет создать локальную переменную, узел свойств или ссылку.
Заменить(Replace) Позволяет входить в палитры панелей и заменять выбранный объект другим.
Операции с данными (Data Operations) Позволяет устанавливать текущие значения как значения по умолчанию, удалять, копировать и вставлять данные, устанавливать соединение DataSocket.
Дополнительно (Advanced) Позволяет производить тонкую настройку элементов управления и индикаторов.
Свойства(Properties) Позволяет выбрать диалоговое окно свойств объекта.

Следующие пункты данного контекстного меню являются специфическими для числовых элементов:

Представление (Representation) Позволяет выбрать и устанавливать тип представления числовых данных.
Диапазон данных (Data Range) Позволяет настраивать определенный действующий диапазон числовых значений и приращений данных.
Формат и точность(Format&Precision) Позволяет выбрать формат и точность представления данных.

Представление данных в LabVIEW включает следующие типы:

– повышенной точности – двойной точности – 32-битовый
– целочисленный 32-битовый со знаком – целочисленный 16-битовый со знаком –целочисленный 8-битовый со знаком
– целочисленный 32-битовый без знака – целочисленный 16-битовый без знака – целочисленный 8-битовый без знака
– комплексный повышенной точности – комплексный двойной точности –комплексный 32-битовый

Для логических элементов управления специфическим является пункт контекстного меню Механическое действие (Mechanical Action), определяющий характер срабатывания логического элемента при его нажатии. Варианты срабатывания приведены в таблице.

Изобра-жение Режим Действие
Включить при нажатии (Switch When Pressed) Значение изменяется при каждом щелчке по элементу инструментом управления.
Включить при отпускании (Switch When Released) Значение изменяется после отпускания кнопки мыши при каждом щелчке по элементу инструментом управления.
Включить до отпускания (Switch Until Released) Значение изменяется при щелчке и автоматически возвращается в исходное состояние после отпускания кнопки мыши.
Сработать при нажатии (Latch When Pressed) Значение изменяется при щелчке и автоматически возвращается в исходное состояние после однократного считывания виртуальным прибором нового значения.
Сработать при отпускании (Latch When Released) Значение изменяется после отпускания кнопки мыши и автоматически возвращается в исходное состояние после однократного считывания виртуальным прибором нового значения.
Сработать до отпускания (Latch Until Released) Значение изменяется при щелчке и возвращается в исходное состояние после однократного считывания виртуальным прибором нового значения или после отпускания кнопки мыши.

В меню настроек строковых элементов управления и индикаторов специфическим является раздел, определяющий вид отображения содержимого этих элементов. Интерпретация строк данного раздела меню приведена в таблице

Нормальное отображение (Normal Display) Позволяет отображать содержимое в том виде, в котором оно вводится с клавиатуры.
'\' Кодированное отображение (Codes Display) Позволяет принимать и отображать символы, которые являются неотображаемыми. Скрытые символы появляются в виде обратного слэша, за которым следует соответствующий код. Ниже в таблице приведены слэш-коды LabVIEW
Код Выполнение в LabVIEW
\00-\FF Шестнадцатеричное значение 8-битового символа, буквы должны быть заглавными.
\b Знак возврата на один символ назад (ASCII BS, эквивалент \08)
\f Знак смещения формы (ASCII FF, эквивалент \0С)
\n Новая строка (ASCII LF, эквивалент \0A)
\r Знак возврата каретки (ASCII CR, эквивалент 0D)
\t Табуляция (ASCII HT, эквивалент \09)
\s Пробел (эквивалент \20)
\\ Обратный слэш (ASCII \, эквивалент \5S)

 

Скрытое отображение (Password Display) Переводит элемент управления или отображения в режим показа "звездочки" вместо каждого введенного символа.
Шестнадцатеричное отображение (Hex Display) Преобразует строку алфавитно-цифровых знаков в шестнадцатеричные символы.
Ограничить до одной строки (Limit to Single Line) Выбор функции приводит к блокированию ввода символа "возврат каретки" и строка всегда остается единственной. Ввода символа "возврат каретки" приводит к автоматическому завершению ввода текста.
Обновлять значение во время ввода (Update Value While Typing) Выбор функции приводит к обновлению данных во время набора текста. Если эта строка не выбрана, то вводимый текст передается от элемента управления строками к его терминалу на блок-диаграмме только после щелчка мышью за пределами окна строки или по кнопке .

Наряду с терминалами элементов управления и отображения данных выделяют терминалы узлов, которые представляют поля ввода/вывода данных. Количество и тип терминалов узлов на панели блок-диаграммы можно определить по соединительной панели (connector panes) узла путем выбора строки контекстного меню Видимые элементыÞТерминалы (Visible ItemsÞTerminals). Так, например, схема терминалов функции Сложить (Add ) выглядит следующим образом . Выходы на соединительной панели функции выделяются более толстым контуром.

При подводе инструмента соединения к терминалу узла на всех его выводах появляются короткие отрезки проводов (stubs), а выбранная область терминала начинает мерцать. . При этом цвет и толщина отрезков проводов характеризует тип передаваемых через них данных.

Каждое соединение должно быть согласовано по типу выводов и по типу передаваемых и принимаемых данных. Согласование по типу выводов включает следующие аспекты:

· к линии передачи данных должен быть подключен только один источник;

· к одному источнику может быть подключено неограниченное число приемников данных;

· не допускается соединение одних приемников.

Нарушение правил соединения проявляется в сохранении пунктирной соединительной линии после окончания соединения и в разрыве кнопки запуска программы. Такое состояние в ряде случаев может быть легко устранено, например путем соединения одних приемников с источником данных. В других случаях может потребоваться анализ типов соединяемых выводов элементов.

Перемещение и удаление проводов производится так же как и любого другого объекта блок-диаграммы. При этом одиночный щелчок инструментом перемещения выделяет прямолинейный участок провода (сегмент), двойной щелчок выделяет весь провод с изгибами до первого узла (ветвь), тройной щелчок выделяет все провода разветвленного соединения. Удаление всех поврежденных (broken) проводов осуществляется с помощью выбора опции Удалить поврежденные проводники (Remove Broken Wires) в меню Правка или с помощью "горячей" клавиши <Ctrl-B>.

При сборке блок-диаграммы ВП помимо типа необходимо знать функциональное назначение всех выводов элементов, входящих в состав прибора. Информацию о назначении выводов можно получить с помощью окна Контекстная справка (Context Help), вызываемого с помощью опции СправкаÞПоказать контекстную справку (HelpÞShow Context Help), или с помощью инструмента соединения, подводимого к выводам. Назначение выводов подприбора можно определить, открыв его лицевую панель с помощью двойного щелчка на иконке подприбора или с помощью строки Открыть лицевую панель (Open Front Panel) контекстного меню.

Состав и схему расположения терминалов самого ВП на соединительной панели можно просмотреть, как было отмечено в разделе 1.1, с помощью выбора строки Показать соединительную панель (Show Connector) контекстного меню иконки ВП, находящейся в правом верхнем углу лицевой панели. Если после этого инструментом соединения последовательно выделять щелчком терминалы на соединительной панели, то на лицевой панели при этом пунктирной линией будут выделяться связанные с данным терминалом элементы. В режиме просмотра соединительной панели с помощью контекстного меню данной панели Этот вывод является.. (This Connection Is..)можно определить тип вывода – Обязательный (Required), Рекомендуемый (Recommended) или Необязательный (Optional). Подписи входов указанных типов отличаются форматированием текста в окне контекстной справки. Далее в справочнике при описании функций подписи к обязательным входам на рисунках функций выделены полужирным шрифтом, а текст пояснений к рекомендуемым и необязательным входам отличается уменьшенным размером шрифта.

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

Сам новый подприбор может быть сформирован из фрагмента блок-диаграммы разработанного ВП путем очерчивания инструментом перемещения прямоугольника, охватывающего элементы, которые должны быть включены в состав подприбора, и выбора строки меню ПравкаÞСоздать подприбор (EditÞCreate SubVI). Если после формирования подприбора сохранить его в папке библиотеки пользователя (\User.lib), то при новом запуске LabVIEW данная подпрограмма будет доступна в подпалитре Библиотеки пользователя (User Libraries) палитры функций панели блок-диаграммы.

Сохранение ВП производится с помощью одной из опций меню Файл. Опция Сохранить (Save) позволяет сохранить измененный ВП с сохранением имени и местоположения на диске или же сохранить новый ВП с указанием этих параметров в диалоговом окне. Опция Сохранить как (Save as) позволяет изменить имя ВП или его местоположение при сохранении, при этом исходная версия ВП на диске не изменяется. При выборе опции Сохранить с опциями (Save with Options) выводится диалоговое окно, в котором пользователь может выбрать ряд вариантов сохранения ВП.

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

Для отладки ВП в LabVIEW предусмотрены такие средства, как информационное окно Список ошибок (Error List), выводимое при нажатии неисправной кнопки Запуск (Run), кнопки пошагового выполнения, подсветка при выполнении программы (Execution Highlighting), инструменты Пробник (probe) и Точки останова (breakpoints).

На рисунке 1.6 показан вид блок-диаграммы ВП Использование вставляемых пробников (Using Supplied Probes) из набора примеров NI Example Finder LabVIEW. Установка пробников производится с помощью выбора опций Probe или Custom Probe контекстного меню провода. Ниже даны пояснения к пробникам различного типа.

Рис. 1.6 Вид блок-диаграммы ВП Использование вставляемых пробников (Using Supplied Probes)

1. Пробник ссылки ВП (VI Refnum Probe) Показывает путь ВП, путь владельца и числовую ссылку.

2. Пробник числа в форме I32 с условием (Conditional Signed32 Probe) Показывает числовые скалярные данные и обеспечивает точку останова по условию.

3. Пробник ссылки очереди строк (String Queue Refnum Probe) Показывает различную информацию об очереди, такую как имя и вставленные элементы.

4. Пробник картины (Picture Probe) Показывает картину.

5. Пробник масcива чисел в форме DBL с условием (Conditional Double Array Probe) Показывает числовой массив данных и обеспечивает точку останова по условию.

6. Пробник строки с условием (Conditional String Probe) Показывает строковые данные и обеспечивает точку останова по условию.

7. Пробник аналоговой осциллограммы (Analog Waveform Probe) Показывает график осциллограммы, набор данных и атрибуты осциллограммы.

8. Пробник ошибки с условием (Conditional Error Probe) Показывает статус ошибки, код и описание. Обеспечивает точку останова по условию.

9. Пробник данных динамического типа (Dynamic Data Type Probe) Показывает график динамических данных, набор данных и атрибуты.

10. Пробник логических данных с условием (Conditional Boolean Probe) Показывает логические данные и обеспечивает точку останова по условию.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2021-03-25 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: