В этом примере показано, как взаимодействовать с устройствами EtherCAT с помощью аналоговых терминалов ввода-вывода Beckhoff ® EL3062 и EL4002.
Чтобы запустить этот пример, вам нужна сеть EtherCAT, которая состоит из целевого компьютера в качестве устройства EtherCAT Master и двух аналоговых входных/выходных терминалов EL3062 и EL4002 в качестве ведомых устройств EtherCAT. В этом примере требуется выделенный сетевой порт, который зарезервирован для EtherCAT с помощью инструмента строения Ethernet на целевом компьютере. Используйте зарезервированный порт для связи EtherCAT. Этот порт является сложением к порту, используемому для подключения Ethernet между компьютерами компьютеров разработчика и целевыми компьютерами.
Чтобы протестировать эту модель:
Подключите резервный сетевой порт на целевом компьютере к сетевому IN-порту соединителя Beckoff ® EK1100.
Сборка клемм EL3062 и EL4002 с помощью Coupler EK1100.
Цикл обратно порты ввода-вывода: Соедините каждый выход порт терминала 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, используйте Device Index = 0 и Ethernet Port Number = 1.
Если вам нужно создать новый файл ENI, вам нужно использовать сторонний конфигуратор EtherCAT, такой как TwinCAT 3 от компании Beckhoff, который вы устанавливаете на компьютер разработчика. Предварительно сконфигурированный для этой модели файл строения EtherCAT (ENI) является BeckhoffAIOconfig.xml.
Файл ENI (EtherCAT Network Information), который предоставляется в этом примере, имеет EK1100 с EL3062 и EL4002 подчиненными устройствами в этом порядке. Если у вас есть другие аналоговые модули ввода-вывода, вам нужно создать новый файл ENI для этого набора.
Обзор процесса создания файла ENI см. в разделе Настройка сети EtherCAT при помощи TwinCAT 3.
Каждый файл строения EtherCAT (файл ENI) специфичен для точной настройки сети, для которой он был создан (для примера, сеть, обнаруженная в шаге 1 процесса создания строения файлов). Файл строения, предоставленный для этого примера, действителен тогда и только тогда, когда сеть EtherCAT состоит из терминалов EK1100, EL3062 и EL4002.
ENI- файл задает набор переменных передачи и приема. В данном примере набор переменных приема задан для каждого входного канала терминальных EL3062. Убедитесь, что переменные для канала 1 и канала 2 терминальных EL3102 выбраны соответственно в двух блоках EtherCAT PDO Receive. Эти две переменные Term 2 (EL3062).AI Standard Channel 1.Value
и Term 2 (EL3062).AI Standard Channel 2.Value
.
Набор передающих переменных задан для двух выходных каналов терминальных EL4002. Убедитесь, что переменные для канала 1 и канала 2 терминальных EL4002 выбраны в двух блоках EtherCAT PDO Transmit. Эти две переменные Term 3 (EL4002).AO Outputs Channel 1.Analog Output
и Term 3 (EL4002).AO Outputs Channel 2.Analog Output
.
Чтобы создать, скачать и запустить модель:
В редакторе Simulink Editor из списка целей на вкладке Real-Time выберите целевой компьютер, на котором можно запустить приложение реального времени.
Нажмите Run on Target.
Если вы открываете три возможности на стороне хоста двойным нажатием каждый, данные передаются от цели назад к компьютеру разработчика и отображаются там.
Масштабирование в первую четверть секунды выполнения для этой модели, на всей трёх возможностях показывает:
Возможности показывают уведомления в желтом цвете и состояние в синем цвете. Единственные уведомления имеют значение 1, что означает, что состояние изменилось. Каждый из них выравнивается по шагу в выходе состояния. Поскольку этот файл ENI не использует синхронизацию распределенного синхросигнала, переход к состоянию Op очень быстрый, чуть более 0,1 секунды. Кроме того, поскольку этот файл ENI не использует распределенные часы, последние 4 элемента вектора из блока init все 0.
Scope1 показывает 1Hz выход синевы в желтом цвете и значение, считанное A/D в синем цвете. Заметьте, что вход отсутствует, пока состояние EtherCAT не перейдет в состояние Op сразу через 1 секунду. Если вы увеличиваете изображение более плотно, вы замечаете, что A/D сигнал задерживается на несколько тактов от выхода D/A. Это связано с тем, что A/D считывается до того, как D/A получает команду на новое значение, и значение A/D недоступно до следующего шага расчета. Этот D/A slave принимает входной параметр со знаком, но может выводиться только в диапазоне [0, + 10] В, поэтому входные значения показывают только положительные значения, хотя этот A/D может считать входные параметры от [-10, + 10].
Scope2 показывает 2Hz sinewave, посланную во второй D/A канал, с тем же самым задержанным началом на входе и задержанным ответом на изменение.
Второй способ - создать модель (slbuild () или ^ B), загрузить из командной строки MATLAB и запустить из командной строки. В этом случае блоки возможностей не отображают данные, но можно использовать Данные моделирования Inspector.
Модель предварительно сконфигурирована, чтобы работать в течение 10 секунд. Если вы хотите запустить модель дольше, используйте вкладку MODELING на панели инструментов редактора моделей, чтобы изменить время остановки и перестроить.
После запуска модели можно также использовать Данные моделирования Inspector, чтобы просмотреть любой сигнал, который был помечен для логгирования сигнала. Сигналы, отмеченные для логгирования сигнала, имеют точку с двумя дугами над ним в редакторе моделей.
Когда пример завершит свой запуск, остановите и закройте модель.
close_system('slrt_ex_ethercat_beckhoff_aio');