EtherCAT® Communication с Beckhoff® Digital IO Slave Devices EL1004 и EL2004

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

Требования

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

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

Протестировать эту модель:

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

  2. Соберите терминалы EL1004 и EL2004 с разветвителем EK1100.

  3. Цикл поддерживает первые два порта I/O: Соединитесь порты пронумеровали O1, и O2 Терминала EL2004 к портам пронумеровал I1 и I2 Терминала EL1004. Порты O3, O4, I3 и I4 не используются этим примером.

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

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

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

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

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

Блок инициализации EtherCAT может быть сконфигурирован или с полным путем к файлу ENI или с относительным путем, который может быть найден с which MATLAB команда. Скопируйте конфигурационный файл в качестве примера от папки в качестве примера до текущей папки. Чтобы открыть модель, в командном окне 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, используйте индекс Устройства = 0 и Номер порта Ethernet = 1.

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

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

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

Для обзора процесса для создания файла ENI смотрите, Конфигурируют Сеть EtherCAT при помощи TwinCAT 3.

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

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

Создайте, загрузите и запустите модель

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

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

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

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

Три осциллографа являются Осциллографом, Scope1 и Scope2.

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

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

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

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

Отобразите данные о Целевом компьютере

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

Наблюдения, чтобы заметить

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

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

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

close_system('slrt_ex_ethercat_beckhoff_dio');

Смотрите также