Формировщик массивов (число-массив) — компонент. Предназначен для заполнения числового массива значениями.
Внешний вид компонента
Режим проектировщика | Режим оператора |
---|---|
Не имеет |
Параметры:
Входные
- Y n — новые числовые значения, которые требуется записать в массив.
- Сброс — при подаче импульса на данный контакт происходит обнуление массива.
- Размер — установка числа элементов в массиве.
Выходные
- Y — сформированный числовой массив.
Настраиваемые свойства:
Частные свойства (в скобках значение, установленное по умолчанию):
- ArrayAutoSize (true) — включение/выключение авторазмера массива:
- true (автоматическое изменение размера включено) — при поступлении на вход элемента очередного числа, оно будет добавлено в конец массива, при это размер массива увеличится на 1. При этом значение свойства «ArraySize» значения не имеет, всегда сбрасывается в 0 и не сохраняется. При запуске проекта размер массива всегда равен 0.
- false (автоматическое изменение размера выключено) — размер массива задан изначально свойством «ArraySize». При поступлении на вход элемента очередного числа, оно будет добавлено в конец массива, размер массива не изменится, а остальные элементы массива будут сдвинуты на 1 элемент к началу, первый элемент из массива будет исключён;
- ArraySize (0) — установка размера массива.
- TopLimit (1) — установка размера массива при использовании авторазмера.
Примечание: При задании свойства «ArrayAutoSize» TRUE компонент задаёт внутри себя массив определённого размера, заданного свойством «ArraySize». Каждое вновь пришедшее на вход компонента число добавляется в начало массива, а последнее в массиве число выбрасывается из массива.
Алгоритм работы компонента
Для компонента «формировщик массива число-массив» добавлено свойство «предел сверху». Свойство работает только в случае, когда выбрано свойство массива «авторазмер».
Значение свойства по умолчанию — максимально возможное число элементов.
При достижении количеством элементов этого числа, из массива удаляются старые значения, а сам массив сдвигается для заполнения новыми.
Примечание:
Вопрос. Программа не записывает данные в массив.
Ответ. При использовании компонента » Формировщик массивов (число-массив)» в программе на вход «Сброс» компонента лучше всего ставить компонент «Кнопка без фиксации«, которая при нажатии подаст подряд импульс «1» и «0». Сброс произойдёт при получении импульса «1». Компонент «Тумблер» работает также как и компонент «Кнопка с фиксацией«, он передаёт своё новое состояние в момент переключения. Для сброса массива с помощью него необходимо сначала его выключить, а потом снова включить.
Программирование
При использовании компонента в сценарии и программируемом компоненте (скрипте) необходимо учитывать диапазоны значений подаваемых на входные ножки компонента, диапазоны значений свойств компонента, а также диапазоны значений параметров методов компонента.
Параметры:
Входные
- Y n — новые числовые значения, которые требуется записать в массив.
- Размер — установка числа элементов в массиве.
Настраиваемые свойства:
Частные свойства (в скобках значение, установленное по умолчанию):
- VARIANT_BOOL ArrayAutoSize — Установка и чтение авторазмера массива:
- true — включен авторазмер массива;
- false — выключен авторазмер массива.
- LONG ArraySize — установка и чтение размера массива (число).
- LONG TopLimit — установка и чтение размера массива при использовании авторазмера (число).
Методы:
- void ClearArray(void) — очищает массив (любое значение).
- void AddValueToArr(FLOAT newVal) — добавляет в массив новые значения (любое значение).
- void SetValueToIndex(LONG index, FLOAT value) — устанавливает значения по заданному индексу массива (любое значение).
- FLOAT GetValueFromIndex(LONG index) — считывает значения по заданному индексу массива (любое число).
- void SendArray(void) — отправляет массив (любое значение).
Пример
Проект в SCADA ZETView
В этой схеме компонент Формировщик массивов (число-массив) предназначен для заполнения массива числами, которые поступают с Селектора №1. Кнопка без фиксации используется для обнуления массива. Таймер служит для подачи синхроимпульсов на График. Конвертер (числовой массив — строковый массив) нужен для преобразования типа данных в форму, совместимую с Таблицей данных (этот компонент позволяет отображать данные массива в форме таблицы). Данный компонент используется для создания различных проектов, в том числе таких как новые электронные технологии.
Результат работы проекта