Обзор протокола EtherCAT и устройств на его основе

09 февраля 2024 Простые решения

EtherCAT – это высокопроизводительный промышленный протокол связи на основе Ethernet с поддержкой различных топологий сети. Появился он в 2003 году, а с 2007 года стал международным стандартом. Развитием протокола занимается организация EtherCAT Technology Group.

Принцип работы EtherCAT

Если в обычной Ethernet сети master устройство опрашивает slave устройства отдельными командами, то протокол EtherCAT позволяет отправить одну команду для опроса и управления сразу несколькими slave устройствами. Подчиненные устройства на лету считывают из Ethernet-фрейма нужные им данные или записывают данные для передачи и затем пересылают фрейм следующему устройству. Такой механизм позволяет на высокой скорости управлять до 65 535 устройств в одной сети без ограничений в топологии сети: линия, шина, дерево, звезда или их комбинация. Причем для организации различных топологий не нужны хабы или коммутаторы, т.к. сами подчиненные устройства имеют несколько портов. Процесс обмена данными с 1000 распределенных цифровых входов-выходов EtherCAT занимает около 30 мкс, что является типичным для передачи 125 байт на скорости 100 Мбит/с. Данные от 100 сервоосей могут обновляться со скоростью до 10 кГц.

Протокол EtherCAT можно применять как в централизованных, так и в распределенных системах автоматизации. Он поддерживает режимы: master-to-slave, master-to-master и slave-to-slave, а также интеграцию с другими промышленными протоколами. На верхнем уровне можно применить EtherCAT Automation Protocol, который позволяет работать на базе уже существующей Ethernet-инфраструктуры. Кроме того, EtherCAT позволяет в реальном времени передавать различные протоколы без влияния на передачу данных технологического процесса. Профиль Ethernet over EtherCAT позволяет инкапсулировать FTP, HTTP, TCP/IP и т.д.

Протокол EtherCAT основан на технологии Ethernet и спецификации IEEE 802. Он использует те же Ethernet-фреймы и физический уровень, но дополнительно к этому позволяет:

  • Работать в режиме жесткого реального времени с детерминированным временем отклика
  • Создавать множество узлов, каждый из которых обрабатывает небольшое число точек ввода-вывода
  • Снизить затраты на оборудование при создании инфраструктуры передачи данных

Инициатором отправки команды может быть только master-устройство. Все остальные устройства лишь обрабатывают запрос от master’a и пересылают его дальше, что позволяет избежать непредсказуемых задержек и обеспечить передачу данных в реальном времени.

Master-устройства используют стандартный Ethernet Media Access Controller (MAC) и не нуждаются в каких-либо специальных сетевых картах, что позволяет реализовать master-устройства на любой аппаратной платформе с поддержкой Ethernet независимо от ее RTOS (англ. Real-Time Operating System – Операционная система реального времени) и программного обеспечения. Slave-устройства используют специальный контроллер EtherCAT Slave Controller (ESC) для обработки кадров на лету на аппаратном уровне.

Краткое описание протокола EtherCAT

Для передачи данных EtherCAT использует обычные Ethernet-фреймы. Фрейм EtherCAT имеет идентификатор 0x88A4 в поле EtherType. Поскольку EtherCAT оптимизирован для быстрой циклической передачи небольших порций данных, то он не использует ресурсоемкие стеки протоколов TCP/IP и UDP/IP.

EtherCAT использует обычные Ethernet-фреймы соответствующие стандарту IEE 802.3

В случае необходимости интеграции EtherCAT в обычную IT-инфраструктуру TCP/IP-трафик можно туннелировать через механизм «почтового ящика» (Mailbox) без влияния на оперативные данные процесса управления, передаваемые в реальном времени.

