FIFTY LINETurn G-code

На каких стойках ЧПУ работает Turn G-code: 90% стоек и одно исключение

· ~8 мин чтения

Turn G-code создан на базе LinuxCNC, но пишет обычный G-код - язык, который понимает большинство токарных стоек ЧПУ. По нашей оценке, программу можно использовать примерно на 90% стоек, работающих с ISO G-кодом. Но не на всех: есть семейство стоек, для которых она не подходит, и об этом лучше знать до покупки. Разберём, почему код переносимый, что настраивается под вашу стойку и где проходит граница.

Содержание

  1. Почему код Turn G-code переносимый
  2. Что настраивается под стойку
  3. Совместимость по стойкам
  4. Исключение: Fanuc System A, Haas, GSK, KND
  5. Какие стойки работать не будут
  6. Как узнать систему G-кодов своей стойки
  7. Первый запуск на новой стойке
  8. Что проверено на практике

Почему код Turn G-code переносимый

1. Только базовые коды. Мы собрали все коды из 12 настоящих программ на страницах циклов. Вот полный список:

Код Что делает Где встречается
G0, G1 Быстрый ход, рабочая подача Все циклы
G3 (с I/K) Дуга Сфера, фаска/радиус
G32 или G33 Резьбовой ход, синхронный со шпинделем Резьба, конусная резьба, спираль
G21 / G20 Миллиметры / дюймы Стартовая строка
G18, G40, G80 Плоскость XZ, отмена коррекции и циклов Стартовая строка
G90, G94 Абсолютные координаты, подача в мм/мин Стартовая строка
G54-G59 Система координат детали Начало программы
G97, S Постоянные обороты Все циклы
M3, M5, M30 Шпиндель, конец программы Все циклы

Это ядро ISO 6983 / RS-274 - общий язык почти всех стоек.

2. Никаких постоянных циклов. Программа не использует G71, G72, G76, G92 и подобные циклы. Именно циклы у разных стоек записываются по-разному: G76 у LinuxCNC - одна строка со своими буквами, у Fanuc - две строки с другими адресами. Turn G-code расписывает каждый проход явными перемещениями G0/G1/G32/G33, а они везде одинаковые.

3. Постоянные обороты. Программа не использует G96 с ограничением оборотов, которое на каждой стойке задаётся по-своему (D в LinuxCNC, G50 S на Fanuc, LIMS в Siemens).

Что настраивается под стойку

Отличия стоек закрываются переключателями в программе - один раз, для всех 12 циклов:

Отличие стоек Настройка в Turn G-code
X в диаметре или в радиусе Кнопка G7/G8
Стойка не знает кодов G7/G8 (Fanuc, Haas) Галочка «Вывод G7/G8» - выключить, режим G7
Резьба G32 или G33 Кнопка G32/G33
Шаг резьбы буквой K, F или I Выбор буквы шага
СОЖ не M8/M9 Окно «Коды СОЖ» - любые свои M-коды
Стойка не любит комментарии Галочка «Комментарии в программе»
Номер инструмента, M30 в конце Галочки вывода
Расширение файла (.ngc, .nc, .tap…) Поле расширения
Метрика / дюймы Переключатель мм / inch
Система координат G54-G59

Совместимость по стойкам

Стойка Как работает Что настроить
LinuxCNC Сразу, это родная стойка программы Ничего
Tormach PathPilot (на базе LinuxCNC) Синтаксис LinuxCNC Режим G7/G8 под станок
grblHAL в токарном режиме Синтаксис близок к LinuxCNC (G7/G8, G33) Режим G7/G8, резьба G33 K
Fanuc System B / C G90 - абсолютные, G94 - мм/мин, как в LinuxCNC G7, вывод G7/G8 выключить, резьба G33 или G32 с буквой F
Syntec, Siemens (ISO-режим), Mitsubishi и другие стойки с выбором системы кодов Зависит от выбранной системы: B/C - подходит, A - нет Как для Fanuc B/C
Fanuc System A, Haas, GSK, KND Не поддерживается См. ниже
Mazatrol, Heidenhain Klartext Собственные диалоговые языки, не ISO Только в режиме ISO/EIA стойки, если он есть

Исключение: Fanuc System A, Haas, GSK, KND

У стоек Fanuc есть три «системы G-кодов» - A, B и C. Какая из них включена, задаётся параметром станка при пусконаладке, а не программой. На токарных станках самая распространённая - System A. Её же повторяют Haas и китайские GSK и KND.

В System A несколько базовых кодов означают совсем другое:

