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

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

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

5. Связываемые данные

Добавьте справа от имеющегося кода цикл For.

Добавьте второй цикл For внутри первого.

Соедините проводником терминал индикатора массива с границей внутреннего цикла For. При этом создается автоиндексированный входной туннель для обоих циклов For.

6.Умножьте каждый элемент массива на 100.

Добавьте во внутренний цикл For функцию Multiply.

Подключите индексированный входной туннель ко входу x функции

Multiply.

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

Введите в константу 100.

7.Округлите каждый элемент до ближайшего целого числа.

Добавьте функцию Round To Nearest справа от функции Multiple.

Подключите выход функции Multiply ко входу функции Round To Nearest

8.Создайте двумерный массив на выходе циклов For для воссоздания модифицированного массива.

Подключите выход функции Round To Nearest к границе внешнего цикла For. Это создаст автоиндексированный туннель для обоих циклов For.

9.Подключите выходной массив к индикатору Intensity Graph.

10.Переключитесь на лицевую панель.

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

12.Введите значения Rows и Columns.

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

Часть 2: Реализация

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

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

101

ni.com

5. Связываемые данные

1.Откройте Array Investigation Part 1.vi, если он еще не открыт.

2. Сохраните VI, как Array Investigation Part 2.vi.

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

4.Щелкните правой кнопкой мыши по границе внутреннего цикла For, содержащего функции Multiply и Round to Nearest, и выберите Remove For Loop.

5.Щелкните правой кнопкой мыши по границе оставшегося цикла For и выберите из контекстного меню Remove For Loop. Ваша блокдиаграмма должна быть похожа на изображенную на рисунке 5-5.

Рисунок 5-5. Блок-диаграмма Array Investigation Part 2 VI

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

7.Переключитесь на лицевую панель.

8.Введите значения Rows и Columns.

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

Обратите внимание, что этот VI работает аналогично разработанному в части 1. Это происходит потому, что математические функции обладают свойством полиморфизма. Например, поскольку вход x функции Multiply - двумерный массив, а вход y - скаляр, функция Multiply умножает каждый элемент массива на скаляр и выдает на выход массив той же размерности, что и массив на входе x.

Часть 3: Реализация

Модифицируйте Array Investigation VI, чтобы этот VI создавал два новых массива, один из которых содержит данные из третьей строки, а другой - из второго столбца.

1.Откройте Array Investigation.vi, расположенный в папке

<Exercises>\LabVIEW Core 1\Manipulating Arrays

2.Сохраните VI, как Array Investigation Part 3.vi.

© National Instruments Corporation

102

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

5. Связываемые данные

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

Далее вы создадите блок-диаграмму, аналогичную представленной на рисунке 5-6.

Рисунок 5-6. Блок-диаграмма Array Investigation Part 3 VI

4.Извлеките третью строку данных из массива Array при помощи функции Index Array.

Удалите элементы справа от индикатора Array.

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

Подключите Array ко входу array функции Index Array.

Совет: Функция Index Array принимает массивы размерности n. После подключения к функции Index Array входного массива, наименования выходного и входного терминалов изменяются в соответствии с размерностью подключенного массива. Поэтому подключайте входной массив к функции Index Array, прежде чем подключать любые другие терминалы.

Щелкните правой кнопкой мыши по входу index(row) функции Index Array.

Выберите из контекстного меню Create»Constant.

Введите в константу 2 для извлечения третьей строки. Не забывайте, что индексация начинается с нуля.

Щелкните правой кнопкой мыши по выходу subarray функции Index Array.

Выберите из контекстного меню Create»Indicator.

Назовите индикатор Third Row.

5.Извлеките из массива Array второй столбец данных при помощи функции Index Array.

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

103

ni.com

5. Связываемые данные

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

Подключите Array ко входу array функции Index Array.

Щелкните правой кнопкой мыши по входу disabled index(col)

функции Index Array.

Выберите Create»Constant.

Введите в константу 1 для извлечения второго столбца, потому что индексация начинается с нуля.

Щелкните правой кнопкой мыши по выходу subarray функции Index Array.

Выберите Create»Indicator.

Назовите индикатор Second Column.

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

7.Переключитесь на лицевую панель

8.Введите значения Rows и Columns.

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

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

© National Instruments Corporation

104

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

5. Связываемые данные

Упражнение 5-2. Кластеры Цель упражнения

Создание кластеров на лицевой панели, изменение порядка элементов в кластерах и использование функций для сборки и разборки кластеров.

Описание упражнения

В этом упражнении следуйте указаниям для экспериментов с кластерами, порядком элементам в кластере и функциями для работы с кластерами. Созданные вами VI не имеют практического применения, но полезны для понимания концепции кластеров.

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

2.Сохраните VI как Cluster Experiment.vi в папке <Exercises>\LabVIEW Core 1\Clusters.

Создайте лицевую панель, аналогичную представленной на рисунке 5-7.

Рисунок 5-7. Лицевая панель Cluster Experiment VI

3.Добавьте на лицевую панель кнопку stop.

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

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

6.Измените имя светодиода на Boolean 2.

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

105

ni.com

5. Связываемые данные

