Токарный цикл точения канавок

INCT_LatheGroovingCycleFormer - интерфейс SprutCAM, который реализует функциональность по упрощению формирования перемещений токарного цикла точения канавок. Объект, реализующий этот интерфейс, возвращает функция INCT_CLData.CreateLatheCycleFormer, INCT_GeomCLData.CreateLatheCycleFormer при её выполнении с параметром lctGrooving.

images/download/attachments/95428009/Groove.png

Предназначение:

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

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

  2. Врезание на глубину канавки за один проход или в несколько итераций на величину шага резания на рабочей подаче, с отскоком для ломки стружки.

  3. Возврат в стартовую позицию с отводом или без него, с подачей перехода.

  4. Если ширина канавки не достигнута, вернуться к пункту 1.

Примеры таких циклов, Sinumerik: CYCLE93.

Использование формирователя позволяет сформировать траекторию движения инструмента по заданным параметрам: начальная и конечная точки канавки, шаг в ширину канавки, шаг резания, расстояние отвода и пр. А так же добавить в траекторию движения на любом формируемом участке необходимые для конкретного цикла особенности, изменить тип или значение подачи, либо пропустить перемещение инструмента, подготовленное формирователем.

images/download/attachments/95428009/GrooveCycleTraj.png

images/download/attachments/95428009/GrooveCyclePlungeStep.png

Использование формирователя:

Рекомендуем создавать новый формирователь токарного цикла для каждого нового цикла в кадре управляющей программы, кроме случаев повторения работы цикла в новом кадре. Таким образом, интерфейс старого формирователя должен освобождаться при создании нового или в случае завершения работы интерпретатора.

Для формирования команд движения инструмента по траектории цикла, необходимо выполнить следующие шаги:

  1. Получить интерфейс формирователя (INCT_CLData.CreateLatheCycleFormer, INCT_GeomCLData.CreateLatheCycleFormer).

  2. Задать индексы продольной и поперечной осей, по которым будут производиться перемещения (Set_AxisIndexes).

  3. Задать начальную точку канавки (Set_StartPoint).

  4. Задать конечную точку канавки (Set_EndPoint).

  5. Задать направление канавки (Set_GrooveDirection).

  6. Задать шаг смещения в ширину канавки (Set_Step).

  7. Задать расстояние отвода для возврата (Set_SafeDist).

  8. Задать шаг резания в осевом направлении (Set_PlungeStep).

  9. Задать значение отскока для ломки стружки (Set_ReturnDistance).

  10. Назначить обработчик событий цикла (Set_Events), если в траекторию цикла нужно вносить изменения.

  11. Сформировать команды движения инструмента по траектории цикла (MakeWorkpath).


Описание методов интерфейса:

Метод

Описание метода

Set_AxisIndexes

Метод устанавливает индексы продольной и поперечной осей, по которым будут производиться перемещения при формировании траектории цикла.

Входные параметры: Value (TNCLCAxisIndexes) - Transverse (целое число) - индекс поперечной оси, Longitudinal (целое число) - индекс продольной оси.

Выходных параметров нет.

Get_AxisIndexes

Функция возвращает индексы продольной и поперечной осей, в которых будут производиться перемещения при формировании траектории цикла (TNCLCAxisIndexes).

Входных параметров нет.

Set_StartPoint

Метод устанавливает значения координат начальной точки канавки.

Входной параметр: Value (TNC2DPoint) - значение координат начальной точки канавки (Transverse - поперечная, Longitudinal - продольная).

Выходных параметров нет.

Get_StartPoint

Функция возвращает значение координат начальной точки канавки (TNC2DPoint).

Входных параметров нет.

Set_EndPoint

Метод устанавливает значение координат конечной точки канавки.

Входной параметр: Value (TNC2DPoint) - значение координат конечной точки канавки.

Выходных параметров нет.

Get_EndPoint

Функция возвращает значение координат конечной точки канавки (TNC2DPoint).

Входных параметров нет.

Set_GrooveDirection

Метод устанавливает значение направления канавки.

Входной параметр: Value (TNCGrooveDirection) - значение направления канавки.

gdLongitudinal - продольная;
gdFace - торцевая.

Выходных параметров нет.

Get_GrooveDirection

Функция возвращает значение направления канавки (TNCGrooveDirection).

Входных параметров нет.

Set_Step

Метод устанавливает значение шага в ширину канавки в радиальном направлении.

