Произошла ошибка во время сканирования портов

Добрый день. Стал замечать ошибку “Произошла ошибка во время сканирования портов”. Раньше вроде не было, по крайней мере при первом сканировании. Потом делал wb-mcu-fw-updater через ssh. Обновился модуль успешно.
Сами устройства находятся, кнопки работают без сбоев.


Лог сканирования

|25-05-2024 00:18:34.401 [wb-device-manager]|[INFO] Stop bus scanning|
|---|---|
|25-05-2024 00:18:33.626 [wb-device-manager]|[INFO] Device 4264857432 already scanned; skipping|
|25-05-2024 00:18:33.623 [wb-device-manager]|[INFO] Got device: 143 4264857432 {'baudrate': 9600, 'parity': 'N', 'stopbits': 2}|
|25-05-2024 00:18:28.329 [wb-device-manager]|[INFO] Got device: 58 4265613751 {'baudrate': 9600, 'parity': 'N', 'stopbits': 2}|
|25-05-2024 00:18:24.452 [wb-device-manager]|[INFO] Got device: 35 4265609177 {'baudrate': 9600, 'parity': 'N', 'stopbits': 2}|
|25-05-2024 00:18:20.803 [wb-device-manager]|[INFO] Scanning /dev/ttyRS485-2 9600-N-2 (extended modbus: False)|
|25-05-2024 00:18:20.794 [wb-device-manager]|[INFO] Scanning /dev/ttyRS485-1 9600-N-2 (extended modbus: False)|
|25-05-2024 00:18:20.736 [wb-device-manager]|[INFO] Scanning /dev/ttyRS485-1 38400-O-2 (extended modbus: True)|
|25-05-2024 00:18:20.693 [wb-device-manager]|[INFO] Scanning /dev/ttyRS485-1 19200-O-2 (extended modbus: True)|
|25-05-2024 00:18:20.621 [wb-device-manager]|[INFO] Scanning /dev/ttyRS485-1 4800-O-2 (extended modbus: True)|
|25-05-2024 00:18:20.621 [wb-device-manager]|[INFO] Scanning /dev/ttyRS485-1 4800-O-2 (extended modbus: True)|
|25-05-2024 00:18:20.527 [wb-device-manager]|[INFO] Scanning /dev/ttyRS485-1 2400-O-2 (extended modbus: True)|
|25-05-2024 00:18:20.386 [wb-device-manager]|[INFO] Scanning /dev/ttyRS485-1 1200-O-2 (extended modbus: True)|
|25-05-2024 00:18:20.334 [wb-device-manager]|[INFO] Scanning /dev/ttyRS485-1 57600-O-2 (extended modbus: True)|
|25-05-2024 00:18:20.289 [wb-device-manager]|[INFO] Scanning /dev/ttyRS485-1 115200-O-2 (extended modbus: True)|
|25-05-2024 00:18:20.239 [wb-device-manager]|[INFO] Scanning /dev/ttyRS485-1 9600-O-2 (extended modbus: True)|
|25-05-2024 00:18:20.194 [wb-device-manager]|[INFO] Scanning /dev/ttyRS485-1 38400-E-2 (extended modbus: True)|
|25-05-2024 00:18:20.148 [wb-device-manager]|[INFO] Scanning /dev/ttyRS485-1 19200-E-2 (extended modbus: True)|
|25-05-2024 00:18:20.071 [wb-device-manager]|[INFO] Scanning /dev/ttyRS485-1 4800-E-2 (extended modbus: True)|
|25-05-2024 00:18:19.976 [wb-device-manager]|[INFO] Scanning /dev/ttyRS485-1 2400-E-2 (extended modbus: True)|
|25-05-2024 00:18:19.976 [wb-device-manager]|[INFO] Scanning /dev/ttyRS485-1 2400-E-2 (extended modbus: True)|
|25-05-2024 00:18:19.835 [wb-device-manager]|[INFO] Scanning /dev/ttyRS485-1 1200-E-2 (extended modbus: True)|
|25-05-2024 00:18:19.789 [wb-device-manager]|[INFO] Scanning /dev/ttyRS485-1 57600-E-2 (extended modbus: True)|
|25-05-2024 00:18:19.780 [wb-mqtt-serial]|WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet|
|25-05-2024 00:18:19.747 [wb-device-manager]|[INFO] Scanning /dev/ttyRS485-1 115200-E-2 (extended modbus: True)|
|25-05-2024 00:18:19.735 [wb-device-manager]|wb_modbus.minimalmodbus.InvalidResponseError: [Errno Failed to extract correct response! Plain response: %s] FFFFFFFFFF|
|25-05-2024 00:18:19.735 [wb-device-manager]|    raise minimalmodbus.InvalidResponseError(|
|25-05-2024 00:18:19.735 [wb-device-manager]|  File /usr/lib/python3/dist-packages/wb/device_manager/serial_bus.py, line 172, in _extract_response|
|25-05-2024 00:18:19.735 [wb-device-manager]|    ret = self._extract_response(ret)|
|25-05-2024 00:18:19.735 [wb-device-manager]|  File /usr/lib/python3/dist-packages/wb/device_manager/serial_bus.py, line 187, in _communicate|
|25-05-2024 00:18:19.735 [wb-device-manager]|  File /usr/lib/python3/dist-packages/wb/device_manager/serial_bus.py, line 187, in _communicate|
|25-05-2024 00:18:19.735 [wb-device-manager]|    ret = await self._communicate(request=request, uart_params=uart_params)|
|25-05-2024 00:18:19.735 [wb-device-manager]|  File /usr/lib/python3/dist-packages/wb/device_manager/serial_bus.py, line 192, in get_next_device_data|
|25-05-2024 00:18:19.735 [wb-device-manager]|    sn_slaveid = await self.get_next_device_data(|
|25-05-2024 00:18:19.735 [wb-device-manager]|  File /usr/lib/python3/dist-packages/wb/device_manager/serial_bus.py, line 231, in scan_bus|
|25-05-2024 00:18:19.735 [wb-device-manager]|    async for slaveid, sn in scanner.scan_bus(**scan_kwargs):|
|25-05-2024 00:18:19.735 [wb-device-manager]|  File /usr/lib/python3/dist-packages/wb/device_manager/main.py, line 436, in do_scan_port|
|25-05-2024 00:18:19.735 [wb-device-manager]|Traceback (most recent call last):|
|25-05-2024 00:18:19.735 [wb-device-manager]|[ERROR] Unhandled exception during scan /dev/ttyRS485-2 9600-N-2|
|25-05-2024 00:18:19.691 [wb-device-manager]|[INFO] Scanning /dev/ttyRS485-1 9600-E-2 (extended modbus: True)|
|25-05-2024 00:18:19.691 [wb-device-manager]|[INFO] Scanning /dev/ttyRS485-1 9600-E-2 (extended modbus: True)|

Добрый день.

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

Не понял, что необходимо сделать, чтобы не было ошибки.
4 реле подключены последовательно к порту RS485-2. Других устройств нет.
По логу вижу только 3 реле (143, 58, 35), а в WEB интерфейсе 4

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

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

В целом - да, не критично. Ошибка возникает в процессе опроса шины на другой, отличной от используемой устройствами скорости.
Устройств работающих на скорости 115200 нет, а единицами воспринимается кусок ответа на 9600.

1 лайк