Кластери у LabVIEW


У дописі про масиви у LabVIEW не було згадано про ще один специфічний складний тип даних, а саме про кластери. Якщо масив може містити дані лише одного типу, то, на відміну від нього, кластер – конструкція, яка вміщує різні дані і служить насамперед для зручності. Наприклад якщо потрібно передати дані з десятку полів вводу до десятку індикаторів через усю блок-діаграму, то використання кластерів може суттєво спростити розуміння програми за рахунок “розвантаження” блок-діаграми від провідників.

Групування провідників у кластер

Групування провідників у кластер

Як видно з рисунку у випадку без кластера (б) через всю блок-діаграму проходить 5 провідників, що навіть при відсутності на їх шляху інших вузлів виглядає не надто зрозуміло. Якщо ж згрупувати провідники у кластер (а), то отримаємо своєрідний “джгут”, всередині якого помістилися всі провідники.

Аналогічно можна згрупувати у кластер і візуальні компоненти, що ще більше спростить блок-діаграму (порівняйте наступний рисунок з попередніми).

 

Приклад використання кластерів

Приклад використання кластерів

На передній панелі віртуального приладу кластер зображується у вигляді рамочки, всередину якої потрібно помістити візуальні компоненти або їх масиви. При цьому слід пам’ятати, що порядок, у якому ви перетягуєте компоненти всередину кластера визначають порядок їх всередині, а кластери з однаковим вмістом але різним порядком елементів вважаються різними і не можуть бути сполучені між собою.

В палітрі візуальних компонентів LabVIEW масиви і кластери поєднано в одну підпалітру (фактично там нас цікавить тільки структура “Cluster”, яка і створює порожній кластер-заготовку), а у палітрі функцій вузли для роботи з кластерами знаходяться окремо (All Functions -> Cluster).

Палітри компонентів для роботи з кластерами

Палітри компонентів для роботи з кластерами

Список функцій для роботи з кластерами досить скромний і включає у себе функції Bundle, Unbundle, Bundle by Name, Unbundle by Name, що служать відповідно для створення кластера з окремих провідників, розбивання кластера на окремі провідники, створення кластера з провідників, орієнтуючись на імена відповідних змінних, та розбирання кластера на складові за їх іменами (корисно коли треба виділити з кластера окремий провідник).

Для роботи з масивами кластерів служать функції Build Cluster Array та Index & Bundle Cluster Array, а вузли Cluster to Array і Array to Cluster дозволяють здійснювати перетворення кластерів, що містять дані одного типу, у масиви і навпаки. При цьому слід мати на увазі, що нумерація елементів масиву починається з нуля, а кластера – з одиниці.

Почитайте ще оце:

Залиште коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *