Содержание
- Использование G92 и как после этого как предотвратить сбой с G54 ?
- #1 OFFLINE Genadko
- #2 OFFLINE Клиент
- Станок не принимает G-код
- #1 OFFLINE cheksizlik
- #2 OFFLINE 3D-BiG
- #3 OFFLINE cheksizlik
- #4 OFFLINE Lodochnik
- G-коды G54, G52 и G92: рабочие смещения для приспособлений ЧПУ станка
- G10 для установки рабочего смещения в G-коде
Использование G92 и как после этого как предотвратить сбой с G54 ?
#1 OFFLINE Genadko


- Пол: Мужчина
- Из:Петах Тиква
Здравствуйте форумчане, стойка фанук от 2005 года (новейшая версия фанук на то время).
Недавно столкнулся с такой проблемой :
Для планирования стола фрезерного станка (обрабатывающий центр, 5 осей), на глубину срезаемого слоя порядка 0.2 мм (алюминиевая плата) — я использовал в программке G92 для установки системы коодинат по Z, другие оси X и У у меня были занулены в G54.
Всё прошло на Ура, стол обновен, можно работать дальше!
Но, при первом же замере на blum — я заметил что замедления подачи не происходит на заданной высоте на пути к blum (переход с G00 на контролируемую подачу G01) пускаемого на замер режущего инструмента!
И инструмент по таблице оставшегося расстояния, если не остановить вовремя просто врезается на скорости G00 в blum!
Взглянув на таблицы Absolute и Relative — я увидел что на них координата Z c положительным значением в то время что машинная координата по Z = 0!
Это значение по Z в таблицах Absolute и Relative было равно расстоянию от поверхности стола до нижней кромки режущего инструмента, т.е. значение координаты по Z было относительно заданной системы координат по G92.
Я попытался в положении машинного Z=0 (шпиндель в максимальной точке по высоте Z) занулить таблицы Absolute и Relative дав команду G92 Z0.
Всё занулилось.
Тогда я попробовал проверить как будет выполняться установка системы координат по G54,
и я к сожалению увидел что при установке начала координат, в таблице Absolute по-прежнему, появляется совсем другое значение от ожидаемого.
В общем — пришлось выключать станок (выполнять RESET) и включать заново. После обнуления осей — всё вернулось в норму.
На другом станке с ранней версии фанук от 1984 года — два метода G54 и G92 — работают без осечек, правда там нет Blum для автоматического замера инструментов да и параметров применяемых в ранней версии контролера фанук гораздо меньше чем в относительно новой версии фанук от 2005 года, возможно что какой-то параметр сдвига для работы с G54-G59, при команде G92 сохраняет своё значение и если его в ручную не занулить — то это приводит к сбоям как при замере инструмента так и при установке системы координат по G54-G59.
У меня такой вопрос — существует ли другой путь без прибегания к выключению станка, для выхода из системы координат заданной через G92 и возврата к исходному состоянию системы координат?
Или не стоит заморачиваться с G92, не искать себе там проблем, а работать через G54-G59?
За ранее спасибо!
#2 OFFLINE Клиент


- Пол: Мужчина
- Из:Москва
Вернуть смещение назад можно командой G92 Z0
Источник
Станок не принимает G-код
#1 OFFLINE cheksizlik



- Пол: Мужчина
- Из:Самарканд
Помогите пожалуйста станок не принимает g код
#2 OFFLINE 3D-BiG















- Пол: Мужчина
- Город: Ареал обитания — вся страна, но обычно встречаюсь в Новосибирске.
- Интересы: Полежать на диване, пофлудить на форуме.
- Из:СССР
Мил человек, вы ничего не сказали об системе управления станка и что ему пытаетесь скормить и что при этом станок пишет об этом коде, а здесь телепатов нет, а без этих данных что-либо вам подсказать не смогут.
Лужу, паяю, станки ЧПУ починяю.
Еще частенько здесь болтаю: Телеграм сообщество ЧПУшников: t.me/cncunion
#3 OFFLINE cheksizlik



