Коллеги, подскажите такой кейс возможен ли?
Есть шина на которой 10 счетчиков электропитания
Можно ли эту шину полдключить к двум независимым контроллерам WB?
увижу ли я на каждом из них устройсва и будут ли данные?
спасибо
Добрый день.
На шине Modbus может быть только один мастер.
Если мастера будут работать с устройствами с разделением во времени - да, вполне возможно.
Синхронизировать мастеров можно с помощью mqtt например. Но подобное мы не делали - так как подобной необходимости не возникало.
Более “правильно” - один контроллер собирает данные со счетчиков, а второй забирает эту информацию с первого по mqtt.
Либо второй - Modbus slave и первый гонит в него данные по modbus.
Разделение по времени двух мастеров - лотерея. Обязательно наступит непредвиденный момент, когда они “передерутся”.
А какая изначальная задача? Резервирование?
Тогда бы я сделал некий периодичный “keep alive” друг в друга. Первый, допустим, главный. На обоих настроены все устройства. Если второй видит keep alive от первого - гасит опрос. Не пришел keep alive образно за 5 секунд - активировал опрос до появления опять keep alive от первого. Далее с некой периодичностью мержить базы куда-то.
коллеги, спасибо за ответы.
Цель следующая: нужно собирать данные с шины(девайсов на ней) в 2 разные, изолированные друг от друга системы.
Для этого есть специализированные устройства.
Недавно решал задачу одновременной интеграции электросчётчика в систему АСУТП УК и в систему “умного дома” квартиры. Использовал DAS tSH-735i.
Девайс умеет шарить RS-485 устройства в 2 шины, понимает протокол Mobus, может кэшировать ответы устройств, также умеет преобразовывать скорость и параметры порта.
Есть пара нюансов:
- Обратите внимание на букву “i” в конце названия устройства. Она означает, что порты гальванически изолированы. Скорее всего, Вам потребуется такой вариант.
- На устройство будут поступать все запросы из обоих сетей RS485, даже если адресат не находится за устройством. Т.е. в момент активности сети 1 (даже если эта активность не связана с устройством за шлюзом), устройство будет недоступно из сети 2. Таким образом, при активной работе обоих шин, шлюз будет всё время занят и опросить устройство за шлюзом не получится ни из одной из шин. Например, с тем же счётчиком - домовая АСУ ТП постоянно считывает данные последовательно со всех квартир и тем самым занимает шину в том числе и за шлюзом. В случае Mobdus в устройстве есть минимальные функции фильтрации, в случае если над RS-485 не Modbus (а в электросчётчиках именно так) зафильтровать не получится. Единственный выход - минимизация запросов на одной из шин: т.е. шлюз должен быть подключен к отдельному порту Wirenboard и нужно минимизировать количество опрашиваемых параметров и частоту опроса.
Вот тут не совсем понятно - то есть системы изолированы но работают с одной шиной RS485? В таком случае не проще получать по MQTT (или Modbus TCP) значения с одного контроллера, который уже в в свою очередь опрашивает шину?
в том то и суть, условно есть 2 IP сети которые не пересекаются, более того это должны быть физически 2 разные сети. Но дублировать шину и датчики на ней - крайне небюджетно.
собственно разыскивается решение
А вот это интересно, спасибо большое - пойду читать)