Здравствуйте! Есть контроллер отопления Euroster UNI2. В нём есть RS-485 для соединения нескольких контроллеров в каскад, что бы они обменивались данными датчиков и не приходилось ставить несколько одинаковых. Инструкция:
Хотелось бы иметь возможность стащить оттуда данные датчиков. Производитель протоколом делиться отказался, но сознался, что там ModBus ASCII.
Я попытался проанализировать протокол логическим анализатором, но почему-то ничего не вышло. Декодер Saleae Logic2 не видит там ModBus ASCII, либо я не умею им пользоваться (что более вероятно). Единственное, что вроде как baudrate 19200.
Прикрепляю три файла записи обмена:
- Коммуникация (Обмен) на контроллере выключен
- Коммуникация (Обмен) на контроллере включен, адрес контроллера 16, при этом контроллер настроен брать инфу с самого себя.
- Коммуникация (Обмен) на контроллере включен, адрес контроллера 16, датчик подачи контроллер должен брать с адреса 10, датчик улицы с адреса 11, реле котла на адресе 12, и реле тревоги на адресе 13.
У меня возникают следующие вопросы:
- Действительно ли это ModBus ASCII?
- Почему его не видит декодер?
- Где я могу увидеть эти несчастные адреса 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 КБ)