Перейти к содержимому
MetalGuide
G-код и CAM

Fanuc, Sinumerik и Heidenhain: чем отличаются системы ЧПУ для программиста и оператора

Язык программ, нулевые точки, коррекции, циклы сверления, подпрограммы и наклонная плоскость в Fanuc, Siemens Sinumerik и Heidenhain TNC. Одно и то же сверление на трёх стойках и что проверить при переносе программы.

Редакция MetalGuide6 мин чтенияОбновлено

Три языка: G-код, G-код с расширениями, Klartext

Fanuc программируют классическим G-кодом: кадр состоит из адресов G, M, X, Y, Z, F, S, T. Всё, что сложнее одной операции, делают постоянными циклами и макросами с #-переменными — подробно в статьях про структуру программы и подпрограммы и макропеременные.

Sinumerik читает тот же G-код, но добавляет язык высокого уровня. Циклы — это подпрограммы с именем и списком параметров в скобках, переменные объявляют через DEF REAL, переходы пишут IF … GOTOB. Комментарий отделяют точкой с запятой. Программу в формате другой стойки Sinumerik выполнит только в режиме ISO-диалекта: его включает G291, обратно на язык Siemens переключает G290, а сам режим должен быть настроен при пусконаладке.

Heidenhain — стойка для цеха: оператор пишет программу в диалоге Klartext, и она читается почти как текст. Кадры нумеруются подряд, перемещение — L X+20 Y+20 R0 FMAX, инструмент вызывают TOOL CALL 2 Z S1500. TNC 640 работает и с программами DIN/ISO: они хранятся как файлы .I, а Klartext — как .H.

Нулевые точки и коррекции

Что

Fanuc

Sinumerik

Heidenhain TNC

Нуль детали

G54–G59, дополнительные — G54.1

Настраиваемые смещения G54–G57, G505–G599

Таблица предустановок, выбор PRESET SELECT

Сдвиг нуля в программе

Через систему координат или макрос

TRANS — абсолютный, ATRANS — добавочный фрейм

TRANS DATUM AXIS, таблица нулей, цикл 7

Коррекция на длину

G43 H.. / G49

Номер коррекции D при инструменте T

Из таблицы инструментов при TOOL CALL, дельта DL

Коррекция на радиус

G41/G42 D.., отмена G40

G41/G42, отмена G40

RL/RR в кадре, R0 — без коррекции; дельта DR

Главное отличие для наладчика — где живёт нуль. У Fanuc и Sinumerik оператор записывает координаты в таблицу смещений, а программа выбирает строку кодом G54. У Heidenhain нуль детали — активная строка таблицы предустановок; в программе её можно сменить функцией PRESET SELECT, а для повторяющихся мест на детали есть отдельная таблица нулей. Как устроены системы координат и коррекции, разобрано в статье «Системы координат и коррекции инструмента».

Постоянные циклы: G81, CYCLE81, CYCL DEF 200

Сверление в Fanuc — один модальный кадр G81 X_ Y_ Z_ R_ F_ K_: после него станок сверлит в каждой новой точке, пока цикл не отменят G80. G98 возвращает сверло на исходный уровень, G99 — на плоскость R. Подробно — в статье «Постоянные циклы G81, G83, G84».

В Sinumerik цикл — подпрограмма CYCLE81(RTP, RFP, SDIS, DP, DPR): плоскость отвода, опорная плоскость, безопасное расстояние и глубина — абсолютная DP или относительная DPR. Подачу цикл берёт из вызывающей программы. Чтобы сверлить в каждой точке, цикл вызывают модально: MCALL CYCLE81(…), после этого цикл выполняется после каждого кадра с перемещением, а MCALL без имени его отключает.

В Heidenhain цикл сначала определяют — CYCL DEF 200 DRILLING с Q-параметрами, — а вызывают отдельно: CYCL CALL, M99 в кадре позиционирования или CYCL CALL PAT по заданному шаблону точек. Высоты считаются от поверхности Q203: безопасное расстояние Q200 и вторая безопасная высота Q204.

Одно отверстие — три синтаксиса: уровни цикла сверленияСлева разрез детали с отверстием и четыре уровня цикла сверления: уровень отвода, плоскость начала рабочей подачи, поверхность детали и дно отверстия. До плоскости начала подачи сверло идёт ускоренно (пунктирная стрелка), дальше — на рабочей подаче (сплошная стрелка). Справа таблица: какими адресами каждый уровень задают три системы ЧПУ. Отвод: Fanuc — исходный Z при G98, Sinumerik — RTP, Heidenhain — поверхность Q203 плюс вторая безопасная высота Q204. Начало подачи: Fanuc — R (при G99 сюда же отвод), Sinumerik — RFP плюс SDIS, Heidenhain — Q203 плюс Q200. Поверхность детали: у Fanuc отдельно не задаётся, у Sinumerik — RFP, у Heidenhain — Q203. Дно: Fanuc — абсолютная координата Z, Sinumerik — DP абсолютно или DPR от опорной плоскости, Heidenhain — Q201 со знаком минус от поверхности Q203. Нижняя строка — как вызывают цикл в точке: у Fanuc координаты X Y в кадре цикла, у Sinumerik MCALL и затем X Y, у Heidenhain CYCL CALL или M99 в кадре позиционирования.ОтводНачало подачиПоверхностьДноFanucисходный Z (G98)R (G99 — отвод)не задаётсяZ — абсолютноSinumerikRTPRFP + SDISRFPDP или DPRHeidenhain TNCQ203 + Q204Q203 + Q200Q203Q201 < 0 от Q203Вызов в точкеX Y в кадре циклаMCALL + X YCYCL CALL / M99
Одни и те же уровни цикла сверления и адреса, которыми их задают три стойки. Схема не в масштабе.

