1) Итак потребовалась написать алгоритм сдвига DB на определённое количество слов вниз!
т. к. с косвенной адресацией дружу не очень хорошо, решил написать на SCL, проблема в том что алгоритм отлично работает на симуляторе а вот при погрузке в реальный контроллер (413) похоже уходит в зацикливание. ПРОШУ ПОМОЩИ!
Вот алгоритм:
Code: Select all
FUNCTION FC3:VOID
VAR_INPUT
DB_NUMBER:WORD;//Номер DB
LENGHT:INT;//Длина DB
W_N:INT;//Кол-во слов в записи
END_VAR
VAR
I,J:INT;
END_VAR
BEGIN
I:=LENGHT;
FOR J:=1 TO W_N DO
REPEAT
WORD_TO_BLOCK_DB(DB_NUMBER).DB[I]:=WORD_TO_BLOCK_DB(DB_NUMBER).DB[I-1];
I:=I-1;
UNTIL I=0
END_REPEAT;
I:=LENGHT;
END_FOR;
END_FUNCTION;
ПОМОГИТЕ РАЗОБРАТЬСЯ АЛГОРИТМАМ