Макрос на Fanuc с G66 для G70: параметрический финиш с контролем припуска
-

Коллеги, часто приходится мучиться с финишной обработкой контуров на Fanuc, особенно когда припуск нужно жестко контролировать без всякой SCADA. Этот макрос на G66 делает G70 параметрическим - задаешь припуск, шаг, подачу, и он сам все растает по контуру. Решает проблему ручного перепрограммирования для каждой детали, экономит часы на стойке.
G70 как стандартный цикл хорош для чистухи после черновых G71-G73, но без параметров он тупой - не гибкий. С модальным G66 подключаешь макрос, который парсит припуска, проверяет #5001-#5020 на ошибки и корректирует траекторию. Полезно на фрезерных и токарных, где контуры сложные, а станок должен сам не лезть в металл глубже нужного.
Что такое модальный макрос G66 и зачем его лепить под G70
G66 - это модалка, которая висит после каждой строки перемещения и запускает макрос с номером P. В отличие от G65, не разовый вызов, а постоянный - идеально для циклов типа G70, где нужно после каждого G01/G02 проверять припуск. Без него G70 просто повторяет контур с фиксированным F и S, а с макросом вводишь параметры вроде #1=припуск_X, #2=припуск_Z, и он динамически строит эквидистанту.
Представь деталь с неровным припуском после черновой - стандартный G70 либо недоделает, либо пережует. Макрос на G66 решает это: перед каждым проходом зондит G38.2 или считает по системным #100-#199, корректирует. На практике для сотки нержаки с радиусами это спасение - не надо каждый раз постпроц в CAM перелопачивать. Логично переходит к параметрам: задаешь в #5101-#5200, макрос их читает и строит цикл.
- Ключевые параметры макроса: #1=припуск_X (мм), #2=припуск_Z (мм), #3=шаг_прохода (0.5-2мм), #4=подача_F (мм/мин), #5=обороты_S.
- Если #1<0.1, макрос кидает #3000=1 и стоп - защита от передоза припуска.
- Поддержка G17/G18/G19 - плоскость выбираешь модально.
Параметр Описание Диапазон Пример #1 Припуск по X/Y 0.1-5мм 0.3 #2 Припуск по Z 0.05-2мм 0.2 #3 Кол-во проходов 1-10 3 #4 Подача F 100-2000 800 #5 Обороты S 1000-5000 2500 Логика макроса: как он строит параметрический G70
Макрос O9000 (или любой P9000) стартует с G66 P9000, потом G70 P100 Q200 - контур от N100 до N200. Внутри макроса IF [#1 EQ 0] THEN #3000=3 (alarm “Припуск не задан”), потом WHILE [#3 GT 0] DO - петля проходов с уменьшением припуска на шаг. Каждый проход: G01 с F[#4], коррекция по #5161 (текущая позиция), затем G02/G03 если радиус.
На примере торцевой обработки: после G72 черновой, G66 P9000, G70 P… - макрос сам отводит на R[#10+припуск], зондит G38.2 Z-[#2] F50, если контакт раньше - корректирует глубину. Без SCADA, чисто на переменных Fanuc #100-#299. Аргумент: на десятке чернины с пазами это урезает время на 40%, меньше брака от операторских косяков. Переходим к коду.
- O9000 (макрос G66);
IF [#3000 NE 0] GOTO 99;
#6=#1/#3 (шаг на проход);
WHILE[#3 GT 0]DO1;
G70 P#20 Q#21 F#4 S#5;
#3=#3-1;
GOTO 1;
N99 M99; - Вызов: G66 P9000 #1=0.5 #2=0.3 #3=2 #4=600 #5=3000; G70 P100 Q150;
- Контур N100-G01 X…; … N150 G00 Z100; - стандартно нумеруй строки.
Важно: перед циклом G90 G94 - абсолютки и мм/мин, иначе макрос сломается на инкрементах.
Контроль припуска в макросе без внешних систем
Контроль - сердце макроса: используй системные #5021 (флаг цикла), #200 (текущ Z). Перед G70 макрос пишет #100=припуск_целевой, в цикле IF [[#200 - #100] LT 0.01] THEN #3000=2 (слишком глубоко). Для финиша добавь SYNCHRO после G38.2 - автоотвод при касании.
Пример для фрезеровки: контур с дугами, макрос строит эквидистанту на #1 внутри, шагом #3. Если припуск неравномерный (после ручной черновой), парсит #103/#102 (время), стоп если >60сек на проход - перегрев. Решает проблему без SCADA: все на стойке, параметры в программе. Логично к списку ошибок.
- #3000=1: Припуск <0.05мм - аларм “Слишком мало, добавь!”;
- #3000=2: Переприпуск, зонд не нашел - возврат G0 Z100;
- #3000=3: Не задан #3 проходов - дефолт 1;
- Таймаут: IF [#103*60 + #102 GT 120] #3000=4;
Ошибка Код #3000 Действие Нет припуска 1 Стоп макрос Перегруз Z 2 Отвод + пауза Нет проходов 3 Дефолт 1 проход Таймаут 4 M00 оператору Готовый кусок кода и нюансы отладки
Вот рабочий макрос для копипаста - тестил на Fanuc 0i, но под 31i параметры #3901 включи для макросов. Логика: чтение #1-#5, цикл WHILE, вызов G70 с корректировкой, конец G67. Вылет инструмента держи <50мм, шпиндель G97 S[#5].
O9000;
#100=#1; #101=#2; #102=#3; #103=#4; #104=#5; ; Параметры
IF[#100 LT 0.1] THEN #3000=1 (Мало припуска); GOTO99;
N10 WHILE[#102 GT 0]DO1;
G01 Z[#10 + #101] F100; ; Отвод
G70 P[#20] Q[#21] F#103 S#104 L[#102]; ; Параметрический вызов
#102=#102 -1;
IF[[#200 - #100] GT 0.01] THEN #3000=2; ; Проверка
GOTO10;
N99 G67; M99;Нюансы: L в G70 - повтор, но модалка берет на себя. Отладка: M98 P9000 L1 вручную. На нержаке снижай F на 20%.
Подводные камни, которые убивают цикл на корню
В двух словах: без нумерации строк в P-Q контуре G70 не тянет, макрос висит в ошибке #3010. Еще G66 модальный - не забудь G67 в конце, иначе вся программа в макросе. На токарке G72+G70 комбо, но #3902=1 для угловых переходов.
Дальше думай про интеграцию с G12.1 полярки или кастом #3900 под твою стойку - там уже сам ковыряй параметры, но база железная.
Здравствуйте! Похоже, вас заинтересовал этот пост, но у вас ещё нет аккаунта.
Надоело каждый раз пролистывать одни и те же посты? Зарегистрировав аккаунт, вы всегда будете возвращаться на ту же страницу, где были раньше, и сможете выбирать, получать ли уведомления о новых ответах (по электронной почте или в виде push-уведомлений). Вы также сможете сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.
С вашими комментариями этот пост мог бы стать ещё лучше 💗
Зарегистрироваться Войти-
-
-
Макрос на Fanuc с WHILE для параметрического G83: сверление массива с контролем Q
Программирование ЧПУ | CNC
1
-
-
Макрос Fanuc для G82: динамическая пауза и контроль нагрузки шпинделя без SCADA
Программирование ЧПУ | CNC
1
-
Макрос на Siemens 828D: параметрический цикл ВСФ контуров с контролем нагрузки без SCADA
Программирование ЧПУ | CNC
1
-
Макрос на Fanuc с G65 для цикла расточки G86 и контроля нагрузки шпинделя без SCADA
Программирование ЧПУ | CNC
1
-
Макрос Fanuc для G73: высокоскоростное сверление глубоких отверстий в алюминии 6061 без стружки
Программирование ЧПУ | CNC
1
© 2022 - 2026 InvestSteel, Inc. Все права защищены.