EtherCAT

Эта статья входит в число готовых статей
Эта статья прошла проверку экспертом
Материал из «Знание.Вики»
EtherCAT-микроконтроллер

EtherCAT (англ. Ethernet for Control and Automation Technology) — стандарт промышленной сети, относящийся к семейству Industrial Ethernet. Используется для управления технологическими процессами в режиме жёсткого реального времени, что особенно важно при работе с быстродействующим и высокоточным оборудованием. Впервые EtherCAT был представлен в апреле 2003 года немецкой компанией Beckhoff Automation. С 2007 года на базе отраслевого стандарта Beckhoff Automation был разработан международный стандарт МЭК IEC61158[1].

В настоящее время пакет EtherCAT поддерживается и распространяется компанией «EtherCAT Technology Group (ETG)»[2].

Основная задача, решаемая посредством EtherCAT — осуществление короткого времени цикла обмена данными (< 100 мкс) и низкого уровня джиттера (англ. jitter — дрожание — нежелательные фазовые или частотные отклонения передаваемого сигнала).
Благодаря точной синхронизации при передаче сигнала EtherCAT позволяет осуществлять одномоментную коммуникацию между разными устройствами — датчиками, приводами подач, сервоклапанами, преобразователями перемещений. Протокол поддерживает разные сетевые топологии, включая древовидную, кольцевую, линейную и звезду, а также их различные комбинации.

Принцип функционирования в режиме реального времени

Схема прохождения кадра в сети EtherCAT

Архитектура сети построена по принципу «master—slave» (ведущий — ведомый). «Master» EtherCAT — единственное устройство в сегменте, которому разрешено активно отправлять дейтаграмму (англ. datagram — поток без предварительной установки соединения), проходящую через каждое ведомое устройство «slave» и в которой прописаны адреса ведомых устройств и данные для них. При этом ведущее устройство «master» использует стандартный сетевой интерфейс Ethernet без дополнительного коммуникационного процессора, что позволяет применить в качестве ведущего устройства любой ПК.

В отличие от режима, когда дейтаграмма Ethernet сначала принимается, затем интерпретируется и далее отправляется ответный пакет, каждое ведомое устройство EtherCAT считывает адресованные ему данные, а также вставляет свои данные в кадр по мере его перемещения по сети «на лету», без остановки для промежуточной буферизации. Ведомые устройства для обеспечения такого принципа обработки используют специализированные микросхемы — ведомые контроллеры EtherCAT (EtherCAT Slave Controller), оснащённые двухпортовой памятью DPRAM (Dual-ported Random Access Memory). Кадры при этом практически не задерживаются, аппаратная задержка измеряется наносекундами[3].

Ведомые узлы пересылают кадры последовательно от одного к другому. Последнее ведомое устройство возвращает кадр ведущему устройству, которое таким образом определяет, что цикл обмена данными завершён. Необходимая точность при пересылке достигается посредством системы распределённых часов (Distributed Clock) — внутренних часов микросхем ведомых контроллеров EtherCAT. За счёт локального хранения точного времени внутри каждого из устройств, согласованные часы обладают высокой степенью устойчивости к возможным задержкам вследствие ошибок и кратковременных сбоев связи. При проведении сеанса связи ведущее устройство «master» производит проверку и корректировку системных часов в ведомых устройствах, что обеспечивает синхронизацию во всей сети со сдвигом не более 1 мкс[4].

Протокол EtherCAT

Протокол EtherCAT использует Ethernet-фреймы (англ. frame — рамка, структура) и физический уровень, определенный сетевой моделью OSI. Но в дополнение к этому протокол соответствует специфическим требованиям, предъявляемым к системам автоматизации, в которых:

  • существует необходимость в работе в режиме с детерминированным (определённым, от лат. determinans— определяющий) временем отклика;
  • существует необходимость обслуживания множества узлов, каждый из которых обрабатывает небольшую по объёму входную управляющую информацию и осуществляет вывод статуса состояния узла[5].

Протокол EtherCAT может работать как в режиме реального времени, так и в режиме, полностью совместимом с Ethernet и позволяющим использовать уровни UDP/IP.

EtherCAT оперирует пакетами, передаваемыми непосредственно внутри стандартной дейтаграммы Ethernet. Пакеты содержат в себе информацию для записи в ведомые устройства, а также доступны для чтения текущих данных. В режиме реального времени доступ к каждому ведомому устройству осуществляется посредством прямой аппаратной адресации. Если для обработки циклических данных не требуется режим жёсткого реального времени, возможен доступ к нескольким ведомым устройствам, осуществляемый посредством логической адресации (неявной адресации). При этом каждая дейтаграмма адресует вспомогательное адресное пространство (образ процесса) в сегменте сети EtherCAT, для которого доступно 4 Гбайт памяти. Помимо циклических данных, для асинхронной или управляемой событиями связи (прерываний) могут использоваться дополнительные дейтаграммы:

                                       Дейтаграмма Ethernet

  ┌────────────────────────────────────────────┴─────────────────────────────────────────────┐
  |                                                                                          |
  |                                                                                          |
  ╔═════════════════════╗╔════════════════════╗╔═════════╗╔═════════╗╔═════════╗╔════════════╗
  ║ Заголовок Ethernet  ║║ Заголовок EtherCAT ║║ Пакет 1 ║║ Пакет 2 ║║ Пакет 3 ║║  Ethernet  ║
  ╚═════════════════════╝╚════════════════════╝╚═════════╝╚═════════╝╚═════════╝╚════════════╝
                         │                     │                               │
                         │                     └───────────────┬───────────────┘
                         │                                                     │
                         │                            Данные чтения/записи     │
                         │                                                     │
                         └───────────────────────────┬─────────────────────────┘

                                               Кадр EtherCAT

