EtherCAT

Из Википедии, бесплатной энциклопедии

EtherCAT — стандарт промышленной сети, относимый к семейству Industrial Ethernet и технологиям используемым для распределенного управления в режиме реального времени. EtherCAT разработан компанией Beckhoff. Целью разработки протокола было использование технологии Ethernet для автоматизации приложений, которые требуют частого обновления времени (также называемым временем цикла) с низким дрожанием связи (для синхронизации) и низкими затратами на аппаратное обеспечение. Дейтаграммы EtherCAT пропускаются внутри стандартного фрейма Ethernet.

Введение[править | править код]

Как правило, полевые шины характеризуются короткой длиной данных на каждом узле, как правило, меньше, чем минимальная полезная нагрузка кадра Ethernet. Использование одного кадра в узле за цикл, следовательно, ведёт к низкому использованию полосы пропускания и, таким образом, ухудшает общую производительность сети. EtherCAT поэтому использует другой подход, называемый "Обработка на лету".

История[править | править код]

Принципы функционирования[править | править код]

Principle of frame processing

Управляемые EtherCAT устройства не занимаются приёмом и отправкой дейтаграмм в классическом смысле слова. Вместо этого, каждая полученная дейтаграмма считывается «на лету» одновременно с отправкой дальше. Вставка данных происходит сходным образом. За счёт такого подхода удается добиться малого времени обработки дейтаграммы. Все устройства в сети адресуются одной дейтаграммой, которая последовательно обрабатывается каждым устройством.

Протокол[править | править код]

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

Протокол EtherCAT оперирует пакетами, передаваемыми непосредственно внутри стандартного кадра IEEE 802.3 Ethernet (с применением Ethertype 0x88a4) или внутри датаграммы UDP/IP. Пакет EtherCAT неделим и состоит из заголовка (2 байта) и одного или более сообщения. Последовательность данных не зависит от физического порядка узлов в сети; адресация может быть обработана в любом порядке. Широковещательная, групповая передача данных и передача данных между конечными получателями также возможна и должна быть реализована на так называемом главном устройстве в текущем сегменте сети. Если IP-маршрутизации не требуется, протокол EtherCAT может быть вставлен в UDP/IP датаграммы. Это также даёт возможность какого-либо контроля над стеком протоколов Ethernet для реализации адресации EtherCAT систем.

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

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

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

Внешне, топология сети EtherCAT может быть произвольной — возможен произвольный порядок подключения устройств. Однако внутренняя топология всё равно будет кольцевой за счёт использования полнодуплексного Ethernet в качестве нижнего уровня — каждая посланная дейтаграмма будет проходить через все подключённые устройства в определённом порядке. Используя полнодуплексный Ethernet физического уровня, контроллеры ведомых устройств EtherCAT закрывают открытый порт автоматически и возвращают Ethernet фрейм, если клиентские (downstream) устройства не обнаружены. Ведомые устройства могут иметь два или более портов. В связи с этими особенностью EtherCAT является поддержка почти любых физических топологий, таких как линия, дерево или звезда. Шина или линия, структура известная из промышленных сетей таким образом, также становится доступной для Ethernet. Возможно также сочетание линий и ветвей или заглушек: любое устройство EtherCAT с тремя или более портами может выступать в качестве перехода, никаких дополнительных устройств (например свитчей) не требуется. Классическая топология Ethernet, звезда, построенная на коммутаторах может быть использована как с помощью переключателей настроенных для перенаправления трафика непосредственно между портами, или с помощью специальных придаточных устройств: свитчи, расположенные между ведущим сетевым устройством и ведомыми устройствами.Совокупность специальных ведомых устройств (помните стандартные ведомые устройства не имеют МАС-адресов) прикреплённых к одному порту коммутатора вместе образуют EtherCAT сегмент, который либо адресуются при помощи его MAC - адреса или через порт на основе VLAN-ов. Начиная с 100BASE-TX Ethernet физического уровня, расстояние между любыми двумя узлами может составлять до 100 м (300 футов). До 65535 устройств могут быть подключены к сегменту. Если сеть EtherCAT соединена кольцевой конфигурацией (требуется два порта на главном устройстве),то это может привести к избыточности проводных каналов.

