Требуется помощь по некоторым G-кодам

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
Sovereign
Новичок
Сообщения: 3
Зарегистрирован: 07 мар 2019, 15:41
Репутация: 0
Настоящее имя: Jegor
Контактная информация:

Требуется помощь по некоторым G-кодам

Сообщение Sovereign »

Здравствуйте, не знаю, как у вас всё устроено тут, но мне требуется помощь по G кодам. Мне 17 лет, учусь на оператора фрезерного станка с ЧПУ, и мне надо знать, как работают следующие коды:
G41, G28, G90, G91, M0, M1, у учителя спрашивать об этом бесполезно, он не видит во мне потенциала и помогать не хочет. Что именно мне надо разобрать в этих кодах:
Как работает код G41, для чего его пишут и что будет, если не отменить его, то есть после каждого прохода необходимо отключать компенсацию и запускать следующую, а для чего?
Почему в программируемом нуле (G28) пишется код G91, а не G90? Пример: G28 G91 X10. Y25.
В каких случаях надо работать с абсолютным позиционированием (G90), а в каких случаях с относительным позиционированием (G91)? Ведь в основном мы используем код G90 при написании программы, а не G91.
В каких случаях используют M0, а в каких случаях M1? На сколько мне известно, M0 пишется в конце программы, когда нам надо будет заменить деталь либо ее перевернуть, но таким же макаром можно использовать код M1, но M1 пишется после каждой операции для замера детали или проверки программы.

На этом все, заранее благодарю за ответ.
Аватара пользователя
cncmybox
Мастер
Сообщения: 334
Зарегистрирован: 14 янв 2015, 21:15
Репутация: -19
Настоящее имя: Алексей
Контактная информация:

Re: Требуется помощь по некоторым G-кодам

Сообщение cncmybox »

121e.JPG (4087 просмотров) <a class='original' href='./download/file.php?id=158553&sid=a5280bc925ac664a5784f5f301bb65ad&mode=view' target=_blank>Загрузить оригинал (29.34 КБ)</a>
отсюда http://planetacam.ru/college/learn/16-1/
там и про остальное почитать можно. вторая ссылка в поиске https://www.google.com/search?q=g-коды :)
Бди! (с) Козьма Прутков
Sovereign
Новичок
Сообщения: 3
Зарегистрирован: 07 мар 2019, 15:41
Репутация: 0
Настоящее имя: Jegor
Контактная информация:

Re: Требуется помощь по некоторым G-кодам

Сообщение Sovereign »

cncmybox, я уже сидел на этом сайте, ничего из вышеперечисленного я не нашел, по поводу G28 G91 не понятно, каким образом инструмент может столкнуться с деталью или частями станка? Опять же, недосказанная информация. Ничего из того, что я хочу знать - там не написано.
Аватара пользователя
Argon-11
Мастер
Сообщения: 2067
Зарегистрирован: 07 июн 2017, 17:48
Репутация: 461
Контактная информация:

Re: Требуется помощь по некоторым G-кодам

Сообщение Argon-11 »