Входной параметр: Value (вещественное число) - значение шага.

Выходных параметров нет.

Get_Step

Функция возвращает значение шага в ширину канавки в радиальном направлении (вещественное число).

Set_SafeDist

Метод устанавливает значение отскока в бок перед выводом инструмента.

Входной параметр: Value (вещественное число) - значение отскока в бок.

Выходных параметров нет.

Get_SafeDist

Функция возвращает значение отскока в бок перед выводом инструмента (вещественное число).

Входных параметров нет.

Set_PlungeStep

Метод устанавливает значение шага при выполнении врезания на глубину канавки.

Входной параметр: Value (вещественное число) - значение шага.

Выходных параметров нет.

Get_PlungeStep

Функция возвращает значение шага при выполнении врезания на глубину канавки (вещественное число).

Входных параметров нет.

Set_ReturnDistance

Метод устанавливает значение отскока вверх для ломки стружки.

Входной параметр: Value (вещественное число) - значение отскока вверх.

Выходных параметров нет.

Get_ReturnDistance

Функция возвращает значение отскока вверх для ломки стружки (вещественное число).

Входных параметров нет.

Set_ReturnDistanceInsidePlungeStep

Метод устанавливает значение признака 'Отскок внутри шага врезания'. Истина - отскок включён в шаг врезания, Ложь - отскок складывается с шагом врезания.

Входной параметр: Value (логическое) - значение признака.

Выходных параметров нет.

images/download/attachments/95428009/GrooveCycleReturnDistanceInsidePlungeStep.png

Get_ReturnDistanceInsidePlungeStep

Функция возвращает значение признака 'Отскок внутри шага врезания'.

Входных параметров нет.

Set_RapidLevel

Метод устанавливает значение уровня ускоренного перемещения.

Входной параметр: Value (вещественное число) - значение уровня ускоренного перемещения.

Выходных параметров нет.

Get_RapidLevel

Функция возвращает значение уровня ускоренного перемещения.

Входных параметров нет.

Set_FullReturnDist

Метод устанавливает расстояние возврата к уровню ускоренного перемещения.

Входной параметр: Value (вещественное число) - расстояние возврата к уровню ускоренного перемещения.

Выходных параметров нет.

Get_FullReturnDist

Функция возвращает расстояние возврата к уровню ускоренного перемещения.

Входных параметров нет.

Set_Feedrate

Метод устанавливает значение рабочей подачи.

Входной параметр: Value (вещественное число) - значение рабочей подачи.

Выходных параметров нет.

Get_Feedrate

Функция возвращает значение рабочей подачи.

Входных параметров нет.

Set_MPM

Метод устанавливает тип рабочей подачи.

Входной параметр: Value (логическое) - тип рабочей подачи. Истина - мм/мин, Ложь - об/мин.

Выходных параметров нет.

Get_MPM

Функция возвращает тип рабочей подачи.

Входных параметров нет.

Set_Events

Метод назначает события для управления поведением цикла. При использовании событий можно добавить в траекторию движения на любом формируемом участке необходимые для конкретного цикла особенности, изменить тип или значение подачи, либо пропустить перемещение инструмента, подготовленное формирователем.

Входной параметр: Value (INCT_LatheCycleEvents) - объект, реализующий события. Подробное описание ниже.

Выходных параметров нет.

Get_Events

Функция возвращает объект, реализующий события, связанный с формирователем цикла (INCT_LatheCycleEvents).

Выходных параметров нет.

MakeWorkpath

Метод формирует траекторию цикла по заданным параметрам.


INCT_LatheCycleEvents - интерфейс, реализуемый в интерпретаторе, который позволяет управлять поведением токарного цикла. Интерфейс представляет из себя набор методов-событий, которые выполняются при перемещении инструмента внутри формирователя траектории цикла. Используя методы интерфейса можно добавить в траекторию движения на любом формируемом участке необходимые для конкретного цикла особенности: выстой, ориентированный останов и прочее, изменить тип подачи, либо пропустить перемещение инструмента, подготовленное формирователем.

