Протокол EtherCAT ® с цифровыми ведомыми устройствами ввода-вывода Beckhoff ® EL1004 и EL2004

В этом примере показано, как установить связь с устройствами EtherCAT с помощью цифровых терминалов ввода-вывода Beckhoff EL1004 и EL2004.

Требования

Чтобы запустить этот пример, вам нужна сеть EtherCAT, которая состоит из целевого компьютера в качестве устройства EtherCAT Master и двух аналоговых входных/выходных терминалов EL1004 и EL2004 в качестве ведомых устройств EtherCAT, подключенных к EK1100 соединителю.

Для EtherCAT в Simulink Real-Time требуется выделенный сетевой порт на целевом компьютере, который зарезервирован для использования EtherCAT с помощью инструмента строения Ethernet. Сконфигурируйте выделенный порт для связи EtherCAT, а не с IP-адресом. Выделенный порт должен отличаться от порта, используемого для подключения Ethernet между компьютерами компьютеров разработчика и целевыми компьютерами.

Чтобы протестировать эту модель:

  1. Подключите порт, зарезервированный для EtherCAT на целевом компьютере, к сетевому порту IN соединителя EK1100 Beckoff ®.

  2. Сборка клемм EL1004 и EL2004 с помощью Coupler EK1100.

  3. Закольцовывайте первые два порта ввода-вывода: Соедините порты с нумерацией O1 и O2 Terminal EL2004 с портами с нумерацией I1 и I2 Terminal EL1004. Порты O3, O4, I3 и I4 не используются в этом примере.

  4. Убедитесь, что клеммы снабжены необходимым 24-вольтовым источником степени.

  5. Создайте и загрузите модель в цель.

Полный пример, который конфигурирует сеть EtherCAT, конфигурирует модель главного узла EtherCAT, а затем создает приложение реального времени, см. документацию Simulink Real-Time EtherCAT.

Откройте модель

Эта модель управляет сигналом импульсной волны и передает сигнал и его обратный сигнал как логические значения на EL2004 терминал и принимает входной сигнал, переданный EL1004 терминалом.

Блок инициализации EtherCAT может быть сконфигурирован либо с полным путем к файлу ENI, либо с относительным путем, который можно найти с помощью MATLAB which команда. Скопируйте файл строения из папки примера в текущую папку. Чтобы открыть модель, в Командном Окне MATLAB, введите:

open_system(fullfile(matlabroot,'toolbox','slrealtime','examples','slrt_ex_ethercat_beckhoff_dio'));

Фигура 1: Модель EtherCAT с использованием цифровых терминалов ввода-вывода Beckhoff ® EL1004 и EL2004.

Сконфигурируйте модель

Откройте диалоговое окно параметра для блока EtherCAT Init и наблюдайте предварительно настроенные значения. Ведомые устройства EtherCAT, которые соединены в цепочку вместе с кабелем Ethernet, являются Устройством, также называемым сетью EtherCAT. Индекс устройства выбирает одну такую сеть EtherCAT с цепочкой. Номер порта Ethernet определяет, какой порт Ethernet следует использовать для доступа к этому устройству. Блок EtherCAT Init соединяет эти два блока так, чтобы другие блоки EtherCAT использовали Индекс устройства для связи с ведомыми устройствами в этой сети EtherCAT.

Если у вас есть только одна подключенная сеть ведомых EtherCAT, и вы зарезервировали только один порт Ethernet с помощью инструмента строения Ethernet, используйте Device Index = 0 и Ethernet Port Number = 1.

Описание сети с помощью конфигуратора

Используя стороннюю программу строения EtherCAT, которую вы устанавливаете на компьютер разработчика, сгенерируйте файл строения EtherCAT (ENI). ENI- файл для этого примера BeckhoffDIOconfig.xml.

Файл ENI (EtherCAT Network Information), который предоставляется в этом примере, имеет EK1100 с EL2004 и EL1004 подчиненными устройствами в этом порядке. Если у вас есть другие цифровые модули ввода-вывода, вам нужно создать новый файл ENI для этого набора.

Обзор процесса создания файла ENI см. в разделе Настройка сети EtherCAT при помощи TwinCAT 3.

Каждый файл строения EtherCAT (файл ENI) специфичен для точной настройки сети, из которой он был создан (для примера, сеть, обнаруженная в шаге 1 строения процесса создания файлов). Файл строения, предоставленный для этого примера, действителен тогда и только тогда, когда сеть EtherCAT состоит из терминалов EK1100, EL1004 и EL2004 от Beckhoff ®.

