Подробное описание принципов работы всех команд G-кода в LinuxCNC

Краткая справочная таблица всех команд G-кода в LinuxCNC

КодОписание
G0Координированное движение с высокой скоростью
G1Координированное движение с подачей
G2 G3Скоординированное винтовое движение с подачей
G4Пауза
G5Кубический сплайн
G5.1Квадратичный B-сплайн
G5.2NURBS, добавить контрольную точку
G7Режим диаметра (токарный станок)
G8Режим радиуса (токарный станок)
G10 L0Перезагрузить данные таблицы инструментов
G10 L1Задать запись в таблице инструментов
G10 L10Установить таблицу инструментов, расчетную, заготовку
G10 L11Установить таблицу инструментов, расчетную, приспособление
G10 L2Настройка начала системы координат
G10 L20Вычислено значение исходной точки системы координат
G17 — G19.1Выбор плоскости
G20 G21Установить единицы измерения
G28 — G28.1Перейти к предопределенной позиции
G30 — G30.1Перейти к предопределенной позиции
G33Синхронизированное движение шпинделя
G33.1Жесткое нарезание резьбы
G38.2 — G38.5Зондирование
G40Отменить компенсацию на режущий инструмент
G41 G42Компенсация режущего инструмента
G41.1 G42.1Динамическая компенсация режущего инструмента
G43Использовать смещение длины инструмента из таблицы инструментов
G43.1Динамическое смещение длины инструмента
G43.2Применить дополнительное смещение длины инструмента
G49Отменить коррекцию длины инструмента
G52Смещение локальной системы координат
G53Перемещение в координатах машины
G54-G59.3Выберите систему координат (1–9)
G61Режим точного пути
G61.1Точный режим остановки
G64Режим управления траекторией с дополнительным допуском
G70Чистовой цикл токарного станка
G71-G72Цикл черновой обработки токарного станка
G73Цикл сверления со стружкодроблением
G74Цикл нарезания резьбы левой рукой с задержкой
G76Многопроходный цикл нарезания резьбы (токарный станок)
G80Отменить режимы движения
G81Цикл сверления
G82Цикл сверления с задержкой
G83Цикл сверления с Peck
G84Цикл правого нарезания резьбы с задержкой
G85Цикл растачивания, без задержки, подача
G86Цикл сверления, стоп, быстрый выход
G87Цикл обратного бурения (еще не реализован)
G88Цикл сверления, остановка, ручной вывод (еще не реализовано)
G89Цикл бурения, задержка, подача
G90 G91Дистанционный режим
G90.1 G91.1Режим дугового расстояния
G92Смещение системы координат
G92.1 G92.2Отменить смещения G92
G92.3Восстановить смещения G92
G93 G94 G95Режимы подачи
G96 G97Режим управления шпинделем, постоянная поверхность в зависимости от скорости вращения (дюймы в минуту или м/мин против оборотов в минуту)
G98 G99Постоянный цикл Z Режим отвода
Краткая справочная таблица всех команд G-кода

Быстрое движение G0

Для быстрого движения запрограммируйте оси G0. G0 является необязательным, если текущий режим движения — G0. Это приведет к скоординированному движению к точке назначения с максимальной скоростью. G0 обычно используется в качестве позиционирующего движения.

Быстрая скорость

Параметр MAX_VELOCITY в разделе INI-файла [TRAJ] определяет максимальную скорость быстрого перемещения. Максимальная скорость быстрого перемещения может быть выше, чем установка MAX_VELOCITY отдельных осей во время скоординированного перемещения. Максимальная скорость ускоренного подвода может быть меньше, чем установка MAX_VELOCITY в секции [TRAJ], если она ограничивается осью MAX_VELOCITY или ограничениями траектории.

Пример G0

G90  (установить режим абсолютного расстояния) 
G0 X 1 Y -2.3 (быстрое линейное перемещение от текущего местоположения к X1 Y-2.3) 
M2  (конец программы)

Если активна компенсация на режущий инструмент, движение будет отличаться от указанного выше; см. раздел «Компенсация режущего инструмента».

Если в той же строке запрограммирована G53, движение также будет другим; см. раздел G53 для получения дополнительной информации.

Траектория быстрого движения G0 может округляться при изменении направления и зависит от настроек управления траекторией и максимального ускорения осей.

Линейное перемещение G1

Для линейного (прямолинейного) движения с запрограммированной скоростью подачи (для резки или нет) запрограммируйте G1 «оси», где все команды осей являются необязательными. G1 является необязательным, если текущий режим движения — G1. Это произведет скоординированное движение к точке назначения с текущей скоростью подачи (или медленнее).

Пример G1

G90  (установить режим абсолютного расстояния) 
G1 X 1,2 Y -3 F10 (линейное перемещение с подачей 10 от текущей позиции до X1,2 Y-3)
 Z -2,3 (линейное перемещение с той же скоростью подачи от текущей позиции до Z- 2.3)
 Z 1 F25 (линейное перемещение с подачей 25 от текущей позиции до Z1) 
M2  (конец программы)

Ошибка, если:

  • Скорость подачи не установлена.
  • Буква оси не имеет реального значения.
  • Используется буква оси, которая не настроена

G2, G3 Перемещение по дуге

Дуга окружности или винтовая дуга задается с помощью G2 (дуга по часовой стрелке) или G3 (дуга против часовой стрелки) при текущей скорости подачи. Направление (CW, CCW) видно с положительного конца оси, вокруг которой происходит круговое движение.

Ось окружности или спирали должна быть параллельна осям X, Y или Z системы координат станка. Ось (или, что то же самое, плоскость, перпендикулярная оси) выбирается с помощью G17 (ось Z, плоскость XY), G18 (ось Y, плоскость XZ) или G19 (ось X, плоскость YZ).. Плоскости 17.1, 18.1 и 19.1 в настоящее время не поддерживаются. Если дуга круговая, она лежит в плоскости, параллельной выбранной плоскости.

Чтобы запрограммировать спираль, выберите ось, перпендикулярную плоскости дуги, например, если в плоскости G17, включите координату Z. Это заставит ось Z двигаться к запрограммированному значению во время кругового движения XY.

Чтобы запрограммировать дугу, которая дает более одного полного оборота, используйте команду P, указывающее количество полных оборотов плюс запрограммированную дугу. P должно быть целым числом. Если P не указан, поведение будет таким, как если бы было задано P1, то есть будет получен только один полный или частичный оборот. Например, если дуга 180 градусов запрограммирована с помощью P2, результирующее движение будет составлять 1 1/2 оборота. Для каждого приращения P выше 1 к запрограммированной дуге добавляется дополнительный полный круг. Поддерживаются многооборотные винтовые дуги, обеспечивающие движение, полезное для фрезерования отверстий или резьбы.

ПредупреждениеЕсли шаг спирали очень мал (меньше допуска CAM ), то спираль может быть преобразована в прямую линию.

Если строка кода образует дугу и включает в себя движение оси вращения, оси вращения вращаются с постоянной скоростью, так что вращательное движение начинается и заканчивается, когда начинается и заканчивается движение XYZ. Линии такого рода почти никогда не программируются.

Центр дуги является абсолютным или относительным, как установлено G90.1 или G91.1 соответственно.

Допускается два формата задания дуги: формат центра и формат радиуса.

Ошибка, если:

  • Скорость подачи не установлена.
  • P не является целым числом.

Дуги центрального формата

Дуги центрального формата более точны, чем дуги радиусного формата, и являются предпочтительным форматом для использования.

Конечная точка дуги вместе со смещением к центру дуги от текущего местоположения используются для программирования дуг, которые меньше, чем полный круг. Это нормально, если конечная точка дуги совпадает с текущим местоположением.

Смещение к центру дуги от текущего местоположения и, возможно, количество поворотов используются для программирования полных кругов.

При программировании дуг ошибка округления может возникнуть из-за использования точности менее 4 знаков после запятой (0,0000) для дюймов и менее 3 знаков после запятой (0,000) для миллиметров.

Смещения центра дуги представляют собой относительное расстояние от начального местоположения дуги. По умолчанию используется режим инкрементного дугового расстояния.

Один или несколько параметров осей и одно или несколько смещений должны быть запрограммированы для дуги меньше 360 градусов.

Для полных окружностей не должны программироваться параметры осей и одно или несколько смещений. Параметр P по умолчанию равен 1 и является необязательным.

Для получения дополнительной информации о «Режиме добавочного расстояния дуги» см. раздел G91.1.Режим абсолютного расстояния по дуге

Смещения центра дуги представляют собой абсолютное расстояние от текущего нулевого положения оси.

Один или несколько параметров осей и оба смещения должны быть запрограммированы для дуг менее 360 градусов.

Никаких осевых параметров, и оба смещения должны быть запрограммированы для полных окружностей.

Для получения дополнительной информации о «Режиме абсолютного расстояния по дуге» см. раздел G90.1.

XY-плоскость (G17)

G2  или  G3 < X - Y - Z - I - J - P ->
  • Z — спираль
  • I -X смещение
  • J -Y смещение
  • Р — количество витков

XZ-плоскость (G18)

G2  или  G3 < X - Z - Y - I - K - P ->
  • Y — спираль
  • I -X смещение
  • K -Z смещение
  • Р — количество витков

YZ-плоскость (G19)

G2  или  G3 < Y - Z - X - J - K - P ->
  • Х — спираль
  • J -Y смещение
  • K -Z смещение
  • Р — количество витков

Ошибка, если:

  • Скорость подачи не устанавливается параметром F.
  • Смещения не запрограммированы.
  • Когда дуга проецируется на выбранную плоскость, расстояние от текущей точки до центра отличается от расстояния от конечной точки до центра более чем на (0,05 дюйма/0,5 мм) ИЛИ ((0,0005 дюйма/. 005 мм) И 0,1% радиуса).

Расшифровка сообщения об ошибке Радиус до конца дуги отличается от радиуса до начала:

  • start — текущая позиция
  • center — центральная позиция, рассчитанная с использованием i, j или k параметров
  • end — запрограммированная конечная точка
  • r1 — радиус от начального положения до центра
  • r2 — радиус от конечного положения до центра

Примеры формата центра

Расчет дуг вручную иногда может быть затруднен. Один из вариантов — нарисовать дугу в программе САПР, чтобы получить координаты и смещения. Имейте в виду допуск, упомянутый выше, вам может потребоваться изменить точность вашей программы САПР, чтобы получить желаемые результаты. Другой вариант — рассчитать координаты и смещение по формулам. Как вы можете видеть на следующих рисунках, из текущего положения, конечного положения и центра дуги может быть сформирован треугольник.

На следующем рисунке вы можете видеть, что начальная позиция — X0 Y0, конечная позиция — X1 Y1. Положение центра дуги находится в точке X1 Y0. Это дает нам смещение от начальной позиции 1 по оси X и 0 по оси Y. В этом случае требуется только смещение I.

