CAM и постпроцессор: от модели до управляющей программы
Цепочка CAD → CAM → постпроцессор → УП → станок глазами технолога-программиста: что делает постпроцессор и почему универсального нет, нуль детали в CAM и на станке, что ловит и чего не ловит симуляция, отличия Fanuc, Sinumerik и Heidenhain, подпрограммы, макросы и версии программ.
14 мин чтения
Цепочка от модели до станка
Руководство Heidenhain описывает путь так. Конструктор строит 3D-модель — в идеале по середине поля допуска. Технолог-программист в CAM-системе выбирает стратегии, и система по поверхностям модели рассчитывает траектории с заданной погрешностью хорды. Результат — файл CLDATA (cutter location data), не привязанный к станку. Постпроцессор превращает его в управляющую программу для конкретного станка и стойки.
Модель обычно приходит в STEP (ISO 10303) — нейтральном формате, который открывают практически все CAD и CAM-системы. Но модель описывает геометрию, а не требования к ней. Допуски, шероховатость, базы, материал, состояние заготовки и последующие операции технолог берёт из чертежа и маршрута — урок 3.
Если модель построена по номиналу, а размер нужен в середине поля допуска, у технолога два пути: сместить траекторию в CAM или вывести контур с коррекцией на радиус, чтобы наладчик мог поправить размер корректором. Второй путь Heidenhain прямо рекомендует для контуров с посадками.
Структуру CLDATA описывает ISO 3592. Поэтому одни и те же траектории можно вывести на разные станки, поменяв только пост. Как устроена сама программа — кадр, слово, G- и M-коды, — разобрано в уроке «Управляющая программа» курса для операторов.
Что делает постпроцессор и почему универсального нет
Постпроцессор — это правила перевода. По описанию одного из разработчиков постпроцессоров, параметры конкретного оборудования выносят в отдельный файл-паспорт, а на выходе получается программа под конкретную систему ЧПУ, число осей и кинематику станка.
Что решает постпроцессор | Чем отличаются станки |
|---|---|
Диалект стойки | Fanuc — |
Вариант кодов | На токарных Fanuc системы G-кодов A, B и C: в системе A |
Кинематика | Какие оси поворотные, их пределы и направления, как считать координаты при наклоне инструмента |
Формат чисел и дуг | Число знаков после точки; дуги через I, J, K, через R или ломаной |
Циклы | Выводить сверление циклом стойки или отдельными перемещениями |
M-коды и автоматика | Смена инструмента, зажим, СОЖ, продувка — набор задаёт изготовитель станка |
Начало и конец программы | Безопасная строка, отвод перед сменой инструмента, возврат в исходную точку |
ISO 6983-1 прямо говорит: соответствие стандарту не гарантирует, что программа пойдёт на другом станке. Руководство Fanuc добавляет, что часть функций реализует изготовитель станка и описывает в своей документации. Поэтому пост от «похожего» станка выдаёт синтаксически правильный G-код, который стойка исполнит без ошибки, — но не так, как задумано: код с другим смыслом, M-код другого механизма, смена инструмента без отвода, неверные углы поворотных осей.
Настройка поста влияет не только на безопасность. Для TNC 640 Heidenhain рекомендует выводить координаты минимум с четырьмя знаками после точки, не выводить промежуточные точки на прямых участках и не повторять подачу в каждом кадре. Это уже качество поверхности и плавность движения.
Системы координат в CAM и на станке
В CAM-проекте технолог задаёт систему координат детали — её начало и направления осей. На станке ей соответствует нулевая точка детали: наладчик находит её щупом или индикатором и записывает в таблицу смещений, а программа выбирает строку, например G54. Связывает их только карта наладки. Как это устроено у оператора, разобрано в уроке «Системы координат, ноль детали и коррекции инструмента».
Отсюда правила для технолога:
- Нуль — на базе чертежа. Обычно это база, от которой проставлены размеры: угол, ось отверстия, верхняя грань. Тогда размеры чертежа напрямую переходят в координаты программы, а наладчику удобно найти нуль.
- Один установ — одна система координат. У каждого установа свой нуль и своя строка таблицы смещений, и в карте наладки это записано явно.
- Длина инструмента — по одному правилу. Программа рассчитана либо на касание детали каждым инструментом, либо на абсолютные длины от торца шпинделя. Смешивать способы на одном станке нельзя. Heidenhain требует абсолютную длину: от неё работают симуляция и контроль столкновений.
- Коррекция на радиус — осознанно. Путь центра фрезы из CAM не даёт наладчику поправить размер, контур с
G41/G42илиRL/RR— даёт. Для посадочных поверхностей выбирают второй вариант.
Для пятиосевой обработки решение ещё важнее. Если пост вывел координаты осей станка, программа привязана к его кинематике, положению детали и длине инструмента. С функцией TCP программа пишется по вершине инструмента в системе детали, и стойка сама пересчитывает её под свою кинематику.
Симуляция и её ограничения
Проверка идёт в несколько уровней, и каждый ловит свои ошибки.
Уровень | Что проверяет | Чего не видит |
|---|---|---|
Симуляция в CAM | Траектории, остаточный припуск, зарезы относительно модели | Ошибки постпроцессора, реальные ходы осей станка |
Симулятор по G-коду | Программу после поста на модели станка: столкновения узлов, оснастки и инструмента | Фактическую наладку: нуль детали и корректоры |
Графика и прогон на стойке | Программу в самой системе ЧПУ, с её трактовкой кодов | Ошибки корректоров и смещений, если их не ввели |
Симуляторы по G-коду (их ещё называют верификаторами) выпускают и отечественные, и зарубежные разработчики. По их описаниям, такой симулятор моделирует станок с его кинематикой, контролирует столкновения подвижных узлов с неподвижными и с заготовкой, показывает зарезы и остаток материала.
Поэтому новый или изменённый постпроцессор проверяют на симуляторе по G-коду и на пробной детали, а не по картинке в CAM. Как вести первую деталь на станке — урок 7.
Fanuc, Sinumerik, Heidenhain: что меняется
Одна траектория из CAM даёт на трёх стойках три разных текста.
Что | Fanuc | Sinumerik | Heidenhain TNC |
|---|---|---|---|
Нуль детали | | | Таблица предустановок, |
Длина инструмента | | Номер коррекции | Из таблицы инструментов при |
Цикл сверления | | | |
Подпрограмма | | Вызов по имени, возврат | |
Наклон плоскости | | | |
Режим чужого диалекта не спасает. Sinumerik выполнит программу в формате другой стойки только в режиме ISO-диалекта G291, настроенном при пусконаладке. TNC 640 читает программы DIN/ISO, но циклы в них свои. Знаки тоже разные: в цикле 200 Heidenhain глубину Q201 вводят отрицательной, а при положительной стойка поведёт инструмент ускоренно ниже поверхности детали. Сообщение об ошибке на положительную глубину стойка выдаёт, только если его включил параметром изготовитель станка, — рассчитывать на него нельзя. В Sinumerik относительную глубину DPR вводят без знака.
Подпрограммы и макропеременные
Подпрограмма — повторяющийся фрагмент, записанный один раз. Типичный пример из руководства оператора фрезерного станка — координаты отверстий: их записывают в подпрограмму, а вызывают центровкой, сверлом и метчиком, каждый со своим циклом. Технологу это даёт короткую программу, которую легко прочитать у станка.
Макропрограмма добавляет переменные, арифметику, условия и циклы: G65 P… A… B… передаёт аргументы в локальные переменные #1–#33. Так пишут семейства деталей и типовые элементы — например, отверстия по окружности. Но у макросов свои риски:
- макропрограммы — опция системы ЧПУ, её может не быть или она отключена параметром;
- общие переменные видны всем программам на станке, в те же номера пишут щупы и сменщики паллет;
- номера системных переменных, диапазоны общих и формат вызова у стоек разные.
Где макрос надёжнее CAM: короткие параметрические элементы, которые оператор должен уметь подстроить. Где CAM надёжнее: сложная геометрия, которую нужно проверить на симуляторе с моделью станка.
Обратная связь с наладки и версии программ
Правку на стойке можно сделать, но она останется только в этом файле. При следующем выводе из CAM она потеряется, и ошибка вернётся. Поэтому замечания с наладки — не тот подход, лишний проход, неудачный отвод — технолог вносит в CAM-проект, а системные ошибки вывода — в постпроцессор, и программу выводят заново.
Программу с другого станка не копируют: её выводят заново постпроцессором под свою стойку и проверяют нули, коррекции, знаки глубины и M-коды.
Чтобы у станка была ровно та версия, что проверена, связывают три вещи: CAM-проект, выведенную программу и документы. Номер изменения в шапке программы должен совпадать с чертежом и операционной картой — оператор сверяет его перед пуском. Пример шапки условный:
%
O2001 (KORPUS-010 IZM.3 OP020 UST.1)
(NOL G54 - VERH LEVYJ UGOL, DLINY ABS)Что проверить перед выдачей программы
- Постпроцессор настроен под эту пару «станок + стойка» и проверен на ней, а не взят с похожего станка.
- Система координат в CAM-проекте совпадает с нулём и строкой смещения в карте наладки, способ измерения длин — с правилом станка.
- Программа после поста прошла симулятор по G-коду с актуальной моделью станка, приспособления и сборок инструмента.
- Знаки глубин, безопасные уровни и M-коды сверены с руководством именно этой стойки; для макросов проверено, что опция есть и общие переменные свободны.
- Номер изменения в шапке программы совпадает с чертежом и операционной картой, а все правки с прошлой наладки внесены в CAM-проект.
Проверьте себя
Читать дальше
Источники
- ISO 10303 (STEP) — стандарт обмена данными о промышленных изделиях
- ISO 3592:2000 Industrial automation systems — Numerical control of machines — NC processor output — File structure and language format
- ISO 6983-1:2009 Automation systems and integration — Numerical control of machines — Program format and definitions of address words — Part 1 (ознакомительный фрагмент)
- HEIDENHAIN. TNC 640 User's Manual, Klartext Programming (NC-Software 34059x-11) — Running CAM programs, требования к постпроцессору, системы координат, TOOL CALL, LBL
- HEIDENHAIN. TNC 640 User's Manual, Programming of Machining Cycles (NC-Software 34059x-11), 01/2021 — Cycle 200 DRILLING
- FANUC Series 0i-MODEL F. Operator's Manual for Lathe System (B-64604EN-1/01) — системы G-кодов A/B/C, функции изготовителя станка, вызов подпрограмм
- Siemens. SINUMERIK 840D sl Programming Manual (Job planning), 12/2019 — Switch language mode (G290, G291)
- Siemens. SINUMERIK 840D sl/840D/840Di sl Cycles. Programming Manual, 01/2008 (6FC5398-3BP20-1BA0) — CYCLE81, MCALL, CYCLE800
- Haas Automation. Mill Operator's Manual, NGC, 2022 — подпрограммы M97/M98, макропрограммы, G65
- НТЦ «ГеММа». ГеММа-3D.Постпроцессор
- НТЦ «ГеММа». ГеММа-3D.Верификатор
- CGTech. VERICUT — CNC machine simulation