Какими командами управлять одной осью в PMP3xx?
Команды одной оси — стандартные функциональные блоки PLCopen, они одинаковы для всех приводов, подключённых по EtherCAT. Начинается любая программа перемещения с включения оси.
Базовый набор:
- MC_Power — включение оси, перевод в рабочее состояние.
- MC_Home — возврат в исходное положение.
- MC_MoveAbsolute — перемещение в абсолютную координату, MC_MoveRelative — на расстояние от текущего положения, MC_MoveAdditive — добавочное расстояние к текущему заданию.
- MC_MoveVelocity — непрерывное движение с заданной скоростью, MC_Jog — толчковый режим.
- MC_Stop — останов по команде, MC_Halt — приостановка выполнения блоков.
- MC_Reset — сброс ошибок оси.
Чтение состояния: MC_ReadActualPosition, MC_ReadActualVelocity, MC_ReadActualTorque, MC_ReadAxisError, SMC_ReadSetPosition. Работа с параметрами привода: MC_ReadParameter и MC_WriteParameter, для булевых величин — MC_ReadBoolParameter и MC_WriteBoolParameter. Расшифровка кода ошибки в текст — SMC_ErrorString, работа с архивом ошибок блоков — SMC_ReadFBError и SMC_ClearFBError.
Блок MC_Power устроен так: вход Axis связывает блок с осью, вход Enable разрешает работу самого блока, bRegulatorOn включает регулятор привода, bDriveStart снимает быстрый останов. На выходе Status появляется готовность оси, а bRegulatorRealState и bDriveStartRealState показывают фактическое состояние. Код ошибки лежит в ErrorID и равен нулю в нормальном режиме.
Типовая ошибка наладки — попытка запустить перемещение до того, как MC_Power выдал готовность. Блок движения при этом завершается с ошибкой, а привод остаётся без момента.
Прикреплённая документация
Георгий Жуков
Ведущий инженер