Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
610
Добавлен:
06.06.2015
Размер:
5.95 Mб
Скачать

Урок 8 Принятие решений в ВП

B. Структура Case.

Структура Case, показанная слева, имеет две или более поддиаграммы вариантов. Только одна поддиаграмма варианта видима в данный момент времени и только одна поддиаграмма варианта работает при выполнении данной структуры. Входное значение терминала селектора структуры определяет, какая поддиаграмма будет выполняться в данный момент времени. Структура Case аналогична операторам case или логическим операторам (if...then...else) в текстовых языках программирования.

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

Значение, подаваемое на терминал селектора варианта, показанный слева, определяет, какая поддиаграмма структуры, или вариант, будет выполняться. Допустимо использовать целочисленный, логический, строковый типы, а также тип перечисления в качестве значения, подаваемого на терминал варианта. Терминал варианта может располагаться в любом месте левой границы структуры Case. Если терминал Варианта логического типа, то структура состоит из двух логических вариантов TRUE и FALSE. Если терминал варианта имеет один из следующих типов: целочисленный, строковый или перечисления, то количество вариантов может достигать 231-1 вариантов.

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

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

Выбор варианта

© National Instruments Corporation

8-3

Учебный курс LabVIEW Основы I

Урок 8 Принятие решений в ВП

В качестве примера использования структуры Case вместо функции Select приведена измененная блок-диаграмма ВП Термометр. На переднем плане структуры Case показан логический вариант TRUE.

Определение варианта осуществляется либо выбором значения на селекторе структуры Case, либо вводом значения с помощью инструмента ВВОД ТЕКСТА.

При выборе какого-либо варианта, он появляется на переднем плане, как показано на следующей блок-диаграмме.

Значения селектора варианта должны быть того же типа, что и тип данных, подаваемых на терминал селектора варианта. Значение селектора варианта, окрашенное красным цветом, показывает, что его необходимо удалить или отредактировать, иначе ВП не будет выполняться. Нельзя подавать числа с плавающей точкой на терминал селектора варианта, так как возможны ошибки округления и возникновение ситуации неопределенности. Если подать число с плавающей точкой на терминал селектора варианта, LabVIEW округлит это значение до ближайшего четного целого. Если число с плавающей точкой введено непосредственно в селектор варианта, то оно окрашивается в красный цвет и должно быть удалено или отредактировано.

© National Instruments Corporation

8-4

Учебный курс LabVIEW Основы I

Урок 8 Принятие решений в ВП

Терминалы входа и выхода

Структура Case допускает использование входных и выходных терминалов данных. Терминалы входных данных доступны во всех поддиаграммах, но их использование поддиаграммой структуры необязательно. Создание выходного терминала на одной поддиаграмме приводит к его появлению на других поддиаграммах в том же самом месте границы структуры. Если хотя бы в одной поддиаграмме выходной терминал не определен, то поле этого терминала окрашивается в белый цвет, что говорит об ошибке создания структуры. Необходимо определять значения выходных терминалов во всех вариантах (поддиаграммах). Кроме того, выходные терминалы должны иметь значения совместимых типов.

Для определения значения выходного терминала следует правым щелчком мыши по терминалу вызвать контекстное меню и выбрать пункты: Create»Constant или Create»Control.

Примеры

Следующие примеры показывают, как значения входных терминалов структуры Case складываются или вычитаются в зависимости от значения терминала варианта.

Логическая структура Case

Ниже на рисунке приведен пример логической структуры Case. Варианты структуры наложены друг на друга для упрощения иллюстрации.

Если в терминал логического элемента управления, соединенный проводником данных с терминалом селектора варианта, введено значение TRUE, то выполняется сложение; если введено значение FALSE, то выполняется вычитание значений числовых элементов управления.

© National Instruments Corporation

8-5

Учебный курс LabVIEW Основы I

Урок 8 Принятие решений в ВП

Целочисленная структура Case

Ниже на рисунке показан пример целочисленной структуры Case.

Терминал Integer соответствует элементу управления ring control (списка с циклическим перебором значений), расположенного в палитре Controls»Modern»Ring & Enum. Если значение элемента управления ring control равно 0 (сложить), то ВП складывает числа; если равно 1 (вычесть), то ВП производит вычитание чисел. Если значение элемента управления отлично от 0 (сложить) и 1 (вычесть), то ВП складывает числа, т.к. этот вариант выполняется по умолчанию.

Строковая структура Case

Ниже на рисунке показан пример строковой структуры Case.

Если в поле элемента управления введена строка add, то ВП производит сложение чисел и вычитает их, если введено значение subtract.

© National Instruments Corporation

8-6

Учебный курс LabVIEW Основы I

Урок 8 Принятие решений в ВП

Структура Case по перечислениям

Ниже на рисунке показан пример структуры Case по перечислениям.

Структура Case для кластера ошибок

Ниже на рисунке показан пример структуры Case для кластера ошибок.

В этом примере на терминал селектора структуры Case подается кластер ошибок error out. В этом случае есть только два варианта структуры: Ошибка и Нет ошибки, для которых граница структуры имеет красный и зеленый цвет соответственно. Структура Case выполняет вариант, основываясь на информации о наличии ошибки.

Структура Case реагирует только на логическую переменную status кластера ошибок.

© National Instruments Corporation

8-7

Учебный курс LabVIEW Основы I

