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
-
- Почётный участник
- Сообщения: 112
- Зарегистрирован: 21 апр 2012, 22:52
- Репутация: 5
- Контактная информация:
Re: FAQ по Gcode, примеры
Замедлится, по прямой. Потому что сложно контролировать - врежется ли при ломаном перемещении инструмент в крепление или нет.Lexxa писал(а):...
Как работает G00 X100 Y150?
...
Или же по оси Y скорость движения замедлится, дабы приехать в точку по прямой?
-
- Мастер
- Сообщения: 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кода можно на питоне функцию прописывать... это может быть по интереснее...
-
- Мастер
- Сообщения: 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
- Репутация: 5181
- Заслуга: 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
- Репутация: 5181
- Заслуга: 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
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: FAQ по Gcode, примеры
Да, спасибо, я уже с утра на работе "поработал" и нашёл это.
G28 G90 Z0 работает как и задумывалось.
G28 G90 Z0 работает как и задумывалось.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
- Кандидат
- Сообщения: 55
- Зарегистрирован: 21 янв 2012, 23:22
- Репутация: 2
- Контактная информация:
Re: FAQ по Gcode, примеры
почему команда G28 выполняется не корректно.
пример G28z0 ось сначала ныряет до нуля детали, а потом как положенно едет домой
проверил со всеми осями
емс 2.5 eng
пример G28z0 ось сначала ныряет до нуля детали, а потом как положенно едет домой
проверил со всеми осями
емс 2.5 eng
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: FAQ по Gcode, примеры
Всё правильно, так и положено. G28z0 и означает, что сначала в Z0, а потом туда, где G28. Это для того, чтоб сначала поднять инструмент в самый верх (обычно Z0 - это верх, а в низ отрицательные значения), чтоб чего-нибудь не зацепить им по пути в G28.
Просто по G28 сразу туда поедет.
Просто по G28 сразу туда поедет.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...