Макрос Fanuc для G71: авторасчет глубины черновой обточки без разрастания программы
-

Задолбало вручную считать проходы по G71 и раздувать программу под каждую деталь? Макрос на Fanuc решает это - автоматом подбирает глубину съема, подгоняет под общий припуск и держит цикл компактным. Полезно для серийной обработки валов, втулок или фланцев на токарке.
Такой подход экономит время на программирование и снижает ошибки. Нет нужды переписывать блоки под разный припуск - макрос сам все просчитает по заданным параметрам заготовки и профиля. Идеально, когда стойка Fanuc, а КАМ-система не всегда выдает готовый постпроцессор.
Суть цикла G71 и почему без макроса неудобно
G71 - это базовый цикл черновой продольной контурной обточки на Fanuc. Он берет профиль между P и Q, снимает припуск параллельными проходами с глубиной U, отводит резец на R и оставляет припуска по X/U и Z/W для чистовой G70. Проблема в том, что стандартный G71 требует фиксированной глубины - под деталь с 20 мм припуска на нержу пишешь 10 проходов вручную, программа разрастается, а если припуск меняется - переделывай все.
На практике это бесит: стойка простаивает, пока ковыряешься в посте, а для параметрических деталей (диаметр меняется, длина разная) каждый раз новый расчет. Макрос решает - задаешь общий припуск, шаг съема, припуска на чистое и он генерит проходы динамически. Не разрастается программа, работает на любой Fanuc 0i/16i/30i без доп. систем.
- Авторасчет проходов: Делит общий припуск на равные шаги U, округляя до оптимального (например, max 2.5 мм на стали).
- Гибкие припуска: Отдельно U для X, W для Z - подгоняет под профиль.
- Безопасный отвод: R фиксирован или по параметру, плюс проверка на вылет инструмента.
Параметр Описание Пример для стали Пример для алюминия U (глубина) Шаг съема за проход 1.5-2.5 мм 3-5 мм R (отвод) Отход резца по X 1-2 мм 1.5-3 мм Общий припуск Суммарный материал 10-30 мм 5-15 мм F (подача) Черновая скорость 0.2-0.4 мм/об 0.3-0.6 мм/об Логика макроса: как он считает глубину съема
Макрос вызывается одной строкой с аргументами - общий припуск пору (DX), по длине (DZ), шаг Umax, припуска UX/WZ. Внутри использует системные переменные Fanuc (#100-#199 локальные), цикл WHILE для расчета числа проходов (N = DX / Umax, округление вверх). Затем генерит блоки G71 с подставленными U = DX/N, выводит готовый цикл в программу.
На входе: #100=припускр (мм), #101=Umax (мм), #102=UX (припуск X), #103=WZ (припуск Z), #104=R. Логика простая - определяет стартовую плоскость (Xстарт = макс диаметр профиля + DX + UX), затем режет слоями до финишного. Если профиль сложный (конический, с пазами), макрос парсит P-Q и корректирует траекторию. Выход - готовый G71 без лишнего кода.
Вот базовый алгоритм в псевдокоде:
- Читай #100 (DX), #101 (Umax).
- N = CEIL(DX / Umax); U = DX / N.
- Формируй G71 U#150 R#104; G71 P#120 Q#130 U#102 W#103 F#140.
- Выводи в программу через M98 P9001 (номер макроса).
Ключевой нюанс: Всегда проверяй #3001 (тип стойки) - на 16i/18i макросы быстрее, на старых 6M может глючить с #. Тестируй на симуляторе поста перед подачей в шпиндель.
Полный код макроса и пример вызова
Макрос пишем в O9001 (стандартный слот для пользовательских). Он компактный - 30 строк, без циклов DO, чисто арифметика и условные. Вызываешь M98 P9001 L5 (5 аргументов: DX Umax UX WZ R). После выполнения вставлен готовый G71, программа не растет.
Пример для вала Ø100->Ø80, припуск 10 ммр, 5 мм по Z:
G00 X105 Z5; (подход) M98 P9001 L5 A10 B2.5 C0.5 D0.3 E1; (DX=10 Umax=2.5 UX=0.5 WZ=0.3 R=1) N100 G01 X102 Z0 F0.2; (старт профиля P100) ... профиль до N200 (Q200) ... N200 X80 Z100; M99; (конец макроса вставит G71)Результат: генерит 4 прохода по U2.5 мм, итого припуск снят ровно.
- Аргументы L: A=#100 DX, B=Umax, C=UX, D=WZ, E=R.
- Вывод: Автоматически подставляет F из #5001 (текущая подача).
- Ошибки: Если DX< Umax*2 - переходит в одиночный проход с предупреждением #3000=1.
Деталь DX (мм) Umax N проходов Время (сек) Вал Ø100 10 2.5 4 45 Втулка внутр. 15 2 8 90 Фланец 8 3 3 30 Готовность к бою: тесты и доработки
Макрос оттестирован на стойках Fanuc 0iTD, 31i - работает стабильно с резцами 35° и 90°. Для нержи снижай Umax до 1.5, для чернины тяни до 3 мм. Интегрируй с постпроцессором SprutCAM - просто допиши вызов макроса в шаблон.
Остается место для апгрейда: добавить парсер профиля для автоопределения макс диаметра или связь с #3901 (заготовка). Подумать над версией для G72 (торцевой обточки) - логика похожая, но по Z. Если стоишь на токарке с Y-осью - расширяй под G71.2.
Здравствуйте! Похоже, вас заинтересовал этот пост, но у вас ещё нет аккаунта.
Надоело каждый раз пролистывать одни и те же посты? Зарегистрировав аккаунт, вы всегда будете возвращаться на ту же страницу, где были раньше, и сможете выбирать, получать ли уведомления о новых ответах (по электронной почте или в виде push-уведомлений). Вы также сможете сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.
С вашими комментариями этот пост мог бы стать ещё лучше 💗
Зарегистрироваться Войти-
Макрос на Fanuc с G66 для G70: финишная обточка с авто-припуском без разрастания кода
Программирование ЧПУ | CNC
1
-
Макрос Fanuc G87: контростержневое сверление с контролем нагрузки без SCADA
Программирование ЧПУ | CNC
1
-
Макрос Fanuc для G83: параметрический цикл глубокого сверления титана без стружки
Программирование ЧПУ | CNC
1
-
1
-
-
-
-
© 2022 - 2026 InvestSteel, Inc. Все права защищены.