akholod
Junior Member / Новичок
Участник № / Member № 4344
отправлено / posted
Добрый день! Есть экран на котором находятся 12 ГЭ"кнопка", настроены на прямую передачу 1, с востановлением значения, в аргументы bool, привязаные к битам 1-4 3-х канлов HEX16.И дальше через программу включают оборудование. Если нажимать на кнопку нормально неспеша то проблем нет,при нажатии биты канала НЕХ становится 1 отпускаем - 0, но если оператор нажимает на кнопку с алгоритмом: 2-3 очень быстрых нажатия а потом зажимает на пару секунд, то кнопка перестает работать. После отпускания кнопки биты каналов не возвращаются в ноль т.е. в битах канала HEX висят единички, и что не нажимай в ноль не возвращаются.Помогает только перезапуск МРВ? В чем проблема?
Сообщения / Posts 18 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
Экраны и команды с экранов обслуживаются в собственном потоке, имеющем существенно более низкий приоритет, чем поток пересчета каналов.
Поэтому использование у кнопки двух команд - при нажатии и отпускании всегда будет критичным к времени удержания кнопки. При коротких и быстрых нажатиях ошибки неизбежны. Гарантии может дыть только специальная программная обработка команд, без использования двух команд от кнопки.
Если кнопка передает всегда только "1" и после отпускания ее в аргументе должен быть "0", то в качестве компромисса можно предложить не использовать "Восстановление значения", но задать "При отпускании кнопки" посылку "0" в тот же аргумент. Гарантировать отсутсвие ошибок из-за динамичных нажатий это не может. Но от необходимости перезапускать МРВ избавит.
Если команды управления в конечном счете формируются программой, та же программа может и обнулять соответствующие аргументы экрана.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |