Открыть сервис

EtherCAT-телеграмма

EtherCAT-телеграмма — это минимальная единица данных, передаваемая в рамках протокола промышленной сети EtherCAT (Ethernet for Control Automation Technology). Она представляет собой специализированный Ethernet-кадр, структура которого оптимизирована для высокоскоростного обмена данными между ведущим устройством (Master) и множеством ведомых устройств (Slaves) в режиме реального времени. В отличие от стандартных Ethernet-кадров, EtherCAT-телеграмма обрабатывается «на лету» (on-the-fly) каждым ведомым устройством, что обеспечивает минимальные задержки и детерминированность, критически важные для систем управления движением, робототехники и станкостроения.

История и происхождение

Протокол EtherCAT был разработан немецкой компанией Beckhoff Automation в 2003 году. Основной целью создания было преодоление ограничений традиционных полевых шин (например, Profibus, CANopen) и стандартного Ethernet, который из-за своей архитектуры «звезда» и необходимости полной буферизации кадров не мог обеспечить требуемую скорость и детерминизм в промышленных приложениях. Первая спецификация была опубликована в 2004 году, а в 2005 году EtherCAT был включён в стандарт IEC 61158. Технология получила широкое распространение в машиностроении, автоматизации производственных линий и системах с большим количеством исполнительных механизмов и датчиков.

Структура EtherCAT-телеграммы

EtherCAT-телеграмма встраивается в стандартный Ethernet-кадр (согласно IEEE 802.3) с использованием EtherType 0x88A4. Структура телеграммы включает несколько ключевых элементов:

Ethernet-заголовок

  • MAC-адрес назначения (6 байт) — обычно широковещательный (Broadcast) или адрес ведущего устройства.
  • MAC-адрес источника (6 байт) — адрес ведущего устройства.
  • EtherType (2 байта) — значение 0x88A4, идентифицирующее EtherCAT.

EtherCAT-заголовок телеграммы

  • Длина (11 бит) — общая длина данных в телеграмме.
  • Резерв (1 бит) — не используется.
  • Тип (4 бита) — определяет режим работы (например, команда чтения/записи, широковещательная рассылка).
  • Заголовок следующей телеграммы (16 бит) — указатель на следующую телеграмму в кадре (если их несколько).

Поле данных (Datagram)

Каждая EtherCAT-телеграмма может содержать одно или несколько полей данных (datagrams), которые являются основными носителями информации. Структура одного поля данных:

  • Заголовок поля данных (10 байт):
  • Адрес (8 байт) — 32-битный адрес ведомого устройства (или логический адрес) и 32-битный адрес регистра/памяти внутри устройства.
  • Длина (2 байта) — количество байт данных в поле.
  • Команда (2 байта) — код операции (например, чтение, запись, чтение-запись).
  • Индекс (2 байта) — идентификатор для отслеживания ответов.
  • Статус (2 байта) — флаги состояния (например, ошибка, успешное завершение).
  • Полезная нагрузка (от 0 до 1498 байт) — непосредственно передаваемые данные (например, значения датчиков, команды для сервоприводов, конфигурационные параметры).
  • Рабочий счётчик (Working Counter, WKC) — 2-байтовое поле, которое изменяется каждым ведомым устройством после обработки поля данных. WKC используется для проверки целостности и подтверждения, что все устройства успешно обработали данные.

Контрольная сумма (FCS)

  • Frame Check Sequence (4 байта) — стандартная CRC-32 для Ethernet-кадра, обеспечивающая обнаружение ошибок передачи.

Принцип обработки «на лету»

Ключевая особенность EtherCAT-телеграммы заключается в том, что ведомые устройства не буферизируют весь кадр перед обработкой. Вместо этого они считывают и записывают данные непосредственно в проходящий через них Ethernet-кадр. Каждое устройство «выкусывает» (extracts) или вставляет свои данные в соответствующее поле данных, изменяя при этом рабочий счётчик (WKC). После прохождения через все ведомые устройства кадр возвращается к ведущему устройству, которое проверяет WKC для подтверждения успешной обработки. Этот механизм обеспечивает:

  • Минимальную задержку — обработка одного поля данных занимает менее 1 микросекунды на устройство.
  • Детерминированность — время цикла жёстко фиксировано и не зависит от количества устройств (в пределах пропускной способности сети).
  • Высокую эффективность — использование полной пропускной способности Ethernet (до 100 Мбит/с или 1 Гбит/с).

Типы EtherCAT-телеграмм

В зависимости от типа команды и способа адресации различают несколько основных видов телеграмм:

  • Команды чтения/записи (Read/Write) — наиболее распространённые, позволяют одновременно считывать данные с устройства и записывать в него.
  • Команды чтения (Read) — только считывание данных.
  • Команды записи (Write) — только запись данных.
  • Широковещательные команды (Broadcast) — применяются для одновременной отправки данных всем устройствам (например, синхронизация времени).
  • Команды с логической адресацией — используются для доступа к распределённой памяти (например, в системах с несколькими ведущими устройствами).

Применение

EtherCAT-телеграммы являются основой работы протокола EtherCAT, который широко применяется в:

  • Промышленная автоматизация — управление сервоприводами, шаговыми двигателями, пневматическими и гидравлическими системами.
  • Робототехника — синхронизация движений нескольких осей робота, управление захватами и сенсорами.
  • Станкостроение — высокоточное управление станками с ЧПУ (числовым программным управлением).
  • Системы сбора данных — быстрый опрос большого количества датчиков (температуры, давления, вибрации).
  • Тестирование и измерения — синхронизация измерительных приборов и генераторов сигналов.

Преимущества и ограничения

Преимущества

  • Высокая скорость — время цикла до 100 мкс для 100 устройств.
  • Детерминированность — гарантированное время доставки данных.
  • Эффективность — использование до 98% пропускной способности Ethernet.
  • Масштабируемостьподдержка до 65535 устройств в одной сети.

Ограничения

  • Зависимость от ведущего устройства — все операции инициируются Master, что требует мощного контроллера.
  • Сложность конфигурации — требуется точное описание топологии и адресации.
  • Чувствительность к качеству кабелей — ошибки передачи могут привести к сбоям.

Интересные факты

  • EtherCAT-телеграмма может содержать до 1486 байт полезной нагрузки в одном поле данных, что позволяет передавать большие объёмы информации (например, конфигурационные файлы) без фрагментации.
  • Рабочий счётчик (WKC) является уникальным механизмом, позволяющим ведущему устройству точно определить, какие из ведомых устройств успешно обработали данные, а какие — нет.
  • В 2014 году EtherCAT был признан международным стандартом IEC 61158-3-12, что подтвердило его статус как одной из ведущих промышленных сетей реального времени.

Источники

  1. Спецификация протокола EtherCAT, версия 2.0, Beckhoff Automation GmbH, 2004.
  2. IEC 61158-3-12:2014 — Industrial communication networks — Fieldbus specifications — Part 3-12: Data-link layer service definition — Type 12 elements.
  3. EtherCAT Technology Group (ETG) — официальные руководства и технические документы.
  4. «EtherCAT: The Ethernet Fieldbus» — статья в журнале «Control Engineering», 2005.
  5. «Real-Time Ethernet for Automation» — книга под редакцией M. Felser, 2010.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →