KPA EtherCAT Master Stack

KPA EtherCAT Master logo

KPA EtherCAT Master Stack – это программная библиотека (стек) ведущего устройства EtherCAT, обеспечивающая использование всех преимуществ данной шины, таких как исполнение в реальном времени, короткое время цикла, максимальная производительность и минимальные затраты на реализацию. Архитектура стека спроектирована и реализована так, чтобы обеспечить как переносимость на различные операционные системы и аппаратные платформы, так и гибкость поставки: клиент может приобрести пакеты Basic (класс B), Standard (класс A) или Premium.

KPA EtherCAT Master поддерживает формат файлов EtherCAT Network Information (ENI) и эффективно реализует все возможности технологии. Программный код написан в строгом соответствии со спецификациями ETG на языке ANSI C, оптимизирован для короткого исполнительного цикла и минимального объема занимаемой памяти, благодаря чему соответствует требованиям сред с жестким реальным временем, и может разворачиваться на встроенных системах на базе различных аппаратных платформ.

Преимущества для разработчиков:

  KPA EtherCAT Master WhitePaper (English) (1,3 MiB, 827 hits)

Видеоинтервью с Герхардом Шпигелем на тему реализации KPA EtherCAT Master на операционной системе INtime 6 компании TenAsys.

KPA EtherCAT Master Development Kit (MDK)

KPA EtherCAT MDK позволяет OEM-производителям встраивать в свои системы функционал ведущего устройства шины EtherCAT с минимальными затратами на аппаратные средства.

Состав KPA EtherCAT MDK:

  KPA EtherCAT MDK Flyer (English) (174,5 KiB, 576 hits)

Мы предлагаем варианты KPA EtherCAT Master для широкого спектра операционных систем реального времени и аппаратных платформ.

Аппаратные платформы

  • Intel x86/x64
  • Freescale PowerPC
  • Xilinx Spartan / Zynq
  • Altera Cyclone V
  • Другие платформы с процессорами архитектуры ARM

Операционные системы

  • Windows
  • INtime
  • RTX
  • RTX64
  • Linux RT Preemt
  • Xenomai
  • QNX
  • VxWorks

Замечание: продукт был успешно портирован на такие ОС, как Windows XP, CE6/7, OnTime RTOS-32, PikeOS, RTAI, но их активная поддержка не осуществляется. Возможно портирование на другие ОС по запросу клиента.

Архитектура стека KPA EtherCAT Master

Стек KPA EtherCAT Master имеет модульную структуру для оптимального соответствия требованиям каждого конкретного проекта заказчика. Благодаря этому размер кода можно подогнать под требуемый размер приложения, портировать его на произвольную аппаратную платформу, разрабатывать новые или адаптировать существующие модули по отдельности, не затрагивая функционирование других модулей.
Модули стека Master сгруппированы в уровни (Layers), между которыми распределены функциональные возможности.
Архитектура стека KPA EtherCAT Master

Прикладной уровень

Прикладной уровень отвечает за взаимодействие с различными программными и/или операционными средами, а также другими приложениями и устройствами, присутствующими в системе. Его основные функции:

  1. инкапсуляция и предоставление доступа к функциям ведущего устройства локальным приложениям или процессам
  2. взаимодействие с ведущим устройством посредством службы удаленного вызова процедур (RPC)
  3. обеспечение соединения TCP/IP или UDP для обмена сообщениями с ведомыми устройствами по UDP или других задач

Ядро стека KPA EtherCAT Master

Модуль асинхронного обмена служебными данными (Mailbox)

Модуль асинхронного обмена (Mailbox) реализует протоколы для приема, передачи и обработки объектов служебных данных (SDO). Поддерживается инкапсуляция следующих протоколов, описанных в стандарте EtherCAT:

  • CAN application protocol over EtherCAT (CoE)
  • Ethernet over EtherCAT (EoE)
  • Servo Profile over EtherCAT (SoE)
  • File Access over EtherCAT (FoE)
  • Vendor specific Profile over EtherCAT (VoE)
  • ADS over EtherCAT (AoE)

Модуль образа процесса (Process Image)

Распределение адресов в образе процесса строится на основании описания в ENI-файле (EtherCAT Network Information), сгенерированного конфигурационной программой KPA EtherCAT Studio или программой стороннего поставщика. Доступ управляющей программы к образу процесса обеспечивается через прикладной интерфейс ведущего устройства (Master API).

