FAQ по Gcode, примеры

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

Re: FAQ по Gcode, примеры

Сообщение steals_y2k »

менять точно можно. я привязывал и иным способом, с учётом высоты датчика. но тот способ потом был переделан по какой-то причине.
kfmut
Мастер
Сообщения: 1249
Зарегистрирован: 30 янв 2021, 21:34
Репутация: 147
Настоящее имя: Максим
Откуда: г.Тверь
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение kfmut »

steals_y2k писал(а): 05 июл 2021, 15:50 менять точно можно. я привязывал и иным способом, с учётом высоты датчика. но тот способ потом был переделан по какой-то причине.
Ага, понял, спасибо! :good:
ex71
Мастер
Сообщения: 697
Зарегистрирован: 18 май 2019, 13:23
Репутация: 96
Настоящее имя: Андрей
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение ex71 »

Подскажите, зачем в таблице инструментов поле pocket?
и можно ли его использовать для унификации 8ми поз. револьверки в коде смены инструмента.
Хочется чтобы в покет хранился номер позиции на револьверке, куда я этот инструмент всегда ставлю (допустим вместо аналогичного).
Ну к примеру есть 2 расточных резца, я их ставлю в одну позицию, но всегда один из них. При этом в таблице приходится менять номера под реально установленный.
Пару раз были ситуации когда я их в таблице перепутал, п длина у них сильно разная...
А так бы в коде один резец всегда бы был Т14, а второй Т15 и на них бы написал маркером.
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение antoxa-kylibin »

Есть простая задача, измерение длины инструмента. Есть датчик длины инструмента. Вопрос, как сделать так, чтобы станок по программе поехал к датчику и измерял вылет инструмента, и это значение занес в таблицу инструментов в соответствующую ячейку? Скорее всего логично, чтобы эта "подпрограмма" работала для текущего активного инструмента. Например, я в MDI дал команду М6 Т1, при ручной смене инструмента ЕМС говорит воткните инструмент №1 и нажмите продолжить. И после этого как вариант было бы удобно нажать соответствующую кнопку пользовательского макроса, который и производит измерение вылета инструмента. Не смещение по Z активной системы координат, а именно вылет инструмента. По идеи это должна быть короткая программка в которой прописаны безопасные перемещения к датчику инструмента, затем движение по Z в сторону датчика в режиме probe и в момент касания датчика нужно измеренное значение записать в какую то переменную, которая отвечает за вылет текущего номера инструмента. Тут еще такой момент есть, что значение вылета инструмента, должно считаться относительно чего-то, например торца шпинделя без инструмента. Т.е. изначально нужно как-то сделать привязку датчика и пустого шпинделя, чтобы после этого уже измерять разницу между пустым шпинделем и с инструментом и значение этой разницы записывать в нужные ячейки таблицы инструментов....Могут возникнуть вопросы у многих, а нафига это надо так заморачиваться? Но могу пояснить для чего это все. Если шпиндель имеет сменные оправки, то правильно работать именно с вылетом инструмента, чтобы рабочая система координат оставалась неизменной, кроме того за счет корректоров длины инструмента можно по факту подстроить разные инструменты между собой, чтобы не было ступенек по высоте, если эти инструменты "перекрывают" одну область обработки. А эта "подпрограмма" нужна для автоматизации процесса измерения длины инструмента.....Ну еще как вариант, если пользоваться вылетами инструмента, то можно 1 раз выяснить значение по Z для плоскости стола станка и в дальнейшем это значение просто вписывать в нужную рабочую систему координат, если у нас 0 по Z для управляющей программы задан от поверхности стола станка......Возможно на мой вопрос уже есть готовое решение, но я не в курсе.....Просьба к знающим людям, помочь мне с решением этой задачи.....
Вложения
вылет инструмента.PNG (3149 просмотров) <a class='original' href='./download/file.php?id=198333&sid=4b0252ca3ee30192600963e8254fc525&mode=view' target=_blank>Загрузить оригинал (141.56 КБ)</a>
steals_y2k
Мастер
Сообщения: 938
Зарегистрирован: 29 окт 2017, 14:08
Репутация: 60
Настоящее имя: Makc
Откуда: Ярославль
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение steals_y2k »

g10 l11 p[номер инструмента] z[#текущая высота в системе координат]
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение antoxa-kylibin »

Эта команда записывает значение по Z в таблицу инструмента? А как сделать чтобы система считала текущий инструмент и записала для этого инструмента результат?
ex71
Мастер
Сообщения: 697
Зарегистрирован: 18 май 2019, 13:23
Репутация: 96
Настоящее имя: Андрей
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение ex71 »

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

Re: FAQ по Gcode, примеры

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

antoxa-kylibin писал(а): А как сделать чтобы система считала текущий инструмент и записала для этого инструмента результат?
G43 M6 Tx?
steals_y2k
Мастер
Сообщения: 938
Зарегистрирован: 29 окт 2017, 14:08
Репутация: 60
Настоящее имя: Makc
Откуда: Ярославль
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение steals_y2k »

считывание g43 hx, если речь о высоте.
есть же справочник😏
rry
Мастер
Сообщения: 212
Зарегистрирован: 25 дек 2020, 12:01
Репутация: 35
Настоящее имя: Victor
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение rry »

ex71 писал(а): 26 сен 2021, 22:40 так ты же сам пишешь M6 Tx
antoxa-kylibin писал(а): то правильно работать именно с вылетом инструмента, чтобы рабочая система координат оставалась неизменной
так все нормальные операторы так делают )
расскажите, почему я не нормальный оператор? Почему не нормально смещать систему координат по Z на длину инструмента и на конце инструмента у меня всегда 0?

