G-коды
- 
				spike
 - Почётный участник

 - Сообщения: 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 раз.
									
			
									
						- 
				spike
 - Почётный участник

 - Сообщения: 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-ось станка
- 
				VShaclein
 - Опытный
 - Сообщения: 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
- 
				VShaclein
 - Опытный
 - Сообщения: 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
- 
				spike
 - Почётный участник

 - Сообщения: 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}
- 
				spike
 - Почётный участник

 - Сообщения: 358
 - Зарегистрирован: 08 фев 2010, 01:03
 - Репутация: 5
 - Контактная информация:
 
G00 - Позиционирование
Команда G00 перемещает инструмент в указанную позицию в системе координат детали с абсолютными или относительными координатами с быстрой подачей.
При программировании абсолютных координат, указывается конечная точка.
В относительных координатах указывается расстояние перемещения инструмента.
Формат
G00IP_;
IP_- для абсолютных координат указывается конечная точка. Для относительных координат расстояние перемещения инструмента.
В зависимости от возможностей ЧПУ и станка может быть использовано
			
			
									
									
						При программировании абсолютных координат, указывается конечная точка.
В относительных координатах указывается расстояние перемещения инструмента.
Формат
G00IP_;
IP_- для абсолютных координат указывается конечная точка. Для относительных координат расстояние перемещения инструмента.
В зависимости от возможностей ЧПУ и станка может быть использовано
- Нелинейное интерполирование позиционирования (инструмент позиционируется по кратчайшей траектории с максимальной скоростью для каждой оси)
 - Линейное интерполирование позиционирования (траектория - прямая)
 
- 
				spike
 - Почётный участник

 - Сообщения: 358
 - Зарегистрирован: 08 фев 2010, 01:03
 - Репутация: 5
 - Контактная информация:
 
G01 - Линейное интерполирование
Перемещение инструмента по прямой.
Формат
G00IP_F_;
IP_ Для абсолютных координат указывается конечная точка. Для относительных координат расстояние перемещения инструмента.
F_ Скорость подачи инструмента.
Пояснение
			
			
									
									
						Формат
G00IP_F_;
IP_ Для абсолютных координат указывается конечная точка. Для относительных координат расстояние перемещения инструмента.
F_ Скорость подачи инструмента.
Пояснение
- Инструмент перемещается по прямой линии в указанную позицию со скоростью подачи указанной в F. Эта скорость подачи остается эффективной в последующих блоках пока не будет запрограммировано новое значение F. Скорость подачи измеряется по линии перемещения инструмента. Если скорость подачи не запрограммирована, она считается равной нулю.
 - Скорость подачи поворотной оси задается в гр/мин (единица измерения указывается в знаке десятичной точки).
 - Если производится линейной интерполирование оси α (такой как Х, Y, Z) и поворотной оси β (такой как А, В, С), скорость подачи является тангенциальной скоростью подачи α и β в декартовой системе координат в F (мм/мин).
 
- 
				spike
 - Почётный участник

 - Сообщения: 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 это конечные точки в которые должен попасть инструмент из тех координат, в которых он находится непосредственно перед чтением этой строки, так?
- 
				spike
 - Почётный участник

 - Сообщения: 358
 - Зарегистрирован: 08 фев 2010, 01:03
 - Репутация: 5
 - Контактная информация:
 
Re: G-коды
Именно так, если активна G90 (программирование в абсолютных координатах), если G91 - то смещение конечной точки дуги относительно текущей.
			
			
									
									
						- buyvoll
 - Мастер
 - Сообщения: 214
 - Зарегистрирован: 14 сен 2010, 14:20
 - Репутация: 26
 - Контактная информация:
 
Re: G-коды
понял, благодарю.
получается угол поворота можно вычислить по теореме косинусов ))
			
			
									
									
						получается угол поворота можно вычислить по теореме косинусов ))
Re: G-коды
UP
Здравствуйте Уважаемые.
Подскажите пожалуйста, как продолжить работу по обработки радиуса, при остановке до точки выхода в Мач3 (постпроцессор плюс).
Координаты х,у остановки в принципе известны (или вычисляются).
Цель: добавить в ручную продолжение обработки по дуге с заданной координаты. Спасибо.
			
			
									
									
						Здравствуйте Уважаемые.
Подскажите пожалуйста, как продолжить работу по обработки радиуса, при остановке до точки выхода в Мач3 (постпроцессор плюс).
Координаты х,у остановки в принципе известны (или вычисляются).
Цель: добавить в ручную продолжение обработки по дуге с заданной координаты. Спасибо.
- 
				nkp
 - Мастер
 - Сообщения: 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
M2x155.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 раз.
									
			
									
						- 
				aftaev
 - Зачётный участник

 - Сообщения: 34042
 - Зарегистрирован: 04 апр 2010, 19:22
 - Репутация: 6194
 - Откуда: Казахстан.
 - Контактная информация:
 
Re: G-коды
это как?mycnc писал(а):Это правда, что Мач не может продолжить программу после остановки с вередине блока?
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
						Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
- mycnc
 - Мастер
 - Сообщения: 913
 - Зарегистрирован: 03 июл 2011, 02:01
 - Репутация: 623
 - Контактная информация:
 
Re: G-коды
Например -aftaev писал(а):это как?mycnc писал(а):Это правда, что Мач не может продолжить программу после остановки в середине блока?
при вырезании большого отверстия нажать кнопку "стоп" в середине дуги,
откатить резак вручную в то место где удобно его перебрать при необходимости,
по кнопке "возврат" - вернуться на точку, где остановилась резка,
нажав "пуск" продолжить резку с точки останова.
