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

    Show / Hide Table of Contents

    RAPID - Ускоренная подача

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

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

    RAPID N n
    

    Команда RAPID активирует режим ускоренного перемещения (G-код G00). Все последующие перемещения выполняются в ускоренном режиме до получения команды изменения подачи FEDRAT.

    Доступ из sppx

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

    Параметр Массив CLD Имя CLD Описание
    n CLD[1] CLD.N Значение ускоренной подачи

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

    program Rapid
      if IsRotaryInterpolation>0 then begin
        INTERP_ = 1
        Feed_ = 5000
        GFeed = 94
      end else begin
        if INTERP_ > 0 then INTERP_ = 0    ! G0
      end
      RapFr=cld[1]
    end
    

    Доступ из .NET

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

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

    Наследование: ICLDRapidCommand : 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