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

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

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

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

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

UAVpilot писал(а):G19 тебе поможет.
Так ставлю G19...
А разве после G19 не обязательно менять G-код X на Z?
Хочешь быть счастливым? Будь им!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

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

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

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

UAVpilot писал(а):G19 меняет плоскость для G2, G3.
Т.е. Был код

G0 X*** Y***
G2 X*** Y*** I*** J*** F***

Если сделать

G19
G0 X*** Y***
G2 X*** Y*** I*** J*** F***

то станок сначала поедет по команде G0 по координатам XY, а вот G2 преобразуется в плоскость YZ??? Сам?
Хочешь быть счастливым? Будь им!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

Да.

file:///usr/share/linuxcnc/ncfiles/3dtest.ngc
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

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

Сообщение Сергей Саныч »

Ворон226 писал(а):Т.е. Был код

G0 X*** Y***
G2 X*** Y*** I*** J*** F***

Если сделать

G19
G0 X*** Y***
G2 X*** Y*** I*** J*** F***

то станок сначала поедет по команде G0 по координатам XY, а вот G2 преобразуется в плоскость YZ??? Сам?
Нет.
G17, G18 и G19 меняют плоскости, в которых работают G2 и G3, но не оси. И СК они не поворачивают.
А в твоем вопросе поможет любой достаточно развитый текстовый редактор, который может заменить все
X*** на Z[#<H>-***]
ну и конечно, I на K и, возможно, G2 на G3
Чудес не бывает. Бывают фокусы.
Аватара пользователя
putman
Мастер
Сообщения: 925
Зарегистрирован: 21 янв 2013, 09:49
Репутация: 100
Настоящее имя: Алексей
Откуда: г. Долгопрудный
Контактная информация:

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

Сообщение putman »

Здравствуйте.

Почитал тему, но не смог найти информации по получению в G-коде значений осей :roll: .
Т.е. в нужном месте кода требуется знать значение координаты Z, чтобы при помощи G92 сместить инструмент на 0.1 мм ниже.
Вот так я делал в макросе поиска центра отверстия:

Код: Выделить всё

X = GetDRO(0)
А вне макросов, именно в Г-коде такое вообще возможно ?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

в жкоде можно пользовать различные параметры
для ознакомления можно в код вписать примерно такое:
(debug, 5422 = #5422)
емс при выполнении кода будет выводить значение параметра(в данном случае параметра #5422)
Аватара пользователя
putman
Мастер
Сообщения: 925
Зарегистрирован: 21 янв 2013, 09:49
Репутация: 100
Настоящее имя: Алексей
Откуда: г. Долгопрудный
Контактная информация:

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

Сообщение putman »

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

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

Сообщение nkp »

putman писал(а):Набрал в текстовом файле: debug, 5422 = #5422, ничего не происходит.
(debug, 5422 = #5422)
в скобках...
=================
например:

Код: Выделить всё

G0 X1 Y2 Z-1
(debug, 5422 = #5422)
M2
Аватара пользователя
putman
Мастер
Сообщения: 925
Зарегистрирован: 21 янв 2013, 09:49
Репутация: 100
Настоящее имя: Алексей
Откуда: г. Долгопрудный
Контактная информация:

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

Сообщение putman »

nkp писал(а):G0 X1 Y2 Z-1
(debug, 5422 = #5422)
M2
Выполняется перемещение, дальше мой MACH3 ничего не показывает.

Мне требуется следующее:
Корректировка оси Z на (-0.1) мм.
Это реально запрограммировать в G-коде ?

Т.е. в данный момент ось Z имеет значение - 0, мне нужно выполнить некие команды (их то я и пытаюсь у Вас узнать), чтобы значение оси Z стало (-0.1).
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

putman писал(а):MACH3
это хорошо,что ты сразу(в третьем посте)) это написал ;)
а так могли бы страницы три искать причины :)
Аватара пользователя
AndyBig
Мастер
Сообщения: 3971
Зарегистрирован: 07 мар 2014, 04:01
Репутация: 1121
Откуда: юг России
Контактная информация:

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

Сообщение AndyBig »

nkp писал(а):это хорошо,что ты сразу(в третьем посте)) это написал
Это было понятно еще из первого поста по "GetDRO(0)" :) Или LinuxCNC тоже понимает такие макросы? :)
Аватара пользователя
AndyBig
Мастер
Сообщения: 3971
Зарегистрирован: 07 мар 2014, 04:01
Репутация: 1121
Откуда: юг России
Контактная информация:

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

Сообщение AndyBig »

putman писал(а):Т.е. в данный момент ось Z имеет значение - 0, мне нужно выполнить некие команды (их то я и пытаюсь у Вас узнать), чтобы значение оси Z стало (-0.1).
G0 Z-0.1
или
G1 Z-0.1
:)
А если серьезно, то в G-кодах нет команд присвоения значений текущей координате оси без ее движения.
Возможно, как-то можно это сделать специфичными способами конкретных программ управления, но это уже будет никак не G-код :)
Аватара пользователя
putman
Мастер
Сообщения: 925
Зарегистрирован: 21 янв 2013, 09:49
Репутация: 100
Настоящее имя: Алексей
Откуда: г. Долгопрудный
Контактная информация:

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

Сообщение putman »

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

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

Сообщение nkp »

AndyBig писал(а):Это было понятно еще из первого поста по "GetDRO(0)"
ну ,скажем так,только людям, знакомым с этим самым "MACH3" ;)
Или LinuxCNC тоже понимает такие макросы?
емс "понимает" любой язык программирования,который будет присутствовать в системе...
AndyBig писал(а):то в G-кодах нет команд присвоения значений текущей координате оси без ее движения.
а G10 L20 ?

Код: Выделить всё

G10 L20 P0 Z-0.1
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

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

Сообщение aegis »

AndyBig писал(а):G-кодах нет команд присвоения значений текущей координате оси без ее движения
новая система координат это делает
нікому нічого не нав'язую.
Аватара пользователя
AndyBig
Мастер
Сообщения: 3971
Зарегистрирован: 07 мар 2014, 04:01
Репутация: 1121
Откуда: юг России
Контактная информация:

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

Сообщение AndyBig »

Упс, о коррекции системы координат я не подумал :))
nkp писал(а):емс "понимает" любой язык программирования,который будет присутствовать в системе...
Даже проприетарные команды и параметры из другой системы? Я что-то сомневаюсь, что GetDRO() является общей функцией применяемого в Маче языка программирования макросов (там VB, кажется) :)
Сергей1974
Новичок
Сообщения: 7
Зарегистрирован: 03 ноя 2015, 10:28
Репутация: 0
Настоящее имя: Валериевич
Контактная информация:

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

Сообщение Сергей1974 »

putman писал(а):Здравствуйте.

Почитал тему, но не смог найти информации по получению в G-коде значений осей :roll: .
Т.е. в нужном месте кода требуется знать значение координаты Z, чтобы при помощи G92 сместить инструмент на 0.1 мм ниже.
Вот так я делал в макросе поиска центра отверстия:

Код: Выделить всё

X = GetDRO(0)
А вне макросов, именно в Г-коде такое вообще возможно ?
G91G1Z-0.1F...
G90G1X... Y... F...
ИЛИ
#1=-0.1



G90G1Z#1F...
a321
Мастер
Сообщения: 563
Зарегистрирован: 03 дек 2016, 00:30
Репутация: 65
Контактная информация:

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

Сообщение a321 »

Nick писал(а):Тела подпрограмм не могут быть вложенными.
Сегодня проверил - подпрограммы могут быть вложенными.
Ответить

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