В этом примере показано, как управлять скоростью двигателя с помощью 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 IN Accelnet™ диска.
Подключите двигатель к приводу Accelnet™.
Убедитесь, что Accelnet™ привод оснащен 24-вольтовым источником питания.
Постройте и загрузите модель на целевой объект.
Полный пример настройки сети EtherCAT, конфигурации модели главного узла EtherCAT и сборки приложения реального времени см. в разделе Последовательная запись переменных конфигурации подчиненного устройства CoE протокола EtherCAT ®.
Эта модель посылает в привод команду переменной скорости.
Блок инициализации EtherCAT требует наличия файла конфигурации ENI в текущей папке. Скопируйте файл конфигурации примера из папки примеров в текущую папку. Чтобы открыть модель, в окне команды MATLAB введите:
open_system(fullfile(matlabroot,'toolbox','slrealtime','examples','slrt_ex_ethercatVelocityControl'));

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

Область действия показывает ошибку синхронизации от целевого к ведомому по мере того, как синхронизация происходит с использованием метода сдвига шины. Ведомое устройство настраивается так, чтобы соответствовать целевой синхронизации, что приводит к затухающей волне, показывающей хорошую фазовую блокировку в диапазоне от 4,5 до 5 секунд. Хэш является проявлением планировщика выполнения QNX и является ожидаемым. На этом графике 5000 находится в наносекундах, поэтому это показывает синхронизацию между 0 и -2 микросекундами с остаточными случайными ошибками.

Scope1 показывает прогрессирование состояний при инициализации диска. Большая часть времени уходит на достижение синхронизации времени между целевым устройством и ведомым устройством EtherCAT. Переход от состояния SafeOp (= 4) к состоянию Op (= 8) происходит после короткого времени установления, если ошибка синхронизации ниже допустимой ошибки.

Scope2 показывает положение двигателя, которое представляет собой сдвинутый по фазе вариант синусоидальной скорости, которая посылается в двигатель. Обратите внимание, что положение двигателя не изменяется до тех пор, пока привод не перейдет в состояние Op около 4,3 секунды.

Scope3 показывает скорость, которая посылается на привод, и скорость, считываемую с привода. Скорость не изменяется до тех пор, пока привод не перейдет в состояние Op.
После запуска модели можно также использовать инспектор данных моделирования для просмотра любого сигнала, помеченного для регистрации сигнала. Сигналы, отмеченные для регистрации сигналов, имеют точку с двумя дугами над ней в редакторе модели.
Команда скорости для двигателя представляет собой низкочастотную синусоидальную волну. Фактическая скорость, считанная из контроллера, задерживается несколько раз, и фактическое положение находится вне фазы на 90 градусов от фактической скорости, как ожидается для синусоидального изменения.
По завершении выполнения примера остановите и закройте модель.
close_system('slrt_ex_ethercatVelocityControl');