MDM3 при включении нагрузки начинает терять пакеты

В электрощите установлены 4 устройства MDM3 и контроллер WB7.
Версия ПО testing, все прошивки MDM3 - обновил.
Скорость обмена 115200, 8 бит , без четности, 1 стоп, шина из экранированного патч кабеля STP 5е, длина менее метра.

Подключил нагрузку: по одной LED лампе gauss по 8 ват. Как только включаю нагрузку начинает терять пакеты.

Что можно предпринять?

В логе полно записей такого плана:

02-09-2022 21:49:50.655 [wb-mqtt-serial] WARNING: [modbus] failed to read 1 discrete(s) @ 4 of device modbus:97: Serial protocol error: request timed out
02-09-2022 21:49:50.014 [wb-mqtt-serial] WARNING: [modbus] failed to read 1 holding(s) @ 0 of device modbus:97: Serial protocol error: request timed out
02-09-2022 21:49:50.014 [wb-mqtt-serial] WARNING: [modbus] failed to read 1 holding(s) @ 0 of device modbus:97: Serial protocol error: request timed out
02-09-2022 21:49:49.094 [wb-mqtt-serial] WARNING: [modbus] failed to read 1 coil(s) @ 2 of device modbus:97: Serial protocol error: request timed out
02-09-2022 21:49:48.093 [wb-mqtt-serial] WARNING: [modbus] failed to read 1 discrete(s) @ 3 of device modbus:97: Serial protocol error: request timed out
02-09-2022 21:49:47.522 [wb-mqtt-serial] WARNING: [modbus] failed to read 2 input(s) @ 270 of device modbus:97: Serial protocol error: request timed out
02-09-2022 21:49:46.963 [wb-mqtt-serial] WARNING: [modbus] failed to read 1 input(s) @ 97 of device modbus:97: Serial protocol error: request timed out
02-09-2022 21:49:46.032 [wb-mqtt-serial] WARNING: [modbus] failed to read 1 discrete(s) @ 5 of device modbus:97: Serial protocol error: request timed out
02-09-2022 21:49:45.472 [wb-mqtt-serial] WARNING: [modbus] failed to read 1 coil(s) @ 2 of device modbus:97: Serial protocol error: request timed out
02-09-2022 21:49:44.912 [wb-mqtt-serial] WARNING: [modbus] failed to read 1 input(s) @ 123 of device modbus:97: Serial protocol error: request timed out
02-09-2022 21:49:44.341 [wb-mqtt-serial] WARNING: [modbus] failed to read 1 input(s) @ 32 of device modbus:97: Serial protocol error: request timed out
02-09-2022 21:49:43.421 [wb-mqtt-serial] WARNING: [modbus] failed to read 1 discrete(s) @ 3 of device modbus:97: Serial protocol error: request timed out
02-09-2022 21:49:43.421 [wb-mqtt-serial] WARNING: [modbus] failed to read 1 discrete(s) @ 3 of device modbus:97: Serial protocol error: request timed out
02-09-2022 21:49:42.850 [wb-mqtt-serial] WARNING: [modbus] failed to read 16 input(s) @ 250 of device modbus:97: Serial protocol error: request timed out
02-09-2022 21:49:42.270 [wb-mqtt-serial] WARNING: [modbus] failed to read 1 holding(s) @ 2 of device modbus:97: Serial protocol error: request timed out

Как подклюечен экран?

Проверить - хорошо ли подключен концевой терминатор нужно, для начала.

Экран подключен к GND котроллера

Смогу на неделе проделать, тогда отпишусь

Подключил резистор 120 ом - не помогло :frowning:

Так…
Нагрузки (и вообще силовые провода) проходят в щите раздельно от шины Modbus?
Покажите фото.




Вот общий вид (от контроллера кабель оттянут в сторонку). Его подключение к кабелю, идущему к 4-м MDM3. Терминирующий резистор на колодке к которой планируется подключать кабель идущий к MDM3 второго этажа.

