LinuxCNC / G-code

Материал из Wiki CNC
Перейти к навигации Перейти к поиску

Содержание

G-codes

Термины и обозначения

В текущем руководстве используются следующие обозначения:
<-> (дефис) - действительное значение.
<AXES> - одна или несколько доступных осей в конфигурации данного оборудования.
<AXIS> - только одна из доступных осей в конфигурации данного оборудования.
Абсолютная система координат - система координат, относительно датчиков домашнего положения станка. Данную систему координат пользователь не может изменить.
Относительная система координат - система координат, указанная пользователем. Используется для выставления нулевых координат относительно заготовки и другого.


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

Значение P Система координат G-code
0 Активный -
1 1 G54
2 2 G55
3 3 G56
4 4 G57
5 5 G58
6 6 G59
7 7 G59.1
8 8 G59.2
9 9 G59.3

G0 (Rapid move / Ускоренное перемещение)

GO AXES -

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

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

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

G1 (Linear Move / Линейное перемещение)

G1 AXES-
Для линейного (прямолинейного) движения с запрограммированной скоростью подачи укажите G1 [AXES], где указание всех осей является не обязательным. G1, также не является обязательным, если текущий режим движения установлен G1. Команда G1 приведет к перемещению указанной оси в указанную позицию.

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

G2,G3 (Arc Move / Круговая интерполяция)

Дуга окружности или винта задается с помощью G2 (дуга по часовой стрелке) или G3 (дуга против часовой стрелки) при текущей скорости подачи. Ось окружности или спирали должна быть параллельна оси 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 к запрограммированной дуге добавляется дополнительный полный круг. Поддерживаются многооборотные винтовые дуги, которые обеспечивают движение, полезное для фрезерования отверстий или резьбы.
Если строка кода образует дугу и включает движение оси вращения, оси вращения вращаются с постоянной скоростью, так что вращательное движение начинается и заканчивается, когда движение XYZ начинается и заканчивается. Такие линии практически не программируются.



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

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

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

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

Режим абсолютного расстояния до дуги

Смещения центра дуги - это абсолютное расстояние от текущего нулевого положения оси. Одно или несколько слов осей и оба смещения должны быть запрограммированы для дуг менее 360 градусов. Для полных кругов нельзя программировать слова осей и оба смещения. В P слово по умолчанию 1 и не является обязательным. Примеры:
XY-плоскость (G17)
G2 or G3 <X- Y- Z- I- J- P->
Z - спираль
I - X смещение
J - смещение по оси Y
P - количество витков


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

G0 X0 Y0 G2 X1 Y1 I1 F10 (дуга по часовой стрелке в плоскости XY)

G2.PNG

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

G2 1.PNG


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

G2 или G3 AXES R- P-
R - радиус от текущей позиции

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


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

G17 G2 X10 Y15 R20 Z5 (формат радиуса с дугой)

G4 (Dwell / Временная задержка)

G4 P-
Указанное после P число - время в секундах в течение которого произойдет задержка и все оси станка будут неподвижными.


G10 L1 (Set tool table / Таблица инструментов)