после каждой смены инструмента у меня по датчику происходит замер длины нового инструмента и смещение Z0 на самый конец инструмента.
получается всё точно без ступенек, единственный дополнительный шаг найти смещение между нулём заготовки и высотой датчика, но это уже на автомате делаю
ex71
Мастер
Сообщения: 697
Зарегистрирован: 18 май 2019, 13:23
Репутация: 96
Настоящее имя: Андрей
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение ex71 »

rry писал(а): Почему не нормально смещать систему координат по Z на длину инструмента и на конце инструмента у меня всегда 0?
представьте себе ситуацию, что кроме фрезерного станка существуют еще например токарный. Где смещение задается в двух координатах X (диаметр) и Z (ось). Тогда ответ на ваш вопрос сам к вам придет. У вас диаметр фрезы учитывается только в коде, но задав к примеру корректор диаметра фрезы можно компенсировать отжим или износ/переточку фрезы.
В собственном станке можно вообще что угодно делать. А в целом мире есть "основы" разработанные не просто так, а для универсальности.
Ну в целом результат тот же, просто удобнее когда нули на базовой плоскости. А у вас получается не "0 на конце" а режущая кромка на нуле. Просто вы подгоняете инструмент в базовую плоскость и меняете коррекцию высоты шпинделя/стола. Ступенек и не будет, если датчик длины отрабатывает точно с одинаковой погрешностью.
rry писал(а): но это уже на автомате делаю
ну естественно - это считается автоматически, а значение коррекции хранится в ЧПУ или задается в коде.
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение antoxa-kylibin »

steals_y2k писал(а): 27 сен 2021, 10:12 считывание g43 hx, если речь о высоте.
есть же справочник😏
Я наверное не совсем правильно мысль озвучил. Хотел сказать, какой командой происходит запись текущего значения Z в корректор длины инструмента? Про G43 Hx в курсе, но все равно спасибо за ответ. Тут скорее всего G10 L11 надо изучать....
steals_y2k
Мастер
Сообщения: 938
Зарегистрирован: 29 окт 2017, 14:08
Репутация: 60
Настоящее имя: Makc
Откуда: Ярославль
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение steals_y2k »

ну да, g10 l10 и g10 l11, вторая точно.
надо г10 изучать ;)
Аватара пользователя
kurtkobat
Кандидат
Сообщения: 89
Зарегистрирован: 01 мар 2017, 20:52
Репутация: 3
Настоящее имя: Dmitriy
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение kurtkobat »

Понимает ли мач3 команду goto?
Иногда в мозгах включается G04 Х500, но это нужда что бы сделать правильно
kfmut
Мастер
Сообщения: 1249
Зарегистрирован: 30 янв 2021, 21:34
Репутация: 147
Настоящее имя: Максим
Откуда: г.Тверь
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение kfmut »

kurtkobat писал(а): Понимает ли мач3 команду goto?
Там вроде есть вызовы подпрограммы с нужной метки по M98 и возврат в основную программу на нужную метку по M99, картинки правда с доков на 4-ый
Вложения
Screen-2022-09-15_11-19-07.jpg (2370 просмотров) <a class='original' href='./download/file.php?id=204852&sid=4b0252ca3ee30192600963e8254fc525&mode=view' target=_blank>Загрузить оригинал (38.61 КБ)</a>
Screen-2022-09-15_11-23-05.jpg (2370 просмотров) <a class='original' href='./download/file.php?id=204853&sid=4b0252ca3ee30192600963e8254fc525&mode=view' target=_blank>Загрузить оригинал (48.91 КБ)</a>
Аватара пользователя
vitzin
Мастер
Сообщения: 410
Зарегистрирован: 27 фев 2020, 14:16
Репутация: 55
Настоящее имя: viktor vizin
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение vitzin »

goto,не как не связанно с подпрограммой,это старт программы
с нужного места,скажем со строки такой то,
и да,Mach 3 понимает,с какой строки ему начинать работу, но goto там
нигде не найдёшь, это не Heidenhein и консортен.
egorjiv1
Новичок
Сообщения: 3
Зарегистрирован: 05 окт 2020, 01:37
Репутация: 0
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение egorjiv1 »

Подскажите пожалуйста будет работать следующий код или нет
G53 G90 G92 X10 Y10 Z10 A180
lkbyysq
Мастер
Сообщения: 2047
Зарегистрирован: 14 май 2016, 09:40
Репутация: 322
Настоящее имя: Станислав Ерофеев
Откуда: Санкт-Петербург

Re: FAQ по Gcode, примеры

Сообщение lkbyysq »

egorjiv1 писал(а): 03 фев 2023, 21:57 Подскажите пожалуйста будет работать следующий код или нет
G53 G90 G92 X10 Y10 Z10 A180
По идее ошибку фиксировать не за что. Значит работать будет.
А что Вы хотите-то от этой комбинации команд?
egorjiv1
Новичок
Сообщения: 3
Зарегистрирован: 05 окт 2020, 01:37
Репутация: 0
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение egorjiv1 »

Хотел избавиться от софт пределов по оси А для ddcs v3.1, так как они не могут превышать диапазон -99999; 99999, как Вы понимаете для поворотной оси это капля в море. Проверил этот код, но результата не было, но проблема решилась проще простого, просто лимит по минимуму и максимуму устанавливаются в ноль и лимиты становятся бесконечными, как я понимаю в пределах допустимой разрядности контроллера ddcs
Ответить

Вернуться в «LinuxCNC»