Вы, вероятно, путаете с сетевыми переменными в ПР.
В инструкции на CoDeSys v2.3 написано:
RETAIN.jpg
Переменные объявленные в конфигурации, при сбросе питания обнуляются.
Приведу свой пример:
Централизованная мойка. Панель в регистрах PFW области хранит побитно состояние клапанов (что определяет маршрут подачи моющего раствора), а также его температуру и время подачи. Так как имеются разные растворы и разные объекты мойки, то оператор нажимает соответствующую ФК. Панель переносит соответствующие данные из PFW в ПЛК в одни и те же слэйв-переменные. Далее все делает ПЛК, но при сбое питания ПЛК все забывает. Чтобы запустить процесс снова, надо еще раз нажать нужную ФК на панели.
Если Вы хотите, чтобы после восстановления питания процесс продолжился, то Вам необходимо все параметры переписывать в RETAIN-переменные.
А в конфигурации задач указать вызов именованной процедуры при включении питания, в которой перенести из RETAIN-переменных обратно в слейв, чтобы ПЛК мог продолжить прерванный процесс.
Если честно у меня еще никогда не было повода использовать RETAIN-память. А вот PFW использую постоянно.
Хотя нет. Забыл. Храню в RETAIN значения счетчиков израсходованных растворов.
Но после инкрементации RETAIN-переменной, переношу её значение в слэйв, чтобы Панель могла отобразить на экране.