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

    Show / Hide Table of Contents

    SYNCAXES - Синхронизация движения осей

    Назначение этой команды - включить или отключить синхронизацию одновременного движения двух осей станка (например, осей вращения левого и правого шпинделей на токарном станке с двумя шпинделями).

    Команда: SYNCAXES ON(71) | OFF(72), FirstAxisID(Axis1), SecondAxisID(Axis2)

    Доступ из sppx

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

    Параметр Массив CLD Описание
    IsOn CLD[1] Новое состояние синхронизации: 71 - синхронизация осей активна. 72 - синхронизация движения осей отключена.

    Параметры, доступные через оператор cmd

    Параметр Тип Описание
    Action Integer Переключатель, задающий состояние синхронизации (включена/отключена): 1 - установить состояние синхронизации как включённое. 0 - установить состояние синхронизации как отключённое.
    Axis1 String Строковый идентификатор первой из двух синхронизируемых осей.
    Axis2 String Строковый идентификатор второй из двух синхронизируемых осей.

    Простой пример программы-обработчика для этой команды:

    program SyncAxes
      Outblock
      a1: String;
      a1 = cmd.Str["Axis1"];
      a2: String;
      a2 = cmd.Str["Axis2"];
      if (a1="AxisCPos") or (a2="AxisCPos") or (a1="AxisC1Pos") or (a2="AxisC1Pos") then begin
        if CLD.IsOn=71 then begin
          GSyncSpeeds = 288; GSyncSpeeds@ = Maxreal;
          Formblock;
          Output Outstr$ + " (Sync spindles rotation)";
          Phase = C2-C; Phase@=MaxReal;
          GSyncPhase = 289; GSyncPhase@=0;
          FormBlock;
          output OutStr$ + " (Sync phase)";
        end else begin
          GsyncSpeeds = 290; GsyncSpeeds@ = Maxreal;
          Formblock;
          Output Outstr$ + " (Cancel spindles sync)";
        end;
      end;
    end
    

    Доступ из .NET

    Обработчик:

    public override void OnSyncAxes(ICLDSyncAxesCommand cmd, CLDArray cld)
    

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

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

    Член Тип Описание
    cmd.IsOn bool Содержит "true", если команда включает режим синхронного движения, иначе - "false".
    cmd.IsOff bool Содержит "true", если команда отключает режим синхронного движения, иначе - "false".
    cmd.FirstAxisID string Текстовый идентификатор первой из осей станка, между которыми выполняется синхронизация.
    cmd.SecondAxisID string Текстовый идентификатор второй из осей станка, между которыми выполняется синхронизация.

    Пример - OnSyncAxes (из постпроцессора Goodway SW):

    public override void OnSyncAxes(ICLDSyncAxesCommand cmd, CLDArray cld)
    {
        if (SameText(CurrentOperation.TypeName, "TSTTakeoverMTM")) return;
    
        base.OnSyncAxes(cmd, cld);
        if (cmd.FirstAxisID.Contains("AxisC1") || cmd.FirstAxisID.Contains("AxisC2")){
            SyncSpindles(cmd.IsOn,false);
        }else
        if (cmd.FirstAxisID.Contains("AxisZ1") || cmd.FirstAxisID.Contains("AxisZ2")){
            SyncZ(cmd.IsOn, false);
        }else{
            Log.Error("Axes can not be syncronized: ("+cmd.FirstAxisID+","+cmd.SecondAxisID+")");      
        }
    }
    

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

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