Показано с 1 по 6 из 6

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

  1. #1
    Пользователь
    Регистрация
    27.08.2015
    Адрес
    Екатеринбург
    Сообщений
    22

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

    Приветствую!

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

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

    Илья

  2. #2
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,635

    По умолчанию

    а какими инструментами Вы вводите значение переменной?
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

  3. #3
    Пользователь
    Регистрация
    27.08.2015
    Адрес
    Екатеринбург
    Сообщений
    22

    По умолчанию

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

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

  4. #4

    По умолчанию

    Цитата Сообщение от P_Ilya Посмотреть сообщение
    Приветствую!

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

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

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

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

    08-09-2015 7-38-00.png

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

  5. #5
    Пользователь Аватар для murdemon
    Регистрация
    03.02.2014
    Адрес
    Санкт-Петербург
    Сообщений
    774

    По умолчанию

    можно еще так var1 - это ваша переменная

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

    was_var1 := var1;
    Dmitriy Murashov
    SPS Software Engineer Automation Engineering RUS

  6. #6
    Пользователь
    Регистрация
    27.08.2015
    Адрес
    Екатеринбург
    Сообщений
    22

    По умолчанию

    Цитата Сообщение от murdemon Посмотреть сообщение
    можно еще так var1 - это ваша переменная

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

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

    Илья

Похожие темы

  1. Ответов: 15
    Последнее сообщение: 05.06.2015, 15:04
  2. Окно ввода значения
    от evg3798 в разделе Master SCADA 3
    Ответов: 3
    Последнее сообщение: 07.04.2014, 18:23
  3. Ответов: 2
    Последнее сообщение: 30.08.2013, 16:40
  4. Код для работы с модулями ввода-вывода
    от Ling-Ling в разделе ПЛК3хх
    Ответов: 3
    Последнее сообщение: 17.05.2011, 22:26

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •