Не корректная работа диммера DDM845R по modbus

По умолчанию оставил 3000 таймаут, добавил интервал между опросами на 100 и получаем такиеже фрагменты:

Feb 20 10:35:09 wirenboard-AQM5XQ53 user.notice serial: modbus: read 1 coil(s) @ 2 of device modbus:34
Feb 20 10:35:09 wirenboard-AQM5XQ53 user.notice serial: Write: 22 01 00 02 00 01 5b 59
Feb 20 10:35:09 wirenboard-AQM5XQ53 user.notice serial: ReadFrame: 22 01 01 01 9B CC
Feb 20 10:35:09 wirenboard-AQM5XQ53 user.notice serial: modbus: read 1 coil(s) @ 3 of device modbus:34
Feb 20 10:35:09 wirenboard-AQM5XQ53 user.notice serial: Write: 22 01 00 03 00 01 0a 99
Feb 20 10:35:09 wirenboard-AQM5XQ53 user.notice serial: ModbusRTU::ReadRegisterRange(): failed to read 1 coil(s) @ 3 of device modbus:34: Serial protocol error: request timed out
Feb 20 10:35:09 wirenboard-AQM5XQ53 user.notice serial: modbus: read 1 holding(s) @ 0 of device modbus:34
Feb 20 10:35:09 wirenboard-AQM5XQ53 user.notice serial: Write: 22 03 00 00 00 01 83 59
Feb 20 10:35:09 wirenboard-AQM5XQ53 user.notice serial: ReadFrame: 22 03 02 00 22 FD 9A
Feb 20 10:35:09 wirenboard-AQM5XQ53 user.notice serial: modbus: read 1 holding(s) @ 40 of device modbus:34
Feb 20 10:35:09 wirenboard-AQM5XQ53 user.notice serial: Write: 22 03 00 28 00 01 03 51
Feb 20 10:35:10 wirenboard-AQM5XQ53 user.notice serial: ModbusRTU::ReadRegisterRange(): failed to read 1 holding(s) @ 40 of device modbus:34: Serial protocol error: request timed out
Feb 20 10:35:10 wirenboard-AQM5XQ53 user.notice serial: modbus: read 1 holding(s) @ 41 of device modbus:34
Feb 20 10:35:10 wirenboard-AQM5XQ53 user.notice serial: Write: 22 03 00 29 00 01 52 91
Feb 20 10:35:10 wirenboard-AQM5XQ53 user.notice serial: ReadFrame: 22 03 02 00 00 7D 83
Feb 20 10:35:10 wirenboard-AQM5XQ53 user.notice serial: modbus: read 1 holding(s) @ 42 of device modbus:34
Feb 20 10:35:10 wirenboard-AQM5XQ53 user.notice serial: Write: 22 03 00 2a 00 01 a2 91
Feb 20 10:35:10 wirenboard-AQM5XQ53 user.notice serial: ModbusRTU::ReadRegisterRange(): failed to read 1 holding(s) @ 42 of device modbus:34: Serial protocol error: request timed out
Feb 20 10:35:10 wirenboard-AQM5XQ53 user.notice serial: modbus: read 1 holding(s) @ 43 of device modbus:34
Feb 20 10:35:10 wirenboard-AQM5XQ53 user.notice serial: Write: 22 03 00 2b 00 01 f3 51
Feb 20 10:35:10 wirenboard-AQM5XQ53 user.notice serial: ReadFrame: 22 03 02 00 00 7D 83
Feb 20 10:35:10 wirenboard-AQM5XQ53 user.notice serial: modbus: read 1 coil(s) @ 0 of device modbus:34
Feb 20 10:35:10 wirenboard-AQM5XQ53 user.notice serial: Write: 22 01 00 00 00 01 fa 99
Feb 20 10:35:11 wirenboard-AQM5XQ53 user.notice serial: ModbusRTU::ReadRegisterRange(): failed to read 1 coil(s) @ 0 of device modbus:34: Serial protocol error: request timed out
Feb 20 10:35:11 wirenboard-AQM5XQ53 user.notice serial: modbus: read 1 coil(s) @ 1 of device modbus:34
Feb 20 10:35:11 wirenboard-AQM5XQ53 user.notice serial: Write: 22 01 00 01 00 01 ab 59
Feb 20 10:35:11 wirenboard-AQM5XQ53 user.notice serial: ReadFrame: 22 01 01 00 5A 0C
Feb 20 10:35:11 wirenboard-AQM5XQ53 user.notice serial: modbus: read 1 coil(s) @ 2 of device modbus:34
Feb 20 10:35:11 wirenboard-AQM5XQ53 user.notice serial: Write: 22 01 00 02 00 01 5b 59
Feb 20 10:35:11 wirenboard-AQM5XQ53 user.notice serial: ModbusRTU::ReadRegisterRange(): failed to read 1 coil(s) @ 2 of device modbus:34: Serial protocol error: request timed out
Feb 20 10:35:11 wirenboard-AQM5XQ53 user.notice serial: modbus: read 1 coil(s) @ 3 of device modbus:34
Feb 20 10:35:11 wirenboard-AQM5XQ53 user.notice serial: Write: 22 01 00 03 00 01 0a 99
Feb 20 10:35:11 wirenboard-AQM5XQ53 user.notice serial: ReadFrame: 22 01 01 00 5A 0C
Feb 20 10:35:11 wirenboard-AQM5XQ53 user.notice serial: modbus: read 1 holding(s) @ 0 of device modbus:34
Feb 20 10:35:11 wirenboard-AQM5XQ53 user.notice serial: Write: 22 03 00 00 00 01 83 59


