Среда разработки Unimod PRO 2 (версия 2.3.40)
 Руководство по программированию
×

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.
Код ошибки
Краткое описание
0
Нет ошибок
1
На входе MODE введен неверный код режима работы
4
Несовпадение количества элементов, их типов данных или порядка их следования в источнике и приемнике