Просмотр полной версии : Копирование группы переменных
Добрый вечер. В конфигурации ПЛК154 создан Modbus Slave, который содержит некоторое количество переменных. Вопрос в том, что по некоторому условию мне необходимо присвоить группе переменных значения другой группы переменных, к примеру, всего переменных 40, и необходимо последним 20-ти присвоить значения первых 20-ти, то есть порядок сохранен. Понимаю, что индусятина вроде Var1_1:=Var2_1 неуместна и избыточна. Возможно это сделать с помощью указателей?
да, возможно.
тут или индусятина или указатели
вариант с AT% за нормальный вариант не рассматриваю
да, возможно.
Был бы признателен, если показали на примере, я не совсем представляю как это реализовать...
Хотя, если я правильно понял, нужно взять адрес первой переменной и сдвигать на нужно количество переменных.
SysLibMem с её SysMemCpy должна сработать, если участки непрерывные и один размер имеют.
Сделал так, вполне справляется с задачей:
VAR
VAR_IN:WORD; VAR_OUT:WORD;
ADR_1:POINTER TO WORD;
ADR_2:POINTER TO WORD;
U:INT;
END_VAR
FOR U:=0 TO 20-1 BY 2 DO
ADR_1:=ADR(VAR_IN)+U;
ADR_2:=ADR(VAR_OUT)+U;
ADR_2^:=ADR_1^;
END_FOR
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot