Ликбез по G кодам
|
miccot | Дата: Пятница, 05.08.2016, 20:18 | Сообщение # 101 |
Группа: Проверенные
Сообщений: 238
Репутация: 1755
Замечания: 0%
Статус: Оффлайн
| russilver86, Боря! Привет! дабы тебе не было скучно нагружу вопросами. То, что вы все здесь присутствующие знающие люди - это бесспорно. И это радует! Может и я чё нить почерпну от вас. Прошу не пинать ногами по животу- болеть будет.. И так.. Есть шапка проги для обработки фрезой . Стойка Fanuk % O0001-------------------------------------------------название N0001 G00--------------------------------------------быстрое перемещение N0002 G0 G28 G91 Z0.0-----------------------------двигаемся на референтную(???) высоту в относительной системе координат (относительно чего?) N0003 G0 G28 G91 X0.0-----------------------------повтор для Х N0004 G0 G28 G91 Y0.0-----------------------------повтор для Y N0005 G40 G17 G80 G21 G90-----------------------это набор кодов прописан для применения в этой программе или для станка в целом, как обязаловка. И зачем тут отмена сверловки, если на детали нет ни одного отверстия N0006 T03 M06---------------------------------------выбираем инструмент под номером 3 в касете N0007 G54--------------------------------------------переключаемся на заданную систему координат оператором-(это нулевая точка детали?) N0008 G00 X420.737 Y297.515 S3050 M03--------тут понятно!-быстрое перемещение к заданным точкам + включение шпинделя с вращением по часовой N0009 G43 Z50. H03--------------------------------добавляем к высоте инструмента 0.03мм?

