Зачем
Fanuc и Siemens — два самых распространённых языка ЧПУ: 90% синтаксиса у них общий, но именно те 10%, где они расходятся, чаще всего приводят к браку при переходе с одной стойки на другую.
На большинстве заводов стоят оба типа. Немецкий обрабатывающий центр DMG Mori скорее всего идёт с Siemens Sinumerik, японский Mazak или Haas — с Fanuc или его клоном. Если ты понимаешь оба диалекта, ты нужен на любом участке.
Ментальная модель
Это как два диалекта одного языка: 90% одинаково, 10% — именно то, что заставляет тебя потерять деталь при первом запуске на новой стойке. Изучи различия заранее — не в момент аварии.
Fanuc — стандарт de facto
Fanuc (Япония) — самая распространённая стойка в мире, включая Россию. Используется на станках: Haas, Mazak, Doosan, DMG (часть линейки), УЧПУ-аналоги (отечественные стойки часто Fanuc-совместимы).
Язык Fanuc максимально близок к ISO 6983-1 — тому стандарту, на котором основано большинство учебников. Лаконичный синтаксис: минимум лишних символов.
Siemens Sinumerik 840D sl
Siemens Sinumerik (Германия) — широко применяется на немецком и европейском оборудовании: DMG Mori (топовые серии), Hermle, Liebherr, Chiron. В России встречается на автомобильных заводах и в аэрокосмической отрасли.
Sinumerik более «читаемый» для новичка (длинные названия вместо кодов), но требует привыкания к другому синтаксису циклов.
Сравнительная таблица: ключевые отличия
| Элемент | Fanuc 0i | Siemens Sinumerik 840D |
|---|---|---|
| Начало файла | % |
; (или пустая первая строка) |
| Номер программы | O0001 |
Имя файла (например SHAFT_40.mpf) |
| Комментарии | (текст в скобках) |
;текст после точки с запятой |
| Метки блоков | N100 (необязательны) |
N100 (часто обязательны в циклах) |
| Черновое точение | G71 U__ R__ / G71 P__ Q__ |
CYCLE95(„контур", 2, 0.1, 0.1, 0.3, 0.1, 0.05, 1, 0, 1, 0.05, 1) |
| Чистовое точение | G70 P__ Q__ |
Входит в CYCLE95 |
| Нарезание резьбы | G76 P__ Q__ R__ / G76 X__ Z__ P__ Q__ F__ |
CYCLE97(1.5, , -30, , 28.05, 2, 1, 3, 0.3, 0.05, 1, , 57, 3, 1, 1) |
| Глубокое сверление | G83 X__ Y__ Z__ R__ Q__ F__ |
CYCLE83(2, 0, 0, -50, , 8, 8, 1, 0, 1, 0, , 1) |
| Вызов подпрограммы | M98 P9001 |
SHAFT_CYCLE (имя подпрограммы) |
| Возврат из подпрограммы | M99 |
RET |
| Переменные | #100 = 25.0 / #101 = #100 + 5 |
R100 = 25.0 / R101 = R100 + 5 |
| Условный переход | IF [#100 GT 10] GOTO 100 |
IF R100 > 10 GOTOF N100 |
| Коррекция длины (фрезерный) | G43 H01 |
D1 (номер лезвия в описании инструмента) |
| Смещение нуля детали | G54 … G59 |
G54 … G59 (совпадает) |
| Плоскость обработки | G17 (XY), G18 (ZX), G19 (YZ) |
G17, G18, G19 (совпадает) |
| Основные перемещения | G00, G01, G02, G03 |
G00, G01, G02, G03 (совпадает) |
| М-коды шпинделя/СОЖ | M03, M04, M05, M08, M09 |
M03, M04, M05, M08, M09 (совпадает) |
Одна деталь — две программы
Рассмотрим одну простую задачу: выточить на токарном Ø30×40 мм из заготовки Ø36 мм.
Программа на Fanuc:
%
O0023
(ПРИМЕР FANUC - ВАЛ Ø30)
G21 G18 G40 G97
G28 U0. W0.
T0101
G96 S200 M03
M08
G00 X38.0 Z2.0
G71 U2.0 R0.5
G71 P10 Q20 U0.4 W0.1 F0.25
N10 G42 G01 X0. F0.1
G01 Z0.
G01 X30.0 C1.5
G01 Z-40.0 F0.2
G01 X38.0
N20 G40
G70 P10 Q20
M09
G00 X100.0 Z100.0
T0100
G28 U0. W0.
M05
M30
%
Та же деталь на Siemens Sinumerik 840D:
;ПРИМЕР SINUMERIK - ВАЛ Ø30
WORKPIECE_1.MPF
G21 G18 G40 G49 ;безопасный сброс
G28 U0 W0 ;референтная точка
T1 D1 ;инструмент 1, лезвие 1
G96 S200 M03 ;постоянная скорость резания
M08 ;СОЖ
G00 X38 Z2 ;подход
;Черновое точение CYCLE95
;(контур, припуск Z, припуск X, глубина, отступ, подача чернов, подача чистов, направление, плоскость)
CYCLE95("KONTUR_1", 2, 0.1, 0.1, 0.3, 0.5, 0.25, 0.1, 1, 0, 1, 0.05, 1)
M09
G00 X100 Z100 ;отход
G28 U0 W0
M05
M30
;Подпрограмма-контур (вызывается из CYCLE95)
PROC KONTUR_1
G01 X0 F0.1
G01 Z0
G01 X30 CHF=1.5 ;CHF=фаска 1.5 мм (Siemens-синтаксис)
G01 Z-40 F0.2
G01 X38
RET ;возврат (вместо M99)
Важно
На Sinumerik контур для CYCLE95 описывается в отдельной подпрограмме с именем. На Fanuc контур встроен в основную программу между метками P и Q. Это ключевое структурное различие — не перепутай при переносе программ.
Переменные: #100 vs R100
Обе стойки поддерживают переменные для «умных» программ (расчёт координат, счётчики).
Fanuc — Custom Macro B:
#100 = 25.0 (присвоить значение)
#101 = #100 + 5.0 (арифметика)
G01 X#101 (использовать переменную как координату)
IF [#100 GT 30.0] GOTO 200 (условие: если #100 > 30 — прыгнуть на N200)
Siemens — R-параметры:
R100 = 25.0 ;присвоить значение
R101 = R100 + 5 ;арифметика
G01 X=R101 ;в Sinumerik переменная в координатах через =
IF R100 > 30 GOTOF N200 ;условный переход вперёд (GOTOF = forward)
Советы при переходе с одной стойки на другую
Важно
При первом запуске программы на незнакомой стойке: всегда прогони в режиме графической симуляции (если есть), затем в режиме Dry Run (без металла, на малой скорости) с рукой на кнопке аварийного стопа. Не доверяй программе от другой стойки без проверки — особенно в части циклов.
Чек-лист перехода Fanuc → Sinumerik:
- Проверь циклы: G71/G70 → CYCLE95; G83 → CYCLE83; G76 → CYCLE97
- Замени
M99наRETв подпрограммах - Замени
#100наR100в переменных - Замени
(комментарии)на;комментарии - Проверь синтаксис фасок:
C1.5на Fanuc =CHF=1.5на Sinumerik,R(скругление) =RND
Проверь себя
- На Fanuc программа хранится под номером O0055. Как она будет называться на Sinumerik?
- Переменная
#200 = #100 * 2.0на Fanuc — как её записать на Sinumerik? - Почему нельзя перенести программу с G71/G70 на Sinumerik без изменений, даже если остальные команды совпадают?
Документы и ресурсы
У этой статьи пока нет внешних источников.
Войдите, чтобы предложить качественный источникПрактическое задание
У тебя есть следующий фрагмент программы на Fanuc:
O0055
G28 U0. W0.
T0101
G96 S220 M03
M08
G00 X42. Z2.
G71 U2.0 R0.5
G71 P10 Q20 U0.4 W0.1 F0.25
N10 G42 G01 X0. F0.1
G01 Z0.
G01 X38.0 C2.0
G01 Z-50.0 F0.2
G01 X42.0
N20 G40
G70 P10 Q20
M09
G00 X100. Z100.
T0100
G28 U0. W0.
M05
M30
Переведи этот фрагмент на Sinumerik Sinumerik 840D (используй CYCLE95 с подпрограммой-контуром). Не нужно быть идеально точным в параметрах CYCLE95 — важна правильная структура: отдельная подпрограмма контура, RET вместо M99, ;комментарии, CHF вместо C для фасок.
Запиши результат в рабочий журнал и отметь каждое место, где синтаксис изменился.
Отмечайте прогресс — заведите бесплатный аккаунт. Уже есть? Войти.