October 24, 2019

Ручной тормоз AM8000

У моторов AM8000 есть опция в виде тормоза. Наличие тормоза указывает единичка в заказном номере мотора AM8000-xxx1-... (и ноль когда тормоз отсутствует). Тормоз управляется отдельной цепью 24 В и срабатывает (накладывается) автоматически при отключении модуляции: тупо прижимается пружиной. И наоборот, при работе оттягивается электромагнитом, освобождая вал двигателя. Намертво тормоз вал не вклинит, но аварийно затормозит (это чтоб не порвало всё к ... и не намотало железо на вал).

В новой прошивке сервоусилителей версии 2.10 появилась возможность подключить внешний тормоз к двигателю без тормоза. Включается через параметр P-0-0060 = 2 (External motor brake: currentless locked).

Редко-редко, а иногда и когда-как, тормоз нужно отключить почти вручную, то есть программно. Управление производится через параметр P-0-0060. Подробнее можно прочитать в Configuration and control of the motor brake, но я туда не полезу, а воспользуюсь удобным функциональным блоком FB_SoEAX5000SetMotorCtrlWord.
Внимание! Не стойте, и не прыгайте, не пойте, не пляшите там, где идет строительство, или подвешен груз. Ручная работа с тормозом чревата отрыванием конечностей и зажевыванием туловища механическими руками. Повязывайте банданы, носите бронекепки и соблюдайте ТБ.
Для работы с ФБ необходимы библиотеки Tc2_MC2 и Tc2_MC2_Drive. В остальном все просто, кроме тристабильного состояния тормоза: вручную наложен, вручную разблокирован и автомат (как повезет):

PROGRAM MAIN
VAR
    {attribute 'TcNcAxis' := 'Axis 1'}
    axis1: AXIS_REF;
    
    EN, SET, LOCK, UNLOCK: BOOL;
    
    mcSetMotorCtrlWord: FB_SoEAX5000SetMotorCtrlWord;
    mcPower: MC_Power;
END_VAR

mcSetMotorCtrlWord(
    Axis := axis1,
    Execute := SET,
    ForceLock := LOCK,
    ForceUnlock := UNLOCK
);

SET R= NOT mcSetMotorCtrlWord.Busy;

mcPower(
    Axis := axis1, 
    Enable := EN, 
    Enable_Positive := TRUE, 
    Enable_Negative := TRUE
);

Для работы с тремя состояними выделено два управляющих бита: ForceLock и ForceUnlock. Сочетанием этих флагов устанавливается текущее состояние тормоза. Вброс значений производится по переднему фронту входа Execute. Я свел все возможные значения в табличку:


Например, возврат тормоза в автоматический режим осуществляется одновременным сбросом флагов ForceLock|Unlock в FALSE и последующей установкой Execute в TRUE. После этого состояние тормоза будет определяться или наличием модуляции, или на уровне NC состоянием флага разрешения Enable в MC_Power, что, впрочем, одно и то же.

Если сервопривод обесточить, то при следующем включении режим тормоза автоматически возвращается к автоматическому. Это поведение по умолчанию. Поэтому еще точнее — его режим после включения определяется значением параметра P-0-0060 в стартап листе. В параметр P-0-0072 транслируются параметры тормоза из мотор-пула двигателей. Значение параметра P-72 можно перезаписать и заменить на другие, но свойства тормоза от этого не изменятся: параметры нужны только для автоматических расчетов внутри программы.

No comments

Post a Comment

Note: Only a member of this blog may post a comment.