В зависимости от алгоритма и текущей оценки ситуации ведущее устройство определяет, в каком режиме следует обращаться к ведомым устройствам. Например, для оперативного обновления текущих данных необходимо использовать короткое время цикла, а для обработки процедур, не требующих быстрой реакции — более длительное время цикла. Это оптимизирует работу ведущего устройства по сравнению с обычными системами полевой шины, где в процессе обмена данными их в любом случае необходимо сортировать посредством процессора, копировать в память и уже потом обрабатывать[2].

Уровни протокола в сетевой модели OSI

Физический уровень и уровень данных

Уровни OSI/ISOEtherCAT
1e-062Data linkMailbox/Buffer Handling
Process Data Mapping
Extreme Fast Auto-Forwarder
Ethernet MAC
2e-061PhysicalFast Ethernet
100BASE-TX
100BASE-FX

Уровни TCP (UDP) и IP (используются при необходимости циклического обмена данными)

Уровни OSI/ISOEtherCAT (HTTP, FTP)
1e-067ApplicationCyclic Data Exchange
Mailbox Acyclic Data Access
2e-066Presentation
3e-065Session
4e-064TransportTCP (UDP)
5e-063NetworkIP

Ethernet через EtherCAT (EoE — Ethernet over EtherCAT)

Сеть EtherCAT полностью прозрачна для устройств Ethernet. В этом случае кадры Ethernet туннелируются (метод построения сетей, при котором один сетевой протокол инкапсулируется в другой) через протокол EtherCAT и работа протокола в реальном времени не используется. Логически EoE работает как виртуальный коммутатор Ethernet. Кадры Ethernet в протоколе EtherCAT передаются посредством ациклической связи с почтовыми ящиками[6].

Топология

Интерфейсная плата с поддержкой EtherCAT и PCI

Внутренняя топология EtherCAT является кольцевой за счёт использования полнодуплексного (лат. duplex— двухсторонний) Ethernet в качестве нижнего уровня — каждая посланная дейтаграмма будет проходить через все подключённые устройства в определённом порядке. На уровне кабельной разводки за счёт ответвлений EtherCAT обеспечивает другие топологии, такие как древовидную, кольцевую, линейную, звезду и их комбинации. Порты, необходимые для создания ветвей, встроены в ведомые устройства, которые могут транслировать многоадресную рассылку.

Кроме того, устройства EtherCAT содержат функции «горячей» замены отдельных сегментов сети или отдельных узлов. Если какая-либо станция удаляется, система это обнаруживает и обслуживающий её порт автоматически переключается на «шунтирование» потока и передачу данных дальше в сеть. Таким образом, остальная часть сети может продолжать работать[7].

Производительность

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

Ниже приведена таблица усреднённого времени обработки данных в зависимости от конфигурации сети.

Конфигурация сетиВремя обновления данных
1256 распределенных цифровых входов/выходов10 мкс
21000 распределенных цифровых входов/выходов30 мкс
3200 аналоговых входов/выходов50 мкс при 20 кГц
4100 сервоосей, по 8 байт входных и выходных данныхкаждые 100 мкс
51 главный шлюз полевой шины (1486 байт входных и 1480 байт выходных данных)150 мкс

Применяя технологию Fast Ethernet с использованием двух пар проводников кабеля 5-й категории или экранированной витой пары, можно достичь эффективной скорости передачи данных порядка 100 Мбит/с (более 90 % полезной скорости передачи данных 2×100 Мбит/с)[8].

Применение

Существуют отрасли в промышленности, в которых критически важно обеспечить время цикла менее 1 мс. Например, в электроэнергетике — контроль и регулирование электрических величин: тока, напряжения, мощности, частоты и фазы. Также важно обеспечить скорость регистрации аварийных ситуаций и технологические защиты на генерирующих станциях или высоковольтных инверторных установках. Кроме этого контроль и управление быстрыми процессами реализуются в управлении многоосевым перемещением в системах ЧПУ, при высокой скорости перемещения режущего инструмента и высоких требованиях к точности позиционирования и синхронизации. Ниже представлен примерный перечень областей применения технологии EtherCAT:

Примечания

  1. IEC 61158-4-3(2007). Российский институт стандартизации. Дата обращения: 28 января 2024.
  2. 2,0 2,1 EtherCAT — полевая шина Ethernet (англ.). EtherCAT Technology Group. Дата обращения: 28 января 2024.
  3. Технология EtherCAT как инструмент реализации передовой архитектуры управления // ИСУП : журнал / Перевод с англ. под редакцией А. Д. Маштакова. — 2010. — № 5(29).
  4. Технология EtherCAT в системах автоматизации Advantech. Современная электроника и технологии автоматизации. Дата обращения: 29 января 2024.
  5. Краткий обзор EtherCAT. EtherCAT – The Ethernet Fieldbus. EtherCAT Technology Group. Дата обращения: 1 февраля 2024.
  6. EoE Support (англ.). Beckhoff Information System. Дата обращения: 1 февраля 2024.
  7. Принцип Работы EtherCAT. ООО ЭКОН Технология (15 мая 2008). Дата обращения: 31 января 2024.
  8. Fast Ethernet. ООО «Мальтима Телеком». Дата обращения: 31 января 2024.
  9. EtherCAT в промышленности. Визутех Систем. Дата обращения: 1 февраля 2024.

Ссылки