Разработка интерпретаторов
  • Разработка интерпретаторов
v3.0.3
Search Results for

    Show / Hide Table of Contents

    Цикл сверления

    INCT_DrillingCycleFormer - интерфейс CAM системы, который реализует функциональность по упрощению формирования перемещений в циклах сверления. Объект, реализующий этот интерфейс возвращает функция INCT_CLData.CreateDrillingCycleFormer, INCT_GeomCLData.CreateDrillingCycleFormer при её выполнении с любым из параметров: dctSimple, dctWithShift, dctPeck.

    DrillingCycleFormer

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

    Перемещения в различных циклах сверления, для разных стоек в общем случае повторяют одну и ту же траекторию (Fanuc: G74, G81, G82, G84, G85, G86, G88, G89; Sinumerik: CYCLE81, CYCLE82, CYCLE85, CYCLE87, CYCLE88, CYCLE89; Heidenhain: CYCL DEF 201, CYCL DEF 206, CYCL DEF 207 и др.):

    1. Позиционирование инструмента над центром отверстия/следующего отверстия на ускоренной подаче.
    2. Перемещение инструмента к уровню ускоренного перемещения на ускоренной подаче.
    3. Перемещение инструмента к уровню дна отверстия на рабочей подаче.
    4. Возврат к уровню ускоренного перемещения на ускоренной подаче.
    5. Возврат к уровню отхода/возврата на ускоренной подаче.
    6. Если количество повторений не закончилось, вернуться к пункту 1.

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

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

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

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

    1. Получить интерфейс формирователя (INCT_CLData.CreateDrillingCycleFormer, INCT_GeomCLData.CreateDrillingCycleFormer).
    2. Задать индексы осей X, Y, Z по которым будут производиться перемещения (Set_AxisIndexes).
    3. Задать текущую плоскость (Set_Plane).
    4. Задать значение точки центра отверстия (Set_HoleCenter).
    5. Задать режим точки центра (Set_HoleCenterMode).
    6. Задать уровень ускоренного перемещения (Set_RapidLevel).
    7. Задать уровень дна отверстия (Set_BottomLevel).
    8. Задать уровень возврата (Set_TopLevel).
    9. Задать подачу (Set_Feedrate), единицы измерения подачи (Set_MPM).
    10. Задать количество повторений работы цикла (Set_Count).
    11. Назначить обработчик событий цикла (Set_Events), если в траекторию цикла нужно вносить изменения.
    12. Сформировать команды движения инструмента по траектории цикла (MakeWorkpath).

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

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

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

    Входные параметры: Value (TNCDCAxisIndexes) - X (целое число) - индекс оси X, Y (целое число) - индекс оси Y, Z (целое число) - индекс оси Z.

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

    Get_AxisIndexes

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

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

    Set_HoleCenter

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

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

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

    Get_HoleCenter

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

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

    Set_HoleCenterMode

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

    Входной параметр: Value (логическое) - режим точки центра. Истина - координаты точки центра отверстия (Set_HoleCenter) заданы в абсолютных значениях. Ложь - координаты точки центра отверстия заданы в относительных значениях от текущего положения инструмента.

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

    Get_HoleCenterMode

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

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

    Set_Plane

    Метод устанавливает текущую плоскость.

    Входной параметр: Value (TNCPlaneType) - текущая плоскость.

    ptXY - плоскость XY, сверление отверстия производится вдоль оси Z.
    ptYZ - плоскость YZ, сверление отверстия производится вдоль оси X.
    ptZX - плоскость ZX, сверление отверстия производится вдоль оси Y.

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

    Get_Plane

    Функция возвращает текущую плоскость (TNCPlaneType).

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

    Set_RapidLevel

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

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

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

    Get_RapidLevel

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

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

    Set_BottomLevel

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

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

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

    Get_BottomLevel

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

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

    Set_TopLevel

    Метод устанавливает уровень отхода/возврата по оси сверления.

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

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

    Get_TopLevel

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

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

    Set_Feedrate

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

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

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

    Get_Feedrate

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

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

    Set_MPM

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

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

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

    Get_MPM

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

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

    Set_Count

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

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

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

    Работа цикла различается в зависимости от режима точки центра отверстия (Set_HoleCenterMode):

    • для количества повторений = 0 будет произведено только позиционирование инструмента над центром отверстия;
    • для количества повторений = 1 будет выполнена одна итерация цикла;
    • для количества повторений > 1 цикл повторится заданное количество раз: если координаты точки центра отверстия заданы в абсолютных значениях - на одном месте; если координаты точки центра отверстия заданы в относительных значениях - на каждой итерации будет производиться сдвиг на значение, заданное в Set_HoleCenter, относительно точки, в которой завершилась предыдущая итерация.
    Get_Count

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

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

    Set_Events

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

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

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

    Get_Events

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

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

    MakeWorkpathМетод формирует траекторию цикла по заданным параметрам.
    Get_NextHoleФункция возвращает рассчитанные для текущей итерации координаты точки текущего отверстия (TNC3DPoint). Значение доступно для использования только внутри событий (Set_Events).
    Get_RapidPointФункция возвращает рассчитанные для текущей итерации координаты точки ускоренного перемещения (TNC3DPoint). Значение доступно для использования только внутри событий (Set_Events).
    Get_TopPointФункция возвращает рассчитанные для текущей итерации координаты точки отхода/возврата (TNC3DPoint). Значение доступно для использования только внутри событий (Set_Events).
    Get_BottomPointФункция возвращает рассчитанные для текущей итерации координаты точки дна отверстия (TNC3DPoint). Значение доступно для использования только внутри событий (Set_Events).

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

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

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

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

    Метод Описание метода Описание использования
    BeforeMove Метод будет выполнен перед каждым перемещением инструмента при формировании траектории цикла.
    Входные параметры: MoveType (TNCDrillingCycleMoveType) - тип перемещения, описание см. ниже; Point (TNC3DPoint) - координаты точки перемещения; Feed (TNCFeedType) - тип подачи.
    mtMoveToNextHole - перемещение к первому или следующему отверстию;
    mtMoveToRapidLevel - перемещение к уровню ускоренного перемещения;
    mtMoveToBottomLevel - перемещение к дну отверстия;
    mtReturnToRapidLevel - возврат к уровню ускоренного перемещения;
    mtReturnToTopLevel - возврат к уровню отхода/возврата;
    mtPeck* - используются при формировании цикла с ломкой стружки.
    Выходных параметров нет.
    При необходимости добавления тех или иных команд перед выполнением перемещения, их нужно добавить в реализацию метода.
    Например, если есть необходимость установить направление вращения шпинделя по часовой стрелке перед высверливанием отверстия, сделать это можно добавив в реализацию метода BeforeMove вызов INCT_CLData.AddSpindleSpeedOnRPM с соответствующими параметрами по условию MoveType = mtMoveToBottomLevel.
    OnMove Метод будет выполнен перед каждым перемещением инструмента при формировании траектории цикла.
    Входные параметры: MoveType (TNCDrillingCycleMoveType) - тип перемещения, описание см. выше;
    Входные и выходные параметры: Point (TNC3DPoint) - координаты точки перемещения; Feed (TNCFeedType) - тип подачи; Handled (логическое) - признак выполнения перемещения внутри реализации (Истина - перемещение выполнено, Ложь - перемещение не выполнено).
    Если после вызова OnMove параметр Handled принимает значение Истина, это значит, что перемещение было выполнено внутри реализации метода OnMove и формирователь цикла не добавляет команду перемещения в траекторию движения инструмента.
    Если после вызова OnMove параметр Handled принимает значение Ложь, формирователь считает, что перемещение не было выполнено внутри реализации метода OnMove и добавляет в траекторию движения инструмента команду перемещения в точку Point с типом подачи Feed.
    При необходимости переопределения значений точки перемещения или подачи, либо для отказа от перемещения (пропуска).
    Например, если нужно изменить тип подачи с ускоренной на рабочую, при возврате после высверливания, то в реализации метода OnMove необходимо изменить значение возвращаемого методом параметра Feed на ffWorking по условию MoveType = mtReturnToRapidLevel (типы подачи см. в описании OutStandardFeed).
    Если нужно выполнить перемещение инструмента в точку, отличную от рассчитанной циклом, необходимо изменить значение возвращаемого методом OnMove параметра Point.
    Если перемещение в рассчитанную циклом точку выполнять не нужно, тогда внутри реализации метода OnMove нужно изменить значение параметра Handled на Истина.
    AfterMove Метод будет выполнен после каждого перемещения инструмента при формировании траектории цикла, даже если перемещение было отменено в OnMove.
    Входные параметры: MoveType (TNCDrillingCycleMoveType) - тип перемещения, описание см. выше; Point (TNC3DPoint) - координаты точки перемещения; Feed (TNCFeedType) - тип подачи.
    Выходных параметров нет.
    При необходимости добавления тех или иных команд после выполнением перемещения, их нужно добавить в реализацию метода.
    Например, если есть необходимость добавить выстой после высверливания отверстия, сделать это можно добавив в реализацию метода AfterMove вызов INCT_CLData.AddDelay с соответствующими параметрами по условию MoveType = mtMoveToBottomLevel.
    In this article