Авто ноль по Z в EMC

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
adif
Кандидат
Сообщения: 69
Зарегистрирован: 02 дек 2010, 09:55
Репутация: 18
Контактная информация:

Авто ноль по Z в EMC

Сообщение adif »

Было бы очень удобно после смены инструмента чтобы фреза опускалась на контактную площадку и обнуляла значение по Z при этом учитывая толщину контактной площадки. Где то читал что это реализуемо в EMC но как конкретно не понял. Может кто уже использует такую функцию?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Авто ноль по Z в EMC

Сообщение Nick »

Есть такая функция touch off. Точнее probe in.
Ты фрезу меняешь в ручную или автоматически?
adif
Кандидат
Сообщения: 69
Зарегистрирован: 02 дек 2010, 09:55
Репутация: 18
Контактная информация:

Re: Авто ноль по Z в EMC

Сообщение adif »

Вручную меняю фрезу. Отработала первая программа (черновая), после остановки поднимаю по Z, меняю фрезу, потом опускаю до касания новой фрезой поверхности заготовки. А хотелось бы чтобы после смены фрезы положить на заготовку или стол контактную пластину известной толщины с проводом на ЛПТ порт и нажать кнопку поиск нуля по Z и чтобы прога сама опускала фрезу до касания с пластиной, т.е. когда замкнет контакт фрезы с пластиной на ЛПТ порт был бы подан сигнал что есть контакт и тогда обнулялось значение Z на ноль с учетом толщины контактной пластины. Ну думаю понятно объяснил, просто слышал что такая фича есть в маче, а вот бы это в ЕМС замутить тогда бы точно засунули мач куда надо :mrgreen:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Авто ноль по Z в EMC

Сообщение Nick »

В общем так. Все просто.
  1. Нужно настроить один из пинов LPT на probe.
  2. Помещаем фрезу над площадкой.
    G53 G0 X-- Y--Z-- . (G53 нужен для того, чтобы не беспокоится об отступах, веди площадка у нас всегда в одном и том же месте).
  3. Делаем probe в сторону Z -100:
    G91 G38 Z-100 F500 (G91 нужен для задания относительного смещения. Хотя, можно сделать через G53 и задать координату жестко.)
    Можно уточнить пробу на маленькой скорости:
    G91 G38.5 Z10 F15
  4. Запоминаем отступ, один из вариантов выставляем отступ G92:
    G92 X-- Y-- Z-- (В XYZ - известные значения для кончика фрезы).
Можно все это запихать в отдельный файл и вызывать одной командой/кнопкой.

Не самая хорошая сторона этого метода - использование G92. Т.к. он может использоваться в других местах. Но есть и положительный момент - можно использовать в любой момент и не нужно помнить отступ предыдущей фрезы.

Есть еще вариант, с использованием Gкода G43.1 - компенсации длины инструмента.
Но тут будет два этапа 1. запомнить длину первой фрезы. 2. Устанавливать компенсации остальных фрез.
  • Первый этап:

    Код: Выделить всё

    G53 G0 Z0  (Едем в нужную точку)
    G53 G0 X0 Y0
    G91 G38.3 Z-100 F500  (Делаем пробу)
    G91 G38.5 Z10 F15
    #1000=#5063 (Запоминаем положение, относительно него потом будем задавать компенсацию для других инструментов)
    G90 G53 G0 Z0 (Едем назад)
    
  • Второй этап:

    Код: Выделить всё

    G53 G0 Z0  (Едем в нужную точку)
    G53 G0 X0 Y0
    G91 G38.3 Z-100 F500  (Делаем пробу)
    G91 G38.5 Z10 F15
    G43.1 k[#5063-#1000] (Устанавливаем значение отступа)
    G90 G53 G0 Z0 (Едем назад)
vladimir74
Почётный участник
Почётный участник
Сообщения: 544
Зарегистрирован: 25 май 2011, 14:14
Репутация: 19
Откуда: Магнитогорск
Контактная информация:

Re: Авто ноль по Z в EMC

Сообщение vladimir74 »

я выкручиваюсь так:
купил в авто-магазине щуп для регулировки клапанов - 0.15мм, два провода от витой пары, и зажим "крокодил". Подсоеденил к контактам концевика, пластину прижимаю к столу а крокодилом цепляюсь к фрезе (шпиндель в off). Жму кнопку поиска начала и вот он ваш ноль. В настройках дома указал местоположение датчика 0.15 и отезд на 40 (мне этой высоты как правило хватает на все). Вот только еще не определился прикрутить ли пластину к столу или нет, иногда я так верх заготовки ищу. Не без геммороя, но работает.

И еще я не понимаю для чего используют отступы? ведь при создании кода там же и отступы и допуски и т.д., просто я недавно собрал свой и пока не все осознал.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Авто ноль по Z в EMC

Сообщение Nick »

Отступы для того и нужны, чтобы не переносить точку определения длинны инструмента. И чтобы EMC2 точно знал где нули осей станка.

Таким образом, если ты выставляешь отступ, EMC2 все равно знает где находятся пределы осей, и несмотря на то, что текущие координаты могут находится за пределами осей станка, абсолютные координаты никогда не выйдут за пределы осей. Если же ты просто обнуляешь ось Z, то EMC2 больше не будет знать где находится предел оси. Точнее EMC2 будет думать, что ноль оси находится не на месте.
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

Re: Авто ноль по Z в EMC

Сообщение aftaev »

Правильнее было иметь на столе измерительную площадку. Когда стойка встречает Gcode или М код на смену иструмента, станок подымает ось Z. потом едет на площадку и ждет пока инструмент поменяют. Поменяли инструмент, жмакаем Пуск - автоматически измеряется длина и поехала обработка дальше.
Вот примерно как на этом видео:
http://www.chipmaker.ru/topic/56299/pag ... _p__792926
На видео измерятся диаметр и длина инструмента.

Устройство щупов можно найти здесь: http://www.chipmaker.ru/topic/58707/pag ... ntry817096
и другая тема где есть ссылки на чертежи Ренишоу. Если Ренишоу перевернуть получаем поиск длины инструмента:
http://www.chipmaker.ru/topic/61794/

надеюсь Nick не будет меня сильно пинать за ссылки на другой форум :)