Деталь выглядит приблизительно так
активно учусь моделить
|
|
| |
|
miccot | Дата: Пятница, 05.08.2016, 20:25 | Сообщение # 102 |
Группа: Проверенные
Сообщений: 238
Репутация: 1755
Замечания: 0%
Статус: Оффлайн
| Еще вопрос Можно ли для такой детали написать подпрограмму обработки кубика и дальше указывать координаты следующих кубиков и вызывать подпрограмму?
активно учусь моделить
|
|
| |
|
russilver86 | Дата: Суббота, 06.08.2016, 04:42 | Сообщение # 103 |
Группа: Проверенные
Сообщений: 200
Репутация: 243
Замечания: 0%
Статус: Оффлайн
| O0001-------------------------------------------------название N0001 G00--------------------------------------------быстрое перемещение N0002 G0 G28 G91 Z0.0-----------------------------двигаемся на референтную(???) высоту в относительной системе координат (относительно чего?) N0003 G0 G28 G91 X0.0-----------------------------повтор для Х N0004 G0 G28 G91 Y0.0-----------------------------повтор для Y N0005 G40 G17 G80 G21 G90-----------------------это набор кодов прописан для применения в этой программе или для станка в целом, как обязаловка. И зачем тут отмена сверловки, если на детали нет ни одного отверстия N0006 T03 M06---------------------------------------выбираем инструмент под номером 3 в касете N0007 G54--------------------------------------------переключаемся на заданную систему координат оператором-(это нулевая точка детали?) N0008 G00 X420.737 Y297.515 S3050 M03--------тут понятно!-быстрое перемещение к заданным точкам + включение шпинделя с вращением по часовой N0009 G43 Z50. H03--------------------------------добавляем к высоте инструмента 0.03мм?
Вот это вот всё - как-то неправильно. Такое ощущение, что сгенерировано каким-то тупым постпроцессором. Ну не станет CNC програмист так начинать свою программу. Это как прямо с постели нахлобучить сперва шляпу, а потом надевать всё остальное. Строка №1 не нужна Строка №2.3.4 - ну просто не имеет смысла. Это ускоренное перемещение в машинный ноль. Если на столе закреплена деталь - зачем гонять в ноль стол, если он через секунду оттуда уедет всё-равно ? В особых случаях на некоторых машинах, когда у вас высоченная деталь и длиннющее сверло есть смысл поднять Z на максимальную высоту, что-бы не врезаться. Но это редко бывает. G91G28Z0 пишется без G0 , это и так ускореное перемещение "домой". Можно и в абсолюте перемещать инструмент домой, но тогда вам надо знать его машинные координаты, а это практически невозможно при составлении программы. Поэтому записывается так G91G28Z0 Тогда инструмент поедет домой с любой точки. Просто примите как есть и не ломайте голову а почему так ? №5 - должна идти первой. Это шапка. В неё можно и №7 вписать, зачем плодить лишние строчки ? В шапку обычно пишут утверждающие и отменяющие коды. Что-бы отменить все циклы, которые применялись или могли применяться перед этой программой, и что-бы утвердить , что исчисление - абсолют (G90) , что рабочий ноль детали - G54 и т.д. № 9 - не , это не добавление. Этим вы активируете длину инструмента. Я писал про это уже многократно. Когда вы касаетесь детали или стола фрезой, например, и делаете это нолём по Z - во взрослых станках, где автоматическая смена инструмента, эту длину надо активировать когда инструмент вставлен в шпиндель. Иначе машина будет использовать значение из встроенной памяти, и если до этого инструмент был короче - грохнет прямо в деталь на ускоренной. Вообщем - плохо будет. Всем. Поэтому после строчки T3M6 должна следовать строка с кодом G43 Z1. H3 Z1. это могут быть инчи или это может быть Z10. - тогда миллиметры, это может быть любое число, где вы хотите что-бы ваш инструмент опустился над деталью . Это будет быстрое перемещение !!!! Литера H - это номер инструмента. Это просто формат такой G43 H...
|
|
| |
|
russilver86 | Дата: Суббота, 06.08.2016, 04:53 | Сообщение # 104 |
Группа: Проверенные
Сообщений: 200
Репутация: 243
Замечания: 0%
Статус: Оффлайн
| Это просто порядок такой - активировать длину инструмента. Это как сказать здравствуйте когда входишь куда-то, и до свидания - когда уходишь. В настольном станке это не так важно. Но если вы хотите применять сверлильный цикл, и хотите что-бы ваш инструмент поднимался на определённую высоту, что-бы не врезаться в прижим - тогда надо этот код использовать, и высота по Z над прижимом и будет той, что вы напишете с кодом G43.
Цитата miccot (  ) Можно ли для такой детали написать подпрограмму обработкикубика и дальше указывать координаты следующих кубиков и вызывать подпрограмму? Не только можно, но и нужно. Вообще такую программу можно сделать очень изящной. Если вы будете создавать её в арткаме - это будет километр длиной. Ну в любом случае я бы прошел сперва фрезой и сделал вот так
|
|
| |
|
russilver86 | Дата: Суббота, 06.08.2016, 06:03 | Сообщение # 105 |
Группа: Проверенные
Сообщений: 200
Репутация: 243
Замечания: 0%
Статус: Оффлайн
| Я не вдавался в подробности, как сделать красивый аккуратный конус, ну а арткаме я изобразил его примерно так
 Почему внизу так не аккуратно - не столь важно. Программу я бы сделал так G80G90G54 T1M6 S5000M3 G43 Z.5 H1 G0 X5.8 Y-1. (ноль - верхний левый угол) M98 P 123 L7 вызываю подпрограмму для этого конуса и повторяю её 7 раз. L в этой строчке - число повторений. Иногда К. Если машина не принимает этот код (тоже может быть ) тогда придётся смещать вручную на каждый конус кодом G52. Подпрограмму делаю в инкрементал и в конце ввожу строчку перемещения на расстояние между центрами конуса Ноль - центр верх конуса. Дальше - смещаю вниз на следующий ряд - и повторяю то-же самое. И так 4 раза. Естественно - программа для самого конуса длинная и сгенерирована арткамом , или другой программой. Но она будет записана только один раз. Вот как-то так.
|
|
| |
|
russilver86 | Дата: Суббота, 06.08.2016, 22:39 | Сообщение # 106 |
Группа: Проверенные
Сообщений: 200
Репутация: 243
Замечания: 0%
Статус: Оффлайн
| Вообще - я так подумал, конуса эти не слишком хорошая идея делать каждый индивидуально. Вот если -бы это были цилиндрики - тогда другое дело. Такие конуса надо делать фрезой с соответствующим углом. Типа как эта, 15 градусов.
 Сначала сделать квадратики, а потом грани срезать по рядам такой фрезой. Можно , конечно, и каждый обкатать, но это будет дольше намного. Таких фрез полно с разными углами.
