Теория управления / Теория управления / LabVIEW Basic I Course
.pdfУрок 6 Кластеры
С помощью инструмента УПРАВЛЕНИЕ можно щелкнуть по полю вывода данных и выбрать желаемый элемент из контекстного меню. Можно также щелкнуть правой кнопкой мыши по полю вывода данных и выбрать из контекстного меню пункт Select Item.
Например, функция Unbundle, при использовании кластера, показанного ниже, имеет четыре поля вывода данных, которые соотносятся с четырьмя элементами кластера. Необходимо знать порядок элементов в кластере для корректного сопоставления логического элемента соответствующему вертикальному переключателю в кластере. В этом примере элементы упорядочены сверху вниз, начиная с 0. Если использовать функцию Unbundle by Name, то полей вывода данных может быть произвольное количество, и обращаться к отдельным элементам можно в произвольном порядке.
© National Instruments Corporation |
6-7 |
Учебный курс LabVIEW Основы I |
Урок 6 Кластеры
Упражнение 6-1 ВП Работа с кластерами
Цель: Создание кластеров на лицевой панели. Используя функции обработки кластеров, собирать и демонтировать кластеры
Лицевая панель
1.Откройте новый ВП и создайте лицевую панель, как показано ниже.
a.Поместите на лицевую панель кнопку «Стоп» и круглый светодиод.
b.Из палитры Controls»Modern»Array, Matrix & Cluster
выберите шаблон кластера.
c.Объекты лицевой панели, показанные на иллюстрации, поместите в шаблон кластера.
d.Создайте и переименуйте копию элемента Кластер в Модифицированный Кластер. После этого щелкните правой кнопкой мыши по границе шаблона кластера
Модифицированный Кластер и выберите из контекстного меню пункт Change to Indicator.
e.Повторите пункт d для создания элемента Маленький кластер. Измените его, как показано на рисунке.
2.Проверьте порядковые номера элементов в кластерах Кластер и Маленький кластер. Порядковые номера элементов кластера
Модифицированный кластер и Кластер должны совпадать.
a.Щелкните правой кнопкой мыши по границе шаблона каждого кластера, из контекстного меню выберите пункт Reorder Controls in Cluster.
© National Instruments Corporation |
6-8 |
Учебный курс LabVIEW Основы I |
Урок 6 Кластеры
b.Порядковые номера элементов установите, как показано ниже на рисунке.
Блок-диаграмма
3.Создайте блок-диаграмму, как показано ниже.
Из палитры Functions»Programming»Cluster & Variant выберите функцию Unbundle. Эта функция разъединяет кластер Кластер. Измените размер этой функции до четырех полей ввода данных или соедините терминал данных кластера с функцией для автоматического добавления полей ввода данных.
Из палитры Functions»Programming»Cluster & Variant выберите функцию Bundle. Эта функция объединит элементы в кластер
Маленький кластер.
© National Instruments Corporation |
6-9 |
Учебный курс LabVIEW Основы I |
Урок 6 Кластеры
Из палитры Functions»Programming»Cluster & Variant выберите функцию Unbundle by Name. Эта функция выделит два элемента из кластера Кластер. Измените размер функции до двух полей вывода данных. Если имена в полях вывода данных отличаются от показанных на иллюстрации, следует щелкнуть правой кнопкой мыши по имени элемента и в контекстном меню войти в раздел
Select Item.
Из палитры Functions»Programming»Numeric выберите функцию
Increment. Эта функция добавит 1 к значению элемента Число.
Из палитры Functions»Programming»Boolean выберите функцию
Not. Эта функция выдаст логическое отрицание элемента
Логический 1.
Из палитры Functions»Programming»Cluster & Variant выберите функцию Bundle by Name. Эта функция изменит значения элементов Число и Логический в кластере Кластер и создаст кластер Модифицированный кластер. Измените размер этой функции на два поля ввода данных. Если имена в полях вывода данных отличаются от показанных на иллюстрации, следует щелкнуть правой кнопкой мыши по имени элемента и в контекстном меню войти в раздел Select Item.
4.Сохраните ВП под именем Работа с кластерами. vi
Запуск ВП
5.Перейдите на лицевую панель и запустите ВП.
6.Поменяйте значения элементов в кластере Кластер и запустите ВП.
7.Закройте ВП.
Конец упражнения 6-1
© National Instruments Corporation |
6-10 |
Учебный курс LabVIEW Основы I |
Урок 6 Кластеры
Упражнение 6-2 ВП Масштабирование кластера (дополнительное)
Цель: Создать ВП, использующий полиморфизм в кластерах
Выполните следующие шаги для создания ВП, в котором масштабируются данные, хранящиеся в кластере. Каждый элемент в кластере имеет свой масштабный коэффициент. Предположим, что исходные данные, значения давления, скорости потока и температуры были получены с соответствующих датчиков напряжения. Затем ВП масштабирует эти значения и выдает фактические значения физической величины.
Лицевая панель
1.Откройте ВП Масштабирование кластера.vi, расположенный в папке C:\Exercises\LV Basics I. Лицевая панель уже подготовлена.
2.Измените значения элементов управления на лицевой панели.
Блок-диаграмма
3.Создайте блок-диаграмму, как показано ниже. Убедитесь, что значения элементов кластера Входные данные введены правильно.
4.Сохраните ВП.
5.Перейдите на лицевую панель и запустите ВП.
© National Instruments Corporation |
6-11 |
Учебный курс LabVIEW Основы I |
Урок 6 Кластеры
6.Поменяйте значения элементов управления и снова запустите ВП.
7.Закройте ВП.
Конец упражнения 6-2
© National Instruments Corporation |
6-12 |
Учебный курс LabVIEW Основы I |
Урок 6 Кластеры
С. Кластеры ошибок
Даже в самой отлаженной программе встречаются ошибки, поэтому никогда нельзя предусмотреть все проблемы, которые могут возникнуть у пользователя. Без механизма проверки ошибок, о ВП можно сказать только то, что он не работает. Проверка ошибок позволяет узнать, в каком месте и почему произошел сбой.
При программировании любых операций ввода/вывода стоит подумать о возможном появлении ошибок. Почти все операции ввода/вывода возвращают информацию об ошибке. Чтобы правильно обрабатывать ошибки, в ВП нужно особо тщательно выполнять проверку для таких операций ввода/вывода, как файловые и последовательные операции, операции работы с приборами, операции получения данных, а также процессы передачи информации.
Проверка на ошибки в ВП может помочь определить следующие проблемы:
•Неправильная инициализация связи с внешним устройством или запись в него некорректной информации.
•Внешнее устройство не включено или не работает.
•При переустановке системного программного обеспечения или по другим причинам был изменен путь к необходимым файлам.
Обработка ошибок
В LabVIEW не реализована автоматическая обработка ошибок. Это сделано для того, чтобы можно было самостоятельно выбирать метод, которым обрабатываются ошибки. Например, если для ВП истекло время ожидания ввода/вывода, можно сделать так, чтобы не прекращалась работа всего приложения. Можно также заставить ВП повторить попытку через некоторое время. Процесс обработки ошибок в LabVIEW происходит на блок-диаграмме.
Существует два способа возврата ошибок в ВП и функциях: с помощью числа, обозначающего код ошибки и с помощью кластера ошибок. Как правило, функции используют число - код ошибки, а ВП принимают на вход и выдают на выходе информацию об ошибках в виде кластера.
Обработка ошибок в LabVIEW также построена на модели поточного программирования. Как и другие данные, информация об ошибках проходит через ВП. Для передачи информации об ошибках через ВП необходимо использовать входной и выходной кластеры ошибок, а также включить в конце ВП обработчик ошибок для определения того, были ли сбои в процессе работы ВП.
© National Instruments Corporation |
6-13 |
Учебный курс LabVIEW Основы I |
Урок 6 Кластеры
При выполнении ВП LabVIEW следит за появлением ошибок, и, как только где-нибудь происходит сбой, составляющие части ВП перестают выполняться и только передают ошибку дальше, на выход. Для обработки появляющихся в ВП ошибок в конце потока выполнения обычно используется приведенный ниже простой обработчик ошибок Simple Error Handler. Simple Error Handler находится на палитре Functions»Programming»Dialog & User Interface. Подсоедините кластер ошибок к полю входных данных «Error In» (по умолчанию ошибки нет).
Кластеры ошибок
Ниже приведены компоненты кластеров ошибок, расположенных на палитре Controls»Modern»Array, Matrix & Cluster. Кластер ошибок и проводники, соединяющие кластеры ошибок, обозначаются желтым цветом.
•status является логической величиной, принимающей значение TRUE в случае возникновения ошибки. Большинство ВП, функций и структур, которые принимают логические данные, используют этот параметр. При возникновении ошибки кластер ошибок передает функции значение TRUE.
•code является целым 32-х битным числом со знаком, которое соответствует ошибке. В случае если status имеет значение FALSE, а code отличен от нуля, то, скорее всего, это предупреждение, а не фатальная ошибка.
•source является строкой, которая определяет место возникновения ошибки.
Для создания входа и выхода ошибок в подпрограммах ВП используются кластеры ошибок из элементов управления и отображения.
© National Instruments Corporation |
6-14 |
Учебный курс LabVIEW Основы I |
Урок 6 Кластеры
Объяснение ошибки
При появлении ошибки можно щелкнуть правой кнопкой мыши внутри кластера и из контекстного меню выбрать пункт Explain Error. Появится диалоговое окно Explain Error, содержащее информацию об ошибке. В контекстном меню также есть пункт Explain Warning, если в ВП нет ошибок, но есть предупреждения.
Диалоговое окно Explain Error также можно вызвать из меню Help.
Использование цикла While при обработке ошибок
Кластер ошибок может быть подсоединен к терминалу условия цикла While для остановки цикла. Когда кластер ошибок подсоединен к терминалу условия, на терминал подаются только значения параметра status – TRUE или FALSE. При возникновении ошибки выполнение цикла While прекращается.
Если к терминалу условия подсоединен кластер ошибок, пункты контекстного меню меняются с Stop if True и Continue if True на Stop on Error и Continue while Error.
© National Instruments Corporation |
6-15 |
Учебный курс LabVIEW Основы I |
Урок 6 Кластеры
Краткое изложение пройденного материала, советы и секреты
•Кластеры объединяют элементы разных типов данных. Кластер не может одновременно содержать элементы управления и отображения данных.
•Если лицевая панель содержит более 28 элементов, которые необходимо использовать в ВП, то некоторые из них можно объединить в кластер и назначить кластер полем ввода/вывода данных.
•Для создания кластеров из элементов управления и отображения данных следует выбрать шаблон кластера на палитре
Controls»Modern»Array, Matrix & Cluster и поместить его на лицевую панель. После этого шаблон кластера следует заполнить элементами.
•Для создания и управления кластерами используются функции,
расположенные на палитре Functions»Programming»Cluster & Variant.
•Проверка ошибок позволяет узнать, в каком месте и почему произошел сбой.
•Кластер ошибок содержит элементы status (статус), code (код) и source (источник) ошибки.
•Для создания входа и выхода ошибок в подпрограммах ВП используются кластеры ошибок из элементов управления и отображения.
© National Instruments Corporation |
6-16 |
Учебный курс LabVIEW Основы I |