На вход CLK подать выход связки BLINK+RTrig с полным периодом 10 мс (5+5 мс).Код:A: array [0..999] of bool; // буфер на 1000 * 10 мс = 10 с InIndx: udint; OutIndx: udint; if CLK then // если на тактовом входе true - выполнить пересчёт A[InIndx] := In; OutIndx := InIndx + 123; // 123 * 10 ms = 1 s 23 ms - задержка при такте 10 ms if OutIndx > 999 then OutIndx := OutIndx - 1000; //минус длина массива end_if Out := A[OutIndx]; // значение выхода InIndx := InIndx + 1; if InIndx > 999 then InIndx := InIndx - 1000; //минус длина массива end_if end_if




Ответить с цитированием