На каких стойках ЧПУ работает Turn G-code: 90% стоек и одно исключение
· ~8 мин чтения
Turn G-code создан на базе LinuxCNC, но пишет обычный G-код - язык, который понимает большинство токарных стоек ЧПУ. По нашей оценке, программу можно использовать примерно на 90% стоек, работающих с ISO G-кодом. Но не на всех: есть семейство стоек, для которых она не подходит, и об этом лучше знать до покупки. Разберём, почему код переносимый, что настраивается под вашу стойку и где проходит граница.
Содержание
- Почему код Turn G-code переносимый
- Что настраивается под стойку
- Совместимость по стойкам
- Исключение: Fanuc System A, Haas, GSK, KND
- Какие стойки работать не будут
- Как узнать систему G-кодов своей стойки
- Первый запуск на новой стойке
- Что проверено на практике
Почему код 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 запускают осторожно:
- Прочитать код глазами: стартовая строка, буква шага резьбы, M-коды.
- Проверить в графике стойки - траектория должна совпадать с 2D-симулятором Turn G-code.
- Прогон «по воздуху»: резец отведён, корректор подачи на минимуме, покадровый режим (single block), рука на аварийной кнопке.
- Первый проход по металлу - со сниженной подачей.
Это же требует пользовательское соглашение: прогон «по воздуху» обязателен перед первым запуском каждой программы.
Что проверено на практике
Честно о том, на чём основана оценка:
- LinuxCNC - проверено реальным резом по металлу на станке автора (большинство циклов, статус каждого - на его странице).
- Остальные стойки - совместимость по синтаксису G-кода: программа выводит только коды, которые эти стойки понимают так же, как LinuxCNC. Если вы запустили Turn G-code на другой стойке, напишите нам на форум - добавим её в таблицу.
Подробнее о кодах - в справочнике G-коды и M-коды для токарного станка, о диаметре и радиусе - в статье G7 и G8, о резьбе на разных стойках - в статье Нарезание резьбы в LinuxCNC.
Скачайте Turn G-code и проверьте на своей стойке - 15 дней бесплатно, без ключа.
