- •1 Создание кластеров из элементов управления и индикации
- •2 Порядок элементов в кластере
- •3 Создание кластера констант
- •4 Функции работы с кластерами
- •5 Сборка кластеров
- •6 Разделение кластера
- •7 Преобразование кластера в массив
- •8 Кластеры ошибок
- •9 Обработка ошибок
- •10 Кластеры ошибок
- •11 Объяснение ошибки
- •12 Использование цикла пока (While) при обработке ошибок
- •13 Использование структуры варианта (Case) при обработке ошибок
4 Функции работы с кластерами
Функции для создания и управления кластерами расположены на палитре Functions=>Cluster. Функции Bundle и Bundle by Name используются для сборки и управления кластерами. Функции Unbundle и Unbundle by Name используются для разборки кластеров.
Эти функции также можно вызвать, щелкнув правой кнопкой мыши по терминалу данных кластера и выбрав из контекстного меню подменю Cluster Tools. Функции Bundle и Unbundle автоматически содержат правильное количество полей ввода/вывода данных. Функции Bundle by Name и Unbundle by Name в полях ввода/вывода данных содержат имя первого элемента кластера.
5 Сборка кластеров
Для сборки отдельных элементов в кластер используется функция Bundle. Эта же функция используется для изменения данных в элементе уже существующего кластера. Инструмент перемещение используется для добавления полей ввода данных, для этого также можно щелкнуть правой кнопкой по полю ввода данных и выбрать из контекстного меню пункт Add Input. На рисунке 3 собирается кластер из трех элементов: численного, строкового и булевого типа.
|
|
|
Рисунок 3 – Пример сборки кластера
На поле ввода данных cluster (которое находиться наверху функции) можно подать уже имеющийся кластер, в этом случае узел Bundle выполняет функцию замены значений всех или некоторых элементов кластера. Количество полей ввода данных функции должно соответствовать количеству элементов во входящем кластере. Например, на рис.4 показано изменение значений двух полей кластера.
|
|
Рисунок 4 – Изменение значений полей кластера
Функция Bundle by Name работает так же как функция Bundle, но вместо обращения к элементу кластера по его порядковому номеру обращается к нему по его собственной метке (имени). При этом можно получить доступ только к элементам, имеющим собственную метку. Количество полей ввода данных не требует соответствия с количеством элементов в кластере. На рис.5 показан пример использования функции Bundle by Name для полученного выше кластера.
|
|
Рисунок 5 – Использование функции Bundle by Name
С помощью инструмента управление можно щелкнуть по полю ввода данных терминала и выбрать желаемый элемент из выпадающего меню. Можно также щелкнуть правой кнопкой мыши по полю ввода данных и выбрать элемент в разделе контекстного меню Select Item.
Использовать функцию Bundle by Name следует при работе со структурами данных, которые могут меняться в процессе работы. Чтобы добавить новый элемент в кластер или изменить порядковый номер элемента, нет необходимости вновь подключать функцию Bundle by Name, так как имя элемента все еще действительно.
6 Разделение кластера
Функция Unbundle используется для разбиения кластеров на отдельные элементы.
Функция Unbundle by Name используется для выделения из кластера элементов по определенному имени. Количество полей вывода данных не зависит от количества элементов в кластере.
С помощью инструмента управление можно щелкнуть по полю вывода данных и выбрать желаемый элемент из контекстного меню. Можно также щелкнуть правой кнопкой мыши по полю вывода данных и выбрать из контекстного меню пункт Select Item.
Так, функция Unbundle при использовании кластера, показанного на рис.6, имеет три поля вывода данных, которые соотносятся с тремя элементами кластера. Необходимо знать порядок элементов в кластере для корректного сопоставления элементов имеющих одинаковый тип (как Thermometer и Numeric в данном примере). Если использовать функцию Unbundle by Name, то полей вывода данных может быть произвольное количество, и обращаться к отдельным элементам можно в произвольном порядке.
|
|
Рисунок 6 – Использование функции Unbundle
Пример 1 Масштабирование кластера (рис.7)
Каждый элемент в кластере имеет свой масштабный коэффициент. Предположим, что исходные данные, значения давления, скорости потока и температуры были получены с соответствующих датчиков напряжения. Затем ВП масштабирует эти значения и выдает фактические значения физической величины.
|
|
Рисунок 7 – Масштабирование кластера
