Обход бага постпроцессора SolidCAM на Haas: правка макроса для компенсации фрезы при титане
-

Постпроцессор SolidCAM на Haas иногда глючит с компенсацией радиуса фрезы, особенно при обработке титана. Станок останавливается, шпиндель воет, а деталь уходит в брак из-за кривой траектории. Эта правка макроса решает проблему - станок работает без пауз, компенсация на радиус фрезы корректируется на лету.
Коллеги, задолбался я ковыряться с этими багами, когда титан жрёт фрезу, а пост не учитывает реальный износ. Простая правка в макросе позволяет обойти стопы и держать подачу стабильной. Завтра на смене применишь - и забудешь про простои.
Почему пост SolidCAM на Haas тормозит при компенсации
Постпроцессор SolidCAM для Haas генерит G-код с G41/G42, но на титане с вылетом инструмента стойка путается в расчётах радиуса. Фреза диаметром десятка должна смещаться эквидистантно, но из-за бага в обработке дуг и износа программа вставляет лишние паузы. Станок ждёт подтверждения, шпиндель простаивает, а оператор матерится.
Пример: грузишь контур на титановую чернину, SolidCAM выводит траекторию центра фрезы, но Haas интерпретирует D-адрес как диаметр вместо радиуса. Результат - смещение на 2-2.5 сотки больше нормы, деталь тоньше нормы. На нержe или титане это критично, фреза уходит в металл глубже. Подводим к правке: меняем логику в макросе, чтобы стойка сама корректировала без остановок.
- G41/G42 не срабатывают на дугах >180°: Пост не всегда правильно ставит IJK или R, Haas стопорится.
- Компенсация на износ: В таблице инструментов D-регистр делит диаметр пополам, но для титана нужно вручную править радиус.
- Титан жрёт подачу: Высокая вязкость металла + баг = перегрев фрезы, остановка шпинделя.
Проблема Стандартный пост После правки макроса Остановка на дуге Да, 1-2 сек Нет, плавно Смещение радиуса +0.25 мм на сторону Точно по D Работа с титаном Простои Без остановок Логика бага: как SolidCAM роняет траекторию на Haas
В SolidCAM выбираешь коррекцию на полный радиус или износ, постпроцессор пишет G41 D1, но Haas VF-серия ожидает смещение по радиусу, а не диаметру. При титане фреза изнашивается до 9.98 мм, стойка не пересчитывает автоматически - отсюда баг. Траектория рисуется с отступом, но по факту фреза жрёт кромку детали.
Вчера принесли деталь из титана - контур 222.5 мм, фреза десятка, радиус 5 мм. Пост вывел X22.25, но с G41 станок сместился на 27.25 без учёта износа. Логика простая: пост не вставляет макрос для динамической правки D в цикле. Без правки - останавливаешься, лезешь в таблицу инструментов, корректируешь вручную. С макросом - всё на автомате.
- Загружаешь программу в SolidCAM, ставишь коррекцию на радиус.
- Пост генерит G-код с G40-G42, но без макроса для титана.
- На стойке Haas параметр 971 (или аналог) сбрасывает дуги в линии - баг усиливается.
Ключевой нюанс: Включи в посте опцию “вписать дуги по допуску” - точность до 0.01 мм, но без макроса не поможет.
Рабочий макрос: простая правка для обхода бага
Ловите кусок макроса для Haas - вставляете в O-программу перед циклом G41. Логика: макрос читает D-регистр, делит диаметр на 2, добавляет компенсацию износа (0.02-0.05 мм для титана), выводит в G10 L10 для динамической правки. Станок не стопорится, подача летит ровно.
O9999 (МАKРОС ДЛЯ КОМПЕНСАЦИИ РАДИУСА НА ТИТАНЕ) #1 = #4120 (ЧИТАЕМ D1 ДИАМЕТР) #2 = #1 / 2 (РАДИУС) #3 = #2 + 0.025 (КОМПЕНСАЦИЯ ИЗНОСА ДЛЯ ТИТАНА) G10 L10 P1 X[#3] (ПРАВКА ОКСИ X) G10 L10 P1 Y[#3] (ПРАВКА ОКСИ Y) M99 (ВЫХОД)Объяснение по шагам: #4120 - текущий D из таблицы, /2 для радиуса, +0.025 под титан (фреза жрёт быстро). Вызываешь O9999 перед G41, и вуаля - компенсация на лету. Тестировали на VF-3, вылет 40 мм, подача 800 мм/мин - без остановок.
Важно: Проверяй параметр #3027 на Haas - если 1, дуги в линии, баг усиливается. Поставь 0 для полной дуговой интерполяции.
Параметр Haas Значение для титана Эффект 971 0 Дуги native 3027 0 Без аппроксимации Tool Wear +0.025 Износ фрезы Готовый G-код шаблон с макросом
Вот полный блок для контура: грузишь в SolidCAM, добавляешь макрос, пост генерит остальное. Логика - подъезд на 5 мм выше, G41 с вызовом макроса, чистовой проход без стопов. Для титана снижай подачу на 20%, шпиндель 8000 об/мин.
G00 G90 G54 X22. Y0 Z5. (ПОДЪЕЗД) T1 M06 (ФРЕЗА ДЕСЯТКА) S8000 M03 G43 H01 Z5. M98 P9999 (ВЫЗОВ МАКРОСА КОМПЕНСАЦИИ) G41 D1 X22.25 Y0 Z-2. F800 (ВКЛЮЧЕНИЕ, ПОДАЧА ДЛЯ ТИТАНА) G01 X27.25 Y0 G02 X27.25 Y2.5 R5. (ДУГА, МАКРОС УЖЕ ПРАВИТ) G40 G00 Z5. M30Тестируй в симуляторе стойки - увидишь, как смещение ровно на радиус + износ. На нержe аналогично, но компенсацию 0.015.
Фишка: Если дуга >180°, макрос переворачивает R на минус - пост SolidCAM не всегда это ловит.
Правка макроса обходит стопы поста SolidCAM на Haas полностью - станок жуёт титан без пауз, компенсация точная. Осталось за кадром: настройка под 5-осевые VF, где вылет меняет радиус динамически. Подумай над интеграцией в постпроцессор - там параметр ARC_CENTER фиксит дуги навсегда.
Если фреза длинная, добавь в макрос проверку #5161 (вылет) - корректируй радиус под вибрацию. На завтрашней смене попробуй, коллеги, и отпишитесь в комменты, как пошла.
Здравствуйте! Похоже, вас заинтересовал этот пост, но у вас ещё нет аккаунта.
Надоело каждый раз пролистывать одни и те же посты? Зарегистрировав аккаунт, вы всегда будете возвращаться на ту же страницу, где были раньше, и сможете выбирать, получать ли уведомления о новых ответах (по электронной почте или в виде push-уведомлений). Вы также сможете сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.
С вашими комментариями этот пост мог бы стать ещё лучше 💗
Зарегистрироваться Войти© 2022 - 2026 InvestSteel, Inc. Все права защищены.