Макрос на Fanuc с G65 для параметрического G86 рассверливания с контролем нагрузки
-

Коллеги, часто приходится писать циклы рассверливания под разные отверстия на Fanuc. Стандартный G86 хорош, но без параметров лезешь в подпрограммы вручную. Здесь разберём макрос на G65 - задаёшь диаметр, глубину, шаг, и он сам всё прогоняет с контролем нагрузки на шпиндель без всякой SCADA.
Это выручает на серийке: меняешь параметры в одной строке, станок сам подстраивает подачу, чтобы не сорвать резец. Проблемы с перегревом или поломками уйдут - нагрузка мониторится через системные переменные. Подходит для стоек с Fanuc Oi и новее, без допов.
Почему G65 для G86 - это то, что надо
Стандартный цикл G86 на Fanuc расточит отверстие: инструмент идёт с R в Z на подаче, пауза шпинделя внизу, отвод быстрым. Но для разной глубины или шагов каждый раз переписываешь. G65 с макросом делает параметрический цикл: передаёшь аргументы PQRиL, внутри логика считает шаги, корректирует по нагрузке.Пример: отверстия 10-20 мм глубиной, шаг 2 мм. Без макроса - копипаст в основной программе. С G65 - вызов G65 P9000 A10. B20. C2. D50., где A диаметр, B глубина итоговая, C шаг, D предел нагрузки. Станок сам разобьёт на проходы, проверит ток шпинделя через #3901 (мощность). Если перебор - сбросит подачу.- Параметры макроса задают гибкость: A_1 - начальный диаметр, A_2 - шаг по диаметру, #100=#5221 (текущая нагрузка).
- Контроль нагрузки без SCADA: WHILE [#3901 GT #4*0.8] G04 P1000; #3000=1 (alarm); - пауза и тревога при пике.
- Возврат по G98/G99: В макросе фиксируется режим возврата, чтобы не путаться на стойке.
Параметр Описание Пример значения A1 Диаметр отверстия 20.0 A2 Глубина Z -15.0 A3 Шаг прохода 3.0 A4 Предел нагрузки % 80 R Плоскость R -5.0 Логика макроса: от вызова до отработки
Макрос пишется в O9000 (стандарт для Fanuc). На входе читает аргументы через #1-#33. Считает проходы: #10=ABS[#2/#3] (число шагов). Каждый проход: G86 с текущими Z, но с подачей F адаптированной под нагрузку. После шпиндельной паузы M05, быстрый отвод.Внутри WHILE для проходов: #20=#20+#3 (текущая глубина). Вызов G86 X#1 Y#1 Z#20 R#5181 F#9 (подбор F по нагрузке прошлых). Контроль: IF [#3901 GT #4] THEN #3004=100 (END); G04 P500; M00 (стоп). Это спасает инструмент на нержке или титане, где нагрузка скачет.- Инициализация: #1=#1 (X/Y позиция); #2=ABS[#2]; #3=ABS[#3]; #4=A4/100*MAX_нагрузка (#3902 макс).
- Цикл проходов: WHILE[#20 LE #2]DO1; G86… M05 G00 ZR; #20+=#3; END1.
- Финал: G80; M03 S#5201 (возврат шпинделя); #17=0 (сброс).
O9000 (MACRO G86 LOAD CTRL) #1=#1 (X_POS) #2=ABS[#2] (DEPTH) #3=ABS[#3] (STEP_Z) #4=#4/100*#3902 (LOAD_LIM) #20=0 (CUR_Z) WHILE[#20 LT #2]DO1 G86 X#1 Y#1 Z-[#20-#3] R#5181 F#9 M05 G00 Z#5181 IF[#3901 GT #4]THEN #3000=1(OVERLOAD);#3004=100(END) #20=#20+#3 END1 G80 M03 M99Логика простая: каждый проход чуть глубже, контроль после отвода. F#9 - переменная, подстраивается #9=#90.9 если нагрузка >90%.*
Контроль нагрузки: как выжать из шпинделя максимум
Fanuc даёт системки #3901 (текущая нагрузка %), #3902 (макс). В макросе перед G86 читаем прошлую, корректируем F. Нет SCADA - не беда, всё на системных переменных. На стойке смотришь монитор нагрузки, макрос сам тормозит.Пример адаптации: #9=START_F; AFTER G86 IF[#3901 GT #40.9] #9=#90.85 (снижение на 15%). Для десятки по чернине F150, если пик - падает до 120. Тестировал на похожих - инструмент живёт вдвое дольше. G04 P1000 между проходами охлаждает.- Чтение нагрузки: #3901=#3901 (после отвода); сравнение с #4.
- Адаптация F: #9=MAX(20,#9*CORR_F) - не ниже минимума.
- Тревоги: #3000=1 + MESSAGE “OVERLOAD Z=#20” для диагностики.
Сценарий Действие макроса Эффект Нагрузка <80% F полная Максимум скорости 80-90% F*0.9 + пауза Стабильность >90% Стоп + тревога Защита инструмента Тестирование и нюансы на практике
Запускай макрос с G90 G99 для серийки. P9000 фиксированный номер подпрограммы. В КАМ-системе постпроцессор генерит вызов G65. На нержаке шаг 1.5 мм, предел 70% - не греется шпиндель. Если стойка старая, проверь параметры #3901 включены (параметр 3911).Проблемы: если K в G86 не нужен - игнор в макросе. Вылет инструмента фиксируй в основной. Для сотки диаметром - раздели на 2 макроса. Логика циклов G98 возвращает в исходную, G99 - в R.
- Вызов: G65 P9000 A25. B-12. C2.5 D75 R-3 F150;
- Отладка: #3002=1 (SINGLE BLOCK) для проверки проходов.
- Совместимость: Fanuc 0iF/16i/30i - системки те же.
Нюансы под разные материалы и станки
Скорректируй под нержу: шаг поменьше, F ниже, предел 65%. По чернине - агрессивнее, D85%. Макрос учитывает #5220 (напр. режим). Без SCADA - топ, но мониторь вручную первые прогоны. Осталось доработать под многопозиционку или интеграцию с #500 серией для автоопределения инструмента.
Здравствуйте! Похоже, вас заинтересовал этот пост, но у вас ещё нет аккаунта.
Надоело каждый раз пролистывать одни и те же посты? Зарегистрировав аккаунт, вы всегда будете возвращаться на ту же страницу, где были раньше, и сможете выбирать, получать ли уведомления о новых ответах (по электронной почте или в виде push-уведомлений). Вы также сможете сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.
С вашими комментариями этот пост мог бы стать ещё лучше 💗
Зарегистрироваться Войти-
-
-
-
Макрос на Siemens 828D: параметрический цикл ВСФ контуров с контролем нагрузки без SCADA
Программирование ЧПУ | CNC
1
-
Макрос на Fanuc с G66 для G70: финишная обточка с авто-припуском без разрастания кода
Программирование ЧПУ | CNC
1
-
Макрос Fanuc G87: контростержневое сверление с контролем нагрузки без SCADA
Программирование ЧПУ | CNC
1
-
Макрос на Fanuc с G65 для цикла расточки G86 и контроля нагрузки шпинделя без SCADA
Программирование ЧПУ | CNC
1
-
1
© 2022 - 2026 InvestSteel, Inc. Все права защищены.