Упражнение для самостоятельной работы
Цель
Создать лицевую панель на основе спецификации.
Сценарий
Вам дано описание проекта метеостанции, который вы должны реализовать. Используя эту информацию, создайте лицевую панель, которая будет пользовательским интерфейсом для ВП метеостанции.
Проектирование
Входные и выходные данные пользовательского интерфейса
Тип | Имя | Свойства |
Числовой элемент управления | Верхний предел | Двойная точность |
Числовой элемент управления | Нижний предел | Двойная точность |
Waveform Chart | Ход температуры | Цифровой дисплей |
Строковый индикатор | Предупреждение | Три возможных значения: Жарко, Нет, Холодно |
Внешние входные и выходные данные
· Текущая температура. Определяется при помощи датчика, подключенного к каналу ai0 платы сбора данных. Формула преобразования: напряжение ´ 100 = градусы Цельсия.
· Файл ASCII. Для каждого выданного предупреждения содержит время, текущую температуру, пределы температуры и текст предупреждения. Разделитель — символ табуляции.
Диаграмма переходов
Диаграмма переходов для метеостанции была разработана вами в упражнении 1-2. Однако для выполнения этого и следующих упражнений курса вы будете использовать диаграмму, показанную на рис. 3-4. Это гарантирует согласованность с приводимыми инструкциями.
Рис. 3-4. Диаграмма переходов для курсового проекта.
Реализация
Все входные и выходные данные должны присутствовать на лицевой панели. Выполните приведенные ниже инструкции, чтобы создать лицевую панель по образцу рис. 3-5. Эта панель позволяет вводить верхний/нижний пределы температуры и команду останова, а выводит строку предупреждения и график температуры.
Рис. 3-5. Лицевая панель для проекта метеостанции.
1. Выберите пункт меню File>>New Project, чтобы создать новый проект LabVIEW. Этот проект будет содержать все ВП, относящиеся к метеостанции.
2. Создайте новый ВП для реализации пользовательского интерфейса.
q Выберите пункт меню File>>New VI.
q Сохраните ВП под именем Интерфейс метеостанции.vi в каталоге C:\Exercises\LabVIEW Basics I\Курсовой проект.
3. Сохраните проект.
q Выберите File>>Save Project.
q Сохраните проект под именем
Метеостанция.lvproj в каталоге C:\Exercises\LabVIEW Basics I\Курсовой проект.
4. Создайте числовой элемент управления для ввода верхнего предела температуры.
q Поместите числовой элемент управления на лицевую панель.
q Измените текст метки на Верхний предел.
q Щелкните на элементе правой кнопкой, выберите Representation (представление) и убедитесь, что для представления числа используется тип DBL.
5. Создайте числовой элемент управления для ввода нижнего предела температуры.
q Поместите числовой элемент управления на лицевую панель.
q Измените текст метки на Нижний предел.
q Щелкните на элементе правой кнопкой, выберите пункт Representation и убедитесь, что элемент имеет тип DBL.
6. Создайте графический индикатор для отображения текущей температуры.
q Поместите индикатор Waveform Chart на лицевую панель.
q Измените текст метки на Ход температуры.
q Щелкните правой кнопкой на графике и выберите Visible Items>>Digital Display. Этот дисплей показывает числовое значение для последней точки.
Примечание Внешний вид и поведение графика вы измените в другом упражнении.
7. Создайте строковый индикатор для отображения текущего предупреждения.
q Поместите строковый индикатор на лицевую панель.
q Измените текст метки на Предупреждение.
q Установите курсор мыши внутри индикатора.
q Измените размер, цвет и шрифт индикатора, используя текстовые инструменты на инструментальной панели.
СоветДля просмотра выбранных шрифтов вы можете ввести текст в строку индикатора.
8. Создайте кнопку останова.
q Поместите кнопку Stop на лицевую панель.
q Щелкните на ней правой кнопкой и выберите Visible Items>>Label, чтобы скрыть метку.
q Увеличьте кнопку. Для этого установите инструмент ПЕРЕМЕЩЕНИЕ на ее угол и растяните контур до нужного размера и формы.
9. Добавьте метки, декоративные элементы, и разместите объекты так, чтобы панелью было удобно пользоваться. Используйте рис. 3-5 как образец, или создайте собственный дизайн, опираясь на следующие советы.
q Диапазоны температур (C) — это свободная метка. Чтобы создать такую метку, дважды щелкните на пустой области лицевой панели и введите текст.
q Квадратная рамка вокруг значений температуры, а также треугольники, символизирующие тепловой удар и замерзание, находятся в категории Decorations палитры элементов управления.
q Визуально группируйте все индикаторы в правой части панели. Кнопка Stop является исключением, поскольку она традиционно размещается внизу справа.
q Визуально группируйте похожие объекты.
q Используйте цвета в подходящих местах. Например, кнопка останова обычно красная, тепло обычно также ассоциируется с красным цветом, тогда как холод — с синим.
10. Сохраните ВП.
11. Закройте проект.
Работа над этим проектом будет продолжена в следующих упражнениях.
Конец упражнения 3-1
Упражнение 3-2 Проект: ВП для вывода предупреждений
Цель
Создать и задокументировать простой ВП.
Сценарий
Вы должны создать ВП, являющийся частью большого проекта. Ведущий разработчик описал вам входные данные, алгоритм и ожидаемые выходные данные. Постройте ВП согласно проектной информации и задокументируйте его.
Проектирование
Входные и выходные данные
Тип | Имя | Свойства |
Числовой элемент управления | ТекущТемп | Двойная точность |
Числовой элемент управления | МаксТемп | Двойная точность |
Числовой элемент управления | МинТемп | Двойная точность |
Строковый индикатор | Текст | Три возможных значения: Жарко, Нет, Холодно |
Круглый светодиод | Предупреждение? |
Блок-схема
Рис. 3-14. Блок-схема ВП Предупреждения.
Реализация
Следуя приведенным ниже инструкциям, создайте лицевую панель по образцу рис. 3-15. Эта лицевая панель получает от пользователя текущую температуру, верхний и нижний пределы температуры, после чего выводит строку предупреждения и выдает сигнал предупреждения (зажигает светодиод). Этот ВП входит в проект метеостанции, который вы создали в предыдущем упражнении.
Рис. 3-15. Лицевая панель ВП Предупреждения.
1. Добавьте новый ВП к проекту метеостанции, который вы создали в предыдущем упражнении.
q Выберите пункт меню File>>Open Project.
q Откройте файл Метеостанция.lvproj из каталога C:\Exercises\LabVIEW Basics I\Курсовой проект.
q Выберите пункт меню File>>New VI.
2. Сохраните новый ВП.
q Выберите пункт меню File>>Save.
q Сохраните ВП под именем Предупреждения.vi в каталоге C:\Exercises\LabVIEW Basics I\Курсовой проект.
3. Создайте числовой элемент управления для ввода текущей температуры.
q Поместите на лицевую панель числовой элемент управления.
q Измените текст метки на ТекущТемп.
q Щелкните правой кнопкой на элементе управления, выберите Representation и убедитесь, что элемент имеет тип DBL.
СоветЭтот подВП может использоваться с температурной шкалой Фаренгейта, Цельсия, Кельвина или любой другой, при условии, что все входные температуры приведены по одной шкале. Следовательно, добавлять масштабные единицы не нужно.
4. Создайте числовой элемент управления для ввода максимальной температуры.
q Удерживая нажатой клавишу <Ctrl>, перетаскивайте элемент управления ТекущТемп, чтобы создать его копию.
q Измените текст метки нового элемента управления на МаксТемп.
5. Создайте числовой элемент управления для ввода минимальной температуры.
q Удерживая нажатой клавишу <Ctrl>, перетаскивайте элемент управления МаксТемп, чтобы создать его копию.
q Измените текст метки нового элемента управления на МинТемп.
6. Создайте строковый индикатор для текста предупреждения.
q Поместите на лицевую панель строковый индикатор.
q Измените текст метки на Текст.
7. Создайте круглый светодиод или другой логический индикатор для предупреждающего сигнала.
q Поместите на лицевую панель индикатор Round LED.
q Измените текст метки на Предупреждение?.
8. Перейдите на блок-диаграмму.
Совет Если вы не хотите видеть на блок-диаграмме терминалы в виде иконок, выберите пункт меню Tools>>Options, а затем Block Diagram в списке Category. Уберите отметку с пункта Place front panel terminals as icons.
Следуя приведенным ниже инструкциям, постройте блок-диаграмму по образцу рис. 3-16.
Рис. 3-16. Блок-диаграмма ВП Предупреждения.
9. Сравните ТекущТемп и МаксТемп.
q Поместите на блок-диаграмму функцию Greater Or Equal?.
q Соедините терминал ТекущТемп с входным терминалом x функции Greater Or Equal?.
q Соедините терминал МаксТемп с входным терминалом y функции Greater Or Equal?.
10. Сравните ТекущТемп и МинТемп.
q Поместите на блок-диаграмму функцию Less Or Equal?.
q Соедините терминал ТекущТемп с входным терминалом x функции Less Or Equal?.
q Соедините терминал МинТемп с входным терминалом y функции Less Or Equal?.
11. Если текущая температура больше или равна максимальной, сгенерируйте строку Жарко, в противном случае сгенерируйте строку Холодно.
q Поместите на блок-диаграмму функцию Select справа от функции Greater Or Equal?.
q Соедините выход функции Greater Or Equal? с входным терминалом s функции Select.
q Поместите выше и левее функции Select строковую константу.
q Введите в константу текст Жарко.
q Соедините строку Жарко с входом t функции Select.
q Удерживая нажатой клавишу <Ctrl>, перетащите строковую константу Жарко ниже и левее функции Select, чтобы создать ее копию.
q Введите во вторую константу текст Нет.
q Соедините строку Нет с входом f функции Select.
12. Если текущая температура меньше или равна минимальной, сгенерируйте строку Холодно, в противном случае — строку, сгенерированную в шаге 11.
q Создайте копию функции Select и поместите ее справа от Less Or Equal?.
q Соедините выходной терминал функции Less Or Equal? с входным терминалом s функции Select.
q Создайте копию строковой константы и поместите ее выше и правее функции Select.
q Введите в константу текст Холодно.
q Соедините строку Холодно с входом t функции Select.
q Соедините выход первой функции Select с входным терминалом f второй функции Select.
13. Отобразите сгенерированный текст.
q Соедините выход второй функции Select с индикатором Текст.
14. Сгенерируйте логическое значение Предупреждение?, сравнив содержимое Текст со строкой Нет.
q Поместите функцию Not Equal слева от терминала Предупреждение?.
q Соедините выход второй функции Select с входным терминалом x функции Not Equal.
q Соедините строковую константу Нет с входным терминалом y функции Not Equal.
q Соедините выход функции Not Equal с терминалом Предупреждение?.
15. Задокументируйте код, как предложено ниже.
q Создайте для каждого элемента управления и индикатора всплывающие подсказки, в которых говорится о назначении объекта и используемых единицах. Для ввода подсказки выберите в контекстном меню объекта пункт Description and Tip.
q В свойствах объекта дайте общее описание ВП, перечислите входные и выходные данные, укажите свое имя и дату создания ВП. Для доступа к свойствам выберите пункт меню File>>VI Properties.
q Задокументируйте алгоритм блок-диаграммы при помощи свободных меток.
16. Сохраните ВП.
Тестирование
1. Протестируйте ВП, подавая на вход различные комбинации текущей, максимальной и минимальной температуры.
2. В табл. 3-1 приведены ожидаемые значения Текст и Предупреждение? для каждого набора входных данных.
Табл. 3-1. Тестовые значения для ВП Предупреждения.
ТекущТемп | МаксТемп | МинТемп | Текст | Предупреждение? |
Жарко | True | |||
Нет | False | |||
Холодно | True |
Что произойдет, если введенное значение МаксТемп окажется меньше, чем МинТемп? Что вы ожидали получить? Обработка подобных ошибок описана в упражнении 3-7.
3. Сохраните и закройте ВП.
4. Сохраните и закройте проект.
Конец упражнения 3-2
Упражнение 3-7 Проект: ВП для вывода предупреждений
Цель
Модифицировать ВП Предупреждения так, чтобы для программного принятия решений использовалась структура Case.
Сценарий
В упражнении 3-2 вы создали ВП, в котором пользователь вводит текущую температуру, а также верхний и нижний пределы температуры. В зависимости от соотношения входных данных генерируется строка предупреждения. Однако возможна ситуация, когда ВП сработает некорректно. Это произойдет, если введенная максимальная температура окажется меньше минимальной. Измените ВП так, чтобы генерировалась еще одна строка, сообщающая об ошибке: "Верхний предел < Нижний предел". При этом должен загореться предупреждающий индикатор.
Проектирование
Измените блок-схему, созданную для исходного ВП Предупреждения, как показано на рис. 3-38.
Рис. 3-38. Модифицированная блок-схема
Исходная блок-диаграмма для ВП Предупреждения показана на рис. 3-39. Сюда нужно добавить структуру Case, чтобы код выполнялся только в том случае, если максимальная температура больше или равна минимальной. В противном случае код не выполняется, а вместо этого генерируется новая строка, а индикатор Предупреждение? устанавливается в True.
Рис. 3-39. Блок-диаграмма ВП Предупреждения.
Реализация
Следуя приведенным ниже инструкциям, измените блок-диаграмму по образцу рис. 3-40. Этот ВП является частью проекта метеостанции.
Рис. 3-40. Измененная блок-диаграмма ВП Предупреждения.
1. Откройте ВП Предупреждения.
q Выберите пункт меню File>>Open Project.
q Откройте файл Метеостанция.lvproj из каталога C:\Exercises\LabVIEW Basics I\Курсовой проект.
q Дважды щелкните на Предупреждения.vi в окне Project Explorer, чтобы открыть этот ВП.
2. Откройте блок-диаграмму.
3. Создайте на блок-диаграмме место для структуры выбора.
Элементы управления МаксТемп и МинТемп, а также индикаторы Текст и Предупреждение? должны быть за пределами новой структуры, поскольку они используются в обоих вариантах.
q Выделите терминалы МаксТемп и МинТемп.
СоветЧтобы выбрать сразу несколько элементов, щелкайте на них мышью при нажатой клавише <Shift>.
q Переместите выделенные терминалы в левую часть блок-диаграммы, нажимая стрелку влево на клавиатуре.
q Выделите терминалы индикаторов Текст и Предупреждение?.
q Выровняйте терминалы, нажав Align Objects>>Left Edges.
q Пока терминалы выделены, переместите их в правую часть блок-диаграммы, нажимая стрелку вправо на клавиатуре.
4. Сравните МинТемп и МаксТемп.
q Поместите на блок-диаграмму функцию Greater?.
q Соедините выход МинТемп с входом x функции Greater?.
q Соедините выход МаксТемп с входом y функции Greater?.
q Заключите код блок-диаграммы в структуру Case, оставив снаружи отодвинутые терминалы.
q Соедините выход функции Greater? с селектором варианта структуры Case.
5. Если МинТемп меньше МаксТемп, должен выполняться код, генерирующий строку и сигнал предупреждения.
q При открытом варианте True щелкните правой кнопкой на рамке структуры и выберите в контекстном меню Make This Case False. Когда структура Case создается вокруг существующего кода, этот код автоматически помещается в вариант True.
Рис. 3-41. Блок-диаграмма ВП Предупреждения.
6. Для случая, когда МинТемп больше МаксТемп, создайте специальную строку для индикатора Текст и установите индикатор Предупреждение? в True, как показано на рис. 3-41.
q Выберите вариант True.
q Щелкните правой кнопкой на строковом выходном туннеле и выберите в контекстном меню Create>>Constant.
q Введите в константу текст Верхний предел < Нижний предел.
q Щелкните правой кнопкой на логическом выходном туннеле и выберите в контекстном меню Create>>Constant.
q Инструментом УПРАВЛЕНИЕ измените константу на True.
7. Сохраните ВП.
Тестирование
1. Перейдите на лицевую панель ВП.
2. Растяните индикатор Текст, чтобы в него поместилась новая строка.
3. Протестируйте ВП, вводя значения ТекущТемп, МаксТемп и МинТемп из табл. 3-4.
Табл. 3-4. Тестовые значения для Предупреждения.vi.
ТекущТемп | МаксТемп | МинТемп | Текст | Предупреждение? |
Жарко | True | |||
Нет | False | |||
Холодно | True | |||
Верхний предел < Нижний предел | True |
4. Сохраните и закройте ВП.
5. Сохраните и закройте проект.
Конец упражнения 3-7
Упражнение 3-9 ВП для вывода предупреждений
(дополнительно)
Упражнение для самостоятельной работы
Цель
Модифицировать существующий ВП, применяя для выбора узел формул или структуру Case.
Сценарий
В виртуальном приборе Предупреждения из упражнения 3-2 для выбора нужной строки использовалась функция Select. Переделайте блок-диаграмму так, чтобы то же действие выполнялось при помощи узла формул или структуры Case (или их комбинации).
Проектирование
Входные и выходные данные
Табл. 3-6. Входные и выходные данные ВП Предупреждения.
Тип | Имя | Свойства |
Числовой элемент управления | ТекущТемп | С плавающей точкой, двойной точности |
Числовой элемент управления | МаксТемп | С плавающей точкой, двойной точности |
Числовой элемент управления | МинТемп | С плавающей точкой, двойной точности |
Строковый индикатор | Текст | Три возможных значения: Жарко, Нет, Холодно |
Логический индикатор | Предупреждение? |
Блок-схема
На рис. 3-46 приведена блок-схема, которая использовалась в упражнении 3-2 при создании ВП Предупреждения.
Рис. 3-46. Блок-схема ВП Предупреждения.
Реализация
Поскольку это упражнение предполагает самостоятельную работу, инструкции не приводятся. ВП, с которого вам предстоит начать, находится в каталоге C:\Exercises\LabVIEW Basics I\Предупреждения (дополнительно).
Если потребуется помощь, откройте готовое решение. Оно находится в каталоге C:\Solutions\LabVIEW Basics I\Exercise 3-9.
Решение к этому упражнению не используется в курсовом проекте, поэтому его не нужно добавлять к файлу Метеостанция.lvproj.
Конец упражнения 3-9
Упражнение 4-3 Проект: ВП интерфейса метеостанции
Цель
Создать кластер.
Сценарий
В проекте метеостанции температурные данные должны быть сгруппированы с использованием кластера.
Проектирование
Создайте на блок-диаграмме кластерную константу со следующим содержимым:
Табл. 4-1. Кластер температурных констант.
Имя | Тип данных | Значение по умолчанию | Порядок |
Temperature | Число двойной точности | ||
T Upper Limit | Число двойной точности | ||
T Lower Limit | Число двойной точности | ||
Warning | Строка | "Нет" |
Обратите внимание, что в кластер помещены все входные и выходные данные метеостанции. Использование кластера для передачи данных упрощает блок-диаграмму.
Реализация
1. Откройте проект метеостанции.
q Выберите пункт меню File>>Open Project.
q Перейдите в каталог C:\Exercises\LabVIEW Basics I\Курсовой проект и откройте файл Метеостанция.lvproj.
2. Откройте ВП пользовательского интерфейса метеостанции.
q В окне Project Explorer дважды щелкните на Интерфейс метеостанции.vi.
3. Откройте блок-диаграмму.
Постройте блок-диаграмму по образцу рис. 4-24.
Рис. 4-24. Блок-диаграмма ВП Интерфейс метеостанции.
4. Создайте константу Температура.
q Поместите на блок-диаграмму числовую константу.
q Щелкните правой кнопкой на константе и выберите Representation>>Double Precision.
q Щелкните правой кнопкой на константе и выберите Visible Items>>Label. Введите в метку текст Температура.
5. Создайте константу Т ВерхПредел.
q Нажмите клавишу <Ctrl> и скопируйте константу Температура методом перетаскивания.
q Переименуйте новую константу в Т ВерхПредел.
6. Создайте константу Т НижПредел.
q Нажмите клавишу <Ctrl> и скопируйте константу Т ВерхПредел методом перетаскивания.
q Переименуйте новую константу в Т НижПредел.
7. Создайте константу Предупреждение.
q Поместите на блок-диаграмму строковую константу.
q Введите в константу текст Нет.
q Щелкните правой кнопкой на константе и выберите Visible Items>>Label. Введите в метку текст Предупреждение.
8. Объедините константы в кластер.
q Поместите на блок-диаграмму функцию Bundle и расширьте ее так, чтобы получить четыре входа.
q Соедините константы с функцией, как показано на рис. 4-24.
9. Сохраните ВП.
Построение блок-диаграммы будет продолжено в следующем упражнении.
Конец упражнения 4-3
Упражнение 4-4 Проект: заказной элемент управления для метеостанции
Цель
Создать перечислимый элемент управления на основе определения типа.
Сценарий
В проекте метеостанции используется перечислимый элемент управления, задающий состояния конечного автомата. В этом упражнении нужно создать определение типа для перечислимого элемента управления. Определение типа упростит добавление новых состояний в будущем.
Проектирование
Перечислимый элемент управления содержит следующие данные.
Табл. 4-2. Данные перечислимого элемента управления.
Элемент | Значение |
Сбор данных | |
Анализ | |
Сохранение | |
Проверка времени |
Обратите внимание, что эти элементы соответствуют состояниям на диаграмме переходов, разработанной для проекта метеостанции.
Рис. 4-25. Диаграмма переходов для проекта метеостанции.
Реализация
1. Откройте проект метеостанции.
q Выберите пункт меню File>>Open Project.
q Перейдите в каталог C:\Exercises\LabVIEW Basics I\Курсовой проект и откройте файл Метеостанция.lvproj.
2. Откройте ВП пользовательского интерфейса метеостанции.
q В окне Project Explorer дважды щелкните на Интерфейс метеостанции.vi.
3. Создайте на лицевой панели перечислимый элемент управления.
q Поместите элемент Enum в любом месте лицевой панели. Далее в этом упражнении он будет удален.
q Щелкните правой кнопкой на Enum и выберите пункт Properties.
q Перейдите на страницу Edit Items.
q Введите имена элементов из табл. 4-2. На рис. 4-26 показано, как должен выглядеть диалог Enum Properties после ввода имен. Следите за тем, чтобы случайно не добавить к списку пустые записи.
Рис. 4-26. Диалог свойств перечислимого элемента управления.
q По окончании ввода нажмите OK, чтобы закрыть диалог.
4. Создайте определение типа для перечислимого элемента управления.
q Щелкните правой кнопкой на элементе управления и выберите пункт Advanced>>Customize. Откроется окно редактора элементов.
q Выберите Type Def. в раскрывающемся меню Type Def. Status, как показано на рис. 4-27.
Рис. 4-27. Окно редактора элементов.
q Выберите пункт меню File>>Save.
q Назовите элемент управления Состояния метеостанции.ctl и выберите для него каталог C:\Exercises\LabVIEW Basics I\Курсовой проект\Вспомогательные файлы.
q Выберите пункт File>>Close, чтобы закрыть окно редактора.
q Нажмите Yes в ответ на запрос о замене существующего элемента.
5. Щелкните правой кнопкой на элементе Enum. Обратите внимание, что в контекстном меню появились новые опции, обеспечивающие взаимодействие с определением типа.
6. Удалите элемент Enum с лицевой панели, изменив его на константу блок-диаграммы.
q Нажмите <Ctrl-E>, чтобы открыть блок-диаграмму.
q Щелкните правой кнопкой на терминале Enum и выберите в контекстном меню пункт Change to Constant.
Обратите внимание, что состояния теперь можно выбирать на блок-диаграмме, а элемент управления на лицевой панели исчез.
7. Сохраните и закройте ВП.
Построение блок-диаграммы будет продолжено в следующих упражнениях.
Конец упражнения 4-4
Упражнение 6-1 Проект: ВП для вывода предупреждений
Цель
Создать иконку и соединительную панель для ВП, который предстоит использовать в качестве подВП.
Сценарий
Вы создали ВП, который выводит ту или иную строку предупреждения в зависимости от входных данных. Теперь нужно создать иконку и соединительную панель, чтобы этот ВП можно было использовать как подВП в проекте метеостанции.
Проектирование
Входы и выходы подВП перечислены в табл. 6-1.
Табл. 6-1. Входы и выходы подВП Determine Warnings.
Входы | Выходы |
ТекущТемп | Текст |
МаксТемп | Предупреждение? |
МинТемп |
Используйте стандартную соединительную панель (показана слева), чтобы зарезервировать место на случай будущих расширений. Добавьте к ВП вход и выход ошибки, и сделайте так, чтобы код выполнялся только при отсутствии ошибки на входе.
Реализация
1. Откройте ВП Предупреждения.
q Выберите пункт меню File>>Open Project.
q Откройте Метеостанция.lvproj из каталога C:\Exercises\LabVIEW Basics I\Курсовой проект.
q Дважды щелкните на Предупреждения.vi в окне Project Explorer, чтобы открыть ВП.
2. Добавьте к ВП вход и выход ошибки.
q Поместите на лицевую панель элемент Error In 3D.ctl.
q Поместите на лицевую панель элемент Error Out 3D.ctl.
3. Выберите шаблон соединительной панели.
q Щелкните правой кнопкой на иконке в верхнем правом углу окна и выберите в контекстном меню пункт Show Connector.
q Щелкните правой кнопкой на соединительной панели и выберите в контекстном меню пункт Patterns, а затем выберите шаблон, показанный слева.
4. Распределите по терминалам входы и выходы так, как показано на рис. 6-7.
Рис. 6-7. Терминалы соединительной панели ВП Предупреждения.
q Щелкните инструментом СОЕДИНЕНИЕ на верхнем левом терминале соединительной панели.
q Щелкните на соответствующем элементе лицевой панели (ТекущТемп).
Обратите внимание, что цвет терминала теперь соответствует типу данных элемента управления, соединенного с терминалом.
q Щелкните на следующем терминале соединительной панели.
q Щелкните на соответствующем элементе лицевой панели (МаксТемп).
q Продолжайте работать с соединительной панелью, пока все элементы управления и индикаторы не будут связаны с терминалами. Окно контекстной справки должно выглядеть так, как на рис. 6-7.
5. Создайте иконку ВП.
q Щелкните правой кнопкой на соединительной панели и выберите пункт Edit Icon. Откроется окно редактора иконок.
q Создайте иконку, пользуясь инструментами редактора. Изображение может быть простым или сложным, но в любом случае оно должно ассоциироваться с функцией, которую выполняет ВП. Пример простой иконки для этого ВП приведен на рис. 6-8.
Рис. 6-8. Пример иконки «Предупреждение».
q Закончив работу, нажмите OK, чтобы сохранить иконку и закрыть редактор.
Совет Для выделения всего изображения иконки дважды щелкните на инструменте ВЫДЕЛЕНИЕ. Чтобы полностью удалить изображение, нажмите клавишу <Del>.
Совет Для изменения шрифта дважды щелкните на инструменте ТЕКСТ. Если нужно ввести текст размером менее 9 пунктов, выбирайте шрифт Small Fonts.
6. Щелкните правой кнопкой на соединительной панели и выберите в контекстном меню Show Icon, чтобы переключиться на иконку.
7. Сохраните ВП.
8. Перейдите на блок-диаграмму.
9. Дополните код так, чтобы ВП выполнялся при отсутствии ошибок на входе, и не выполнялся при их наличии.
Рис. 6-9. Поддиаграмма No Error для ВП Предупреждения.
q Заключите код блок-диаграммы в структуру Case, как показано на рис. 6-9. Индикаторы Текст и Предупреждение? должны остаться снаружи.
q Поместите терминал error in слева от структуры Case.
q Поместите терминал error out справа от структуры Case.
q Соедините терминал error in с терминалом селектора вариантов.
q Убедитесь, что код находится на поддиаграмме No Error. Если это не так, перейдите к варианту, содержащему код, щелкните правой кнопкой на структуре Case и выберите в контекстном меню пункт Make this Case No Error.
q Протяните проводник от кластера ошибки через всю структуру к терминалу error out, как показано на рис. 6-9.
q Перейдите к варианту Error.
q Протяните проводник от кластера ошибки через всю структуру к туннелю error out.
q Щелкните правой кнопкой на туннеле Предупреждение? и выберите в контекстном меню Create>>Constant.
q Измените константу на True инструментом УПРАВЛЕНИЕ.
q Щелкните правой кнопкой на туннеле Текст и выберите в контекстном менюCreate>>Constant.
q Введите в константу текст Ошибка.
q Проверьте, совпадает ли ваша поддиаграмма Error с показанной на рис. 6-10.
Рис. 6-10. Поддиаграмма Error для ВП Предупреждения.
Если на входе ВП присутствует ошибка, ВП выводит слово "Ошибка" на индикатор Текст, устанавливает индикатор Предупреждение? в True и передает ошибку на выход. Если на входе ошибки нет, ВП выполняет свой основной код.
10. Сохраните и закройте ВП.
Тестирование
Для тестирования подВП используйте пустой ВП.
1. Откройте пустой ВП.
2. Откройте его блок-диаграмму.
3. Поместите тестируемый подВП на блок-диаграмму пустого ВП.
q Перейдите в окно Project Explorer.
q Выберите файл Предупреждения.vi.
q Перетащите ВП Предупреждения на блок-диаграмму пустого ВП.
4. Создайте элементы управления и индикаторы для каждого терминала подВП.
q Щелкните правой кнопкой на терминале ТекущТемп и выберите в контекстном меню Create>>Control.
q Щелкните правой кнопкой на терминале МаксТемп и выберите в контекстном меню Create>>Control.
q Щелкните правой кнопкой на терминале МинТемп и выберите в контекстном меню Create>>Control.
q Щелкните правой кнопкой на терминале Текст и выберите в контекстном меню Create>>Indicator.
q Щелкните правой кнопкой на терминале Предупреждение? и выберите в контекстном меню Create>>Indicator.
5. Перейдите на лицевую панель.
6. Введите тестовые значения в элементы ТекущТемп, МаксТемп и МинТемп.
7. Запустите ВП.
8. Закончив тестирование, закройте тестовый ВП. Сохранять его не нужно.
Конец упражнения 6-1
Упражнение 11-1 Проект: метеостанция
Цель
Создать конечный автомат и закрепить навыки, полученные в этом курсе.
Сценарий
Требуется завершить курсовой проект, введя в него конечный автомат, действующий согласно разработанной ранее диаграмме состояний.
Программа считывает температуру с интервалом в полсекунды, сравнивает каждое значение с верхним и нижним порогами и предупреждает пользователя об опасности теплового удара или замерзания. В случае выдачи предупреждения данные сохраняются в файле. Если пользователь не нажал кнопку останова, весь процесс повторяется.
Проектирование
Этап проектирования для этого проекта уже завершен. Здесь еще раз приводятся входные и выходные данные, а также блок-схема.