Heidenhain TNC: программирование для тех, кто знает Fanuc
Стойки Heidenhain стоят на многих фрезерных и многоосевых станках DMG MORI, Hermle, Chiron и других. Основной язык — диалог открытого текста Klartext: вместо G-кодов — понятные команды L (прямая), C (дуга), CYCL DEF (цикл). Логика обработки та же, что у Fanuc, отличается запись.
Структура программы
BEGIN PGM ИМЯ MMиEND PGM ИМЯ MM— начало и конец, единицы — мм.BLK FORM— заготовка для графической проверки: две противоположные точки параллелепипеда.TOOL CALL 1 Z S3200 F400— вызов инструмента 1 по оси Z с оборотами и подачей. Длина и радиус берутся из таблицы инструментов автоматически — аналога G43 H писать не нужно.- Каждый кадр нумеруется, комментарий — после точки с запятой.
Перемещения
| Klartext | Что делает | Fanuc |
|---|---|---|
L X+10 Y+20 R0 FMAX | Ускоренное перемещение без коррекции | G00 X10 Y20 |
L X+50 F400 | Прямая на рабочей подаче | G01 X50 F400 |
L IX+10 | Приращение (буква I перед адресом) | G91 X10 |
CC X+50 Y+35 + C X+60 Y+35 DR- | Дуга вокруг центра CC по часовой (DR-) или против (DR+) | G02/G03 … I J |
CR X+18 Y+60 R+8 DR- | Дуга заданным радиусом | G02 X18 Y60 R8 |
RND R5 | Скругление угла между двумя кадрами | нет — дуга считается вручную (или ,R у новых Fanuc) |
CHF 2 | Фаска между двумя кадрами | нет — считается вручную (или ,C) |
RL / RR / R0 | Коррекция на радиус слева / справа / отмена | G41 / G42 / G40 |
APPR, DEP | Готовые функции плавного подхода и отвода к контуру | нет — подход пишется вручную |
Знак координаты пишется всегда: X+10, Z-5. Ноль детали задаётся в таблице предустановок (preset) или в программе — CYCL DEF 7 / TRANS DATUM.
Циклы обработки
| Цикл | Назначение | Fanuc |
|---|---|---|
| 200 | Сверление | G81, G83 |
| 201 | Развёртывание | G85 |
| 202 | Растачивание | G76, G86 |
| 203 | Универсальное сверление (с уменьшением глубины) | G83 |
| 205 | Универсальное глубокое сверление | G83 |
| 206 | Нарезание резьбы в плавающем патроне | G84 |
| 207 | Жёсткое нарезание резьбы | M29 + G84 |
| 208 | Фрезерование отверстия по спирали | — |
| 220 / 221 | Позиции отверстий по окружности / по сетке | — (параметрическая программа) |
| 232 | Торцевое фрезерование | — |
| 251 / 252 | Прямоугольный / круглый карман | — |
| 253 / 254 | Паз / круговой паз | — |
| 256 / 257 | Прямоугольная / круглая цапфа | — |
Цикл описывается кадром CYCL DEF с Q-параметрами, а выполняется в каждой точке кадром с M99 или командой CYCL CALL — это похоже на модальный вызов MCALL у Siemens.
Пример: контур и отверстия
Та же деталь, что в примере контура с коррекцией G41: бобышка 80×50 с радиусами R8 и четыре отверстия Ø6,8. Скругления углов сделаны командой RND — не нужно считать точки дуг.
0 BEGIN PGM PLITA MM 1 BLK FORM 0.1 Z X+0 Y+0 Z-20 2 BLK FORM 0.2 X+100 Y+70 Z+0 3 TOOL CALL 1 Z S3200 F400 ; ФРЕЗА D10 4 L Z+100 R0 FMAX M3 5 L X-10 Y-10 R0 FMAX 6 L Z+2 R0 FMAX M8 7 L Z-5 R0 F300 8 L X+10 Y+0 RL F400 ; КОРРЕКЦИЯ СЛЕВА 9 L Y+60 10 RND R8 11 L X+90 12 RND R8 13 L Y+10 14 RND R8 15 L X+10 16 RND R8 17 L Y+30 18 L X-10 R0 19 L Z+100 R0 FMAX 20 TOOL CALL 5 Z S1200 F150 ; СВЕРЛО 6,8 21 CYCL DEF 200 СВЕРЛЕНИЕ Q200=2 ;БЕЗОПАСНОЕ РАССТОЯНИЕ Q201=-18 ;ГЛУБИНА Q206=150 ;ПОДАЧА ВРЕЗАНИЯ Q202=4 ;ГЛУБИНА ЗА ПРОХОД Q210=0 ;ВЫДЕРЖКА ВВЕРХУ Q203=+0 ;КООРДИНАТА ПОВЕРХНОСТИ Q204=50 ;2-Е БЕЗОПАСНОЕ РАССТОЯНИЕ Q211=0 ;ВЫДЕРЖКА ВНИЗУ 22 L X+20 Y+20 R0 FMAX M99 23 L X+80 R0 FMAX M99 24 L Y+50 R0 FMAX M99 25 L X+20 R0 FMAX M99 26 L Z+100 R0 FMAX M30 27 END PGM PLITA MM
Подпрограммы и параметры
LBL 1…LBL 0— подпрограмма внутри программы, вызовCALL LBL 1 REP 3(повторить ещё три раза).CALL PGM ИМЯ— вызов другой программы.- Q-параметры — аналог переменных # у Fanuc:
FN 0: Q1 = +5, арифметикаFN 1–FN 4, условные переходыFN 9–FN 12. На новых стойках — формулыQ1 = Q2 * 2.
DIN/ISO на Heidenhain
Большинство стоек TNC умеют выполнять и программы в G-кодах DIN/ISO. Но циклы в них всё равно вызываются в формате Heidenhain (G200, G251 с Q-параметрами), поэтому программа Fanuc без правки не пойдёт.
Набор циклов и функций зависит от модели стойки и опций. Сверяйтесь с руководством пользователя для вашей версии ПО.