FAQ по Gcode, примеры

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение Nick »

Теперь работает?
M67 (Analog Output Synchronized with Motion) в 2.4 еще не был реализован.
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение Ворон226 »

Пытаюсь разобраться с различными координатами в CNC и как ими управлять в G-кодах?

Например,
Вот запускаю я станок на поиск HOME. HOME найден, а станок отъезжает в рабочую зону (пусть это будут координаты X100 Y200 Z5). Нужно сказать, что это место и есть - X0 Y0 Z0.
А после отработки детали - переезжаю на другое место и опять определяю его как X0 Y0 Z0.

Какими командами в G-кодах это делается?
G92 X0 Y0 Z0 ???
А перемещатьс я в ноль -
G53 X0 Y0 Z0 ???
или, все таки
G0 X0 Y0 Z0 ???
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение nkp »

посмотри в сторону G10 L2 Pxx
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение Nick »

G92 X0 Y... назначит текущие координаты равными указанным.
Также есть еще различные системы координат, со своими смещениями G54-G59, они назначаются или вручную или через G10 или G20.

G53 это ехать в 0 станка, игнорируя все смещения: по G92, по G54 и отступы инструмента - эта команда полезна например при смене инструмента, которая всегда происходит в определенном месте.
Вот есть картинка которая показывает очередность применения различных отступов:
coordinatesystems (1).png
coordinatesystems (1).png (11.37 КБ) 5848 просмотров
И полезные ссылочки, правда на английском.

http://wiki.linuxcnc.org/cgi-bin/wiki.p ... ateSystems
http://linuxcnc.org/docs/html/gcode/coordinates.html
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение Ворон226 »

Осталась проблемка:
Как при кодировке в G-кодах вычислять дистанцию до конца контура?
motion.distance-to-go (float,out) Дистанция до окончания текущего перемещения. Но ведь текущее перемещение может быть длиной и 2 мм, а если необходимо узнать когда наступит расстояние до конца КОНТУРА - 10 мм, например?
Нет ли соображений по этой проблеме?
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение nkp »

или в кам прикрутить такую функцию
или постпроцессировать код и вставлять коды-сигналы ...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение Ворон226 »

Так я пока не могу представить саму процедуру вычисления дистанции до конца контура...
Хочешь быть счастливым? Будь им!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение Nick »

Ворон226 писал(а):motion.distance-to-go (float,out) Дистанция до окончания текущего перемещения.
Во-во, я же говорил :).

В gcodetools была возможность подрезать углы и концы контуров. - в dev версии в Path preparations - есть штука prepare for box.
Вот тут кое что про это есть: Подготовка станка для производства подарочных коробок #203
Может поможет...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение nkp »

значения из HAL прямо в G-код:
https://www.youtube.com/watch?v=5yUDILQn9z8
===============
точно также можно брать значения из INI:
#<_ini[section]name>
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение Nick »

Только для версии 2.6+, а то сейчас набегут с вопросами, почему у них не работает :)

ЗЫ ИМХО одна из самых класных вещей тут это возможность динамической компенсации длинны инструмента на потоковом производстве, о котором уже давно спрашивали, но решения так и не нашли.
Теперь берем этот параметр и вставляем в G10 L1 или G10 L10 и делаем компенсацию износа инструмента по мере необходимости!

Хотя... это еще вопрос, будет ли эта зараза обновляться во время выполнения программы, хотя по идее должна :)
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение nkp »

Nick писал(а):Хотя... это еще вопрос,
дааа!
я уже тоже успел обрадоваться и огорчиться!
так оно не работает ;)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение Nick »

Да ладно!
Т.е.
(DEBUG,#<_hal[]> ) не выдаст текущего значения?

может она просто preview не обновит, а так сработает. И может там еще что-то с движением завязано...

Кстати, а ведь все это можно через analog-in сделать... :thinking:
M66 E1 L0
и потом берем доп. компенсацию отсюда: #5399
Так точно сработает.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение nkp »

берем код:
O<test> sub
G91
o103 repeat [5]
F30 G1 X #<_hal[pyvcp.vscale-f]> Y #<_hal[pyvcp.vscale-f]>
o103 endrepeat
O<test> endsub
O <test> call
m2

запускаем как на видео - с ползунком
===========
ну как ты думаешь - если после начала выполнения кода двигать ползунок - что нибудь изменится???
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение Nick »

А если добавить (DEBUG, )
И какую нибудь остановку, может он буфер движения забивает, для скруглений. попробуй G4 добавить, или тот же debug.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение nkp »

Nick писал(а):попробуй G4 добавить
все равно так не работает
Выделение(002).jpg (5355 просмотров) <a class='original' href='./download/file.php?id=15598&sid=eb169c1d88b5309b59e303f68ca72d58&mode=view' target=_blank>Загрузить оригинал (113.22 КБ)</a>
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение Nick »

Странно... тогда зачем это все? Особенно пины хал? Или может не дописали что-то еще?
s_nick
Новичок
Сообщения: 17
Зарегистрирован: 21 июл 2013, 21:33
Репутация: 0
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение s_nick »

Как можно остановить исполнение Gкода на несколько секунд и начать со следующей строки? внутри самого Gкода есть какие-то G или M команды для этого??
s_nick
Новичок
Сообщения: 17
Зарегистрирован: 21 июл 2013, 21:33
Репутация: 0
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение s_nick »

спасибо очень долго и безуспешно искал сам...)
s_nick
Новичок
Сообщения: 17
Зарегистрирован: 21 июл 2013, 21:33
Репутация: 0
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение s_nick »

Есть какая-нибудь команда G кода "идти пока не коснешься концевика"? Вообщем мне нужно поведение аналогичное выставлению 0 по оси но через G код. Или может быть это возможно сделать через o коды?
Ответить

Вернуться в «LinuxCNC»