Код В LinuxCNC и Fanuc B/C В Fanuc System A, Haas, GSK, KND
G90 Абсолютные координаты Цикл продольного точения
G94 Подача в мм/мин Цикл торцовки
G98 - Подача в мм/мин
G99 - Подача в мм/об
Абсолютные / относительные G90 / G91 Буквы X, Z / U, W

Стартовая строка Turn G-code содержит G90 и G94:

G21 G18 G90 G40 G80 G94

Для System A это не «абсолютные координаты и подача в минуту», а коды циклов. Главная опасность - подача. Токарные стойки System A обычно работают в режиме G99 - подача в мм на оборот, и строка

G1 Z-20 F100

написанная как «100 мм/мин», будет прочитана как 100 мм за оборот. При 500 об/мин это 50 000 мм/мин - стойка ограничит скорость максимальной рабочей подачей, и резец войдёт в металл на полной скорости станка. Сломанная пластина, испорченная заготовка, риск для державки, кулачков и оператора.

Поэтому на стойках System A (Fanuc A, Haas, GSK, KND) Turn G-code не поддерживается. Именно эти стойки и составляют те 10%, которые не входят в наши 90%. Если вы опытный наладчик и понимаете разницу систем, программу можно доработать вручную - заменить в стартовой строке G94 на G98 и убрать G90 - но это правка на ваш страх и риск, и мы её не гарантируем.

Какие стойки работать не будут

Не поддерживаются полностью - стойки с системой G-кодов A:

  • Fanuc с включённой System A - это заводская настройка большинства токарных Fanuc (серии 0i-T, 0i-TD, 0i-TF, 18i-T, 21i-T и другие);
  • Haas - все токарные станки (серии ST, DS, TL);
  • GSK - токарные стойки (например, серия 980T);
  • KND - токарные стойки;
  • Syntec, Siemens в ISO-режиме, Mitsubishi и любые другие стойки, если на них выбрана система G-кодов A.

Не подходят по другим причинам:

  • Mazatrol (Mazak) и Heidenhain Klartext - собственные диалоговые языки, не ISO G-код. Turn G-code подойдёт, только если у стойки есть отдельный режим ISO/EIA, и в нём не система A.
  • Siemens SINUMERIK в родном режиме - там метрика задаётся G71 вместо G21, а комментарии пишутся через «;». Нужен переход в ISO-режим стойки.
  • Классический grbl без токарного режима - не знает G7/G8 и синхронного хода G33.

Резьба и спираль не будут работать на станке без энкодера шпинделя - на любой стойке. Циклы резьбы, конусной резьбы и архимедовой спирали используют резьбовой ход G32/G33, которому нужен датчик положения шпинделя. Остальные 9 циклов энкодер не требуют.

Как узнать систему G-кодов своей стойки

  • Откройте список G-кодов в руководстве программиста своего станка. Если G90 там - «цикл продольного точения» (outer diameter cutting cycle), а подача в минуту - G98, это System A.
  • Если G90 - «абсолютные координаты», а G94 - «подача в минуту», это System B или C (или стойка, близкая к LinuxCNC).
  • У Fanuc систему выбирает параметр станка; если сомневаетесь, спросите наладчика или поставщика станка.
  • Haas, GSK, KND на токарных станках по умолчанию работают как System A.

Первый запуск на новой стойке

На любой стойке, кроме LinuxCNC, первую программу из Turn G-code запускают осторожно:

  1. Прочитать код глазами: стартовая строка, буква шага резьбы, M-коды.
  2. Проверить в графике стойки - траектория должна совпадать с 2D-симулятором Turn G-code.
  3. Прогон «по воздуху»: резец отведён, корректор подачи на минимуме, покадровый режим (single block), рука на аварийной кнопке.
  4. Первый проход по металлу - со сниженной подачей.

Это же требует пользовательское соглашение: прогон «по воздуху» обязателен перед первым запуском каждой программы.

Что проверено на практике

Честно о том, на чём основана оценка:

  • LinuxCNC - проверено реальным резом по металлу на станке автора (большинство циклов, статус каждого - на его странице).
  • Остальные стойки - совместимость по синтаксису G-кода: программа выводит только коды, которые эти стойки понимают так же, как LinuxCNC. Если вы запустили Turn G-code на другой стойке, напишите нам на форум - добавим её в таблицу.

Подробнее о кодах - в справочнике G-коды и M-коды для токарного станка, о диаметре и радиусе - в статье G7 и G8, о резьбе на разных стойках - в статье Нарезание резьбы в LinuxCNC.

Скачайте Turn G-code и проверьте на своей стойке - 15 дней бесплатно, без ключа.

← Все статьи