Пример линии G2

G0 X 0 Y 0 
G2 X 1 Y 1 I 1 F10 (дуга по часовой стрелке в плоскости XY)
Рис. 1. Пример G2
Рис. 1. Пример G2

В следующем примере мы видим разницу между смещениями для Y, если мы делаем движение G2 или G3. Для движения G2 начальная позиция — X0 Y0, для движения G3 — X0 Y1. Центр дуги находится в точке X1 Y0,5 для обоих перемещений. При перемещении G2 смещение J равно 0,5, а при перемещении G3 смещение J равно -0,5.

Пример строки G2-G3

G0 X 0 Y 0 
G2 X 0 Y 1 I 1 J 0,5 F25 (дуга по часовой стрелке в плоскости XY) 
G3 X 0 Y 0 I 1 J -0,5 F25 (дуга против часовой стрелки в плоскости XY)
Рисунок 2. Пример G2-G3

В следующем примере мы покажем, как дуга может образовывать спираль по оси Z, добавляя параметр Z.

Пример спирали G2

G0 X 0 Y 0 Z 0 
G17  G2 X 10 Y 16 I 3 J 4 Z -1 (дуга спирали с добавлением Z)

В следующем примере мы покажем, как сделать более одного оборота, используя параметр P.

Пример параметра P

G0 X 0 Y 0 Z 0 
G2 X 0 Y 1 Z -1 I 1 J 0,5 P 2 F25

В центральном формате радиус дуги не указывается, но его можно легко найти как расстояние от центра окружности либо до текущей точки, либо до конечной точки дуги.

Дуги формата радиуса

 Оси G2 или  G3 R - < P ->
  • R — радиус от текущего положения

Не рекомендуется программировать дуги в формате радиуса, которые являются почти полными окружностями или почти полуокружностями, потому что небольшое изменение положения конечной точки вызовет гораздо большее изменение положения центра окружности (и, следовательно, середине дуги). Эффект увеличения настолько велик, что ошибка округления числа может привести к резке вне допуска. Например, смещение на 1% конечной точки дуги в 180 градусов приводит к смещению точки на 7% на 90 градусов вдоль дуги. Почти полные круги еще хуже. Дуги других размеров (в диапазоне от крошечных до 165 градусов или от 195 до 345 градусов) допустимы.

В формате радиуса наряду с радиусом дуги указываются координаты конечной точки дуги в выбранной плоскости. Запрограммируйте оси G2 R- (или используйте G3 вместо G2 ). R — радиус. Все команды осей необязательны, за исключением того, что должно использоваться по крайней мере один из двух параметров для осей в выбранной плоскости. Число R — это радиус. Положительный радиус указывает на то, что дуга поворачивается менее чем на 180 градусов, а отрицательный радиус указывает на поворот более чем на 180 градусов. Если дуга винтовая, то также указывается значение конечной точки дуги на оси координат, параллельной оси винтовой линии.

Ошибка, если:

  • оба параметра осей выбранной плоскости опущены
  • конечная точка дуги совпадает с текущей точкой.

Пример строки G2

G17  G2 X 10 Y 15 R 20 Z 5 (формат радиуса с дугой)

В приведенном выше примере создается круговая или спиральная дуга по часовой стрелке (если смотреть с положительной оси Z), ось которой параллельна оси Z, заканчивающаяся в точках X = 10, Y = 15 и Z = 5, с радиусом 20, Если начальное значение Z равно 5, это дуга окружности, параллельная плоскости XY; в противном случае это винтовая дуга.

Задержка G4

  • P — секунды ожидания (с плавающей запятой)

Число P — это время в секундах, в течение которого все оси остаются неподвижными. Число P представляет собой число с плавающей запятой, поэтому можно использовать доли секунды. G4 не влияет на шпиндель, охлаждающую жидкость и любой ввод/вывод.

Пример строки G4

G4 P 0,5 (подождите 0,5 секунды, прежде чем продолжить)

Ошибка, если:

  • число P отрицательное или не указано.

Кубический сплайн G5

G5 X - Y - < I - J -> P - Q -
  • I — инкрементальное смещение X от начальной точки до первой контрольной точки
  • J — Y инкрементальное смещение от начальной точки до первой контрольной точки
  • P — инкрементальное смещение по X от конечной точки до второй контрольной точки
  • Q — инкрементальное смещение Y от конечной точки до второй контрольной точки

G5 создает кубический B-сплайн в плоскости XY только с осями X и Y. P и Q должны быть указаны для каждой команды G5.

Для первой команды G5 в серии команд G5 должны быть указаны обе I и J. Для последующих команд G5 необходимо указать либо I, либо J, либо ни то, ни другое. Если I и J не указаны, начальное направление этого кубика автоматически совпадет с конечным направлением предыдущего кубика (как если бы I и J были отрицанием предыдущих P и Q).

Например, чтобы запрограммировать изогнутую форму N:

G5 Образец исходного кубического сплайна

G90  G17 
G0 X 0 Y 0 
G5 I 0 J 3 P 0 Q -3 X 1 Y 1

Вторую извилистую N, которая плавно соединяется с этой, теперь можно сделать без указания I и J:G5 Пример последующего кубического сплайна

G5 P 0 Q -3 X 2 Y 2

Ошибка, если:

  • P и Q не указаны одновременно.
  • Указан только один из I или J.
  • I или J не указаны в первой из серии команд G5.
  • Указана ось, отличная от X или Y.
  • Активная плоскость не G17.

G5.1 Квадратичный сплайн

G5.1 Х - Y - I - J- _ _
  • I — инкрементальное смещение X от начальной точки до контрольной точки
  • J — Y инкрементальное смещение от начальной точки до контрольной точки

G5.1 создает квадратичный B-сплайн в плоскости XY только с осями X и Y. Отсутствие указания I или J дает нулевое смещение для неуказанной оси, поэтому необходимо указать одно или оба значения.

Например, чтобы запрограммировать параболу через начало координат от X-2 Y4 до X2 Y4:G5.1 Пример квадратичного сплайна

G90  G17 
G0 X -2 Y 4 
G5.1 X 2 I 2 J -8

Ошибка, если:

  • смещение I и J не указано или равно нулю
  • Указана ось, отличная от X или Y
  • Активная плоскость не G17

G5.2 G5.3 Блок NURBS

G5.2 < P -> <X - Y - > < L ->
 X - Y - < P ->
...
G5.3
ПредупреждениеG5.2, G5.3 являются экспериментальными и не полностью протестированы.

G5.2 предназначен для открытия блока данных, определяющего NURBS, и G5.3 для закрытия блока данных. В линиях между этими двумя кодами контрольные точки кривой определяются как с их соответствующими весами (P), так и с параметром (L), который определяет порядок кривой.

Текущая координата перед первой командой G5.2 всегда принимается как первая контрольная точка NURBS. Чтобы установить вес для этой первой контрольной точки, сначала запрограммируйте G5.2 P- без указания X Y.

Вес по умолчанию, если P не указан, равен 1. Порядок по умолчанию, если L не указан, равен 3.

G5.2 Пример

G0 X0 Y0 (rapid move)
F10 (set feed rate)
G5.2 P1 L3
 X0 Y1 P1
 X2 Y2 P1
 X2 Y0 P1
 X0 Y0 P2
G5.3
; Быстрые перемещения показывают тот же путь без блока NURBS
G0 X0 Y1
 X2 Y2
 X2 Y0
 X0 Y0
M2

Пример вывода NURBS

Пример вывода NURBS
Пример вывода NURBS

Более подробную информацию о NURBS можно найти здесь:

http://wiki.linuxcnc.org/cgi-bin/wiki.pl?NURBS

Режим диаметра токарного станка G7

Запрограммируйте G7, чтобы войти в режим диаметра для оси X на токарном станке. В режиме диаметра ось X перемещается на токарном станке на 1/2 расстояния до центра станка. Например, X1 переместит фрезу на 0,500 дюйма от центра токарного станка, что даст деталь диаметром 1 дюйм.

Режим радиуса токарного станка G8

Запрограммируйте G8, чтобы войти в режим радиуса для оси X на токарном станке. Когда в режиме радиуса ось X перемещается на токарном станке, это будет расстояние от центра. Таким образом, разрез в точке X1 приведет к получению детали диаметром 2 дюйма. При включении питания по умолчанию используется G8.

G10 L0 Перезагрузить данные таблицы инструментов

G10 L0 перезагрузит все данные таблицы инструментов. Требуется, чтобы текущий инструмент не был загружен в шпиндель.