Во время запуска master-устройство конфигурирует slave-устройства и определяет список их параметров. Объем данных от одного узла сети может составлять от одного бита до нескольких килобайт. Фрейм EtherCAT включает заголовок и несколько датаграмм. В заголовке датаграммы указывают тип доступа к данным:

  • чтение, запись или оба параметра
  • доступ к конкретному устройству через прямую адресацию или доступ к нескольким устройствам через логическую (неявную) адресацию

Помимо циклического опроса существует возможность отправлять датаграммы событийно (асинхронно).

Slave-устройства обрабатывают датаграммы «на лету»

Топология сети EtherCAT

EtherCAT поддерживает почти все существующие сетевые топологии: шина, дерево, звезда или гирлянда (daisy-chain). Причем в EtherCAT можно подключить тысячи устройств без использования коммутаторов и другого промежуточного оборудования, что позволяет снизить затраты и избежать ограничений при проектировании сети.

Варианты топологии: шина, дерево, звезда и гирлянда

Логическая топология EtherCAT — это шина, но физическое соединение может быть любым. Это реализовано за счет того, что у каждого EtherCAT устройства есть несколько портов. Выглядит это вот так:

Master-устройство посылает команду на 0 порт slave-устройства, там команда обрабатывается на лету в EtherCAT Processing Unit и затем пересылается на следующий порт. Если порт не подключен к другому устройству, то команда без изменений пересылается на следующий порт, пока не вернется на 0 порт к master-устройству.

EtherCAT совместим со стандартными Ethernet кабелями. Например, в стандартном режиме 100BASE-TX можно передавать данные на скорости 100 Мбит/с, если расстояние между устройствами не превышает 100 м, а для передачи данных на расстояния более 100 м можно применить оптоволокно (100BASE-FX).

EtherCAT P (P означает питание, power) – это расширение стандарта EtherCAT, которое позволяет передавать как данные, так и питание по одному стандартному 4-проводному Ethernet кабелю. Такая возможность пригодится при создании шины из датчиков с организацией связи и питания всего по одному кабелю. EtherCAT и EtherCAT P идентичны с точки зрения протокола и отличаются только на физическом уровне. EtherCAT P можно использовать в одной сети с обычными EtherCAT устройствами. Чтобы преобразовать EtherCAT в EtherCAT P и обратно, применяют специальные устройства.

EtherCAT G/G10 – это расширение стандарта EtherCAT, которое позволяет передавать данные со скоростью 1 гигабит/с или 10 гигабит/с. Это особенно актуально при передаче большого объема данных в задачах машинного зрения, быстрого измерения параметров или сложных приложениях управления движением. EtherCAT G/G10 поддерживает все возможности EtherCAT и полностью совместим со стандартом IEEE 802.3. EtherCAT G добавляет в стандарт концепцию ветвей, которую реализуют с помощью устройств EtherCAT Branch Controllers (EBC). EBC представляют собой шлюзы между гигабитными и мегабитными (100 мбит/с) сегментами сети, что позволяет легко интегрировать в единую систему различные типы сетей.

Резервирование сети EtherCAT и кольцевая топология

Обрыв кабеля или неисправность одного из slave-устройств не должны приводить к недоступности всей сети или ее сегмента, поэтому EtherCAT имеет встроенный механизм резервирования канала связи. Второй Ethernet-порт последнего slave-устройства на линии соединяют со вторым Ethernet-портом master-устройства, что позволяет превратить шинную топологию в кольцевую. Обрыв кабеля или неисправность slave-устройства определяется на стороне master-устройства. Slave-устройства не требуют никаких доработок для работы в кольце, потому что с их точки зрения это ничем не отличается от обычного режима работы EtherCAT.

Бюджетное резервирование сети с помощью кольцевой топологии

Время восстановления работы сети при обнаружении неисправности не превышает 15 микросекунд, так что из-за сбоя будет пропущен максимум один цикл опроса. Это означает, что даже в задачах управления движением обрыв кабеля связи не приведет к сбою в техпроцессе. Также EtherCAT позволяет организовать горячее резервирование для master-устройства. Потенциально ненадежные линии связи (например, кабель-каналы) можно присоединить не к основной, а к отводной линии EtherCAT – тогда в случае обрыва кабеля остальная часть системы продолжит работать в обычном режиме.

Точная синхронизация времени в EtherCAT

EtherCAT использует технологию распределенных часов Distributed Clocks (DC).

Полностью аппаратная синхронизация времени с компенсацией задержек передачи

В сети EtherCAT механизм синхронизации времени реализован полностью аппаратно. Часы на slave-устройствах могут легко и точно измерить задержку относительно других часов, так как для связи используется логическая и полнодуплексная физическая кольцевая структура Ethernet, т.е. каждый пакет EtherCAT проходит дважды через каждое slave-устройство (прямой и обратный путь по разным витым парам). На основе этого значения задержки производится подстройка распределенных часов, что позволяет достичь очень точной временной базы с разбросом существенно меньше 1 мкс в масштабах всей сети.

Протокол противоаварийных защит (ПАЗ) Safety over EtherCAT

В современных системах автоматизации требуется не только детерминированная по времени передача управляющих сигналов, но и отправка критически важной информации по тому же каналу связи. В стандарте EtherCAT для этого используют протокол Safety over EtherCAT (FSoE – FailSafe over EtherCAT), который позволяет:

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

Safety over EtherCAT позволяет создать более простые и гибкие системы безопасности по сравнению с системами на реле

Safety over EtherCAT был разработан в соответствии со стандартом IEC 61508, сертифицирован TÜV и принят в качестве стандарта IEC 61784-3. Протокол подходит для использования в системах с требованиями к уровню функциональной безопасности вплоть до SIL4. Применение Safety over EtherCAT позволяет считать систему связи частью черного канала, который не является частью системы безопасности. Передача критически важных данных и управляющих сигналов осуществляется по единому каналу связи. Фреймы протокола Safety over EtherCAT (также называемые контейнеры безопасности) передают по сети в составе EtherCAT-фрейма и содержат критически важные данные.

Фрейм Safety over EtherCAT (контейнеры безопасности) является частью фрейма EtherCAT

Применение Safety over EtherCAT упрощает подключение различных частей системы управления. Контейнер безопасности проходит сквозь все slave-устройства, что позволяет легко организовать аварийную остановку всего оборудования или его отдельных блоков – даже если часть из них подключена по другому протоколу. Для поддержки FSoE не требуется значительных аппаратных ресурсов. Протокол обеспечивает высокую производительность и низкое время реакции. Например, в робототехнике FSoE используют в системах с замкнутыми контурами, которые работают на частоте 8 кГц.

Коммуникационные профили EtherCAT

EtherCAT поддерживает режим ациклического доступа к переменным, что может пригодиться для конфигурирования и диагностики slave-устройств. Этот режим использует технологию почтового ящика (mailbox) с функцией автоматического восстановления поврежденных сообщений. EtherCAT поддерживает несколько коммуникационных профилей:

  • CAN application protocol over EtherCAT (CoE)
  • Servo drive profile в соответствии с IEC 61800-7-204 (SoE)
  • Ethernet over EtherCAT (EoE)
  • File access over EtherCAT (FoE)
  • ADS over EtherCAT (AoE)

В рамках одной системы можно использовать различные коммуникационные профили

Коммуникация на уровне предприятия через EtherCAT Automation Protocol (EAP)

Требования к обмену данными на уровне управления всем производством немного отличаются от требований к коммуникации на полевом уровне. Достаточно часто требуется передача информации между отдельными установками и производственными линиями. Кроме того, обычно в системе присутствует центральный контроллер, который управляет производственным процессом на глобальном уровне, распределяя задания по отдельным производственным линиям. Для объединения различных устройств на уровне предприятия можно использовать протокол EtherCAT Automation Protocol (EAP).

Коммуникация на уровне производства с использованием протокола EtherCAT

