G-коды

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
steals_y2k
Мастер
Сообщения: 938
Зарегистрирован: 29 окт 2017, 14:08
Репутация: 60
Настоящее имя: Makc
Откуда: Ярославль
Контактная информация:

Re: G-коды

Сообщение steals_y2k »

при подобном написании уп гораздо проще описать перемещение - радиус текущего инструмента(или переменную, если он не задан в таблице)
zahar
Новичок
Сообщения: 4
Зарегистрирован: 27 окт 2015, 23:49
Репутация: 0
Настоящее имя: Захар
Контактная информация:

Re: G-коды

Сообщение zahar »

подскажите, линукс CNC на токарке, пневмо патрон, нужно повторять программу после подачи заготовки, как реализвать? ( кроме накопировать 100 рас прогу) может код есть или еще что-то?
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4499
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

Re: G-коды

Сообщение xenon-alien »

zahar писал(а): подскажите, линукс CNC на токарке, пневмо патрон, нужно повторять программу после подачи заготовки, как реализвать? ( кроме накопировать 100 рас прогу) может код есть или еще что-то?
Пишете параметрическую УП.
Задаете нужное количество повторений.
Мы так титановые винтики точим.
И так тестирую станки.
Самый элементарный код для выравнивания поверхности (не идеал, мне пойдёт).

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

G21 (metric - mm)
G17 (ZX - plane)
G64 P0.1

#<_Size_X>            = 120                     (Rozmir zahotovky po X)
#<_Size_Y>            = 60                      (Rozmir zahotovky po Y)
#<_Tool_Diameter>     = 6                       (Diameter Instrumenta)
#<_Step>              = [#<_Tool_Diameter>/2]   (Shag zmishennia)
#<_Spindle_Speed>     = 15000                   (Oberty Shpindelia)
#<_F>                 = 300                     (Robocha Podacha)



