Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 13

Тема: ПР205. Ввод переменной с экрана и изменение её же внутренней логикой. Возможно?

  1. #1

    По умолчанию ПР205. Ввод переменной с экрана и изменение её же внутренней логикой. Возможно?

    Есть задача: Вводить уставку 0-10.0 В с точностью 0.1 и так же требуется кнопками (чтобы быстро) дискретно менять эту уставку с шагом +-1.0. При этом введенная в поле ввода уставка должна отображать изменение, реализованное отдельно логикой, завязанной на кнопки.
    Опишу конкретную ситуацию, реализовать которую у меня (пока?) не получилось:

    1. Ввод значения 1.1В с экрана
    2. Дискретно кнопкой с шагом "+1В" изменить переменную до "7.1"В
    3. В это время значение переменной, привязанной к полю ВВОДА на экране, также должно измениться до 7.1, т.е. вводимая переменная на экране должна отображать актуальное состояние, которое может также меняться внутренней логикой
    4. Откорректировать значение на экране "7.1"-> "7.3"

    Затык у меня в пункте 3.

    Проблема в том, что если задействовать логику на вводимую с экрана переменную, то изменение этой переменной возможно уже только через логику - ввод с экрана не работает. Новое значение с экрана можно попытаться ввести, но при нажатии ОК значение остается то, которое хранится внутри логики.
    Такое ощущение, что при нажатии "ОК" введенное с экрана значение переменной успевает перезаписаться тем значением, которое хранится внутри. Связи с задержкой на 1 цикл не помогают.

    Итого хотелки:
    Ввод переменной с экрана И ТАКЖЕ (!) изменение её значения кнопками вверх/вниз.
    Поддержание актуального состояния значения переменной, вводимой на экране для её последующего редактирования.

    Возможно ли такое организовать в принципе?

    Вот так как на скриншоте - не работает ввод с экрана (оставил только суть для понимания проблемы)

    изображение_2026-02-20_091939987.png

  2. #2

    По умолчанию

    Цитата Сообщение от DoctorDron Посмотреть сообщение
    Есть задача: Вводить уставку 0-10.0 В с точностью 0.1 и так же требуется кнопками (чтобы быстро) дискретно менять эту уставку с шагом +-1.0. При этом введенная в поле ввода уставка должна отображать изменение, реализованное отдельно логикой, завязанной на кнопки.
    Опишу конкретную ситуацию, реализовать которую у меня (пока?) не получилось:

    1. Ввод значения 1.1В с экрана
    2. Дискретно кнопкой с шагом "+1В" изменить переменную до "7.1"В
    3. В это время значение переменной, привязанной к полю ВВОДА на экране, также должно измениться до 7.1, т.е. вводимая переменная на экране должна отображать актуальное состояние, которое может также меняться внутренней логикой
    4. Откорректировать значение на экране "7.1"-> "7.3"

    Затык у меня в пункте 3.

    Проблема в том, что если задействовать логику на вводимую с экрана переменную, то изменение этой переменной возможно уже только через логику - ввод с экрана не работает. Новое значение с экрана можно попытаться ввести, но при нажатии ОК значение остается то, которое хранится внутри логики.
    Такое ощущение, что при нажатии "ОК" введенное с экрана значение переменной успевает перезаписаться тем значением, которое хранится внутри. Связи с задержкой на 1 цикл не помогают.

    Итого хотелки:
    Ввод переменной с экрана И ТАКЖЕ (!) изменение её значения кнопками вверх/вниз.
    Поддержание актуального состояния значения переменной, вводимой на экране для её последующего редактирования.

    Возможно ли такое организовать в принципе?

    Вот так как на скриншоте - не работает ввод с экрана (оставил только суть для понимания проблемы)
    Для переменных, привязанных к экрану, появляется свойство "Запись в конце цикла" - включение её может помочь
    изображение_2026-02-20_133253087.png

  3. #3

    По умолчанию

    Огромное спасибо, не знал.
    Помогло.

  4. #4
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    2,073

    По умолчанию

    А не проще переместиться на нужный разряд и его изменить?
    Безымянный.png

  5. #5

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    А не проще переместиться на нужный разряд и его изменить?
    Безымянный.png
    Не проще. Это как минимум 2 лишних нажатия. К тому же дискретные команды + и - можно и на дискретные выносные кнопки завязать. Суть вопроса была в реализации корректного изменения переменной и логикой и с экрана.

  6. #6

    По умолчанию

    Коллеги, доброго времени суток.

    Прорабатываю проект автоматизации на базе ПР205. Учитывая специфику, реле планируется разместить во взрывозащищенном корпусе. Соответственно, штатный интерфейс (кнопки на лицевой панели) будет недоступен для оператора, зато имеется набор внешних дискретных сигналов ("сухие контакты"), которые нужно задействовать для управления системой через дискретные входы ПР205 .

    Возникло два вопроса по реализации в среде Owen Logic:

    Редактирование вещественных чисел. Необходимо организовать интерфейс для изменения уставок (температура, давление и т.п.), имеющих дробную часть. Как программно реализовать пошаговое изменение real-переменной (например, с шагом 0.1) по командам от дискретных входов "Увеличить"/"Уменьшить"? Интересует именно корректная работа с числами с плавающей точкой — нужно ли переводить их в целочисленный тип для инкремента или есть готовые библиотечные функции/блоки?

    Навигация по элементам на экране. Как программно реализовать управление переходами между полями ввода/индикации на экране? Нужно, чтобы оператор с помощью дискретных входов ("Вверх"/"Вниз") перемещал активный курсор по экранным элементам (виджетам), а затем "входил" в выбранное поле для редактирования и подтверждал новое значение. Как в Owen Logic отслеживать смену активного элемента и привязывать к нему фокус ввода?

  7. #7
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    2,073

    По умолчанию

    Цитата Сообщение от Mister_Yury Посмотреть сообщение
    Коллеги, доброго времени суток.

    Прорабатываю проект автоматизации на базе ПР205. Учитывая специфику, реле планируется разместить во взрывозащищенном корпусе. Соответственно, штатный интерфейс (кнопки на лицевой панели) будет недоступен для оператора, зато имеется набор внешних дискретных сигналов ("сухие контакты"), которые нужно задействовать для управления системой через дискретные входы ПР205 .

    Возникло два вопроса по реализации в среде Owen Logic:
    Я бы лучше энкодер к быстрым входам прикрутил.
    А, так,
    Редактирование вещественных чисел. Необходимо организовать интерфейс для изменения уставок (температура, давление и т.п.), имеющих дробную часть. Как программно реализовать пошаговое изменение real-переменной (например, с шагом 0.1) по командам от дискретных входов "Увеличить"/"Уменьшить"? Интересует именно корректная работа с числами с плавающей точкой — нужно ли переводить их в целочисленный тип для инкремента или есть готовые библиотечные функции/блоки?
    Готовых не встречал. Пишем свой макрос или ФБ. Функции: единичное нажатие - изменяем с шагом 0,1; удержание - изменяем с шагом 1 со скоростью, например 1/500 мс. Можно и дальше пойти - в зависимости от длительности удержания, изменять сначала единицы, потом десятки и т.д.
    Навигация по элементам на экране. Как программно реализовать управление переходами между полями ввода/индикации на экране? Нужно, чтобы оператор с помощью дискретных входов ("Вверх"/"Вниз") перемещал активный курсор по экранным элементам (виджетам), а затем "входил" в выбранное поле для редактирования и подтверждал новое значение. Как в Owen Logic отслеживать смену активного элемента и привязывать к нему фокус ввода?
    Тут тоже надо будет свой макрос писать, который будет имитировать нажатие кнопки SEL, т.е. зажигать вокруг полей фокус (свой, не системный)

  8. #8

    По умолчанию

    Не выйдёт тут просто так, или вам придётся вскрыть клавиатуру и припаяться к ней.

  9. #9

    По умолчанию

    А если ИПП-120 задействовать?

  10. #10

    По умолчанию

    Я бы не делал активный курсор, а просто перелистывал экраны с параметрами (один параметр - один экран).
    А дальше:
    ОК для входа.
    Больше/Меньше для изменения.
    OK для фиксации.

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Пр205 запись уставки с экрана в энегонезависимую память
    от Владимир1967 в разделе Среда программирования OWEN Logic
    Ответов: 4
    Последнее сообщение: 14.07.2025, 22:18
  2. Изменение логотипов ПР205 и ПР225
    от zaychenko в разделе Среда программирования OWEN Logic
    Ответов: 4
    Последнее сообщение: 19.03.2025, 09:07
  3. Ввод Int числа с экрана ПР200
    от Limur в разделе Программируемые реле
    Ответов: 12
    Последнее сообщение: 07.04.2022, 15:12
  4. Привязка экрана к переменной
    от LEX2030 в разделе Программируемые реле
    Ответов: 51
    Последнее сообщение: 15.07.2017, 22:10
  5. Ввод данных с экрана в Codesys v3.5 SP8 Patch1
    от Александр Л. в разделе СПК2xx (архив)
    Ответов: 3
    Последнее сообщение: 07.11.2016, 10:22

Ваши права

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