Расшифровка протокола Euroster UNI2

Здравствуйте! Есть контроллер отопления Euroster UNI2. В нём есть RS-485 для соединения нескольких контроллеров в каскад, что бы они обменивались данными датчиков и не приходилось ставить несколько одинаковых. Инструкция:

image

Хотелось бы иметь возможность стащить оттуда данные датчиков. Производитель протоколом делиться отказался, но сознался, что там ModBus ASCII.

Я попытался проанализировать протокол логическим анализатором, но почему-то ничего не вышло. Декодер Saleae Logic2 не видит там ModBus ASCII, либо я не умею им пользоваться (что более вероятно). Единственное, что вроде как baudrate 19200.

Прикрепляю три файла записи обмена:

  1. Коммуникация (Обмен) на контроллере выключен
  2. Коммуникация (Обмен) на контроллере включен, адрес контроллера 16, при этом контроллер настроен брать инфу с самого себя.
  3. Коммуникация (Обмен) на контроллере включен, адрес контроллера 16, датчик подачи контроллер должен брать с адреса 10, датчик улицы с адреса 11, реле котла на адресе 12, и реле тревоги на адресе 13.

У меня возникают следующие вопросы:

  1. Действительно ли это ModBus ASCII?
  2. Почему его не видит декодер?
  3. Где я могу увидеть эти несчастные адреса 16, 10, 11, 12, 13 в capture file?

Про работу ModBus ASCII с WB почитал в других темах, понимаю, что драйвер не умеет, но при особом желании это возможно, мне нужно всего лишь два датчика считывать.

UNI2 communication off.sal (157,4 КБ)
UNI2 self 16, all 16.sal (177,8 КБ)
UNI2 self 16, suply 10, out 11, boiler 12, alarm 13.sal (295,1 КБ)

Добрый день! В дампах вижу не протокол, а случайный шум.
Скорее всего вы как-то не так подкючили логический анализатор. Покажите пожалуйста, как именно он подключен?

Для RS-485, к сожалению, может понадобится подключить лог. анализатор к ресиверу RS-485, чтобы увидеть нормальный цифровой сигнал. Можно подключиться к выходе RO трансивера RS-485 на плате Wiren Board,например.

Ещё я бы рекомендовал попробовать подключиться просто к RS-485 порту Wiren Board-а, отключить опрос на этом порту и посмотреть трафик через serial_tool

D0 подключен на “A” контроллера отопления, D1 на “B”. Кроме контроллера отопления и анализатора ничего не подключено.

По D0 действительно в моменты тишины какой-то шум, а вот на D1 можно найти что-то похожее на полезный сигнал, и его отражение на D0. Просто он очень мелкий. Вот скрин из файла UNI2 self 16, suply 10, out 11, boiler 12, alarm 13.sal, сверху тайминг видно (1 s : 950 ms)

Если это не оно, то попробую ваши способы. Но судя по инверсии, это очень даже оно.

:wave:

Это непохоже на Modbus ASC2


Как ни крутил - не получилось
Заголовком должен быть 0x3a а везде 0x4a

Ожидаю адрес в виде 0x31 0x31 но не вижу.
Ну и - если предположить что есть запросы? f 'nj rfr hfp crjhtt dctuj nfr/ то не видно ответов. Как выше предложил коллега - надо взять стандартный приемник RS485 и читать с его выхода.

Ладно, понял, спасибо, в этом случае овчинка выделки не стоит.