Лекция №7. Создание кластеров, работа с кластерами
Содержание лекции: понятие кластера; порядок элементов в кластере; функции работы с кластерами.
Цель лекции: изучение понятия кластера и элемента кластера, типовых приемов создания кластеров и функций отображения кластеров на лицевой панели, полиморфизма кластеров
Как и массив, кластер является структурой, группирующей данные. Однако в отличие от массива кластер может группировать данные различных типов (логические, числовые и т.д.). Объединение нескольких групп данных в кластер устраняет беспорядок на блок-диаграмме и уменьшает количество полей ввода/вывода данных, необходимых подпрограмме ВП. Максимально возможное количество полей ввода/вывода данных ВП равно 28. Если лицевая панель содержит более 28 элементов, которые необходимо использовать в ВП, можно некоторые из них объединить в кластер и связать кластер с полем ввода/вывода данных. Как и массив, кластер может быть элементом управления или отображения данных, однако кластер не может одновременно содержать элементы управления и отображения данных. Создание кластеров из элементов управления и отображения данных. Для создания кластеров из элементов управления и отображения данных следует выбрать шаблон кластера в палитре Controls → → Array & Cluster и поместить его на лицевую панель. После этого шаблон кластера следует заполнить элементами. Изменить размер кластера можно с помощью курсора. На рисунке 7.1 показан кластер, содержащий три элемента управления. Порядок элементов в кластере. Каждый элемент кластера имеет свой логический порядковый номер, не связанный с положением элемента в шаблоне. Первому помещенному в кластер элементу автоматически присваивается номер 0, второму элементу – 1 и так далее. При удалении элемента порядковые номера автоматически изменяются.
Порядок элементов в кластере определяет то, как элементы кластера будут распределены по терминалам функций Bundle (объединения) и Unbundle (разделения) на блок-диаграмме.
Рисунок 7.1 – Кластер
Посмотреть и изменить порядковый номер объекта, помещенного в кластер, можно, щелкнув правой кнопкой мыши по краю кластера и выбрав из контекстного меню пункт Reorder Controls In Cluster. Панель инструментов и кластер примут вид, показанный ниже на рисунке 7.2. В белом поле (1) указан текущий порядковый номер элемента, в черном (2) – новый порядковый номер. Для установки порядкового номера элемента нужно в поле ввода текста Click to set to ввести число и нажать на элемент. Порядковый номер элемента изменится. При этом корректируются порядковые номера других элементов. Сохранить изменения можно, нажав кнопку ОК (подтвердить) на панели инструментов.
Рисунок 7.2 – Порядок элементов в кластере
Создание кластера констант. На блок-диаграмме можно создать кластер констант, выбрав в палитре Functions → Cluster шаблон Cluster Constant и поместив в него числовую константу или другой объект данных, логический или строковый. Функции работы с кластерами. Для создания и управления кластерами используются функции, расположенные в палитре Functions → CIuster. Функции Bundle (Связать) и Bundle by Name (Связать по названию) используются для сборки и управления кластерами. Функции 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 того же типа данных. Для включения этой функции необходимо щелкнуть правой кнопкой мыши по терминалу Массив в Кластер и выбрать опцию Размер кластера (Cluster Size) для установления размера выходного кластера, поскольку кластеры, в отличие от массивов, не устанавливают свой размер автоматически. Размер кластера по умолчанию равен 9. Если массив имеет меньшее количество элементов, чем это определено размером кластера, LabVIEW автоматически создаст дополнительные элементы кластера со значениями по умолчанию для типа данных кластера. Однако, если количество элементов входного массива больше величины, установленной в окне размера кластера, то проводник блок-диаграммы, идущий к выходному кластеру, будет разорванным, пока не будет отрегулирован его размер.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|