Найти в Дзене
Kinco Automation

Сортировка данных в массиве

Задачей сегодняшнего поста станет сортировка данных в массиве. На рисунке 1 показаны регистры, которые будут присвоены в массив. Для присвоения массиву размера и типа принимаемых регистров используются блоки A_SETSIZE и A_SETTYPE. Массиву 0 будут присвоены значения в регистры VR0, VR4, VR8, VR12 (Network 0, рис.1). Тип данных регистров real, задается в блоке A_SETTYPE, рис.2. Далее объявляем массив в области памяти ПЛК, блок A_WRITE (Network 2, рис.3). Входы команды: ARRAY — индекс массива, задаем 0 (ноль), вход INDEX начальный адрес массива, фактически задает смещение от начального адреса, в примере задано 0 (обращение идёт к VR 0). Далее для сортировки используется элемент A_SORT в котором указывается начальный индекс массива (INDEX = 0), количество элементов, которые подлежат сортировке (LEN = 4), а также в какой последовательности следует провести сортировку ORDER (1-по возрастанию, 0-по убыванию). Для того чтобы убедиться в том, что регистры были отсортированы, применяется команд

Задачей сегодняшнего поста станет сортировка данных в массиве. На рисунке 1 показаны регистры, которые будут присвоены в массив.

Для присвоения массиву размера и типа принимаемых регистров используются блоки A_SETSIZE и A_SETTYPE. Массиву 0 будут присвоены значения в регистры VR0, VR4, VR8, VR12 (Network 0, рис.1). Тип данных регистров real, задается в блоке A_SETTYPE, рис.2. Далее объявляем массив в области памяти ПЛК, блок A_WRITE (Network 2, рис.3). Входы команды: ARRAY — индекс массива, задаем 0 (ноль), вход INDEX начальный адрес массива, фактически задает смещение от начального адреса, в примере задано 0 (обращение идёт к VR 0). Далее для сортировки используется элемент A_SORT в котором указывается начальный индекс массива (INDEX = 0), количество элементов, которые подлежат сортировке (LEN = 4), а также в какой последовательности следует провести сортировку ORDER (1-по возрастанию, 0-по убыванию). Для того чтобы убедиться в том, что регистры были отсортированы, применяется команда чтения данных из массива A_READ, на выходе DATA будут прочитываться данные из массива 0 и будут присвоены начиная с регистра VR16. На рис.4 приводится результат выполнения программы.

Рис.1 Тестовые данные
Рис.1 Тестовые данные
Рис.2 Параметры массива
Рис.2 Параметры массива
Рис.3 Реализация логики управления и чтение данных массива.
Рис.3 Реализация логики управления и чтение данных массива.
Рис.4 Результат выполнения программы
Рис.4 Результат выполнения программы

Если вы хотите улучшить свои производственные процессы и повысить эффективность работы, то оставляйте заявку на наше оборудование уже сегодня! kincoautomation.ru