Модуль распределенных часов (Distributed Clocks)

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

  KPA EtherCAT Master Synchronization Flyer (English) (169,4 KiB, 359 hits)

Модуль планировщика кадров (Frame Scheduler)

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

Уровень абстрагирования операционной системы (OSAL)

KPA EtherCAT Master logo
Данный уровень позволяет портировать стек KPA EtherCAT Master на любую операционную систему с минимальными затратами.
Уровень состоит из двух модулей:

  • модуль функций ОС содержит обертки для функций, работающих с потоками, таймерами, мьютексами и тд., реализация которых зависит от конкретной ОС
  • модуль драйвера сетевого адаптера (NIC), который предоставляет интерфейс для ядра ведущего устройства, абстрагированный от конкретной реализации сетевого адаптера

Операционные системы

Logo Intime
Logo Linux
Logo QNX
Logo RTX
Logo VxWorks
Logo Xenomai

Замечание: продукт был успешно портирован на такие ОС, как Windows XP, Windows CE6/7, OnTime RTOS-32, PikeOS, RTAI, но их активная поддержка не осуществляется. Возможно портирование на другие ОС по запросу клиента.

Тест производительности стека KPA EtherCAT Master

Конфигурация «Простая»:
Кадр 64Б, 1 LRD / 1 LWR, без DC, без Mailbox (EK1100 – EL1004 – EL2004)

Конфигурация «Сложная»:
1 полный кадр (кадр 1514Б для PDO), команды LRD/LWR, DC, Mailbox через EVENT (EK1100-EL1004-EL2004-EL1252-EL3102-EL4102-EL6751-EL6751)

Тестовая платформа:
CPU: Intel® Core i7-3770 CPU 3.40 ГГц
NIC: Intel® Gigabit CT desktop adapter
RAM: 8 ГБ

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

Конфигурация «Простая»
INtime RTX qnx vxworks" xenomai
Длительность цикла, мкс 100 100 100 100 100
Джиттер, ± мкс 5 2 7 10 1
Среднее время ответа ведомого, мкс 43 32 43 33 22
Средняя загрузка CPU, % 16 21 21 21 13,3

Конфигурация «Сложная»

INtime RTX qnx vxworks" xenomai
Длительность цикла, мкс 200 200 200 200 200
Джиттер, ± мкс 4 2 3 4 1
Среднее время ответа ведомого, мкс 170 150 171 166 154
Средняя загрузка CPU, % 10 12 13 13 3,8

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

Конфигурация «Простая»

INtime RTX qnx vxworks" xenomai
Длительность цикла, мкс 50 50 100 100 50
Джиттер, ± мкс 10 3 7 10 1
Среднее время ответа ведомого, мкс 43 32 43 33 22
Средняя загрузка CPU, % 31 41 21 21 27,5
Config «Complex»:
INtime RTX qnx vxworks" xenomai
Длительность цикла, мкс 200 200 200 200 200
Джиттер, ± мкс 4 2 3 4 1
Среднее время ответа ведомого, мкс 170 150 171 166 154
Средняя загрузка CPU, % 10 12 13 13 3,8

Комплекты поставки KPA EtherCAT Master

Каждый комплект поставки содержит набор функций в соответствии с определенным классом, благодаря чему покупатель может выбрать поставку того класса, который наилучшим образом отвечает требованиям его приложения. Таблица сравнения функций комплектов Basic (Class B) и Standard (Class A) содержится в следующем файле:

  KPA EtherCAT Master Classes Flyer (English) (190,4 KiB, 413 hits)

Пакеты функций и расширения

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

Пакеты функций

  • кабельное дублирование
  • «горячее» подключение
  • шлюз для асинхронных сообщений TCP/UDP
  • внешняя синхронизация

Расширения

  • логгер данных и кадров
  • разграничение доступа
  • Multi Master (Master 1.6)
  • расширенная диагностика (Master 1.6)
  • база данных CAN (DBC)
  • Master OD
  • EtherCAT Automation Protocol (EAP)
  • онлайн-конфигурирование
  • кэширование данных

Операционная система

Завершающий пункт выбора пакета поставки – операционная система. Со списком поддерживаемых операционных систем можно ознакомиться выше.