В этом примере показано, как управлять положением двигателя с помощью EtherCAT-связи. Пример моторного привода - от Copley Instruments. Этот диск использует профиль устройства CIA-402 (Can In Automation 402), общий для многих дисков. Пример может работать с другими CIA-402 EtherCAT-дисками, если вы создаете соответствующий файл ENI.
Этот пример предварительно сконфигурирован, чтобы использовать сеть EtherCAT, которая состоит из целевого компьютера как Ведущее устройство EtherCAT и AEP Accelnet™ двигатель 180-18 от Средств управления Копли как Рабское устройство EtherCAT. Подключите к приводу поддерживаемый бесщеточный или щеточный двигатель. Примером двигателя, который работает с этим примером, является SM231BE-NFLN из PARKER.
EtherCAT в Simulink Real-Time требует выделенного сетевого порта на целевом компьютере, который зарезервирован для использования EtherCAT с помощью инструмента настройки Ethernet. Настройте выделенный порт для связи EtherCAT, а не IP-адрес. Выделенный порт должен отличаться от порта, используемого для канала Ethernet между разработчиками и целевыми компьютерами.
Для тестирования этой модели:
Подключите порт, зарезервированный для EtherCAT в целевом компьютере, к порту EtherCAT IN Accelnet™ диска.
Подключите двигатель к приводу Accelnet™.
Убедитесь, что Accelnet™ привод оснащен 24-вольтовым источником питания.
Постройте и загрузите модель на целевой объект.
Полный пример настройки сети EtherCAT, модели главного узла EtherCAT и сборки, а затем запуска приложения реального времени см. в разделе Моделирование сетей EtherCAT.
Эта модель создает синусоидальную волну и модулирует ее путем умножения на значение элемента управления ползунком. Модулированный сигнал посылается в виде команды положения двигателя на привод.
Блок инициализации EtherCAT требует наличия файла конфигурации ENI в текущей папке. Скопируйте файл конфигурации примера из папки примеров в текущую папку. Чтобы открыть модель, в окне команды MATLAB введите:
open_system(fullfile(matlabroot,'toolbox','slrealtime','examples','slrt_ex_ethercatPositionControl'));