7.Создайте кластер под названием Cluster, содержащий числовой элемент управления, два тумблера и ползунковый регулятор.

Поместите на лицевую панель контейнер кластера.

Поместите в контейнер кластера числовой элемент управления.

Добавьте в контейнер кластера два вертикальных тумблера.

Переименуйте тумблеры Boolean в Boolean 1 и Boolean 2.

Добавьте в кластер горизонтальный ползунковый регулятор.

8.Создайте Modified Cluster, с тем же составом, что и Cluster, но с индикаторами, а не элементами управления.

Создайте копию объекта Cluster.

Измените имя этой копии на Modified Cluster.

Щелкните правой кнопкой по контейнеру Modified Cluster и выберите из контекстного меню Change to Indicator.

9.Создайте кластер под именем Small Cluster, содержащий булевский и числовой индикаторы.

Создайте копию Modified Cluster.

Назовите ее Small Cluster.

Удалите второй тумблер.

Удалите горизонтальный ползунковый индикатор.

Щелкните правой кнопкой мыши по Small Cluster и выберите

Autosizing»Size to Fit.

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

Измените размер кластера, если необходимо.

10.Сверьте порядок элементов в кластерах Cluster, Modified Cluster и Small Cluster.

Щелкните правой кнопкой мыши по границе Cluster и выберите из контекстного меню Reorder Controls in Cluster.

Подтвердите порядок элементов кластера, показанный на рисунке 5- 8.

Щелкните по кнопке Confirm в линейке инструментов, чтобы зафиксировать порядок элементов в кластере и выйти из режима редактирования порядка кластера.

© National Instruments Corporation

106

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

5. Связываемые данные

Щелкните правой кнопкой мыши по границе Modified Cluster и выберите из контекстного меню Reorder Controls in Cluster

Подтвердите порядок элементов кластера, показанный на рисунке 5- 8. Порядок элементов в кластерах Modified Cluster и Cluster должен быть одинаковым.

Щелкните по кнопке Confirm в линейке инструментов, чтобы зафиксировать порядок элементов в кластере и выйти из режима редактирования порядка кластера.

Щелкните правой кнопкой мыши по границе Small Cluster и выберите из контекстного меню Reorder Controls in Cluster. Щелкните по кнопке Confirm в линейке инструментов, чтобы зафиксировать порядок элементов в кластере и выйти из режима редактирования порядка кластера.

Убедитесь, что порядок элементов кластеров соответствует показанному на рисунке 5-8.

Рисунок 5-8. Порядок элементов в кластере

Создайте блок-диаграмму, аналогичную показанной на рисунке 5-9.

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

107

ni.com

5. Связываемые данные

Рисунок 5-9. Блок-диаграмма Cluster Experiment VI

11.Поместите на блок-диаграмму цикл While из панели Structures.

12.Разберите Cluster.

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

Подключите Cluster ко входу функции Unbundle для автоматического изменения размера функции.

13.Соберите Small Cluster.

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

Подключите функцию Bundle в соответствии с рисунком 5-9

14.Соберите Modified Cluster.

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

Подключите Cluster ко входу функции Unbundle by Name.

Измените размеры функции Unbundle by Name, чтобы у нее было два выходных терминала.

Выберите в первом узле Numeric, а во втором - Boolean 1. Если имена неправильные, воспользуйтесь инструментом Operating для выбора нужного элемента.

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

© National Instruments Corporation

108

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

5. Связываемые данные

Подключите выход Numeric функции Unbundle By Name ко входу функции Increment. Эта функция добавляет единицу к значению

Numeric.

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

Подключите выход Boolean 1 функции Unbundle By Name ко входу x функции Not. Эта функция возвращает логическую инверсию значения Boolean.

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

Подключите Cluster ко входу input cluster функции Bundle by Name.

Измените размер функции, чтобы у нее было два входных терминала.

Выберите в первом узле Numeric, а во втором - Boolean 1. Если имена неправильные, воспользуйтесь инструментом Operating для выбора нужного элемента.

Подключите выход функции Increment к Numeric.

Подключите выход функции Not к Boolean 1.

Подключите выход функции Bundle By Name к индикатору Modified Cluster.

15.Добавьте функцию wait, чтобы дать процессору время для выполнения других задач.

Добавьте на блок-диаграмму функцию Wait Until Next ms Multiple.

Щелкните правой кнопкой мыши по терминалу millisecond multiple

функции Wait Until Next ms Multiple.

Выберите из контекстного меню Create»Constant.

Введите в константу 100.

16.Завершите создание блок-диаграммы, подключив объекты, как показано на рисунке 5-9.

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

18.Переключитесь на лицевую панель.

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

20.Введите в Cluster другие значения и обратите внимание, как эти изменения влияют на индикаторы Modified Cluster и Small Cluster. Такого ли поведения вы ожидали?

21.Когда закончите, нажмите кнопку Stop.

22.Измените порядок элементов Modified Cluster. Запустите VI. Как изменение порядка элементов повлияло на поведение VI?

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

109

ni.com

5. Связываемые данные

23. Закройте VI, не сохраняя изменения.

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

© National Instruments Corporation

110

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