Проблема "двойного нажатия кнопок"

Про неё знает каждый, кто собирал проходное включение на KNX. Проблемой это становится только тогда, когда не знаешь пары правил.

Сначала про саму логику. Проходное включение это управление одной нагрузкой с двух и более выключателей. В обычной проводке для этого ставят проходные выключатели и тянут хитрую схему. В KNX ограничений нет: сколько кнопок, столько и ставим, схема не меняется.

Примеры ниже на оборудовании Zennio.

На рисунке 1 одна лампа и две сенсорные панели SQTMD. Кнопки работают в режиме переключения, по-английски toggle: каждое нажатие отправляет по очереди 0 и 1.

Рисунок 1. Проходное включение в KNX

Чтобы кнопки управляли одной нагрузкой, они должны отправлять команды в один групповой адрес, на рисунке это 1/1/1.

С изделиями Zennio проблемы не будет. С чужим оборудованием иногда приходится нажимать дважды. Почему?

В режиме переключения каждая кнопка отправляет 1 и 0 по очереди. Остальные кнопки в группе видят эту команду и меняют своё состояние на последнее отправленное. Следующее нажатие продолжает последовательность 1-0-1-0.

Так происходит потому, что у объекта кнопки установлен флаг записи.

Рисунок 2. Флаг записи

Рисунок 3. Флаг записи вручную

Кнопка видит все команды в группе и подстраивает состояние, чтобы в следующий раз отправить противоположное.

Но производители не всегда ставят флаг записи в ETS по умолчанию: часто оставляют минимальную конфигурацию.

Рисунок 4. Флаги по умолчанию

Проверим. Снимем флаг записи у объектов кнопок.

Рисунок 5. Флаг записи снят

И посмотрим групповой мониторинг. Первый случай, флаг записи стоит: последовательность 0-1-0-1 корректная.

Рисунок 6. Корректная последовательность


Второй, флаг снят: последовательность 1-0-1-0 не соблюдается. Нажатия в обоих примерах одинаковые.

Рисунок 7. Последовательность сбилась

Вывод простой: в логике проходного включения проверяйте флаг записи у передающих объектов.

Другая ситуация. Добавим кнопку общего выключения всего здания.

Рисунок 8. Общее выключение

Она всегда отправляет только 0. И снова двойное нажатие, потому что кнопки (выключатель 1.1.14) не видят её телеграмму.

Решение короткое. По правилам KNX объект может входить в несколько групповых адресов. Добавляем адрес команды общего выключения объектам наших кнопок.

Рисунок 9. Общий адрес для всех кнопок


Теперь при команде “всё выключить” в объекты кнопок записывается 0, и следующее нажатие отправит 1. Двойного нажатия нет.

С точки зрения технологии решение правильное. На практике есть неудобство: статус по управляющей телеграмме не всегда совпадает с реальным состоянием канала. Например, если в канале актуатора работают таймеры или блокировки. Со световыми стенами та же история.

Но разобрать эти примеры полезно: так становится понятнее, как KNX работает с групповыми телеграммами.

Универсальнее другое решение: статус канала актуатора. Для каждого выхода создаём отдельную группу состояния, куда входят объект статуса актуатора и объект кнопки, которая этим выходом управляет.

Рисунок 10. Группы состояния

Спасибо большое за доступное изложение материала!
Есть вопрос связанный с расширением этой темы.
Допустим в схему с переключателем (выключателем) добывляем датчик движения.
Т.е. кнопкой мы включаем группу освещения до следующего нажатия кнопки, а по датчику движения идет временное включение этой же группы освещения при условии что она выключена.

Также добавляете выход ДД в ту же группу.
Если освещение уже вкл и ДД дает вкл - освещение так и остается вкл.
Если освещение в состоянии выкл и ДД дает вкл - освещение вкл.

Никаких особенностей нет

1 лайк

leonid писал(а):
Также добавляете выход ДД в ту же группу.
Если освещение уже вкл и ДД дает вкл - освещение так и остается вкл.
Если освещение в состоянии выкл и ДД дает вкл - освещение вкл.

Никаких особенностей нет
Почти, но не совсем.
Я понял что не совсем точно описал ситуацию (упростил).
Имеем две группы освещения: малая и большая. ДД включает и выключает только малую группу, а кнопка включает и выключает обе группы.
Кнопка находится в зоне действия ДД. ДД до нажатия кнопки успевает включить малую группу освещения и запустить таймер на отправку сигнала отключения. Я же допустим решил задержаться в комнате подольше и нажимаю кнопку включения малой и большой группы света. Все включилось, но через 30 секунд малая группа освещения вырубается.
Принцип, который Вы описываете работает в данном случае только если притаиться и когда после таймера ДД малая группа освещения отключится (или дважды щелкнуть кнопкой, чтобы принудительно все вырубить) нажать кнопку включения двух групп освещения, тогда ДД не конфликтует.