Рис. 1: EtherCAT-модель для управления положением двигателя.
Откройте диалоговое окно параметров для блока 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), предварительно настроенный для этой модели: CopleyMotorPositionConfig.xml.
Каждый файл ENI зависит от конкретной настройки сети, из которой он был создан (например, сеть, обнаруженная на шаге 1 процесса создания файла конфигурации). Файл конфигурации, предоставленный в этом примере, действителен тогда и только тогда, когда EtherCAT-сеть состоит из одного Accelnet™ диска от Copley Controls. Если у вас другой EtherCAT-диск, использующий профиль CIA-402 CanOpen, этот пример все еще работает, но вам нужно создать новый файл ENI, использующий ваш диск. Дополнительные сведения см. на веб-сайте Can In Automation по адресу www.can-cia.org. EtherCAT CoE встраивает адресацию CanOpen для переменных процесса, используя EtherCAT в качестве транспортного уровня вместо CAN.
Обзор процесса создания файла ENI представлен в разделе Настройка EtherCAT-сети с помощью TwinCAT 3
В этом примере четыре переменные PDO приема определяются в файле конфигурации, а три используются в трех блоках передачи EtherCAT PDO: управляющее слово, режимы работы и целевая позиция профиля. Четвертая переменная: Target Velocity используется в примере управления скоростью мотора EtherCAT ® с Accelnet™ Drive.
Переменная Control Word PDO служит для управления состоянием диска. Постоянное значение 15 подается на вход блока, чтобы установить первые 4 бита в 1, чтобы включить привод. Дополнительные сведения о битовом отображении этой переменной см. на веб-сайте Can In Automation. Это сопоставление переменных и битов находится в профиле устройства CIA-402.
Переменная Mode of Operation PDO служит для установки режима работы привода. Постоянное значение 8 подается на вход блока для установки режима привода в Cyclic Synchronous Position mode. Подробную документацию можно найти на веб-сайте Can In Automation. Эта переменная находится в профиле устройства CIA-402.
Переменная PDO целевого положения профиля служит для установки требуемого положения. В этом примере команда position, заданная в качестве входного сигнала блока, представляет собой синусоидальную волну, модулированную постоянным значением амплитуды, связанным с регулятором ползунка в модели.
Переменные PDO передачи (передаваемые подчиненным устройством) также определяются в файле конфигурации и используются в блоке приема EtherCAT PDO: Actual Motor Position для привода. Переменная PDO фактического положения двигателя указывает текущее значение положения двигателя, считанное в приводе. Перед выполнением примера убедитесь, что в блоках выбраны требуемые переменные передачи и приема PDO. Возможно, потребуется обновить эти переменные. Следует отметить, что EtherCAT относится к переменным, которые подчиненное устройство устанавливает в качестве переменных передачи, принимаемых целевой моделью.
Перед выполнением примера убедитесь, что требуемые переменные передачи и приема PDO выбраны в блоках, как показано на рис. 1. Возможно, потребуется обновить эти переменные, открыв диалоговые окна и снова выбрав текущую переменную.
Чтобы построить, загрузить и запустить модель:
В редакторе Simulink в списке целей на вкладке Real-Time выберите целевой компьютер, на котором будет выполняться приложение реального времени.
Нажмите кнопку Run on Target.
При открытии двух областей на стороне хоста двойным щелчком на каждой данные передаются с целевого объекта обратно на компьютер разработки и отображаются.
В модель включена возможность управления амплитудой циклического движения. С помощью кнопки Run on Target ползунок активен и соединен с блоком константы амплитуды.
Модель предварительно настроена на работу в течение 10 секунд. Если требуется выполнить модель дольше, откройте меню Выполнить на цели (Run on Target) и измените номер в нижней строке. Нажмите зеленую стрелку для настройки, построения и выполнения.
При запуске модели с помощью кнопки Выполнить на целевом объекте (Run on Target) подключается внешний режим, и можно дважды щелкнуть блоки области и просмотреть данные на хосте. Кроме того, ползунок активен во внешнем режиме.

Область показывает разницу во времени распределенных часов между главным стеком, работающим на целевом компьютере, и временем на диске. Этот файл ENI настроен на использование главного режима Shift для DC. Тактовый сигнал на целевом компьютере настраивается в соответствии с тактовым сигналом эталонного синхросигнала EtherCAT на первом подчиненном устройстве с включенным постоянным током.

Scope1 показывает переход от состояния Idle к Init (= 1) к состоянию PreOp (= 2) к SafeOp (= 4) в течение очень короткого времени, видимого при увеличении масштаба, до состояния Op (= 8) в течение около 4,3 секунды.

Scope2 показывает как синусоидальную волну, посылаемую на привод (синий), так и фактическую позицию (желтый). Это увеличивается в несколько секунд сразу после перехода диска в состояние Op и запуска внешнего управления. Так как аппаратные средства двигателя не могут реагировать мгновенно, и управляемое положение не равно 0, вы видите, что фактическое положение наклоняется вверх и слегка перестрелка перед установлением вниз, чтобы следовать управляемому положению. Временная задержка между командой и фактическими составляет приблизительно 18 шагов времени выборки с этим накопителем. Контроллер внутри привода и инерция двигателя ответственны за эту более длительную задержку времени. Другие приводы могут иметь различные характеристики задержки.
После запуска модели можно использовать инспектор данных моделирования для просмотра любого сигнала, помеченного для регистрации сигнала. Сигналы, отмеченные для регистрации сигналов, имеют точку с двумя дугами над ней в редакторе модели.
Это простой пример управления двигателем. Многочисленные настраиваемые параметры внутри дисковода не корректируются в этой модели. Для их корректировки требуется более совершенная модель с использованием блоков CoE/SDO.
По завершении выполнения примера остановите и закройте модель.
close_system('slrt_ex_ethercatPositionControl');