Страница 5 из 23
Re: FAQ по Gcode, примеры
Добавлено: 01 июл 2012, 21:52
Nick
Ну да, это либо через ngcgui или написать отдельную подрограмму o sub со всеми этими параметрами и вызывать ее. Хотя, на сколько я понимаю, ngcgui обычно делает тоже самое.
ЗЫ
nkp, Спасибо за оперативную подмену

!
Re: FAQ по Gcode, примеры
Добавлено: 03 июл 2012, 14:50
glaz
G83 - цикл глубокого сверления
G83 R Z Q F
/ R - высота начала сверления
/ Z - конечная высота окончания сверления
/ Q - сколько сверлить до начала дробления-подъема стружки
/ F - скорость
Пример:
G83 R10 Z0 Q0.5 F10
Re: FAQ по Gcode, примеры
Добавлено: 24 июл 2012, 10:21
Lexxa
То ли я плохо искал, или же это не описано.
Как работает G00 X100 Y150?
Допустим надо проехать из точки А(100;100) в точку В (200;150)
Из точки А в точку В оси будут двигаться на бысром ходу одновременно?
по оси Х двжение закончится позже, чем по оси Y, верно, т.е. траектория движения будет ломаная?
Или же по оси Y скорость движения замедлится, дабы приехать в точку по прямой?
Я заню что в фануках этот момент настраивается параметрами, т.е. можно так, а можно иначе. Как это сделано в нашей чпушке?
Re: FAQ по Gcode, примеры
Добавлено: 24 июл 2012, 12:12
Nick
Поедет с максимальной скоростью станка, которая задается в
[TRAJ]
MAX_LINEAR_VELOCITY = 1.00
И не превышая максимальных скоростей осей.
При этом скорость оси Y будет замедленна. Поедет по прямой.
Настройки ломанного перемещения искали, но не нашли.
"Dog's leg" по G0 в LinuxCNC
Re: FAQ по Gcode, примеры
Добавлено: 24 июл 2012, 12:13
Steel.ne
Lexxa писал(а):...
Как работает G00 X100 Y150?
...
Или же по оси Y скорость движения замедлится, дабы приехать в точку по прямой?
Замедлится, по прямой. Потому что сложно контролировать - врежется ли при ломаном перемещении инструмент в крепление или нет.
Re: FAQ по Gcode, примеры
Добавлено: 07 авг 2012, 20:13
nkp
Просмотрел встроенную в 2.6 версию
возможность переназначения ж-кодов(и не только "ж")
Всегда после нововведений причина их возникновения или сразу очевидна или доходит после второго-третьего (5-6

) прочтения.Или....
Вот к примеру первый способ.
Прописываем в ини
Код: Выделить всё
[RS274NGC]
REMAP=M400 modalgroup=10 argspec=Pq ngc=name
Теперь мы можем в программе писать М400 P1
а выполнятья будет файл name.ngc вида:
параметр P обязательный и передает значение в процедуру ,например:
Внимание-вопрос: чем данные действия отличаются от простой записи в коде
Re: FAQ по Gcode, примеры
Добавлено: 08 авг 2012, 20:53
Nick
Можно Gкод не переписывать... Хотя от лукавого это все... потом привыкнешь и на другом станке напишешь это в MDI и привет...
-------------
Хотя... там вместо Gкода можно на питоне функцию прописывать... это может быть по интереснее...
Re: FAQ по Gcode, примеры
Добавлено: 21 авг 2012, 08:41
nkp
M19 - ориентация шпинделя (для Linuxcnc 2.6)
При использовании вспомогательной функции М19 представляется возможным осуществить остановку шпинделя с угловой ориентацией.
(для просмотра содержимого нажмите на ссылку)Conceptually the spindle is in one of the following modes:
rotation mode (the default)
searching for desired orientation mode
orienation complete mode.
When an M19 is executed, the spindle changes to searching for desired orientation , and the spindle-orient HAL pin is asserted. The desired target position is specified by the spindle-orient-angle and spindle-orient-fwd pins and driven by the M19 R and P parameters.
The HAL support logic is expected to react to spindle-orient by moving the spindle to the desired position. When this is complete, the HAL logic is expected to acknowledge this by asserting the spindle-is-oriented pin.
Motion then acknowledges this by deasserting the spindle-orient pin and asserts the spindle-locked pin to indicate orientation complete mode. It also raises the spindle-brake pin. The spindle now is in orientation complete mode.
If, during spindle-orient being true, and spindle-is-oriented not yet asserted the spindle-orient-fault pin has a value other than zero, the M19 command is aborted, a message including the fault code is displayed, and the motion queue is flushed. The spindle reverts to rotation mode.
Also, any of the M3,M4 or M5 commands cancel either searching for desired orientation or orientation complete mode. This is indicated by deasserting both the spindle-orient and spindle-locked pins.
The spindle-orient-mode pin reflects the M19 P word and shall be interpreted as follows:
0: rotate clockwise or counterclockwise for smallest angular movement
1: always rotate clockwise
2: always rotate counterclockwise
It can be used with the orient HAL component which provides a PID command value based on spindle encoder positon, spindle-orient-angle and spindle-orient-mode.
Соответствующие пины:
(для просмотра содержимого нажмите на ссылку)motion.spindle-orient-angle - (float,out) Desired spindle orientation for M19. Value of the M19 R word parameter plus the value of the [RS274NGC]ORIENT_OFFSET ini parameter.
motion.spindle-orient-mode - (s32,out) Desired spindle rotation mode M19. Default 0.
motion.spindle-orient - (out,bit) Indicates start of spindle orient cycle. Set by M19. Cleared by any of M3,M4,M5. If spindle-orient-fault is not zero during spindle-orient true, the M19 command fails with an error message.
motion.spindle-is-oriented - (in, bit) Acknowledge pin for spindle-orient. Completes orient cycle. If spindle-orient was true when spindle-is-oriented was asserted, the spindle-orient pin is cleared and the spindle-locked pin is asserted. Also, the spindle-brake pin is asserted.
motion.spindle-orient-fault - (s32, in) Fault code input for orient cycle. Any value other than zero will cause the orient cycle to abort.
motion.spindle-lock - (bit, out) Spindle orient complete pin. Cleared by any of M3,M4,M
-------
Компонент для использования этой функции -
ORIENT
Re: FAQ по Gcode, примеры
Добавлено: 02 сен 2012, 20:24
aegis
уважаемые, а это только у меня режим синхронизации движения (ж33) работает только с М3 и отказывается работть с м4? в мануалах такого не описано
http://linuxcnc.org/docs/devel/html/gco ... indle-Sync может кто у себя попробует глюк это или так задумано
Re: FAQ по Gcode, примеры
Добавлено: 03 сен 2012, 19:07
Nick
А что говорит?
Проверь, срабатывает ли motion.spindle-at-speed
Re: FAQ по Gcode, примеры
Добавлено: 01 окт 2012, 09:22
Rafiq
Интересует использование G41 и G42 (компенсация размера инструмента). В команде указывается номер инструмента, а не фактический диаметр, как сказать LinuxCNC, что, например, инструмент №1 имеет диаметр 2.8?
Re: FAQ по Gcode, примеры
Добавлено: 01 окт 2012, 09:41
Nick
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
Re: FAQ по Gcode, примеры
Добавлено: 01 окт 2012, 09:45
Rafiq
Понятно, самый "правильный" способ задать таблицу инструментов, так и сделаю.
Re: FAQ по Gcode, примеры
Добавлено: 29 окт 2012, 16:29
Serg
А есть способ сказать станку (c linuxcnc), чтобы он ехал в позицию HOME? Причём HOME - это не обязательно X0 Y0 Z0.
Это я постпроцессор в HSMWorks допиливаю для linuxcnc.
Re: FAQ по Gcode, примеры
Добавлено: 29 окт 2012, 16:41
Nick
Можно запомнить положение G28.1 и потом туда приехать через G28. (Кстати, с G28 можно написать: G28 Z10, тогда он сначала поднимется на Z10, а потом поедет в запомненную точку)
Или через G53, но надо знать положение home.
Re: FAQ по Gcode, примеры
Добавлено: 30 окт 2012, 00:17
Serg
"G28 Z0" для этого подходит идеально. Только наверно "G28 G90 Z0".
Где-то читал, что положение G28 задаётся при настройке станка (при сборке). А linuxcnc можно как-то сконфигурить это положение?
До кучи: а есть что-то подобное, чтобы при смене инструмента станок тоже ехал в некую заранее заданную (в конфиге станка) позицию, ну как-бы к автосменщику?
Re: FAQ по Gcode, примеры
Добавлено: 30 окт 2012, 10:21
Nick
UAVpilot писал(а):"G28 Z0" для этого подходит идеально. Только наверно "G28 G90 Z0".Где-то читал, что положение G28 задаётся при настройке станка (при сборке). А linuxcnc можно как-то сконфигурить это положение?
G28.1 - сохраняет текущее абсолютное положение в параметрах 5161-5166.
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. Возможно, в первом пункте имелось в виду комбинация именно с этой опцией.
Re: FAQ по Gcode, примеры
Добавлено: 30 окт 2012, 11:22
Serg
Да, спасибо, я уже с утра на работе "поработал" и нашёл это.
G28 G90 Z0 работает как и задумывалось.
Re: FAQ по Gcode, примеры
Добавлено: 23 ноя 2012, 20:27
hudoi
почему команда G28 выполняется не корректно.
пример G28z0 ось сначала ныряет до нуля детали, а потом как положенно едет домой
проверил со всеми осями
емс 2.5 eng
Re: FAQ по Gcode, примеры
Добавлено: 23 ноя 2012, 20:38
Serg
Всё правильно, так и положено. G28z0 и означает, что сначала в Z0, а потом туда, где G28. Это для того, чтоб сначала поднять инструмент в самый верх (обычно Z0 - это верх, а в низ отрицательные значения), чтоб чего-нибудь не зацепить им по пути в G28.
Просто по G28 сразу туда поедет.