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

    Show / Hide Table of Contents

    LOADTL - Загрузка инструмента

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

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

    LOADTL N n, Tool changed 1, X x, Y y, Z z, D d, M m, K k, L l, P p, A a, R r, H h, RC rc,
           PLANE XY(33)|YZ(37)|XZ(41)|YX(133)|ZY(137)|ZX(141),
           DUR d2, HID hid, NX nx, NY ny, NZ nz, NW nw, RevolverID rid
    

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

    Доступ из sppx

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

    Массив cld читается по индексу или по имени - в sppx по типизированному короткому имени (например, cld.X), в .NET по тому же имени как строковому ключу (например, cld["X"]).

    Параметр Массив CLD Имя CLD Описание
    n CLD[1] CLD.N Номер инструмента
    x
    y
    z
    CLD[2]
    CLD[3]
    CLD[4]
    CLD.X
    CLD.Y
    CLD.Z
    Смещение инструмента по осям X, Y, Z относительно точки закрепления инструмента (система координат фланца).
    d CLD[5] CLD.D Диаметр инструмента.
    m CLD[6] CLD.M Номер корректора на длину. Если настроечная точка - кончик инструмента, то M < 0.
    k CLD[7] CLD.K Номер корректора на радиус. Если настроечная точка - кончик инструмента, то K < 0.
    L CLD[8] CLD.L Длина инструмента.
    P CLD[9] CLD.P Ширина инструмента.
    a CLD[10] CLD.A Угол врезания инструмента (при внешней выборке 180<a<0, при внутренней выборке 0<a<90).
    r CLD[11] CLD.R Радиус скругления.
    h CLD[12] CLD.H Высота инструмента.
    rc CLD[13] CLD.Rc Радиус цилиндрической части осевого инструмента.
    XY(33)
    YZ(37)
    XZ(41)
    YX(133)
    ZY(137)
    ZX(141)
    CLD[14] Плоскость инструмента. Плоскость, перпендикулярная оси инструмента для осевого инструмента. Плоскость обработки для токарного инструмента. 33 - XY, 37 - YZ, 41 - XZ, 133 - YX, 137 - ZY, 141 - ZX.
    CLD[15]
    CLD[16]
    Зарезервировано.
    d2 CLD[17] CLD.Dur Стойкость инструмента (в минутах). 0 - не учитывается.
    HID CLD[18] CLD.HID Идентификатор (номер) держателя инструмента
    nx
    ny
    nz
    nw
    CLD[19]
    CLD[20]
    CLD[21]
    CLD[22]
    CLD.NX
    CLD.NY
    CLD.NZ
    CLD.NW
    Значения, определяющие ориентацию инструмента относительно точки закрепления (системы координат фланца). В зависимости от настроек системы (задаются в схеме станка) это могут быть либо углы поворота вокруг осей координат X, Y и Z в градусах (углы Эйлера A = NX, B = NY, C = NZ), либо коэффициенты кватерниона q = (NX, NY, NZ, NW).

    Доступ по имени параметра (помощники)

    Параметры, доступные через оператор cmd (одинаково в sppx и .NET):

    TCLDLoadTool: ComplexType Команда загрузки инструмента
    ToolChanged: bool (integer) cmd.Int["ToolChanged"] - ToolChanged - это флаг, определяющий, производится ли в данном месте смена инструмента относительно предыдущей операции. Если он равен 1 (true), это означает, что инструмент в этой операции отличается от инструмента предыдущей операции. Если флаг равен 0 (false), это означает, что инструменты в текущей и предыдущей операциях одинаковы и смены инструмента нет. От этого флага зависит опция «Пропускать LoadTL, если нет смены инструмента» в окне настроек, и постпроцессор может пропускать вызов процедуры LoadTL.
    ToolID: Integer cmd.Int["ToolID"] - Идентификатор (номер) инструмента
    RadCorrNum: Integer cmd.Int["RadCorrNum"] - Номер корректора на радиус
    LenCorrNum: Integer cmd.Int["LenCorrNum"] - Номер корректора на длину
    HolderID: Integer cmd.Int["HolderID"] - Идентификатор (номер) держателя инструмента
    RevolverID: String cmd.Str["RevolverID"] - Строковый идентификатор револьверной головки

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

    program LoadTl
      OutBlock
    
      H = abs(cld[6]); H@ = H
      
      GFunc = 53; GFunc@ = MaxReal
      Z = 0; Z@ = MaxReal
      OutBlock
      GFunc = 53; GFunc@ = MaxReal
      X = 0; X@ = MaxReal
      Y = 0; Y@ = MaxReal
      OutBlock
      
      M = 06; M@ = M-1
      Tool = cld[1]; Tool@ = MaxReal    ! заполнение регистра Tool
      FormBlock
      if NextCode=CodeOfCmd("Comment") then begin
        s$ = CLDFile[CLDFile.CurrentFile].Cmd[CLDFile.CurrentCmd+1].Data
        call TransStr(s$)
        OutStr$ = OutStr$ + " (" + s$ + ")"
      end
      Output OutStr$
      WasLoadTool = 1
    
      CoordSys = WCSNumber
      CoordSys@ = MaxReal
      OutBlock
    
      X = MaxReal; X@ = X
      Y = MaxReal; Y@ = Y
      Z = MaxReal; Z@ = Z
    !  A = MaxReal; A@ = A
    !  B = MaxReal; B@ = B
    !  C = MaxReal; C@ = C
    end
    

    Доступ из .NET

    Обработчик:

    public override void OnLoadTool(ICLDLoadToolCommand cmd, CLDArray cld)
    

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

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

    Свойство Тип Описание
    cmd.ToolChanged bool True, если инструмент изменился по сравнению с предыдущей операцией; false, если операция использует тот же инструмент.
    cmd.Number int Номер инструмента.
    cmd.LCorNum int Первый номер корректора (на длину) инструмента.
    cmd.RCorNum int Второй номер корректора (на радиус) инструмента.
    cmd.ConnectorIndex int Индекс коннектора инструмента в схеме станка.
    cmd.RevolverID string Идентификатор револьверной головки для станков с револьверной головкой; идентификатор коннектора инструмента для других типов станков.
    cmd.Overhang TInpLocation Вылет кончика инструмента (X, Y, Z + углы ориентации) относительно шпинделя; тип ориентации зависит от схемы станка (углы Эйлера, вектор нормали или кватернион).
    cmd.Plane CLDPlaneType Плоскость ориентации инструмента.
    cmd.Durability double Стойкость инструмента в минутах.
    cmd.Geom IToolGeometry Основные геометрические параметры инструмента: D (диаметр резания), R (радиус скругления вершины), Rc (радиус скругления у цилиндрической части), L (длина), P (ширина), A (угол), H (высота фасонной части).

    Пример (из постпроцессора Sinumerik 840D mill):

    public override void OnLoadTool(ICLDLoadToolCommand cmd, CLDArray cld)
    {
        nc.Tool.Show(cmd.Number);
        nc.DTool.Reset(Abs(cmd.LCorNum));
        nc.OutText("M6");
    }
    

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

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