Управление тормозами осей станка <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>