6 Лекция №6. Работа с массивами в среде LabVIEW
Содержание лекции:
массивы; создание массива элементов управления
и отображения; автоматическая индексация; создание двумерных (2D)
массивов; функции работы с массивами.
Цели лекции: изучение типовых приемов создания массива элементов
управления и отображения, функций массивов, типовых приемов создания
массива констант и приемов работы с массивами.
Объект LabVIEW, объединяющий в себе элементы одного типа данных,
называют массивом. Массив представляет собой набор элементов, имеющий
определенную размерность. Группу составляющих массив объектов называют
элементами массива. Под размерностью массива подразумевается
совокупность столбцов и строк, а также глубину массива.
Массив может состоять из данных следующего типа: целочисленного,
строкового или логического. Также массив может содержать кластеры и
элементы графического представления данных. Удобство использования
массивов проявляется при работе с группами однотипных данных, а также
при накоплении данных после повторяющихся вычислений. Массивы могут
служить для хранения данных, полученных с графиков или накопленных во
время работы циклов данных, причем на каждой итерации цикла создается
один элемент массива.
Рисунок 6.1 – Вид массива на лицевой панели
23
Каждый элемент массива упорядочен и для упрощения обращения к
элементам массива, каждый элементу имеет свой индекс. Нумерация
элементов массива всегда начинается с нуля, т.е. диапазон индексов массива
находится в пределах от 0 до (n – 1), где n – количество элементов в массиве.
Создание массива элементов управления и отображения.
Для того
чтобы создать массив элементов управления или отображения данных, как
показано в примере, необходимо поместить на лицевую панель шаблон
массива, находящийся в подпалитре Array & Cluster палитры Controls. Далее в
шаблон массива необходимо поместить элемент управления или отображения
данных.
Создание массива констант.
Для создания на блок-диаграмме массива
констант необходимо выбрать шаблон Array Constant в подпалитре Array
палитры Functions и поместить в него числовую константу. Массив констант
используется для передачи данных в подпрограммы ВП.
Двумерные массивы.
В двумерном (2D) массиве элементы хранятся в
виде матрицы. Для размещения элемента в двумерном массиве необходимо
указать индекс столбца и строки. Ниже показан пример двумерного массива,
состоящего из 6 столбцов (длина) и 4 строк (высота). Количество элементов в
массиве равно 24 (6 × 4 = 24).
Рисунок 6.2 – Индексы двумерного массива
Чтобы увеличить размерность массива необходимо кликнуть правой
кнопкой мыши по элементу индекса и в контекстном меню выбрать пункт
Add Dimension (Добавить размер). Также для увеличения размерности можно
использовать инструмент ПЕРЕМЕЩЕНИЕ, т.е. просто изменяя размер
элемента индекса.
Автоматическая индексация.
Автоиндексацией называется свойство
циклов While и For автоматически накапливать массивы и проводить их
индексацию на своих границах
При соединении терминала данных массива с терминалом выхода из
цикла каждая итерация цикла будет создавать новый элемент массива. На
экране видно, что проводник данных, соединяющий терминал данных массива
с терминалом выхода из цикла, стал толще, а сам терминал выхода из цикла
окрашен в цвет терминала данных массива.
Для отключения автоиндексации необходимо кликнуть правой кнопки
мыши по терминалу входа/выхода из цикла и в контекстном меню выбрать
24
пункт Disable Indexing (запретить автоиндексацию). Автоиндексацию
отключают в тех случаях, когда нужно знать только последнее значение.
Рисунок 6.3 – Блок-диаграмма автоматической индексации массива
Для цикла For, в связи с его частым использованием при работе с
циклами, в LabVIEW автоиндексация включена по умолчанию. Для цикла
While автоиндексация отключена по умолчанию. Для ее включения
необходимо щелкнуть правой кнопкой мыши по терминалу входа/выхода из
цикла и выбрать пункт Enable Indexing (разрешить автоиндексацию)в
контекстном меню.
Создание двумерных (2D) массивов.
Для того, чтобы создать двумерный
массив необходимо поместить один цикл For внутри другого цикла (рисунок
6.3). Внутренний цикл создает элементы массива в столбце, а внешний цикл
создает элементы массива в строке.
Рисунок 6.3 – Блок-диаграмма двумерного массива
Функции работы с массивами.
Для создания и управления массивами
используются функции, которые расположены в подпалитре Array палитры
Functions. Наиболее часто используемые функции работы с массивами
включают в себя:
Array Size (Размер массива). Данная функция необходима для
отображения количества элементов массива каждой размерности. Если массив
n- мерный, на выходе функции Array Size будет массив из n элементов.
25
Например, функция Array Size выдаст значение 3 для приведенного
ниже массива.
Initialize Array (задать массив) служит для создания n-мерного
массива, каждый элемент которого инициализирован значением поля ввода
данных element. Добавление полей ввода данных путем растягивания узла
функции позволяет увеличить размерность массива. Например, в случае
задания для функции Initialize Array зследующих значений параметров:
значение 4 подается на поле element, значение 3 подается на поле dimension
size (если оно одно), то на выходе получится массив, показанный ниже.
Build Array (создать массив) служит для объединения нескольких
массивов или добавления элемента в n-мерный массив. Увеличить количество
добавляемых элементов можно путем изменения размера функции, т.е.
увеличивая количество полей ввода данных. Например, при объединении двух
предыдущих массивов, функция Build Array выдаст на выходе следующий
массив:
Для того, чтобы объединить входные данные в более длинный массив
той же размерности, как показано ниже, необходимо щелкнуть правой
кнопкой мыши на функции и выбрать пункт Concatenate Inputs (объединение
входных данных) в контекстном меню.
Array Subset (подмножество массива) данная функция необходима
для выдачи части массива, начиная с индекса, поступившего на поле index, и
длиной, указанной в поле length (длина). Например, если на поле ввода
функции Array Subset подать предыдущий массив, на поле index подать
значение 2 , а на поле Подмножество подать значение 3:
Index Array (индекс массива) служит для выдачи элемента,
соответствующего индексу, подаваемому на поле ввода index. Например, при
26
использовании предыдущего массива функция Index Array выдаст значение 2,
если на поле ввода данных index подать значение 0.
Функция Index Array также используется для выделения столбца или
строки из двумерного массива для дальнейшего отображения в виде
подмассива. С этой целью двумерный массив необходимо подать в поле ввода
данных функции. Функция Index Array должна иметь два поля index. Нижнее
поле index указывает столбец, , а верхнее – строку. Оба поля index могут быть
задействованы для выбора отдельного элемента. При задействовании только
одного поля index будет выбрана или строка или столбец. Например, в поле
ввода данных функции подается массив, показанный ниже:
Если на поле index (строка) подать значение 0, функция Index Array в
поле вывода данных выдаст следующий массив:
Достарыңызбен бөлісу: |