Так как не шибко пока силен в ЕМС, какая G или М команда используется в ЕМС для смены инструмента?
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Авто ноль по Z в EMC

Сообщение Nick »

Там все примерно так и происходит. Задается специальное положение для смены инструмента. Потом, если хочешь можешь прописать специальный M или O код, чтобы измерять все параметры инструмента и сохранять куда надо.

M6 T1 - это смена инструмента на инструмент №1.
Ручная смена инструмента, должна описываться специальным образом в hal. Можешь посмотреть в дефалтных конфигах, наверняка там есть.

ЗЫ А я никого за ссылки не пинаю, лишь бы в тему были. А то тут было время спамеров налетело... со всякими письками-сиськами...
Аватара пользователя
Hoksmur
Новичок
Сообщения: 11
Зарегистрирован: 21 янв 2012, 11:35
Репутация: 1
Откуда: Красноярск
Контактная информация:

Re: Авто ноль по Z в EMC

Сообщение Hoksmur »

У меня вопрос, если что-сильно не пинайте, но вроде в топик.
Как на G-code сделать следующее?
При команде на смену инструмента едем к площадке, остаёмся выше.
останавливаем шпиндель
Ждём кнопки (за это время меняем фрезу)
Едем к калиброваному бруску, там фиксирую фрезу.
Поднимаемся, ждём (затягиваем. Не на площадке, чтобы ни дай бог не сломать)
Включаем шпинделью
Едем дальше.

И как это вынести в подпрограмму? к моменту M06 инструмент вроде обычно уже заменён.
Теория без практики слепа, практика без теории - мертва.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Авто ноль по Z в EMC

Сообщение Nick »

Есть несколько вариантов.
1. Ручная смена в стандартном варианте позволяет приехать в нужное место, выключить шпиндель и ждать кнопки.
Но насколько я понимаю тебе надо большего :).
Можно сделать подпрограммой.
Итак, что нам надо сделать файл change-tool.ngc с таким содержанием:

Код: Выделить всё

