Добрый день!
Нужна помощь. Имеются два полупромышленных кондиционера hisence, поддерживаемые шлюзом onokom’а. И собственно два модуля HS-6-MB-B. Во главе всего wb7. Физически оба модуля кондеев подключены на одном rs485.
Как можно управлять каждым модулем отдельно? При попытке запустить оба модуля сериал сервис сходит с ума, т.к видимо у девайсов один id и т.д. Отдельно же по одному работают оба без проблем.
Т.е как и где их можно разделить, обозвать и сепарировано обращаться? Пробовал имена задавать и адреса разные устройства, вешать на разные линии rs485 - никак не получается.
А какой?
Если совпадают - следует изменить на одном из шлюзов в соответствии с документацией
На одной шине не может быть два устройства с одинаковыми адресами, естественно.
Следующие попытки подключить модули вообще привели к отвалу rs485.
У меня на первом порте висит одно устройство - рекуператор. А на втором - MAP6S. Модули HS-6-MB-B хотел на второй порт повесить вместе с счётчиком.
На коленке подключил короткими проводами после счетчика модуль кондиционера - не завелось, начало сыпать ошибками в лог. После оставил подключенным только MAP6S - он один
спамил в лог кучу ошибок, но при этом часть данных с него иногда приходила и пробивалась (в веб интерфейсе то красные, то черные данные). Физически оставил его подключеным масимально коротко и с одним питанием от рс485 - всеравно продолжал сыпать ошибками.
пример лога ошибок
|29-05-2024 14:17:58.636|WARNING: [modbus] failed to read 3 input(s) @ 8441 of device modbus:141: Serial protocol error: malformed response: invalid data size|
|29-05-2024 14:17:58.587|WARNING: [modbus] failed to read 3 input(s) @ 8381 of device modbus:141: Serial protocol error: malformed response: invalid crc|
|29-05-2024 14:17:58.558|WARNING: [modbus] failed to read 6 input(s) @ 5142 of device modbus:141: Serial protocol error: malformed response: invalid crc|
|29-05-2024 14:17:58.527|WARNING: [modbus] failed to read 22 input(s) @ 4866 of device modbus:141: Serial protocol error: malformed response: invalid crc|
|29-05-2024 14:17:58.527|WARNING: [modbus] failed to read 22 input(s) @ 4866 of device modbus:141: Serial protocol error: malformed response: invalid crc|
|29-05-2024 14:17:58.496|WARNING: [modbus] failed to read 60 input(s) @ 4612 of device modbus:141: Serial protocol error: read() failed|
|29-05-2024 14:17:57.985|WARNING: [modbus] failed to read 6 input(s) @ 5142 of device modbus:141: Serial protocol error: malformed response: invalid crc|
|29-05-2024 14:17:57.514|WARNING: [modbus] failed to read 22 input(s) @ 8962 of device modbus:141: Serial protocol error: malformed response: invalid crc|
|29-05-2024 14:17:57.410|WARNING: [modbus] failed to read 60 input(s) @ 8708 of device modbus:141: Serial protocol error: malformed response: invalid crc|
|29-05-2024 14:17:57.121|WARNING: [modbus] failed to read 22 input(s) @ 4866 of device modbus:141: Serial protocol error: malformed response: invalid crc|
|29-05-2024 14:17:57.009|WARNING: [modbus] failed to read 60 input(s) @ 4612 of device modbus:141: Serial protocol error: malformed response: invalid crc|
|29-05-2024 14:17:56.591|WARNING: [modbus] failed to read 60 input(s) @ 8708 of device modbus:141: Serial protocol error: malformed response: invalid crc|
|29-05-2024 14:17:55.488|WARNING: [modbus] failed to read 60 input(s) @ 4612 of device modbus:141: Serial protocol error: malformed response: invalid crc|
|29-05-2024 14:17:54.854|WARNING: [modbus] failed to read 6 input(s) @ 5142 of device modbus:141: Serial protocol error: malformed response: invalid crc|
|29-05-2024 14:17:54.854|WARNING: [modbus] failed to read 6 input(s) @ 5142 of device modbus:141: Serial protocol error: malformed response: invalid crc|
|29-05-2024 14:17:54.786|WARNING: [modbus] failed to read 22 input(s) @ 4866 of device modbus:141: Serial protocol error: read() failed|
|29-05-2024 14:17:54.740|WARNING: [modbus] failed to read 60 input(s) @ 4612 of device modbus:141: Serial protocol error: malformed response: invalid crc|
|29-05-2024 14:17:54.396|WARNING: [modbus] failed to read 22 input(s) @ 8962 of device modbus:141: Serial protocol error: malformed response: invalid crc|
|29-05-2024 14:17:53.672|WARNING: [modbus] failed to read 2 input(s) @ 270 of device modbus:141: Serial protocol error: malformed response: invalid data size|
|29-05-2024 14:17:53.624|WARNING: [modbus] failed to read 6 input(s) @ 9238 of device modbus:141: Serial protocol error: read() failed|
Хотя до этого он работал нормально, ничего не менялось.
После попыток еще подключений порт совсем отказался что-то присылать в и логах пусто, хотя сервис mqtt-serial (если это он) работает.
Что-то совсем не пойму почему затык такой произошел.
Прикрепляю диагностический. Прошу помочь глянуть.
Спасибо!
архив
Покажите пожалуйста фото подключения. Убедитесь что оно соответствует рекомендациям.
Я не вижу ни одного сконфигурированного устройства, к сожалению. Проверьте что оно настроено в wb-mqtt-serial.
Пардон, на момент того архива удалил девайс.
Сейчас повторил еще раз с нуля подключение.
Подключил физически, добавил в сериал конф данные модуля, добавил данные по токовым датчикам, и даже ребутнул, картина такая же, в логе ошибки чтения, но частично пробивается.
Прикрепил свежий архив и фото.
архив
К сожалению так же, вижу: malformed response: invalid crc
слишком, подозрительно часто. На работу влиять не должно,
Оптимально все ж найти причину.
Для начала - покажите результат сканирования из веб-интерфейса контроллера. Гипотеза - несоответствие настроек устройства параметрам порта.
Если есть другое заведомо работоспособное устройство Wirenboard - то подключить его на другой порт (второй) другим кабелем.
Если ошибок с ним не будет - то поменять его с первым устройством, с измерителем.
На сканирование сразу выскакивает ошибка.
лог
30-05-2024 15:24:47.084 INFO: [modbus] Continuous read enabled [slave_id is 141]
30-05-2024 15:24:46.912 INFO: [modbus] Continuous read enabled [slave_id is 141]
30-05-2024 15:24:44.271 WARNING: </dev/ttyRS485-1 9600 8 N 2>: closed due to repetitive errors
30-05-2024 15:24:44.214 INFO: [modbus] Continuous read enabled [slave_id is 141]
30-05-2024 15:24:41.653 INFO: [modbus] Init: Turns 1: setup register <modbus:141:holding: 5218> ← 1993 (0x7c9)
30-05-2024 15:24:41.629 INFO: [modbus] Init: Phi 1: setup register <modbus:141:holding: 5221> ← 1540 (0x604)
30-05-2024 15:24:41.603 INFO: [modbus] Continuous read enabled [slave_id is 141]
30-05-2024 15:24:41.508 INFO: [modbus] Continuous read enabled [slave_id is 141]
30-05-2024 15:24:39.568 WARNING: [serial device] device modbus:141 is disconnected
Попробую с HS-6-MB-B именно с другим кабелем и портом, но он не является заведомо рабочим, только приехал.
Я, увы, даже не пойму топологию ошибки malformed response: invalid crc чтобы тоже эффективнее искать где оно зарылось…
так можно просто посмотреть: Утилита «modbus_client» — Wiren Board
Остановить штатный драйвер, выполнить несколько раз запрос - и оценить результаты.
Ошибка контрольной суммы - значит она, эта сумма не сошлась, где-то бит инвертирован.
Но - это уже много информации. То есть как минимум это значит что устройство на шине получило (верный!) пакет от мастера и ответило на него что-то.
Если бы устройство не получило, или получило с ошибкой - то отвечать бы не стало, признак - просто таймауты.
А сейчас - именно ошибки приема ответов.
Вообще чаще всего бывает при неконтакте именно одного провода из пары в шине.
Собрал еще немного данных для анализа
Провод дважды менял, разный, разные порты, разные устройства. Сначало пробовал с map6s новый кабель, потом оставил на шине только HS-6-MB-B.
С HS-6-MB-B такая же история, ошибки, в вебе то черное приходит, то красное.
Залез утилитой смотреть. Остановил сервис, делаю запрос как по мануалу, на 128 (потом на 201) - ответил один раз, а другие разы ругался, видимо, на несоответствие сумм.
Все разы еще пробовал автоматический поиск устройств - почти сразу же ошибку выдавал.
у меня есть подозрение что запущено ПО которое использует порты.
Точно нет ничего стороннего?
Хотя, зря спрашиваю. Я вижу процесс node-red который использует их. Соответственно - дело в нем.
Порты не могут быть использованы одновременно.
Оказалась виновата прокладка между монитором и креслом.
Отключил в нодреде пока что взаимосвязь с модбасом - и стало видеть все модули подключенные вместе как и должно быть.
Как-то некорректно настроил и общался черед ноду модбаса в нодреде. Хотя странно, что работало до этого. Вообщем буду разбираться.
Спасибо!!