STR_COPY - копирование массива или структуры

Назначение.
Функциональный блок STR_COPY применяется для полного копирования массива или структуры.
Состав структурной переменной.
Переменная со структурным типом STR_COPY будет добавлена в локальный словарь автоматически при добавлении блока в редактор.

Алгоритм выполнения.
На вход SRC передается ссылка на источник данных, а на вход DST - ссылка на приемник. Источником и приемником данных могут являться массивы или структурные переменные.
Доступно копирование для однотипных объектов (массив → массив, структурная переменная → структурная переменная) и для разнотипных (массив → структурная переменная, структурная переменная → массив). При этом количество вложенных элементов, их порядок и типы данных должны совпадать в источнике и приемнике.
В процессе выполнения функционального блока любое изменение данных в источнике (SRC) автоматически повлечет изменение соответствующих данных в приемнике (DST).
Режимы работы:
-
MODE = 0 - режим копирования;
-
MODE = 1 - режим очистки, при котором всем элементам принимающего массива или структурной переменной присваиваются значения по умолчанию.
Пример копирования массива.
На следующем изображении продемонстрирована работа блока в режиме копирования (MODE=0), когда источником и приемником данных являются массивы.
![]() На следующем изображении продемонстрирована работа блока в режиме копирования (MODE=0), когда источником является массив, а приемником структурная переменная.
![]() |
Пример копирования структурной переменной.
На следующем изображении продемонстрирована работа блока в режиме копирования (MODE=0), когда источником и приемником данных являются структурные переменные.
![]() На следующем изображении продемонстрирована работа блока в режиме копирования (MODE=0), когда источником является структурная переменныя, а приемником массив.
![]() |
Пример очистки приемника данных.
На следующем изображении продемонстрирована работа блока в режиме очистки (MODE=1), когда приемником данных является массив.
![]() На следующем изображении продемонстрирована работа блока в режиме очистки (MODE=1), когда приемником данных является структурная переменная.
![]() |
Пример синтаксиса на языке ST.
//вызовы функционального блока
Block.STR_COPY(SRC, DST, MODE);
//чтение кода ошибки
Q := Block.Q;
|
Список возможных ошибок на выходе Q.
|






