Шторы RS 485

Здравствуйте.
Происходит не понятная чертовщина.
На линии висели 3 мотора Dooya 82 для раздвижных штор+добавили еше один +1
2 работают превосходно, один работал раньше, потом перестал, она особо не нужна по этому и внимание на него никто особо не обращал.
Так вот, при прямом подключении к контроллеру устройства адекватно работают проблем нет, при подключении к общей шине теряются и машина пишет что с устройством нет физической связи (все переобжал, перепроверил, все хорошо)
Куда смотреть что с этим делать не понимаю, в 2х окнах такая бяка

Добрый день!

Для диагностики проблемы пришлите, пожалуйста, архив с диагностической информацией контроллера. Создание архива описано в документации.

Уточните по питанию приводов, пожалуйста. Питаются от общего блока или от разных, связаны ли минусы блоков питания приводов с землёй контроллера. Шторные моторы при пуске просаживают питание, и через общую землю помеха приходит прямо в момент опроса.

Также вопрос по шине 485. Уточните тип кабеля и заведён ли третий провод GND между контроллером и приводами — без общего провода приёмник на длинной линии легко выходит за допустимый синфазный диапазон. Линия RS-485 должна быть шлейфом. Подключены ли терминаторы?

220 Вольт 3 привода в одной группе из них 1 работает 2 нет
1 привод в другой группе работает

UTP 2x2x0.52

да, заведен

шлейфом

нет, там общая длина 50м примерно.
самое интересное что привод который в самом конце шлейфа работает.
Расстояние до нерабочего первого привода 8м до второго не рабочего 15.
На расстоянии 15 м находятся 2 привода (1 штора 1 тюль) штора работает, тюль вот только добавили не работает

приложен диагностический архив, доступен только сотрудникам поддержки
(3,1 МБ)

По логам контроллера картина не сходится с версией об обрыве связи, и два неработающих привода ведут себя по-разному.

Один из них на связи: контроллер шлёт запрос, привод отвечает, ответ доходит целым и с верной контрольной суммой. То есть провода, обжим и длина линии в порядке. Не совпадает содержимое ответа: драйвер контроллера получает не то, что ожидает от этого протокола.

Второй не отвечает вообще: ни одного байта за два часа наблюдения.

Уточните, пожалуйста, два момента:

1. По приводу, который молчит. Отключите от шины остальные приводы и проверьте, какой адрес прописан именно в нём — по логам он не отвечает вообще ни на один запрос. Обратите внимание, что адрес у Dooya задаётся широковещательной командой: её выполнит любой мотор, который в этот момент находится в режиме программирования. Если при настройке нового привода в этот режим попал заодно и соседний, адрес мог перезаписаться и старому. Порядок работы с адресом описан здесь.

2. По приводу тюля. В настройках он заведён шаблоном с названием Onviz, а не Dooya 82, как остальные три. Такого шаблона в драйвере serial нет и Onviz отсутствует в поддерживаемых устройствах, значит он добавлен вручную. Подскажите, пожалуйста:

  • какой это привод физически: производитель и модель по маркировке на корпусе;

  • откуда взялся шаблон Onviz?

Если привод на деле тот же Dooya 82, его нужно перевести на штатный шаблон. Если это другая модель — надо смотреть, чем её протокол отличается.

Заодно подтвердите соответствие адресов и окон: какой адрес у какой шторы. В настройках подписаны только две из четырёх.

это привод онвиз, но по сути она Dooya при запросе карты регистров от поставщика они присалили карту моторов Dooya

у вас есть тема по шторам и там представитель онвиза прислал в ответ данный тэмплейд.
Это уже мой эксперимент

Переведу обратно как на Dooya она так ранее работала пока не отвалилась

0101 Шторы столовая
0202 Шторы мастер спальная
0303 Шторы гостиная
0606 Тюль гостиная

на комманды отвечают оба устройства которые не выводятся в интерфейсе.
вот что пишем сама машина

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

Но вы отправляли команду управления (открыть/закрыть), а драйвер в цикле опроса шлёт другой запрос — чтение текущей позиции. Не проходит именно он. Статус устройства в интерфейсе определяется по единственному опрашиваемому каналу «Позиция», поэтому при его отсутствии гаснут сразу все каналы, включая рабочие кнопки.

Уточните два момента:

1. На приводах «Шторы столовая» и «Тюль гостиная» настроены крайние положения? Пока лимиты не заданы, привод не отдаёт позицию. Прогон делается пультом или выключателем, подключённым к разъёму сухих контактов.

2. Пришлите ответы на запрос текущей позиции. Остановите wb-mqtt-serial и в serial_tool отправьте по очереди. Начните с рабочего привода — если он ответит корректно, значит команда составлена верно и поведение остальных можно трактовать однозначно.

55 02 02 01 02 01 E5 06     Шторы мастер спальная (рабочая)
55 03 03 01 02 01 D9 3A     Шторы гостиная (рабочая)
55 01 01 01 02 01 A1 42     Шторы столовая
55 06 06 01 02 01 15 F6     Тюль гостиная

Ответ должен быть восемь байт вида 55 xx xx 01 01 <позиция> <CRC>.

Выставил крайние положения и вот что выдало

При том что при подключении другого контроллера все в него залетает нормально

По ответам видно, что «Тюль гостиная» (0x0606) теперь отвечает корректно — восемь байт, позиция 2%. До этого не отвечал вообще. Запустите wb-mqtt-serial и проверьте, отображается ли он в интерфейсе.

По «Шторам столовая» (0x0101) ответ отличается по формату: девять байт вместо восьми. Из-за этого драйвер его не принимает. Это тот самый привод Onviz? Какой адрес у привода Onviz из 4 приводов?

Вы сказали, что на другом контроллере всё работает корректно. Вы подключили все 4 привода к другому контроллеру WB и там все отрабатывает корректно, я правильно понял? Если все так, то пришлите, пожалуйста, диагностический архив с него, сравним конфигурацию и версии.

да, это тот самый привод Онвиз

Привода Онвиз
0101 не отвечает
0202 отвечает
0303 отвечает