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

Ошибки с G90 и G91: как избежать проблем при переключении абсолютных и инкрементальных команд

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

    В CNC-программировании команды G90 и G91 определяют, как станок интерпретирует координаты: абсолютно от начала или инкрементально от текущей позиции. Ошибки при переключении между ними приводят к сбоям, столкновениям и браку деталей. Эта статья разберет типичные проблемы и покажет, как их обойти.

    Знание этих команд помогает писать надежный код, экономит время на отладку и повышает точность обработки. Мы разберем суть, примеры ошибок и правильные подходы к переключению. Это полезно для всех, кто работает с ЧПУ-станками.

    Что такое абсолютный и инкрементальный режимы

    Абсолютный режим G90 заставляет станок читать координаты как фиксированные точки от начала системы координат. Это как измерения на чертеже - каждая позиция указана от нуля. Инкрементальный G91 работает иначе: перемещения считаются от текущего положения фрезы или сверла. Такой подход удобен для повторяющихся операций, но требует осторожности.

    Представьте программу для сверления ряда отверстий. В G90 вы задаете каждую координату полностью: X10, потом X20, X30. В G91 достаточно сказать +10, +10, +10 - станок сам прибавит к текущей позиции. Но если забыть переключиться обратно, вся программа сломается. G90 и G91 модальные - они действуют до следующей команды, что и создает большинство ошибок.

    Вот типичные сценарии:

    • Переход от абсолютного к инкрементальному без возврата приводит к неожиданным прыжкам.
    • В циклах вроде G81 координаты часто инкрементальные по умолчанию, но контроллер может вести себя по-разному.

    Основные различия в таблице

    Режим Описание Пример команды Результат перемещения
    G90 (абсолютный) От начала координат G0 X50 Y30 В точку (50,30) от нуля
    G91 (инкрементальный) От текущей позиции G0 X20 Y10 +20 по X, +10 по Y от текущего

    Важно: проверяйте документацию контроллера - не все ведут себя одинаково в циклах.

    Типичные ошибки при переключении G90/G91

    Самая частая ошибка - запуск программы не с начала, когда режим “висит” с предыдущего блока. Станок в G91 воспримет абсолютные координаты как относительные и улетит в сторону. Например, после смены инструмента без явного G90 фреза может врезаться в заготовку или стол. Еще одна проблема: в подпрограммах G91 не сбрасывается, и повторный вызов ломает позиционирование.

    Рассмотрим реальный случай. Вы пишете код для фрезеровки контура: сначала G90 для подхода к началу, потом G91 для равномерных шагов по окружности. Если после цикла забыть G90, следующий абсолютный блок уйдет на 100 мм дальше. Столкновения происходят в 80% случаев из-за таких оплошностей. В MDI-режиме G90/G91 иногда игнорируются, что добавляет хаоса.

    • Ошибка 1: Нет G90 после инструмента - станок в G91 выполняет “абсолютные” команды как относительные.
    • Ошибка 2: Подпрограмма на G91 без сброса в конце - повторный вызов сдвигает все позиции.
    • Ошибка 3: Циклы G81 с L20 (повтор) предполагают G91, но основной код в G90 - несоответствие.
    • Ошибка 4: Тестирование в симуляторе не выявляет, так как он стартует с G90 по умолчанию.

    Последствия ошибок

    Ошибка Причина Как проявляется
    Нет сброса G90 Модальность Станок едет от текущей точки, а не от нуля
    G91 в MDI Игнор G-кода Команда выполняется как абсолютная
    В подпрограмме Нет M99 с G90 Сдвиг при каждом вызове

    Как правильно переключаться между режимами

    Всегда ставьте G90 или G91 перед каждым блоком перемещений, особенно после смены инструмента. Это хорошая привычка для безопасности. В подпрограммах заканчивайте G90 - так при выходе M99 режим сбросится. Для рядов отверстий используйте G91 в цикле G81: задайте первую позицию G90, затем L10 для повторов с инкрементальными шагами.

    Пример безопасного кода:

    G90
    G0 X0 Y0 Z5  (абсолютный подход)
    G91
    G81 Z-5 R1 F100 X10 L5  (инкрементальный цикл)
    G80
    G90  (сброс!)
    

    Это экономит время и предотвращает аварии. В симуляторе всегда проверяйте модальные состояния.

    • Правило 1: G90 в начале каждой секции после Txx M6.
    • Правило 2: G90 в конце подпрограмм перед M99.
    • Правило 3: Для циклов читайте мануал контроллера по умолчанию.
    • Правило 4: Тестируйте в сухом ходе с видимой траекторией.

    Преимущества умелого использования G91

    Инкрементальный режим упрощает программирование повторяющихся элементов. Вместо подсчета кумулятивных координат вы пишете простые шаги: +50, -20. Это идеально для рядов отверстий, зубьев шестерни или зеркальных копий. Подпрограммы на G91 вызываются из любой абсолютной позиции - станок сам подстроится.

    Но не переусердствуйте: для сложных контуров G90 надежнее. Комбинируйте: абсолют для базового позиционирования, инкремент для серий. Это сокращает код на 30-50% и делает его читаемым, как чертеж. Помните о модальности - один забытый сброс и привет, столкновение.

    • Плюс 1: Легко повторять равные расстояния без сложных расчетов.
    • Плюс 2: Подпрограммы универсальны для любого места детали.
    • Плюс 3: Код короче и ближе к размерам на чертеже.

    Сравнение подходов

    Задача G90 только G90 + G91
    Один ряд отверстий Длинный список X10 X20 X30… G91 X10 L3 - короче!
    Подпрограмма Пересчет каждый раз Один вызов из G90
    Отладка Легче читать Требует проверки модов

    Практические советы по избежанию ловушек

    Тестируйте программы поэтапно: запустите с G90 в начале и проверьте траекторию. Используйте safety lines - первые строки с G90 G17 G21 и т.д. Для Fanuc или Haas читайте специфику: некоторые контроллеры авто-сбрасывают в G90 при старте, но не все. В сложных программах добавляйте комментарии (O1 или 😉 перед переключениями.

    Не забывайте Z-ось: перемещения в G91 опасны при вертикальных подходах. Всегда возвращайтесь в G90 перед G28 или G00 home. Это базовые правила, но они спасут от 90% ошибок. Если программа большая, разбивайте на блоки с явными режимами.

    Надежность превыше всего в G-коде

    Мы разобрали ключевые ошибки переключения G90/G91 и способы их фикса. Осталось углубиться в контроллер-специфику - каждый имеет нюансы с циклами и модальностью. Подумайте о симуляторах вроде NCPlot для визуализации траекторий. Правильный баланс режимов сделает ваш код пуленепробиваемым.

    1 ответ Последний ответ
    0

    • kirilljsxK

      Как настроить постпроцессор FANUC для станка: пошаговая инструкция

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

      Подача при ЧПУ: как выбрать и настроить для точной обработки

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

      Ошибки Siemens Sinumerik: диагностика и устранение

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена ПO для чпу sinumerik ошибки чпу диагностика
      1
      0 Голоса
      1 Сообщения
      21 Просмотры
      Нет ответов
    • kirilljsxK

      SinuTrain: симулятор для обучения программированию ЧПУ станков Siemens

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена ПO для чпу sinutrain чпу симулятор программирование cnc
      1
      0 Голоса
      1 Сообщения
      120 Просмотры
      Нет ответов
    • locolizatorL

      Цикл расточки на станке с ЧПУ Siemens: настройка и примеры кода

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

      dl+ 0.0 dr+0.0 что за команда чпу

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

      Подробный гайд: Основные команды G-кода для CNC обработки

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

      Полный список команд и синтаксиса Heidenhain (TNC)

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

    Категории

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

    Контакты

    • Сотрудничество
    • forum@investsteel.ru
    • Наш чат
    • Наш ТГ канал

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

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

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

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