Цитата Сообщение от Gans Посмотреть сообщение
arrForDelay ARRAY [0..99] OF real; (*Массив для хранения измеренных/расчетных значений*)

arrForDelay[99]:=rlIzmerenoe;
а затем раз в секунду делаем вот это:
for wdCounetr=0 to 98 do
arrForDelay[wdCounetr]:= arrForDelay[wdCounetr+1];
end_for;

arrForDelay[0] -будет содержать значение rlIzmerenoe, 98 сек назад :-)

таким образом получаем запаздывание на 98 сек, с квантованием по времени в одну секунду. Конечно для дальнейшего дифференцирования и некоторых других хотелок эти данные использовать уже не удастся :-(
Идея программной реализации запаздывания и заключается в том, что потом его можно юзать, как отдельный элемент и звенья, созданные в CoDeSys, засунуть в одну библиотеку и при тесте программного кода компоновать разные варианты структур управления объектом для отслеживания поведения. При этом стоит вопрос времени цикла обновления данных с целью получить систему управления в реальном времени.