Одно отверстие — три программы

Задача: четыре отверстия глубиной 20 мм сверлом 8,5 мм, нуль на верхней плоскости детали, безопасный уровень 50 мм, начало подачи за 2 мм до поверхности. Режимы условные.

Fanuc:

G-код
%
O5001 (SVERLENIE 4 OTV D8.5)
N10 G21 G17 G40 G49 G80 G90 G94
N20 T2 M06 (SVERLO D8.5)
N30 G54 G00 X20. Y20. S1500 M03
N40 G43 H02 Z50. M08
N50 G99 G81 X20. Y20. Z-20. R2. F150
N60 X80.
N70 Y60.
N80 G98 X20.
N90 G80
N100 G00 Z100. M09
N110 M05
N120 M30
%

Sinumerik — комментарии здесь через точку с запятой, скобки заняты параметрами цикла:

G-код
N10 G17 G54 G90 G94
N20 T2 D1 ; SVERLO D8.5
N30 M6
N40 S1500 M3 F150
N50 G0 X0 Y0 Z50 M8
N60 MCALL CYCLE81(50, 0, 2, -20)
N70 X20 Y20
N80 X80
N90 Y60
N100 X20
N110 MCALL
N120 G0 Z100 M9
N130 M30

Heidenhain TNC, Klartext:

0  BEGIN PGM SVERLO MM
1  BLK FORM 0.1 Z X+0 Y+0 Z-30
2  BLK FORM 0.2 X+100 Y+80 Z+0
3  TOOL CALL 2 Z S1500
4  L Z+100 R0 FMAX M3
5  CYCL DEF 200 DRILLING
     Q200=2    ;SET-UP CLEARANCE
     Q201=-20  ;DEPTH
     Q206=150  ;FEED RATE FOR PLNGNG
     Q202=25   ;PLUNGING DEPTH
     Q210=0    ;DWELL TIME AT TOP
     Q203=+0   ;SURFACE COORDINATE
     Q204=50   ;2ND SET-UP CLEARANCE
     Q211=0    ;DWELL TIME AT DEPTH
     Q395=0    ;DEPTH REFERENCE
6  L X+20 Y+20 R0 FMAX
7  CYCL CALL
8  L X+80 FMAX M99
9  L Y+60 FMAX M99
10 L X+20 FMAX M99
11 L Z+100 R0 FMAX M30
12 END PGM SVERLO MM

Шаг Q202 здесь больше глубины, поэтому цикл сверлит за один проход, без отвода для ломки стружки. Позицию отверстия Heidenhain требует задавать с R0 — без коррекции на радиус.

Подпрограммы и наклонная плоскость

Подпрограммы у всех трёх есть, но вызываются по-разному. В Fanuc — M98 P… с возвратом M99. В Sinumerik подпрограмму вызывают по имени, число повторов задают адресом P, возврат — M17 или RET. В Heidenhain внутри программы ставят метку LBL 1, вызывают CALL LBL 1, повторяют участок CALL LBL 1 REP 3, конец подпрограммы — LBL 0, а другую программу вызывают PGM CALL.

Для обработки 3+2 у каждой стойки своя функция наклона: в Fanuc G68.2 X Y Z I J K задаёт наклонную систему координат, G53.1 разворачивает оси станка, G69 отменяет; в Sinumerik — цикл CYCLE800 с записью данных поворотной кинематики; в Heidenhain — PLANE SPATIAL SPA… SPB… SPC… и отмена PLANE RESET (опция 8), на старых программах встречается цикл 19. Подробнее — в статье «Обработка 3+2 и 5-осевая».

Что это значит для постпроцессора и оператора

Одна и та же траектория в CAM на выходе даёт три разных текста. Постпроцессор решает, выводить ли сверление циклом стойки или развернуть его в линейные перемещения, как вызвать инструмент, какой нуль выбрать и чем наклонить плоскость. Поэтому постпроцессор настраивают под связку «станок — стойка», а не под производителя стойки вообще — см. «CAM и постпроцессор».

Оператору важно другое: на Heidenhain программу правят прямо у станка в диалоге, на Fanuc и Sinumerik чаще работают с готовым текстом из CAM. Если в цехе станки с разными стойками, наладчик должен знать, где на каждой хранится нуль, в каких единицах пауза и что считается глубиной — до вершины сверла или до цилиндрической части (в цикле 200 это выбирает Q395).

