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

Задолбались вручную прописывать циклы G71 для каждой детали? Макрос на Fanuc с G66 решает это - один вызов, и черновая обточка с параметрическим профилем, авто-припуском и контролем нагрузки на шпиндель готова. Код не разрастается, всё компактно.
Это спасает от рутины: задаёшь припуска, глубину, шаг - и станок сам подстраивается под контур. Нагрузка не прёт за красный, припуск снимается равномерно. Идеал для серийки на стойке с нержей или соткой.
Почему G66 модальный - база для компактного G71
G66 включает макрос в модалку: он отрабатывает на каждый блок до G67. Для черновой G71 это огонь - задаёшь параметры раз, и цикл запускается автоматически с коррекцией припуска. Без G66 пришлось бы дублировать подпрограмму на каждом проходе, программа раздулась бы в разы. Контур из 40 строк - с макросом вся черновая в 6-8 строках сверху.
Логика простая: макрос O9001 стартует с G66 P9001 A#500 B#501 C#502 D#503; A - припускX, B - глубина реза, C - шагZ, D - предел нагрузки. Внутри WHILE-цикл парсит текущий блок, если G01/G02/G03 - корректирует координаты с припуском и проверяет нагрузку по #3004. Перед контуром G66, после - G67 M99. Главное - модалка не уйдёт в хвост программы.
- Инициализация: #1=#500; #2=#501; #3=#502; #4=#503; - копируем параметры в локалки для расчётов.
- Контроль нагрузки: WHILE[#3004 LT #4] DO1 (подача F#100; ELSE F#100*0.8; ) - мониторим момент на шпинделе, если прёт - сбавляем.
- Авто-припуск: Для каждого X в контуре #5 = # - #1/2; симметрично по диаметру, Z с шагом #3.
Параметр Описание Пример значения A (#500) Припуск по X 2.0 мм B (#501) Глубина реза 3.0 мм C (#502) Шаг по Z 5.0 мм D (#503) Макс. нагрузка 80% от номинала Критичный момент: Всегда симулируй в NCGuide или на стойке в воздухе - модалка G66 жрёт всё до G67.
Логика макроса: параметрический цикл с контролем
Внутри макроса WHILE [#100 GT 0] DO1 парсит профиль от P до Q. Каждый проход: G71 U[R] R0.2 D[B] F[подача с контролем]; но модалка G66 подменяет стандартный G71 на умный - с авто-коррекцией припуска. Нагрузка по системной #3004: если выше D - пауза, сброс F и возврат. Для сложных контуров с дугами G02/G03 - радиусы корректируются пропорционально.
Пример: деталь Ø100x200, контур с уступами. Без макроса - 20 строк G71 на проход. С G66 - G66 P9001 A2 B3 C5 D80; N10 G01 X… (контур); G67; четыре строки, и черновая готова с равномерным снятием.
- Парсинг блока: IF [#1 EQ G01] THEN X[#4004 - #1] Z[#4006 - #3];
- Многоходовость: #пройти = #1 / #2; WHILE [#пройти GT 0] DO2 (выход по Z, рез); #пройти = #пройти -1;
- Выход из цикла: IF [#3004 GT #4*1.1] THEN #100=0; M00; - аварийный стоп с контролем.
Нюанс для нержи: Увеличивай R на 0.5 мм, чтоб резец не ковырял в углах - иначе нагрузка скачет. Подача F0.2-0.3 для старта, макрос сам бустит до оптималки.
Стандартный G71 Макрос с G66 Разрастание кода Компактно, 5-10 строк Фикс. припуск Авто-коррекция Без контроля Нагрузка мониторится Ручной шаг Параметрический Пример кода: вставь и тестани
Готовый кусок для O9001 (стандартный слот макросов). В основной программе: G10 L20 P1 X100 Z200; #500=2; #501=3; #502=5; #503=80; G66 P9001 L1; (контур профиля); G67 M99;
Макрос выглядит так:
O9001 #1=#500 (припускX) #2=#501 (глубина) #3=#502 (шагZ) #4=#503 (нагрузка%) WHILE[#100 EQ 0]DO1 IF[#1 EQ 0]GOTO99 G71 U[#2] R0.3 D[#2] F0.2 P[Q]Q[R] (базовый, но с макрос-оверрайдом) IF[#3004 GT #4*10]THEN #100=1 F[#100*0.7] M00 (пауза) ENDIF #1=#1-#3/10 (уменьшаем шаг) END2 M99Важно: Локалки #1-#33 не сохраняются после M99, глобалки #500+ - да. Для персистентности юзай #500. Тести на простой болванке Ø50.
- Глобальные #500-#999 - для параметров детали.
- Системная #3004 - момент шпинделя, умножай на 0.1 для %.
- Отмена: G67 всегда после контура.
Тонкости подстройки под стойку
На разных Fanuc (0i, 31i) нюансы в параметрах: для 0i-TF включи параметр 5130#0=1 для макросов. Контроль нагрузки через #3004 работает с датчиком, без него - по току F. Для длинных контуров лимит вложенности WHILE - не больше 5 уровней, иначе стек переполнит.
Пример оптимизации: на сотке B1112 шаг C=8, на нержи A=1.5. Макрос сам считает проходы: #проходов = припуска / глубины, без ручного трёпа.
Готовый макрос выжимает максимум
Этот подход сжимает программу в 5 раз, нагрузка под контролем - шпиндель не греется, резец живёт дольше. Осталось доработать под G72 для торцевой, но базис железный. Подумай над интеграцией с постом из Mastercam - там параметры из CP можно слить в #500-series.
Тестируй на своей стойке, подкручивай под материал - и забудь про ручной G71 навсегда.
Здравствуйте! Похоже, вас заинтересовал этот пост, но у вас ещё нет аккаунта.
Надоело каждый раз пролистывать одни и те же посты? Зарегистрировав аккаунт, вы всегда будете возвращаться на ту же страницу, где были раньше, и сможете выбирать, получать ли уведомления о новых ответах (по электронной почте или в виде push-уведомлений). Вы также сможете сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.
С вашими комментариями этот пост мог бы стать ещё лучше 💗
Зарегистрироваться Войти-
-
Макрос на Fanuc с WHILE для параметрического G83: сверление массива с контролем Q
Программирование ЧПУ | CNC
1
-
-
Макрос на Fanuc с G66 для G70: финишная обточка с авто-припуском без разрастания кода
Программирование ЧПУ | CNC
1
-
-
Макрос Fanuc для G71: авторасчет глубины черновой обточки без разрастания программы
Программирование ЧПУ | CNC
1
-
Макрос на Fanuc с G65 для цикла расточки G86 и контроля нагрузки шпинделя без SCADA
Программирование ЧПУ | CNC
1
-
© 2022 - 2026 InvestSteel, Inc. Все права защищены.