G-коды
-
- Почётный участник
- Сообщения: 358
- Зарегистрирован: 08 фев 2010, 01:03
- Репутация: 5
- Контактная информация:
Re: G-коды
Список G-кодов:
Код: Выделить всё
КОД ГРУППА Функция
G00 01 Быстрое перемещение
G01 Линейная интерполяция, по час. стр.
G02 Круговая интерполяция, по час. стр.
G03 Круговая интерполяция, против час. стр.
G02.2, G03.2 Эвольвентная интерполяция
G02.3, G03.3 Экспоненциальная интерполяция
G04 00 Задержка
G05 Высокоскоростная обработка
G07 Интерполирование гипотетической оси
G07.1 (G107) Цилиндрическая интерполяция
G10 Программируемый ввод данных
G10.6 Отвод и восстановление инструмента
G11 Отмена программируемого ввода данных
G12.1 25 Режим интерполирование полярных координат
G13.1 Отмена режимы интерполирования полярных координат
G15 17 Отмена полярных координат
G16 Установка полярных координат
G17 02 Выбор плоскости XY
G18 Выбор плоскости ZX
G19 Выбор плоскости YZ
G20 06 Ввод в дюймах
G21 Ввод в миллиметрах
G22 04 Включение функции сохранения величины хода
G23 Выключение функции сохранения величины хода
G25 24 Выключение определения колебания скорости шпинделя
G26 Включение определения колебания скорости шпинделя
G27 00 Проверка возврата в позицию ссылки
G28 Возврат в позицию ссылки
G30 Возврат в позицию ссылки 2й, 3й и 4й оси
G30.1 Возврат в плавающую точку ссылки
G31 Функция пропуска
G33 01 Нарезание резьбы
G34 Резьбы с изменяемым шагом
G37 00 Автоматическая компенсация длины инструмента
G39 Офсет угла круговой интерполяции
G40 07 Отмена компенсации инструмента
G41 Левая компенсация инструмента
G42 Правая компенсация инструмента
G40.1 (G150) 19 Нормальный режим прямого контроля
G41.1 (G151) Нормальный режим контроля левой стороны
G42.1 (G152) Нормальный режим контроля правой стороны
G43 09 Компенсация длины инструмента + направление
G44 Компенсация длины инструмента - направление
G45 00 Увеличение офсета инструмента
G46 Уменьшение офсета инструмента
G47 Двойное увеличение офсета инструмента
G48 Двойное уменьшение офсета инструмента
G49 08 Отмена компенсации длины инструмента
G50 11 Отмена масштабирования
G51 Включение масштабирования
G50.1 22 Отмена зеркального отображения
G51.1 Включение зеркального отображения
G52 00 Установка локальной системы координат
G53 Установка системы координат станка
G54 14 Установка системы координат детали 1
G55 Установка системы координат детали 2
G56 Установка системы координат детали 3
G57 Установка системы координат детали 4
G58 Установка системы координат детали 5
G59 Установка системы координат детали 6
G60 00|01 Позиционирование одного направления
G61 15 Режим точной остановки
G62 Автоматическая коррекция угла
G63 Режим резьбы
G64 Режим обработки
G65 00 Вызов макроса
G66 12 Модальный вызов макроса
G67 Отмена модального вызова макроса
G68 16 Включение вращения системы координат
G69 Выключение вращения системы координат
G72.1 00 Вращение копии
G72.2 Параллельная копия
G73 09 Многопроходное сверление
G74 Нарезание резьбы
G75 01 Шлифование (для шлифовального станка)
G76 09 Точная расточка
G77 01 Шлифование с прямым постоянным врезанием (для шлифовального станка)
G78 Шлифование с постоянной подачей (для шлифовального станка)
G79 Шлифование с прерывистой подачей (для шлифовального станка)
G80 09 Отмена вложенного цикла сверления
G81 Цикл сверления, расточка или внешняя операция
G82 Сверление или расточка
G83 Цикл торцевого сверления
G84 Цикл торцевого нарезания резьбы
G86 Цикл торцевой расточки
G87 Цикл боковой расточки
G88 Цикл расточки
G89 Цикл боковой расточки
G90 03 Программирование Абсолютных координат
G91 Программирование относительных координат
G92 00 Установка системы координат или установка макс. скорости шпинд.
G92.1 Установка системы координат детали
G93 inverse time feed rate mode
G94 05 Подача в минуту
G95 Подача на оборот
G96 13 Контроль постоянной скорости резания
G97 Отмена контроля постоянной скорости резания
G98 10 Возврат в исходный уровень (см. пояснение 6)
G99 Возврат в исходный уровень точки R (см. пояснение 6)
G160 20 Отмена контроля подачи (для шлифовального станка)
G161 Включение контроля подачи (для шлифовального станка)
Последний раз редактировалось Anonymous 29 авг 2008, 14:12, всего редактировалось 1 раз.
-
- Почётный участник
- Сообщения: 358
- Зарегистрирован: 08 фев 2010, 01:03
- Репутация: 5
- Контактная информация:
Re: G-коды
Строго говоря в предыдущем посте я перечислил команды, поддерживаемые одной из систем ЧПУ фирмы Fanuc, и точно сказать какие конкретно Ж-коды описаны в стандарте RS-274/NGC Language не могу, потому как сам стандарт не видел, если у кого есть - поделитесь! Есть вот такая ссылка, информация о Ж-кодах будет браться частично оттуда.
Продолжим:
Все слова языка RS274/NGC начинаются с зарезервированных букв:
Продолжим:
Все слова языка RS274/NGC начинаются с зарезервированных букв:
Код: Выделить всё
A A-ось станка
B B-ось станка
C C-ось станка
D (tool radius compensation number)
F подача
G основная функция
H (tool length offset index)
I смещение по оси X для дуг, (X offset in G87 canned cycle)
J смещение по оси Y для дуг, (Y offset in G87 canned cycle)
K смещение по оси Z для дуг, (Z offset in G87 canned cycle)
L количество повторов циклов, (key used with G10)
M вспомогательная функция
N номер строки
P (dwell time in canned cycles, dwell time with G4, key used with G10)
Q (feed increment in G83 canned cycle)
R радиус дуги, (canned cycle plane)
S скорость (частота) вращения шпинделя
T выбор инструмента
X X-ось станка
Y Y-ось станка
Z Z-ось станка
-
- Опытный
- Сообщения: 183
- Зарегистрирован: 25 авг 2008, 11:36
- Репутация: -47
- Контактная информация:
Re: G-коды
Вот, вроде бы, интересный ресурс:
http://www.isd.mel.nist.gov/personnel/k ... _3TOC.html
http://www.isd.mel.nist.gov/personnel/k ... tml#999262
http://www.isd.mel.nist.gov/personnel/k ... _3TOC.html
http://www.isd.mel.nist.gov/personnel/k ... tml#999262
-
- Опытный
- Сообщения: 183
- Зарегистрирован: 25 авг 2008, 11:36
- Репутация: -47
- Контактная информация:
Re: G-коды
И выход с тех линков, на, как я понял, реализацию:
http://linuxwiki.de/EMC
http://sourceforge.net/project/showfile ... _id=619029
http://linuxwiki.de/EMC
http://sourceforge.net/project/showfile ... _id=619029
-
- Почётный участник
- Сообщения: 358
- Зарегистрирован: 08 фев 2010, 01:03
- Репутация: 5
- Контактная информация:
G-коды. Модальные группы
Да, здесь наверное более стандартный код...VShaclein писал(а):Вот, вроде бы, интересный ресурс:
...
http://www.isd.mel.nist.gov/personnel/k ... _3TOC.html
Команды бывают модальными и немодальными, т.е. модальная команда, будучи один раз вызвана, действует до вызова команды из ее же группы:
Код: Выделить всё
N116 G1 X19.605 Y32.665
N118 G3 X15.507 Y33.764 R3.
N120 X19.493 Y26.858 R3.987
N122 X15.507 Y33.764 R3.987
N124 X14.409 Y29.665 R3.001
N126 G1 X15.909 Y27.067
Код: Выделить всё
[b]Модальные группы для G-кодов:[/b]
1. {G0, G1, G2, G3, G38.2, G80, G81, G82, G83, G84, G85, G86, G87, G88, G89} команды движения
2. {G17, G18, G19} выбор плоскости для круговой интерполяции
3. {G90, G91} distance mode
5. {G93, G94} режим подачи
6. {G20, G21} единицы измерения
7. {G40, G41, G42} компенсация радиуса инструмента
8. {G43, G49} компенсация длинны инструмента
10. {G98, G99} return mode in canned cycles
12. {G54, G55, G56, G57, G58, G59, G59.1, G59.2, G59.3} выбор координатной системы
13. {G61, G61.1, G64} path control mode
[b]Модальные группы для М-кодов:[/b]
4. {M0, M1, M2, M30, M60} остановка
6. {M6} смена инструмента
7. {M3, M4, M5} вращение шпинделя
8. {M7, M8, M9} подача СОЖ (M7 и M8 могут быть активны одновременно)
9. {M48, M49} enable/disable feed and speed override switches
и отдельная группа [b]немодальных G-кодов:[/b]
{G4, G10, G28, G30, G53, G92, G92.1, G92.2, G92.3}
-
- Почётный участник
- Сообщения: 358
- Зарегистрирован: 08 фев 2010, 01:03
- Репутация: 5
- Контактная информация:
G00 - Позиционирование
Команда G00 перемещает инструмент в указанную позицию в системе координат детали с абсолютными или относительными координатами с быстрой подачей.
При программировании абсолютных координат, указывается конечная точка.
В относительных координатах указывается расстояние перемещения инструмента.
Формат
G00IP_;
IP_- для абсолютных координат указывается конечная точка. Для относительных координат расстояние перемещения инструмента.
В зависимости от возможностей ЧПУ и станка может быть использовано
При программировании абсолютных координат, указывается конечная точка.
В относительных координатах указывается расстояние перемещения инструмента.
Формат
G00IP_;
IP_- для абсолютных координат указывается конечная точка. Для относительных координат расстояние перемещения инструмента.
В зависимости от возможностей ЧПУ и станка может быть использовано
- Нелинейное интерполирование позиционирования (инструмент позиционируется по кратчайшей траектории с максимальной скоростью для каждой оси)
- Линейное интерполирование позиционирования (траектория - прямая)
-
- Почётный участник
- Сообщения: 358
- Зарегистрирован: 08 фев 2010, 01:03
- Репутация: 5
- Контактная информация:
G01 - Линейное интерполирование
Перемещение инструмента по прямой.
Формат
G00IP_F_;
IP_ Для абсолютных координат указывается конечная точка. Для относительных координат расстояние перемещения инструмента.
F_ Скорость подачи инструмента.
Пояснение
Формат
G00IP_F_;
IP_ Для абсолютных координат указывается конечная точка. Для относительных координат расстояние перемещения инструмента.
F_ Скорость подачи инструмента.
Пояснение
- Инструмент перемещается по прямой линии в указанную позицию со скоростью подачи указанной в F. Эта скорость подачи остается эффективной в последующих блоках пока не будет запрограммировано новое значение F. Скорость подачи измеряется по линии перемещения инструмента. Если скорость подачи не запрограммирована, она считается равной нулю.
- Скорость подачи поворотной оси задается в гр/мин (единица измерения указывается в знаке десятичной точки).
- Если производится линейной интерполирование оси α (такой как Х, Y, Z) и поворотной оси β (такой как А, В, С), скорость подачи является тангенциальной скоростью подачи α и β в декартовой системе координат в F (мм/мин).
-
- Почётный участник
- Сообщения: 358
- Зарегистрирован: 08 фев 2010, 01:03
- Репутация: 5
- Контактная информация:
Круговая интерполяция
Перемещение инструмента по дуге.
Формат
Пояснения
Направление круговой интерполяции «По часовой стрелке» (G02) и «против часовой стрелки» (G03) в плоскости ХY (ZX или YZ) определяет направление в плоскости XY если смотреть в направлении из положительного в отрицательное по оси Z (Y или Z) в декартовой системе координат. См. рисунок: Расстояние перемещения по дуге
Конечная позиция дуги указывается адресами X, Y, Z и выражается в абсолютных или относительных значениях в соответствии с G90 или G91. Для относительных значений указывается расстояние до конечной точки от начальной точки.
Расстояние от начальной точки до центра дуги
Центр дуги определяется адресами I, J, K для осей X, Y, Z. Числовые значения I, J, K представляют собой вектор из начальной точки до центра дуги и всегда указываются в относительных координатах независимо от G90 и G91.
При задании значений I, J, K необходимо учитывать направление. Программирование полной окружности
Если пропущено X, Y и Z (конечная точка является начальной точкой) и центр указанный в I, J, K, дуга составляет 360 градусов (окружность).
Радиус дуги
Расстояние между дугой и центром дуги состоит из дуги и может быть указан используя радиус R окружности вместо I, J, K. В этом случае дуга с углом сектора 180 или больше градусов не может быть указана.
Пример: Эта траектория может быть запрограммирована следующим образом:
Формат
- Дуга в плоскости XY: G17 {G02 или G03} X_Y_ {I_J_ или R_} F_
- Дуга в плоскости ZX: G18 {G02 или G03} Z_X_ {I_K_ или R_} F_
- Дуга в плоскости YZ: G19 {G02 или G03} Y_Z_ {J_K_ или R_} F_
Код: Выделить всё
Команда Описание
G17 Определение плоскости XpYp
G18 Определение плоскости ZpXp
G19 Определение плоскости YpZp
G02 Круговая интерполяция по часовой стрелке
G03 Круговая интерполяция против часовой стрелки
X_ Значение координаты по оси Х или параллельной оси
Y_ Значение координаты по оси Y или параллельной оси
Z_ Значение координаты по оси Z или параллельной оси
I_ Относительное расстояние по Хр от начальной точки до центра дуги, значение радиуса
J_ Относительное расстояние по Yр от начальной точки до центра дуги, значение радиуса
K_ Относительное расстояние по Zр от начальной точки до центра дуги, значение радиуса
R_ Радиус дуги без знака (значение радиуса всегда указывается)
F_ Скорость подачи по дуге
Направление круговой интерполяции «По часовой стрелке» (G02) и «против часовой стрелки» (G03) в плоскости ХY (ZX или YZ) определяет направление в плоскости XY если смотреть в направлении из положительного в отрицательное по оси Z (Y или Z) в декартовой системе координат. См. рисунок: Расстояние перемещения по дуге
Конечная позиция дуги указывается адресами X, Y, Z и выражается в абсолютных или относительных значениях в соответствии с G90 или G91. Для относительных значений указывается расстояние до конечной точки от начальной точки.
Расстояние от начальной точки до центра дуги
Центр дуги определяется адресами I, J, K для осей X, Y, Z. Числовые значения I, J, K представляют собой вектор из начальной точки до центра дуги и всегда указываются в относительных координатах независимо от G90 и G91.
При задании значений I, J, K необходимо учитывать направление. Программирование полной окружности
Если пропущено X, Y и Z (конечная точка является начальной точкой) и центр указанный в I, J, K, дуга составляет 360 градусов (окружность).
Радиус дуги
Расстояние между дугой и центром дуги состоит из дуги и может быть указан используя радиус R окружности вместо I, J, K. В этом случае дуга с углом сектора 180 или больше градусов не может быть указана.
Пример: Эта траектория может быть запрограммирована следующим образом:
Код: Выделить всё
При абсолютном программировании:
G92 X200.0 Y40.0 Z0;
G90 G03 X140.0 Y100.0R60.0 F300.;
G02 X120.0 Y60.0R50.0;
или
G92X200.0 Y40.0Z0;
G90 G03 X140.0 Y100.0I-60.0 F300.;
G02 X120.0 Y60.0I-50.0;
При программировании приращения
G91 G03 X-60.0 Y60.0 R60.0 F300.;
G02 X-20.0 Y-40.0 R50.0;
или
G91 G03 X-60.0 Y60.0 I-60.0 F300.;
G02 X-20.0 Y-40.0 I-50.0;
- buyvoll
- Мастер
- Сообщения: 214
- Зарегистрирован: 14 сен 2010, 14:20
- Репутация: 26
- Контактная информация:
Re: G-коды
Вопрос по G-кодам
пример круговой интерполяции из википедии
G02 X15 Y15 R5 F200
X15 и Y15 это конечные точки в которые должен попасть инструмент из тех координат, в которых он находится непосредственно перед чтением этой строки, так?
пример круговой интерполяции из википедии
G02 X15 Y15 R5 F200
X15 и Y15 это конечные точки в которые должен попасть инструмент из тех координат, в которых он находится непосредственно перед чтением этой строки, так?
-
- Почётный участник
- Сообщения: 358
- Зарегистрирован: 08 фев 2010, 01:03
- Репутация: 5
- Контактная информация:
Re: G-коды
Именно так, если активна G90 (программирование в абсолютных координатах), если G91 - то смещение конечной точки дуги относительно текущей.
- buyvoll
- Мастер
- Сообщения: 214
- Зарегистрирован: 14 сен 2010, 14:20
- Репутация: 26
- Контактная информация:
Re: G-коды
понял, благодарю.
получается угол поворота можно вычислить по теореме косинусов ))
получается угол поворота можно вычислить по теореме косинусов ))
Re: G-коды
UP
Здравствуйте Уважаемые.
Подскажите пожалуйста, как продолжить работу по обработки радиуса, при остановке до точки выхода в Мач3 (постпроцессор плюс).
Координаты х,у остановки в принципе известны (или вычисляются).
Цель: добавить в ручную продолжение обработки по дуге с заданной координаты. Спасибо.
Здравствуйте Уважаемые.
Подскажите пожалуйста, как продолжить работу по обработки радиуса, при остановке до точки выхода в Мач3 (постпроцессор плюс).
Координаты х,у остановки в принципе известны (или вычисляются).
Цель: добавить в ручную продолжение обработки по дуге с заданной координаты. Спасибо.
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: G-коды
Код: Выделить всё
G1 F30
G00 X137.88 Y317.
M03 S2000
G04 P0.4
G03 X134.64 Y325.03 I-3.94 J3.08
G02 X303.95 Y445.14 I21.04 J149.73
G02 X134.64 Y325.03 I-148.27 J29.62
M05
M2
x155.68
y474.76
затем пересчитываем эти координаты из абсолютных в относительные (относительно точки остановки)
Re: G-коды
спасибо nkp.
Ранее как то хитро выкручивался на дугах. Сам подзабыл как. По моему как у Вас, Координаты текущие и продолжить M03. Но это работает лишь на дугах.
Где центр в примере используется?
G92 и G91 не используем?
И после этого цикла нужно вернуть точку ноль как то?
В смысле, что бы оборудование продолжило дальнейшую обработку оставшихся деталей.
И еще вопрос. Мач3 как то сам может решать эту задачу? Почему на такой элементарной операции выдает ошибку?
Может есть более продвинутые системы?
Спасибо.
Ранее как то хитро выкручивался на дугах. Сам подзабыл как. По моему как у Вас, Координаты текущие и продолжить M03. Но это работает лишь на дугах.
Можно с комментариями команд?nkp писал(а): из данных этой строки вычисляем координаты центра дуги(в нашем случае - окружности)
x155.68
y474.76
затем пересчитываем эти координаты из абсолютных в относительные (относительно точки остановки)
Код: Выделить всё
G03 X134.64 Y325.03 I-3.94 J3.08
G02 X303.95 Y445.14 I21.04 J149.73
G02 X134.64 Y325.03 I-148.27 J29.62
G92 и G91 не используем?
И после этого цикла нужно вернуть точку ноль как то?
В смысле, что бы оборудование продолжило дальнейшую обработку оставшихся деталей.
И еще вопрос. Мач3 как то сам может решать эту задачу? Почему на такой элементарной операции выдает ошибку?
Может есть более продвинутые системы?
Спасибо.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: G-коды
I,J - это смещение центра относительно текущих координат.Prog писал(а):Где центр в примере используется?
А начать с начала кадра - не вариант? Т.е. пишем к этой программе:
N1590 G03X134.64Y325.03I-3.94J3.08F750
N1600 G02X134.64Y325.03I21.04J149.73 //остановка на данной процедуре
G0 Z10 (выходим на безопасную высоту)
G0 X134.64 Y325.03 (едем в начало кадра)
G01 Z-1 (заглубляемся)
И дальше продолжаем с строки, на которой остановились.
- mycnc
- Мастер
- Сообщения: 913
- Зарегистрирован: 03 июл 2011, 02:01
- Репутация: 623
- Контактная информация:
Re: G-коды
Это правда, что Мач не может продолжить программу после остановки с cередине блока?Prog писал(а): И еще вопрос. Мач3 как то сам может решать эту задачу? Почему на такой элементарной операции выдает ошибку?
Может есть более продвинутые системы?
Спасибо.
Здесь же должны быть пользователи Mach3, отпишитесь пожалуйста.
Последний раз редактировалось mycnc 16 апр 2013, 01:05, всего редактировалось 1 раз.
-
- Зачётный участник
- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6192
- Откуда: Казахстан.
- Контактная информация:
Re: G-коды
это как?mycnc писал(а):Это правда, что Мач не может продолжить программу после остановки с вередине блока?
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
- mycnc
- Мастер
- Сообщения: 913
- Зарегистрирован: 03 июл 2011, 02:01
- Репутация: 623
- Контактная информация:
Re: G-коды
Например -aftaev писал(а):это как?mycnc писал(а):Это правда, что Мач не может продолжить программу после остановки в середине блока?
при вырезании большого отверстия нажать кнопку "стоп" в середине дуги,
откатить резак вручную в то место где удобно его перебрать при необходимости,
по кнопке "возврат" - вернуться на точку, где остановилась резка,
нажав "пуск" продолжить резку с точки останова.