Управление тормозами осей станка <AXESBRAKE>
Команда <AXESBRAKE> предназначена для включения и выключения тормозов осей, если таковые имеются в станке. Чаще всего тормоз используется на токарно-фрезерных станках для включения/выключения тормоза шпинделя (оси C) при переходе от токарной обработки к фрезерной и обратно. При токарной обработке шпиндель осуществляет основное движение на высоких оборотах, а при фрезерной индексной обработке угловое положение шпинделя фиксируется в определенном положении и зажимается при помощи тормоза. Это позволяет увеличить усилия, которые может выдержать шпиндель и уменьшить износ механизмов точного позиционирования шпинделя. Тормоза также часто применяются на поворотных осях фрезерных станков при индексной обработке.
Команда:
AXESBRAKE COUNT N, Axis1Pos(n1) State1, Axis2Pos(n2) State2, ...,
AxisNPos(nN) StateN
Параметры:
Параметр |
Описание |
|
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
Сопутствующие ссылки: