В данной статье рассматриваются некоторые вопросы управления освещением в системе KNX и связанные с этим проблемы. В частности, так называемая «проблема двойного нажатия клавиш», о которой знают многие КаНэИксоиды
.
Собственно говоря, проблемой это не является, если знать некоторые правила работы KNX.
Рассмотрим логику проходного включения, которая часто используется в системах «Умный дом». Под проходным включением имеется в виду включение одной нагрузки с 2 и более выключателей. В традиционной электропроводке это решается установкой специальных проходных выключателей, а также выполнения проводки по специальной схеме. В системе KNX это решается очень просто - без каких-либо ограничений (любое количество выключателей) или специальных электрических схем.
Все практические примеры в данной статье сделаны на оборудовании Zennio.
На рисунке показана структура управления 1 лампой с двух сенсорных панелей SQTMD. Используется режим переключения - для включения и выключения лампы используется только одна сенсорная кнопка панели. В базах на английском языке этот режим называется toggle. В этом режиме кнопки при каждом нажатии посылают поочередно «0» и «1» - то есть 0-1-0-1…
Только пользователям форума доступен просмотр содержимого спойлеров!
Для того, чтобы кнопки могли управлять одной нагрузкой, они должны посылать команды управления в один групповой адрес (на рисунке - «1/1/1»).
Если в проекте вы будете использовать указанные изделия Zennio, то никаких проблем при проходном включении у вас не будет.
Однако с изделиями других производителей может возникать эффект двойного нажатие - для того, чтобы включить или выключить освещение с другого выключателя, мы иногда должны нажать на него два раза. Почему это происходит или не происходит?
В нашем случае. В режиме переключения каждая кнопка передает попеременно команды «1» и «0». При этом все остальные кнопки в данной группе «0/0/1» также видят эту команду и меняют свое состояние на последнее, переданное в данной группе. И при следующем нажатии на любую кнопку продолжают последовательность 1-0-1-0.
Происходит это благодаря тому, что для данного объекта у кнопки установлен флаг записи.
Только пользователям форума доступен просмотр содержимого спойлеров!
Только пользователям форума доступен просмотр содержимого спойлеров!
Кнопка видит все команды, передаваемое в данной группе, и соответственно меняет свое состояние, чтобы в следующий раз передать правильную команду – т.е. противоположную последней переданной телеграмме.
Однако, для передающих объектов сенсоров флаг записи производители не всегда устанавливают в ETS по умолчанию, а используют минимально необходимую конфигурацию, которая показана на рисунке.
Только пользователям форума доступен просмотр содержимого спойлеров!
Небольшой эксперимент. Если мы снимем флаг записи в объектах наших кнопок
Только пользователям форума доступен просмотр содержимого спойлеров!
и посмотрим, что происходит (в групповом мониторинге), то увидим две разные ситуации.
Первый рисунок - работа с флагами, установленными в нашем случае по умолчанию, то есть флаг записи установлен. Имеем корректную последовательность 0-1-0-1-...
Только пользователям форума доступен просмотр содержимого спойлеров!
Второй рисунок - флаг записи не установлен (снят). Видно, что последовательность 1-0-1-0-… не соблюдается. Для наглядности в обоих примерах делается одинаковая последовательность нажатия на кнопки.
Только пользователям форума доступен просмотр содержимого спойлеров!
Вывод. Для того чтобы не возникало двойного нажатия на кнопки в логике с проходным включением, необходимо не забывать проверить наличие флага записи в передающих объектах.
Другая ситуация. К нашей схеме добавим еще одну кнопку для общего выключения всех нагрузок в здании. В ETS будет такая ситуация -
Только пользователям форума доступен просмотр содержимого спойлеров!
Кнопка общего выключения всегда посылает только телеграмму «0». И потому опять возникает эффект двойного нажатия! Суть проблемы в том же. Кнопки (выключатель 1.1.14) не видят телеграммы, которая передается кнопкой общего выключения.
Решение очень простое. Одно из правил KNX гласит, что любой объект любого изделия KNX может принадлежать нескольким групповым адресом. Добавляем адрес, по которому передается команда общего выключение, объектам наших кнопок.
Только пользователям форума доступен просмотр содержимого спойлеров!
Теперь, при передаче команды «Все выключить» («0»), в объекты кнопок записывается «0», и далее при следующем нажатии они будут передавать «1». Двойного нажатия не будет!
Описанное выше решение является абсолютно правильным с точки зрения технологии KNX. Но, на практике, этот вариант не совсем удобен, так как имеет некоторые недостатки. Статус по управляющей телеграмме (выход кнопки) не всегда отражает реального состояния канала управления (выход актуатора). Некорректные ситуации могут возникать в разных случаях. Например, если в канале актуатора используются таймерные функции или блокировки. Та же проблема будет существовать при использовании световых стен.
Но понять описанные выше примеры логики работы KNX очень полезно для более правильного и точного понимания работы изделий KNX c групповыми телеграммами.
Более удобное и универсальное решение - использование объекта статуса канала актуатора. В этом случае необходимо для каждого выхода актуатора создать свою отдельную группу состояния, в которой должны быть объект статуса актуатора и передающий объект кнопки, с которой идет прямое управление этим выходом актуатора. Групповые адреса в ETS будут выглядеть вот так -
Только пользователям форума доступен просмотр содержимого спойлеров!
Теперь кнопка всегда видит актуальное состояние выхода актуатора независимо от того, через какую группу и когда он был включен/выключен и меняет свое состояние соответствующим образом. Проблемы с двойным нажатием не будет!
{ссылка доступна нашим форумчанам}