Разработка постпроцессоров
  • Разработка постпроцессоров
v20.0.1
Search Results for

    Show / Hide Table of Contents

    FEDRAT - Подача

    Отображение команды

    Как команда отображается в списке команд CLData:

    FEDRAT NM nm, K k, MMPM(315) | MMPR(316)
    

    Команда FEDRAT задаёт значение и тип подачи инструмента. Значение подачи сохраняется до следующей команды FEDRAT или команды RAPID.

    CAM-система использует FEDRAT для передачи кода условий обработки.

    Доступ из sppx

    Обработчик: program Fedrat

    Параметр Массив CLD Имя CLD Описание
    nm CLD[1] CLD.NM Значение подачи.
    k CLD[2] CLD.K Тип подачи (рабочая подача, подача подвода, подача отвода, подача перехода, подача врезания и т. д.).
    0 - рабочая,
    2 - подача первого прохода,
    4 - подача подвода,
    8 - подача отвода,
    16 - подача врезания,
    32 - подача чистового прохода
    64 - переход на следующий проход,
    128 - подача возврата,
    256 - подача подхода.
    Для операций электроэрозионной обработки CAM-система использует этот параметр для передачи кода условий обработки.
    MMPM(315)
    MMPR(316)
    CLD[3] CLD.MMPM Единицы измерения подачи: MMPM(315) - мм в минуту, MMPR(316) - мм на оборот

    Пример (из постпроцессора Fanuc (30i)_Mill):

    program Fedrat
      FEED_ = cld[1]   ! заполнение регистра FEED_
      if INTERP_ = 0 then INTERP_ = 1   ! G1
      if cld[3]=315 then GFeed = 94
                    else GFeed = 95
    end
    

    Доступ из .NET

    Обработчики:

    public override void OnMoveVelocity(ICLDMoveVelocityCommand cmd, CLDArray cld)   // общий обработчик скорости (FEDRAT и RAPID)
    public override void OnFeedrate(ICLDFeedrateCommand cmd, CLDArray cld)   // рабочая подача
    

    Наследование: ICLDFeedrateCommand : ICLDMoveVelocityCommand : ICLDCommand.

    Читайте параметры из строго типизированного объекта cmd (рекомендуется); также доступны «сырой» массив cld[i] (те же индексы, что и в sppx) и именованные помощники cmd["..."]. В таблице перечислены члены команды, включая унаследованные от базовых интерфейсов; общие члены ICLDCommand (навигация, CLD, CLDFile, TechOperation, ...) описаны в разделе Модель доступа к CLData.

    Член Тип Описание
    cmd.IsRapid bool Содержит "true", если команда является командой RAPID, иначе - "false".
    cmd.FeedKind CLDFeedKind Вид подачи (рабочая, ускоренная, подвод, возврат, чистовая и т. д.).
    Возможные значения:
    Working (0) - Вид подачи для базовых рабочих перемещений.
    Rapid (1) - Вид подачи для ускоренных перемещений.
    First (2) - Вид подачи для рабочих перемещений на первом (черновом) проходе.
    Engage (4) - Вид подачи для перемещений, входящих в первую точку обработки (резания).
    Retract (8) - Вид подачи для перемещений, покидающих последнюю точку обработки (резания).
    Plunge (16) - Вид подачи для перемещений, вертикально врезающихся в зону обработки.
    Finish (32) - Вид подачи для рабочих перемещений на последнем (чистовом) проходе.
    Next (64) - Вид подачи для коротких связующих перемещений.
    Return (128) - Вид подачи для перемещений, уводящих инструмент от места обработки.
    Approach (256) - Вид подачи для перемещений, приближающих инструмент к месту обработки.
    Rapid5D (512) - Значение вида подачи, зарезервированное для внутреннего использования.
    TransitionOnSafe (1024) - Вид подачи для перемещений, выполняемых в безопасной зоне.
    ApproachFromSafe (2048) - Вид подачи для перемещений из безопасной зоны к месту обработки.
    ReturnToSafe (4096) - Вид подачи для перемещений от места обработки в безопасную зону.
    LongNext (8192) - Вид подачи для длинных связующих перемещений.
    ThreadPitch (16384) - Вид подачи для перемещений при нарезании резьбы.
    Overload (1073741824) - Значение вида подачи, зарезервированное для внутреннего использования.
    cmd.FeedCode int Числовое представление флага "FeedKind", определяющего вид подачи (рабочая, ускоренная, подвод, возврат, чистовая и т. д.). Для проволочной электроэрозионной обработки содержит числовой код строки в таблице условий обработки.
    cmd.FeedUnits CLDFeedUnits Единицы измерения подачи (мм/мин, мм/об и т. д.)
    Возможные значения:
    MPM (0) - Текущие линейные единицы (мм или дюйм) в минуту.
    MPR (1) - Текущие линейные единицы (мм или дюйм) на оборот.
    ConditionCode (2) - Числовой код строки в таблице условий обработки (для проволочной электроэрозионной обработки).
    cmd.FeedValue double Значение подачи.

    Пример - OnMoveVelocity (из постпроцессора Fanuc (30i)_Mill_DN):

    public override void OnMoveVelocity(ICLDMoveVelocityCommand cmd, CLDArray cld)
    {
        if (cmd.IsRapid) {
            nc.GInterp.v = 0;
        } else {
            if (nc.GInterp == 0)
                nc.GInterp.v = 1;
            nc.F.v = cmd.FeedValue;
            if (cmd.FeedUnits==CLDFeedUnits.MPR) 
                nc.GFeed.v = 95;
            else 
                nc.GFeed.v = 94;
            if (IsFirstFeed) 
            {
                nc.F.Show();
                nc.GFeed.Show();
                IsFirstFeed = false;
            } 
        }
    }
    

    Сопутствующие ссылки

    • Модель доступа к CLData
    In this article