ASVT Материалы / основы_labview_1_упражнения_
.pdf4. Реализация VI
Рисунок 4-17. Блок-диаграмма Determine Warnings VI
Выделите ветвь True.
Щелкните правой кнопкой мыши по выходному туннелю строкового типа.
Выберите команду меню Create»Constant.
В созданную константу введите текст Upper Limit < Lower Limit.
Щелкните правой кнопкой мыши по выходному туннелю булевского типа.
Выберите команду меню Create»Constant.
С помощью инструмента Operating замените значение созданной константы на True.
7.Сохраните VI.
Тестирование VI
1.Перейдите на лицевую панель VI.
2.Измените размер индикатора Warning Text, чтобы он вмещал новую строку.
3.Протестируйте VI путем ввода значений в элементы управления Current Temp, Max Temp и Min Temp и запуска VI для каждого набора значений, приведенных в таблице 4-3.
В таблице 4-3 приведены ожидаемые значения индикаторов Warning Text и Warning? для каждого набора входных данных.
Основы LabVIEW 1. Упражнения |
81 |
ni.com |
|
|
|
|
|
4. Реализация VI |
|
|
|
Таблица 4-3. Тестовые значения для VI Determine Warnings |
||||
|
|
|
|
|
|
|
Current Temp |
|
Max Temp |
Min Temp |
Warning Text |
|
Warning? |
|
|
|
|
|
|
|
30 |
|
30 |
10 |
Heatstroke Warning |
|
True |
|
|
|
|
|
|
|
25 |
|
30 |
10 |
No Warning |
|
False |
|
|
|
|
|
|
|
10 |
|
30 |
10 |
Freeze Warning |
|
True |
|
|
|
|
|
|
|
25 |
|
20 |
30 |
Upper Limit < Lower |
|
True |
|
|
|
|
Limit |
|
|
|
|
|
|
|
|
|
4. |
Сохраните и закройте VI. |
|
|
|
Конец упражнения 4-6
© National Instruments Corporation |
82 |
Основы LabVIEW 1. Упражнения |
4. Реализация VI
Упражнение 4-7 (для самостоятельного выполнения). Square Root VI
Цель упражнения
Создать VI, в котором Case-структура используется для принятия решения.
Задание
Создайте VI, который извлекает квадратный корень из вводимого пользователем числа. Если число отрицательное, VI должен выводить на экран следующее сообщение: Error…Negative Number.
План решения
Входы и выходы
Таблица 4-4. Входы и выходы
Тип |
Имя |
Свойства |
|
|
|
Вход |
Number |
Число с плавающей точкой с |
|
|
двойной точностью, значение |
|
|
по умолчанию 25 |
|
|
|
Выход |
Square Root Value |
Число с плавающей точкой с |
|
|
двойной точностью |
|
|
|
Блок-схема алгоритма
Рисунок 4-18. Блок-схема алгоритма Square Root VI
Основы LabVIEW 1. Упражнения |
83 |
ni.com |
4. Реализация VI
Реализация VI
1.Откройте пустой VI и создайте лицевую панель в соответствии с рисунком 4-19.
Рисунок 4-19. Лицевая панель Square Root VI
2.Добавьте числовой элемент управления на лицевую панель.
Присвойте этому элементу управления имя Number.
3.Добавьте на лицевую панель числовой индикатор.
Присвойте этому индикатору имя Square Root Value. Постройте блок-диаграмму согласно рисунку 4-20.
Рисунок 4-20. Блок-диаграмма Square Root VI
4.Проверьте, выполняется ли условие: значение элемента управления Number больше либо равно нулю, поскольку нельзя извлечь квадратный корень из отрицательного числа.
Добавьте функцию Greater or Equal to 0? справа от элемента управления Number. Эта функция возвращает True, если значение Number больше либо равно 0.
Соедините элемент управления Number со входом функции Greater or Equal to 0?.
5.Если значение элемента Number меньше нуля, сделайте так, чтобы выводилось диалоговое окно с сообщением об ошибке.
Добавьте на блок-диаграмму Case-структуру.
Чтобы перейти во фрейм False, щелкните мышью по кнопке инкремента или декремента.
Добавьте во фрейм False числовую константу.
Щелкните правой кнопкой мыши по числовой константе и выберите из контекстного меню Representation»DBL.
В константу введите значение 99999.
Соедините числовую константу с правой границей Case-структуры.
Соедините появившийся туннель с индикатором Square Root Value.
© National Instruments Corporation |
84 |
Основы LabVIEW 1. Упражнения |
4. Реализация VI
Добавьте во фрейм False функцию One Button Dialog, которая выводит на экран диалоговое окно с заданным вами сообщением.
Щелкните правой кнопкой мыши по входу, на который подается заданное сообщение, и из контекстного меню выберите команду
Create»Constant.
В получившуюся константу введите Error…Negative Number.
6.Если значение элемента управления Number больше, либо равно 0, должен вычисляться его квадратный корень.
Перейдите во фрейм True Case-структуры.
Поместите туда функцию Square Root, которая возвращает квадратный корень значения элемента управления Number.
Выполните соединения со входом и выходом функции согласно рисунку 4-21.
Рисунок 4-21. Фрейм True Square Root VI
7.Сохраните VI под именем Square Root.vi в папке
<Exercises>\LabVIEW Core 1\Square Root.
Основы LabVIEW 1. Упражнения |
85 |
ni.com |
4. Реализация VI
Тестирование VI
1.Перейдите на лицевую панель VI.
2.Введите в элемент управления Number положительное число.
3.Запустите VI.
4.Введите отрицательное число в элемент управления Number.
Внимание! Не запускайте VI в непрерывном режиме, поскольку при некоторых условиях это может привести к зацикливанию.
5.Запустите VI.
Если значение элемента управления Number больше, либо равно нулю, VI выполняет фрейм True и возвращает квадратный корень этого значения. Если введенное значение меньше нуля, то VI выполняет ветвь False, возвращает значение 99999 и выводит на экран диалоговое окно с сообщением Error…Negative Number.
6.Закройте VI.
Конец упражнения 4-7
© National Instruments Corporation |
86 |
Основы LabVIEW 1. Упражнения |
4. Реализация VI
Упражнение 4-8 (для самостоятельного выполнения). Determine Warnings VI (задание повышенной сложности)
Цель упражнения
Доработать существующий VI c использованием узла Formula Node и Caseструктуры для принятия решения.
Задание
В Determine Warnings VI из упражнения 4-2 вы использовали функцию Select, чтобы передать через нее строку на основе результата проверки условия. Требуется реализовать этот же алгоритм, использовав узел Formula Node или Case-структуру (или и то, и другое вместе).
План решения
Входы и выходы
Таблица 4-5. Входы и выходы VI Determine Warnings
Тип |
Имя |
Свойства |
|
|
|
|
|
Числовой элемент |
|
Число с плавающей |
|
Current Temp |
точкой с двойной |
||
управления |
|||
|
точностью |
||
|
|
||
|
|
|
|
Числовой элемент |
|
Число с плавающей |
|
Max Temp |
точкой с двойной |
||
управления |
|||
|
точностью |
||
|
|
||
|
|
|
|
Числовой элемент |
|
Число с плавающей |
|
Min Temp |
точкой с двойной |
||
управления |
|||
|
точностью |
||
|
|
||
|
|
|
|
|
|
Три возможных |
|
Строковый |
Warning Text |
значения: Heatstroke |
|
индикатор |
Warning, No Warning, |
||
|
|||
|
|
Freeze Warning |
|
|
|
|
|
Круглый |
|
|
|
светодиодный |
Warning? |
|
|
индикатор |
|
|
|
|
|
|
Основы LabVIEW 1. Упражнения |
87 |
ni.com |
4. Реализация VI
Блок-схема алгоритма
На рисунке 4-22 приведена блок-схема алгоритма, которой вы пользовались в упражнении 4-2 при создании Determine Warnings VI.
Рисунок 4-22. Блок-схема алгоритма Determine Warnings VI
© National Instruments Corporation |
88 |
Основы LabVIEW 1. Упражнения |
4. Реализация VI
Реализация VI
C целью усложнения не дается никаких указаний по реализации данного упражнения. За основу возьмите VI, который находится в папке
<Exercises>\LabVIEW Core 1\Determine Warnings Challenge.
Если вам потребуется помощь, откройте VI с готовым решением. Решения находятся в папке <Solutions>\LabVIEW Core 1\Exercise 4-8.
Конец упражнения 4-8
Основы LabVIEW 1. Упражнения |
89 |
ni.com |
4. Реализация VI
Упражнение 4-9 (для самостоятельного выполнения). Determine More Warnings VI
Цель упражнения
Научиться манипулировать со строками с помощью функций из палитры
String.
Постановка задачи
У вас есть VI, который определяет, какое выдавать предупреждение
Heatstroke Warning или Freeze Warning в зависимости от температуры на входе. Необходимо расширить функциональность этого VI, чтобы он определял, надо ли выдавать предупреждение High Wind Warning в зависимости от измеренного значения скорости ветра и заданного ее максимального значения. Предупреждения должны выдаваться в виде одной строки. Если, например, одновременно сформировались сообщения Heat Stroke Warning и High Wind Warning, строка предупреждение должна содержать текст: Heatstroke and High Wind Warning.
План решения
Входы и выходы
Таблица 4-5. Входы и выходы Determine More Warnings VI
Тип |
Имя |
Свойства |
|
|
|
Числовой элемент |
Current Temp |
Число с плавающей точкой с двойной |
управления |
|
точностью |
|
|
|
Числовой элемент |
Max Temp |
Число с плавающей точкой с двойной |
управления |
|
точностью |
|
|
|
Числовой элемент |
Min Temp |
Число с плавающей точкой с двойной |
управления |
|
точностью |
|
|
|
Числовой элемент |
Current Wind |
Число с плавающей точкой с двойной |
управления |
Speed |
точностью |
|
|
|
Строковый |
Warning Text |
Возможные значения: Heatstroke Warning, |
индикатор |
|
Freeze Warning, Heatstroke and High Wind |
|
|
Warning, Freeze and High Wind Warning, |
|
|
High Wind Warning and No Warning |
|
|
|
Булевский |
Warning? |
Возможные значения: True и False. |
индикатор |
|
|
|
|
|
© National Instruments Corporation |
90 |
Основы LabVIEW 1. Упражнения |