ЗЫ nkp, Спасибо за оперативную подмену
FAQ по Gcode, примеры
- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Ну да, это либо через ngcgui или написать отдельную подрограмму o sub со всеми этими параметрами и вызывать ее. Хотя, на сколько я понимаю, ngcgui обычно делает тоже самое.
ЗЫ nkp, Спасибо за оперативную подмену
!
			
			
									
									
						ЗЫ nkp, Спасибо за оперативную подмену
Re: FAQ по Gcode, примеры
G83 - цикл глубокого сверления
G83 R Z Q F/ R - высота начала сверления
/ Z - конечная высота окончания сверления
/ Q - сколько сверлить до начала дробления-подъема стружки
/ F - скорость
Пример:
G83 R10 Z0 Q0.5 F10
- Lexxa
 - Мастер
 - Сообщения: 2703
 - Зарегистрирован: 16 дек 2011, 16:48
 - Репутация: 319
 - Настоящее имя: Алексей
 - Откуда: ryazan
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
То ли я плохо искал, или же это не описано. 
Как работает G00 X100 Y150?
Допустим надо проехать из точки А(100;100) в точку В (200;150)
Из точки А в точку В оси будут двигаться на бысром ходу одновременно?
по оси Х двжение закончится позже, чем по оси Y, верно, т.е. траектория движения будет ломаная?
Или же по оси Y скорость движения замедлится, дабы приехать в точку по прямой?
Я заню что в фануках этот момент настраивается параметрами, т.е. можно так, а можно иначе. Как это сделано в нашей чпушке?
			
			
									
									Как работает G00 X100 Y150?
Допустим надо проехать из точки А(100;100) в точку В (200;150)
Из точки А в точку В оси будут двигаться на бысром ходу одновременно?
по оси Х двжение закончится позже, чем по оси Y, верно, т.е. траектория движения будет ломаная?
Или же по оси Y скорость движения замедлится, дабы приехать в точку по прямой?
Я заню что в фануках этот момент настраивается параметрами, т.е. можно так, а можно иначе. Как это сделано в нашей чпушке?
- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Поедет с максимальной скоростью станка, которая задается в 
[TRAJ]
MAX_LINEAR_VELOCITY = 1.00
И не превышая максимальных скоростей осей.
При этом скорость оси Y будет замедленна. Поедет по прямой.
Настройки ломанного перемещения искали, но не нашли.
"Dog's leg" по G0 в LinuxCNC
			
			
									
									
						[TRAJ]
MAX_LINEAR_VELOCITY = 1.00
И не превышая максимальных скоростей осей.
При этом скорость оси Y будет замедленна. Поедет по прямой.
Настройки ломанного перемещения искали, но не нашли.
"Dog's leg" по G0 в LinuxCNC
- 
				Steel.ne
 - Почётный участник

 - Сообщения: 112
 - Зарегистрирован: 21 апр 2012, 22:52
 - Репутация: 5
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Замедлится, по прямой. Потому что сложно контролировать - врежется ли при ломаном перемещении инструмент в крепление или нет.Lexxa писал(а):...
Как работает G00 X100 Y150?
...
Или же по оси Y скорость движения замедлится, дабы приехать в точку по прямой?
- 
				nkp
 - Мастер
 - Сообщения: 8340
 - Зарегистрирован: 28 ноя 2011, 00:25
 - Репутация: 1589
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Просмотрел встроенную в 2.6 версию возможность переназначения ж-кодов(и не только "ж")
Всегда после нововведений причина их возникновения или сразу очевидна или доходит после второго-третьего (5-6
 ) прочтения.Или....