ENI- файл задает набор переменных передачи и приема. В этом примере для четырех входных каналов Терминала EL1004 заданы четыре переменные приема. В этом примере используются только первые два канала терминальных EL1004. Убедитесь, что переменные приема для канала 1 и канала 2 терминальных EL1004 выбраны соответственно в двух блоках EtherCAT PDO Receive. Эти две переменные Term 3 (EL1004).Channel 1.Input и Term 3 (EL1004).Channel 2.Input. Точно так же для четырех выходных каналов терминальных EL2004 заданы четыре передающие переменные, но в этом примере тестируются только первые два канала. Убедитесь, что переменные передачи для канала 1 и канала 2 терминальных EL2004 выбраны соответственно в двух блоках EtherCAT PDO Transmit. Эти две переменные Term 2 (EL2004).Channel 1.Output и Term 2 (EL2004).Channel 2.Output.

Построение, загрузка и запуск модели

Чтобы создать, скачать и запустить модель:

  1. В редакторе Simulink Editor из списка целей на вкладке Real-Time выберите целевой компьютер, на котором можно запустить приложение реального времени.

  2. Нажмите Run on Target.

Если вы открываете три возможности на стороне хоста двойным нажатием каждый, данные передаются от цели назад к компьютеру разработчика и отображаются.

Тремя возможностями являются возможности, Scope1 и Scope2.

Оба уведомления от конечного автомата EtherCAT и текущее состояние отображаются в возможности. Поскольку ошибок нет, единственными видимыми уведомлениями являются значение 1, которое означает изменение состояния на этом временном шаге выполнения. Текущее состояние указывает состояние, возникшее в результате изменения состояния. Заметьте, что состояние Op (= 8) достигается очень быстро, поскольку этот файл ENI не включает распределенную синхронизацию синхроимпульса. Это представление масштабируется до первых 0,2 секунд выполнения, чтобы четко показать переход в состояние Op.

Scope1 и Scope2 показывают почти одно и то же, но для двух разных каналов. Сигнал инвертируется между ними двумя, как видно, если сравнить время, когда в желтом следе есть поднимающееся ребро. Временной шаг, когда начинается физический ввод-вывод, когда состояние переходит в состояние Op. До этого нет входных или выходных входов, и синие трассировки остаются на уровне 0. Существует задержка между сигналом, посылаемым в выходные блоки, и сигналом, который возвращается из входных блоков по двум причинам.

Существует 2 задержки временного шага из-за связи EtherCAT, которая сопровождается дополнительной задержкой из-за скорости аппаратного ввода-вывода. Сигнал возврата показывает определенную асимметрию между задержкой после отправки растущего ребра и задержкой после отправки падающего ребра. Если вы просматриваете фактический выходной сигнал с помощью осциллографа, вы видите, что выход на самом деле симметричен, но именно вход имеет дополнительную аппаратную задержку в нем. Другие подчиненные устройства DIO показывают различные характеристики задержки.

Модель предварительно сконфигурирована, чтобы работать в течение 10 секунд. Если вы хотите запустить модель дольше, перетащите Запуск в меню Target и измените номер на нижней линии. Нажмите зеленую стрелу, чтобы сконфигурировать, создать и запустить.

Отображение данных о целевом компьютере

После запуска модели можно использовать Данные Моделирования Inspector, чтобы просмотреть любой сигнал, который был отмечен для логгирования сигналов. Сигналы, отмеченные для логгирования сигнала, имеют точку с двумя дугами над ним в редакторе моделей.

Наблюдения, которые нужно заметить

Поскольку данные как принимаются, так и передаются подчиненным устройствам, поскольку окончательное действие во время выполнения и полученные данные на одном временном шаге доступны только в течение следующего временного шага, вы должны увидеть задержку между отправляемыми данными и возвратом значением. В сложение с цифровым IO запись нового значения на выход занимает несколько микросекунд, чтобы появиться как изменение напряжения, которое после того, как вход был захвачен, имеет 2- временные шаги задержку от выходного ребра, пока вход не покажет ребро в данных.

Закройте модель

Когда пример завершит свой запуск, остановите и закройте модель.

close_system('slrt_ex_ethercat_beckhoff_dio');

См. также