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

ASVT Материалы / основы_labview_1_упражнения_

.pdf
Скачиваний:
130
Добавлен:
29.03.2016
Размер:
3.28 Mб
Скачать

4. Реализация VI

2.Остановите VI, изменив состояние выключателя Power на лицевой панели. Вы увидите, что этот выключатель тут же возвращается в положение On. Его поведение определяется заданным механическим свойством.

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

3.Перейдите в окно блок-диаграммы.

4.Модифицируйте блок-диаграмму согласно рисунку 4-9.

Рисунок 4-9. Блок-диаграмма Average Temperature VI

Щелкните правой кнопкой мыши по правой или левой границе цикла While и выберите из контекстного меню команду Add Shift Register, чтобы создать сдвиговый регистр.

Щелкните правой кнопкой мыши по левому терминалу сдвигового регистра и выберите из контекстного меню команду Add Element.

Удерживая нажатой клавишу <Ctrl>, щелкните мышью по Thermometer VI и переместите его за пределы цикла While, чтобы создать копию subVI.

Thermometer VI возвращает один отсчет температуры с датчика и инициализирует сдвиговые регистры перед началом цикла.

Поместите на блок-диаграмму функцию Compound Arithmetic.

-Сконфигурируйте данную функцию так, чтобы она возвращала сумму текущей температуры и двух предыдущих значений,

-С помощью инструмента Positioning измените размер функции Compound Arithmetic, чтобы у нее слева появилось три терминала.

Поместите на блок-диаграмму функцию Divide. Эта функция возвращает среднее значение последних трех отсчетов температуры.

Соедините функции на блок-диаграмме согласно рисунку 4-9.

Щелкните правой кнопкой мыши по входу y функции Divide и выберите из контекстного меню команду Create»Constant.

В константу введите число 3 и нажмите на клавишу <Enter>.

5.Сохраните VI.

Основы LabVIEW 1. Упражнения

71

ni.com

4. Реализация VI

Тестирование VI

1.Запустите VI.

2.Если у вас есть установленная аппаратура, коснитесь пальцем датчика температуры на вспомогательном сигнальном блоке, чтобы нагреть датчик.

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

три, чтобы найти среднее значение результатов трех измерений текущего и двух предыдущих. Это среднее выводится на графический индикатор типа Waveform Chart. Обратите внимание на то, что VI инициализирует сдвиговый регистр результатом измерения температуры.

3.Остановите VI с помощью переключателя Power на лицевой панели.

4.Закройте VI.

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

© National Instruments Corporation

72

Основы LabVIEW 1. Упражнения

4. Реализация VI

Упражнение 4-5. Temperature Multiplot VI

Цель упражнения

Вывести несколько наборов данных на один графический индикатор типа Waveform Chart и настроить режим отображения.

Постановка задачи

Модифицируйте VI из упражнения 4-6 так, чтобы он отображал и текущую температуру, и скользящее среднее на одном графическом индикаторе. Кроме того, необходимо предоставить пользователю возможность просматривать графики по частям в процессе сбора данных.

План решения

На рисунке 4-10 приведена лицевая панель исходного VI (Average Temperature VI), а на рисунке 4-11 его блок-диаграмма.

Рисунок 4-10. Лицевая панель Average Temperature VI

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

Для модификации блок-диаграммы на рисунке 4-11 необходимо изменить терминал графического индикатора так, чтобы он воспринимал несколько различных наборов данных. С помощью функции Bundle соберите данные об усредненных значениях температуры и данные о текущих значениях температуры в кластер и подайте сборку данных на терминал индикатора

Temperature History.

Основы LabVIEW 1. Упражнения

73

ni.com

4. Реализация VI

Рисунок 4-11. Блок-диаграмма Average Temperature VI

Реализация VI

1.Откройте созданный вами в упражнении 4-4 Average Temperature VI. Если у вас есть аппаратура, следуйте инструкциям в столбце Аппаратура установлена. В противном случае следуйте инструкциям в столбце Аппаратура НЕ установлена.

Аппаратура установлена

Аппаратура НЕ установлена

 

 

Откройте Average Temperature VI из папки

Откройте Average Temperature VI в папке

<Exercises>\LabVIEW Core

<Exercises>\LabVIEW Core 1\No

1\Average Temperature.

Hardware Required\Average

 

Temperature.

 

 

Выберите команду меню File»Save As и

Выберите команду меню File»Save As и

сохраните VI под именем Temperature

сохраните VI под именем Average

Multiplot.vi в папке

Temperature Multiplot.vi в папке

<Exercises>\LabVIEW Core 1\

<Exercises>\LabVIEW Core 1\ No

Temperature Multiplot.

Hardware Required\Temperature

 

Multiplot.

 

 

Подсказка: Выберите опцию Substitute Copy for Original, чтобы закрыть Average Temperature VI и продолжить работу с Temperature Multiplot VI. Вы можете также создать соответствующую папку, если ее нет.

© National Instruments Corporation

74

Основы LabVIEW 1. Упражнения

4. Реализация VI

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

Рисунок 4-12. Блок-диаграмма VI Temperature Multiplot

2.Откройте блок-диаграмму.

3.Подайте текущую температуру и усредненную температуру на терминал графического индикатора Temperature History.

Удалите проводник, который соединяет функцию Divide с

терминалом Temperature History.

Добавьте функцию Bundle между функцией Divide и терминалом индикатора Temperature History. Если необходимо, растяните границы цикла While, чтобы освободить место.

Соедините выход функции Divide с верхним входом функции Bundle.

Текущую температуру подайте на нижний вход функции Bundle. Текущая температура формируется на выходе Thermometer subVI, который расположен внутри цикла While.

Соедините выход функции Bundle с графическим индикатором

Temperature History.

