exponenta event banner

Управление скоростью двигателя по протоколу EtherCAT ® с помощью привода Accelnet™

В этом примере показано, как управлять скоростью двигателя с помощью 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 между разработчиками и целевыми компьютерами.

Для тестирования этой модели:

  1. Подключите выделенный сетевой порт в целевом компьютере к порту EtherCAT IN Accelnet™ диска.

  2. Подключите двигатель к приводу Accelnet™.

  3. Убедитесь, что Accelnet™ привод оснащен 24-вольтовым источником питания.

  4. Постройте и загрузите модель на целевой объект.

Полный пример настройки сети 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 для другого диска CIA-402

Если требуется создать новый файл 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. Возможно, потребуется обновить эти переменные, открыв диалоговые окна и снова выбрав текущую переменную.

Создание, загрузка и запуск модели

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

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

  2. Нажмите кнопку 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');

См. также