G10 L1 P- AXIS R-
G10 L1 изменяет таблицу инструментов на указанное значение.
Пример:
G10 L1 P1 Z1.5 (Установить смещение инструмента #1 по оси Z от исходной точки станка на 1,5)
G10 L1 P2 R0.015 Q3 (пример на токарном станке, устанавливающий радиус инструмента 2 на 0,015 и ориентацию на 3)

G10 L2 (Set coordinat system / Установить систему координат)

G10 L2 P- AXIS R-
G10 L2 смещает начало осей в указанной системе координат на указанное значение. Смещение происходит от исходной точки станка, установленной во время возврата в исходное положение. Значение смещения заменит любые текущие смещения, действующие для указанной системы координат. Неуказанные оси не будут изменены. P - указанная система координат.
При желании укажите R, чтобы указать вращение плоскости XY вокруг оси Z. Направление вращения - против часовой стрелки, если смотреть с положительного конца оси Z. Все слова оси необязательны. Режим перемещения G91 не влияет на G10 L2.
Пример:
G10 L2 P1 X3,5 Y17,2
В приведенном выше примере начало первой системы координат (выбранной G54) установлено равным X = 3,5 и Y = 17,2. Поскольку указаны только X и Y, исходная точка перемещается только по X и Y; остальные координаты не меняются.

G10 L10 (Set tool table / Заменить таблицу инструментов)

G10 L10 P- AXES R- I- J- Q-
P - номер инструмента
R - радиус инструмента
I - передний угол (только для токарного станка)
J - задний угол (только для токарного станка)
Q - ориентация (только для токарного станка)
G10 L10 изменяет запись в таблице инструментов для инструмента P, так что если коррекция инструмента перезагружается, когда станок находится в его текущем положении и с активными текущими корректорами G5x и G52 / G92, текущие координаты для данных осей становятся заданными значениями. Оси, которые не указаны в команде G10 L10, не будут изменены.
Пример
T1 M6 (Заменить инструмент на 1-ый) G10 L10 P1 Z1.5 (установить текущую позицию по оси Z равной 1.5) G43 (установить смещение по оси Z из таблицы инструментов для текущего инструмента) M2 (конец программы)

G10 L11

G10 L11 P- AXES <R- I- J- Q
P - номер инструмента
R - радиус инструмента
I - передний угол (только для токарного станка)
J - задний угол (только для токарного станка)
Q - ориентация (только для токарного станка)

G10 L11 аналогичен G10 L10, за исключением того, что вместо настройки ввода в соответствии с текущими смещениями он устанавливается так, что текущие координаты станут заданным значением, если новое смещение инструмента будет перезагружено и станок будет помещен в G59.3. система координат без активного смещения G52/G92.

===G10 L20 (Set coordinate system / Установить систему координат) G10 L20 P- AXES
P - номер системы координат
G10 L20 аналогичен G10 L2, за исключением того, что вместо установки смещения / входа на заданное значение он устанавливается на вычисленное значение, которое делает текущие координаты заданным значением. Пример G10 L20 P1 X1.5 (установить текущее положение оси X в координатной системе 1 в значение 1.5)

G17 - G19.1 (Plane Select / Выбор координатной плоскости)

G17 - XY (по умолчанию)
G18 - ZX
G19 - YZ
G17.1 - UV
G18.1 - WU
G19.1 - VW
Обратите внимание, что в настоящий момент плоскости UV, WU и VW не поддерживают дуги.
Рекомендуется включать выбор плоскости в преамбулу каждого файла G-кода.

G20 или G21 (Set unit / Выбор единиц измерения)

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

G28, G28.1 (Go/Set Predefined Position / Перейти/Установить предопределенную позицию)

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

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

G28.1 - сохраняет текущее абсолютное положение в параметрах 5161-5166.
Пример:
G28 Z2.5 (ускоренное перемещение по оси Z в точку из параметра #5163)

G30, G30.1 (Go/Set Predefined Position / Перейти/Установить предопределенную позицию)

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

G30 - выполняет быстрое перемещение от текущей позиции к абсолютной позиции значений в параметрах 5181-5189.
Оси G30 - выполняет быстрое перемещение в положение, указанное осями, включая любые смещения, затем выполняет быстрое перемещение к абсолютному положению значений в параметрах 5181-5189 для всех указанных осей . Любая не указанная ось не будет двигаться.

G30.1 - сохраняет текущее абсолютное положение в параметрах 5181-5189.
Пример:
G30 Z2.5 (ускоренное перемещение по оси Z в точку из параметра #5183)

G38 (Straight Probe / Измерение)

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

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

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

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

G40 (Compensation Off / Отключение компенсации)

G40
Слово D необязательно; если нет слова D, будет использоваться радиус загруженного в данный момент инструмента (если инструмент не загружен и слово D не задано, будет использоваться радиус 0). Если имеется, слово D - это номер инструмента, который нужно использовать. Обычно это номер инструмента в шпинделе (в этом случае слово D избыточно и не требуется), но это может быть любой действительный номер инструмента. G40 - выключить компенсацию на режущий инструмент. Если компенсация инструмента выполнялась, следующее перемещение должно быть линейным и длиннее диаметра инструмента.

G41 D-
G42 D-
D - номер инструмента

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

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

Шаг в движении должен быть не меньше радиуса инструмента. Опережение в движении может быть быстрым.

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

===G41, G42 (Cutter Compensation / Коррекция на режущий инструмент)

G43 (Tool Length Offset / Коррекция длины инструмента)

G43 H-
H - номер инструмента (необязательно)
G43 позволяет корректировать длину инструмента. G43 изменяет последующие движения, смещая координаты оси на длину смещения. G43 не вызывает движения.
В следующий раз, когда скомпенсированная ось перемещается, конечная точка этой оси будет скомпенсированным положением.
G43 без слова H использует текущий загруженный инструмент из последнего Tn M6.
G43 Hn использует коррекцию для инструмента n.
Пример:
G43 H1 (установить коррекции инструмента, используя значения из инструмента 1 в таблице инструментов)

G49 (Cancel Tool Length Compensation / Отмена компенсации длины инструмента)

G49
G49 - отменяет коррекцию на длину инструмента.

G53 (Move to machine system coordinate / Перемещение в абсолютной системе координат)

G53 Перемещение в абсолютной системе координат.

G54-G59.3 (Coordinat System / Выбор координатной системы)

Системы координат G54-G59, G59.1, G59.2, G59.3.

G61 (Exact Path Mode / Режим точного пути)

G61 <br Метод сглаживания траектории при котором LinuxCNC будет точно следовать заданной траектории, вплоть до полной остановки.

G61.1 (Exact Stop Mode / Режим полной остановки)

G61.1
Режим полной остановки.

G64 (Continuous Mode / Режим постоянного перемещения)

G64 P-
P - допуск отклонения в единицах измерения.
Непрерывный режим. Это значит, что LinuxCNC может откланяться от траектории на установленное значение P, для достижения наилучшей возможной скорости обработки.
Если указать G64 без параметра P, траектория будет отклоняться для сохранения максимальной скорости обработки.

G73 (Drilling Cycle with Chip Breaking / Цикл сверления с ломкой стружки)

G73 X- Y- Z- R- Q- L-
R - положение отвода по оси Z.
Q - приращение дельты по оси Z.
L - количество повторений.

G80 (Cancel Canned Cycle / Отмена постоянного цикла)

G80
G80 - отменить модальное движение постоянного цикла. G80 является частью модальной группы 1, поэтому программирование любого другого G-кода из модальной группы 1 также отменит постоянный цикл.
Пример: G90 G81 X1 Y1 Z1.5 R2.8 (режим абсолютного перемещения)
G80 (отмена постоянного цикла)
G0 X0 Y0 Z0 (ускоренное перемещение в домашнее положение)

Следующий код производит такое же конечное положение и состояние машины, что и предыдущий код.
G90 G81 X1 Y1 Z1.5 R2.8 (режим абсолютного перемещения) G0 X0 Y0 Z0 (ускоренное перемещение в домашнее положение)

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

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

N100 G90 G0 X0 Y0 Z0 (coordinate home)
N110 G1 X0 G4 P0.1
N120 G81 X1 Y0 Z0 R1 (canned drill cycle)
N130 X2
N140 X3
N150 X4
N160 Y1 Z0.5
N170 X3
N180 X2
N190 X1
N200 G80 (turn off canned cycle)
N210 G0 X0 (rapid move home)
N220 Y0
N230 Z0
N240 M2 (program end)

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

G81 (Drilling Cycle / Цикл сверления)

G81 AXES- R- L-
Цикл G81 предназначен для сверления.
Цикл работает следующим образом:

  1. Предварительное движение.
  2. Переместите ось Z с текущей скоростью подачи в положение Z.
  3. Ускоренная подача оси Z.

Пример 1
Предположим, что текущая позиция - (X1, Y2, Z3) и интерпретируется следующая строка кода NC.
G90 G98 G81 X 4 Y 5 Z 1,5 R 2,8
Это вызывает режим абсолютного расстояния (G90) и режим отвода OLD_Z (G98) и вызывает однократное выполнение цикла сверления G81.
Значение X и положение X равны 4.
Значение Y и положение Y равны 5.
Значение Z и положение Z равны 1,5.
Значение R и чистый Z равны 2,8. OLD_Z равно 3.

Происходят следующие перемещения:
быстрое движение параллельно плоскости XY на к (Х4, Y5)
быстрое перемещение перемещение параллельно оси Z до (Z2.8).
двигаться параллельно оси Z со скоростью подачи до (Z1,5)
быстрое перемещение параллельно оси Z на (Z3)

G81 1.PNG

Пример 2
Предположим, что текущая позиция - (X1, Y2, Z3) и интерпретируется следующая строка кода NC.
G91 G98 G81 X 4 Y 5 Z - 0,6 R 1,8 L 3
Это вызывает режим приращения расстояния (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-к (Х9, 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)
G81 2.PNG

Пример 3
Теперь предположим, что вы выполняете первый блок кода G81, но из (X0, Y0, Z0), а не из (X1, Y2, Z3).
G90 G98 G81 X4 Y5 Z1.5 R2.8
Поскольку OLD_Z ниже значения R, он ничего не добавляет для движения, но поскольку начальное значение Z меньше значения, указанного в R, во время предварительных перемещений будет начальное перемещение по Z.
G81 3.PNG

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

G81 4.PNG

G82 (Drilling Cycle, Dwell / Цикл сверления с паузой)

G82 AXES- R- L- P-
Цикл G82 предназначен для сверления с зазором на дне отверстия.

  1. Перемещение к точке.
  2. Переместите ось Z с текущей скоростью подачи в положение Z.
  3. Задержка на P секунд.
  4. Ускоренное перемещение оси Z.

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

G83 (Peck Drilling Cycle / Цикл глубокого сверления)

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

  1. Перемещение к точке.
  2. Переместите ось Z с текущей скоростью подачи вниз по дельте или в положение Z, в зависимости от того, что меньше..
  3. Ускоренное перемещение к плоскости отвода, указанной словом R..
  4. Ускоренное перемещение назад к дну текущего отверстия, немного отступив..
  5. Повторяйте шаги 2, 3 и 4, пока на шаге 2 не будет достигнуто положение Z..
  6. Быстрый подъем оси Z.

G90 (Absolute Distance Mode / Режим абсолютного перемещения)

G90
Режим перемещения в абсолютных значениях.
Пример:
G90
G1 X100
В приведенном примере произойдет перемещение в точку X100.

G91 (Incremental Distance Mode / Режим инкрементного перемещения)

G91
Режим перемещения в приращениях. Пример:
G91
G1 X100
В приведенном примере ожидается, что станок переместится на 100 единиц по оси X.

G92 (Coordinate System Offset / Смещение системы координат)

G92 AXES
G92 задает координаты текущей точки, которые вы хотите (без движения), где слова оси содержат нужные вам номера осей. Указание всех осей является необязательным, за исключением того, что необходимо использовать хотя бы одно. Если указание какой либо оси отсутствует, смещение для этой оси будет нулевым.
Когда выполняется G92, исходные точки всех систем координат перемещаются. Они перемещаются таким образом, что значение текущей контролируемой точки в текущей активной системе координат становится заданным значением. Все исходные точки системы координат (G53-G59.3) смещены на это же расстояние.
G92 использует значения, хранящиеся в параметрах 5211-5219, как значения смещения XYZABCUVW для каждой оси. Значения параметров представляют собой абсолютные координаты машины в собственных единицах измерения машины. Указанные оси будет смещены, когда активна G92. Если ось не была введена после G92, смещение этой оси будет нулевым.
Например, предположим, что текущая точка находится в X = 4, и в настоящее время нет активного смещения G92 . Затем программируется G92 X7 . Это перемещает все исходные точки на -3 в X, в результате чего текущая точка становится X = 7. Это -3 сохраняется в параметре 5211.

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

G92.1, G92.2 (Reset G92 Offsets / Сброс смещений G92)

G92.1, G92.2
G92.1 - отключить смещения G92 и сбросить параметры 5211-5219 на ноль.
G92.2 - отключить смещения G92, но оставить параметры 5211 - 5219 доступными.

G92.3 (Restore G92 Offsets / Восстановить смещения G92)

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

G93, G94, G95 (Feed Rate Mode / Режим скорости подачи)

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

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

G95 - режим единиц на оборот. В режиме единиц на оборот слово F интерпретируется как означающее, что контролируемая точка должна перемещаться на определенное количество дюймов за оборот шпинделя, в зависимости от того, какие единицы длины используются и какие оси или оси движущийся. G95 не подходит для нарезания резьбы, для нарезания резьбы используйте G33 или G76. G95 требует, чтобы скорость вращения шпинделя была подключена. Фактический шпиндель, с которым синхронизируется подача, выбирается параметром $.

M-codes

M0, M1 (Program Pause / Программная пауза)

M0, M1
M0 - временно приостановить запущенную программу. LinuxCNC остается в автоматическом режиме, поэтому MDI и другие действия, выполняемые вручную, отключены. Нажатие кнопки возобновления перезапустит программу со следующей строки.
M1 - временно приостановить запущенную программу, если включен дополнительный переключатель остановки. LinuxCNC остается в автоматическом режиме, поэтому MDI и другие действия, выполняемые вручную, отключены. Нажатие кнопки возобновления перезапустит программу со следующей строки.

M2, M30 (Program End / Конец программы)

M2 - завершить программу. При нажатии Cycle Start(«R» в графическом интерфейсе Axis) программа будет перезапущена с начала файла. M30 - заменить палеты и завершить программу. При нажатии Cycle Start программа запускается с начала файла.

M3, M4, M5 (Spindle Control / Управление шпинделем)

M3 S-
M4 S-
M5
M3 S- - запустить выбранный шпиндель по часовой стрелке со скоростью S. M4 S- - запустить выбранный шпиндель против часовой стрелки со скоростью S. M5 - остановить выбранный шпиндель. Используйте - для работы с определенными шпинделями. Если число после S не указано, то команды по умолчанию работают со шпинделем 0.

M6 T- (Tool Change / Смена инструмента)

M6 T-
Если загружен компонент HAL hal_manualtoolchange, M6 остановит шпиндель и предложит пользователю сменить инструмент на основе последнего запрограммированного T- номера. Дополнительные сведения о hal_manualtoolchange см.

M7, M8, M9 (Coolant Control / Контроль охлаждающей жидкости)

M7 - включить туман охлаждающей жидкости. M7 контролирует iocontrol.0. пин охлаждающего тумана.
М8 - включить заливную охлаждающую жидкость. M8 управляет иглой iocontrol.0. Охлаждающей жидкости.
M9 - выключите M7 и M8.
Подключите один или оба контакта управления охлаждающей жидкостью в HAL до того, как M7 или M8 будут управлять выходом. M7 и M8 могут использоваться для включения любого выхода через G-код. Можно использовать любую из этих команд независимо от текущего состояния охлаждающей жидкости.

M61 (Set Current Tool / Установить текущий инструмент)

M61 Q-
M61 Q- - изменить текущий номер инструмента в ручном или ручном режиме без смены инструмента. Один из вариантов использования - когда вы включаете LinuxCNC с инструментом, который в данный момент находится в шпинделе, вы можете установить этот номер инструмента, не выполняя смену инструмента.

M62-M65 (Digital Output Control / Управление цифровым выходом)

M62 P- - включить цифровой выход синхронизированный с движением. Слово P определяет номер цифрового выхода.
M63 P- - выключить цифровой выход синхронизированный с движением. Слово P определяет номер цифрового выхода.
M64 P- - немедленно включить цифровой выход. Слово P определяет номер цифрового выхода.
M65 P- - немедленно выключить цифровой выход. Слово P определяет номер цифрового выхода.

P-слово находится в диапазоне от 0 до значения по умолчанию 3. При необходимости количество входов / выходов может быть увеличено с помощью параметра num_dio при загрузке контроллера движения. См. Раздел «Движение» для получения дополнительной информации. Команды M62 и M63 будут поставлены в очередь. Последующие команды, относящиеся к тому же номеру выхода, перезапишут старые настройки. Можно указать более одного изменения выхода, введя более одной команды M62 / M63. Фактическое изменение указанных выходов произойдет в начале следующей команды движения. Если нет последующей команды движения, изменения вывода в очереди не произойдут. Лучше всегда программировать G-код движения (G0, G1 и т. Д.) Сразу после M62 / 63. M64 и M65 происходят сразу же после их получения контроллером движения. Они не синхронизированы с движением и нарушат смешение.

M66 (Wait on Input / Ожидание ввода)

M66 P- E- L- Q-
P- - указывает номер цифрового входа от 0 до 3.
E- - указывает номер аналогового входа от 0 до 3.
L- - указывает тип режима ожидания.

  • Режим 0: НЕМЕДЛЕННЫЙ - без ожидания, немедленно возвращается. Текущее значение входа сохраняется в параметре # 5399.
  • Режим 1: RISE - ожидает, пока выбранный вход выполнит событие повышения.
  • Режим 2: ПАДЕНИЕ - ожидает, пока выбранный вход выполнит событие падения.
  • Режим 3: ВЫСОКИЙ - ожидает, пока выбранный вход перейдет в ВЫСОКОЕ состояние.
  • Режим 4: НИЗКИЙ - ожидает, пока выбранный вход перейдет в НИЗКОЕ состояние.

Q- - указывает время ожидания в секундах. Если тайм-аут превышен, ожидание прерывается, и переменная # 5399 будет удерживать значение -1. Значение Q игнорируется, если L-слово равно нулю (НЕМЕДЛЕННО). Нулевое значение AQ является ошибкой, если L-слово не равно нулю. Режим 0 - единственный разрешенный для аналогового входа.

Пример:
M66 P0 L3 Q5 (ожидает 5 секунд цифрового входа 0)