ПримечаниеПри использовании G10 L0 параметры инструмента (#5401-#5413) будут обновлены немедленно, и любые измененные диаметры инструмента будут использоваться для последующих команд компенсации радиуса фрезы G41,42. Существующие значения компенсации длины инструмента G43 останутся в силе, пока не будут обновлены новыми командами G43.

Таблица инструментов набора G10 L1

G10 L 1 P - оси < R - I - J - Q ->
  • Р — номер инструмента
  • R — радиус инструмента
  • I — передний угол (токарный)
  • J — задний угол (токарный)
  • Q — ориентация (токарный станок)

G10 L1 устанавливает таблицу инструментов для номера инструмента P на значения слов.

Действительный G10 L1 перезаписывает и перезагружает таблицу инструментов для указанного инструмента.G10 L1

Пример строки

G10 L 1 P 1 Z 1,5 (установить смещение инструмента 1 Z от начала координат станка до 1,5) 
G10 L 1 P 2 R 0,015 Q 3 (на примере токарного станка радиус инструмента 2 установить до 0,015 и ориентацию до 3)

Ошибка, если:

  • Компенсация режущего инструмента включена
  • Номер P не указан
  • Номер P не является допустимым номером инструмента из таблицы инструментов.
  • Номер P равен 0

G10 L2 Установить систему координат

  • P — система координат (0-9)
  • R — вращение вокруг оси Z

G10 L2 смещает начало осей в указанной системе координат на значение оси. Смещение от исходной точки станка, установленной во время возврата в исходное положение. Значение смещения заменит любые текущие смещения, действующие для указанной системы координат. Неиспользуемые слова осей не будут изменены.

Запрограммируйте от P0 до P9, чтобы указать, какую систему координат следует изменить.

Р-значениеСистема координатG-код
0Активныйн/д
11G54
22G55
33G56
44G57
55G58
66G59
77G59.1
88G59.2
99G59.3

При желании запрограммируйте R, чтобы указать вращение оси XY вокруг оси Z. Направление вращения против часовой стрелки, если смотреть с положительного конца оси Z.

Все параметры оси являются необязательными.

Режим увеличения расстояния ( G91 ) не влияет на G10 L2.

Важные понятия:

  • G10 L2 Pn не меняется с текущей системы координат на систему, указанную P, вы должны использовать G54-59.3 для выбора системы координат.
  • При вращении в толчковом режиме ось будет перемещаться только по этой оси в положительном или отрицательном направлении, а не вдоль повернутой оси.
  • Если локальное смещение G52 или смещение начала координат G92 действовало до G10 L2, оно будет действовать и после.
  • При программировании системы координат с помощью R любые G52 или G92 будут применяться после поворота.
  • Система координат, начало которой задано командой G10, может быть активной или неактивной во время выполнения G10. Если он в данный момент активен, новые координаты вступают в силу немедленно.

Ошибка, если:

  • Число P не равно целому числу в диапазоне от 0 до 9.
  • Запрограммирована ось, которая не определена в конфигурации.

Пример строки G10 L2

G10 L 2 P 1 X 3,5 Y 17,2

В приведенном выше примере начало первой системы координат (выбранной с помощью G54 ) установлено равным X=3,5 и Y=17,2. Поскольку указаны только X и Y, исходная точка перемещается только по X и Y; остальные координаты не изменяются.

Пример строки G10 L2

G10 L 2 P 1 X 0 Y 0 Z 0 (очистить смещения для осей X, Y и Z в системе координат 1)

В приведенном выше примере координаты XYZ системы координат 1 устанавливаются в исходную точку станка.

Система координат описана в разделе Система координат.

G10 L10 Набор инструментов таблицы

G10 L 10 P - оси < R - I - J - Q ->
  • Р — номер инструмента
  • R — радиус инструмента
  • I — передний угол (токарный)
  • J — задний угол (токарный)
  • Q — ориентация (токарный станок)

G10 L10 изменяет запись в таблице инструментов для инструмента P, так что, если коррекция инструмента перезагружается, когда станок находится в его текущем положении и с текущими активными коррекциями G5x и G52/G92, текущие координаты для заданных осей станут заданными значениями. Оси, не указанные в команде G10 L10, не будут изменены. Это может быть полезно при перемещении датчика, как описано в разделе G38.

G10 L10 Пример

T1  M6  G43  (загрузить инструмент 1 и коррекции длины инструмента) 
G10 L 10 P 1 Z 1,5 (установить текущую позицию для Z равной 1,5) 
G43  (перезагрузить коррекции длины инструмента из измененной таблицы инструментов) 
M2  (конец программы)
  • Для получения дополнительной информации см. разделы T & M6 и G43 / G43.1.

Ошибка, если:

  • Компенсация режущего инструмента включена
  • Номер P не указан
  • Номер P не является допустимым номером инструмента из таблицы инструментов.
  • Номер P равен 0

G10 L11 Установить таблицу инструментов

G10 L 11 P - оси < R - I - J - Q ->
  • Р — номер инструмента
  • R — радиус инструмента
  • I — передний угол (токарный)
  • J — задний угол (токарный)
  • Q — ориентация (токарный станок)

G10 L11 аналогична G10 L10, за исключением того, что вместо установки ввода в соответствии с текущими корректорами, он устанавливается таким образом, чтобы текущие координаты стали заданным значением.

Это позволяет пользователю установить систему координат G59.3 в соответствии с фиксированной точкой на станке, а затем использовать это приспособление для измерения инструментов без учета других активных в данный момент смещений.

Ошибка, если:

  • Компенсация режущего инструмента включена
  • Номер P не указан
  • Номер P не является допустимым номером инструмента из таблицы инструментов.
  • Номер P равен 0

G10 L20 Установить систему координат

G10 L 20 P - оси
  • P — система координат (0-9)

G10 L20 похож на G10 L2, за исключением того, что вместо установки смещения/ввода на заданное значение, он устанавливается на вычисленное значение, которое делает текущие координаты заданным значением.G10 L20

Пример строки

G10 L 20 P 1 X 1,5 (установите текущее положение оси X в системе координат 1 на 1,5)

Ошибка, если:

  • Число P не равно целому числу в диапазоне от 0 до 9.
  • Запрограммирована ось, которая не определена в конфигурации.

G17 — G19.1 Выбор плоскости

Эти коды устанавливают текущую плоскость следующим образом:

  • G17 — XY (по умолчанию)
  • G18 — ZХ
  • G19 — YZ
  • G17.1 — UV
  • G18.1 — WU
  • G19.1 — VW

Плоскости UV, WU и VW не поддерживают дуги.

Рекомендуется включать выбор плоскости в преамбулу каждого файла G-кода.

Эффекты выбора плоскости обсуждаются в разделе G2 G3 Дуги и разделе G81 G89.

Блоки G20, G21

  • G20 — для использования дюймов в качестве единиц длины.
  • G21 — для использования миллиметров в качестве единиц длины.

Рекомендуется включать единицы измерения в преамбулу каждого файла G-кода.

G28, G28.1 Перейти/установить предопределенное положение

ПредупреждениеИспользуйте G28 только тогда, когда ваш станок находится в повторяемом положении, а желаемое положение G28 было сохранено с помощью G28.1.

G28 использует значения, сохраненные в параметрах 5161-5169, в качестве конечной точки XYZABCUVW для перемещения. Значения параметров представляют собой абсолютные машинные координаты в собственных единицах измерения, как указано в INI-файле. Все оси, определенные в файле INI, будут перемещены при выдаче команды G28. Если с помощью G28.1 не сохранено ни одного положения, то все оси перейдут к исходной точке станка.

  • G28 — совершает быстрый переход от текущего положения к абсолютному положению значений в параметрах 5161-5166.
  • Оси G28 — выполняют быстрое перемещение в положение, указанное осями, включая любые смещения, затем выполняет быстрое перемещение в абсолютное положение значений в параметрах 5161-5166 для всех указанных осей. Любая не указанная ось не будет перемещаться.
  • G28.1 — сохраняет текущую абсолютную позицию в параметры 5161-5166.

Пример строки G28

G28 Z 2,5 (быстро до Z2,5, затем до положения Z, указанного в #5163)

Ошибка, если:

  • Компенсация резца включена

G30, G30.1 Перейти/установить предопределенное положение

ПредупреждениеИспользуйте G30 только тогда, когда ваш станок находится в повторяемом положении, а желаемое положение G30 было сохранено с помощью G30.1.

G30 работает так же, как G28, но использует значения, сохраненные в параметрах 5181-5189, в качестве конечной точки XYZABCUVW для перемещения. Значения параметров представляют собой абсолютные машинные координаты в собственных единицах измерения, как указано в INI-файле. Все оси, определенные в файле INI, будут перемещены при выдаче команды G30. Если с помощью G30.1 не сохранены никакие позиции, то все оси перейдут к исходной точке станка.

ПримечаниеПараметры G30 будут использоваться для перемещения инструмента при программировании M6, если TOOL_CHANGE_AT_G30=1 находится в разделе [EMCIO] файла INI.
  • G30 — совершает быстрый переход от текущего положения к абсолютному положению значений в параметрах 5181-5189.
  • Оси G30 — выполняет быстрое перемещение в положение, указанное осями, включая любые смещения, затем выполняет быстрое перемещение в абсолютное положение значений в параметрах 5181-5189 для всех указанных осей. Любая не указанная ось не будет перемещаться.
  • G30.1 — сохраняет текущую абсолютную позицию в параметры 5181-5186.

Пример строки G30

G30 Z 2.5 (быстро до Z2.5, затем до положения Z, указанного в #5i83)

Ошибка, если:

  • Компенсация резца включена

G33 Синхронное движение шпинделя

G33 X - Y- Z - K - $-
  • K — расстояние за оборот

Для синхронизированного со шпинделем движения в одном направлении код G33 X-Y-Z-K-, где K обозначает расстояние, перемещаемое по осям XYZ за каждый оборот шпинделя. Например, если начать с Z=0, G33 Z-1 K.0625 производит перемещение на 1 дюйм по оси Z за 16 оборотов шпинделя. Эта команда может быть частью программы для создания резьбы 16TPI. Другой пример в метрической системе, G33 Z-15 K1.5 производит перемещение на 15 мм, в то время как шпиндель делает 10 оборотов для резьбы 1,5 мм.

Аргумент (необязательный) $ устанавливает, с каким шпинделем синхронизируется движение (по умолчанию — ноль). Например, G33 Z10 K1 $1 будет перемещать шпиндель синхронно со значением вывода spindle.N.revs HAL.

Движение, синхронизированное со шпинделем, ожидает индекса шпинделя и штифтов скорости шпинделя, поэтому несколько проходов выстраиваются в линию. G33 завершает перемещение в запрограммированной конечной точке. G33 можно использовать для нарезания конической резьбы или фьюза.

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

ПримечаниеK следует за линией привода, описанной X-Y-Z-. K не параллелен оси Z, если используются конечные точки X или Y, например, при нарезании конической резьбы.

Техническая информация

В начале каждого прохода G33 LinuxCNC использует скорость шпинделя и пределы ускорения станка, чтобы вычислить, сколько времени потребуется Z для ускорения после индексного импульса, и определяет, на сколько градусов шпиндель будет вращаться за это время. Затем он добавляет этот угол к положению индекса и вычисляет положение Z, используя скорректированный угол шпинделя. Это означает, что Z достигнет правильного положения, как только закончит разгон до нужной скорости, и сразу же сможет начать нарезать хорошую резьбу.

HAL-соединения

spindle.N.at-speed должен быть установлен или приведен в действие, чтобы движение началось. Кроме того, spindle.N.revs должен увеличиваться на 1 для каждого оборота шпинделя, а штифт включения spindle.N.index должен быть подключен к счетчику энкодера (или резольвера), который сбрасывает включение индекса один раз за оборот.

Дополнительную информацию о синхронизированном движении шпинделя см. в Руководстве для интеграторов.

Пример G33

G90  (режим абсолютных координат) 
G0 X 1 Z 0,1 (быстрое позиционирование) 
S100 M3  (начало вращения шпинделя) 
G33 Z -2 K 0,125 (перемещение оси Z на -2 со скоростью, равной 0,125 за оборот) 
G0 X 1,25 (быстрое отвести инструмент от заготовки)
 Z 0,1 (быстрое перемещение в начальную позицию Z) 
M2  (конец программы)
  • Дополнительную информацию см. в разделах G90, G0 и M2.

Ошибка, если:

  • При выполнении этой команды шпиндель не вращается.
  • Запрошенное линейное движение превышает пределы скорости станка из-за скорости шпинделя.

G33.1 Жесткое нарезание резьбы

G33.1 X- Y - Z - K - I - $-
  • K — расстояние за оборот
  • I — дополнительный множитель скорости шпинделя для более быстрого возврата
  • $ — дополнительный селектор шпинделя
ПредупреждениеДля Z используйте только препозицию местоположения XY перед вызовом G33.1 и используйте только команду Z в G33.1. Если указанные координаты не являются текущими координатами при вызове G33.1 для нарезания резьбы, перемещение не будет осуществляться по оси Z, а будет скоординированным, синхронизированным со шпинделем перемещением из текущего местоположения в указанное местоположение и обратно.

Для жесткого нарезания резьбы (синхронное движение шпинделя с возвратом) код G33.1 X- Y- Z- K-, где K- указывает расстояние, перемещаемое за каждый оборот шпинделя.

Жесткое нарезание состоит из следующей последовательности:

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

Движения, синхронизированные со шпинделем, ожидают индекса шпинделя, поэтому несколько проходов выстраиваются в линию. G33.1 перемещает конец в исходной координате.

Все команды оси являются необязательными, за исключением того, что хотя бы одно из них должно быть использовано.G33.1

Пример

G90  (установить абсолютный режим) 
G0 X 1,000 Y 1,000 Z 0,100 (быстрое перемещение в исходное положение) 
S100 M3  (включение шпинделя, 100 об/мин) 
G33.1 Z -0,750 K 0,05 (жесткое нарезание резьбы 20 TPI глубиной 0,750) 
M2  (конец программы)
  • Дополнительную информацию см. в разделах G90, G0 и M2.

Ошибка, если:

  • Шпиндель не вращается при выполнении этой команды
  • Запрошенное линейное движение превышает пределы скорости машины из-за скорости шпинделя

G38.n Прямое измерение щупом

  • G38.2 — остановка при контакте, сигнализация ошибки при сбое
  • G38.3 — остановка при контакте
  • G38.4 — остановка при потере контакта, сигнализация ошибки при сбое
  • G38.5 — остановка при потере контакта
ВажныйВы не сможете использовать перемещение щупа, пока ваша машина не будет настроена на подачу входного сигнала щупа. Входной сигнал зонда должен быть подключен к motion.probe-input в файле.hal. G38.n использует motion.probe-input, чтобы определить, когда датчик установил (или потерял) контакт. TRUE для замкнутого контакта датчика (касается), FALSE для разомкнутого контакта датчика.

Запрограммируйте оси G38.n для выполнения операции прямого измерения. Команды оси необязательны, за исключением того, что хотя бы одна из них должно использоваться. Команды оси вместе определяют конечную точку, к которой будет перемещаться датчик, начиная с текущего местоположения. Если датчик не сработает до того, как будет достигнуто место назначения, G38.2 и G38.4 будут сигнализировать об ошибке.

Инструмент в шпинделе должен быть щупом или контактировать с переключателем щупа.

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

КодЦелевое состояниеИзменить ориентациюСигнал ошибки
G38.2Замкнутый контактк заготовкеДа
G38.3Замкнутый контактк заготовкеНет
G38.4Разомкнутый контактот заготовкиДа
G38.5Разомкнутый контактот заготовкиНет

После успешного зондирования параметры с #5061 по #5069 будут установлены на координаты X, Y, Z, A, B, C, U, V, W местоположения контролируемой точки в момент изменения состояния зонда (в текущая рабочая система координат). После неудачного измерения устанавливаются в координаты запрограммированной точки. Параметр 5070 устанавливается на 1, если проверка прошла успешно, и на 0, если проверка не удалась. Если операция зондирования не удалась, G38.2 и G38.4 сообщат об ошибке, разместив сообщение на экране, если выбранный графический интерфейс поддерживает это. И остановив выполнение программы.

Комментарий вида (PROBEOPEN filename.txt) откроет файл filename.txt и сохранит в нем 9-значную координату, состоящую из XYZABCUVW каждого успешного прямого зондирования. Файл должен быть закрыт с помощью (PROBECLOSE).

Пример файла smartprobe.ngc включен (в каталоге примеров), чтобы продемонстрировать использование перемещений датчика для записи в файл координат детали. Программу smartprobe.ngc можно было использовать с ngcgui с минимальными изменениями.

Ошибка, если:

  • текущая точка совпадает с запрограммированной точкой.
  • команда оси не используется
  • компенсация на режущий инструмент включена
  • скорость подачи равна нулю
  • зонд уже находится в целевом состоянии

Компенсация G40 выключена

  • G40 — отключить компенсацию на режущий инструмент. Если компенсация инструмента была на следующем перемещении, оно должно быть линейным и более длинным, чем диаметр инструмента. Можно отключить компенсацию, если она уже отключена.

Пример G40

; текущая позиция X1 после чистового перемещения с компенсацией режущей кромки 
G40  (компенсация отключена) 
G0 X 1,6 (линейное перемещение длиннее текущего диаметра режущей кромки) 
M2  (конец программы)

См. разделы G0 и M2 для получения дополнительной информации.

Ошибка, если:

  • Движение по дуге G2/G3 программируется следующим после G40.
  • Линейное перемещение после выключения компенсации меньше диаметра инструмента.

G41, G42 Компенсация режущего инструмента

G41 <D-> (слева от запрограммированного пути) 
G42 <D-> (справа от запрограммированного пути)
  • D — номер инструмента

Команда D является необязательной; если нет слова D, будет использоваться радиус загруженного в данный момент инструмента (если инструмент не загружен и команда D не задано, будет использоваться радиус 0).

Команда D, если она предоставлена, является номером используемого инструмента. Обычно это номер инструмента в шпинделе (в этом случае команда D избыточна и его не нужно указывать), но это может быть любой допустимый номер инструмента.

ПримечаниеG41/G42 D0 немного особенный. Его поведение отличается на станках со случайной и неслучайной сменой инструмента (см. раздел «Смена инструмента»). На станках с неслучайной сменой инструмента G41/G42 D0 применяет коррекцию длины инструмента для инструмента, находящегося в настоящее время в шпинделе, или TLO, равное 0, если в шпинделе нет инструмента. На станках с произвольной сменой инструмента G41/G42 D0 применяет TLO инструмента T0, определенного в файле таблицы инструментов (или вызывает ошибку, если T0 не определен в таблице инструментов).

Чтобы начать коррекцию режущего инструмента слева от профиля детали, используйте G41. G41 запускает компенсацию на режущий инструмент слева от запрограммированной линии, если смотреть с положительного конца оси, перпендикулярной плоскости.

Чтобы начать коррекцию режущего инструмента справа от профиля детали, используйте G42. G42 запускает компенсацию на режущий инструмент справа от запрограммированной траектории, если смотреть с положительного конца оси, перпендикулярной плоскости.

Ход в движении должен быть не меньше радиуса инструмента. Компенсация на режущий инструмент может быть выполнена, если активна плоскость XY или XZ.

Команды пользователя M100-M199 разрешены, когда включена функция компенсации режущего инструмента.

Поведение обрабатывающего центра при включенной компенсации на режущий инструмент описано в разделе «Компенсация на режущий инструмент» вместе с примерами кода.

Ошибка, если:

  • Номер D не является допустимым номером инструмента или 0.
  • Плоскость YZ активна.
  • Подается команда на включение компенсации на режущий инструмент, когда она уже включена.

G41.1, G42.1 Динамическая компенсация режущего инструмента

G41.1 D- < L -> (слева от запрограммированного пути) 
G42.1 D- < L -> (справа от запрограммированного пути)
  • D — диаметр фрезы
  • L — ориентация инструмента (см. ориентацию инструмента токарного станка )

G41.1 и G42.1 функционируют так же, как G41 и G42, с дополнительными возможностями программирования диаметра инструмента. Команда L по умолчанию равна 0, если не указана.

Ошибка, если:

  • Плоскость YZ активна.
  • Число L не находится в диапазоне от 0 до 9 включительно.
  • Число L используется, когда плоскость XZ неактивна.
  • Подается команда на включение компенсации на режущий инструмент, когда она уже включена.

G43 Коррекция длины инструмента

G43 < Н ->
  • H — номер инструмента (необязательно)
  • G43 — включает компенсацию длины инструмента. G43 изменяет последующие движения, смещая координаты оси на длину смещения. G43 не вызывает движения. В следующий раз, когда скомпенсированная ось будет перемещена, конечной точкой этой оси будет скомпенсированное положение.

G43 без H-слова использует текущий загруженный инструмент из последнего Tn M6.

G43 Hn использует смещение для инструмента n.

ПримечаниеG43 H0 немного особенный. Его поведение отличается на станках со случайной и неслучайной сменой инструмента (см. раздел «Сменщики инструмента»). На станках с неслучайной сменой инструмента G43 H0 применяет коррекцию длины инструмента инструмента, находящегося в настоящее время в шпинделе, или TLO, равное 0, если в шпинделе нет инструмента. На станках с произвольной сменой инструмента G43 H0 применяет TLO инструмента T0, определенного в файле таблицы инструментов (или вызывает ошибку, если T0 не определен в таблице инструментов).

G43 H- Пример строки

G43 H1  (задайте коррекции инструмента, используя значения инструмента 1 в таблице инструментов)

Ошибка, если:

  • число H не является целым числом или
  • число H отрицательно, или
  • число H не является допустимым номером инструмента (хотя обратите внимание, что 0 является допустимым номером инструмента на станках с неслучайным устройством смены инструмента, это означает «инструмент, который в данный момент находится в шпинделе»)

G43.1 Динамическая коррекция длины инструмента

  • Оси G43.1 — измените последующие движения, заменив текущие смещения осей. G43.1 не вызывает движения. В следующий раз, когда скомпенсированная ось будет перемещена, конечной точкой этой оси будет скомпенсированное положение.

G43.1 Пример

G90  (установить абсолютную систему координат) 
T1  M6  G43  (загрузить инструмент 1 и скорректировать длину инструмента, Z находится на станке 0, а УЦИ показывает Z1,500) 
G43.1 Z 0,250 (смещение текущего смещения инструмента на 0,250, УЦИ теперь показывает Z1,250) 
M2  (конец программы)
  • Дополнительную информацию см. в разделах G90, Т и M6.

Ошибка, если:

  • движение задается в той же строке, что и G43.1
ПримечаниеG43.1 не записывает в таблицу инструментов.

G43.2 Применить дополнительное смещение длины инструмента

  • Н — номер инструмента
  • G43.2 — применяет дополнительную одновременную коррекцию инструмента.

G43.2 Пример

G90  (установить абсолютные координаты) 
T1  M6  (загрузить инструмент 1) 
G43  (или G43 H1 - заменить все коррекции инструмента на коррекцию T1) 
G43.2 H10 (добавить коррекцию  инструмента в T10) 
M2  (конец программы)

Вы можете суммировать произвольное количество смещений, вызвав G43.2 еще раз. Нет никаких встроенных предположений о том, какие числа являются смещениями геометрии, а какие смещениями износа, или что у вас должно быть только одно из каждого из них.

Как и другие команды G43, G43.2 не вызывает движения. В следующий раз, когда скомпенсированная ось будет перемещена, конечной точкой этой оси будет скомпенсированное положение.

Ошибка, если:

  • H не указан, и смещения осей не указаны.
  • Указан H, а данный номер инструмента отсутствует в таблице инструментов.
  • Указывается H, а также указываются оси.
ПримечаниеG43.2 не записывает в таблицу инструментов.

G49 Отмена коррекции на длину инструмента

  • G49 — отменяет компенсацию длины инструмента

Можно программировать с использованием того же смещения, которое уже используется. Также допустимо программировать без смещения длины инструмента, если в настоящее время оно не используется.

G52 Смещение локальной системы координат

G52 используется в программе обработки детали как временное «смещение локальной системы координат» в системе координат заготовки. Более подробная информация о G52 находится в разделе «Локальные и глобальные смещения».

G53 Перемещение в координатах станка

Для перемещения в системе координат станка запрограммируйте G53 на той же строке, что и линейное перемещение. G53 не является модальным и должен быть запрограммирован в каждой строке. G0 или G1 не обязательно программировать в той же строке, если она в данный момент активна.

Например, G53 G0 X0 Y0 Z0 переместит оси в исходное положение, даже если в текущей выбранной системе координат действуют смещения.

Пример G53

G53  G0 X 0 Y 0 Z 0 (быстрое линейное перемещение в исходную точку станка) 
G53 X 2 (быстрое линейное перемещение в абсолютную координату X2)

См. раздел G0 для получения дополнительной информации.

Ошибка, если:

  • G53 используется без активных G0 или G1,
  • или G53 используется при включенной коррекции на режущий инструмент.

G54-G59.3 Выбор системы координат

  • G54 — выбор системы координат 1
  • G55 — выбор системы координат 2
  • G56 — выбор системы координат 3
  • G57 — выбор системы координат 4
  • G58 — выбор системы координат 5
  • G59 — выбор системы координат 6
  • G59.1 — выбор системы координат 7
  • G59.2 — выбор системы координат 8
  • G59.3 — выбор системы координат 9

Системы координат хранят значения оси и угол поворота XY вокруг оси Z в параметрах, показанных в следующей таблице.

ВыбиратьCSXYZАBСUVWR
G5415221522252235224522552265227522852295230
G5525241524252435244524552465247524852495250
G5635261526252635264526552665267526852695270
G5745281528252835284528552865287528852895290
G5855301530253035304530553065307530853095310
G5965321532253235324532553265327532853295330
G59.175341534253435344534553465347534853495350
G59.285361536253635364536553665367536853695370
G59.395381538253835384538553865387538853895390

Ошибка, если:

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

См. раздел Система координат для обзора систем координат.

G61 Режим точного пути

  • G61 — Режим точного пути, движение точно так, как запрограммировано. Движения будут замедляться или останавливаться по мере необходимости, чтобы достичь каждой запрограммированной точки. Если два последовательных движения точно коллинеарны, то движение не остановится.

G61.1 Режим точного останова

  • G61.1 — Режим точного останова, движение останавливается в конце каждого запрограммированного сегмента.

Смешение путей G64

G64 P- Пример строки

G64 P 0,015 (установить отслеживание пути в пределах 0,015 от фактического пути)

Рекомендуется включать спецификацию управления путем в преамбулу каждого файла G-кода.

Чистовой цикл токарного станка G70

G70 Q - < X -> < Z -> <D-> < E -> < P ->
  • Q — номер подпрограммы.
  • X — начальная позиция X, по умолчанию — начальная позиция.
  • Z — начальная позиция Z, по умолчанию — начальная позиция.
  • D — начальное расстояние профиля, по умолчанию равно 0.
  • E — конечное расстояние профиля, по умолчанию равно 0.
  • P — количество используемых проходов, по умолчанию 1.

Цикл G70 предназначен для использования после того, как форма профиля, заданная в подпрограмме с номером Q, была вырезана с помощью G71 или G72.

  • Предварительное движение.
    • Если используются Z или X, выполняется быстрое перемещение в эту позицию. Это положение также используется между каждым чистовым проходом.
    • Затем выполняется быстрый переход к началу профиля.
    • Путь, указанный в Q-, следует с помощью команд G1 и G2-G3.
    • После последнего прохода инструмент остается в конце профиля, включая E-.
  • Несколько проходов. Расстояние между проходом и конечным профилем равно (pass -1)*(DE)/P+E. Где pass — номер пропуска, а D, E и P — номера D/E/P.
  • Расстояние вычисляется с использованием начальной позиции цикла с положительным расстоянием до этой точки.
  • Скругление и фаски в профиле. В профиль можно добавить скругления или фаски, подробности см. в G71-G72.

Ошибка, если:

  • Не существует подпрограммы, определенной с номером, заданным в Q.
  • G17-G19.1 не использовались для выбора плоскости ZX.

G71 G72 Циклы черновой обработки токарного станка

G71 Q- <X-> <Z-> <D-> <I-> <R->
G71.1 Q- <X-> <Z-> <D-> <I-> <R->
G71.2 Q- <X-> <Z-> <D-> <I-> <R->
G72 Q- <X-> <Z-> <D-> <I-> <R->
G72.1 Q- <X-> <Z-> <D-> <I-> <R->
G72.2 Q- <X-> <Z-> <D-> <I-> <R->
  • Q — номер подпрограммы.
  • X — начальная позиция X, по умолчанию — начальная позиция.
  • Z — начальная позиция Z, по умолчанию — начальная позиция.
  • D — оставшееся расстояние до профиля, по умолчанию равно 0.
  • I — Шаг резки, по умолчанию 1.
  • R — Расстояние отвода, по умолчанию 0,5.

Цикл G71/G72 предназначен для черновой обработки профиля на токарном станке. Циклы G71 удаляют слои материала при перемещении в направлении Z. Циклы G72 удаляют материал при перемещении по оси X, так называемый цикл торцовки. Направление движения такое же, как и в пути, указанном в подпрограмме. Для цикла G71 координата Z должна изменяться, для G72 это требуется для оси X.

Профиль задается в подпрограмме с номером Q-. Эта подпрограмма может содержать команды движения G0, G1, G2 и G3. Все остальные команды игнорируются, включая настройки подачи и скорости. Команды G0 интерпретируются как команды G1. Каждая команда движения может также включать необязательный A- или C-параметр. Если число A- будет добавлено, скругление с радиусом, заданным A, будет вставлено в конечную точку этого движения, если этот радиус слишком велик, алгоритм завершится с ошибкой пути. Также можно использовать параметр C, который позволяет вставить фаску. Эта фаска имеет те же конечные точки, что и скругление того же размера, но вместо дуги вставляется прямая линия.

В абсолютном режиме U (для X) и W (для Z) могут использоваться как инкрементальные смещения.

Циклы G7x.1 не вырезают карманы. Циклы G7x.2 режут только после первого кармана и продолжают там, где остановился G7x.1. Рекомендуется оставить некоторый дополнительный материал для резки перед циклом G7x.2, поэтому, если G7x.1 использовал D1.0, G7x.2 может использовать D0,5, и 0,5 мм будет удалено при переходе от одного кармана к другому.

Обычные циклы G7x вырезают весь профиль за один цикл.

  1. Предварительное движение.
    • Если используются Z или X, выполняется быстрое перемещение в эту позицию.
    • После вырезания профиля инструмент останавливается в конце профиля, включая расстояние, указанное в D.
  2. D используется для сохранения расстояния от окончательного профиля, чтобы оставить материал для отделки.

Ошибка, если:

  • Не существует подпрограммы, определенной с номером, заданным в Q.
  • G17-G19.1 не использовался для выбора плоскости ZX.
  • G41-G42 активен.

Цикл сверления G73 со стружкодроблением

G73 X - Y - Z - R - Q - < L ->
  • R — положение отвода по оси Z.
  • Q — приращение дельты по оси Z.
  • L — повторить

Цикл G73 — это сверление или фрезерование со стружкодроблением. Этот цикл принимает число Q, которое представляет приращение дельты по оси Z.

  • Предварительное движение.
    • Если текущая позиция Z ниже позиции R, ось Z быстро перемещается в позицию R.
    • Перейти к координатам XY
  • Переместите ось Z только с текущей скоростью подачи вниз на дельту или в положение Z, в зависимости от того, что меньше.
  • Быстрое увеличение на 0,010 дюйма или 0,254 мм.
  • Повторяйте шаги 2 и 3, пока не будет достигнуто положение Z на шаге 2.
  • Ось Z быстро перемещается в положение R.

Ошибка, если:

  • число Q отрицательное или нулевое.
  • номер R не указан

G74 Цикл левостороннего нарезания резьбы с задержкой

G74  (X- Y- Z-)  или  (U- V- W-) R - L - P - $- F -
  • R- — Положение отвода по оси Z.
  • L- — Используется в инкрементальном режиме; количество повторений цикла. См. примеры G81.
  • P- — Время задержки (секунды).
  • $- — Выбранный шпиндель.
  • F- — Скорость подачи (скорость шпинделя, умноженная на расстояние, пройденное за один оборот (шаг резьбы)).
ПредупреждениеG74 не использует синхронизированное движение.

Цикл G74 предназначен для нарезания резьбы плавающим патроном с выдержкой на дне отверстия.

  1. Предварительное движение, как описано в разделе «Предварительное и промежуточное движение».
  2. Отключите переопределение подачи и скорости.
  3. Переместите ось Z с текущей скоростью подачи в положение Z.
  4. Остановить выбранный шпиндель (выбирается параметром $)
  5. Запустите вращение шпинделя по часовой стрелке.
  6. Задержитесь на P секунд.
  7. Переместите ось Z с текущей скоростью подачи, чтобы очистить Z.
  8. Восстановить переопределение подачи и скорости позволяет вернуться в предыдущее состояние

Длина выдержки определяется командой P в блоке G74. Скорость подачи F- это скорость шпинделя, умноженная на расстояние за один оборот (шаг резьбы). В примере S100 с шагом резьбы 1,25 мм на оборот дает подачу F125.

Цикл нарезания резьбы G76

G76 P - Z - I - J- R - K - Q - H - E - L - $-
Рис. 3. Нарезание резьбы G76
Рис. 3. Нарезание резьбы G76
  • Drive Line — линия, проходящая через начальное положение X параллельно оси Z.
  • P-Шаг резьбы в расстоянии за один оборот.
  • Z- — Конечное положение нитей. В конце цикла инструмент будет в этой позиции Z.
ПримечаниеКогда активен режим диаметра токарного станка G7, значения I, J и K являются измерениями диаметра. Когда активен режим радиуса токарного станка G8, значения I, J и K являются измерениями радиуса.
  • I- — смещение вершины резьбы от линии привода. Отрицательные значения I — это внешние резьбы, а положительные значения I — внутренние резьбы. Обычно материал обтачивается до этого размера перед циклом G76.
  • J- — положительное значение, указывающее начальную глубину резания. Первый отрезок нити будет на J за вершиной нити.
  • K- — Положительное значение, определяющее полную глубину резьбы. Окончательный отрезок резьбы будет на K за вершиной резьбы.

Дополнительные настройки

  • $- — Номер шпинделя, с которым будет синхронизировано движение (по умолчанию 0). Например, если запрограммировано значение $1, то движение начнется при сбросе значения spindle.1.index-enable и продолжится синхронно со значением spindle.1.revs.
  • R-Глубина дегрессии. R1.0 выбирает постоянную глубину для последовательных проходов резьбы. R2.0 выбирает постоянную площадь. Значения между 1,0 и 2,0 выбирают уменьшение глубины, но увеличение площади. Значения выше 2,0 выбирают уменьшающуюся область. Помните, что излишне высокие значения регрессии приведут к использованию большого количества проходов. (дегрессия = спуск по этапам или ступеням.)
ПредупреждениеНе нужно задавать высокие значения регрессии, они приведут к излишне большому количеству проходов. (дегрессия = погружение поэтапно)
  • Q-Составной угол скольжения представляет собой угол (в градусах), описывающий, до какой степени последовательные проходы должны быть смещены вдоль линии привода. Это используется для того, чтобы одна сторона инструмента снимала больше материала, чем другая. Положительное значение Q заставляет переднюю кромку инструмента резать сильнее. Типичные значения: 29, 29,5 или 30.
  • H- — количество проходов пружины. Пружинные проходы — это дополнительные проходы на полную глубину резьбы. Если дополнительные проходы не нужны, запрограммируйте H0.

Входы и выходы резьбы могут быть запрограммированы со значениями E и L.

  • E- — задает расстояние вдоль линии привода, используемой для конуса. Угол конусности будет таким, чтобы последний проход сужался до гребня резьбы на расстоянии, указанном с помощью E. E0.2 дает конусность для первых/последних 0,2 единиц длины вдоль резьбы. Для программы конусности 45 градусов E такая же, как K.
  • L- — указывает, какие концы резьбы получают конус. Запрограммируйте L0 для отсутствия конуса (по умолчанию), L1 для конуса на входе, L2 для конуса на выходе или L3 для конуса как на входе, так и на выходе. Входные конусы остановятся на приводной линии, чтобы синхронизироваться с индексным импульсом, а затем переместятся со скоростью подачи к началу конуса. Входной конус отсутствует, и инструмент быстро достигает глубины резания, затем синхронизируется и начинает резку.

Инструмент перемещается в начальные положения X и Z до подачи G76. Положение X — это линия привода, а положение Z — начало резьбы.

Инструмент будет ненадолго останавливаться для синхронизации перед каждым проходом резьбы, поэтому на входе потребуется разгрузочная канавка, если только начало резьбы не выходит за край материала или не используется входной конус.

Если не используется выходной конус, выходное движение не синхронизировано со скоростью шпинделя и будет быстрым перемещением. С медленным шпинделем выходное движение может занять лишь небольшую долю оборота. Если скорость шпинделя увеличивается после выполнения нескольких проходов, для последующих выходных перемещений потребуется большая часть оборота, что приведет к очень тяжелому резу во время выходного движения. Этого можно избежать, предусмотрев разгрузочный паз на выходе или не изменяя скорость вращения шпинделя при нарезании резьбы.

Конечное положение инструмента будет в конце приводной линии. Для извлечения инструмента из отверстия потребуется безопасное перемещение по оси Z с внутренней резьбой.

Ошибка, если:

  • Активная плоскость не является плоскостью ZX.
  • Указываются другие оси, такие как X- или Y-.
  • Значение R -дегрессии меньше 1,0.
  • Не указаны все необходимые команды.
  • P-, J-, K- или H- отрицательный.
  • E- больше половины длины трансмиссии.

HAL-соединения

Контакты spindle.N.at-speed и encoder.n.phase-Z для шпинделя должны быть подключены в вашем файле HAL, прежде чем G76 заработает. Для получения дополнительной информации см. штифты шпинделя в разделе «Движение».

Техническая информация

Постоянный цикл G76 основан на синхронизированном движении шпинделя G33. Для получения дополнительной информации см. Техническую информацию о G33.

Образец программы G76 демонстрирует использование постоянного цикла G76, и его можно предварительно просмотреть и выполнить на любой машине с помощью конфигурации sim/lathe.ini.

Пример кода G76

G0 Z -0,5 X 0,2 
G76 P 0,05 Z -1 I -,075 Дж 0,008 K 0,045 Q 29,5 L 2 E 0,045

На рисунке инструмент находится в конечном положении после завершения цикла G76. Вы можете видеть путь входа справа от Q29.5 и путь выхода слева от L2 E0.045. Белые линии — режущие движения.

Рисунок 4. Пример G76
Рисунок 4. Пример G76

Стандартные циклы G80-G89

В этом разделе описаны стандартные циклы G81 – G89 и остановка стандартного цикла G80.

Все постоянные циклы выполняются относительно выбранной в данный момент плоскости. Можно выбрать любую из девяти плоскостей. В этом разделе в большинстве описаний предполагается, что выбрана плоскость XY. Поведение аналогично, если выбрана другая плоскость, и необходимо использовать правильные команды. Например, в плоскости G17.1 действие постоянного цикла происходит вдоль W, а положения или приращения задаются с помощью U и V. В этом случае замените U,V,W на X,Y,Z в инструкциях. ниже.

Команды оси вращения не допускаются в постоянных циклах. Когда активная плоскость относится к семейству XYZ, команды оси UVW не допускаются. Аналогично, когда активная плоскость относится к семейству UVW, команды осей XYZ не допускаются.

Распространенные команды

Все постоянные циклы используют группы X, Y, Z или U, V, W в зависимости от выбранной плоскости и параметров R. Положение R (обычно означающее отвод) находится вдоль оси, перпендикулярной текущей выбранной плоскости (ось Z для плоскости XY и т. д.). Некоторые стандартные циклы используют дополнительные аргументы.

Липкие команды

Для постоянных команд мы будем называть число фиксированным, если при использовании одного и того же цикла в нескольких строках кода подряд это число должно использоваться в первый раз, но необязательно для остальных строк. Липкие числа сохраняют свое значение в остальных строках, если они явно не запрограммированы на различие. Число R всегда липкое.

В режиме пошагового расстояния числа X, Y и R обрабатываются как приращения от текущего положения, а Z как приращение от положения по оси Z до того, как произойдет перемещение, включающее Z. В режиме абсолютных координат числа X, Y, R и Z являются абсолютными позициями в текущей системе координат.

Повторить цикл

Число L является необязательным и представляет собой количество повторов. L=0 не допускается. Если используется функция повтора, она обычно используется в режиме увеличения расстояния, так что одна и та же последовательность движений повторяется в нескольких равноотстоящих местах вдоль прямой линии. Когда L- больше 1 в инкрементальном режиме с выбранной плоскостью XY, положения X и Y определяются путем добавления заданных чисел X и Y либо к текущим положениям X и Y (при первом уходе на второй круг), либо к положения X и Y в конце предыдущего ухода на второй круг (на повторениях). Таким образом, если вы запрограммируете L10, вы получите 10 тактов. Первый цикл будет расстоянием X, Y от исходного местоположения. Положения R и Z не меняются во время повторов. Число L не является липким. В режиме абсолютного расстояния L больще 1 означает выполнить один и тот же цикл в одном и том же месте несколько раз. Пропуск слова L эквивалентен указанию L=1.

Режим отвода

Высота движения втягивания в конце каждого повторения (называемая чистой Z в описании ниже) определяется настройкой режима втягивания либо в исходное положение Z (если оно выше положения R, а режим втягивания установлен). G98, OLD_Z) или иначе в положение R. См. раздел G98 G99.

Ошибки стандартного цикла

Ошибка, если:

  • все команды оси отсутствуют во время постоянного цикла,
  • оси из разных групп (XYZ) (UVW) используются вместе,
  • требуется число P, и используется отрицательное число P,
  • используется число L, которое не оценивается как положительное целое число,
  • движение оси вращения используется во время постоянного цикла,
  • обратнозависимая по времени скорость подачи активна во время постоянного цикла,
  • компенсация на режущий инструмент активна во время постоянного цикла.

Если плоскость XY активна, число Z залипает, и это является ошибкой, если:

  • Z отсутствует, и тот же постоянный цикл еще не был активен,
  • число R меньше числа Z.

Если другие плоскости активны, условия ошибки аналогичны описанным выше условиям XY.

Предварительное и промежуточное движение

Предварительное движение представляет собой набор движений, общих для всех стандартных циклов фрезерования. Если текущая позиция Z находится ниже позиции R, ось Z быстро перемещается в позицию R. Это происходит только один раз, независимо от значения L.

Кроме того, в начале первого цикла и каждого повтора делаются следующие один-два хода:

  • Быстрое перемещение параллельно плоскости XY в заданную позицию XY.
  • Ось Z быстро перемещается в положение R, если она еще не находится в положении R.

Если активна другая плоскость, предварительные и промежуточные движения аналогичны.

Зачем использовать постоянный цикл?

Есть как минимум две причины для использования постоянных циклов. Во-первых, это экономия кода. Для выполнения одного отверстия потребуется несколько строк кода.

Пример 1 G81 демонстрирует, как можно использовать постоянный цикл для создания 8 отверстий с десятью строками G-кода в режиме постоянного цикла. Приведенная ниже программа создаст тот же набор из 8 отверстий, используя пять строк для постоянного цикла. Он следует не точно по тому же пути и не в том же порядке, что и в предыдущем примере. Но экономия при написании программ при хорошем постоянном цикле должна быть очевидна.

ПримечаниеНомера строк не нужны, но помогают прояснить эти примеры.

Восемь отверстий

N100  G90  G0 X 0 Y 0 Z 0 (переход в исходное положение) 
N110  G1  F10 X 0 G4 P 0,1 
N120  G91  G81 X 1 Y 0 Z -1 R 1 L 4 (постоянный цикл сверления) 
N130  G90  G0 X 0 Y 1 
N140 Z 0 
N150  G91  G81 X 1 Y 0 Z -0,5 R 1 L 4(постоянный цикл сверления) 
N160  G80  (отключение постоянного цикла) 
N170  M2  (конец программы)

G98 во второй строке выше означает, что возврат будет осуществляться к значению Z в первой строке, поскольку оно выше указанного значения R.

Двенадцать отверстий в квадрате

Этот пример демонстрирует использование команды L для повторения набора инкрементных циклов сверления для последовательных блоков кода в одном и том же режиме движения G81. Здесь мы создаем 12 отверстий, используя пять строк кода в режиме постоянного движения.

N1000  G90  G0 X 0 Y 0 Z 0 (переход в исходное положение) 
N1010  G1  F50 X 0 G4 P 0,1 
N1020  G91  G81 X 1 Y 0 Z -0,5 R 1 L 4 (постоянный цикл сверления) 
N1030 X 0 Y 1 R 0 L 3 (повторно) 
N1040 X -1 Y 0 L 3 (повторно) 
N1050 X 0 Y-1 L 2 (повтор) 
N1060  G80  (отключение постоянного цикла) 
N1070  G90  G0 X 0 (быстрое перемещение домой) 
N1080 Y 0 
N1090 Z 0 
N1100  M2  (конец программы)
Двенадцать отверстий в квадрате

Вторая причина использования постоянного цикла заключается в том, что все они производят предварительные ходы и возвраты, которые вы можете предвидеть и контролировать независимо от начальной точки постоянного цикла.

G80 Отменить постоянный цикл

  • G80 — отменить модальное движение в постоянном цикле. G80 является частью модальной группы 1, поэтому программирование любого другого G-кода из модальной группы 1 также отменит постоянный цикл.

Это ошибка, если:

  • Слова осей программируются, когда G80 активна.

Пример G80

G90  G81 X 1 Y 1 Z 1,5 R 2,8 (постоянный цикл абсолютного расстояния) 
G80  (отключение движения по постоянному циклу) 
G0 X 0 Y 0 Z 0 (быстрое перемещение в исходное положение)

Следующий код создает ту же конечную позицию и состояние машины, что и предыдущий код.Пример G0

G90  G81 X 1 Y 1 Z 1,5 R 2,8 (постоянный цикл абсолютного расстояния) 
G0 X 0 Y 0 Z 0 (быстрое перемещение в исходное положение)

Преимущество первого набора в том, что линия G80 явно выключает постоянный цикл G81. С первым набором блоков программист должен снова включить движение с помощью G0, как это делается в следующей строке, или любым другим словом G режима движения.

Если постоянный цикл не отключен с помощью G80 или другого слова движения, постоянный цикл попытается повториться, используя следующий блок кода, содержащий слово X, Y или Z. Следующий файл просверливает (G81) набор из восьми отверстий, как показано в следующей подписи.G80 Пример 1

N100  G90  G0 X 0 Y 0 Z 0 (исходная координата) 
N110  G1 X 0 G4 P 0,1 
N120  G81 X 1 Y 0 Z 0 R 1 (постоянный цикл сверления) 
N130 X 2 
N140 X 3 
N150 X 4 
N160 Y 1 Z 0,5 
N170 X 3 
N180 X 2 
N190 X 1 
N200  G80  (отключение постоянного цикла)
N210  G0 X 0 (быстрое перемещение домой) 
N220 Y 0 
N230 Z 0 
N240  M2  (конец программы)
ПримечаниеОбратите внимание на изменение положения Z после первых четырех отверстий. Кроме того, это одно из немногих мест, где номера строк имеют некоторое значение, позволяя указать читателю на определенную строку кода.

Использование G80 в строке N200 является необязательным, поскольку G0 в следующей строке выключит цикл G81. Но использование G80, как показано в примере 1, обеспечит более легкое чтение постоянного цикла. Без него не так очевидно, что все блоки между N120 и N200 относятся к постоянному циклу.

Цикл сверления G81

G81  (X-Y-Z-)  или  (U-V-W-) R - L -

Цикл G81 предназначен для сверления.

Цикл работает следующим образом:

  • Предварительное движение, как описано в разделе «Предварительное и промежуточное движение».
  • Переместите ось Z с текущей скоростью подачи в положение Z.
  • Ось Z совершает быстрое перемещение, чтобы очистить Z.
Рисунок 5. Цикл G81
Рисунок 5. Цикл G81

Пример 1 — абсолютное положение G81

G90  G98  G81 X 4 Y 5 Z 1,5 R 2,8

Предположим, что текущая позиция (X1, Y2, Z3) и предыдущая строка кода ЧПУ интерпретируется.

Это вызывает режим абсолютного расстояния (G90) и режим отвода OLD_Z (G98), а также требует однократного выполнения цикла сверления G81.

  • Значение X и позиция X равны 4.
  • Значение Y и позиция Y равны 5.
  • Значение Z и положение Z равны 1,5.
  • Значение R и чистый Z составляют 2,8. OLD_Z равно 3.

Происходят следующие ходы:

  • Быстрое перемещение параллельно плоскости XY к (X4, Y5)
  • Быстрое перемещение перемещается параллельно оси Z до (Z2.8).
  • Движение параллельно оси Z со скоростью подачи до (Z1.5)
  • Быстрое перемещение параллельно оси Z к (Z3)
Пример 2 — относительное положение G81
Пример 2 — относительное положение G81
G91  G98  G81 X 4 Y 5 Z -0,6 R 1,8 L 3

Предположим, что текущая позиция (X1, Y2, Z3) и предыдущая строка кода ЧПУ интерпретируется.

Это требует режима увеличения расстояния (G91) и режима отвода OLD_Z (G98). Он также требует трехкратного повторения цикла сверления G81. Значение X равно 4, значение Y равно 5, значение Z равно -0,6, а значение R равно 1,8. Начальная позиция X равна 5 (=1+4), начальная позиция Y равна 7 (=2+5), чистая позиция Z равна 4,8 (=1,8+3), а позиция Z равна 4,2 (=4,8-0,6). ). OLD_Z равно 3.

Первый предварительный ход — это максимально быстрое перемещение по оси Z до (X1,Y2,Z4.8), так как OLD_Z меньше clear Z.

Первый повтор состоит из 3 ходов.

  • Быстрое перемещение параллельно плоскости XY к (X5, Y7)
  • Двигжение параллельно оси Z со скоростью подачи до (Z4.2)
  • Быстрое перемещение параллельно оси Z к (X5, Y7, Z4.8)

Второй повтор состоит из 3 ходов. Позиция X сбрасывается на 9 (=5+4), а позиция Y на 12 (=7+5).

  • Быстрое перемещение параллельно плоскости XY к (X9, Y12, Z4.8)
  • Движение параллельно оси Z со скоростью подачи до (X9, Y12, Z4.2)
  • Быстрое перемещение параллельно оси Z до (X9, Y12, Z4.8)

Третий повтор состоит из 3 ходов. Позиция X сбрасывается на 13 (=9+4), а позиция Y на 17 (=12+5).

  • Быстрое перемещение параллельно плоскости XY к (X13, Y17, Z4.8)
  • Двигайтесь параллельно оси Z со скоростью подачи до (X13, Y17, Z4.2)
  • Быстрое перемещение параллельно оси Z до (X13, Y17, Z4.8)
Пример 3 — относительное положение G81
Пример 3 — относительное положение G81
G90  G98  G81 X 4 Y 5 Z 1,5 R 2,8

Теперь предположим, что вы выполняете первый блок кода G81, но из (X0, Y0, Z0), а не из (X1, Y2, Z3).

Поскольку OLD_Z меньше значения R, оно ничего не добавляет к движению, но поскольку начальное значение Z меньше значения, указанного в R, во время предварительных перемещений будет начальное перемещение Z.

Пример 4 — абсолютное значение G81 R больше Z
Пример 4 — абсолютное значение G81 R больше Z

Это график пути движения для второго блока кода g81.

G91  G98  G81 X 4 Y 5 Z -0,6 R 1,8 L 3

Поскольку этот график начинается с (X0, Y0, Z0), интерпретатор добавляет начальные Z0 и R1.8 и быстро перемещается в это место. После этого начального перемещения по оси Z функция повтора работает так же, как и в примере 3, с конечной глубиной по оси Z на 0,6 ниже значения R.

Пример 5. Относительное положение R > Z
Пример 5. Относительное положение R больше Z

G90  G98  G81 X 4 Y 5 Z -0,6 R 1,8

Поскольку этот график начинается с (X0, Y0, Z0), интерпретатор добавляет начальные Z0 и R1.8 и быстро перемещается в это место, как в примере 4. После этого начального перемещения по оси Z выполняется быстрое перемещение на X4 Y5. Тогда окончательная глубина Z будет на 0,6 ниже значения R. Функция повтора заставит Z снова двигаться в том же месте.

Цикл сверления G82, выдержка

G82  (X-Y-Z-)  или  (U-V-W-) R - L - P -

Цикл G82 предназначен для сверления с выдержкой.

  • Предварительное движение, как описано в разделе «Предварительное и промежуточное движение».
  • Переместите ось Z с текущей скоростью подачи в положение Z.
  • Задержка на P секунд.
  • Ось Z совершает быстрое перемещение, чтобы очистить Z.

Движение постоянного цикла G82 выглядит точно так же, как G81, с добавлением задержки в нижней части Z-движения. Длина выдержки определяется командой P в блоке G82.

G90  G82  G98 X 4 Y 5 Z 1,5 R 2,8 P 2

Это будет похоже на пример 3 выше, только с добавленной задержкой на 2 секунды на дне отверстия.

Цикл сверления со стружкодроблением G83

G83  (X-Y-Z-)  или  (U-V-W-) R - L - Q -

Цикл G83 предназначен для глубокого сверления или фрезерования со стружкодроблением. Отводы в этом цикле очищают отверстие от стружки и отрезают любую длянную стружку (которые часто встречаются при сверлении алюминия). Этот цикл принимает число Q, которое представляет приращение дельты по оси Z. Отвод перед конечной глубиной всегда будет в плоскости отвода, даже если действует G98. Окончательный ретракт будет соответствовать действующей G98/99. G83 действует так же, как G81, с добавлением отводов во время операции сверления.

  • Предварительное движение, как описано в разделе «Предварительное и промежуточное движение».
  • Переместите ось Z с текущей скоростью подачи вниз на дельту или в положение Z, в зависимости от того, что меньше.
  • Быстрое перемещение обратно в плоскость отвода, указанную командой R.
  • Быстрое перемещение обратно к текущему дну отверстия, меньше 0,010 дюйма или 0,254 мм.
  • Повторение шагов 2, 3 и 4, пока не будет достигнуто положение Z на шаге 2.
  • Ось Z совершает быстрое перемещение, чтобы очистить Z.

Ошибка, если:

  • знычение Q отрицательное или нулевое.

G84 Цикл правого нарезания резьбы, пауза

G84  (X-Y-Z-)  или  (U-V-W-) R - L - P - $- F -
  • R- — положение отвода по оси Z.
  • L- — Используется в инкрементальном режиме; количество повторений цикла. См. примеры G81.
  • P- — Время задержки (секунды).
  • $- — Выбранный шпиндель.
  • F- — Скорость подачи (скорость шпинделя, умноженная на расстояние, пройденное за один оборот (шаг резьбы)).
ПредупреждениеG84 не использует синхронизированное движение.

Цикл G84 предназначен для нарезания резьбы плавающим патроном с выдержкой на дне отверстия.

  • Предварительное движение, как описано в разделе «Предварительное и промежуточное движение».
  • Отключение переопределение подачи и скорости.
  • Перемщение оси Z с текущей скоростью подачи в положение Z.
  • Остановка шпинделя (выбирается параметром $)
  • Вращение шпинделя против часовой стрелки.
  • Задержика на P секунд.
  • Перемещение оси Z с текущей скоростью подачи, чтобы очистить Z.
  • Восстановление переопределение подачи и скорости позволяет вернуться в предыдущее состояние

Длина выдержки определяется командой P в блоке G84. Скорость подачи F- это скорость шпинделя, умноженная на расстояние за один оборот (шаг резьбы). В примере S100 с шагом резьбы 1,25 мм на оборот дает подачу F125.

Цикл сверления G85, подача

G85  (X-Y-Z-)  или  (U-V-W-) R - L -

Цикл G85 предназначен для растачивания или развертывания, но может использоваться для сверления или фрезерования.

  • Предварительное движение, как описано в разделе «Предварительное и промежуточное движение».
  • Перемещение оси Z только с текущей скоростью подачи в положение Z.
  • Отвод оси Z с текущей скоростью подачи в плоскость R, если она ниже начальной Z.
  • Отвод со скоростью перемещения, чтобы очистить Z.

Цикл сверления G86, остановка шпинделя, быстрое перемещение

G86  (X-Y-Z-)  или  (U-V-W-) R - L - P - $-

Цикл G86 предназначен для растачивания. В этом цикле используется команда P для количества секунд задержки.

  • Предварительное движение, как описано в разделе «Предварительное и промежуточное движение».
  • Перемещение оси Z только с текущей скоростью подачи в положение Z.
  • Задержка на P секунд.
  • Остановка шпинделя. (Выбирается параметром $)
  • Ось Z совершает быстрое перемещение, чтобы очистить Z.
  • Перезапустите шпиндель в том направлении, в котором он двигался.

Ошибка, если:

  • шпиндель не вращается до выполнения этого цикла.

Цикл обратного растачивания G87

Этот код в настоящее время не реализован в LinuxCNC.

Цикл расточки G88, остановка шпинделя, ручной выход

Этот код в настоящее время не реализован в LinuxCNC.

Цикл растачивания G89, задержка, подача

G89  (X-Y-Z-)  или  (U-V-W-) R - L - P -

Цикл G89 предназначен для растачивания. В этом цикле используется число P, где P указывает количество секунд задержки.

  • Предварительное движение, как описано в разделе «Предварительное и промежуточное движение».
  • Перемещение оси Z с текущей скоростью подачи в положение Z.
  • Задержка на P секунд.
  • Отвод оси Z с текущей скоростью подачи, чтобы очистить Z.

G90, G91 Дистанционный режим

  • G90 — режим абсолютного расстояния В режиме абсолютного расстояния номера осей (X, Y, Z, A, B, C, U, V, W) обычно представляют позиции в текущей активной системе координат. Любые исключения из этого правила подробно описаны в разделе G80 G89.
  • G91 — режим приращения расстояния В режиме приращения расстояния номера осей обычно представляют собой приращения от текущей координаты.

Пример G90

G90  (установить режим абсолютного расстояния) 
G0 X 2,5 (быстрое перемещение к координате X2,5, включая любые действующие смещения)

Пример G91

G91  (установить режим увеличения расстояния) 
G0 X 2,5 (быстрое перемещение на 2,5 от текущего положения по оси X)
  • См. раздел G0 для получения дополнительной информации.

G90.1, G91.1 Режим дугового расстояния

  • G90.1 — режим абсолютного расстояния для смещений I, J и K. Когда действует G90.1, I и J должны быть указаны вместе с G2/3 для плоскости XY или J и K для плоскости XZ, иначе будет ошибка.
  • G91.1 — режим инкрементного расстояния для смещений I, J и K. G91.1 Возвращает I, J и K к их поведению по умолчанию.

Смещение системы координат G92

Оси G92
ПредупреждениеИспользуйте G92 только после того, как ваша машина будет расположена в нужной точке.

G92 заставляет текущую точку иметь нужные вам координаты (без движения), где значения осей содержат нужные вам номера осей. Все оси являются необязательными, за исключением того, что хотя бы одна из них должна использоваться. Если параметры оси не используется для данной оси, смещение для этой оси будет равно нулю.

Когда выполняется G92, перемещаются начала всех систем координат. Они перемещаются таким образом, что значение текущей контролируемой точки в текущей активной системе координат становится заданным значением. Все начала системы координат (G53-G59.3) смещены на это же расстояние.

G92 использует значения, сохраненные в параметрах 5211-5219, в качестве значений смещения XYZABCUVW для каждой оси. Значения параметров представляют собой абсолютные машинные координаты в собственных единицах измерения, как указано в INI-файле. Все оси, определенные в файле INI, будут смещены, когда активна G92. Если ось не была введена после G92, смещение этой оси будет равно нулю.

Например, предположим, что текущая точка находится в точке X=4, и в настоящее время нет активного смещения G92. Затем программируется G92 X7. Это перемещает все исходные точки на -3 по оси X, в результате чего текущая точка становится равной X=7. Это -3 сохраняется в параметре 5211.

Режим увеличения расстояния (G91 вместо G90) не влияет на действие G92.

Смещения G92 могут уже действовать, когда вызывается G92. В этом случае смещение заменяется новым смещением, которое делает текущую точку заданным значением.

Ошибка, если все команды оси опущены.

LinuxCNC сохраняет смещения G92 и повторно использует их при следующем запуске программы. Чтобы предотвратить это, можно запрограммировать G92.1 (чтобы стереть их) или запрограммировать G92.2 (чтобы удалить их — они все еще сохраняются).

ПримечаниеДля изменения этого смещения также можно использовать команду G52; см. раздел «Смещения» для получения более подробной информации о G92 и G52 и о том, как они взаимодействуют.

См. раздел Система координат для обзора систем координат.

Дополнительную информацию см. в разделе «Параметры».

G92.1, G92.2 Сброс смещения G92

  • G92.1 — отключить смещения G92 и обнулить параметры 5211 — 5219.
  • G92.2 — отключить смещения G92, но оставить параметры 5211 — 5219 доступными.
ПримечаниеG92.1 очищает только смещения G92, чтобы изменить смещения системы координат G53-G59.3 в G-коде, используйте либо G10 L2, либо G10 L20.

G92.3 Восстановить смещения G92

  • G92.3 — установит смещение G92 на значения, сохраненные в параметрах с 5211 по 5219.

Вы можете установить смещения осей в одной программе и использовать те же смещения в другой программе. Запрограммируйте G92 в первой программе. Это установит параметры с 5211 по 5219. Не используйте G92.1 в оставшейся части первой программы. Значения параметров будут сохранены при выходе из первой программы и восстановлены при запуске второй. Используйте G92.3 в начале второй программы. Это восстановит смещения, сохраненные в первой программе.

G93, G94, G95 Режим скорости подачи

  • G93 — режим обратнозависимого времени. В режиме обратнозависимой скорости подачи команда F означает, что перемещение должно быть выполнено за [единицу, деленную на число F] минут. Например, если число F равно 2,0, ход должен быть выполнен за полминуты.Когда активен режим обратнозависимой скорости подачи, команда F должна появляться в каждой строке, в которой есть движение G1, G2 или G3, а F в строке, в которой нет G1, G2 или G3, игнорируется. Нахождение в режиме обратнозависимой скорости подачи не влияет на движения G0 ( быстрое перемещение ).
  • G94 — режим единиц измерения в минуту. В режиме подачи единиц измерения в минуту F интерпретируется как означающее, что контролируемая точка должна перемещаться на определенное количество дюймов в минуту, миллиметров в минуту или градусов в минуту, в зависимости от того, какие единицы длины используются и какая ось или оси движутся.
  • G95 — Режим единиц за оборот. В режиме единиц за оборот F интерпретируется как означающее, что контролируемая точка должна перемещаться на определенное количество дюймов за оборот шпинделя, в зависимости от того, какие единицы длины используются и какая ось или оси используются. G95 не подходит для нарезания резьбы, для нарезания резьбы используйте G33 или G76. G95 требует, чтобы входная скорость шпинделя была подключена. Фактический шпиндель, с которым синхронизируется подача, выбирается параметром $

Ошибка, если:

  • Активен режим инверсной подачи по времени, и строка с G1, G2 или G3 (явно или неявно) не имеет F.
  • Новая скорость подачи не указывается после переключения на G94 или G95

G96, G97 Режим управления шпинделем

G96 <D-> S - <$-> (режим постоянной скорости у поверхности) 
G97  S - <$-> (режим об/мин)
  1. D — максимальная скорость вращения (об/мин), опционально
  2. S — скорость шпинделя
  3. $ — шпиндель, скорость которого будет варьироваться, опционально.
    • G96 S- D- — выбирает постоянную скорость поверхности S:
      • В футах в минуту, если действует G20,
      • или метров в минуту, если действует G21.

При использовании G96 убедитесь, что X0 в текущей системе координат (включая смещения и длины инструмента) является центром вращения, иначе LinuxCNC не даст желаемой скорости поверхности. На G96 не влияет режим радиуса или диаметра.

Для достижения режима CSS на выбранных шпинделях запрограммируйте последовательные команды G96 для каждого шпинделя до выдачи M3.

  • G97 выбирает режим RPM.

Пример строки G96

G96 D 2500 S250 (установить CSS с максимальным числом оборотов в минуту 2500 и поверхностной скоростью 250)

Ошибка, если:

  • S не указывается с G96
  • Движение подачи указано в режиме G96, когда шпиндель не вращается.

G98, G99 Уровень возврата постоянного цикла

Когда шпиндель поднимается во время постоянных циклов, есть два варианта того, как он это делает:

  • G98 — возврат в положение, в котором ось находилась непосредственно перед запуском этой серии из одного или нескольких последовательных постоянных циклов.
  • G99 — возврат в положение, указанное значением R постоянного цикла.

Запрограммируйте G98, и постоянный цикл будет использовать положение Z до постоянного цикла в качестве положения возврата по оси Z, если оно выше, чем значение R, указанное в цикле. Если оно ниже, будет использоваться значение R. R имеет разные значения в режиме абсолютного расстояния и в режиме инкрементного расстояния.

G98 Отвод в исходное положение

G0 X 1 Y 2 Z 3 
G90  G98  G81 X 4 Y 5 Z -0,6 R 1,8 F10

G98 во второй строке выше означает, что обратный ход будет осуществляться до значения Z в первой строке, поскольку оно выше указанного значения R.

Исходная (G98) плоскость сбрасывается каждый раз, когда режим движения цикла прерывается, явно (G80) или неявно (любой код движения, не являющийся циклом). Переключение между режимами цикла (скажем, с G81 на G83) НЕ сбрасывает начальную плоскость. Можно переключаться между G98 и G99 в течение серии циклов.

Вам может также понравиться...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *


Срок проверки reCAPTCHA истек. Перезагрузите страницу.