Управление тормозами осей станка <AXESBRAKE>


Команда <AXESBRAKE> предназначена для включения и выключения тормозов осей, если таковые имеются в станке. Чаще всего тормоз используется на токарно-фрезерных станках для включения/выключения тормоза шпинделя (оси C) при переходе от токарной обработки к фрезерной и обратно. При токарной обработке шпиндель осуществляет основное движение на высоких оборотах, а при фрезерной индексной обработке угловое положение шпинделя фиксируется в определенном положении и зажимается при помощи тормоза. Это позволяет увеличить усилия, которые может выдержать шпиндель и уменьшить износ механизмов точного позиционирования шпинделя. Тормоза также часто применяются на поворотных осях фрезерных станков при индексной обработке.

 

Команда:

AXESBRAKE COUNT N, Axis1Pos(n1) State1, Axis2Pos(n2) State2, ...,

                   AxisNPos(nN) StateN

 

Параметры:

Параметр

CLD массив

Описание

N

CLD[1]

Количество управляемых координат станка, присутствующих в данной команде и состояние тормоза для которых переключается.

n1

CLD[2]

Номер оси с именем Axis1Pos в списке управляемых координат.

State1

CLD[3]

Новое состояние тормоза оси с именем Axis1Pos:

ON(71) - включен,

OFF(72) - выключен.

n2

CLD[4]

Номер оси с именем Axis2Pos в списке управляемых координат.

State2

CLD[5]

Новое состояние тормоза оси с именем Axis2Pos:

ON(71) - включен,

OFF(72) - выключен.

nN

CLD[2*N]

Номер оси с именем AxisNPos в списке управляемых координат.

StateN

CLD[2*N+1]

Новое состояние тормоза оси с именем AxisNPos:

ON(71) - включен,

OFF(72) - выключен.

 

Параметры, доступные через оператор Cmd

 

TCLDAxesBrake: ComplexType

Команда переключения состояния тормозов осей.

Axes: Array, Key="AxisID"

Cmd.Ptr["Axes"] - Массив структур типа AxisBrake. Таким образом, одна команда может переключать тормоза сразу нескольких осей.

AxisBrake: ComplexType

Cmd.Ptr["Axes"].Item[Index] или Cmd.Ptr["Axes(<AxisName>)"] - Отдельный элемент массива Axes. Содержит состояние тормоза одной оси станка. Доступ к элементам массива возможен либо по индексу, либо по ключевому полю. Здесь <AxisName> - значение ключевого поля, которое должно совпадать со значением поля AxisID.

AxisID: String

Cmd.Str["Axes(<AxisName>).AxisID"] - Идентификатор управляемой координаты станка,  для которой задается новое состояние тормоза. Определяется схемой станка.

BrakeState: Integer

Cmd.Int["Axes(<AxisName>).BrakeState"] - Новое состояние тормоза оси:

0 (Off) - выключен,

1 (On) - включен.

 

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

Ниже приведены два простых примера программы обработки для данной команды.

 

program AxesBrake

  Index: Integer      ! Счётчик цикла

  AxisNumber: Integer ! Номер оси в списке осей станка

  BrakeState: Integer ! Новое состояние тормоза осей

  Index = 1

  while Index<=CLD[1] do begin

    AxisNumber = CLD[2*Index]

    BrakeState = CLD[2*Index+1]

    case AxisNumber of

      4: begin ! Номер оси AxisAPos(A) в списке осей станка

        if BrakeState=71 then Output "M680" ! Включение тормоза на оси A

                         else Output "M690" ! Выключение тормоза на оси A

      end

      6: begin ! Номер оси AxisCPos(C) в списке осей станка

        if BrakeState=71 then Output "M68" ! Включение тормоза на оси C

                         else Output "M69" ! Выключение тормоза на оси C

      end

    end

    Index = Index + 1

  end

end

 

Еще один пример с использованием оператора Cmd.

 

program AxesBrake

  if Cmd.Ptr["Axes(AxisAPos)"]<>0 then begin ! Ось A присутствует в данной команде

    if Cmd.Int["Axes(AxisAPos).BrakeState"]=1 then Output "M680" ! Включение тормоза на оси A

                                              else Output "M690" ! Выключение тормоза на оси A

  end

  if Cmd.Ptr["Axes(AxisCPos)"]<>0 then begin ! Ось C присутствует в данной команде

    if Cmd.Int["Axes(AxisCPos).BrakeState"]=1 then Output "M68" ! Включение тормоза на оси C

                                              else Output "M69" ! Выключение тормоза на оси C

  end

end

 

 

 

Сопутствующие ссылки:

Описание технологических команд

Заполнение параметров управляемых координат станков

Массив <GMA>