Синхронизация[править | править код]

Для синхронизации применяется механизм распределенных часов, что приводит к очень низкой частоте дрожания, значительно меньше чем 1 мкс, даже если коммуникационный цикл колеблется, что эквивалентно IEEE 1588 Precision стандартным протоколам времени. Поэтому EtherCAT не требует специального оборудования в мастер-устройстве и может быть реализовано в программном обеспечении на любом стандартном Ethernet устройстве с MAC-адресом, даже без специализированного сопроцессора связи. Типичный процесс создания распределенных часов запускается главным устройством, отправив широковещательно всем ведомым устройствам определённый адрес. После получения этого сообщения, все ведомые устройства будут фиксировать значение их внутренних часов дважды, один раз при получении сообщения и один раз, когда сообщение возвращается (помните EtherCAT имеет кольцевую топологию).Мастер может читать все зафиксированные значения и вычислить задержки для каждого ведомого устройства. Этот процесс можно повторять столько раз, сколько необходимо для уменьшения дрожания и для вычисления средних выходных значений. Всего задержки рассчитываются для каждого ведомого устройства в зависимости от их положения в ведомом кольце и загружаются в регистр сдвига. После проведённых операций, мастер разрешает широковещательное чтение/запись на системных часах, что делает первое ведомое устройство эталонными часами и заставляет все другие ведомые устройства установить их внутренние часы с надлежащим, сейчас известным смещением. Чтобы сохранить часы синхронизированными после инициализации, ведущий или ведомый должны регулярно посылает широковещательный запрос ещё раз, чтобы компенсировать любые последствия разницы в скорости между внутренними часами каждого. Каждое ведомое устройство должно регулировать скорость их внутренних часов или запускать внутренний механизм коррекции всякий раз, когда ведомое устройство должно установить актуальное значение. Системные часы описаны как 64-битный счётчик с базовым блоком 1 нс, начиная с 1 января 2000 года, 0:00.

Устройства[править | править код]

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

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

Для систем повышенной безопасности (fail-safety) в EtherCAT реализован специализированный профиль Safety-over-EtherCAT. Он позволяет реализовать в одной сети как решение обычных задач управления, так и выполнения задач систем повышенной безопасности. Протокол безопасности реализуется на уровне приложений EtherCAT, не затрагивая нижних уровней. Протокол реализован в соответствии с требованиями стандарта IEC 61508 и удовлетворяет требованиям SIL 4. Протокол имеет переменную длину дейтаграммы, что делает возможным использование различных устройств ввода-вывода, а также частотно-регулируемых приводов с поддержкой профиля безопасности. Туннелирование профиля безопасности, равно как и других данных EtherCAT, не требует применения специализированных коммутаторов или шлюзов.

Шлюзы[править | править код]

Разработчики[править | править код]

Ассоциация разработчиков и производителей, поддерживающих EtherCAT — это EtherCAT Technology Group, организация объединяющая на 1 августа 2017 года свыше 3600 членов.

Стандартизация[править | править код]

EtherCAT Technology Group является партнёром МЭК (англ. International Electrotechnical Commission, IEC), в 2005 г EtherCAT был стандартизирован как «IEC/PAS 62407 Ed. 1.0 en:2005, Real-time Ethernet control automation technology (EtherCAT™)».

Применение[править | править код]

Типичными областями для применения EtherCAT являются:

  • Управление станками и оборудованием (например, полупроводниковые инструменты, обработка металлов давлением, упаковка, литьё под давлением, сборочные системы, печатные машины, робототехника)
  • Распределенные системы сбора данных и управления (АСУ ТП электростанции, химического предприятия)

Примечания[править | править код]

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