- Пол: Мужчина
- Из:Самарканд
#4 OFFLINE Lodochnik










- Пол: Мужчина
- Из:Королев
добрый день система управления консольного типа Китайская версия 3.0-с-5.3.23-fat
Побеги в магазин, купи телефон с камерой, сделай фото и присылай сюда.
Источник
G-коды G54, G52 и G92: рабочие смещения для приспособлений ЧПУ станка
Вспомните схему преобразования координат, который используется для преобразования координат в g-коде в фактические координаты, к которым машина должна двигаться, на третьем этапе расположены коды G54, G52 и G92 отвечающие за рабочие смещения:
Эта глава, посвященная программированию G-кода, посвящена G52, G54, G92 и связанным с ними командам смещения работы и приспособления. После предыдущих шагов в последовательности настройки, наши координаты были преобразованы в соответствующие единицы (дюймовые или метрические), преобразованных в абсолютных координатах (через G90 / G91), и теперь мы готовы привести эти координаты к фактическому месту работы.
Зачем смещать координаты относительно рабочего места?
Зачем нам нужно смещать координаты относительно рабочего места? Думайте о рабочих сдвигах как о закладках. Они определяют интересующие места в рабочей среде вашего станка (диапазон положений, в которые он может перемещаться). Например, предположим, что у нас есть четверо тисков на столе, способные удерживать четыре детали для обработки. Это может ускорить производство, так как мы можем вставить четыре детали в тиски, нажать кнопку «Пуск» и не беспокоиться, пока машина не обработает их. Это требует гораздо меньше усилий, чем замена любой готовой детали.
Как могла бы выглядеть программа для такой установки из четырех деталей?
Что ж, в идеале мы не хотим изменять программу обработки детали для обработки координат каждой позиции детали. Мы хотели бы написать программу относительно нулевой части, а затем позволить какой-нибудь другой функции волшебным образом изменять координаты, когда мы работаем над каждой частью. В конце концов, они просто сдвинуты относительно друг друга, но в остальном программы обработки деталей будут идентичными.
Специализированное приспособление может быть настроено для ряда позиций деталей, и может быть предусмотрено, что для каждой позиции назначено рабочее смещение, чтобы упростить программирование g-кода для приспособления. Самыми сложными примерами этого являются 4-я ось и крепежные пластины, которые могут даже комбинировать разные виды деталей и использовать различные рабочие смещения, чтобы все было ровно.
Иногда есть рабочие смещения, связанные с некоторыми особенностями станка. Возможно, вы установили датчик инструмента в определенном месте на столе и используете рабочее смещение, чтобы отслеживать это местоположение.
Чтобы справиться с подобными ситуациями, были созданы замещения работы.
Как определяются рабочие смещения в G-коде?
Базовые рабочие смещения очень просто указать: просто введите одно из G54, G55, G56, G57, G58 или G59. Большинство машин запускается с выбранным G54. Рекомендуется помещать G54 в строку безопасности в верхней части всех ваших программ с g-кодом, чтобы убедиться, что вы знаете, какое рабочее смещение используется, если у вас нет причин не делать этого.
Когда вы выполняете g-код рабочего смещения, смещение XYZ будет добавлено ко всем вашим координатам, начиная с этой точки. Вернемся к нашей настройке с четырьмя тисками. Вы можете задать 4 рабочих смещения, которые будут координатами левого угла задней губки в каждых тисках. Лучше выбирать неподвижную губку, потому что ее положение более точное. Используйте кромкоискатель или щуп, чтобы определить положение угла губок тисков, а затем установите это рабочее смещение в зависимости от того, как контроллер вашего станка устанавливает смещения. После того, как вы установили G54 — G57 на четыре положения губок тисков, вы готовы к работе.
Вы можете задать смещение нулевой точки вручную в зависимости от того, в какие тиски вы вставляете заготовку, но более продуктивно сделать это прямо в g-коде. Общая схема выглядит так:
На данный момент вы, вероятно, просто скопируете и вставите копии кода. Предполагая, что ваш элемент управления поддерживает их, как только вы научитесь использовать подпрограммы, вы можете сохранить одну копию кода детали и вызывать ее как подпрограмму из каждого блока рабочего смещения. В качестве примера, вот как может выглядеть настройка подпрограммы для создания 4 идентичных деталей с рабочими смещениями:
Как видите, подпрограммы могут упростить и упростить создание множества одинаковых деталей.
Увеличение количества рабочих смещений
С G54 до G59 у вас есть 6 рабочих смещений. Это очень полезно, но что, если вам нужно сделать еще больше деталей. На большой крепежной плите может быть место для десятков мелких деталей для машины с большим ходом.
За прошедшие годы производители контроллеров ЧПУ придумали несколько способов расширить синтаксис, чтобы обеспечить гораздо больше рабочих смещений. Один из распространенных подходов — использовать «G54.1 Pxxx», где «xxx» — это число. Типичные диапазоны для числа — 1..48 или 1..300. Вы нужно найти подробности в руководстве по программированию вашего станка. Чтобы использовать рабочее смещение # 45, просто введите следующий g-код:
G54.1 P45 (использовать рабочее смещение # 45)
Некоторые элементы управления позволяют опускать «.1», поэтому вы можете написать «G54 P45».
Используя этот новый синтаксис, вы получаете 6 исходных рабочих смещений плюс еще многие другие.
Дополнительные смещения для станков Haas
Haas позволяет G110..G129 ссылаться на смещения так же, как G54.1 Px.
G92: Программируемое временное смещение работы
Предположим, вам нужно программируемое временное смещение нулевой точки. Есть много способов добиться этого, но один из проверенных и верных — использовать G92. G92 устанавливает рабочее смещение на основе предоставленных вами координат смещения. Итак, если этот угол губок тисков, о котором мы говорили, расположен от текущего положения инструмента со смещением X10Y10Z0, вы можете выполнить следующее:
Теперь координаты угла тисков — X0Y0Z0. Вы только что установили собственное смещение нулевой точки с помощью G92.
Давайте рассмотрим другой пример, где может оказаться полезным G92 или один из других способов программирования смещения нулевой точки. Предположим, у вас есть крепежная пластина, на которой есть сетка из деталей. Вы заранее знаете, что частей 4 по горизонтали и 2 по вертикали, значит, будет 8 частей. Пластина сделана так, чтобы расстояние по осям X и Y между каждой частью было постоянным (конечно, в пределах допусков). Таким образом, части могут находиться на расстоянии 5 дюймов по оси X и 5 дюймов по оси Y.
Поскольку G92 является смещением от текущей позиции инструмента, мы перемещаем инструмент в нулевую точку первой детали в начале программы G-кода. Затем мы можем использовать G92 для добавления смещений относительно этой позиции, 5 дюймов по X и 5 дюймов по Y для каждой части, когда мы будем проходить через них. Довольно удобно, а?
Обратите внимание, что G92 доступен на фрезерных и некоторых токарных станках, но большинство токарных станков используют G50 для этой функции.
G52: смещение смещений
Учитывая количество функций, связанных со смещениями на станках с ЧПУ, должно быть очевидно, насколько они удобны. Настолько, что есть много разных способов добиться схожих результатов. Предположим, вы настроили рабочие смещения для каждой детали на столе. Теперь предположим, что каждая деталь имеет некоторые идентичные элементы, расположенные в разных точках детали. Вы можете использовать еще больше рабочих смещений для идентификации этих идентичных элементов, чтобы вы могли использовать один и тот же g-код для их обработки, или вы можете использовать G52 для создания временного смещения на смещении. Это может выглядеть так:
Готов поспорить, вы сразу увидите, где G52 пригодится, верно?
G10 для установки рабочего смещения в G-коде
G10 — это удобный g-код, который позволяет вам программировать рабочие смещения стиля G54 из вашего g-кода. Типичный синтаксис:
G10 L2 Poo Xxx Yyy Zzz
Где «oo» — это номер рабочего смещения, «xx» — смещение по X, «yy» — смещение по Y, а «zz» — смещение по Z.
Для получения полной информации о том, как использовать G10, см. Специальную главу нашего курса G-Code.
Если у вас есть более старый элемент управления, у которого не так много рабочих смещений, вы можете использовать G10 для повторного использования доступных рабочих смещений с другими координатами.
Рабочие смещения и макропеременные
На станках, допускающих параметризованное программирование, обычно есть макропеременные, соответствующие каждой координате каждого рабочего смещения. Например, на Fanuc для G54 используются следующие переменные:
# 5221 G54 Смещение по оси X
# 5222 G54 Смещение по оси Y
# 5223 G54 Смещение по оси Z
# 5224 G54 Смещение четвертой оси
Вы можете получить доступ к этим переменным, чтобы увидеть их значения или изменить их.
Полностью прекратить использование рабочих смещений с помощью G53.
Чтобы прекратить использование рабочих смещений, используйте G53. Это заставляет станок использовать нулевые координаты станка без какого-либо смещения в качестве нуля детали. Обычно это не делается, но возможно.
Альтернатива рабочего смещения: относительные координаты
Другой способ избежать использования рабочего смещения — использовать относительные координаты. Идея состоит в том, чтобы позиционировать операцию в абсолютных координатах, а затем переключиться на относительные координаты в коде, который использовал бы смещение. Вы можете узнать больше об относительных координатах в нашей главе о кодах g90 g и g91 g.
Заключение
Теперь вы знаете, как использовать рабочие смещения, которые упрощают настройку для изготовления нескольких деталей или быстрого размещения нескольких приспособлений на ваших станках.
Источник
#1
OFFLINE
Genadko
-
- Пользователи
-
- 2 сообщений
Абитуриент
- Пол:Мужчина
- Из:Петах Тиква
Отправлено 30 Ноябрь 2018 — 17:03
Здравствуйте форумчане, стойка фанук от 2005 года (новейшая версия фанук на то время).
Недавно столкнулся с такой проблемой :
Для планирования стола фрезерного станка (обрабатывающий центр, 5 осей), на глубину срезаемого слоя порядка 0.2 мм (алюминиевая плата) — я использовал в программке G92 для установки системы коодинат по Z, другие оси X и У у меня были занулены в G54.
Всё прошло на Ура, стол обновен, можно работать дальше!
Но, при первом же замере на blum — я заметил что замедления подачи не происходит на заданной высоте на пути к blum (переход с G00 на контролируемую подачу G01) пускаемого на замер режущего инструмента!
И инструмент по таблице оставшегося расстояния, если не остановить вовремя просто врезается на скорости G00 в blum!
Взглянув на таблицы Absolute и Relative — я увидел что на них координата Z c положительным значением в то время что машинная координата по Z = 0!
Это значение по Z в таблицах Absolute и Relative было равно расстоянию от поверхности стола до нижней кромки режущего инструмента, т.е. значение координаты по Z было относительно заданной системы координат по G92.
Я попытался в положении машинного Z=0 (шпиндель в максимальной точке по высоте Z) занулить таблицы Absolute и Relative дав команду G92 Z0.
Всё занулилось.
Тогда я попробовал проверить как будет выполняться установка системы координат по G54,
и я к сожалению увидел что при установке начала координат, в таблице Absolute по-прежнему, появляется совсем другое значение от ожидаемого.
В общем — пришлось выключать станок (выполнять RESET) и включать заново. После обнуления осей — всё вернулось в норму.
На другом станке с ранней версии фанук от 1984 года — два метода G54 и G92 — работают без осечек, правда там нет Blum для автоматического замера инструментов да и параметров применяемых в ранней версии контролера фанук гораздо меньше чем в относительно новой версии фанук от 2005 года, возможно что какой-то параметр сдвига для работы с G54-G59, при команде G92 сохраняет своё значение и если его в ручную не занулить — то это приводит к сбоям как при замере инструмента так и при установке системы координат по G54-G59.
У меня такой вопрос — существует ли другой путь без прибегания к выключению станка, для выхода из системы координат заданной через G92 и возврата к исходному состоянию системы координат?
Или не стоит заморачиваться с G92, не искать себе там проблем, а работать через G54-G59?
За ранее спасибо!
-
0
- Наверх
#2
OFFLINE
Клиент
Клиент
- Пол:Мужчина
- Из:Москва
Отправлено 30 Ноябрь 2018 — 18:14
Вернуть смещение назад можно командой G92 Z0
-
1
- Наверх
#3
OFFLINE
Genadko
Genadko
-
- Пользователи
-
- 2 сообщений
Абитуриент
- Пол:Мужчина
- Из:Петах Тиква
Отправлено 30 Ноябрь 2018 — 19:37
Я попытался в положении машинного Z=0 (шпиндель в максимальной точке по высоте Z) занулить таблицы Absolute и Relative дав команду G92 Z0. Всё занулилось. Тогда я попробовал проверить как будет выполняться установка системы координат по G54, и я к сожалению увидел что при установке начала координат, в таблице Absolute по-прежнему, появляется совсем другое значение от ожидаемого. В общем — пришлось выключать станок (выполнять RESET) и включать заново. После обнуления осей — всё вернулось в норму.
Вопрос остался открытым, т.к. G92 Z0. не дало решения проблемы.
-
0
- Наверх
#4
OFFLINE
Sagoth
Отправлено 06 Май 2019 — 23:52
Отменить команду G92 может команда G92.1
-
0
- Наверх
G92 устанавливает отступ координатной системы.
Содержание
- 1 Определение
- 2 Пример
- 2.1 Код теста testG92.ngc
- 2.2 Состояние переменных перед выполнением теста testG92.ngc
- 2.3 Состояние переменных после выполнением теста testG92.ngc
- 2.4 Разъяснения теста testG92.ngc
- 3 Практика применения
Определение
N0001 G00 X4 N0002 G92 X7
Тогда, все координаты, все отступы и т.п. будут смещены на -3 по оси X (4-7=3). Данное изменение будет записано в файл linuxcnc.var под номером переменной 5211 (вообще за координаты в этом контексте отвечают переменные 5211, 5212, 5213, 5214, 5215, 5216, 5217, 5218 и 5219 соответствено осям X, Y, Z, A, B и C, U, V и W).
Этот же алгоритм действует и на группу команд G54, да и вообще на все «сдвиги» координатных систем (G55, G56, G57, G58, G59, G59.1, G59.2, G59.3).
Лично для меня это было совершенно не очевидно.
G92 — входит в не модальную группу команд. Очередная путанциа! Учитывая тот факт, что значения сохраняются в файл linuxcnc.var, который доступен и после перезапуска — можно сказать, что G92 — супер модальная. И ее действие распространяется не только на весь текущий файл, пока не отменишь командой G92.1 или G92.2, но и на все после загружаемые файлы. Не понимаю, бага это или фича, но так оно есть.
| Обратите внимание на тот факт, что любые действия с кодом G92 записываются в файл linuxcnc.var, что приводит к тому, что при следующем запуске все значения отступов будут восстановлены. Чтобы этого не происходило, нужно воспользоваться командами G92.1 и G92.2 |
Пример
Изображение экрана LinuxCNC при выполнении примера TestG92.ngc
«Нарисуем» квадратик, чтобы в интерфейсе LinuxCNC было видно что происходит. Конечно, любой человек, испытавший магию LinuxCNC скажет, что пример не корректен. Первый квадрат вышел за пределы станка и пример неработоспособен. А
я отвечу: если поменять координаты, то пример не будет таким наглядным.
Код теста testG92.ngc
Предположим, что в данный момент никаких отступов G92 не задано, да мы их и сбросим строкой N0000, тогда:
% N0000 G17 G49 G21 G40 G92.1 N0001 G00 X0 Y-317 Z-90 N0002 G92 X-10 Y-10 Z-10 N0003 M1 N0004 G00 X4 N0009 M1 N0011 M1 N0020 G00 X0 Y0 N0021 G01 X20 F200 N0022 G01 Y20 F200 N0023 G01 X0 F200 N0024 G01 Y0 F200 N0025 M1 %
Состояние переменных перед выполнением теста testG92.ngc
Перед выполнением теста выполним проверку состояния переменных в файле linuxcnc.var:
egrep "521[1-9]" ../configs/YourBunnyCNC/linuxcnc.var 5211 0.000000 5212 0.000000 5213 0.000000 ...
Состояние переменных после выполнением теста testG92.ngc
Затем загрузим в интерфейс LinuxCNC файл testG92.ngc (его код приведен выше полностью, посему специальной ссылки на загрузку не предусмотрено) и, после выполнения, посмотрим что получилось в файле linuxcnc.var
egrep "521[1-9]" ../configs/YourBunnyCNC/linuxcnc.var 5211 10.000000 5212 -307.000000 5213 -80.000000 ...
Разъяснения теста testG92.ngc
Не понятно? Вот и мне тоже не совсем. Но, давайте рассмотрим пример по-шагово (M01 пропустим, итак понятно, что это остановка по-требованию):
- N0000 — командой G17 G49 G21 G40 G92.1 сбрасываем от греха все переменные 5211-5219 и вообще все, что можно сбросить. Если этого не сделать, то в файле linuxcnc.var, после нескольких выполнений этого теста, будет нечто космическое! К стати, эта последовательность команд полезна в начале всех файлов G кода.
- N0001 — командой G00 едем в «разумное положение в левом переднем нижнем углу станка, там, где обычно будут размещаться заготовки, но отступаем по оси Z немного, чтобы не «пропилить» чего лишнего.G00 X0 Y-317 Z-90
- N0002 — собственно, командой G92 устанавливаем, что текущая позиция имеет координаты X-10 Y-10 Z-10
- N0004 — командой G00 «переезжаем» в позицию X=4. Вот тут и начинается магия! Рассмотрим по-подробнее. На шаге N0001 мы приехали в точку с координатой X=0, а на этапе N0002 мы сказали, что «текущая позиция» это X=-10. И теперь, когда мы «захотели» попасть в позицию X=4, станок «переезжает» в абсолютную позицию по X аж 14. Разобравшись понимаешь, что LinuxCNC взял позицию первого шага, потом, на втором этапе он понял, что это не 0 вовсе, а целых -10 и, чтобы попасть в X=4 подвинул X на 10 + 4 мм. Т.е. в абсолютную позицию X=14, а относительную, как и следовало ожидать — X=4. Снимки экрана LinuxCNC тому доказательством.
- N0020-N0025 — «Рисуют» квадратик. Но, уже отступая от нового 0
Очень надеюсь, что эту науку я объяснил и себе и Вам достаточно понятно.
Практика применения
Одним из вариантов компенсации длинны инструмента является проверка его положения и изменение отступов командой G92 на получившиеся в результате теста с учетом толщины жертвенного стола и других особенностей. Хотя бы толщины самого датчика. Сей вопрос развернуто рассматривается в статье Жертвенный стол и Программно-аппаратная смена инструмента.
«Кайф» от такого решения кроется в двух вещах:
- Вы никогда не сможете «задеть» жертвенный стол, кроме случаев применения G53 и перемещений в абсолютных координатах станка.
- Все Ваши программы, после проведения измерения инструмента, получат единую точку отсчета. Ниже которой спуститься станку будет нельзя. Хотя и тут есть возможность «объитрить» самого себя.

