Ошибки в CAN-шине при начальном старте системы

Конфигурация CAN-сети (скорость обмена 1MBit/s):

  • WirenBoard 7
  • 2 контроллера управления приводами LeadShine 2ELD2-7030B (CAN-Open устройство по профилю CiA-DSP-402)

Проблема:
По включению питания контроллеры управления приводами начинают выдавать свое состояние в CAN-шину по NMT-протоколу (см. CiA-DS-301). Через некоторое время WirenBoard 7 начинает какие-то манипуляции со своим CAN-контроллером в результате которых на CAN-шине в течении нескольких секунд происходят ошибки (зафиксированы CAN-монитором) в результате которых некоторые контроллеры управления приводами переходят в состояние BusOff (это отключение от CAN-шины). После завершения загрузки WirenBoard 7 ошибок в CAN-шине нет, но работа всей системы не восстанавливается (часть контроллеров в состоянии BusOff и вывести их их этого состояния можно только через выключение)

Пожалуйста, посоветуйте что можно с этим сделать.

P.S.
Есть два подозрения:
1. Что сначала CAN-контроллер устанавливает какую-то дефолтную скорость отличную от 1MBit/s, а только потом через некоторое время 1MBit/s (которая прописана в конфигурационном файле)
2. CAN-контроллер совмещен с RS-485 и возможно он что-то выдает, и это “сводит с ума” другие CAN-устройства

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

  1. Давайте проверим физику. Убедитесь, что на шине установлены терминаторы сопротивлением 120 Ом с обеих сторон, чтобы избежать отражений сигналов.
  2. Длина шины не превышает 40м?
  3. Вы можете использовать CAN-монитор для записи логов того, что происходит на шине в момент возникновения ошибок?
  1. параллельное согласование с одной стороны в ELD2-контроллере 120 Ом, с другой стороны в кабеле. В WirenBoard согласование отключено.


  2. Длина кабеля не более 5-ти метров

  3. в качестве CAN-монитора используется wireshark
    can-log.pcapng (12,9 КБ)

во вложении на всякий случай фотографии экрана wireshark








Для подключения используется USB-IXXAT верхняя лампочка - активность, третья сверху - ошибки в линии (цвета на записи плохо различимы зеленый трудно отличить от красного)

кино с включением прикрепить не удалось :frowning:

Дополнительная информация. Те же самые проблемы происходят на скорости 500 КБит/с, 250 КБит/с и 125 КБит/с. Однако при 125 КБит/с система восстанавливается после ошибок, потому что на низкой скорости она не успевает накопить нужное количество ошибок, чтобы перейти в BusOff

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

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

приложен диагностический архив, доступен только сотрудникам поддержки
(247,8 КБ)

диагностический файл

Благодарю! Вернусь после обсуждения к коллегами.

Доброго дня.
При попытке загрузки CAN шины у вас возникает регулярная ошибка:

wb-mqtt-serial[1770]: ERROR: [serial client] Serial protocol error: /dev/ttyRS485-2, can't get termios attributes Input/output error (5)

это обычно означает, что программа не может получить или установить параметры порта (например, скорость передачи данных, контроль потока и другие настройки). Это может быть вызвано:

  • Проблемами с подключением или кабелем.
  • Неправильной конфигурацией порта или драйвера.
  • Аппаратной неисправностью порта или устройств, подключенных к шине.
  • Рекомендуется проверить физическое подключение, настройки порта.

Я рекомендую выполнить следующие действия:

  • Отключить с шины все устройства и попробовать поднять порт на пустой шине, оставив на ней CAN-монитор.
  • Сделать активным терминатор, встроенный в WirenBoard 7.

После этого прошу сообщить, поднялся ли порт на пустой шине?

Отключил всех абоннентов, оставил только монитор и WB7
согласование в WB и в кабеле с другой стороны, скорость 125 КБит/c (специально поменьше, чтобы облегчить требования к длине линии), Длина линии не более 3-х метров

из /etc/wb-mqtt-serial.conf удалил /dev/ttyRS485-2, ошибки в логе которые Вы обнаружили ушли

IXXAT двух канальный, второй канал подключен чтобы было кому на CAN-сообщение поставить ACK-бит (иначе будет ошибка и повтороная попытка передачи)

в процессе занрузки запущен тест cangen can0 -g 1000 -I 290 -L 8 -D i -v -v

результаты


Из логов видно, что 20 секунд на CAN-шине творится какое-то непотребство.

Пришлите пожалуйста новый диагностический архив, после всех изменений.

diag_output_AWAOY5SR_2024-08-02-08.46.51.zip (271,2 КБ)

после всех изменений

Я с понедельника иду в отпуск, скорее всего продолжим общение в сентябре 2004

Хорошо, как появится ясность и план действий - изложим здесь возможные решения.

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

Скажите пожалуйста, удалось ли решить вопрос?