Как переносить программу на другую стойку

  1. Не копировать текст. Выведите программу заново из CAM постпроцессором под новую стойку. Если CAM-проекта нет — переписывайте вручную по руководству стойки.
  2. Режим ISO — не спасение. Sinumerik в режиме G291 и Heidenhain в формате DIN/ISO читают G-код, но циклы, M-коды станка и смещения у них свои.
  3. Нули и коррекции. Сверьте, какой нуль выбирает программа, есть ли на станке такая строка таблицы и чем задана длина инструмента.
  4. Знаки и относительные величины. Глубины, безопасные расстояния, приращения — у каждой стойки свои правила знаков.
  5. Проверка. Симуляция с моделью станка, затем прогон над деталью с поднятым нулём по Z или с ограничением подачи.

Вопросы и ответы

Можно ли запустить программу Fanuc на Sinumerik?

Только если на станке при пусконаладке настроен режим ISO-диалекта: его включают командой G291, возвращают язык Siemens командой G290. Без этого режима программу переписывают или заново выводят постпроцессором под Sinumerik. Даже в режиме ISO проверьте циклы, M-коды станка и смещения нуля.

Heidenhain понимает G-код?

Да, TNC 640 работает и с программами в формате DIN/ISO — это отдельный тип файлов .I, а программы Klartext хранятся как .H. Но это диалект Heidenhain: циклы в нём свои (например, G200 для сверления), поэтому программа Fanuc без переделки не пойдёт.

Почему в Heidenhain глубину пишут со знаком минус?

В цикле 200 знак глубины Q201 задаёт направление обработки. Если ввести глубину положительной, стойка развернёт расчёт предпозиционирования и поведёт инструмент ускоренно ниже поверхности детали — руководство Heidenhain прямо предупреждает об опасности столкновения.

Нужен ли отдельный постпроцессор под каждую стойку?

Да. Одна и та же траектория из CAM на Fanuc, Sinumerik и Heidenhain превращается в разный текст: другие циклы, нулевые точки, вызов инструмента и наклон плоскости. Постпроцессор настраивают под конкретную связку «станок — стойка» и проверяют на симуляции и пробной детали.

Термины

Источники

  1. FANUC Series 0i-MODEL D / 0i Mate-MODEL D. User's Manual for Machining Center System (B-64304EN-2/01) — G81, G54.1, M98, G43
  2. HEIDENHAIN. TNC 640 User's Manual, Klartext Programming (NC-Software 34059x-11), 01/2021 — структура программы, файлы .H и .I, TRANS DATUM, PRESET SELECT, LBL, PLANE
  3. HEIDENHAIN. TNC 640 User's Manual, Programming of Machining Cycles (NC-Software 34059x-11), 01/2021 — Cycle 200 DRILLING, вызов циклов, Cycle 7 DATUM SHIFT, Cycle 19
  4. Siemens. SINUMERIK 840D sl/840D/840Di sl Cycles. Programming Manual, 01/2008 (6FC5398-3BP20-1BA0) — CYCLE81, MCALL, CYCLE800
  5. Siemens. SINUMERIK 840D sl Programming Manual (Fundamentals), 01/2015 — TRANS, ATRANS; settable work offset G54–G57, G505–G599
  6. Siemens. SINUMERIK 840D sl Programming Manual (Job planning), 12/2019 — Switch language mode (G290, G291)
  7. GibbsCAM Post Wiki — Fanuc G68.2 (G68.2, G53.1, G69)

Читать также

  • G-код и CAM7 мин

    Постоянные циклы сверления и нарезания резьбы: G81, G83, G73, G84, G98/G99

    Как работают постоянные циклы сверления на фрезерных станках с Fanuc-подобными системами ЧПУ: адреса Z, R, Q, P, F, K/L, возврат G98 и G99, сверление с выводом G83 и с ломкой стружки G73, жёсткое нарезание резьбы G84 с M29 и расчёт подачи, пример программы и типичные ошибки.

  • G-код и CAM6 мин

    CAM и постпроцессор: как устроена цепочка от 3D-модели до станка

    Путь от модели до управляющей программы — CAD, CAM, CLDATA, постпроцессор, проверка и станок. Что делает постпроцессор, почему «чужой» пост опасен, как проверяют программу до первой детали, какие CAM-системы есть на рынке и что передать программисту ЧПУ.

  • G-код и CAM7 мин

    Системы координат станка и детали, G54 и коррекции инструмента

    Нуль станка и нуль детали, смещения G54–G59, коррекция на длину G43/G49 и на радиус G41/G42/G40 — как это устроено в Fanuc-подобных системах, чем отличаются Sinumerik и Heidenhain и какие ошибки наладки чаще всего ведут к браку и столкновениям.

  • ЧПУ-фрезеровка6 мин

    Обработка 3+2 и непрерывная 5-осевая: кинематики, наклонная плоскость, TCP

    Чем позиционная обработка 3+2 отличается от непрерывной 5-осевой, какие бывают кинематики станков, как задают наклонную плоскость в Fanuc, Sinumerik и Heidenhain, зачем нужен TCP и где 5 осей окупаются, а где создают риски.