ASVT Материалы / основы_labview_1_упражнения_
.pdf3. Поиск ошибок и отладка VI
В окне Probe Watch Window отображаются все пробники всех VI, которые в настоящий момент находятся в памяти. В этом окне пробники отсортированы в порядке их создания, причем они группируются ниже тех VI, которым они принадлежат.
Выполните VI в пошаговом режиме. В окне Probe Watch Window отображаются данные, передаваемые через проводник.
12.Разместите на блок-диаграмме контрольные точки, чтобы на них приостанавливалось выполнение VI.
Поместите контрольную точку на блок-диаграмме, щелкая инструментом Breakpoint по узлам или проводникам, чтобы выполнение VI приостанавливалось после того, как все узлы на блокдиаграмме выполнятся.
Щелкните по кнопке Run для запуска VI. Когда будет достигнута контрольная точка, выполнение VI приостанавливается, а кнопка Pause на панели инструментов становится красного цвета.
Щелкните по кнопке Continue, чтобы продолжить выполнение VI до следующей контрольной точки или до выхода из программы.
Для удаления контрольных точек щелкните по ним инструментом
Breakpoint.
13.Щелкните по кнопке Highlight Execution, чтобы запретить подсветку выполнения.
14.Закройте VI и другие открытые окна командой меню File»Close.
Конец упражнения 3-2
Основы LabVIEW 1. Упражнения |
51 |
ni.com |
3. Поиск ошибок и отладка VI
Заметки
© National Instruments Corporation |
52 |
Основы LabVIEW 1. Упражнения |
4
Реализация VI
Упражнение 4-1. Determine Warnings VI
Цель упражнения
Создать и задокументировать простой VI.
Задание
Вам необходимо создать некоторую часть большого проекта. Главный разработчик задает вам входные данные для VI, алгоритм функционирования, а также ожидаемые выходные данные. В соответствии с приведенной ниже архитектурой создайте VI и документацию на него.
План решения
Входы и выходы
Тип |
Имя |
Свойства |
|
|
|
|
|
Числовой элемент |
Current Temp |
Число с плавающей точкой с |
|
управления |
двойной точностью |
||
|
|||
|
|
|
|
Числовой элемент |
Max Temp |
Число с плавающей точкой с |
|
управления |
двойной точностью |
||
|
|||
|
|
|
|
Числовой элемент |
Min Temp |
Число с плавающей точкой с |
|
управления |
двойной точностью |
||
|
|||
|
|
|
|
|
|
Три возможных значения: |
|
Строковый индикатор |
Warning Text |
Heatstroke Warning, No Warning, |
|
|
|
Freeze Warning |
|
|
|
|
|
Круглый |
|
|
|
светодиодный |
Warning? |
|
|
индикатор |
|
|
|
|
|
|
© National Instruments Corporation |
53 |
Основы LabVIEW 1. Упражнения |
4. Реализация VI
Блок-схема
Рисунок 4-1. Блок-схема алгоритма Determine Warnings VI
© National Instruments Corporation |
54 |
Основы LabVIEW 1. Упражнения |
4. Реализация VI
Реализация VI
Выполняя последующие инструкции, создайте лицевую панель, похожую на изображенную на рисунке 4-2. Пользователь вводит текущую температуру, максимальную температуру и минимальную температуру. На лицевой панели данные отображаются в строке предупреждения и на светодиодном индикаторе. Этот VI – часть проекта метеостанции, разработка которой является содержанием курсового проекта.
1.Откройте пустой VI и создайте лицевую панель в соответствии с рисунком 4-2.
Рисунок 4-2. Лицевая панель Determine Warnings VI
2.Сохраните новый VI.
Выберите команду меню File»Save.
Сохраните VI под именем Determine Warnings.vi в папке
<Exercises>\ LabVIEW Core 1\Determine Warnings.
3.Создайте числовой элемент управления для ввода текущей температуры.
Поместите числовой элемент управления на лицевую панель.
Измените метку этого элемента на Current Temp.
Щелкните правой кнопкой мыши по элементу управления, выберите в контекстном меню команду Representation и убедитесь, что формат представления данных установлен числовой с двойной точностью.
Подсказка: В данном subVI можно использовать любую температурную шкалу, в том числе Фаренгейта, Кельвина и т.д., однако все входы должны такого же типа. Поэтому в метках можно не указывать единицы измерения.
4.Создайте числовой элемент управления для максимальной температуры.
Удерживая нажатой клавишу <Ctrl>, щелкните мышью по элементу управления Current Temp и переместите его, чтобы создать копию этого элемента управления.
Основы LabVIEW 1. Упражнения |
55 |
ni.com |
4. Реализация VI
Измените текст метки нового элемента на Max Temp.
5.Создайте числовой элемент управления для минимальной температуры.
Удерживая нажатой клавишу <Ctrl>, щелкните мышью по элементу управления Max Temp и переместите его, чтобы создать копию этого элемента управления.
Измените текст метки нового элемента на Min Temp.
6.Создайте строковый индикатор для текста предупреждения.
|
Поместите строковый индикатор на лицевую панель. |
|
Измените текст метки строкового индикатора на Warning Text. |
7. |
Создайте круглый светодиодный индикатор Round LED или другой |
|
булевский индикатор для сигнализации о предупреждении. |
|
Поместите круглый светодиодный индикатор на лицевую панель. |
|
Измените текст метки этого индикатора на Warning?. |
8. |
Перейдите на блок-диаграмму. |
Подсказка: Если вы не хотите, чтобы терминалы на блок-диаграмме отображались в виде иконок, выберите команду меню Tools»Options, а затем пункт Block Diagram из списка Category. Снимите флажок Place front panel terminals as icons.
Выполните следующие действия, чтобы создать блок-диаграмму, изображенную на рисунке 4-3.
Рисунок 4-3. Блок-диаграмма Determine Warnings VI
9.Организуйте сравнение Current Temp и Max Temp.
Добавьте на блок-диаграмму функцию Greater Or Equal?.
Соедините элемент управления Current Temp со входом x функции
Greater Or Equal?.
Соедините элемент управления Max Temp со входом y функции
Greater Or Equal?.
© National Instruments Corporation |
56 |
Основы LabVIEW 1. Упражнения |
4. Реализация VI
10.Организуйте сравнение Current Temp и Min Temp.
Добавьте на блок-диаграмму функцию Less Or Equal?.
Соедините элемент управления Current Temp со входом x функции
Less Or Equal?.
Соедините элемент управления Min Temp со входом y функции Less Or Equal?.
11.Сделайте так, чтобы генерировалась строка Heatstroke Warning, если значение элемента управления Current Temp больше либо равно значению элемента управления Max Temp. В противном случае должна генерироваться строка No Warning.
Добавьте на блок-диаграмму функцию Select справа от функции
Greater Or Equal?.
Соедините выход функции Greater Or Equal? со входом s функции
Select.
Добавьте на блок-диаграмму строковую константу левее и выше функции Select.
Введите в эту строковую константу текст Heatstroke Warning.
Соедините строку Heatstroke Warning со входом t функции
Select.
Удерживая нажатой клавишу <Ctrl>, щелкните мышью по строковой константе Heatstroke Warning и переместите ее ниже и левее функции Select, чтобы создать копию константы.
В получившуюся вторую константу введите текст No Warning.
Соедините константу No Warning со входом f функции Select.
12.Сделайте так, чтобы генерировалась строка Freeze Warning, если значение элемента управления Current Temp меньше либо равно значению элемента управления Min Temp. В противном случае должна генерироваться строка, такая же, что и в пункте 11.
Создайте копию функции Select и поместите ее справа от функции
Less Or Equal?.
Соедините выход функции Less Or Equal? со входом s функции
Select.
Создайте копию строковой константы и поместите ее выше и слева от функции Select.
В строковую константу введите текст Freeze Warning.
Соедините строку Freeze Warning со входом t функции Select.
Соедините выход ранее созданной функции Select со входом f новой функции Select.
13.Сделайте так, чтобы сгенерированный текст выводился на экран.
Соедините выход второй функции Select с индикатором Warning Text.
Основы LabVIEW 1. Упражнения |
57 |
ni.com |
4. Реализация VI
14.Сделайте так, чтобы значение булевского индикатора Warning? определялось тем, совпадает ли сообщение на строковом индикаторе
Warning Text с текстом No Warning.
Добавьте на блок-диаграмму функцию Add a Not Equal? слева от индикатора Warning?.
Соедините выход второй функции Select со входом x функции Not Equal?
Соедините строковую константу No Warning со входом y функции
Not Equal?.
Соедините выход функции Not Equal? с индикатором Warning?.
15.Задокументируйте программный код с учетом нижеследующих рекомендаций, касающихся лицевой панели.
Для каждого элемента управления или индикатора создайте подсказки, в которых указаны соответствующие обозначения и единицы измерения. Щелкните правой кнопкой мыши по объекту и выберите команду контекстного меню Description and Tip.
Заполните диалоговое окно VI Properties, внеся туда общее описание VI, список входов и выходов, вашу фамилию и имя, дату создания VI. Чтобы открыть окно VI Properties, выберите команду меню
File»VI Properties.
Создайте описание алгоритма работы блок-диаграммы с помощью свободных меток.
16.Сохраните VI.
© National Instruments Corporation |
58 |
Основы LabVIEW 1. Упражнения |
4. Реализация VI
Тестирование VI
1.Проверьте работоспособность спроектированного VI путем ввода значений в органы управления Current Temp, Max Temp и Min Temp и запуска VI для каждого набора этих значений.
Ожидаемые значения строкового индикатора Warning Text и булевского индикатора Warning? для каждого набора входных параметров приведены в таблице 4-1.
Таблица 4-1. Тестовые значения для Determine Warnings VI
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 |
|
|
|
|
|
Что будет, если вы введете в элемент управления Max Temp значение, которое меньше, чем значение элемента управления Min Temp? Что в этом случае должно случиться по вашему мнению? Вы научитесь обрабатывать подобные ситуации в упражнении 4-6.
2. Сохраните и закройте VI.
Конец упражнения 4-1
Основы LabVIEW 1. Упражнения |
59 |
ni.com |
4. Реализация VI
Упражнение 4-2. Auto Match VI
Цель упражнения
Научиться использовать цикл While и терминал счетчика итераций, а также передавать данные через туннель.
Задание
Требуется создать VI, который непрерывно генерирует случайные числа в диапазоне от 0 до 1000 до тех пор, пока не выпадет число, равное числу, заданному пользователем. Также необходимо подсчитать количество чисел, сгенерированных до выпадения числа, совпавшего с заданным.
План решения
Таблица 4-2. Входы и выходы
Тип |
Имя |
Свойства |
|
|
|
Вход |
Number to Match |
Число с плавающей точкой с |
|
|
двойной точностью в диапазоне |
|
|
от 0 до 1000, округляется до |
|
|
ближайшего целого, значение |
|
|
по умолчанию = 50 |
|
|
|
Выход |
Current Number |
Число с плавающей точкой с |
|
|
двойной точностью |
|
|
|
Выход |
Number of |
Целое число |
|
Iterations |
|
|
|
|
© National Instruments Corporation |
60 |
Основы LabVIEW 1. Упражнения |