А тоже вопрос задам! Напомню, я неуч, G-коды знаю только понаслышке.
Станок отработал одну программу, надо запустить следующую на этой же заготовке с этой же фрезой. В шапке программ имеется смена инструмента (кадр N30) и компенсация (кадр N50):
(для просмотра содержимого нажмите на ссылку)
(LMB_FINISH_6MM
(T2 D=6. CR=0. - ZMIN=17.675 - FLAT END MILL)
N10 G90 G94 G17 G91.1
N15 G21
N20 G53 G0 Z0.
(PARALLEL1)
N25 M9
N30 T2 M6
N35 S10000 M3
N40 G54
N45 G0 X844.24 Y283.802
N50 G43 Z96. H2
N55 G0 Z57.
N60 G1 Z54.992 F3000.
Мне надо вторую программу запустить с того положения фрезы, где она остановилась, без измерения длины.
Что для этого нужно удалить? Если удаляю оба этих кадра, LinuxCNC ругается, что программа вылетает за пределы по Z. Оставить G43? Но ведь компенсация уже сделана в первой программе. Боюсь фрезу сломать...
Аватара пользователя
Predator
Мастер
Сообщения: 9583
Зарегистрирован: 18 июл 2013, 18:26
Репутация: 2531
Контактная информация:

Re: Требуется помощь по некоторым G-кодам

Сообщение Predator »

Так и запускай дальше, зачем удалять G43, это компенсация на вылет инструмента? Только не забывай указывать "H2", иначе компенсация не будет работать.
Кстати, начальные координаты X, Y во второй программе, совпадают с последними координатами в первой?
Аватара пользователя
Argon-11
Мастер
Сообщения: 2067
Зарегистрирован: 07 июн 2017, 17:48
Репутация: 461
Контактная информация:

Re: Требуется помощь по некоторым G-кодам

Сообщение Argon-11 »

Predator писал(а):Только не забывай указывать "H2", иначе компенсация не будет работать.
H2 - это некая внутренняя переменная, содержащая результат замера длины фрезы? Я ранее не сказал - пользуюсь плагином для LinuxCNC для автоизмерения (T2 M6).
Predator писал(а):Кстати, начальные координаты X, Y во второй программе, совпадают с последними координатами в первой?
Неа, однозначно не совпадают. Кроме этого я временно могу отогнать портал в сторону, чтобы не мешал, после чего нужно продолжить работу.
В общем задача-то в том, чтобы многоэтапную обработку выполнить только с одним измерением длины фрезы, ибо повторяемость показаний датчика оставляет желать лучшего.
Аватара пользователя
kalinvick
Мастер
Сообщения: 1105
Зарегистрирован: 30 янв 2015, 15:38
Репутация: 1134
Откуда: Москва
Контактная информация:

Re: Требуется помощь по некоторым G-кодам

Сообщение kalinvick »

Sovereign писал(а):В каких случаях надо работать с абсолютным позиционированием (G90), а в каких случаях с относительным позиционированием (G91)? Ведь в основном мы используем код G90 при написании программы, а не G91.
Может не совсем по теме, но все таки...

Когда я впервые столкнулся со станком ЧПУ, это был 2000 год. И машинка, которая у меня тогда была - это был лазер, который управлялся через LPT порт от компьютера DELL Intel 8086. Про память компьютера и диск даже сказать нечего :-(
Так вот тогда в программе принципиально использовался код G91.
Потому что, для слабой машины вычислить каждый приращение координаты проще и быстрее, чем считать абсолютную координату.
Точность ниже, скорость вычисления выше.
Если ставили в программе G90, то управляющий комп достаточно быстро зависал и станок вставал.
Сейчас, в связи с тем, что вычислительные мощности компьютеров и стоек, настолько выросли, что с этой точки зрения особой разницы нет, в как считать координаты - относительно или абсолютно.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Требуется помощь по некоторым G-кодам

Сообщение Serg »

kalinvick писал(а):Потому что, для слабой машины вычислить каждый приращение координаты проще и быстрее, чем считать абсолютную координату.
Ага, на пару машинных инструкций, на фоне остальных десятков-сотен тысяч это конечно сильно упрощает расчёты. :)
Это что-то из области шаманства и прочих духов. Даже при включении G91 ЧПУ всё равно считает (и показывает) абсолютные координаты осей, хотя бы для того, чтоб было где оказаться после возврата в G90. :)
kalinvick писал(а):Если ставили в программе G90, то управляющий комп достаточно быстро зависал и станок вставал.
Скорее просто баг в софте, который проявлялся при активной G90.

Относительные координаты (G91) просто удобны при написании УП "руками", типа "следующие 10мм проточить глубже на 2мм".
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
nik1
Мастер
Сообщения: 8408
Зарегистрирован: 02 окт 2012, 07:37
Репутация: 3628
Откуда: Красногорск
Контактная информация:

Re: Требуется помощь по некоторым G-кодам

Сообщение nik1 »

Sovereign писал(а):Почему в программируемом нуле (G28) пишется код G91, а не G90? Пример: G28 G91 X10. Y25
Скорее всего потому , что в данном случае понятнее вести отсчет по инкрементальным координатам
То есть задается смещение от хоум позиции на конкретное расстояние
Этот код применяют для установки осей станка в желаемое положение операратора, для смены инструмента, для подхода стола к оператору и подобных вещей
Аватара пользователя
kalinvick
Мастер
Сообщения: 1105
Зарегистрирован: 30 янв 2015, 15:38
Репутация: 1134
Откуда: Москва
Контактная информация:

Re: Требуется помощь по некоторым G-кодам

Сообщение kalinvick »

UAVpilot писал(а):Ага, на пару машинных инструкций, на фоне остальных десятков-сотен тысяч это конечно сильно упрощает расчёты
Спорить с программистом не буду.
Но скажу так - чпу не было.
Стойки не было.
Был комп х86.
Проги тоже были не ахти. Самописные однако.
Теоритезировать было не нужно, надо было работать и получать денешку.
Техника была не самая лучшая.
Несовпадение начала и конца участка резки контура герба - орла, размером в метр на метр составляло примерно 15-20 мм.
Работали, однако и зарабатывали.
Без знания машинных инструкций.
Г-коды тогда увидел первый раз.
Аватара пользователя
Мастерю
Мастер
Сообщения: 520
Зарегистрирован: 17 фев 2019, 13:45
Репутация: 34
Настоящее имя: Сергей
Контактная информация:

Re: Требуется помощь по некоторым G-кодам

Сообщение Мастерю »

