Постоянные ошибки CRC при работе с термостатами Hessway

Здравствуйте! предыстория в отдельной теме, когда я боролся с ошибками CRT термостата BAC-006 220В. Сошлись на том, что отсутствие GND может быть причиной.
Приобрел термостат BAC-006 с питанием на 24В, подключили его к WB по RS485 с питанием и землей, на шине других устройств нет.
Используемый шаблон прилагаю.
Также происходит множество ошибок как в версии с 220В, ошибки чуть отличаются, но структура точно такая же:
~90% ошибка из 5 байт
~5% ошибка
~5% правильных ответов от термостата
Разобраться в причине проблемы не удается. Если бы запросы были не верными, то термостат бы ни разу не отдавал ответ на регистр, а ответ иногда приходит
Что делать?


config-wb-bac–006-wb.json (4,4 КБ)

[grid]





[/grid]Обработка: 2025-05-29_00-16-50.png…
Обработка: config-wb-bac–006-wb.json…
config-wb-bac–006-wb.json (4,4 КБ)
BAC-006Modbus Protocol-1.docx (29,2 КБ)

Стоит ли терминатор?
Я предлагаю, для начала полностью исключить оборудование Wiren Board, для проверки. Например использовать USB/RS485 адаптер и проверить с компьютера.
Параллельно (или до этого) подключить заведомо исправное Modbus устройство к контроллеру, одним на порт. Ну и проверить работу с ним. Затем два устройства, этот термостат и точно работающее.

Таким образом можно будет убедиться, исключить проблемы в нашем оборудовании.

Добрый день!

Мы вас помним, подключили дополнительных инженеров к вашему вопросу.

Подскажите, а как устройство при этом работает? Нормально или с проблемами?

Возможно, этот случай подпадает под вот эту запись в документации:

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

В modbus_client явно видно, что контроллер от термостата получает что-то нестандартное. Но тем не менее, хочу исключить известную неисправность в работе портов контроллера (еррата ERRWB84009) - возможно, две проблемы накладываются/синергируют.

Предлагаю исключить эту еррату, проверив термостат с другим устройством и контроллер с другим слэйвом, как описал коллега выше.


В описании протокола, которое вы прикрепили, не вижу формата ответов от термостата, только команды. Но полагаю, что формат ответа должен соответствовать стандарту, раз он не описан. Ответ в 5 байт - не соответствует стандарту modbus.

У нас есть термостат этой серии, мы соберём стенд и постараемся воспроизвести проблему.

Ещё хочу вас попросить: прикрепите, пожалуйста, диагархив нам для справки.

Доброго времени суток, Елена! Спасибо что подключились и помните :slightly_smiling_face:
Добавил на этот же порт датчик температуры, работает без проблем

Ваша запись в документации гласит - иногда термостат отвечает на сообщения Modbus с некорректной контрольной суммой CRC
В реальности запись должна быть - в ± 99% случаев термостат отвечает некорректно

У меня опыт уже с четвертым видом термостата Hesswey, хороший отклик показывает только BAC-002, остальные с каждым разом все хуже и хуже…

Важно! - при проверке по рекомендации Андрея, можно сделать вывод, что вроде как контроллер непричем, но если термостат подключить на дополнительный (отдельный, гальванически развязанный) порт RS485, его работа намного стабильней… что вызывает вопросы

Диагностику прилагаю
diag_output_APZW3IWX_2025-05-30-18.32.56.zip (118,8 КБ)

Могу дать доступ, контроллер у меня на стенде

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

Если не решить проблему, то на термостатах Hessway нужно поставить жирный крест, а это очень плохо, т.к. клиенты требуют “красивые” термостаты для управления климатом

Думаю, будет полезно. Давайте так сделаем.

А контроллер вам нужен сейчас? Может сразу конфигурацию в сборе передадите?

1 лайк

Термостат передал. Надеюсь сможем победить эту проблему)
Контроллер не могу. У меня сейчас 3 контроллера на стенде, могу каждый проверить, думаю результат будет одинаков. Но это имеет смысл после первых результатов тестирования с Вашей стороны.
Если потребуется готов на каждый контроллер подключить по отдельному термостату и дать доступ

Спасибо. Занимаемся - отпишемся по результатам

Здравствуйте.

Протестировали термостат.

Вывод: изученный термостат в лучшем случае дает 3-7% правильных ответов в лабораторных условиях.
Для сравнения, визуально тот же термостат нашего инженера по интеграции отвечает правильно всегда.

Почему так - на данном этапе однозначно сказать сложно. Нужно разбирать изучаемый термостат, сравнивать платы. Возможно, прошивки у них разные - так часто бывает при копировании китайцами девайсов друг у друга.
Отсюда вопрос: отдадите ли вы свой термостат для более глубокого и, как следствие, длительного изучения причин? Сроки такой диагностики назвать пока не могу.
Иначе, можем в любой момент выслать его по указанному адресу.

Таким образом, допишу в документацию следующее:
Приобретение визуального такого же термостата не дает гарантию работы по разработанному нами шаблону или работы по Modbus.

