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

Этот пример показывает, как контролировать скорость двигателя с помощью связи EtherCAT. Пример привода мотора от Copley Instruments. Этот диск использует общий для многих дисков профиль устройства CIA-402 (Can In Automation 402). Пример может работать с другими CIA-402 накопителями EtherCAT, если вы генерируете соответствующий файл ENI.

Требования

Этот пример предварительно сконфигурирован, чтобы использовать сеть EtherCAT, которая состоит из целевого компьютера в качестве устройства EtherCAT Master и Accelnet™ накопителя AEP 180-18 от Copley Controls в качестве ведомого устройства 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, а затем создает приложение в реальном времени, см. в разделе Переменные строения ведомого сервера EtherCAT ® Protocol Sequenced Writing CoE.

Откройте модель

Эта модель отправляет команду различной скорости в привод.

Блок инициализации 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 Transmit: Control Word, Modes of Operation и Target Velocity. Четвертая переменная: Profile Target Position используется в примере EtherCAT ® Protocol Motor Position Control with Accelnet™ Drive.

  • Переменная Control Word PDO служит для управления состоянием диска. Постоянное значение 15 задается как вход в блок, чтобы установить первые 4 бита равным 1, чтобы включить привод. Для получения дополнительной информации о отображении бит этой переменной см. Руководство пользователя EtherCAT из Copley Controls. Эта переменная и отображение битов находятся в CIA-402 стандартном наборе.

  • Переменная Modes of Operation PDO служит для установки режима работы привода. Постоянное значение 3 задается как вход в блок, чтобы установить режим привода равным Profile Velocity mode. Для получения дополнительной информации о поддерживаемых режимах работы см. Руководство пользователя Copley Controls EtherCAT. Эта переменная и отображение битов находятся в CIA-402 стандартном наборе.

  • Переменная Target Velocity PDO служит, чтобы задать желаемую скорость. В этом примере команда скорости на входе блока может быть настроена с помощью ползунка, соединенного с параметрами блоков усиления.

Три передающие PDO переменные также определены в файле строения и используются в трех блоках EtherCAT PDO Receive: Status Word, Фактическая Скорость Двигателя и Фактическое Положение Двигателя. Обратите внимание, что EtherCAT ссылается на переменные, которые подчиненное устройство устанавливает как передающие переменные, которые принимаются целевой моделью.

  • PDO- переменной Status Word указывает текущее состояние диска.

  • Переменные Фактическая Скорость Двигателя и Фактическое Положение Двигателя PDO указывают текущие значения скорости и положения двигателя, считанные в приводе.

Убедитесь, что необходимые переменные PDO для передачи и приема выбраны в блоках, как показано фигура 1, перед запуском примера. Чтобы обновить эти переменные, откройте диалоговые окна и снова выберите текущую переменную.

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

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

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

  2. Нажмите Run on Target.

Если вы открываете возможности со стороны хоста, дважды нажатие каждую, данные передаются из целевого компьютера обратно на компьютер разработчика и отображаются.

В модель включена способность управлять пиковой амплитудой скорости. С помощью кнопки Run on Target ползунок активен и соединяется с блоком Amplitude constant.

Модель предварительно сконфигурирована, чтобы работать в течение 10 секунд. Если вы хотите запустить модель дольше, перетащите Запуск в меню Target и измените номер на нижней линии. Нажмите зеленую стрелу, чтобы сконфигурировать, создать и запустить.

Отобразите Целевой компьютер Возможностей

Если вы запускаете модель с помощью кнопки Run on Target, режим external mode подключен, и можно дважды кликнуть блоки scope и увидеть данные на хосте. Кроме того, ползунок активен во режиме external mode.

Выходные изображения Scope обозначаются именем в строке заголовка для каждого изображения. Обсуждение следует за каждым изображением.

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

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

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

Scope3 показывает скорость, которая отправляется в привод, и скорость, считанная с привода. Скорость не меняется, пока привод не переходит в состояние Op.

После запуска модели можно также использовать Данные моделирования Inspector, чтобы просмотреть любой сигнал, который был помечен для логгирования сигнала. Сигналы, отмеченные для логгирования сигнала, имеют точку с двумя дугами над ним в редакторе моделей.

Наблюдения, которые нужно заметить

Команда скорости для двигателя является низкочастотной синусоидой. Фактическая скорость, считанная от контроллера, задерживается на несколько шагах расчета, и фактическое положение выходит из фазы на 90 степени от фактической скорости, как ожидалось для изменения синевы.

Остановите и закройте модель

Когда пример завершит свой запуск, остановите и закройте модель.

close_system('slrt_ex_ethercatVelocityControl');

См. также