|
|
| |
|
appo | Дата: Воскресенье, 07.08.2016, 10:55 | Сообщение # 107 |
Группа: Проверенные
Сообщений: 42
Репутация: 45
Замечания: 0%
Статус: Оффлайн
| Цитата russilver86 (  ) А как вы программу на такую деталь будете делать без G41 и G42 кодов ? Не ответил на вопрос и перескочил дальше,возвращаюсь.Без G41 иG42 на некоторых стойках,например:CNC 900 и её серии,CNC785 и серии,Sinumerik,есть возможность быстро вручную создать небольшие УП,вот пример для предложенного пятиугольника: 001501.NC P001501 N10G49 N20G0Z40 N30M3 N40X0.00Y-28.205 N50Z-2F1500 N60G12P71:3;X18.559Y-28.205F3500 N70G12P71:3;X30.029Y7.097 N80G12P71:3;X0Y28.914 N90G12P71:3X-30.029Y7.097 N100G12P71:3X-18.559Y-28.205 N110G1X0.00Y-28.205 N120G0Z40 N130X40Y350 N140M2
Здесь после двоеточия цифра 3 указывает радиус скругления.Диаметр фрезы прописан в параметрах,где его и можно корректировать с учётом фактического размера.G41,G42 стойки тоже понимают и прекрасно обрабатывают.Будем думать как их применить.
Сообщение отредактировал appo - Понедельник, 08.08.2016, 16:37 |
|
| |
|
russilver86 | Дата: Воскресенье, 07.08.2016, 22:47 | Сообщение # 108 |
Группа: Проверенные
Сообщений: 200
Репутация: 243
Замечания: 0%
Статус: Оффлайн
| Цитата appo (  ) CNC 900 и её серии,CNC785 и серии,Sinumerik, Я так понимаю - это машины семейства Сименс ? Там много своих кодов, отличных от общепринятых.Вы хотите , что-бы я начал в них разбираться ? Но у меня нет доступа к такой машине. Тогда зачем это мне ? Мач не понимает кода G123 . И прочий синтаксис этих машин он не понимает. Язык вашей машины - это диалект, исключение из общих правил. Я не говорю, что это плохо или хорошо. Если вы научитесь программировать вашу машину, и она будет делать то, что вам требуется - какая разница, как вы ей отдаёте команды ? Но любой язык изучают с общепринятого, а не с какого-то диалекта, на котором говорит небольшая группка людей. Попробуйте написать программу для вашего станка в нормальных кодах, и посмотрите, как он вас поймёт. Возможно, выдаст ошибку.
|
|
| |
|
appo | Дата: Понедельник, 08.08.2016, 16:36 | Сообщение # 109 |
Группа: Проверенные
Сообщений: 42
Репутация: 45
Замечания: 0%
Статус: Оффлайн
| Цитата russilver86 (  ) Я так понимаю - это машины семейства Сименс ? Там много своих кодов, отличных от общепринятых.Вы хотите , что-бы я начал в них разбираться ? Нет,там через запятую,имелось ввиду что и сименсовские могут.Не надо в них разбираться,я просто ответил на вопрос.Эти машины работают по общепринятым кодам,просто имеются дополнительные функции.
|
|
| |
|
appo | Дата: Воскресенье, 14.08.2016, 18:34 | Сообщение # 110 |
Группа: Проверенные
Сообщений: 42
Репутация: 45
Замечания: 0%
Статус: Оффлайн
| Цитата appo (  ) Первый этап: по чертежу Я бы вычислил координатные точки концов векторов Второй этап:попытка создания УП с компенсацией радиуса инструмента.Фреза3мм(прописана D3),материал 4мм Вынос фрезы (G43) пока не учитывал.
G90G49G17 G0Z40 M03S22000 G41D3G0X0Y-28.205 G1Z-4.0F600X-16.379F1200 G2X-19.232Y-26.132R3 G1X-29.355Y5.024 G2X-28.265Y8.378R3 G1X-1.763Y27.633 G2X1.763Y27.633R3 G1X28.265Y8.378 G2X29.355Y5.024R3 G1X19.232Y-26.132 G2X16.379Y-28.205R3 G1X0.0 G40 G0Z40 M05 M30
Масн3 принял,ошибки не выдал:
Теперь вопрос:в TOOL Table в столбиках со словом Wear(износ),что нужно задавать - фактический размер фрезы или разницу.Фреза в D3 прописана 3мм износ 0.1мм,что ставить 2.9 или 0.1 ? Прошу проверить и прокомментировать ошибки.Спасибо.
Сообщение отредактировал appo - Воскресенье, 14.08.2016, 18:48 |
|
| |
|
russilver86 | Дата: Вторник, 16.08.2016, 04:45 | Сообщение # 111 |
Группа: Проверенные
Сообщений: 200
Репутация: 243
Замечания: 0%
Статус: Оффлайн
| Неправильно. Очень много ошибок. У взрослого станка от такой программы будет понос. Я писал раньше, как активировать эти коды. Вы невнимательно читали.
Цитата appo (  ) Теперь вопрос:в TOOL Table в столбиках со словом Wear(износ),что нужно задавать - фактический размер фрезы или разницу.Фреза в D3 прописана 3мм износ 0.1мм,что ставить 2.9 или 0.1 ? В столбиках этих можно ничего не ставить. Но вообще, там где диаметр - там ставите диаметр. А где износ - там величину износа, это если в процессе работы износилась, но ещё нормально режет. Просто размер не даёт. Износ длины - вообще-то очень редко. Тогда просто менять.
|
|
| |
|
appo | Дата: Суббота, 27.08.2016, 11:22 | Сообщение # 112 |
Группа: Проверенные
Сообщений: 42
Репутация: 45
Замечания: 0%
Статус: Оффлайн
| Наконец-то смог проверить на станках:с управлением Масн3;с управлением CNC785;с управлением CNC900(BWO900)На „взрослых“ станках„шапка“УП была использована с похожих УП,только моя УП вставлена.Проблем не возникло,отработало с первого раза.На Масн3 спервого раза получилось такое: Повторныйпрогон прошёл правильно.Непонятно почему врезание произошло без учёта компенсации радиуса,следующая точка уже с учётом и повторные включения после смены заготовки отработались как было задумано-- врезание с учётом диаметра фрезы и весь контур с учётом.
 
 

