PDA

Просмотр полной версии : Выполнить код после ввода значения переменной



P_Ilya
08.09.2015, 07:11
Приветствую!

Есть ли возможность выполнить код в момент завершения ввода нового значения переменной в визуализации? Ну или хотя бы как отловить момент _завершения_ ввода нового значения?

Как выполнить код перед началом ввода нового значения -- это известно и понятно.

Илья

capzap
08.09.2015, 07:19
а какими инструментами Вы вводите значение переменной?

P_Ilya
08.09.2015, 07:22
Значение переменной вводится после действия OnMouseClick, с помощью VisuDialogs.Numpad.

Но хотелось бы знать решение в общем случае.

Евгений Кислов
08.09.2015, 07:41
Приветствую!

Есть ли возможность выполнить код в момент завершения ввода нового значения переменной в визуализации? Ну или хотя бы как отловить момент _завершения_ ввода нового значения?

Как выполнить код перед началом ввода нового значения -- это известно и понятно.

Илья

Если не вдаваться в подробности, то программной обработки диалогов в CODESYS нет (в текущей версии).

Максимум, что можно сделать - использовать действие OnDialogClosed элементов с InputConfiguration:

19832

На скрине: после ввода значения переменной PLC_PRG.a, переменная PLC_PRG.b увеличится на единицу.

murdemon
08.09.2015, 14:22
можно еще так var1 - это ваша переменная

if was_var1 <> var1 then
ваш код
end_if

was_var1 := var1;

P_Ilya
09.09.2015, 12:39
можно еще так var1 - это ваша переменная

if was_var1 <> var1 then
ваш код
end_if

was_var1 := var1;

Это очевидное решение. В общем виде только это и будет работать (для крутилок, ползунков и т.п.). Но если таких переменных несколько сотен, то это как то ... не оптимально.

Илья