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/ISO EtherCAT
1- 2 Data link

Mailbox/Buffer Handling
Process Data Mapping
Extreme Fast Auto-Forwarder
Ethernet MAC

2- 1 Physical Fast Ethernet
100BASE-TX
100BASE-FX

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

№№ Уровни OSI/ISO EtherCAT (HTTP, FTP)
1- 7 Application Cyclic Data Exchange
Mailbox Acyclic Data Access
2- 6 Presentation
3- 5 Session
4- 4 Transport TCP (UDP)
5- 3 Network IP

Ethernet через EtherCAT (EoE — Ethernet over EtherCAT)[править]

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

Топология[править]

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

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

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

Производительность[править]

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

Применяя технологию 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 (англ.). Проверено 28 января 2024.
  3. Технология EtherCAT как инструмент реализации передовой архитектуры управления / Перевод с англ. под редакцией А. Д. Маштакова // ИСУП : журнал. — 2010. — № 5(29).
  4. Технология EtherCAT в системах автоматизации Advantech. Проверено 29 января 2024.
  5. Краткий обзор EtherCAT. EtherCAT Technology Group. Проверено 1 февраля 2024.
  6. EoE Support (англ.). Проверено 1 февраля 2024.
  7. Принцип Работы EtherCAT (2008-05-15). Проверено 31 января 2024.
  8. Fast Ethernet. ООО «Мальтима Телеком». Проверено 31 января 2024.
  9. EtherCAT в промышленности. Проверено 1 февраля 2024.

Ссылки[править]

Znanie.png Одним из источников этой статьи является статья в википроекте «Знание.Вики» («znanierussia.ru») под названием «EtherCAT», находящаяся по адресам:

«https://baza.znanierussia.ru/mediawiki/index.php/EtherCAT»

«https://znanierussia.ru/articles/EtherCAT».

Материал указанной статьи полностью или частично использован в Циклопедии по лицензии CC-BY-SA 4.0 и более поздних версий.
Всем участникам Знание.Вики предлагается прочитать материал «Почему Циклопедия?»