Встраиваемые системы

CAN Bus и промышленные протоколы

В 2010 году Stuxnet атаковал иранские центрифуги обогащения урана через промышленные протоколы Siemens S7. Вирус знал Modbus-адреса датчиков, умел читать PROFIBUS-данные и перехватывал CAN-команды. Безопасность промышленных протоколов стала вопросом национальной безопасности - но большинство из них создавались в эпоху, когда о кибератаках никто не думал.

  • **Tesla Model 3** использует три CAN-шины с CAN FD: VehicleBus (300+ узлов), DrivetrainBus и ChassisAux. Без CAN в автомобиле потребовалось бы 3+ км дополнительного кабеля.
  • **Солнечные фермы** (SMA, ABB инверторы) используют Modbus TCP для телеметрии: мощность, напряжение, ток от каждого инвертора читается SCADA-системой каждые 5 секунд.
  • **Заводы Volkswagen** (Wolfsburg) используют PROFINET IRT для синхронизации 500+ роботов Kuka на сборочной линии кузовов с точностью 250 мкс.

CAN Bus: протокол, переживший 40 лет

В 1986 году Bosch представил Controller Area Network (CAN) на конференции SAE: протокол, позволивший заменить сотни проводов в автомобиле одной парой скрученных проводов. Сегодня CAN стоит в каждом автомобиле (от сигналов ABS до управления двигателем), медицинских аппаратах ИВЛ, промышленных роботах. Ключевые особенности: multi-master шина (любой узел может начать передачу), арбитраж по ID без коллизий (CSMA/CD с побитовым приоритетом), дифференциальная пара (устойчивость к помехам), встроенный CRC и автоматическое обнаружение ошибок. Стандартная скорость - до 1 Мбит/с на расстоянии до 40 м. CAN FD (Flexible Data Rate, 2012) поднимает полезную нагрузку до 64 байт и скорость до 8 Мбит/с.

Арбитраж CAN: при конфликте доминантный бит (0) перекрывает рецессивный (1). Узел с меньшим ID (более высоким приоритетом) автоматически 'выигрывает' без потери данных. Это делает CAN детерминированным по задержке - критично для систем безопасности.

Как CAN разрешает конфликт при одновременной передаче двух узлов?

Modbus: 1979 год, и до сих пор в каждом заводе

Modicon выпустила Modbus в 1979 году для своих PLC. Это самый простой промышленный протокол: master-slave, запрос-ответ, регистровая модель памяти. Несмотря на возраст, он живёт в счётчиках электроэнергии, солнечных инверторах, HVAC-системах, промышленных датчиках - везде, где важны дешевизна и простота. Modbus RTU работает поверх RS-485 (до 32 устройств, до 1200 м), Modbus TCP инкапсулирует фреймы в TCP/IP. Регистровая модель: Coils (одно-битные RW), Discrete Inputs (одно-битные RO), Holding Registers (16-бит RW), Input Registers (16-бит RO). Function Code 03 - чтение Holding Registers, FC 06 - запись одного регистра, FC 16 - запись множества регистров.

Modbus RTU vs ASCII: RTU кодирует данные бинарно (компактнее, быстрее), ASCII - символами 0-9, A-F (читаемо, вдвое больше байт). RTU стандарт де-факто. CRC в RTU - 16-бит CRC-CCITT.

Чем Modbus TCP отличается от Modbus RTU на уровне транспорта?

EtherNet/IP: промышленный Ethernet от Rockwell

EtherNet/IP (Industrial Protocol) - это стандарт ODVA, разработанный Rockwell Automation и Allen-Bradley. Не путать с IP-протоколом - 'IP' здесь означает Industrial Protocol. EtherNet/IP работает поверх стандартного TCP/UDP Ethernet (100/1000 Мбит/с), используя протокол Common Industrial Protocol (CIP) на прикладном уровне. CIP унифицирует объектную модель: устройство описывается классами, экземплярами и атрибутами - как ООП для железа. Implicit Messaging (UDP, циклически) для real-time данных управления, Explicit Messaging (TCP, запрос-ответ) для конфигурации и диагностики. Используется на автомобильных сборочных линиях Ford, GM - сотни ПЛК в одной сети.

CIP Motion - расширение EtherNet/IP для синхронного управления движением: до 100 осей с циклом 1 мс. Использует IEEE 1588 PTP для синхронизации времени между контроллерами с точностью до 100 нс.

Для чего в EtherNet/IP используется Implicit Messaging (UDP) вместо Explicit (TCP)?

PROFINET: Siemens и детерминированность в Ethernet

PROFINET - промышленный Ethernet-протокол от Siemens/Profibus International, стандарт IEC 61158. Если EtherNet/IP - решение для Северной Америки (Rockwell/Allen-Bradley), то PROFINET доминирует в Европе и Asia: Siemens SIMATIC, управление роботами KUKA, упаковочные линии Bosch Packaging. PROFINET IO делится на классы RT (Real-Time, цикл 1-512 мс) и IRT (Isochronous Real-Time, цикл 250 мкс - 4 мс) для синхронного управления движением. IRT требует управляемых коммутаторов с поддержкой TDMA-планирования - обычные Ethernet-коммутаторы не подойдут. Jitter у IRT менее 1 мкс - это точнее большинства RTOS.

PROFINET vs PROFIBUS: PROFIBUS (1989) - последовательная шина RS-485, 12 Мбит/с. PROFINET - Ethernet, но обратно совместим через ProxyPLC. Миграция с PROFIBUS на PROFINET не требует замены полевых устройств.

В чём принципиальная разница между PROFINET RT и IRT?

Ключевые идеи

  • **CAN Bus** - детерминированный multi-master протокол с побитовым арбитражем; живёт в каждом современном автомобиле и медицинском оборудовании.
  • **Modbus** (1979) - простейший master-slave протокол поверх RS-485 или TCP; до сих пор стандарт де-факто для датчиков и счётчиков.
  • **EtherNet/IP** (Rockwell/ODVA) и **PROFINET** (Siemens) - промышленный Ethernet с CIP/IRT; RT для обычного управления, IRT для синхронного движения с jitter менее 1 мкс.
  • Выбор протокола диктуется экосистемой: Rockwell ControlLogix - EtherNet/IP, Siemens SIMATIC - PROFINET, бюджетные устройства - Modbus.

Связанные темы

Промышленные протоколы используют аппаратные возможности, изученные в предыдущих уроках:

  • Последовательные интерфейсы — Modbus RTU работает поверх RS-485 - дифференциального последовательного интерфейса; CAN - тоже дифференциальная пара
  • RTOS и реальное время — CAN-арбитраж и PROFINET IRT дают детерминированные задержки, которые RTOS использует для планирования задач управления

Вопросы для размышления

  • CAN Bus не имеет встроенного шифрования. Tesla использует software-defined security поверх CAN. Какие угрозы остаются при физическом доступе к шине?
  • Modbus создан в 1979 году без аутентификации. Как защитить Modbus TCP-устройства в современной промышленной сети?
  • PROFINET IRT требует специальных коммутаторов. Как TSN (Time-Sensitive Networking, IEEE 802.1Qbv) может заменить проприетарные решения Siemens?

Связанные уроки

  • net-04-data-link
CAN Bus и промышленные протоколы

0

1

Войти