Вот к примеру первый способ.
Прописываем в ини
Теперь мы можем в программе писать М400 P1
а выполнятья будет файл name.ngc вида:
параметр P обязательный и передает значение в процедуру ,например:
Внимание-вопрос: чем данные действия отличаются от простой записи в коде
			
			
									
									
						Всегда после нововведений причина их возникновения или сразу очевидна или доходит после второго-третьего (5-6
Вот к примеру первый способ.
Прописываем в ини
Код: Выделить всё
[RS274NGC]
REMAP=M400  modalgroup=10 argspec=Pq ngc=name а выполнятья будет файл name.ngc вида:
Код: Выделить всё
<name>sub
код
<name>endsubКод: Выделить всё
g1 x#<P>Код: Выделить всё
o<name> call [1]- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Можно Gкод не переписывать... Хотя от лукавого это все... потом привыкнешь и на другом станке напишешь это в MDI и привет...
-------------
Хотя... там вместо Gкода можно на питоне функцию прописывать... это может быть по интереснее...
			
			
									
									
						-------------
Хотя... там вместо Gкода можно на питоне функцию прописывать... это может быть по интереснее...
- 
				nkp
 - Мастер
 - Сообщения: 8340
 - Зарегистрирован: 28 ноя 2011, 00:25
 - Репутация: 1589
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
M19  - ориентация шпинделя (для Linuxcnc 2.6)
При использовании вспомогательной функции М19 представляется возможным осуществить остановку шпинделя с угловой ориентацией. Соответствующие пины: -------
Компонент для использования этой функции - ORIENT
			
			
									
									
						При использовании вспомогательной функции М19 представляется возможным осуществить остановку шпинделя с угловой ориентацией. Соответствующие пины: -------
Компонент для использования этой функции - ORIENT
- aegis
 - Мастер
 - Сообщения: 3171
 - Зарегистрирован: 22 мар 2012, 06:59
 - Репутация: 1810
 - Настоящее имя: Михайло
 - Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
 
Re: FAQ по Gcode, примеры
уважаемые, а это только у меня режим синхронизации движения (ж33) работает только с М3 и отказывается работть с м4? в мануалах такого не описано http://linuxcnc.org/docs/devel/html/gco ... indle-Sync может кто у себя попробует глюк это или так задумано
			
			
									
									нікому нічого не нав'язую.
						- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
А что говорит?
Проверь, срабатывает ли motion.spindle-at-speed
			
			
									
									
						Проверь, срабатывает ли motion.spindle-at-speed
- Rafiq
 - Мастер
 - Сообщения: 1053
 - Зарегистрирован: 28 сен 2012, 18:11
 - Репутация: 6
 - Откуда: Tatarstan Respublikası, Yar Çallı şəhəre
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Интересует использование G41 и G42 (компенсация размера инструмента). В команде указывается номер инструмента, а не фактический диаметр, как сказать LinuxCNC, что, например, инструмент №1 имеет диаметр 2.8?
			
			
									
									
						- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
1. Записать вручную в таблицу инструментов (Файл-Изменить таблицу инструментов).
2. Через код G10 L1 Set Tool Table http://www.linuxcnc.org/docs/html/gcode ... ec:G10-L1_
3. Можно вообще использовать коды G41.1 и G42.1 и назначать параметр радиуса прямо в строке кода
Например, G41.1 D10
http://www.linuxcnc.org/docs/html/gcode ... 41.1-G42.1
			
			
									
									
						2. Через код G10 L1 Set Tool Table http://www.linuxcnc.org/docs/html/gcode ... ec:G10-L1_
3. Можно вообще использовать коды G41.1 и G42.1 и назначать параметр радиуса прямо в строке кода
Например, G41.1 D10
http://www.linuxcnc.org/docs/html/gcode ... 41.1-G42.1
- Rafiq
 - Мастер
 - Сообщения: 1053
 - Зарегистрирован: 28 сен 2012, 18:11
 - Репутация: 6
 - Откуда: Tatarstan Respublikası, Yar Çallı şəhəre
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Понятно, самый "правильный" способ задать таблицу инструментов, так и сделаю.
			
			
									
									
						- Serg
 - Мастер
 - Сообщения: 21923
 - Зарегистрирован: 17 апр 2012, 14:58
 - Репутация: 5183
 - Заслуга: c781c134843e0c1a3de9
 - Настоящее имя: Сергей
 - Откуда: Москва
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
А есть способ сказать станку (c linuxcnc), чтобы он ехал в позицию HOME? Причём HOME - это не обязательно X0 Y0 Z0.
Это я постпроцессор в HSMWorks допиливаю для linuxcnc.
			
			
									
									Это я постпроцессор в HSMWorks допиливаю для linuxcnc.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
						- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Можно запомнить положение G28.1 и потом туда приехать через G28. (Кстати, с G28 можно написать: G28 Z10, тогда он сначала поднимется на Z10, а потом поедет в запомненную точку) 
Или через G53, но надо знать положение home.
			
			
									
									
						Или через G53, но надо знать положение home.
- Serg
 - Мастер
 - Сообщения: 21923
 - Зарегистрирован: 17 апр 2012, 14:58
 - Репутация: 5183
 - Заслуга: c781c134843e0c1a3de9
 - Настоящее имя: Сергей
 - Откуда: Москва
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
"G28 Z0" для этого подходит идеально. Только наверно "G28 G90 Z0".
Где-то читал, что положение G28 задаётся при настройке станка (при сборке). А linuxcnc можно как-то сконфигурить это положение?
До кучи: а есть что-то подобное, чтобы при смене инструмента станок тоже ехал в некую заранее заданную (в конфиге станка) позицию, ну как-бы к автосменщику?
			
			
									
									Где-то читал, что положение G28 задаётся при настройке станка (при сборке). А linuxcnc можно как-то сконфигурить это положение?
До кучи: а есть что-то подобное, чтобы при смене инструмента станок тоже ехал в некую заранее заданную (в конфиге станка) позицию, ну как-бы к автосменщику?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
						- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
G28.1 - сохраняет текущее абсолютное положение в параметрах 5161-5166.UAVpilot писал(а):"G28 Z0" для этого подходит идеально. Только наверно "G28 G90 Z0".Где-то читал, что положение G28 задаётся при настройке станка (при сборке). А linuxcnc можно как-то сконфигурить это положение?
G28 axes - поедет (в режиме G0) в положение заданное осями включая любые оффсеты, и потом поедет в абсолютное положение запомненное в параметрах 5161-5166.
G28 без осей соответственно поедет сразу в запомненное положение.
Не уверен, что G28 G90 Z0 сработает, скорее надо
G90
G28 Z0
Таким же образом работает G30 и G30.1. Более того на это положение можно назначить перемещение для смены инструмента, но об этом ниже
Есть несколько вариантов:UAVpilot писал(а):До кучи: а есть что-то подобное, чтобы при смене инструмента станок тоже ехал в некую заранее заданную (в конфиге станка) позицию, ну как-бы к автосменщику?
- в ini в разделе [EMCIO] добавляем строчку: 
TOOL_CHANGE_POSITION = 0 0 2
Соответственно, можно использовать больше чисел, если у станка больше осей.
Также пишут, что TOOL_CHANGE_POSITION можно комбинировать несколько движений, чтобы например сначала поднять станок на нужный уровень по Z, а потом ехать в нужную точку, правда не пишут как. В общем, надо пробовать. Возможно, надо дописать названия осей, и сделать несколько параметров TOOL_CHANGE_POSITION... - TOOL_CHANGE_AT_G30 = 1 
Да, да, тот самый G30, таким образом перед сменой станок поедет в запомненную в G30.1 точку. - TOOL_CHANGE_QUILL_UP = 1 
Еще одна настройка для перемещения - перед сменой станок поедет в станочную точку 0 по оси Z, это эквивалентно G53 G0 Z0. Возможно, в первом пункте имелось в виду комбинация именно с этой опцией. 
- Serg
 - Мастер
 - Сообщения: 21923
 - Зарегистрирован: 17 апр 2012, 14:58
 - Репутация: 5183
 - Заслуга: c781c134843e0c1a3de9
 - Настоящее имя: Сергей
 - Откуда: Москва
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Да, спасибо, я уже с утра на работе "поработал" и нашёл это.  
 
G28 G90 Z0 работает как и задумывалось.
			
			
									
									G28 G90 Z0 работает как и задумывалось.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
						- 
				hudoi
 - Кандидат
 - Сообщения: 55
 - Зарегистрирован: 21 янв 2012, 23:22
 - Репутация: 2
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
почему команда G28 выполняется не корректно.
пример G28z0 ось сначала ныряет до нуля детали, а потом как положенно едет домой
проверил со всеми осями
емс 2.5 eng
			
			
									
									
						пример G28z0 ось сначала ныряет до нуля детали, а потом как положенно едет домой
проверил со всеми осями
емс 2.5 eng
- Serg
 - Мастер
 - Сообщения: 21923
 - Зарегистрирован: 17 апр 2012, 14:58
 - Репутация: 5183
 - Заслуга: c781c134843e0c1a3de9
 - Настоящее имя: Сергей
 - Откуда: Москва
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Всё правильно, так и положено. G28z0 и означает, что сначала в Z0, а потом туда, где G28. Это для того, чтоб сначала поднять инструмент в самый верх (обычно Z0 - это верх, а в низ отрицательные значения), чтоб чего-нибудь не зацепить им по пути в G28.
Просто по G28 сразу туда поедет.
			
			
									
									Просто по G28 сразу туда поедет.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
						