Так… А на устройствах тоже установлен 1 стопбит, на всех?

Для диагностики проблемы пришлите, пожалуйста, архив с диагностической информацией контроллера. Создание архива описано в инструкции.
Ну и сам файл /etc/wb-mqtt-serial.conf тоже.

diag_output_AMFACU7_2022-09-08-13.54.58.zip (151.6 КБ)
Вот еще
wb-mqtt-serial.conf (5.6 КБ)

"stop_bits" : 1

На всех портах включен один стопбит. Все устройства также сконфигурированы?
Переключите порт на 2 стандартных стопбита.
Ну и укажите “guard_interval_us” : 100

Не помогло.
Скажите, а в шаблонах диммеров нет описание регистров для настройки стоп битов.
Руками записывал туда значения на один стоп бит, когда еще у меня не было контроллера.
Означает ли то, что на порту контроллера установил 2 стоп бита и диммеры сами подстроились под это (обмен то ведь с ними ведется)?
Или нужно опять таки руками залезть и установить в диммерах 2 стоп бита?

Прочитайте их чтобы убедиться.

Нет, совсем не означает. При разных настройках обмен может, конечно, быть, но с ошибками.

Если в диммерах стоит 1 стопбит - надо убедиться в этом.

Выставил всем диммерам 2 стоп бита в настройках - не помогло.
В ходе экспериментов заметил, что пакеты теряются вне зависимости от того подключена нагрузка или нет. Обнаружил, когда включил нагрузку у диммера к которому совсем не подключена ни одна лампочка.

И теряются они ровно на том устройстве у которого включено димирование. Т.е. как только включаю - начинает терять пакеты.

Еще, заметил что при снижении уровня диммирования (к примеру до 50%) пакеты также перестают теряться.

Что делать - не понятно. Снижать скорость обмена на короткой линии очень не хочется.

Тут очень помог бы осциллограф или анализатор, чтобы посмотреть что наводится на линию. Для проверки советую подключить (оставить на шине) одно устройство, отдельным кабелем. Ну и отключить опрос остальных естественно.

Осциллографа у меня нет :frowning:
Но вот “идеальный” кабель мне сделать по силам (метр длинны, экран подключенный к GND, терминирующий резистор). Что тоже не помогло.
Но вот, что заметил так это то, что пакеты теряются когда хотя бы один уровень диммирования задран в 100%, стоит снизить до 99% - “полет нормальный”.
Есть ощущение, что такой уровень диммирования переводит устройство в режим в котором он либо что-то усилено просчитывает, либо аппаратная часть генерирует “мега” помехи.
С кабелем, который заложен в щиток, обмен при 100% диммирования нормально идет только на скорости 19200.

Точно нет.
Для проверки, в два этапа:

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

Питание нагрузок отключил - пакеты не теряются.
Обычной лампочки у меня в хозяйстве нет, даже не знаю чем бы ее заменить можно было …?

Но вот диммеры у которых нагрузка в принципе не подключена также “не работают”, т.е. теряют пакеты при 100% уровне диммирования. Это не показательно?

Отлично.

А питание подключено?
При отключенном питании 220 - как себя ведут?

При отключенном питании нагрузки пакеты - не теряются.
При подключенном питании нагрузки, не зависимо от того подключено что-то к каналам диммера или нет при 100% уровне диммирования и скорости порта 115200 (2-х стоп бита, без контроля четности) начинают теряться пакеты.
При необходимости готов устроить демонстрацию того как это “работает”. Например, через ZOOM.

Демонстрация без измерения не особо полезна.
У меня не воспроизводится. Повоторите пожалуйста на столе эксперимент, снимите контроллер, его БП, один из диммеров. И подключите на столе, отдельно, вдалеке от кабелей.

Провел - не помогло!
Обновил прошивку со стиранием всех данных - не помогло.
Прикладываю страницы настройки MDM3, может быть в этом есть что-то …