УП: N0T1M6 N10G17 N20G90 N30G49 G41D2 G0Z40 M03S15000 G0X0Y-28.205 G1Z-2.5F600 X-16.379F1200 G2X-19.232Y-26.132R3 G1X-29.355Y5.024 G2X-28.265Y8.378R3 G1X-1.763Y27.633 G2X1.763Y27.633R3 G1X28.265Y8.378 G2X29.355Y5.024R3 G1X19.232Y-26.132 G2X16.379Y-28.205R3 G1X0.0 G40 G0Z40 X0Y0 M05 M30
Сообщение отредактировал appo - Суббота, 27.08.2016, 16:49 |
|
| |
|
russilver86 | Дата: Среда, 31.08.2016, 01:29 | Сообщение # 113 |
Группа: Проверенные
Сообщений: 200
Репутация: 243
Замечания: 0%
Статус: Оффлайн
| G41D2 G0Z40 M03S15000 G0X0Y-28.205 G1Z-2.5F600 X-16.379F1200
Вот это - ужас как неправильно. Это " феня " . Попробуйте создать такое для Фанук - он тут-же встанет и выдаст ошибку. Если Вы хотите научиться G-кодам - учитесь грамотно .А так - это как изучать литературный русский язык общаясь с колхозным конюхом. ( не в обиду всем конюхам будет сказано)
Как-то я сразу не обратил внимания - вы диаметр фрезы в таблице для второго инструмента ввели ? Почему у вас номер инструмента 1 , а D 2 ? Как оно вообще могло такое работать ? D - это не диаметр инструмента.
Сообщение отредактировал russilver86 - Среда, 31.08.2016, 01:35 |
|
| |
|
appo | Дата: Среда, 31.08.2016, 10:45 | Сообщение # 114 |
Группа: Проверенные
Сообщений: 42
Репутация: 45
Замечания: 0%
Статус: Оффлайн
| Цитата russilver86 (  ) вы диаметр фрезы в таблице для второго инструмента ввели Да,в таблицу ввёл D2=2mm и D3=3mm.Цифры взяты для удобства,что это не диаметр я знаю.В Т1 установлен инстумент D2.Что неправильно? Использовалась только 2мм фреза.D3 создал чтобы проверить реакцию систем на G41.То есть фрезу оставил 2мм,а задал D3 c диаметром 3мм.Соответственно размеры изменились.Это мне и нужно было выяснить не меняя фрезу.Всё сработало как было задумано.Единственно первое врезание как выше описал было на Масн3.Вы писали выше что сначала нужно произвести перед включением компенсации любое линейное перемещение.Это сейчас экспериментирую чтобы понять логику Масн3.Про фанук не знаю,до сименсов и изел не добрался,там в УП много других команд. А по поводу "ужас как неправильно" Вы бы хоть намекнули что неправильно.Для Масн3,другие системы пока оставим.Что вынос инструментаG43 мне не нужен я писал и отсутствие этого кода я не могу считать ошибкой.
Сообщение отредактировал appo - Среда, 31.08.2016, 10:50 |
|
| |
|
russilver86 | Дата: Четверг, 01.09.2016, 00:42 | Сообщение # 115 |
Группа: Проверенные
Сообщений: 200
Репутация: 243
Замечания: 0%
Статус: Оффлайн
| N0T1M6 N10G17 N20G90 N30G49 G41D2 G0Z40 M03S15000 G0X0Y-28.205 G1Z-2.5F600 X-16.379F1200 G2X-19.232Y-26.132R3
G90G80G40G54 T1M6 S15000M3 G0X0Y-30. G43 Z40 H1 Z-2.5 G1G41Y-28.205D1 F600 X-16.379 F1200 и т.д. Сравните с вашей. Учитесь писать программу так, что-бы она была читабельной. Не нужно значение работающего инструмента ставить на номер другого инструмента если нет необходимости. Запутаетесь.
|
|
| |
|
russilver86 | Дата: Четверг, 01.09.2016, 00:46 | Сообщение # 116 |
Группа: Проверенные
Сообщений: 200
Репутация: 243
Замечания: 0%
Статус: Оффлайн
| Цитата appo (  ) Для Масн3 Мач3 прекрасно понимает универсальные коды, но в нём есть и своя орфография. Мне она непривычна. Да и зачем мне к ней привыкать, если работает как надо всё то, что я уже знаю ? Каша получается в голове.
|
|
| |
|
russilver86 | Дата: Пятница, 02.09.2016, 02:22 | Сообщение # 117 |
Группа: Проверенные
Сообщений: 200
Репутация: 243
Замечания: 0%
Статус: Оффлайн
| Арро ! Вам надо купить книгу . Вы понимаете английский язык ? Если да - могу посоветовать вот эту
 У меня и вторая и третья редакции есть. Когда я учился в школе CNC - это была моя настольная книга. И сейчас не утратила актуальности. Всего не упомнишь, что-то используешь каждый день , а что-то никогда. Но приходит момент - и тебе это нужно. Так по крайней мере есть где посмотреть. Там всё буквально разжёвано и разложено по полочкам. Но практика обязательна. А то не поймёшь. Голая теория не работает.
