Объединение нескольких контроллеров WB6 и WB7

Добрый день!
Планируется реализация довольно крупного объекта с большим количеством устройств, как на Modbus, так и на других протоколах (панели KNX, мультимедиа оборудование по RS-232).

Соответственно возникает проблема с общей нагрузкой на контроллер и количеством устройств на шине Modbus (преимущественно настенных датчиков).

Обычно мы стараемся вешать на одну шину Modbus не более 6-7 датчиков, для того чтобы не возникало задержки при обнаружении движения. Так же для устройств не от WB (модули для кондеев, шторы, вентеляция, увлажнение) также стараемся выделять отдельный порт от греха подальше.

Обычно с добавлением дополнительных портов прекрасно справляются модули WBE2-I-RS485-ISO, но конкретно в этом проекте места хватит только для одного такого модуля (3 остальных внутренних порта будут заняты RS-232, KNX и ZigBee).

Возникла идея объединить в единую систему несколько контролеров WB (на WB7 повесить всю логику и датчики, настенные датчики, а на WB6 остальные интерфейсы).

Возникает вопрос, как это вообще можно сделать? (Где-то видел что контроллеры поддерживают работу в режиме мастер/слейв и все устройства от слейва видятся в мастере как будто устройства подключенные к нему). И есть ли смысл вообще от такой схемы в плане надежности и быстродействия? Не будет ли такой формат медленнее, чем просто большее количество устройств на шине Modbus?

А почему не использовать более быстродейственный WB7 и добавить портов с помощью WB-MGE? Они подключаются через Ethernet и работают не медленней чем встроенные.

Вообще с одного контроллера на другой публиковать данные проще всего по MQTT, мостом: MQTT — Wiren Board

Таже можно объединить контроллеры через Modbus TCP/

Мост накладывает несколько миллисекунд задержки, конечно, но вполне сравним по быстродействию с вариантом использования WB-MGE шлюзов.

их не очень хочется использовать из-за сложностей их работы напрямую с модбас устройсвами (через них затрудненно обновлять прошивки и тд)

Я правильно понял, что если мы сделаем так:

то у нас в вебе “основного” контроллера в списке устройств появятся устройства из другого?

При использовании примера так не будет. Топики в другом контроллере будут будут начинаться с /controller. Их значения нужно будет анализировать правилами.

Чтобы устройство автоматически появилось в веб-интерфейсе нужно, чтобы его топики соответствовали конвенции. То есть имели вид

/devices/$SystemId/meta/name
/devices/$SystemId/controls/$deviceUniqueControlId
/devices/$SystemId/controls/$deviceUniqueControlId/meta/type

То есть, чтобы они отображались автоматически нужно вместо /controller указать /devices, но это может вызвать проблемы, если на контроллерах есть устройства с одинаковыми $SystemId (топиками). Тогда они будут перезаписываться. Поэтому нужно быть аккуратным.

1 Like