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

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

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

9. Использование переменных

Рисунок 9-1. Реализованный код состояния Acquisition

На блок-диаграмме Weather Station UI VI выберите фрейм Acquisition

в структуре Case конечного автомата.

Внутри состояния Acquisition замените Next State enum на Range Check.

Сделайте копию Next State enum, нажав <Ctrl> и перетащив копию за цикл While.

Переместите числовые элементы управления Upper Limit и Lower Limit за цикл While.

Измените размер функции Bundle by Name до одного элемента, как показано на рисунке 9-1.

Выберите фрейм Range Check в структуре Case конечного автомата.

Переместите числовые элементы управления Upper Limit и Lower Limit и Next State enum в состояние Range Check.

4.Обеспечьте перехода из состояния Range Check в состояние Analysis

Во фрейме Range Check подключите Next State enum к выходному туннелю Next State.

Измените Next State enum на Analysis.

5.Если Upper Limit меньше, чем Lower Limit, используйте локальную переменную для записи значения Upper Limit в элемент управления Lower Limit, как показано на рисунке 9-2.

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

151

ni.com

9. Использование переменных

Рисунок 9-2. Реализованный код состояния Range Check—True

Добавьте функцию Less? в состояние Range Check.

Добавьте структуру Case справа от функции Less?.

Подключите элементы управления Upper Limit и Lower Limit к функции Less? и структуре Case, как показано на рисунке 9-2.

Щелкните правой кнопкой мыши по элементу управления Lower Limit и выберите из контекстного меню Create»Local Variable.

Переместите локальную переменную во фрейм True структуры Case.

Добавьте функцию Bundle By Name справа от структуры Case.

Подключите кластер Temperature Data ко входу input cluster

функции Bundle By Name.

Расширьте функцию Bundle By Name до двух элементов.

Выберите T Upper Limit в первом элементе и T Lower Limit во втором.

Добавьте константу False во внешнюю структуру Case.

Завершите разработку кода во фрейме, как показано на рисунке 9-2.

© National Instruments Corporation

152

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

9.Использование переменных

6.Если значение Upper Limit больше или равно Lower Limit, передайте значения элементов управления в кластер температуры, как показано на рисунке 9-3.

Рисунок 9-3. Реализованный код состояния Range Check—False

Переключитесь на фрейм False внутренней структуры Case.

Проведите соединения данных Upper Limit и Lower Limit через этот фрейм.

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

8.Сохраните проект.

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

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

Задайте имя файла данных, когда откроется соответствующее окно.

Введите в элемент управления Upper Limit значение, которое меньше значения элемента управления Lower Limit. Совпадает ли поведение VI с ожидаемым?

2.Когда закончите упражнение, остановите VI.

3.Закройте VI и проект.

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

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

153

ni.com

9. Использование переменных

Упражнение 9-2. Global Data Project

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

Создать проект, содержащий несколько VI, которые обмениваются данными используя переменную общего доступа типа Single-process Shared Variable.

Задание

Создайте VI, который генерирует синусоидальный сигнал. Создайте второй VI, который визуализирует этот сигнал и позволяет изменять время между циклами сбором данных. Используйте одну кнопку Stop для останова обоих

VIs.

План решения

Для реализации этого VI необходимы два VI и два элемента глобальных данных.

Первый VI: генерирует синусоидальный сигнал, записывает его в переменную общего доступа Data, считывает переменную общего доступа Stop для останова цикла.

Второй VI: считывает переменную общего доступа Data, отображает данные на графическом индикаторе (Chart), записывает значения кнопки Stop в переменную общего доступа Stop.

Первая переменная общего доступа: Stop (булевский тип данных). Вторая переменная общего доступа: Data (числовой тип данных).

Реализация

1.Откройте пустой проект.

2.Сохраните проект как Global Data.lvproj в папке

<Exercises>\LabVIEW Core 1\Global Data.

3.Создайте переменную общего доступа Stop.

Задайте переменной следующие свойства.

-Name: Stop

-Variable Type: Single-process

-Data Type: Boolean

Щелкните по кнопке OK для закрытия окна Shared Variable Properties. Обратите внимание, что в окне Project Explorer

появилась новая библиотека, содержащая переменную.

© National Instruments Corporation

154

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

9.Использование переменных

4.Сохраните библиотеку.

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

Сохраните библиотеку под именем Global Data.lvlib в папке

<Exercises>\LabVIEW Core 1\Global Data.

5.Создайте переменную общего доступа Data.

Перейдите в окно Project Explorer.

Щелкните правой кнопкой мыши по строке Global Data.lvlib и выберите из контекстного меню New»Variable.

Задайте следующие свойства новой переменной:

-Name: Data

-Variable Type: Single-process

-Data Type: Double

Щелкните по кнопке OK для закрытия диалогового окна Shared Variable Properties.

Generate Data VI

1.Откройте пустой VI.

2.Сохраните VI под именем Generate Data.vi в папке

