Диалоговое программирование токарного станка с ЧПУ: что это и как его получить на LinuxCNC
· ~9 мин чтения
Диалоговое программирование (англ. conversational programming) - способ получить управляющую программу без ручного G-кода и без CAM-системы. Оператор выбирает операцию - точение, резьбу, канавку, сверление - и заполняет поля с размерами и режимами. Остальное считает система: проходы, подходы, отводы, финишный проход. На производстве так работают десятки тысяч станков. В этой статье разберём, как устроено диалоговое программирование, что оно умеет, где его границы и как получить то же самое на станке с LinuxCNC, где своего диалогового режима нет.
Содержание
- Что такое диалоговое программирование
- Диалоговые системы промышленных стоек
- Как выглядит работа в диалоге
- Возможности диалогового программирования
- Ограничения
- Вручную, диалог или CAM
- Диалоговое программирование и LinuxCNC
- Turn G-code - диалог для LinuxCNC
- Пример: резьба M20×1,5 за пару минут
- Если вы привыкли к ShopTurn или Mazatrol
Что такое диалоговое программирование
У станка с ЧПУ есть три пути к управляющей программе:
- Написать G-код вручную. Полный контроль, но нужно знать коды своей стойки, считать каждый проход и не ошибиться в цифрах.
- Построить траекторию в CAM. Нужна модель детали, настройка заготовки и инструмента, а потом - постпроцессор под конкретную стойку. Подробнее - в обзоре CAM-систем для токарного станка.
- Заполнить диалог. Система задаёт вопросы на языке токаря: какой диаметр заготовки, до какого диаметра точим, на какую длину, какой съём за проход, какая подача. Ответы - это и есть программа.
Диалог стоит между ручным кодом и CAM. Модель детали не нужна, размеры берутся прямо с чертежа. G-код знать не обязательно, но технологию - режимы резания, припуски, порядок операций - знать нужно: диалог считает траекторию, а решения по-прежнему принимает токарь.
Диалоговые системы промышленных стоек
Идея не новая. Mazak выпустил Mazatrol ещё в начале 1980-х, и с тех пор диалоговый режим есть почти у каждого крупного производителя стоек:
- Siemens SINUMERIK ShopTurn - токарный диалог стоек 828D и 840D sl. Программа выглядит как рабочий план: список шагов «торцовка -> черновое точение по контуру -> канавка -> резьба», каждый шаг - экран с картинкой и полями. Для фрезерных станков есть брат-близнец ShopMill.
- Fanuc MANUAL GUIDE i - диалог для стоек Fanuc. Под капотом использует стандартные циклы Fanuc G70-G76, поэтому программа остаётся читаемым G-кодом.
- Mazak Mazatrol - собственный язык станков Mazak. Вместо G-кода - таблицы «единиц обработки»: заготовка, точение, резьба, инструменты.
- Haas IPS (Intuitive Programming System) - шаблоны простых операций на стойке Haas.
- Heidenhain MANUALplus и CNC PILOT (режим smart.Turn) - токарные стойки Heidenhain с программированием по циклам.
- Fagor - модели стоек с диалоговым режимом (серия «TC» для токарных станков).
- Okuma - диалоговое программирование на стойках OSP.
У всех один принцип: картинка операции, поля с размерами, графическая проверка, затем станок выполняет. Различаются они глубиной (простые шаблоны или полный контур с дугами), набором циклов и тем, во что превращается диалог: в обычный G-код (Manual Guide i) или в собственный формат, который читает только эта стойка (Mazatrol).
Как выглядит работа в диалоге
Типичный порядок у станка:
- Выбор операции. Точение, торцовка, канавка, резьба, сверление, отрезка.
- Геометрия. Начальный и конечный диаметр, длина, координаты начала, для резьбы - шаг и число заходов. Поля подписаны на картинке, поэтому не надо помнить, где у этой стойки «U», а где «W».
- Технология. Глубина за проход, припуск на чистовую, подачи черновой и чистовой, обороты или скорость резания, СОЖ.
- Проверка. Графика показывает траекторию резца по заготовке. Ошибка в диаметре видна на экране, а не по сломанной пластине.
- Выполнение или сохранение. Стойка выполняет шаг сразу или сохраняет программу, чтобы вернуться к ней позже.
Через неделю нужна такая же деталь, но длиннее? Открываете ту же форму, меняете одно число - программа пересчитана.
Возможности диалогового программирования
Скорость. Типовая операция - вал со ступенями, резьба, канавка - программируется за минуты, прямо у станка, без компьютера с CAM и без передачи файлов.
Меньше ошибок. Система сама считает проходы, подходы и отводы. Нет опечаток в координатах, пропущенных знаков минус и забытого отвода перед ускоренным ходом.
Не нужна модель. Для типовых деталей мастерской - валов, втулок, пальцев, штуцеров - чертёж на бумаге или эскиз с размерами проще и быстрее любой 3D-модели.
Технология внутри. Черновые проходы до припуска, затем чистовой, отдельные подачи, правильный цикл резьбы с распределением глубины по проходам. То, что в ручном коде пишется десятками строк, в диалоге - несколько полей.
Наглядная проверка. Симуляция траектории до запуска - главный страховочный трос. Её видит и опытный наладчик, и оператор, который G-код не читает.
Быстрое обучение. Токарь, который знает свою операцию, осваивает диалог за часы, а не за недели курсов по CAM или G-коду.
Простая правка. Поменять диаметр, шаг или подачу - значит поменять одно поле, а не искать и пересчитывать строки в тексте программы.
Ограничения
Честно о границах диалога:
- Привязка к стойке. ShopTurn есть только на Siemens, Mazatrol - только на Mazak. Программа, сделанная в диалоге одной стойки, на другую часто не переносится.
- Сложные контуры. Деталь из множества сопряжённых дуг, фасонный профиль, гравировка - проще и надёжнее сделать в CAM.
- Токарно-фрезерные центры. Приводной инструмент, ось C и Y, противошпиндель, станки продольного точения - это территория CAM.
- Технологию никто не отменял. Диалог посчитает проходы, но режимы резания, выбор инструмента и базирование детали - на токаре.
Вручную, диалог или CAM
| G-код вручную | Диалог | CAM | |
|---|---|---|---|
| Нужна модель детали | Нет | Нет | Да |
| Знание G-кода | Обязательно | Не обязательно | Не обязательно |
| Типовая операция | 15-60 минут | 1-5 минут | 10-30 минут |
| Риск опечатки | Высокий | Низкий | Низкий |
| Проверка до запуска | Предпросмотр траектории | Графика операции | 3D-симуляция |
| Сложный контур, mill-turn | Тяжело | Ограниченно | Да |
| Переносимость на другую стойку | Правка кода | Обычно нет | Через постпроцессор |
| Обучение | Недели | Часы | Недели |
Для небольшой мастерской большая часть работы - валы, втулки, резьбы, конусы, канавки и отрезка. Это ровно то, для чего диалог придуман.
Диалоговое программирование и LinuxCNC
LinuxCNC - бесплатная и очень гибкая система ЧПУ. На ней работают самодельные станки, переделанные советские 16К20 и 1К62, китайские настольные CJ0618 и WM210, учебные станки. Но встроенного диалогового режима уровня ShopTurn у неё нет. Что есть:
- Стандартные циклы: G76 (многопроходная резьба), G71/G72 (черновое точение и торцовка по контуру в новых версиях), сверлильные G81-G83. Хорошие кирпичики, но программу из них всё равно собирает человек. Подробно - в справочнике G-коды и M-коды для токарного станка.
- NGCGUI - формы для своих подпрограмм (O-кодов) прямо во вкладке интерфейса Axis или Gmoccapy. Удобно, но подпрограммы надо написать или найти и отладить самому.
- NativeCAM - бесплатная надстройка с операциями для фрезерных и токарных станков внутри интерфейса LinuxCNC.
- Самодельные диалоговые вкладки и lathe macros, которые пользователи выкладывают на форуме LinuxCNC. Обычно сделаны под конкретный станок и конкретный интерфейс, ставятся правкой конфигурации (ini-файла).
Всё это живёт внутри конфигурации LinuxCNC. Чтобы подключить, нужно разбираться в ini, HAL и подпрограммах.
Turn G-code - диалог для LinuxCNC
Turn G-code - отдельная программа, которая даёт станку на LinuxCNC диалоговое программирование токарных операций. Конфигурацию LinuxCNC трогать не нужно: программа ставится обычным установщиком на тот же компьютер (Linux) или на ПК в кабинете (Windows), а на выходе - обычный файл G-кода.
12 циклов. Наружное точение, торцовка, резьба (наружная и внутренняя, правая и левая, многозаходная, с разгоном и сбегом), конусная резьба, конус, сфера (в том числе вогнутая), канавка, сверление, расточка, отрезка, фаска и радиус и архимедова спираль на торце.
Форма вместо кода. Каждый цикл - форма с полями: диаметры, длины, съём за проход, припуск на чистовую, подачи, обороты. Черновые и чистовой проходы программа считает сама - пример от формы до готового файла в статье Генератор G-кода для токарного станка.
Живой 2D-симулятор. Траектория резца видна прямо в форме цикла, ещё до того, как программа сохранена. Это та же «графика перед запуском», что и на промышленных стойках.
Код под вашу стойку. G7/G8 (X в диаметре или в радиусе) - одной кнопкой для всех циклов, подробнее в статье G7 и G8 в LinuxCNC. Резьбовой ход G33 или G32 с буквой шага I/K/F, настраиваемые M-коды СОЖ, номер инструмента, комментарии и M30. Программа подстраивается под привычки оператора, а не наоборот. Про работу с другими системами - в статье Turn G-code на разных стойках ЧПУ.
Читаемый результат. На выходе - обычный текст G-кода. Его видно в предпросмотре LinuxCNC, его можно открыть и поправить вручную, сохранить в архив или отправить коллеге.
Русский и английский интерфейс, мм и дюймы.
Чего в Turn G-code нет: цепочки операций в один рабочий план, как в ShopTurn, и произвольного контура из дуг. Каждый цикл - отдельная программа, и для сложной фасонной детали по-прежнему нужен CAM.
Пример: резьба M20×1,5 за пару минут
Как это выглядит на практике:
- Открываете цикл Резьба, выбираете наружную и правую.
- Вводите диаметр 20 мм, шаг 1,5 мм, длину резьбового участка, число заходов 1.
- Задаёте разгон перед деталью и сбег в конце, чтобы резец успевал набрать скорость и выходил из резьбы плавно.
- Указываете глубину и число проходов, обороты.
- Смотрите в симуляторе, как ложатся проходы, и сохраняете программу.
Вручную та же резьба - это расчёт глубины профиля, распределение её по проходам и десятки строк G33 с подходами и отводами. Подробно о том, как это устроено внутри, - в статье Резьба в LinuxCNC: G33 и G76.
Если вы привыкли к ShopTurn или Mazatrol
Многие приходят к LinuxCNC с производства: переделывают старый станок или ставят LinuxCNC на свой станок в гараже. Отличия, к которым стоит быть готовым:
- Программа и стойка разделены. В ShopTurn диалог встроен в стойку. Здесь Turn G-code готовит файл, а LinuxCNC его выполняет. Плюс в том, что программу можно готовить на другом компьютере, пока станок работает.
- Проверка - дважды. Сначала симулятор Turn G-code, затем предпросмотр траектории в LinuxCNC и при необходимости холостой прогон.
- Номера инструментов. Вывод номера инструмента в Turn G-code можно включить или выключить. Если у вас коррекции на износ в стиле Fanuc (T0101), проверьте, как смена инструмента настроена в вашей конфигурации LinuxCNC.
- Режим X. Промышленные стойки почти всегда программируют X в диаметре. В LinuxCNC это G7, и Turn G-code ставит его одной кнопкой.
Попробуйте сами: скачайте Turn G-code и сделайте первую программу за пару минут. 15 дней бесплатно, без ключа и без карты, а дальше - лицензия «Навсегда»: один платёж, без подписки.