o<change-tool> sub
	G40 					(выключаем компенсацию радиуса инструмента)
	G53 G0 Z... 			(поднимаемся на безопасную высоту, G53 - машинные координаты)
	M5						(останавливаем шпиндель)
	G53 G0 X... Y... Z...	(едем в место смены, если несколько перемещений G53 в каждой строке)
	M00						(Пауза, выполнение программы остановится до нажатия на кнопку старт)
	(MSG, Смените инструмент на N = #1)
	(меняем инструмент)
	G53 G0 X... Y... Z...	(едем в место юстировки)
	M00						(Пауза, выполнение программы остановится до нажатия на кнопку старт)
	(выставляем инструмент)
	G53 G0 X... Y... Z...	(едем в место смены, если несколько перемещений G53 в каждой строке)
	M00						(Пауза, выполнение программы остановится до нажатия на кнопку старт)
	(затягиваем инструмент)
	M06T#1						(Говорим LinuxCNC, сменить инструмент)
	M03						(Включаем шпиндель)

o<change-tool> endsub
После чего вызываем смену инструмента такой командой o<change-tool> call [N]

Да, если хочешь с паузы снимать железной кнопкой, то вместо M00 нужно написать M66 L...
Аватара пользователя
Hoksmur
Новичок
Сообщения: 11
Зарегистрирован: 21 янв 2012, 11:35
Репутация: 1
Откуда: Красноярск
Контактная информация:

Re: Авто ноль по Z в EMC

Сообщение Hoksmur »

Ещё момент - где должен лежать файлик, если использовать > M99 или O коды? Проще же не подпрограмму вбивать, а просто 1 код добавить перед M06. И можно ли в неё № инструмента передать? Или она будет идти как часть основной?
И можно ли запоминать, откуда уехали, а потом возвращаться?
Ник, тебе медаль за работоспособность! :hammer:
Теория без практики слепа, практика без теории - мертва.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Авто ноль по Z в EMC

Сообщение Nick »

Hoksmur писал(а):Ещё момент - где должен лежать файлик, если использовать > M99 или O коды?
В директории с ini или в директории которая написана в ini в качетсве programm_prefix, но проще к ini положить и забыть.
Hoksmur писал(а): Проще же не подпрограмму вбивать, а просто 1 код добавить перед M06. И можно ли в неё № инструмента передать? Или она будет идти как часть основной?
Когда будет файл, можно будет вызывать одной строкой o<change-tool> call [N], вместо N пишешь номер инструмента. Да, параметры можно передавать до 30 штук. Все параметры лучше заключать в [].
M06 уже есть в подпрограмме, поэтому для смены хватит одной строчки.
Hoksmur писал(а):И можно ли запоминать, откуда уехали, а потом возвращаться?
А зачем? Это должно быть в прописано в основной программе, После смены инструмента, мы должны обрабатывать новую траекторию. Зачем по одному и тому же месту разными инструментами гонять?
jo_key
Почётный участник
Почётный участник
Сообщения: 262
Зарегистрирован: 19 сен 2011, 14:49
Репутация: 30
Настоящее имя: Евгений
Откуда: Украина, Харьков
Контактная информация:

Re: Авто ноль по Z в EMC

Сообщение jo_key »

Так ли я понял
То есть перед тем, как ехать менять инструмент мы:
- запоминаем положение (который записывается в #5211...#5214)
- едем в точку смены инструмента
- делаем пробу (G38.2)
- меняем инструмент
- делаем пробу для нового инструмента(G38.3) и получаем компенсацию
- едем в точку #5211...#5214 (g28 x0 y0 z0)
Верный ход мысли?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Авто ноль по Z в EMC

Сообщение Nick »

jo_key писал(а):- запоминаем положение (который записывается в #5211...#5214)
jo_key писал(а):- едем в точку #5211...#5214 (g28 x0 y0 z0)
Это не производится, да оно и не обязательно, главное выставить инструмент, и задать его параметры. Остальное - возвращение назад, врез в материал и прочее должен делать Gкод, который получается с CAM программы.
jo_key
Почётный участник
Почётный участник
Сообщения: 262
Зарегистрирован: 19 сен 2011, 14:49
Репутация: 30
Настоящее имя: Евгений
Откуда: Украина, Харьков
Контактная информация:

Re: Авто ноль по Z в EMC

Сообщение jo_key »

Просто хотелось бы эти "куски" смены инструмента вставлять в САМ программу, тк они , САМ-программы, могут плодить избыточный код. Вот.
Те использование g28 считаете нецелесообразным в этом случае?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Авто ноль по Z в EMC

Сообщение Nick »

По идее, если мы едем из любой точки станка в другую любую точку надо: (рассматриваем 3-осевой)
1. Выйти на безопасную высоту по Z
2. Проехать в нужный XY
3. Опуститься в Z

Безопасную высоту и вообще безопасную зону перемещений знает только CAM. Поэтому все дополнительные движения надо делать в CAM, даже подъезд в зону смены инструмента лучше в ней сделать. А то, что она лишнего кода напишет, так чем он мешает?
jo_key
Почётный участник
Почётный участник
Сообщения: 262
Зарегистрирован: 19 сен 2011, 14:49
Репутация: 30
Настоящее имя: Евгений
Откуда: Украина, Харьков
Контактная информация:

Re: Авто ноль по Z в EMC

Сообщение jo_key »

Спасибо за информацию
jo_key
Почётный участник
Почётный участник
Сообщения: 262
Зарегистрирован: 19 сен 2011, 14:49
Репутация: 30
Настоящее имя: Евгений
Откуда: Украина, Харьков
Контактная информация:

Re: Авто ноль по Z в EMC

Сообщение jo_key »

Всем доброго времени суток... работа заставила отложить ЕМС, но возвращаюсь снова.
Код G38.2 в момент контакта должен записывать данные с emc.var в переменную #5063.... но если ее нет, начинается только с #5161... скажите. куда копать нужно?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Авто ноль по Z в EMC

Сообщение Nick »

Т.е. как нет? Должна быть :)!
Как ты проверяешь, что ее нет?
jo_key
Почётный участник
Почётный участник
Сообщения: 262
Зарегистрирован: 19 сен 2011, 14:49
Репутация: 30
Настоящее имя: Евгений
Откуда: Украина, Харьков
Контактная информация:

Re: Авто ноль по Z в EMC

Сообщение jo_key »

смотрю файл emc.var. этой переменной нет (LinuxCNC 2.6.0\Axis) строки начинаются с с #5161
есть и такая запись в hal:
loadusr -W hal_manualtoolchange
net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared

уже пол-Инета облазил. не знаю, куда копать

так же не могу понять. как сделать так, что бы был доступен "halui.tool.length-offset"
Последний раз редактировалось jo_key 20 июн 2012, 16:40, всего редактировалось 2 раза.
Ответить

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