<Exercises>\LabVIEW Core 1\Global Data.

3.Добавьте на лицевую панель числовой индикатор.

4.Назовите числовой индикатор Data.

5.Перейдите на блок-диаграмму VI.

6.Создайте блок-диаграмму, показанную на рисунке 9-4. Инструкций по реализации не дается. Метки объектов вам помогут.

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

155

ni.com

9. Использование переменных

Рисунок 9-4. Блок-диаграмма Generate Data без переменных

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

8.Запишите генерируемые данные в переменную общего доступа Data.

Выберите переменную общего доступа Data из окна Project Explorer

иперетащите ее в цикл While на блок-диаграмме Generate Data VI.

Щелкните по глобальной переменной правой кнопкой мыши и выберите из контекстного меню Change to Write.

Подключите выход Sin(x) функции Sine к переменной общего доступа Data.

9.Считайте переменную общего доступа Stop для останова цикла While.

Перейдите в окно Project Explorer.

Выберите переменную общего доступа Stop из окна Project Explorer

иперетащите ее в цикл While на блок-диаграмме Generate Data VI.

Подключите переменную общего доступа Stop к терминалу Loop Condition.

10.Инициализируйте переменную общего доступа Stop.

Перейдите в окно Project Explorer.

Выберите переменную общего доступа Stop и перетащите ее на блокдиаграмму Generate Data.vi слева от цикла While.

Щелкните правой кнопкой мыши переменную общего доступа Stop и выберите Change to Write из контекстного меню.

Щелкните правой кнопкой мыши по входу переменной общего доступа Stop и выберите из контекстного меню Create»Constant для создания константы False.

© National Instruments Corporation

156

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

9.Использование переменных

Если необходимо, воспользуйтесь инструментом Operating для изменения константы на False.

11.Используйте кластеры ошибок переменной общего доступа для задания порядка выполнения операций. Обратитесь к рисунку 9-5 за подсказками по соединениям на блок-диаграмме.

Рисунок 9-5. Создание блок-диаграммы Generate Data с переменными общего доступа

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

13.Закройте блок-диаграмму, но оставьте открытой лицевую панель.

Read Data VI

1.Откройте пустой VI.

2.Сохраните VI под именем Read Data.vi в папке

<Exercises>\LabVIEW Core 1\Global Data.

3.Создайте лицевую панель, показанную на рисунке 9-6.

Рисунок 9-6. Лицевая панель Read Data

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

157

ni.com

9. Использование переменных

4.Добавьте вертикальный ползунковый регулятор и назовите его Time Delay (ms).

Измените диапазон регулятора, введя 200 в верхнее значение.

Щелкните по регулятору правой кнопкой мыши и выберите из контекстного меню Representation»U32

Добавьте графический индикатор (Waveform Chart) и назовите его

Data Chart.

Измените диапазоны шкал x и y и метки индикатора, как показано на рисунке 9-6.

Добавьте кнопку Stop и скройте ее метку.

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

6.Создайте блок-диаграмму, показанную на рисунке 9-7. Для подсказки показаны метки.

Рисунок 9-7. Блок-диаграмма Read Data без переменных общего доступа

7.Считайте данные из переменной общего доступа Data и отобразите их на индикаторt Waveform Chart.

Перейдите в окно Project Explorer.

Выберите переменную общего доступа Data и перетащите ее в цикл

While на блок-диаграмме Read Data VI.

Подключите выход переменной общего доступа Data к индикатору

Data Chart.

8.Подключите элемент управления Stop к переменной общего доступа

Stop.

© National Instruments Corporation

158

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

9.Использование переменных

Перейдите в окно Project Explorer.

Выберите переменную общего доступа Stop и перетащите ее в цикл While на блок-диаграмме Read Data.vi.

Щелкните правой кнопкой мыши по переменной общего доступа Stop и выберите из контекстного меню Change to Write.

Подключите элемент управления Stop к переменной общего доступа

Stop.

9.Используйте кластеры ошибок переменной общего доступа для задания порядка выполнения операций. Обратитесь к рисунку 9-8 за подсказками по проектированию блок-диаграммы.

Рисунок 9-8. Блок-диаграмма Read Data с переменными общего доступа

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

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

12.Сохраните проект.

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

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

2.Запустите Read Data VI.

3.Измените значение элемента управления Time Delay (ms).

Элементу управления Time Delay (ms) определяет, насколько часто считывается переменная общего доступа. Что произойдет, если вы придадите Time Delay значение 0? При доступе к глобальным данным вы можете считать данные несколько раз, прежде чем они обновятся, либо можете пропустить новое значение, в зависимости от значения Time Delay.

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

159

ni.com

9. Использование переменных

4. Когда закончите упражнение, остановите и закройте VI и проект.

Задание повышенной сложности

Создайте функциональную глобальную переменную для обработки данных Stop и использования в Generate Data VI и Read Data VI для разделения кнопки stop между двумя VIs.

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

© National Instruments Corporation

160

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