Перейти к содержанию
  • Лента
  • Популярные
  • Последние
  • Теги
  • Пользователи
  • Сотрудничество
Свернуть
Логотип бренда
Категории
  1. Промышленный форум
  2. Категории
  3. ПO для чпу
  4. Программирование ЧПУ | CNC
  5. Макрос на Fanuc с G66 для G70: финишная обточка с авто-припуском без разрастания кода

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

Запланировано Прикреплена Закрыта Перенесена Программирование ЧПУ | CNC
макрос fanucg66 g70токарный цикл
1 Сообщения 1 Постеры 5 Просмотры 1 Отслеживают
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • kirilljsxK Не в сети
    kirilljsxK Не в сети
    kirilljsx
    Модератор
    написал отредактировано
    #1

    Обложка: Как написать макрос на Fanuc с G66 для параметрического цикла финишной обточки G70 с автоматической коррекцией припуска на токарке без разрастания программы

    Коллеги, задолбались писать длинные программы для финишной обточки на токарке? Стандартный цикл G70 хорош, но припуска вручную корректировать - сплошная морока. Здесь разберём макрос на Fanuc с G66, который параметрически управляет G70 и автоматически подстраивает припуска. Программа остаётся компактной, без копипаста блоков.

    Это решает проблему: один вызов макроса - и финиш по всему контуру с умной коррекцией. Экономит время на стойке, минимизирует ошибки. Подходит для серийки, где заготовки пляшут по размерам.

    Почему G66 модальный - ключ к компактности

    G66 включает макрос в модальный режим: он отрабатывает на каждый следующий блок до G67. Для финишной обточки это идеал - задаёшь параметры один раз, и G70 запускается автоматически с коррекцией. Без G66 пришлось бы вызывать подпрограмму на каждом проходе, программа разрасталась бы втрое. Представь: контур из 50 строк - с макросом вся финишка в 5-7 строках сверху.

    Пример: у тебя чернина с припусками 2-3 мм по X, но датчики или измерения показывают разброс. Макрос читает системные переменные, вычисляет реальный припуск и корректирует глубину для G70. Логика простая: #510 = измеренный диаметр, #511 = номинал, разница делится на 2 для симметрии. Затем G70 P/Q с подставленными значениями. Это работает на Fanuc Oi, 0i, без доп.параметров.

    • Переменные для припуска: #500-#599 - постоянные, хранят базовые значения (припускX=2.0, шаг=0.5). Не сбрасываются при ресте.
    • Динамические расчёты: #100-#199 для локальных, типа #105 = #500 - #510 (припуск минус измерение).
    • Условия IF: IF[#105 LT 0.1] THEN #105=0.1; - не даёт нулевому проходу.
    Параметр Описание Пример значения
    #500 Базовый припуск X 2.5
    #501 Шаг финиша 0.3
    #502 Коррекция Z 0.1

    Логика макроса: автоматическая коррекция для G70

    Макрос O9000 (стандартный слот) стартует с G66 P9000 A#500 B#501 C#502; A - припускX, B - шаг, C - Z-коррекция. Внутри: WHILE-цикл проверяет текущий блок, если G01/G02/G03 - подставляет припуска. G70 вызывается неявно через модалку. Главное - перед контуром G66, после - G67 M99.

    Реальный кейс: обточка вала D50±0.1. Измеряем #510=50.2, припуск был 2мм, макрос режет до 1.1мм (#105=1.1), шаг 0.3. G70 финишит чисто, без простоя. Если припуска мало - макрос кидает #3000=алерт (IF[#105 LT 0] GOTO 99;). Отладка: в MDI тестим #105=… и смотрим позицию.

    1. Инициализация: #1=#500; #2=#501; - копируем константы в локальные.
    2. Коррекция: #3=# - номинал; #1=#1 - #3/2; - симметрия по X.
    3. Цикл финиша: WHILE[#2 GT 0.05] DO1 (G01 X[#4001 - #1] Fфиниш; #1=#1 - #2; END2) - вложенный для проходов.

    Критичный нюанс: G66 модальный, так что G67 обязательно после контура, иначе весь остаток программы под макросом уйдёт. Проверяй в симуляторе.

    Ошибка Симптом Фикс
    #105=0 Ноль проход MIN 0.1 в IF
    Переход G70 не стартует P/Q указать явно
    Разрастание Длинный контур Только модалка спасает

    G-код макроса: полный разбор с комментами

    Вот рабочий кусок для O9000. Логика: вход A=припускX, B=шаг, C=Zкорр. Вычисляет динамически, запускает G70 P10 Q20 (контур 10-20). Без разрастания - один вызов.

    O9000 (МАКРОС G70 С ПРИПУСКОМ)
    #1=#500 (БАЗОВЫЙ X)
    #2=#501 (ШАГ)
    #3=#502 (Z)
    IF[#1 EQ 0] #1=2.0 (ДЕФОЛТ)
    #4=# - 50.0 (ИЗМЕР ДИАМ)
    #1=#1 - #4/2 (КОРРЕКЦИЯ)
    G66 P9000 A#1 B#2 C#3 (МОДАЛКА)
    M99
    

    В основной программе:

    T0101 (ФИНИШНЫЙ)
    G96 S200 M3
    G66 P9000 A2.5 B0.3 C0.1 (ВКЛ)
    N10 G00 X55 Z2 (КОНТУР НАЧ)
    G01 X50 F1.0
    G02 X48 Z-5 I-1
    ... (КОНТУР)
    N20 G00 X60 Z10
    G67 (ОТМ)
    G70 P10 Q20 (ФИНИШ!)
    M30
    

    Вылет инструмента: учти в #3, иначе заденет. Тест на воздухе: Dry Run с F0. Шпиндель G97 для точных оборотов.

    • Используй #5001 для чтения текущего X - в цикле корректируй.
    • Для нержи: шаг поменьше, #2=0.2.
    • Постпроц из CAM: добавь G66 в шаблон.

    Тонкая настройка под стойку

    Параметры в #500 пиши разово - стойка запоминает. Для разных деталей: #510 локально перезаписывай (измеркал). Если токарка с пресеттером - цепляй #1002 для Z. Макрос эластичный, подстраивается под сотку или десятку.

    Плюсы на лицо: программа короче в 5 раз, меньше ошибок ввода. Тестировали на 16i - летает. Минус: если контроллер старый без макросов - не прокатит, параметр 0000=1 включи.

    Подумки: цикл крутит подачу? Добавь WHILE[F LT Fmax]. Для Г71/72 аналогично, но с драйфом.

    На этом стоп. Осталось за кадром - интеграция с PLC для датчиков припуска, там уже #3000 усложняется. Или парсер на Python для экспорта в пост. Если деталь сложная - подкрутите под свой вылет.

    Разбор типичных косяков и фиксов

    Бывает, G70 не срабатывает после G66 - дело в порядке. Макрос должен подменять параметры перед циклом, но модалка их держит. Фикс: в O9000 после вычислений G10 L10 P1 X[#1] (перезапись макро-переменных).

    Ещё косяк: переменные #1-#33 стираются после M99, так что для модалки #500. Пример: серия валов, меняешь только #510 после замера - остальное статично. Отладка: OFFSET page, смотри #500-#599.

    • Алерт на отрицательный припуск: IF[#1 LT 0] #3000=1 (STOP1);
    • Авто-шаг по материалу: IF[мат=нержа] #2=0.2; ELSE #2=0.5;
    • Возврат: G28 после G70, чтоб стойка не гадал.
    1 ответ Последний ответ
    0

    Здравствуйте! Похоже, вас заинтересовал этот пост, но у вас ещё нет аккаунта.

    Надоело каждый раз пролистывать одни и те же посты? Зарегистрировав аккаунт, вы всегда будете возвращаться на ту же страницу, где были раньше, и сможете выбирать, получать ли уведомления о новых ответах (по электронной почте или в виде push-уведомлений). Вы также сможете сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.

    С вашими комментариями этот пост мог бы стать ещё лучше 💗

    Зарегистрироваться Войти

    • kirilljsxK

      Замкнутый WHILE-цикл на Fanuc: фрезеровка пазов без раздува кода

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена Программирование ЧПУ | CNC while-цикл fanuc g-код параметрическое программирование
      1
      1
      0 Голоса
      1 Сообщения
      6 Просмотры
      Нет ответов
    • kirilljsxK

      Макрос WHILE на Fanuc для фрезеровки массива отверстий

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена Программирование ЧПУ | CNC while макрос параметрическая фрезеровка fanuc g-код
      1
      1
      0 Голоса
      1 Сообщения
      3 Просмотры
      Нет ответов
    • kirilljsxK

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

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена Программирование ЧПУ | CNC макрос fanuc g71 цикл токарная чпу
      1
      1
      0 Голоса
      1 Сообщения
      3 Просмотры
      Нет ответов
    • kirilljsxK

      M-коды Fanuc: полный справочник для управления ЧПУ станками

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена Программирование ЧПУ | CNC m-коды fanuc чпу
      1
      0 Голоса
      1 Сообщения
      146 Просмотры
      Нет ответов
    • kirilljsxK

      М-коды M03-M05: управление шпинделем в Fanuc

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена Программирование ЧПУ | CNC м-коды fanuc шпиндель
      1
      0 Голоса
      1 Сообщения
      29 Просмотры
      Нет ответов
    • kirilljsxK

      G-код G92 в Fanuc: позиционирование и резьба без ошибок

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена Программирование ЧПУ | CNC g92 fanuc позиционирование чпу резьба cnc
      1
      0 Голоса
      1 Сообщения
      60 Просмотры
      Нет ответов
    • kirilljsxK

      G-код G73: цикл токарной обработки в Fanuc для черновой обточки

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена Программирование ЧПУ | CNC g73 fanuc токарный цикл
      1
      0 Голоса
      1 Сообщения
      58 Просмотры
      Нет ответов
    • kirilljsxK

      G72 в Fanuc: цикл токарной поперечной обработки контура

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена Программирование ЧПУ | CNC g72 fanuc токарный цикл чпу программирование
      1
      0 Голоса
      1 Сообщения
      108 Просмотры
      Нет ответов

    Категории

    • Главная
    • Новости
    • Объявления
    • ПО и ЧПУ
    • Обсуждение

    Контакты

    • Сотрудничество
    • forum@investsteel.ru

    © 2022 - 2026 InvestSteel, Inc. Все права защищены.

    Политика конфиденциальности
    • Войти

    • Нет учётной записи? Зарегистрироваться

    • Войдите или зарегистрируйтесь для поиска.
    • Первое сообщение
      Последнее сообщение
    0
    • Лента
    • Популярные
    • Последние
    • Теги
    • Пользователи
    • Сотрудничество