|
|
| |
|
appo | Дата: Пятница, 02.09.2016, 09:25 | Сообщение # 118 |
Группа: Проверенные
Сообщений: 42
Репутация: 45
Замечания: 0%
Статус: Оффлайн
| К сожалению английский не знаю.Если не трудно дайте ISBN этой книги,поищу.Или если знаете где можно скачать электронную версию-- был бы признателен.
|
|
| |
|
russilver86 | Дата: Суббота, 03.09.2016, 02:48 | Сообщение # 119 |
Группа: Проверенные
Сообщений: 200
Репутация: 243
Замечания: 0%
Статус: Оффлайн
| На русском этого бесценного труда , наверное, нет. Увы и ах . Но ! На английском таки есть, я его нашёл, и вы можете его скачать. Доступно только для пользователей Он в формате PDF, просматривайте, уверен интуитивно что-то поймёте, спрашивайте - попробую ответить о чём речь. Только номер страницы давайте. Там много примеров программ, всяких рисунков . Вообщем - изучайте.
|
|
| |
|
appo | Дата: Суббота, 03.09.2016, 11:22 | Сообщение # 120 |
Группа: Проверенные
Сообщений: 42
Репутация: 45
Замечания: 0%
Статус: Оффлайн
| Цитата russilver86 (  ) Он в формате PDF, просматривайте, Огромное спасибо.Просмотрел по диагонали,много есть того что искал,например вращение координат (G68).Приходилось вращать при выборе места на досках при фрезеровке рельефов,так методом научного тыка находил.Такого детального описания ещё не находил.Только пока непонятно упоминание радиуса при вращении,но буду смотреть.Если не затруднит,прошу перевести на язык фрезеровщиков коды G45--G48.В окне PDF страница 67,на листе указана страница 48.
|
|
| |
|
russilver86 | Дата: Суббота, 03.09.2016, 15:47 | Сообщение # 121 |
Группа: Проверенные
Сообщений: 200
Репутация: 243
Замечания: 0%
Статус: Оффлайн
| Цитата appo (  ) Если не затруднит,прошу перевести на язык фрезеровщиков коды G45--G48.В окне PDF страница 67,на листе указана страница 48. Скажу честно - я никогда не использовал эти коды. Как я понял из описания - жизнь не стоит на месте, когда создавались G-коды и программист делал программу, он не знал где будет ноль на детали на столе станка. Поэтому ставил эти коды что-бы рабочий потом мог скорректировать это подставив свои номера уже по факту , отталкиваясь от машинного нуля координат, который машина всегда знает. Но потом были придуманы коды рабочих оффсетов, G54 и т.д. и необходимость в этих отпала. Но коды остались и машина их понимает. Про Мач3 не скажу, не знаю. Может быть и нет. Лично я ни в одной программе их не видел. Это как карбюратор для машины а магазине запчастей - на полке ещё есть, но уже никому не надо. Я ещё почитаю, по по-моему так оно и есть.
|
|
| |
|
appo | Дата: Суббота, 03.09.2016, 17:36 | Сообщение # 122 |
Группа: Проверенные
Сообщений: 42
Репутация: 45
Замечания: 0%
Статус: Оффлайн
| Цитата russilver86 (  ) Поэтому ставил эти коды что-бы рабочий потом мог скорректировать это подставив свои номера уже по факту , отталкиваясь от машинного нуля координат, который машина всегда знает. Просил перевести не из праздного любопытства.Дело в том,что системы,которые выше описывал,используют эти коды.G45 и G46 -это включение и выключение вращения координат.G47-координатная система станка,G48-координатная система инструмента,G49-координатная система заготовки.Да,я не указал,станки пятиосные.Например,если включен код G48 и нужно врезаться под углом,то задаётся только значения по Zххх,перемещения по другим осям,которое при этом происходит,система расчитывает сама.Вот и хотел узнать,то же самое они в книге означают.
|
|
| |
|
russilver86 | Дата: Воскресенье, 04.09.2016, 05:48 | Сообщение # 123 |
Группа: Проверенные
Сообщений: 200
Репутация: 243
Замечания: 0%
Статус: Оффлайн
| Цитата appo (  ) Вот и хотел узнать,то же самое они в книге означают. Не, не тоже самое. Для пятиосных станков в этой книге нет. Эта книга - введение. Что-бы можно было понять основы. Ну а дальше уже сам. Пятиосные станки - это уже продвинутое оборудование. Программы для них вручную точно не пишут.
|
|
| |
|
appo | Дата: Воскресенье, 04.09.2016, 10:43 | Сообщение # 124 |
Группа: Проверенные
Сообщений: 42
Репутация: 45
Замечания: 0%
Статус: Оффлайн
| Цитата russilver86 (  ) Программы для них вручную точно не пишут. Например для контурной обработки ещё как пишут.Сама система даже для этого имеет все возможности. Даже самые новейшие.С рельефами сложнее.......
|
|
| |
|
orakyl47 | Дата: Понедельник, 27.01.2020, 21:02 | Сообщение # 125 |
Группа: Проверенные
Сообщений: 16
Репутация: 0
Замечания: 0%
Статус: Оффлайн
| Прикольно вспомнил свои потуги с этим Г кодом) в токарном) в институте)прошло десять лет и все забыл)хотя знал хорошо предмет,были очень хорошие лекции преподавателя в электронном виде. слева инструмент держать чтобы пробы в плюсе быть при обработке направо. Помню спрут)первая УП,деталь в 3д)да) Спасибо. Если интересно могу поискать лекции будут очень полезны "с нуля".
|
|
| |