7 Лекция №7. Создание кластеров, работа с кластерами
Содержание лекции: понятие кластера; порядок элементов в кластере;
функции работы с кластерами.
Цель лекции: изучение понятия кластера и элемента кластера,
типовых приемов создания кластеров и функций отображения кластеров на
лицевой панели, полиморфизма кластеров.
Аналогично массиву, кластер представляет собой структуру, которая
группирует данные. Отличительной особенностью кластера от массива
является то, что кластер может группировать разнотипные данные
(строковые, числовые, логические и т.д.). Объединение в кластер нескольких
групп данных помогает упорядочить элементы на блок-диаграмме и
уменьшить количество полей ввода/вывода данных, необходимых
подпрограмме ВП. В LabVIEW у ВП может быть до 28 полей ввода/вывода
данных. В случаях, когда на лицевой панели имеется более 28 элементов,
использование которых необходимо в ВП, можно объединить некоторые из
них в кластер и связать его с полем ввода/вывода данных. Кластер,
аналогично массиву, может быть элементом управления или отображения
данных. Кластер одновременно может содержать только или элементы
управления или отображения данных.
Создание кластеров из элементов управления и отображения данных.
Для того, чтобы создать кластер из элементов управления и отображения
данных необходимо на лицевую панель поместить шаблон кластера,
27
находящийся в подпалитре Array & Cluster палитры Controls. Далее шаблон
кластера следует заполнить элементами. Изменение размера кластера
осуществляется при помощи курсора.
На рисунке 7.1 представлен кластер из трех элементов управления.
Рисунок 7.1 – Кластер
Порядок элементов в кластере.
Каждый из элементов кластера имеет
свой логический порядковый номер, который не связан с его положением в
шаблоне. Нумерация элементов кластера начинается с нуля. Первый
помещенный в кластер элемент автоматически получает номер 0, второй
элемент – 1 и так далее. Порядковые номера элементов автоматически
изменяются в случае удаления какого-либо элемента элемента кластера.
Порядок элементов в кластере влияет на распределение элементов
кластера по терминалам функций Bundle (объединения) и Unbundle
(разделения) на блок-диаграмме.
Для просмотра и изменения порядкового номера элементов,
помещенных в кластер, необходимо кликнуть правой кнопкой мыши по краю
кластера и в контекстном меню выбрать пункт Reorder Controls In Cluster.
Кластер и панель инструментов будут иметь вид, показанный на рисунке 7.2.
Текущий порядковый номер элемента кластера указывается в белом
поле (1), а новый порядковый номер – в черном (2). Для того, чтобы
установить порядковый номера элемента необходимо в поле ввода текста
Click to set to ввести число и нажать на элемент. При изменении порядкового
номера элемента в кластере, также автоматически корректируются
порядковые номера других элементов. При нажатии кнопки ОК (подтвердить)
на панели инструментов происходит сохранение изменений порядковых
номеров элементов.
Создание кластера констант.
Для создания кластера констант на блок-
диаграмме создать необходимо в шаблон Cluster Constant, находящийся в
подпалитре Cluster палитры Functions, поместить числовую константу или
другой объект данных, строковый или логический.
Функции работы с кластерами
. В подпалитре CIuster палитры Functions
расположены функции, предназначенные для создания и управления
28
кластерами. Функции Bundle (Связать) и Bundle by Name (Связать по
названию) применяются с целью сборки и управления кластерами.
Рисунок 7.2 – Порядок элементов в кластере
Функции Unbundle (Разделить) и Unbundle by Name (Разделить по
названию) применяются для разборки кластеров. Данные функции
вызываются из контекстного меню подменю Cluster Tools (Инструменты
кластеров), открывающегося щелчком правой кнопки мыши по терминалу
данных кластера. Функция Bundle и функция Unbundle автоматически
содержат нужное количество полей ввода/вывода данных. В полях
ввода/вывода данных функций Bundle by Name и Unbundle by Name
содержится имя первого элемента кластера.
В некоторых случаях необходимо поменять кластеры на массивы и
наоборот, так как в LabVIEW функций, работающих с массивами, намного
больше, чем функций, работающих с кластерами. Функция «Кластер в
массив» (Cluster to Array) преобразует кластер в массив. Функция «Массив в
кластер» (Array to Cluster) осуществляет обратную операцию, т.е. преобразует
массив в кластер.
Для преобразования кластера с количеством элементов N одного типа
данных в массив с количеством элементов N того же типа данных
используется функция «Кластер в массив». Порядковый номер элемента в
кластере будет соответствовать индексу элемента в массиве, т.е. у нулевого
элемента кластера в массиве будет индекс 0. Для использования данной
функции необходимо, чтобы все элементы, входящие в кластер, были одного
типа. Для преобразования одномерного массива с числом элементов N в
кластер с числом элементов N того же типа данных используется функция
«Массив в кластер».
29
Для включения данной функции необходимо щелкнуть правой кнопкой
мыши по терминалу «Массив в Кластер»и выбрать опцию Размер кластера
(Cluster Size), которая устанавливает размер выходного кластера, т.к. размер
кластера, в отличие от массивов, не устанавливается автоматически. По
умолчанию размер кластера равен 9. В случае если массив содержит меньшее
количество элементов, чем это определено размером кластера, LabVIEW
автоматически создает дополнительные элементы кластера со значениями по
умолчанию для типа данных кластера. Однако, если количество элементов
входного массива больше величины, установленной в окне размера кластера,
то проводник блок-диаграммы, идущий к выходному кластеру, будет
разорванным, пока не будет отрегулирован его размер
Достарыңызбен бөлісу: |