Добрый день! Переписываюсь с Китайцами на эту тему, посмотрим что скажут.
Термостаты не визуально схожи а от официального продавца. Так что не спешите записывать это в подделку (копию).
Магазин официальный https://sl.aliexpress.ru/p?key=48e63QA
Если их не заставить разобраться, думаю вообще все термостаты Hessway можно ставить под вопрос. А альтернатив, как мы знаем, практически нет.

На счёт разобрать термостат я не против, но лучше конечно Вам напрямую попытать Hessway в рамках международного взаимовыгодного сотрудничества))

Китайцы как всегда “в своем репертуаре”

РАЗБИРАЙТЕ ТЕРМОСТАТ!!! :slightly_smiling_face:

Ответ Китайцев:

Инженеры сообщили, что мы не обновляли модуль RS485, за исключением модулей серии 002. Наши инженеры также протестировали модули серий 006 и 018, и их команды чтения и записи работают плавно и оперативно. В отзывах о командах чтения и записи MODBUS нет сообщений об ошибках.;

Я вышлю вам фотографии устройства, адаптированного к преобразователю, используемому инженером. Инженер считает, что с адаптацией вашего преобразователя возникла проблема. Если возможно, вы можете заменить его новым адаптированным преобразователем или переключиться на адаптированный преобразователь другой марки;

Здравствуйте.

Заказал для тестов еще такой же термостат, но с 220 питанием.
Ваш термостат из офиса отправил к себе, как говорил, для более глубокого изучения. Осциллографом проверить, с разных мастеров поуправлять, с moxa, в том числе.

Буду держать в курсе.

Добрый день! Проверили 2 термостата BHT-002 (работает корректно) и BAC-006 который даёт постоянно ошибки. Проверяли с помощью преобразователя rs485 и логического анализатора. Файл pаписывал программой Logic Saleae, ей же можно прочитать файлы .sal. Также есть файлы csv.
При проверке BHT-002 все сообщения от него WB прочитал корректно, в первых двух запросах ответ термостата 0x010e, в третьем 0x0113
Также прочитал сигналы с шины для BAC-006. В отличие от предыдущего, WB смог прочитать корректно только первое сообщение из трёх, во втором он неправильно прочитал первое поле с адресом, в последнем вообще неверно прочитал сообщение. Сам термостат при этом корректно прочитал сообщение от WB и в каждом из 3 случаев выдал полноценное modbus сообщение. BAC-006-1sal и BAC-006-3.sal также выделил поля






BAC-006-3.csv (1,8 КБ)
BAC-006-2.csv (1,9 КБ)
BAC-006-1.csv (1,8 КБ)
BAC-006-3.sal (4,2 КБ)
BAC-006-1.sal (4,2 КБ)
BHT-002-2.csv (2,0 КБ)
BHT-002-1.csv (2,0 КБ)
BHT-002-2.sal (3,7 КБ)
BHT-002-1.sal (4,2 КБ)
BHT-002-3.sal (3,7 КБ)

BHT-002-3.csv (2,0 КБ)
BAC-006-2.sal (3,7 КБ)

Подключение к USB-to-RS485 (Ошибок нет)
Устройство: https://www.ozon.ru/product/preobrazovatel-interfeysa-usb-rs-485-1603310486/

  1. Скачиваем и устанавливаем драйвер ch340: https://wiki.amperka.ru/_media/articles:driver-ch340:ch340ser-windows.zip
  2. Скачиваем и устанавливаем RealTerm: https://realterm.sourceforge.io/
  3. Выставляем параметры как указано на скринах
  4. В первое текстовое поле пишем modbus сообщение полностью, с адресом, данными и CRC, и нажимай на кнопку “as Hex”
  5. Ответ с термостата корректно отображается желтым цветом на экране
  • еще раз хочу сделать акцент на том что дополнительный слот RS485 на WB работает стабильней чем основные порты, но при этом ошибки и там и там.

Здравствуйте!
Я продолжу изучение вашего термостата, он должен оказаться у меня в ближайший четверг.

Добрый день! Вчера термостат так и не привезли, но, судя по трекингу, он близко! Напишу, как получу и начну изучать.

Здравствуйте, успел в пятницу получить и посмотреть термостат, не успел написать, извините.

У термостата обнаружилась неприятная особенность его прошивки, из-за которой с ним практически невозможно общаться по Modbus: термостат начинает отвечать раньше, чем контрроллер заканчивает отправлять команду на чтение регистра, невзирая на состояние шины.
Только в редких случаях термостат запаздывает со своим преждевременным ответом, и контроллер может этот его ответ прочитать.

Но в большинстве случаев видно, что процессор термостата включает трансивер на передачу слишком рано (голубой канал) (хотя по стандарту вообще должен ждать минимум 3,5 символа).

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

Добрый день! Спасибо за ответ.
Да, мы тоже при диагностике обратили на это внимание, но странно что китайский “свисток” за 200р. читает термостат без ошибок…
По прежнему надеюсь на победу над термостатами Hessway, и жду новостей.

Как-то, наверное, оба устройства у китайских инженерв нарушают всё на одном языке, и получается “плавно и оперативно”)
Подозреваю, что в конце этот преобразователь передает стоп-бит неконвенционально короткий. Посмотрим, что смогут поделать с этим наши программисты