В системах домашней автоматики, в которых модули и датчики подключены друг к другу шиной RS485 (например, Wirenboard) важно соблюдать правильную топологию шины.
KNX, например, удобен тем, что там топология шины вообще свободная. Возможен вот такой вариант:
Можно подключать последовательно, можно звездой, можно шиной с ответвлениями, главное соблюдать ограничение по общей длине и по максимальному количеству устройств, а также по расстоянию между блоками питания.
В шине DALI, аналогично, топология свободная. И также ограничения по длинам и устройствам, несколько отличные от KNX. Захотели подключить какое-то устройство к шине KNX или DALI — нашли ближайшую шину и сделали от неё отвод.
Для RS485 регламентировано исключительно последовательное подключение, оно же «шлейф» или «линия», кто как привык называть. То есть, вот так:
Подключаем все slave устройства последовательно, обязательно перевитыми жилами витой пары. Отдельную жилу витой пары используем как gnd или com — нулевой проводник. Если витая пара экранированная, то экран можно заземлить, но только в одном месте, обычно в щите. Не надо в конце шины искать какое-то заземление для экрана, заземление имеет смысл только когда оно в одной точке кабеля.
Для того, чтобы сделать ответвление от шины, можно использовать устройство TCC-120 от фирмы Moxa.
Есть ещё множество устройств для изменения топологии шины: изоляторы, защита от помех, преобразователи в ethernet и даже в оптику для передачи шины на большие расстояния. Смотрите каталог той же фирмы Moxa.
Но если перейти от теории к практике реализации систем для квартир и загородных домов небольшого размера, то мы сталкиваемся с тем, что эти чёткие правила прокладки шины RS485, надо понимать, могут соблюдаться достаточно вольно.
Например, мне ни на одном объекте не приходилось заземлять экран витой пары. Для коротких линий жилу gnd можно не использовать, всё и так будет работать, если, конечно, по ней не передаётся ноль питания. И главное, что хоть правила и подразумевают только последовательное подключение элементов на шине, система может работать и при наличии в шине отводов, и даже при соединении звездой.
Например, я уже давно в проектах рисую подключение управления с контроллера Beckhoff кондиционерами по modbus звездой.
Ни разу не было ни единой проблемы с управлением, хоть такая схема и противоречит правилам подключения modbus по RS485. Но надо понимать, что к монтажу шинных кабелей нужно относиться серьёзно: вести не впритык к силовым, не делать в кабеле между двумя соседними устройствами скруток, использовать нормальный кабель. Чем больше отступлений от правильного монтажа, тем ниже скорость обмена данными и больше помех.
Но тут речь не о том, как нарушать правила, а, наоборот, как сделать так, чтобы всё работало.
Самая удобная и универсальная схема разводки кабеля — это звезда, то есть, отдельные кабели от щита до каждого элемента. Это удобно в плане монтажа: тянем кабель питания кондиционера, заодно и витую пару, тянем кабель питания вентмашины, заодно и витую пару, тянем кабель от щита до выключателя, а в рамке с ним будет датчик температуры. Ещё в такой схеме всегда легко разобраться: один конец кабеля в щите, второй в нужном месте выходит, без ответвлений.
Самое главное — это универсально. То есть, если мы хотели управлять вентмашиной по modbus, а потом поняли, что проще управлять сухим контактом, то 8 жил витой пары хватит и для переключения основных режимов, и для считывания сигналов. А если бы у нас было у вентмашины ответвление витой пары от шины, то такое управление уже не реализовать было бы, разве что подключая на шину модули ввода-вывода. Или мы бы захотели вместо датчика modbus поставить датчик с аналоговым сигналом 0-10 вольт. Или, наоборот, хотели управлять светильником по modbus (или knx или DALI), а удобнее получается сигналом 1-10 вольт.
А ещё шлейф не так надёжен. Мы же ведём его от щита до первого элемента, затем перемычка до второго, затем перемычка до третьего и так далее. А вдруг во время ремонта где-то между двумя устройствами происходит обрыв? Мы лишаемся связи со всей последующей цепочкой. Чтобы от такого застраховаться, можно сделать «кольцо» — от последнего устройства в шлейфе завести кабель в щит. Только подключать его не надо, шина, подключенная с двух концов, работать не будет. Это на случай как раз обрыва, можно будет сделать из одного шлейфа два.
Но перейдём к нашей теме — соединение устройств зигзагом!
Зигзаг означает, что мы прокинули кабели шины rs485 звездой, а нужно реализовать подключение шлейфом. Мы используем разные перевитые пары жил витой пары для «ухода» шины из щита к модулю и для «возврата» обратно в щит, в щите соединяем эти вернувшиеся жилы с уходящими на следующий элемент, и так далее.
При этом появляются нежелательные соединения шины и увеличивается её длина, зато мы получаем все преимущества схемы «звезда», описанной выше.
Это отличный вариант подключения датчиков параметров воздуха, например, WB-MSW и WB-MS в системах на базе контроллеров Wirenboard и EasyHomePLC если мы хотим обеспечить универсальность монтажа кабелей.
Но при количестве датчиков больше 12-15 штук и общей длине линии более 200 метров лучше использовать рекомендованную топологию соединения элементов шлейфом. И в любом случае не забывать про соблюдение расстояния между силовыми и слаботочными кабелями и качественный кабель FTP либо специализированный для шины Modbus.
В Удобной электрике шина закольцована, для надёжности. Система работает при одном повреждении.