Цитата Сообщение от Selya Посмотреть сообщение
Приветствую!
У вас есть такой пример 11_3_02_Example_VisuDialogs_3511v1
Там переменная объявлена так:
Код:
PROGRAM PLC_PRG
VAR
	iVisuVar:INT; // переменная экрана визуализации, значение которой изменяется в окне диалога
END_VAR
А если мне надо сделать эту переменную энергонезависимой, я объявлю её так:
Код:
VAR_GLOBAL RETAIN
	iVisuVar:INT;
END_VAR
И далее в целях экономии циклов записи в RETAIN мне надо как-то прикрутить проверку:
Код:
IF GVL.iVisuVar <> iDialogVar THEN
	iVisuVar := iDialogVar;
END_IF
Ведь пользователь может вызвать диалог, ничего в нём не изменить и нажать "ОК". Переменная перезапишется тем же самым значением, цикл записи израсходуется.

Собственно вопрос, как это сделать? Или может всё оставить как есть и я зря заморачиваюсь?
Добрый день.
У нас RETAIN сохраняется в микросхеме MRAM - число ее циклов перезаписи практически неограничено.
Так что, на мой взгляд, проще оставить всё, как есть.