Попробуйте увеличить интервал между обращениями к регистрам:


Терминатор вам вряд ли поможет, но если есть резистор номинала 120 Ом (плис-минус), попробуйте установить его.

Изменять интервал в большую сторону не имеет смысла. Как пользователь будет пользоваться диммером, который опрашивает канал с интервалом в секунду с учетом плавного регулирования с долгим зажатием кнопки? И это хорошо, если опрос будет без ошибок, но даже сейчас при использовании скриптов у нас возвращается старая переменная из диммера и регулирование вернется на тот уровень который опросился успешно. Итого получим ~10 секунд на регулирование до 50% яркости и еще мы не сможем визуально отследить плавность изменения яркости, что в итоге просто не приемлемо.

Вариант с резистором рассмотрим, но об увеличении интервалов не может быть и речи.

Вариант с резистором не помог.

Смотрите, сейчас мы пытаемся добиться корректной работы на уровне RS-485 и настраиваем разные тайминги опроса. У нас, к сожалению, нет разумдомовского диммера, поэтому я предлагаю вам варианты решения проблемы с опросом устройства.
Кроме “Interval between register reads” (в микросекундах) есть еще параметр “Frame timeout (ms)”, его тоже можно изменять для устройства.
По опыту устройства Разумдом иногда не отвечают в течение какого-то интервала времени после здания, например, команды, на изменение яркости.
Предполагаю, что корректные тайминги позволят вам сохранить приемлемые интервалы опроса устройства и обеспечить надежную коммуникацию.

Какие возможно корректные тайминги? Случайный перебор, даже до 3000 между всеми видами операций, не дал никаких положительных результатов.

Для

попробуйте начать с 100000 микросекунд.

Доброго времени, у меня подобная ситуация с данным диммиром. Попытки добиться стабильности не увенчались успехом. Так как ещё в стадии чернового ремонта, а до чистовой электрики далеко, могу дать(отправить) на тесты свой диммер.

1 лайк

SAA, спасибо! Готовы принять ваш диммер для тестирования. Свяжитесь, пожалуйста, на нашими менеджерами, чтобы обсудить детали доставки/возврата. https://wirenboard.com/ru/pages/contacts
Сошлитесь на эту тему на форуме, сажите, что вы со мной это обсуждали. Я всех предупредил.

Посылка отправлена, на почту отправлена копия накладной.

Ждем, спасибо!

SAA, добрый день!

Нам удалось справится с диммером, установив задержки в опросах регистров и увеличив количество одновременно опрашиваемых регистров.
Скоро шаблон для диммера будет в продакшене, пока есть тестовая версия.config-ddm845r.json (2.1 КБ)

Переключение режима работы выходов диммера и изменение частоты ШИМ “налету” приводят к проблемам с обменом по Modbus. Поэтому мы не вынесли контролы этих параметров в шаблон.
Эти значения надо задавать один раз, при настройке устройства.

У вас есть экземпляр, на котором вы можете проверить текущий шаблон?

Супер )) второго нет. Завтра закажу, на следующей неделе придет

Обнаружили, что таблица регистров в документации производителя содержит неточности, нужно “доверять но проверять”. Ваш экземпляр пока у нас — на случай непредвиденных корректировок?

Да у вас. Как буду до заказывать оборудования вернём одним пакетом. Ещё один димер заказал. На следующей неделе придет

доброго времени, получил подопотного. Что необходимо сделать?

Добрый день! Протестируйте с новым шаблоном (выше), попробуйте добавить в него необходимый функционал.

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

Замечательно! При заказе нового оборудования напомните тогда, чтобы старый диммер вернули. А какой функционал планируете еще сделать?

Из коробки на стенде, при подключении нагрузки и клавиши без фиксации все работает отлично, дальше написание правил по датчикам движения и времени. Но пока у меня нет четкого понимания как это все должно работать. (((