Протокол EAP определяет следующие интерфейсы и сервисы:

  • обмен данными между master-устройствами
  • обмен данными с HMI (человеко-машинным интерфейсом)
  • маршрутизацию трафика через шлюзы протокола EtherCAT в другие промышленные протоколы
  • интеграцию ПО для конфигурирования устройств и системы автоматизации

Коммуникационные протоколы, входящие в состав EAP, являются частью международного стандарта IEC 61158. EAP использует в качестве физического уровня Ethernet – включая беспроводные варианты соединения, что позволяет применять его в автоматически управляемых транспортных средствах (AVG), которые часто используют при производстве полупроводников и в автомобильной промышленности.

EAP позволяет производить циклический обмен данными в режимах push и poll. В режиме push каждое устройство отправляет данные с периодом, равным времени его цикла (или кратным этому времени). Каждое устройство может подписаться на получение данных только от определенных устройств. Настройка данных отправителей и получателей производится через словарь объектов (object dictionary). В режиме poll каждое устройство отправляет запросы другим устройствам, и каждое из этих устройств отвечает на запрос.

Циклический обмен в EAP основан на использовании стандартных Ethernet-фреймов c идентификатором 0x88A4 в поле EtherType. Это позволяет передавать часто изменяющиеся данные с миллисекундным циклом. Если требуется передача данных между устройствами, расположенными в разных сегментах сети, то возможно применение протоколов TCP/IP или UDP/IP. Кроме того, EAP позволяет использовать протокол Safety over EtherCAT для передачи критически важных данных. Обычно его используют в системах управления производственными линиями, в которых отдельным управляющим блокам необходимо обмениваться критически важными данными для синхронной аварийной остановки или для передачи сообщений другим линиям в случае остановки конкретной линии.

Применение EtherCAT в Цифровизации, Индустрии 4.0 и IoT

EtherCAT соответствует высоким требованиям тренда Цифровизации всего за счет своей производительности, гибкости и открытости. EtherCAT можно применять не только на полевом уровне, но и использовать для подключения к облачным сервисам.

Для подключения к облачным сервисам без необходимости переконфигурирования master- и slave-устройств EtherCAT использует коммуникационный шлюз, который может получить доступ ко всем данным с помощью доступа к почтовому ящику (mailbox) master-устройства. Коммуникационный шлюз может представлять собой как отдельное устройство, взаимодействующее с EtherCAT Master по протоколу TCP/IP или UDP/IP, или же являться приложением на самом master-устройстве. Кроме того, открытость протокола позволяет интегрировать в него IT-протоколы: OPC UA, MQTT, AMQP и любые другие – либо на стороне master-устройства, либо прямо на slave-устройствах, обеспечивая прямую передачу данных от датчиков до облачного сервиса с помощью единого протокола.

EtherCAT может работать в сетях TSN IEEE 802.1 (Time-Sensitive Networking), что позволяет организовать обмен между контроллерами с передачей данных в режиме реального времени. Кроме того, EtherCAT поддерживает интеграцию с протоколом OPC UA Pub-Sub, который можно использовать для межмашинного взаимодействия (M2M) и связи с облачными сервисами.

Все это позволяет сказать, что EtherCAT не просто готов к Индустрии 4.0 и Интернету вещей (IoT), а EtherCAT уже является их частью!

Оборудование EtherCAT

Master-устройства

Устройством Master может быть любое устройство с сетевой картой, т.к. обработка данных на лету происходит на специализированных контроллерах в slave-устройствах. Самым распространенным решением в качестве Master-устройства можно назвать ПО TwinCAT от Beckhoff установленное на промышленном компьютере, либо это может быть специализированный контроллер. Также можно воспользоваться программной Open source реализацией протокола EtherCAT. Кроме того, производители устройств EtherCAT часто поставляют вместе со своей продукцией различные библиотеки и API для самостоятельной реализации Master-устройства.


