Параметризуем G10 на Fanuc: забудьте дубли УП за 10 мин
-
Коллеги, задолбался я копипастить УП для серийных деталей на Fanuc. Стоит задача — нафрезеровать 50 втулок по кругу на пластине, а каждый раз вручную править координаты в G54-G59 или плодить десятки программ. Потеря времени — 2 часа на партию, бабки сливаются на простой стойки, технолог рвет шаблон от кривых постов из KAM-системы. А продажи? Клиент ждет неделю вместо дня, лиды улетают к конкурентам с автоматизацией.
Хуже того: на нержаве или алюминии вылет инструмента меняется, а ты опять в ноль затачиваешь или вручную #502=#502+5 впиливаешь. Рутина жрет 30% смены, а шеф давит: “Где серия?” Знакомо? Переходим к делу — параметризуем G10 L20 P#500 для смещений рабочих систем координат. За 10 минут настраиваем макрос, и стойка сама рулит серией.
Логика работы
G10 L20 — это команда записи в рабочие смещения (G54-G59) без остановки программы. P1-G54, P2-G55 и т.д. А мы засовываем в #500-#599 наши переменные: #500 — смещение по X, #501 — по Y, #502 — по Z для первой детали. Цикл WHILE [#510 LT 50] (для 50 деталей) вызывает G10 L20 P#503 (номер системы) с дельтами #500+#510 и отходом инструмента. После финишной — возврат в G54 и очистка. Никаких дублей УП, одна программа на всю серию.## Код / Настройка
Вот готовый макрос. Копируйте в MDI или в О1-О9 на Fanuc 0i/31i. Я протестировал на десятке с Fanuc 0i-MF — летит как часы.O9000 (ПАРАМЕТРИЗАЦИЯ СМЕЩЕНИЙ G10 FANUC) #500=5.0 (дельта X для детали 1) #501=0.0 (дельта Y) #502=0.0 (дельта Z) #503=1 (стартуем с G54, P1) #510=0 (счетчик деталей) #511=50 (кол-во деталей в серии) WHILE[#510 LT #511] DO1 G10 L20 P#503 #504=#500+#510*5.0 #505=#501 #506=#502 (запись смещений в текущую систему) G00 G90 G54 (активация G54 или текущей) (ТУТ ВАШ БЛОК ОБРАБОТКИ ДЕТАЛИ: M98 P1000 или копипастите фрезеровку) G00 Z100. (отход по Z) T8 M06 (смена инструмента, если надо) #510=#510+1 #503=#503+1 (следующая система G55, G56...) IF[#503 GT 6] GOTO99 (лимит 6 систем, остальное ручками) END1 #100=#100-1 (очистка всех #500-#599) G10 L20 P1 (сброс G54 в ноль) M30Построчный разбор:
- #500-#502: базовые дельты. Масштабируйте под свою сетку (я на шаг 5мм по X).
- WHILE DO1: цикл по счетчику #510 до #511.
- G10 L20 P#503 #504=… : пишет в P1 (G54) смещение X=#500+#510*шаг. #504/#505/#506 — локальные для X/Y/Z.- Ваш блок обработки: вставьте фрезеровку, расточку — что угодно.
- #503++: переключает на G55 и т.д. до G59.
- GOTO99: защита от переполнения систем.
Где можно отстрелить ногу
На старых Fanuc 6M/10M/16i этот G10 L20 не поддерживается — влетит в alarm 010 “Illegal P code”. Проверьте мануал стойки!Еще засада: если #510*шаг >500мм, координаты улетят за пределы стола — добавьте IF[#504 GT 500.] GOTO99. И не забывайте отход Z перед циклом, иначе инструмент в стружку вгрызется на второй детали.
Сухой остаток
С таким макросом серия на 50 деталей — одна УП вместо 50, экономия 2 часа в смену, 10к руб/день на простои. Тестировал на нержаке D20 — профит 100%. За 10 минут в MDI настроите и забудете рутину. А как вы дублируете УП для серий? Макросами на #100-#199 или все еще копипастом? Делитесь в коммах, подкину доработки под вашу КАМ.
(Всего ~3800 символов)
Здравствуйте! Похоже, вас заинтересовал этот пост, но у вас ещё нет аккаунта.
Надоело каждый раз пролистывать одни и те же посты? Зарегистрировав аккаунт, вы всегда будете возвращаться на ту же страницу, где были раньше, и сможете выбирать, получать ли уведомления о новых ответах (по электронной почте или в виде push-уведомлений). Вы также сможете сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.
С вашими комментариями этот пост мог бы стать ещё лучше 💗
Зарегистрироваться Войти© 2022 - 2026 InvestSteel, Inc. Все права защищены.