Ethernet для Автоматизации управления (EtherCAT®) является открытым протоколом сети Ethernet для распределенного управления в реальном времени, например, для автомобильных и промышленных систем. Протокол EtherCAT обеспечивает:
Детерминированное и быстрое время цикла
Недорогой модуль ввода-вывода стоится
Сети EtherCAT состоят из одного главного узла и нескольких ведомых узлов. Подбиблиотека Simulink® Real-Time™ EtherCAT поддерживает только главный узел сети EtherCAT. Вы не можете эмулировать ведомые узлы с помощью блоков в подбиблиотеке EtherCAT. Однако можно использовать эти блоки, чтобы моделировать несколько сетей EtherCAT с несколькими картами Ethernet.
Вы моделируете сеть EtherCAT с помощью одного из сторонних конфигураторов EtherCAT: TwinCAT®3 от Beckhoff® или Инженер EC от Acontis.
Конфигуратор Beckhoff ET9000 больше не поддерживается.
Чтобы сопоставить сетевую модель в модель Simulink Real-Time, познакомьтесь со следующими отображениями:
Как минимум каждая модель EtherCAT должна содержать блок EtherCAT Init. Блок EtherCAT Init содержит ссылку на файл Информации о сети EtherCAT (ENI). Файл ENI описывает сеть, включая переменные устройства сети.
Если вы генерируете конфигурационный файл с TwinCAT 3, используйте программное обеспечение, чтобы создать по крайней мере одну циклическую задачу ввода/вывода. Соедините эту задачу по крайней мере с одним входным каналом и одним выходным каналом на каждом ведомом устройстве. Если вы генерируете файл с помощью Инженера EC Acontis, программное обеспечение создает одну задачу по умолчанию, соединенную со всеми каналами ввода-вывода ведомого устройства.
Когда вы знаете метки деления цикла ввода/вывода, устанавливаете Fixed-step size в диалоговом окне Model Configuration Parameters к значению, которое сопоставимо со следующими ограничениями:
Метка деления цикла всех ведомых устройств EtherCAT.
Шаги расчета всех других блоков в модели Simulink.
Для получения дополнительной информации смотрите Деривацию Размера Фиксированного Шага.
Когда вы знаете переменные устройства, которые вы используете в своей модели, добавляете блок EtherCAT PDO Receive или EtherCAT PDO Transmit для каждой переменной устройства EtherCAT. Когда вы добавляете эти блоки в модель, блок получает список переменных устройства из конфигурационного файла в блоке EtherCAT Init. Когда вы задаете переменную устройства в диалоговом окне блока, обновления программного обеспечения информация о блоке с информацией о переменной устройства от конфигурационного файла.
Чтобы передать информацию о CANopen по EtherCAT (CoE) через вашу сеть, добавьте Загрузку SDO и блоки Загрузки SDO к вашей модели. Блоки SDO прибывают в два типа, синхронные и асинхронные. С точки зрения EtherCAT существует мало различия в поведении этих типов. Различие возникает во время выполнения приложения реального времени. Синхронизирующий SDO блокирует выполнение останова, в то время как они ожидают ответа. Асинхронные блоки SDO продолжают выполняться и опрашивают модуль ввода-вывода относительно ответа.
Чтобы избежать перегрузки ЦП, установите шаг расчета для синхронных блоков SDO к значению по крайней мере три раза, которое для PDO блокируется.
Чтобы отследить состояние сети или обеспечить сеть в конкретное состояние, добавьте блок EtherCAT Get State или EtherCAT Set State.
Блок EtherCAT Init планирует сетевые события в двух фазах:
Фаза 1 — Считывает данные из переменных EtherCAT из последнего принятого кадра в EtherCAT PDO, Получают блоки.
Любой из следующих блоков, в произвольном порядке:
EtherCAT PDO Получает — данные о Процессах, считанные из последнего кадра, принятого от ведомого устройства.
Передача EtherCAT PDO — Буферные данные, чтобы отправить в следующем кадре к ведомому устройству.
Каждый из следующих блоков, в произвольном порядке:
Синхронизация EtherCAT Загрузка SDO — Ставит кадр SDO в очередь с новым значением, ожидает ответа.
Синхронизация EtherCAT Загрузка SDO — Ставит кадр SDO в очередь с запросом о данных, ожидает ответа.
EtherCAT Асинхронная Загрузка SDO — Ставит кадр SDO в очередь с новым значением, проверками на ответ, продолжает выполнение.
EtherCAT Асинхронная Загрузка SDO — Ставит кадр SDO в очередь с запросом о данных, проверками на ответ, продолжает выполнение.
Синхронная загрузка и загрузка берут по крайней мере три метки деления самой быстрой метки деления цикла PDO, чтобы завершить обработку.
EtherCAT Получают состояние — текущее состояние Чтений сети EtherCAT.
Состояние Набора EtherCAT — Очереди запрашивают изменить текущее состояние сети EtherCAT.
Фаза 2 — Передает кадры PDO, сопровождаемый следующим доступным поставил кадры SDO в очередь.
EtherCAT асинхронная загрузка SDO | EtherCAT асинхронная загрузка SDO | EtherCAT Асинхронная Загрузка SSC/SoE | EtherCAT Асинхронная Загрузка SSC/SoE | EtherCAT получают состояние | EtherCAT Init | EtherCAT PDO получает | Передача EtherCAT PDO | Состояние набора EtherCAT | Синхронизация EtherCAT загрузка SDO | Синхронизация EtherCAT загрузка SDO | Синхронизация EtherCAT Загрузка SSC/SoE | Синхронизация EtherCAT Загрузка SSC/SoE