Страница 1 из 1

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

Добавлено: 07 мар 2019, 16:09
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 пишется после каждой операции для замера детали или проверки программы.

На этом все, заранее благодарю за ответ.

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

Добавлено: 07 мар 2019, 16:18
cncmybox
121e.JPG (4108 просмотров) <a class='original' href='./download/file.php?id=158553&sid=1599553f53413698e49d7800722d73bc&mode=view' target=_blank>Загрузить оригинал (29.34 КБ)</a>
отсюда http://planetacam.ru/college/learn/16-1/
там и про остальное почитать можно. вторая ссылка в поиске https://www.google.com/search?q=g-коды :)

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

Добавлено: 07 мар 2019, 16:25
Sovereign
cncmybox, я уже сидел на этом сайте, ничего из вышеперечисленного я не нашел, по поводу G28 G91 не понятно, каким образом инструмент может столкнуться с деталью или частями станка? Опять же, недосказанная информация. Ничего из того, что я хочу знать - там не написано.

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

Добавлено: 08 мар 2019, 09:21
Predator

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

Добавлено: 08 мар 2019, 09:50
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? Но ведь компенсация уже сделана в первой программе. Боюсь фрезу сломать...

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

Добавлено: 08 мар 2019, 18:52
Predator
Так и запускай дальше, зачем удалять G43, это компенсация на вылет инструмента? Только не забывай указывать "H2", иначе компенсация не будет работать.
Кстати, начальные координаты X, Y во второй программе, совпадают с последними координатами в первой?

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

Добавлено: 08 мар 2019, 22:17
Argon-11
Predator писал(а):Только не забывай указывать "H2", иначе компенсация не будет работать.
H2 - это некая внутренняя переменная, содержащая результат замера длины фрезы? Я ранее не сказал - пользуюсь плагином для LinuxCNC для автоизмерения (T2 M6).
Predator писал(а):Кстати, начальные координаты X, Y во второй программе, совпадают с последними координатами в первой?
Неа, однозначно не совпадают. Кроме этого я временно могу отогнать портал в сторону, чтобы не мешал, после чего нужно продолжить работу.
В общем задача-то в том, чтобы многоэтапную обработку выполнить только с одним измерением длины фрезы, ибо повторяемость показаний датчика оставляет желать лучшего.

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

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

Когда я впервые столкнулся со станком ЧПУ, это был 2000 год. И машинка, которая у меня тогда была - это был лазер, который управлялся через LPT порт от компьютера DELL Intel 8086. Про память компьютера и диск даже сказать нечего :-(
Так вот тогда в программе принципиально использовался код G91.
Потому что, для слабой машины вычислить каждый приращение координаты проще и быстрее, чем считать абсолютную координату.
Точность ниже, скорость вычисления выше.
Если ставили в программе G90, то управляющий комп достаточно быстро зависал и станок вставал.
Сейчас, в связи с тем, что вычислительные мощности компьютеров и стоек, настолько выросли, что с этой точки зрения особой разницы нет, в как считать координаты - относительно или абсолютно.

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

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

Относительные координаты (G91) просто удобны при написании УП "руками", типа "следующие 10мм проточить глубже на 2мм".

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

Добавлено: 09 мар 2019, 07:55
nik1
Sovereign писал(а):Почему в программируемом нуле (G28) пишется код G91, а не G90? Пример: G28 G91 X10. Y25
Скорее всего потому , что в данном случае понятнее вести отсчет по инкрементальным координатам
То есть задается смещение от хоум позиции на конкретное расстояние
Этот код применяют для установки осей станка в желаемое положение операратора, для смены инструмента, для подхода стола к оператору и подобных вещей

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

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

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

Добавлено: 09 мар 2019, 16:06
Мастерю
kalinvick писал(а):Несовпадение начала и конца участка резки контура герба - орла, размером в метр на метр составляло примерно 15-20 мм.
Чем такой "ЧПУ", не лучше бы лобзиком пилить? :lol:

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

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

А Егору удачи!

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

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

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

Добавлено: 09 мар 2019, 16:40
Predator
Argon-11 писал(а):H2 - это некая внутренняя переменная, содержащая результат замера длины фрезы
Н - Это компенсация на вылет инструмента (цифра это номер инструмента), она подхватывает вылет инструмента из таблицы offset.

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

Добавлено: 09 мар 2019, 16:46
Predator
Argon-11 писал(а):задача-то в том, чтобы многоэтапную обработку выполнить только с одним измерением длины фрезы,
Пока ты снова не померяешь инструмент с таким же номером, его длина хранится в таблице offset и не меняется. Правда не знаю, как там в linuxcnc, после выключения компа, сохраняются данные или нет. :wik:

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

Добавлено: 09 мар 2019, 17:05
Argon-11
Теперь понял логику, спасибо!

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

Добавлено: 09 мар 2019, 20:08
Sovereign
Всем спасибо за ответ, кое-что я уяснил.