Если для формирователя траектории цикла назначены события, то любое перемещение инструмента внутри формирователя состоит из 3-х этапов:

  1. Выполняется метод INCT_LatheCycleEvents.BeforeMove. В качестве параметров методу передаются заданные циклом: тип перемещения, координаты точки перемещения, тип подачи.

  2. Выполняется метод INCT_LatheCycleEvents.OnMove. В качестве параметров методу передаются: тип перемещения, координаты точки перемещения, тип подачи, признак выполнения перемещения. Все параметры, кроме типа перемещения, в реализации метода могут быть изменены. В зависимости от заданного в OnMove признака, производится выполнение перемещения инструмента в заданную точку с указанной подачей, или перемещение не производится.

  3. Выполняется метод INCT_LatheCycleEvents.AfterMove. В качестве параметров методу передаются: тип перемещения, координаты точки перемещения, тип подачи, возвращённые методом OnMove.


Описание методов интерфейса:

Метод

Описание метода

Описание использования

BeforeMove

Метод будет выполнен перед каждым перемещением инструмента при формировании траектории цикла.

Входные параметры: MoveType (TNCLatheCycleMoveType) - тип перемещения, описание см. ниже; Point (TNC2DPoint) - координаты точки перемещения (Transverse - поперечная, Longitudinal - продольная); Feed (TNCFeedType) - тип подачи.

lmMoveToStartPoint - перемещение к стартовой точке точения канавки;
lmMoveToNextGroove - перемещение к следующему шагу точения канавки;
lmMoveToNextLevel - перемещение на очередную глубину врезания канавки;
lmMoveToBottomLevel - перемещение на дно канавки;
lmChipBreaking - ломка стружки;
lmRetractSideways - отскок в бок, перед выводом инструмента;
lmReturnToTopLevel - возврат на начальный уровень;
lmReturnToStartPoint - возврат в начальную точку;
lmCutTheThread - нарезание резьбы (для цикла Токарный цикл резьбонарезания);
lmMoveToRapidLevel - возврат на уровень ускоренного перемещения (вывод инструмента).

Выходных параметров нет.

При необходимости добавления тех или иных команд перед выполнением перемещения, их нужно добавить в реализацию метода.

Например, если есть необходимость включить систему охлаждения станка перед точением канавки, сделать это можно добавив в реализацию метода BeforeMove вызов INCT_CLData.AddCoolant с соответствующими параметрами по условию MoveType = lmMoveToStartPoint.

OnMove

Метод будет выполнен непосредственно перед каждым перемещением инструмента при формировании траектории цикла.

Входные параметры: MoveType (TNCLatheCycleMoveType) - тип перемещения, описание см. выше;

Входные и выходные параметры: Point (TNC2DPoint) - координаты точки перемещения; Feed (TNCFeedType) - тип подачи; Handled (логическое) - признак выполнения перемещения внутри реализации (Истина - перемещение выполнено, Ложь - перемещение не выполнено).

Если после вызова OnMove параметр Handled принимает значение Истина, это значит, что перемещение было выполнено внутри реализации метода OnMove и формирователь цикла не добавляет команду перемещения в траекторию движения инструмента.

Если после вызова OnMove параметр Handled принимает значение Ложь, формирователь считает, что перемещение не было выполнено внутри реализации метода OnMove и добавляет в траекторию движения инструмента команду перемещения в точку Point с типом подачи Feed.

При необходимости переопределения значений точки перемещения или подачи, либо для отказа от перемещения (пропуска).

Например, если нужно изменить тип подачи на ускоренную, при возврате на начальный уровень, после точения канавки, то в реализации метода OnMove необходимо изменить значение возвращаемого методом параметра Feed на ffRapid по условию MoveType = lmReturnToTopLevel (тип подачи описан в этой статье, см. OutStandardFeed).

Если нужно выполнить перемещение инструмента в точку, отличную от рассчитанной циклом, необходимо изменить значение возвращаемого методом OnMove параметра Point.

Если перемещение в рассчитанную циклом точку выполнять не нужно, тогда внутри реализации метода OnMove нужно изменить значение параметра Handled на Истина.

AfterMove

Метод будет выполнен после каждого перемещения инструмента при формировании траектории цикла, даже если перемещение было отменено в OnMove.

Входные параметры: MoveType (TNCLatheCycleMoveType) - тип перемещения, описание см. выше; Point (TNC2DPoint) - координаты точки перемещения; Feed (TNCFeedType) - тип подачи.

Выходных параметров нет.

При необходимости добавления тех или иных команд после выполнения перемещения, их нужно добавить в реализацию метода.

Например, если есть необходимость добавить выстой после высверливания отверстия, сделать это можно добавив в реализацию метода AfterMove вызов INCT_CLData.AddDelay с соответствующими параметрами по условию MoveType = lmMoveToBottomLevel.