Блог

CAN против RS-485 в промышленном узле: Задержка, топология и типовые отказы

В одном шкафу нередко живут и CAN (приводы, распределённые I/O, датчики), и RS-485 (Modbus RTU, legacy-приборы). Оба интерфейса дешёвые по кабелю и привычные монтажнику, но физика у них разная: иная топология, иные терминаторы, иной компромисс длина / скорость / устойчивость к общему режиму. Ниже - сравнение на уровне физического слоя, типовые ошибки проектирования и матрица: ограничение или сценарий → что характерно для CAN и что для RS-485.

Физический слой: общее и различия

Общее: в промышленности обычно витая пара в экране или без него (по проекту), дифференциальная передача, ограничение по длине и скорости, чувствительность к звездообразной разводке и к разности потенциалов земель между узлами.
CAN (ISO 11898 классический): линия с доминантным и рецессивным уровнем, арбитраж на шине, жёсткие требования к волновому сопротивлению линии (типично 120 Ом характеристическое). Терминаторы на концах сегмента обязательны для согласования; без них растут отражения и растёт битовая ошибка.
RS-485 (EIA/TIA-485): полудуплекс или полный дуплекс (редко в поле), мастер-ведомая или мультимастер по протоколу поверх физики. Согласование на концах линии (часто 120 Ом), иногда смещение (bias) на линию для гарантированного idle-состояния - зависит от трансиверов и простоя шины.
Путаница начинается, когда к CAN подключают «как к RS-485» - длинные отводы к каждому устройству от одной точки, терминатор «где попало», общий кусок неэкранированной жилы.

Топология

CAN: классика - линия (шина) с короткими отводами (stub) к узлам. Длинные «звёзды» и длинные отводы ухудшают согласование; предельные длины stub зависят от скорости (на высоких скоростях - сантиметры и десятки сантиметров порядка, уточнять по гайдам трансиверов и топологии).
RS-485: также предпочтительна цепочка (daisy chain); звезда и T-разветвления без повторителей - частый источник отражений и нестабильного уровня. Повторители и изолированные сегменты спасают, но это уже проект, а не «дотянуть провод».

Терминаторы

CAN: на обоих концах активного сегмента - резисторы согласования (типично 120 Ом между CAN_H и CAN_L по стандарту для высокоскоростного CAN). Третий «терминатор посередине» - ошибка.
RS-485: терминаторы на концах линии; промежуточные узлы без терминаторов. Две пары терминаторов на коротком отрезке «для надёжности» - перегрузка драйверов и нагрев.
Для обоих: согласующие резисторы подбирают по документации сегмента; на коротком шкафном куске иногда используют иные значения по рекомендации изготовителя - но это должно быть осознанно.

Общий режим и заземление

Оба интерфейса имеют ограниченный допустимый диапазон общего режима относительно локальной земли узла. Если между шкафом и полем заметная разность потенциалов, токи текут по экрану и по «нулевой» жиле; трансивер уходит в защиту или искажает уровни.
Практика: экран по правилам проекта, укороченные пути к PE, изоляция galvanically isolated интерфейсов на границах зон - когда поле и шкаф на разных системах заземления. «Землю CAN соединить с силовой N» без расчёта - типичная ошибка.

Длина линии и скорость

Закон однозначный: выше скорость - короче допустимая длина и тем жёстче топология. Точные цифры зависят от кабеля, количества узлов, качества терминаторов и бит-тайминга.
CAN: на заводских линиях часто 125 кбит/с … 1 Мбит/с; на длинной магистрали скорость снижают.
RS-485: типично 9,6 … 115,2 кбит/с и выше там, где позволяет кабель и драйверы; Modbus RTU на 115,2 кбит/с на длинной линии требует консервативной топологии и пауз между кадрами.
Сравнивать «какой длиннее» без скорости и числа отводов бессмысленно.

Задержка: что имеют в виду на объекте

Физическая задержка в кабеле порядка наносекунд на метр - для большинства задач АСУ ТП не лимит.
Реальная «задержка для приложения» - это время кадра (битовая длина + межкадровые интервалы) + очередь опроса в мастере + обработка на узле. Для RS-485 с опросом Modbus по десяткам устройств за цикл ПЛК узкое место часто не кабель, а протокол и расписание.
Для CAN сообщения короче, арбитраж даёт предсказуемый доступ при правильной настройке идентификаторов, но при перегруженной шине растёт задержка низкоприоритетных кадров - это уже проектирование bus load.

Типовые отказы и ошибки проектирования

Нет или лишние терминаторы - битовые ошибки, «плавающий» idle на RS-485.
Звезда вместо линии - отражения, работает до холода/вибрации/замены кабеля.
Общий режим - сбои после пуска силовой части; лечится экранами, изоляцией, уравниванием, не «другим маркетинговым кабелем» без схемы.
Скорость завышена на длинной линии - ошибки CRC, потеря кадров.
Длинные отводы CAN к датчикам «как к Modbus-ветке» - край CAN по стабильности.
Смешение GND разных систем без понимания пути тока - повторяющиеся сбои «непонятно когда».

Матрица: ограничение / сценарий → CAN → RS-485

Ограничение или сценарий
CAN
RS-485
Топология «из коробки»
Линия, короткие отводы
Цепочка; звезда без повторителей плохая
Согласование линии
120 Ом типично на концах сегмента
120 Ом на концах линии; bias по необходимости
Доступ к шине
Арбитраж по приоритету идентификатора
Обычно мастер-ведомый (протокол); коллизии на «свободной шине» без дисциплины
Типичные скорости в поле
125 кбит/с … 1 Мбит/с (зависит от длины)
9,6 … 115,2 кбит/с и выше при короткой линии
Узкая специализация
Приводы, CANopen, распределённый I/O
Modbus RTU, счётчики, legacy
Чувствительность к длинным отводам
Высокая на высоких скоростях
Высокая при плохой топологии
Общий режим / разные земли
Риск без изоляции и экранов
Риск без изоляции и экранов
Типичный отказ при ошибке монтажа
Error-passive, bus-off
CRC, таймауты, «немые» устройства

Где уместен СТАБУР

В составе узлов на СТАБУР выбор между CAN и RS-485 делают по устройствам поля и протоколу: не «что дешевле», а что поддерживает прибор и какова топология. Смешение на одной жгутовой трассе без экранирования и без учёта общего режима одинаково вредно обоим интерфейсам.

FAQ

Можно ли CAN и RS-485 в одном кабеле?
Только если это разные изолированные пары в одной оболочке по проекту и с учётом ЭМС; «общие жилы» - нет.
Сколько устройств на сегменте?
Зависит от нагрузки на шину и ввода-вывода; для CAN считают bus load; для Modbus - время опроса и длина кадра.
Нужны ли повторители?
Если топология нарушена или длина превышает допустимую для выбранной скорости - да, либо меняют архитектуру (шлюз, другая сеть).

Внутренняя перелинковка

Обсуждение