В этом примере показано, как связаться с устройствами EtherCAT с помощью аналоговых терминалов EL3062 и EL4002 ввода-вывода Beckhoff®.
Чтобы запустить этот пример, вам нужна сеть EtherCAT, которая состоит из целевого компьютера как Ведущее устройство EtherCAT и два аналоговых входа / выходные терминалы EL3062 и EL4002 как Ведомые устройства EtherCAT. Этот пример требует специализированного сетевого порта, который резервируется для EtherCAT с помощью Инструмента конфигурирования Ethernet на целевом компьютере. Используйте зарезервированный порт для коммуникации EtherCAT. Этот порт в дополнение к порту, используемому для подключения Ethernet между разработкой и целевыми компьютерами.
Протестировать эту модель:
Соедините зарезервированный сетевой порт в целевом компьютере к порту сети IN разветвителя Beckoff® EK1100.
Соберите терминалы EL3062 и EL4002 с разветвителем EK1100.
Цикл поддерживает порты I/O: Соедините каждый выходной порт Терминала EL4002 к соответствующему входному порту Терминала EL3062.
Убедитесь, что терминалы предоставляются необходимым источником питания на 24 вольта.
Создайте и загрузите модель на цель.
Для полного примера, который конфигурирует сеть EtherCAT, конфигурирует модель главного узла EtherCAT и создает, затем запускает приложение реального времени, смотрите Моделирование Сети EtherCAT.
Эта модель создает два синусоидальных сигнала и отправляет сигналы в терминал EL4002. Модель получает значения входного сигнала от терминала EL3062.
Блок инициализации EtherCAT требует, чтобы настройка файл ENI присутствовала в текущей папке. Скопируйте конфигурационный файл в качестве примера от папки в качестве примера до текущей папки. Чтобы открыть модель, в командном окне MATLAB, введите:
open_system(fullfile(matlabroot,'toolbox','slrealtime','examples','slrt_ex_ethercat_beckhoff_aio'));
Рисунок 1: модель EtherCAT с помощью аналоговых ведомых устройств ввода-вывода Beckhoff® EL3062 и EL4002.
Откройте маску для блока EtherCAT Init и наблюдайте предварительно сконфигурированные значения. Ведомыми устройствами EtherCAT, которые объединяются в гирляндную цепь вместе с кабелем Ethernet, является Устройство, также называемое сетью EtherCAT. Индекс Устройства выбирает одну такую цепочечную сеть EtherCAT. Номер порта Ethernet идентифицирует который порт Ethernet использовать, чтобы получить доступ к тому Устройству. Блок EtherCAT Init соединяет эти два так, чтобы другие блоки EtherCAT использовали индекс Устройства, чтобы связаться с ведомыми устройствами в той сети EtherCAT.
Если у вас только есть тот соединенная сеть ведомых устройств EtherCAT, и вы только зарезервировали один порт Ethernet с инструментом конфигурирования Ethernet, используйте индекс Устройства = 0 и Номер порта Ethernet = 1.
Если необходимо создать новый файл ENI, необходимо использовать сторонний конфигуратор EtherCAT, такой как TwinCAT 3 от Beckhoff, который вы устанавливаете на компьютере разработчика. Настройка EtherCAT (ENI) файл, предварительно сконфигурированный для этой модели, является BeckhoffAIOconfig.xml.
ENI (информация о Сети EtherCAT) файл, которому предоставляют этот пример, имеет EK1100 с EL3062 и присоединенными ведомыми устройствами EL4002 в том порядке. Если у вас есть различные аналоговые модули IO, необходимо создать новый файл ENI для того набора.
Для обзора процесса для создания файла ENI смотрите, Конфигурируют Сеть EtherCAT при помощи TwinCAT 3.
Каждый конфигурационный файл EtherCAT (файл ENI) характерен для точной сетевой настройки, для которой это было создано (например, сеть, обнаруженная на шаге 1 процесса создания конфигурационного файла). Конфигурационный файл предусмотрел этот пример, допустимо, если и только если сеть EtherCAT состоит из терминалов EK1100, EL3062 и EL4002.
Файл ENI задает набор передачи, и получите переменные. В данном примере ряд получает переменные, заданы для каждого входного канала терминала EL3062. Убедитесь переменные для канала 1 и канала, 2 из терминала EL3102 выбраны соответственно в двух EtherCAT PDO, Получают блоки. Этими двумя переменными является Term 2 (EL3062).AI Standard Channel 1.Value
и Term 2 (EL3062).AI Standard Channel 2.Value
.
Набор переменных передачи задан для двух выходных каналов терминала EL4002. Убедитесь переменные для канала 1 и канала, 2 из терминала EL4002 выбраны в двух блоках Передачи EtherCAT PDO. Этими двумя переменными является Term 3 (EL4002).AO Outputs Channel 1.Analog Output
и Term 3 (EL4002).AO Outputs Channel 2.Analog Output
.
Чтобы создать, загрузите и запустите модель:
В Редакторе Simulink, из списка целей на вкладке Real-Time, выбирают целевой компьютер, на котором можно запустить приложение реального времени.
Нажмите Run on Target.
Если вы открываете три осциллографа стороны хоста путем двойного щелчка по каждому, данные переданы от цели назад к компьютеру разработчика и отображены там.
Изменение масштаба в первый квартал, второй из выполнения для этой модели, на всех трех из осциллографов, показывает:
Определите объем отображает уведомления желтым и состояние синего цвета. Единственные уведомления имеют значение 1, который имеет подразумевать, что состояние изменилось. Каждый из тех выравнивается с шагом в выходе состояния. Поскольку этот файл ENI не использует распределенную тактовую синхронизацию, прогрессия к состоянию Op очень быстра, чуть более чем 0,1 секунды. Кроме того, потому что этот файл ENI не использует распределенные часы, последними 4 элементами вектора из блока init является весь 0.
Scope1 показывает 1 Гц sinewave выход желтого цвета и чтение значения назад A/D синего цвета. Заметьте, что нет никакого входа, пока состояние EtherCAT не прогрессировало до состояния Op сразу после.1 секунд. Если вы увеличиваете масштаб более трудные, вы замечаете, что сигнал A/D задержан несколькими тактами от D/A выход. Это вызвано тем, что A/D читается, прежде чем D/A управляют к новому значению, и значение A/D не доступно до следующего шага расчета. Это ведомое устройство D/A берет int со знаком, как введено, но может только вывести в области значений [0, +10] вольты, таким образом, входные значения только показывают положительные значения, даже при том, что этот A/D может считать входные параметры из [-10, +10].
Scope2 показывает, что 2 Гц sinewave отправленный во второй канал D/A, с задержанным тем же самым запускаются на входе и отсроченной реакции к изменению.
Второй путь состоит в том, чтобы создать модель (rtwbuild () или ^B), загрузить с командной строки MATLAB и запуститься из командной строки. В этом случае блоки scope не отображают данные, но Инспектор Данных моделирования может использоваться.
Модель предварительно сконфигурирована, чтобы запуститься в течение 10 секунд. Если вы хотите запустить модель дольше, используйте вкладку MODELING на панели инструментов редактора моделей, чтобы изменить Время остановки и восстановить.
После выполнения модели можно также использовать Инспектора Данных моделирования, чтобы просмотреть любой сигнал, который был отмечен для логгирования сигнала. Сигналы, отмеченные для логгирования сигнала, имеют точку с двумя дугами выше его в редакторе моделей.
Когда пример завершит свой запуск, остановите и закройте модель.
close_system('slrt_ex_ethercat_beckhoff_aio');