Урок 8 Принятие решений в ВП

Упражнение 8-1 ВП Извлечение квадратного корня

Цель: Изучить структуру Case.

Выполните следующие шаги для построения ВП, который проверяет входное число на знак, вычисляет его квадратный корень или выдает сообщение об ошибке, если число отрицательное.

Лицевая панель

1.Откройте новый ВП и создайте лицевую панель, как показано ниже.

Блок-диаграмма

2.Создайте блок-диаграмму, показанную ниже на рисунке:

Поместите на блок-диаграмму структуру Case, расположенную в палитре Functions»Programming»Structures.

Используйте стрелки уменьшения или увеличения селектора структуры для выбора варианта FALSE.

Поместите на блок-диаграмму функцию Greater or Equal to 0?,

расположенную в палитре Functions»Programming»Comparison.

Функция возвращает значение TRUE, если число больше или равно 0.

Щелкните правой кнопкой мыши по численной константе и в контекстном меню выберите пункт Format & Precision. Установите Digits of Precision равным 1, выберите вид представления Floating Point Notation и нажмите кнопку OK.

Поместите на блок-диаграмму One Button Dialog, расположенный в палитре Functions»Programming»Dialog & User Interface. Это диалоговое окно будет отображать сообщение «Ошибка… Отрицательное число».

© National Instruments Corporation

8-8

Учебный курс LabVIEW Основы I

Урок 8 Принятие решений в ВП

Щелкните правой кнопкой мыши по полю ввода/вывода message функции One Button Dialog и в контекстном меню выберите пункт Create»Constant. Введите текст «Ошибка… Отрицательное число». Для получения более подробной информации смотрите Урок 9, Строки и файловый ввод/вывод.

3.Выберите вариант TRUE.

Поместите функцию Square Root на блок-диаграмму, как показано ниже. Функция размещена в палитре Functions»Programming» Numeric. Она возвращает квадратный корень входного числа.

4.Сохраните созданный ВП под именем Извлечение квадратного корня.vi

Запуск ВП

5.Отобразите лицевую панель и запустите ВП.

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

Если входное значение элемента управления Число положительно, то выполнится поддиаграмма варианта TRUE и вычисляется значение квадратного корня. Если значение элемента Число является отрицательным, то выполнится поддиаграмма варианта FALSE, которая возвращает –99999,0 и отображает диалоговое окно

с сообщением «Ошибка… Отрицательное число».

6.Закройте ВП.

Конец упражнения 8-1

© National Instruments Corporation

8-9

Учебный курс LabVIEW Основы I

Урок 8 Принятие решений в ВП

Упражнение 8-2 ВП Контроль температуры

Цель: Изучить работу структуры Case.

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

Лицевая панель

1.Откройте ВП Расчет средней температуры.vi, созданный в упражнении 7-2.

2.Измените лицевую панель, как показано на рисунке ниже.

Поместите на лицевую панель объект Horizontal Smooth Box,

расположенный в палитре Controls»Modern»Decorations. Этот объект будет использоваться для визуальной группировки элементов анализа.

Создайте копию переключателя Питание и назовите его Анализ. Щелкните по нему правой кнопкой мыши и выберите из контекстного меню пункт Mechanical Action»Switch When Pressed.

Поместите на лицевую панель числовой элемент управления, расположенный в палитре Controls»Modern»Numeric, и назовите его Верхний предел.

Поместите на лицевую панель индикатор Round LED, расположенный в палитре Controls»Modern»Boolean, и назовите его Внимание!

© National Instruments Corporation

8-10

Учебный курс LabVIEW Основы I

Урок 8 Принятие решений в ВП

Поместите на лицевую панель числовой элемент отображения данных, расположенный в палитре Controls»Modern»Numeric, и

назовите его Максимальное значение.

Щелкните правой кнопкой мыши по диаграмме для отображения контекстного меню. Далее, выберите пункт Visible Items»Digital Display для появления цифрового элемента отображения.

3.Сохраните ВП под именем Контроль температуры.vi

Блок-диаграмма

4.Измените блок-диаграмму, как показано ниже на рисунке. При необходимости растяните цикл While так, чтобы внутрь него поместились все элементы.

Поместите на блок-диаграмму функцию Greater?, размещенную в палитре Functions»Programming»Comparison. Эта функция возвращает значение TRUE, если температура превышает величину в элементе Верхний предел. В противном случае функция возвращает значение FALSE.

5.Заполните вариант структуры FALSE, как показано ниже. Если переключатель Анализ находится в выключенном состоянии, то индикатор не горит, и в элемент отображения данных Верхнее значение выводится число -99999.

© National Instruments Corporation

8-11

Учебный курс LabVIEW Основы I

Урок 8 Принятие решений в ВП

6.Сохраните ВП, потому что он будет использоваться в дальнейшем при изучении курса.

Запуск ВП

7.Перейдите на лицевую панель, введите число 80 в элемент управления Верхний предел и запустите ВП.

Если переключатель Анализ выключен, то индикатор не горит, и в элементе Верхнее значение отображается число -99999. При включенном переключателе Анализ в элементе Верхнее значение отображается максимальная температура на данный момент. Если температура превышает значение, введенное в элементе Верхний предел, то загорается индикатор светодиода Внимание!

8.Закройте ВП.

Конец упражнения 8-2

© National Instruments Corporation

8-12

Учебный курс LabVIEW Основы I