m3 s[#<_Spindle_Speed>]
g1 y[#<_Size_Y>] f[#<_F>]


(Pochatok cyklu)

O100 do
g1 y[#<_Size_Y>]
g1 x[#<_Size_X> + #<_Step>]
g1 y[#<_Size_Y> - #<_Step>]
g1 x0

#<_Size_Y> = [#<_Size_Y> - #<_Tool_Diameter>]
O100 while [#<_Size_Y> GT 0]

g1 y0
g1 x[#<_Size_X> + #<_Step>]
g0 z0
g0 x0 y0 

m5
m30
В документации для ЛЦНЦ можно многое найти. ;)
Ну и второй код для использования всего хода по Z (знак / в начале строки дает возможность пропустить эти строки, если нужен единичный экземпляр, для этого есть копка в интерфейсе.)

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

(Titanovyj samorez)

G21 (metric - mm)
G7 (diameter mode)
G18 (ZX - plane)
G95 (F - mm/rev)
/G53 G0 Z-5.5 (otezzhaem ot HOME "0" na -5.5mm)

G54 (coordinate system - P1)

(pereminni znachennja)

#<_Prutok>              = 3          (diametr prutka)
#<_L>                   = 9          (dovzhyna samoriza)
#<_L_TipZ>              = 3.5        (konus kinchyka po Z)
#<_L_TipX>              = 2          (konus kinchyka po X)
#<_L_Tip_Z>             = 5          (zariz kinchyka po Z)
#<_L_Tip_X>             = 5          (zariz kinchyka po X)
#<_L_Head>              = 1.5          (dovzhyna holovky)

#<_ThreadPitch1>        = 0.75       (shag rezby)
#<_ThreadDepth1>        = 1.4        (glybyna rezby v diametri)
#<_ThreadHight1>        = 1.95       (zovnishnij diametr rezby)

#<_Thread2Pitch_P>      = 1.21       (shag rezby)
#<_Thread2Depth_K>      = 2          (glybyna rezby )
#<_Thread2Path_J>       = 0.5       (hlybyna pershoho prochodu)
#<_Thread2BL_I>         = -0.1       (vidstup vid bazovoi linii)
#<_Thread2_L>           = 2          (faska na pochatku - L1, abo kinci - L2, abo nide - L0, abo oba - L3)
#<_Thread2_E>           = #<_L_Head>        (vidstan vid bazovoi linii dlja zadanja konusa)



#<_Cutt_Tool>           = 1.5        (shyryna rizcja)
#<_Thread_Tool_Comp>    = 1.7        (vidstup do vershyny rizbovoho rizcja = 3.4/2)
#<_ThreadToolComp>      = 3          (kompensacia nulja instrumentu do vershyny rezbofrezy)
#<_SpinSpeed>           = 1500       (skorost spindelja konusa) 
#<_SpinSpeedThread1>    = 500          (skorost spindelja rezboferezovanie)
#<_SpinSpeedThread2>    = 300        (skorost spindelja rezba 2 zachoda)
#<_SpinSpeedCut>        = 1000       (skorost spindelja otrezanie)
#<_DwellSpin>           = 3          (sekund na ochikuvannja povorotu shpindelja povorotu)
#<_CutDepth>            = 2.4        (hlybyna vrizannja skruhlennja)
#<_RoughCut>            = 0.06       (chornovyj prochid)
#<_FinishCut>           = 0.02       (chystovyj prochid)
#<_MaxTavel>            = 110        (max peremishennja po Z - 112, 120mm - soft limit)

(formulas)

#<_pcs>      = ROUND[#<_MaxTavel> / [#<_L> + #<_Cutt_Tool>] - 0.49]       (k-sty shtuk)
#<_begin>    = [#<_pcs> * [#<_L> + #<_Cutt_Tool>] - [#<_L> + #<_Cutt_Tool>]]        (dovzhyna zahalnoi obrobky vsix za cykl minus 1 shtuka)
#<_L_Thread> = [#<_L>-#<_L_Head>]
#<_SafeDist> = [#<_Prutok> + 0.5]
#<_2ndThreadDist>       = [#<_ThreadPitch1> / 2]        (zmishennja rizby druhogo zachoda osnona rizba /2 )



(Pochatok cyklu)

/O100 do

t1 m6 g43 (tool 1 - cut )
G10 L20 P1 z[#<_Cutt_Tool>]   (zadanie tekushei pozicii znachenia 1.5  - rizec)
m3 s[#<_SpinSpeed>]
m5
/#<_pcs> = [#<_pcs> - 1]
/O100 while [#<_pcs> GT 0]

;t4 m6 g43 (tool 4 - thread , polozhytelnyj X)
;G49 (otmena kompensacii instumenta)

m0 (Pause) 
;g0 z[#<_begin> + #<_Cutt_Tool>] 
G53 G0 Z-5.5 (otezzhaem v nachalo machinnix koordinat na -5.5mm)
m30
steals_y2k
Мастер
Сообщения: 938
Зарегистрирован: 29 окт 2017, 14:08
Репутация: 60
Настоящее имя: Makc
Откуда: Ярославль
Контактная информация:

Re: G-коды

Сообщение steals_y2k »

zahar писал(а): нужно повторять программу после подачи заготовки,
есть два варианта-
1. о1234 repeat[число повторов]
o<мойфайл> call
o1234 endrepeat

2.
#x=1
o2345 while [x le число повторов]
o<мойфайл> call
x=x+1
o2345 endwhile

ну, это чтобы не вставлять в цикл то, что надо выполнить.

ничего нового, было ранее всё вроде🙄
zahar
Новичок
Сообщения: 4
Зарегистрирован: 27 окт 2015, 23:49
Репутация: 0
Настоящее имя: Захар
Контактная информация:

Re: G-коды

Сообщение zahar »

steals_y2k писал(а): 18 дек 2021, 18:07
zahar писал(а): нужно повторять программу после подачи заготовки,
есть два варианта-
1. о1234 repeat[число повторов]
o<мойфайл> call
o1234 endrepeat

2.
#x=1
o2345 while [x le число повторов]
o<мойфайл> call
x=x+1
o2345 endwhile

ну, это чтобы не вставлять в цикл то, что надо выполнить.

ничего нового, было ранее всё вроде🙄
[/quote
прошу простить балбеса)) но не пойму куда вставлять саму программу движений станка . объясните пожалуйта
steals_y2k
Мастер
Сообщения: 938
Зарегистрирован: 29 окт 2017, 14:08
Репутация: 60
Настоящее имя: Makc
Откуда: Ярославль
Контактная информация:

Re: G-коды

Сообщение steals_y2k »

в мойфайл.ngc
Андрей Силантьев
Новичок
Сообщения: 2
Зарегистрирован: 09 фев 2023, 03:55
Репутация: 0
Настоящее имя: Андрей Геннадьевич Силантьев
Контактная информация:

Re: G-коды

Сообщение Андрей Силантьев »

Здравствуйте уважаемые форумчане!
Несколько месяцев назад всё работало прекрасно. Вчера написал УП в Арткаме 2018 как всегда. Но при загрузке в nc studio в поле УП (поле справой стороны) вместо привычного кода я увидел каракули. Версия windows 98. Подскажите с чем это связано? Может вирус забрался типо червя?
steals_y2k
Мастер
Сообщения: 938
Зарегистрирован: 29 окт 2017, 14:08
Репутация: 60
Настоящее имя: Makc
Откуда: Ярославль
Контактная информация:

Re: G-коды

Сообщение steals_y2k »

скорее всего, кодировка, русские буквы..
sidor094
Мастер
Сообщения: 826
Зарегистрирован: 20 фев 2014, 09:13
Репутация: 81
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: G-коды

Сообщение sidor094 »

Есть ли команда для синхронизации со шпинделем 2 осей при этом главной должна быть не ось Z а ,например ось А и плюс X?Это нужно для нарезания червячной фрезой. Сейчас пока для себя модифицировал G33 .То есть та координата которая указывается первой будет главной.
Например g33 c200 x100 k2 будет синхронизировать ось С cо шпинделем с шагом 2 а координата X будет крутиться в 2 раза медленнее координаты C.Может кто-то может подсказать правильную команду плдобных действий для совместимости с широкораспространенными системами чпу
OK0
Новичок
Сообщения: 5
Зарегистрирован: 15 дек 2023, 13:28
Репутация: 0
Настоящее имя: Олег Валентинович
Контактная информация:

Re: G-коды

Сообщение OK0 »

Казалось бы элементарная вещь... G02,G03. Не могу найти объяснение некоторого противоречия. Устанавливаем начальную и конечную точку и центр окружности. Но мы не можем произвольно задать координаты центра. Эта точка должна быть равноудалена от начальной и конечной (это же дуга). Значит одна из координат должна рассчитываться (какая?) и проверяться (кем? с какой погрешностью?). Ни в ГОСТе, ни в статьях не нашел никаких пояснений. Правильно ли я понимаю, что фраза "центр окружности может быть в любом месте" - это вредная глупость?
Screenshot_119.jpg (770 просмотров) <a class='original' href='./download/file.php?id=209999&sid=8629f64d1320e3693312773d45ddd7f1&mode=view' target=_blank>Загрузить оригинал (163.89 КБ)</a>
kfmut
Мастер
Сообщения: 1249
Зарегистрирован: 30 янв 2021, 21:34
Репутация: 147
Настоящее имя: Максим
Откуда: г.Тверь
Контактная информация:

Re: G-коды

Сообщение kfmut »

OK0 писал(а): Казалось бы элементарная вещь...
Способов задания дуг достаточно много, открываете документацию по программированию вашего контроллера и смотрите какие поддерживаются. Правильное положение точек проверяется контроллером, погрешность задаётся в настройках контроллера, если больше, то вываливается в ошибку. Начальная точка дуги определяется предыдущей командой движения, конечная и центры - вы задаёте сами, в параметрах команды, что здесь не так? :wik:
OK0
Новичок
Сообщения: 5
Зарегистрирован: 15 дек 2023, 13:28
Репутация: 0
Настоящее имя: Олег Валентинович
Контактная информация:

Re: G-коды

Сообщение OK0 »

ОК, спасибо. Я в своем сообщении задал вопрос. Если я вас правильно понял, - ваш ответ положительный...
Аватара пользователя
Mamont
Мастер
Сообщения: 1949
Зарегистрирован: 10 дек 2015, 12:21
Репутация: 380
Настоящее имя: Виталий
Откуда: РБ Минск
Контактная информация:

Re: G-коды

Сообщение Mamont »

В некоторых чпу системах центр окружности может быть не равноудален.
Мач3 к примеру будет рисовать спираль Архимеда. Ругнется если радуис окажется равным нулю
OK0
Новичок
Сообщения: 5
Зарегистрирован: 15 дек 2023, 13:28
Репутация: 0
Настоящее имя: Олег Валентинович
Контактная информация:

Re: G-коды

Сообщение OK0 »

Mamont писал(а): 15 дек 2023, 18:29 центр окружности может быть не равноудален.
Интересный факт. Полезный. Хотя звучит как "число Пи в военное время может достигать..." :)
Значит и в ГОСТе и, тем более, в учебных статьях необходимо именно к этому способу задания дуги ставить жирное примечание "относительные координаты центра должны удовлетворять следующему условию..." ОК.
Ivanmig
Новичок
Сообщения: 1
Зарегистрирован: 17 янв 2023, 22:25
Репутация: 0
Настоящее имя: Иван Мигунов
Контактная информация:

Редактирование готового G кода

Сообщение Ivanmig »

Всем добрый день! только осваиваю ЧПУ, работаю во Fusion 360. Cam модуль мне очень нравится, мне всё понятно. Но есть ограничение в скорости холостых перемещений\быстрых перемещений (Не знаю как правильно называется) Короче, хобийная версия программы накладывает ограничения и не генерирует всё что связано с G0 командами.По этой причине скорость холостого хода у меня всегда равна скорости фрезерования... Очень сильно раздражает на Сложных УП c кучей перемещений. Есть ли возможность отредактировать готовый G-код в стороннем редакторе и добавить в автоматическом\полуавтоматическом режиме скорость этих перемещений.
vtgmfg
Мастер
Сообщения: 1421
Зарегистрирован: 23 июн 2022, 14:13
Репутация: 53
Настоящее имя: Максим
Контактная информация:

Re: G-коды

Сообщение vtgmfg »

вместо г0 выдает г1?
теоретически можно отловить все перемещения к/на высоте безопасности
Аватара пользователя
xvovanx
Мастер
Сообщения: 3646
Зарегистрирован: 25 фев 2016, 12:27
Репутация: 897
Настоящее имя: Владимир
Откуда: Latvia
Контактная информация:

Re: G-коды

Сообщение xvovanx »

vtgmfg писал(а): Вчера, 10:23 вместо г0 выдает г1?
теоретически можно отловить все перемещения к/на высоте безопасности
В процессе работы g0 перемещения уже будут ниже высоты безопасности...
vtgmfg
Мастер
Сообщения: 1421
Зарегистрирован: 23 июн 2022, 14:13
Репутация: 53
Настоящее имя: Максим
Контактная информация:

Re: G-коды

Сообщение vtgmfg »

ну это спуск и подъем. если не заставлять КАМ перемещаться ниже.
Аватара пользователя
xvovanx
Мастер
Сообщения: 3646
Зарегистрирован: 25 фев 2016, 12:27
Репутация: 897
Настоящее имя: Владимир
Откуда: Latvia
Контактная информация:

Re: G-коды

Сообщение xvovanx »

vtgmfg писал(а): ну это спуск и подъем. если не заставлять КАМ перемещаться ниже.
Я про ситуацию, скажем, фрезеровки кармана в кармане, либо углублений в кармане. Там горизонтальный G0 и спуск/подъем будет в глубине первого кармана не поднимаясь на высоту безопасности
vtgmfg
Мастер
Сообщения: 1421
Зарегистрирован: 23 июн 2022, 14:13
Репутация: 53
Настоящее имя: Максим
Контактная информация:

Re: G-коды

Сообщение vtgmfg »

наверное все таки от КАМ зависит. в солидкаме есть опции обычно, когда понимаешь что делаешь делать переходы не на высоте безопасности, а на безопасном отступе или чето типа. в принципе да - если КАМ уверен в своей оценке ситуации - он может эту опцию и не предлагать.
Ответить

Вернуться в «Windows / Mach»