Токарный цикл точения канавок
INCT_LatheGroovingCycleFormer - интерфейс SprutCAM, который реализует функциональность по упрощению формирования перемещений токарного цикла точения канавок. Объект, реализующий этот интерфейс, возвращает функция INCT_CLData.CreateLatheCycleFormer, INCT_GeomCLData.CreateLatheCycleFormer при её выполнении с параметром lctGrooving.
Предназначение:
Выполнение перемещений в различных типах токарных циклов точения канавок, для разных стоек в общем случае повторяют одинаковую траекторию:
Подвод инструмента к стартовой или следующей точке врезания на ускоренной подаче.
Врезание на глубину канавки за один проход или в несколько итераций на величину шага резания на рабочей подаче, с отскоком для ломки стружки.
Возврат в стартовую позицию с отводом или без него, с подачей перехода.
Если ширина канавки не достигнута, вернуться к пункту 1.
Примеры таких циклов, Sinumerik: CYCLE93.
Использование формирователя позволяет сформировать траекторию движения инструмента по заданным параметрам: начальная и конечная точки канавки, шаг в ширину канавки, шаг резания, расстояние отвода и пр. А так же добавить в траекторию движения на любом формируемом участке необходимые для конкретного цикла особенности, изменить тип или значение подачи, либо пропустить перемещение инструмента, подготовленное формирователем.
Использование формирователя:
Рекомендуем создавать новый формирователь токарного цикла для каждого нового цикла в кадре управляющей программы, кроме случаев повторения работы цикла в новом кадре. Таким образом, интерфейс старого формирователя должен освобождаться при создании нового или в случае завершения работы интерпретатора.
Для формирования команд движения инструмента по траектории цикла, необходимо выполнить следующие шаги:
Получить интерфейс формирователя (INCT_CLData.CreateLatheCycleFormer, INCT_GeomCLData.CreateLatheCycleFormer).
Задать индексы продольной и поперечной осей, по которым будут производиться перемещения (Set_AxisIndexes).
Задать начальную точку канавки (Set_StartPoint).
Задать конечную точку канавки (Set_EndPoint).
Задать направление канавки (Set_GrooveDirection).
Задать шаг смещения в ширину канавки (Set_Step).
Задать расстояние отвода для возврата (Set_SafeDist).
Задать шаг резания в осевом направлении (Set_PlungeStep).
Задать значение отскока для ломки стружки (Set_ReturnDistance).
Назначить обработчик событий цикла (Set_Events), если в траекторию цикла нужно вносить изменения.
Сформировать команды движения инструмента по траектории цикла (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 - продольная; Выходных параметров нет. |
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 (логическое) - значение признака. Выходных параметров нет.
|
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-х этапов:
Выполняется метод INCT_LatheCycleEvents.BeforeMove. В качестве параметров методу передаются заданные циклом: тип перемещения, координаты точки перемещения, тип подачи.
Выполняется метод INCT_LatheCycleEvents.OnMove. В качестве параметров методу передаются: тип перемещения, координаты точки перемещения, тип подачи, признак выполнения перемещения. Все параметры, кроме типа перемещения, в реализации метода могут быть изменены. В зависимости от заданного в OnMove признака, производится выполнение перемещения инструмента в заданную точку с указанной подачей, или перемещение не производится.
Выполняется метод INCT_LatheCycleEvents.AfterMove. В качестве параметров методу передаются: тип перемещения, координаты точки перемещения, тип подачи, возвращённые методом OnMove.
Описание методов интерфейса:
Метод |
Описание метода |
Описание использования |
BeforeMove |
Метод будет выполнен перед каждым перемещением инструмента при формировании траектории цикла. Входные параметры: MoveType (TNCLatheCycleMoveType) - тип перемещения, описание см. ниже; Point (TNC2DPoint) - координаты точки перемещения (Transverse - поперечная, Longitudinal - продольная); Feed (TNCFeedType) - тип подачи. lmMoveToStartPoint - перемещение к стартовой точке точения канавки; Выходных параметров нет. |
При необходимости добавления тех или иных команд перед выполнением перемещения, их нужно добавить в реализацию метода. Например, если есть необходимость включить систему охлаждения станка перед точением канавки, сделать это можно добавив в реализацию метода 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. |