kalinvick писал(а):Несовпадение начала и конца участка резки контура герба - орла, размером в метр на метр составляло примерно 15-20 мм.
Чем такой "ЧПУ", не лучше бы лобзиком пилить? :lol:
Аватара пользователя
Мастерю
Мастер
Сообщения: 520
Зарегистрирован: 17 фев 2019, 13:45
Репутация: 34
Настоящее имя: Сергей
Контактная информация:

Re: Требуется помощь по некоторым G-кодам

Сообщение Мастерю »

kalinvick писал(а):это был 2000 год
Хм... Вы бы хоть почитали автора.
Sovereign писал(а):Мне 17 лет
Пацана тогда еще не свете не было, что же вы ему рассказываете про "прошлый век"? Давайте помолчим и дадим слово профессиональным программистам. А так, чем мы отличаемся от
Sovereign писал(а):у учителя спрашивать об этом бесполезно, он не видит во мне потенциала и помогать не хочет
???
Вот так молодым на корню отбиваем все желание работать умом и ручками. Хватит, уже наплодили всяких манагеров! :pssdoff:

А Егору удачи!
Аватара пользователя
Мастерю
Мастер
Сообщения: 520
Зарегистрирован: 17 фев 2019, 13:45
Репутация: 34
Настоящее имя: Сергей
Контактная информация:

Re: Требуется помощь по некоторым G-кодам

Сообщение Мастерю »

Sovereign писал(а):В каких случаях надо работать с абсолютным позиционированием (G90), а в каких случаях с относительным позиционированием (G91)? Ведь в основном мы используем код G90 при написании программы, а не G91.
Если вам требуется выполнить простую операцию, например, вырезать прямоугольную деталь со сторонами, скажем, 30х40 мм, то в таком случае, гораздо проще задать команды в относительных координатах, не считая абсолютных значений (их ПО ЧПУ рассчитает самостоятельно). А если вы выполняете какие-то операции по заранее заданным (известных вам) точкам, то, естественно, проще задавать абсолютные координаты этих точек. Опять же, при необходимости, станок сам будет рассчитывать совместный ход осей.
G90-G91_ГОСТ.jpg (3820 просмотров) <a class='original' href='./download/file.php?id=158628&sid=a5280bc925ac664a5784f5f301bb65ad&mode=view' target=_blank>Загрузить оригинал (55.55 КБ)</a>
Sovereign писал(а):В каких случаях используют M0, а в каких случаях M1? На сколько мне известно, M0 пишется в конце программы, когда нам надо будет заменить деталь либо ее перевернуть, но таким же макаром можно использовать код M1, но M1 пишется после каждой операции для замера детали или проверки программы.
М0-М1_ГОСТ.jpg (3839 просмотров) <a class='original' href='./download/file.php?id=158625&sid=a5280bc925ac664a5784f5f301bb65ad&mode=view' target=_blank>Загрузить оригинал (98.83 КБ)</a>
Учитесь пользоваться нормативными документами и прочей умной литературой. Учителя тоже люди и им иногда свойственно ошибаться. Я тоже когда-то учился и у меня тоже были учителя. Бывали случаи, что в ответ на свой вопрос я слышал полную ахинею! Ну, бывает... :wik:
Последний раз редактировалось Мастерю 09 мар 2019, 16:49, всего редактировалось 2 раза.
Аватара пользователя
Predator
Мастер
Сообщения: 9583
Зарегистрирован: 18 июл 2013, 18:26
Репутация: 2531
Контактная информация:

Re: Требуется помощь по некоторым G-кодам

Сообщение Predator »

Argon-11 писал(а):H2 - это некая внутренняя переменная, содержащая результат замера длины фрезы
Н - Это компенсация на вылет инструмента (цифра это номер инструмента), она подхватывает вылет инструмента из таблицы offset.
Аватара пользователя
Predator
Мастер
Сообщения: 9583
Зарегистрирован: 18 июл 2013, 18:26
Репутация: 2531
Контактная информация:

Re: Требуется помощь по некоторым G-кодам

Сообщение Predator »

Argon-11 писал(а):задача-то в том, чтобы многоэтапную обработку выполнить только с одним измерением длины фрезы,
Пока ты снова не померяешь инструмент с таким же номером, его длина хранится в таблице offset и не меняется. Правда не знаю, как там в linuxcnc, после выключения компа, сохраняются данные или нет. :wik:
Аватара пользователя
Argon-11
Мастер
Сообщения: 2067
Зарегистрирован: 07 июн 2017, 17:48
Репутация: 461
Контактная информация:

Re: Требуется помощь по некоторым G-кодам

Сообщение Argon-11 »

Теперь понял логику, спасибо!
Sovereign
Новичок
Сообщения: 3
Зарегистрирован: 07 мар 2019, 15:41
Репутация: 0
Настоящее имя: Jegor
Контактная информация:

Re: Требуется помощь по некоторым G-кодам

Сообщение Sovereign »

Всем спасибо за ответ, кое-что я уяснил.
Ответить

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