При выполнении последующих пунктов модифицируйте лицевую панель так, как показано на рисунке 4-13.

Основы LabVIEW 1. Упражнения

75

ni.com

4. Реализация VI

Рисунок 4-13. Лицевая панель Temperature Multiplot VI

4.Откройте лицевую панель.

5.Сделайте видимыми оба графика в легенде графического индикатора.

Инструментом Positioning растяните легенду, взявшись за средний верхний узел, так, чтобы там были видны два объекта,.

Измените имя верхнего графика на Running Avg.

Измените имя нижнего графика на Current Temp.

Измените тип кривой для графика Current Temp. С помощью инструмента Operating выделите этот график в легенде и выберите для него желаемый тип.

Подсказка: Порядок графиков, указанных в легенде, совпадает с порядком следования элементов, присоединенных ко входу функции Bundle.

6.Сделайте видимыми легенду шкал и палитру управления графическим индикатором.

Щелкните правой кнопкой мыши по индикатору Temperature History и выберите в контекстном меню Visible Items»Scale Legend.

Щелкните правой кнопкой мыши по индикатору Temperature History и выберите в контекстном меню Visible Items»Graph Palette.

7.Сохраните VI.

© National Instruments Corporation

76

Основы LabVIEW 1. Упражнения

4. Реализация VI

Тестирование VI

1.Запустите VI. С помощью инструментов в легенде шкал и палитре управления индикатором исследуйте данные по мере их генерации.

2.Переведите выключатель Power в положение Stop, чтобы остановить VI.

3.По окончании выполнения упражнения закройте VI.

Конец упражнения 4-5

Основы LabVIEW 1. Упражнения

77

ni.com

4. Реализация VI

Упражнение 4-6. Determine Warnings VI

Цель упражнения

Модифицировать VI для использования Case-структуры с целью принятия решений.

Задание

Ранее вы создали VI, где пользователь вводит значение температуры, а также ее верхний и нижний пределы. В зависимости от соотношения между входными параметрами генерируется та или иная строка предупреждения. Однако может возникнуть ситуация, когда VI будет работать некорректно. Пользователь может ввести в качестве максимального значение, которое меньше минимального. Модифицируйте VI так, чтобы он в этом случае выдавал пользователю сообщение об ошибке: Upper Limit < Lower Limit. В этом случае индикатор Warning? должен сигнализировать об ошибке, переключаясь в состояниеTrue.

План решения

Модифицируйте блок-схему алгоритма, созданную для исходного VI Determine Warnings согласно рисунку 4-14.

Рисунок 4-14. Модифицированная блок-схема алгоритма Determine Warnings VI

Исходная блок-диаграмма Determine Warnings VI приведена на рисунке 4- 15. В состав этого VI должна быть добавлена Case-структура, которая выполняет программный код, если максимальная температура больше или

© National Instruments Corporation

78

Основы LabVIEW 1. Упражнения

4. Реализация VI

равна минимальной. В противном случае код не должен выполняться. Вместо этого генерируется новая строка, а индикатор Warning? Устанавливается в состояние True.

Рисунок 4-15. Исходная блок-диаграмма Determine Warnings VI

Реализация VI

Выполните последующие действия для изменения блок-диаграммы в соответствии с рисунком 4-16. Этот VI является частью проекта метеостанции.

Рисунок 4-16. Модифицированная блок-диаграмма Determine Warnings VI

1.Откройте созданный вами в упражнении 4-1 Determine Warnings VI,

который находится в папке <Exercises>\LabVIEW Core 1\Determine Warnings.

2.Откройте блок-диаграмму.

3.Освободите место на блок-диаграмме, чтобы добавить Case-структуру.

Основы LabVIEW 1. Упражнения

79

ni.com

4. Реализация VI

Элементы управления Max Temp и Min Temp и индикаторы Warning Text и Warning? должны находиться за пределами новой Caseструктуры, поскольку оба фрейма Case-структуры используют эти объекты.

Выделите терминалы элементов управления Min Temp и Max Temp.

Подсказка: Чтобы выделить более, чем один элемент, удерживайте клавишу <Shift> в процессе их выделения.

Пока терминалы выделены, переместите элементы управления влево с помощью клавиши <стрелка Влево>.

Подсказка: Нажав и удерживая клавишу <Shift>, перемещайте элементы с шагом

5пикселей.

Выделите терминалы индикатора Warning Text и Warning.

Выровняйте терминалы с помощью команды Align Objects»Left Edges.

Пока терминалы выделены, с помощью клавиши <стрелка Вправо> переместите индикаторы вправо.

4.Реализуйте сравнение значений элементов управления Min Temp и Max Temp.

Добавьте функцию Greater? на блок-диаграмму.

Соедините выход элемента управления Min Temp со входом x

функции Greater?.

Соедините выход элемента управления Max Temp со входом y

функции Greater?.

Добавьте Case-структуру, обведя код блок-диаграммы, кроме терминалов элементов управления и индикаторов, упомянутых в пункте 3.

Соедините выход функции Greater? c селектором выбора Caseструктуры.

5.Если значение элемента управления Min Temp меньше значения Max Temp, должен выполняться программный код, которым определяется строка предупреждения и состояние светодиодного индикатора.

При открытом (видимом) фрейме True, щелкните правой кнопкой мыши по границе Case-структуры и выберите из контекстного меню команду Make This Case False. Когда вы создаете Case-структуру, охватывая существующий программный код, этот код автоматически помещается в ветвь True.

6.Если значение элемента управления Min Temp больше значения Max Temp, на индикатор Warning Text должна выводиться созданная вами строка, а индикатор Warning? принимать значение True (рисунок 4- 17).

© National Instruments Corporation

80

Основы LabVIEW 1. Упражнения