PDA

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



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

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

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

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

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

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

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

88188

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

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

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

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

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

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

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



Для переменных, привязанных к экрану, появляется свойство "Запись в конце цикла" - включение её может помочь
88189

DoctorDron
20.02.2026, 09:44
Огромное спасибо, не знал.
Помогло.

Dimensy
20.02.2026, 12:31
А не проще переместиться на нужный разряд и его изменить?
88191

DoctorDron
27.02.2026, 07:58
А не проще переместиться на нужный разряд и его изменить?
88191
Не проще. Это как минимум 2 лишних нажатия. К тому же дискретные команды + и - можно и на дискретные выносные кнопки завязать. Суть вопроса была в реализации корректного изменения переменной и логикой и с экрана.