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 | Таблица предустановок, выбор |
Сдвиг нуля в программе | Через систему координат или макрос | | |
Коррекция на длину | G43 H.. / G49 | Номер коррекции D при инструменте T | Из таблицы инструментов при |
Коррекция на радиус | 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.
Одно отверстие — три программы
Задача: четыре отверстия глубиной 20 мм сверлом 8,5 мм, нуль на верхней плоскости детали, безопасный уровень 50 мм, начало подачи за 2 мм до поверхности. Режимы условные.
Fanuc:
%
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 — комментарии здесь через точку с запятой, скобки заняты параметрами цикла:
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 M30Heidenhain 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).
Как переносить программу на другую стойку
- Не копировать текст. Выведите программу заново из CAM постпроцессором под новую стойку. Если CAM-проекта нет — переписывайте вручную по руководству стойки.
- Режим ISO — не спасение. Sinumerik в режиме
G291и Heidenhain в формате DIN/ISO читают G-код, но циклы, M-коды станка и смещения у них свои. - Нули и коррекции. Сверьте, какой нуль выбирает программа, есть ли на станке такая строка таблицы и чем задана длина инструмента.
- Знаки и относительные величины. Глубины, безопасные расстояния, приращения — у каждой стойки свои правила знаков.
- Проверка. Симуляция с моделью станка, затем прогон над деталью с поднятым нулём по 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 превращается в разный текст: другие циклы, нулевые точки, вызов инструмента и наклон плоскости. Постпроцессор настраивают под конкретную связку «станок — стойка» и проверяют на симуляции и пробной детали.
Термины
Источники
- 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
- HEIDENHAIN. TNC 640 User's Manual, Klartext Programming (NC-Software 34059x-11), 01/2021 — структура программы, файлы .H и .I, TRANS DATUM, PRESET SELECT, LBL, PLANE
- 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
- Siemens. SINUMERIK 840D sl/840D/840Di sl Cycles. Programming Manual, 01/2008 (6FC5398-3BP20-1BA0) — CYCLE81, MCALL, CYCLE800
- Siemens. SINUMERIK 840D sl Programming Manual (Fundamentals), 01/2015 — TRANS, ATRANS; settable work offset G54–G57, G505–G599
- Siemens. SINUMERIK 840D sl Programming Manual (Job planning), 12/2019 — Switch language mode (G290, G291)
- 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 осей окупаются, а где создают риски.