PCIe платы EtherCAT Master

Полный список PCIe плат смотрите в каталоге.

ECAT-M801-16AX - Модуль ввода-вывода, 13 каналов дискретного ввода-вывода, одновременная обработка до 16 координат, 2-осевой счетчик, EtherCAT Master

ECAT-M801-8AX/S - Модуль ввода-вывода, 13 каналов дискретного ввода-вывода, одновременная обработка до 8 координат, 2-осевой счетчик, EtherCAT Master, с платой DN-26, кабелями CA-1515M и CA-2615M



Контроллеры

Название ЦП Оперативная память, Гб Слоты ввода-вывода Время цикла Кол-во Slave Кол-во осей Программирование
EMP-9051-16 i5-8365UE 16 Гб DDR4 0 500 мкс, 1, 2, 4, 8 мс 512 16 С/С++/С#/LabView
EMP-9051-32 32
EMP-9058-16 16 МЭК 61131-3 С/С++/С#/LabView
EMP-9058-32 32
EMP-9251-16 2 16 С/С++/С#/LabView
EMP-9251-32 32
EMP-9258-16 16 МЭК 61131-3 С/С++/С#/LabView
EMP-9258-32 32 МЭК 61131-3 С/С++/С#/LabView
EMP-9091-16 Atom E3950 8 Гб DDR4 0 16 С/С++/С#/LabView
EMP-9091-32 32 С/С++/С#/LabView
EMP-9098-16 16 МЭК 61131-3 С/С++/С#/LabView
EMP-9098-32 32 МЭК 61131-3 С/С++/С#/LabView
EMP-2848M Cortex-A53 1 0 500 мкс 128 16 МЭК 61131-3 С/С++/С#/LabView

Название ЦП DI DO Модули Программирование
XSDH-60A32-E ARM Cortex A8 36 34 XD CODESYS
XSLH-24A8 12 12 XL
XSLH-24A16 12 12
XSLH-30A32 14 16

Модули ввода-вывода

Полный список модулей ввода-вывода смотрите в каталоге.

ECAT-2094S - Модуль четырехкоординатного управления шаговыми двигателями, EtherCAT slave, металлический корпус

EC7-0808A - Модуль удаленного ввода-вывода EtherCAT, интегрированные порты I/O, 8DI, 8DO, NPN, 0.5A, защита корпуса IP67


ECAT-2012H - Модуль ввода, 8/16 каналов аналогового ввода 16-bit, EtherCAT Slave

ECAT-2051-32 - Модуль ввода, 32 канала дискретного ввода с изоляцией, EtherCAT Slave


Шлюзы протоколов

Подробнее о шлюзах протоколов смотрите в каталоге.

ECAT-2610 - Шлюз EtherCAT Slave в Modbus RTU Master, 1xRS-232/422/485, 2xLAN RJ-45

ECAT-2611 - Шлюз EtherCAT Slave в Modbus RTU Slave, 1xRS-232/422/485, 2xLAN RJ-45


Конверторы топологии сети EtherCAT

Подробнее о конверторах топологии смотрите в каталоге.

ECAT-2511-A - Конвертер EtherCAT в одномодовое оптоволокно (WDM: TX 1310 нм, RX 1550 нм, разъем SC, до 25 км)

ECAT-2511-B - Конвертер EtherCAT в одномодовое оптоволокно (WDM: TX 1550 нм, RX 1310 нм, разъем SC, до 25 км)

ECAT-2513 - Модуль разветвления шины EtherCAT, 1 канал ввода и 3 канала вывода шины, EtherCAT Junction Slave


ECAT-2515 - Модуль разветвления шины EtherCAT, 1 канал ввода, 5 каналов вывода шины, EtherCAT Junction Slave

ECAT-2517 - Модуль разветвления шины EtherCAT, 1 канал ввода и 7 каналов вывода шины, EtherCAT Junction Slave, 10-30VDC