Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_k_zachetu_Kononov-1.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
265.22 Кб
Скачать

21. Массивы, их создание и назначение.

Массив (array) LabVIEW представляет собой набор элементов данных одного типа, так же как и в традиционных языках программирования. Массив может иметь одну или несколько размерностей, то есть быть одномерным или многомерным, и включать до 231 элементов на одну размерность (естественно, в зависимости от объ.ема памяти). Элементом массива может быть любой тип данных за исключением массива, таблицы или графика. Доступ к элементам массива осуществляется посредством их индексов. Индекс {index) каждого элемента находится в диапазоне от О до N-1, где N - полное количество элементов в массиве. Одномерный массив (ID), показанный в табл. 7.1, иллюстрирует эту структуру.

Обратите внимание, что первый элемент имеет индекс О, второй - 1 и т.д. Позже вы увидите, что осциллограммы (и другие типы данных) часто хранятся в виде массивов и каждая точка осциллограммы содержит элемент массива. Массивы также используются для хранения данных, сгенерированных в циклах, где на каждой итерации цикла создается один элемент массива.

Чтобы, создать элементы управления и индикаторы для сложных типов данных, таких как массивы и кластеры, необходимо последовательно выполнить два действия. Вначале следует решить, будет ли ваш массив состоять из элементов управления или индикаторов, а затем объединить шаблон массива (array shell) с объектом данных, который может быть числовым, логическим, маршрутным или строковым (а также кластерным, но об этом позже). Шаблон массиванаходится в подпалитре Массив и кластер (Array&Cluster) палитры Элементы управления.

Для создания массива переместите объект данных в окно отображения элементов. Можете непосредственно поместить туда объект, щелкнув правой кнопкой мыши внутри окна во время первоначального выбора объекта данных из палитры Элементы управления. Окно отображения элемента изменится в размерах, показывая, что произошло согласование типа данных, но остается серым до тех пор, пока вы не введете в него данные. Обратите внимание, что все элементы массива должны быть либо элементами управления, либо индикаторами, но не их комбинацией.

Когда вы помеш,аете шаблон массива на лицевую панель, то его терминал на блок-диаграмме будет черного цвета, что характерно для неопределенного типа данных. В терминале показаны скобки, (рис. 7.3а), которые являются способом отображения структуры массива в LabVIEW. Когда вы зададите массиву тип данных (поместив элемент управления или отображения в окно отображения элемента), терминал блок-диаграммы массива присвоит себе его цвет и надпись (хотя скобки сохраняются), как это показано на рис. 7.36. Заметьте: проводники массива толще, чем проводники, переносящие скалярные величины. Вы можете ввести данные в массив, как только зададите их тип. Используйте инструменты ввода текста или управления для ввода данных или, если ваши данные имеют числовой характер, щелкните по стрелкам в окне отображения элементов, чтобы увеличить или уменьшить их значение.

Если нужно изменить размеры объекта в окне отображения, обратитесь К инструменту перемещения и убедитесь, что он превращается в стандартные скобки, когда вы помещаете его в углу окна (возможно, вам придется поместить его внутрь окна, а затем немного подвигать для получения соответствующих скобок). Если вы хотите одновременно показать большее количество элементов массива, передвигайте инструмент перемещения около угла окна отображения до тех пор, пока не появится курсор в виде сетки, а затем вытяните угол в горизонтальном или вертикальном направлениях (данные не изменятся из-за формы массива). В этом случае отобразится большее количество элементов. Самый близкий к индикатору индекса элемент всегда соответствует номеру, показанному на индикаторе. Создать массив констант на блок-диаграмме можно так же, как при создании числовых, логических или строковых констант. Выбор опции Постоянный массив (Array Constant) в подпалитре Массив (Array) палитры Функции создает шаблон массива, куда вы просто помещаете подходящий тип данных (в виде константы). Эта возможность полезна при инициализации сдвиговых регистров или при передаче типа данных в функции работы с файлами или Internet (об этом мы будем говорить позднее). Если вы захотите очистить элемент управления (отображения, константы данных) массивом, щелкните правой кнопкой мыши по индикатору индекса (Но не по самому элементу) и выберите опцию Операции с данными => Очистить массив (Data Operations => Empty Array).

Двумерный (2D) массив хранит элементы в структуре вида решетки. Для определения местонахождения элемента необходимы два индекса: индекс по вертикали и индекс по горизонтали, каждый из которых начинается с нуля, как и все элементы с индексами в LabVIEW. На рис. 7.9 показан массив с четырьмя строками и шестью столбцами, в котором хранится 6x4 элементов.

Вы можете увеличить размерность элементов управления/отображения массивов путем вызова контекстного меню элемента управления/ отображения индекса массива (но не элемента управления/отображения значениями массива) и выбора опции Добавить размерность (Add Dimension). На рис. 7.10 показан двумерный массив цифровых элементов управления. Обратите внимание, что теперь есть два индекса для отображения каждого элемента. Вы можете использовать инструмент перемещения в виде сетки для расширения окна, отображающего значения массива, в двух измерениях, что позволит одновременно увидеть большее количество элементов.

Удалить ненужные размерности можно выбором опции Удалить размерность (Remove Dimension) из контекстного меню элемента управления/отображения индекса. Осциллограммы, полученные из разных каналов многофункциональной платы ввода/вывода, допустимо сохранить в двумерном массиве, в каждом столбце которого будут храниться данные одного канала.

Создание двумерных массивов

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]