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