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

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.

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

Сообщение adif » 08 фев 2011, 10:12

Было бы очень удобно после смены инструмента чтобы фреза опускалась на контактную площадку и обнуляла значение по Z при этом учитывая толщину контактной площадки. Где то читал что это реализуемо в EMC но как конкретно не понял. Может кто уже использует такую функцию?
adif
Кандидат
 
Сообщения: 68
Зарегистрирован: 02 дек 2010, 09:55
Репутация: 18

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

Сообщение Nick » 08 фев 2011, 10:58

Есть такая функция touch off. Точнее probe in.
Ты фрезу меняешь в ручную или автоматически?
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22330
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1330
Заслуга: Developer
Медальки:

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

Сообщение adif » 08 фев 2011, 16:50

Вручную меняю фрезу. Отработала первая программа (черновая), после остановки поднимаю по Z, меняю фрезу, потом опускаю до касания новой фрезой поверхности заготовки. А хотелось бы чтобы после смены фрезы положить на заготовку или стол контактную пластину известной толщины с проводом на ЛПТ порт и нажать кнопку поиск нуля по Z и чтобы прога сама опускала фрезу до касания с пластиной, т.е. когда замкнет контакт фрезы с пластиной на ЛПТ порт был бы подан сигнал что есть контакт и тогда обнулялось значение Z на ноль с учетом толщины контактной пластины. Ну думаю понятно объяснил, просто слышал что такая фича есть в маче, а вот бы это в ЕМС замутить тогда бы точно засунули мач куда надо :mrgreen:
adif
Кандидат
 
Сообщения: 68
Зарегистрирован: 02 дек 2010, 09:55
Репутация: 18

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

Сообщение Nick » 08 фев 2011, 23:14

В общем так. Все просто.
  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 (Едем назад)
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22330
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1330
Заслуга: Developer
Медальки:

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

Сообщение vladimir74 » 28 май 2011, 13:09

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

И еще я не понимаю для чего используют отступы? ведь при создании кода там же и отступы и допуски и т.д., просто я недавно собрал свой и пока не все осознал.
vladimir74
Почётный участник
Почётный участник
 
Сообщения: 544
Зарегистрирован: 25 май 2011, 14:14
Откуда: Магнитогорск
Репутация: 17
Медальки:

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

Сообщение Nick » 28 май 2011, 20:21

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

Таким образом, если ты выставляешь отступ, EMC2 все равно знает где находятся пределы осей, и несмотря на то, что текущие координаты могут находится за пределами осей станка, абсолютные координаты никогда не выйдут за пределы осей. Если же ты просто обнуляешь ось Z, то EMC2 больше не будет знать где находится предел оси. Точнее EMC2 будет думать, что ноль оси находится не на месте.
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22330
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1330
Заслуга: Developer
Медальки:

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

Сообщение aftaev » 30 май 2011, 14:49

Правильнее было иметь на столе измерительную площадку. Когда стойка встречает 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 или М команда используется в ЕМС для смены инструмента?
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 26381
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 4084
Медальки:

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

Сообщение Nick » 30 май 2011, 16:15

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

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

ЗЫ А я никого за ссылки не пинаю, лишь бы в тему были. А то тут было время спамеров налетело... со всякими письками-сиськами...
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22330
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1330
Заслуга: Developer
Медальки:

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

Сообщение Hoksmur » 16 мар 2012, 18:37

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

И как это вынести в подпрограмму? к моменту M06 инструмент вроде обычно уже заменён.
Теория без практики слепа, практика без теории - мертва.
Аватара пользователя
Hoksmur
Новичок
 
Сообщения: 11
Зарегистрирован: 21 янв 2012, 11:35
Откуда: Красноярск
Репутация: 1

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

Сообщение Nick » 16 мар 2012, 19:10

Есть несколько вариантов.
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...
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22330
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1330
Заслуга: Developer
Медальки:

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

Сообщение Hoksmur » 16 мар 2012, 19:28

Ещё момент - где должен лежать файлик, если использовать > M99 или O коды? Проще же не подпрограмму вбивать, а просто 1 код добавить перед M06. И можно ли в неё № инструмента передать? Или она будет идти как часть основной?
И можно ли запоминать, откуда уехали, а потом возвращаться?
Ник, тебе медаль за работоспособность! :hammer:
Теория без практики слепа, практика без теории - мертва.
Аватара пользователя
Hoksmur
Новичок
 
Сообщения: 11
Зарегистрирован: 21 янв 2012, 11:35
Откуда: Красноярск
Репутация: 1

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

Сообщение Nick » 16 мар 2012, 19:57

Hoksmur писал(а):Ещё момент - где должен лежать файлик, если использовать > M99 или O коды?

В директории с ini или в директории которая написана в ini в качетсве programm_prefix, но проще к ini положить и забыть.
Hoksmur писал(а): Проще же не подпрограмму вбивать, а просто 1 код добавить перед M06. И можно ли в неё № инструмента передать? Или она будет идти как часть основной?

Когда будет файл, можно будет вызывать одной строкой o<change-tool> call [N], вместо N пишешь номер инструмента. Да, параметры можно передавать до 30 штук. Все параметры лучше заключать в [].
M06 уже есть в подпрограмме, поэтому для смены хватит одной строчки.
Hoksmur писал(а):И можно ли запоминать, откуда уехали, а потом возвращаться?

А зачем? Это должно быть в прописано в основной программе, После смены инструмента, мы должны обрабатывать новую траекторию. Зачем по одному и тому же месту разными инструментами гонять?
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22330
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1330
Заслуга: Developer
Медальки:

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

Сообщение jo_key » 28 мар 2012, 09:42

Так ли я понял
То есть перед тем, как ехать менять инструмент мы:
- запоминаем положение (который записывается в #5211...#5214)
- едем в точку смены инструмента
- делаем пробу (G38.2)
- меняем инструмент
- делаем пробу для нового инструмента(G38.3) и получаем компенсацию
- едем в точку #5211...#5214 (g28 x0 y0 z0)
Верный ход мысли?
jo_key
Почётный участник
Почётный участник
 
Сообщения: 241
Зарегистрирован: 19 сен 2011, 14:49
Откуда: Украина, Харьков
Репутация: 30
Медальки:
Настоящее имя: Евгений

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

Сообщение Nick » 28 мар 2012, 11:17

jo_key писал(а):- запоминаем положение (который записывается в #5211...#5214)

jo_key писал(а):- едем в точку #5211...#5214 (g28 x0 y0 z0)

Это не производится, да оно и не обязательно, главное выставить инструмент, и задать его параметры. Остальное - возвращение назад, врез в материал и прочее должен делать Gкод, который получается с CAM программы.
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22330
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1330
Заслуга: Developer
Медальки:

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

Сообщение jo_key » 28 мар 2012, 17:37

Просто хотелось бы эти "куски" смены инструмента вставлять в САМ программу, тк они , САМ-программы, могут плодить избыточный код. Вот.
Те использование g28 считаете нецелесообразным в этом случае?
jo_key
Почётный участник
Почётный участник
 
Сообщения: 241
Зарегистрирован: 19 сен 2011, 14:49
Откуда: Украина, Харьков
Репутация: 30
Медальки:
Настоящее имя: Евгений

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

Сообщение Nick » 28 мар 2012, 18:04

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

Безопасную высоту и вообще безопасную зону перемещений знает только CAM. Поэтому все дополнительные движения надо делать в CAM, даже подъезд в зону смены инструмента лучше в ней сделать. А то, что она лишнего кода напишет, так чем он мешает?
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22330
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1330
Заслуга: Developer
Медальки:

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

Сообщение jo_key » 29 мар 2012, 18:29

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

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

Сообщение jo_key » 20 июн 2012, 14:20

Всем доброго времени суток... работа заставила отложить ЕМС, но возвращаюсь снова.
Код G38.2 в момент контакта должен записывать данные с emc.var в переменную #5063.... но если ее нет, начинается только с #5161... скажите. куда копать нужно?
jo_key
Почётный участник
Почётный участник
 
Сообщения: 241
Зарегистрирован: 19 сен 2011, 14:49
Откуда: Украина, Харьков
Репутация: 30
Медальки:
Настоящее имя: Евгений

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

Сообщение Nick » 20 июн 2012, 14:41

Т.е. как нет? Должна быть :)!
Как ты проверяешь, что ее нет?
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22330
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1330
Заслуга: Developer
Медальки:

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

Сообщение jo_key » 20 июн 2012, 14:48

смотрю файл 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 раз(а).
jo_key
Почётный участник
Почётный участник
 
Сообщения: 241
Зарегистрирован: 19 сен 2011, 14:49
Откуда: Украина, Харьков
Репутация: 30
Медальки:
Настоящее имя: Евгений

След.

Вернуться в LinuxCNC

Кто сейчас на конференции

Зарегистрированные пользователи: 3DLab, Aadmitriev, Alex2x, Argon-11, axel, Bing [Bot], Burnoutpc360, Саурон, diesel1979, fredy79, Google [Bot], haiabusa, Hanter, ignv, ihter, kpankratov, Lokk, Mehobr, michalych, Morroc, neonas, niksooon, Nonstopich, Oleg0333, Рамиль, Raptor, Гагарин, Redmn, Rom327, shatrovmaxim, Shkryab, slaper, Taganrog, Tigra73, tsurika, ultrus, Vano, Yahoo [Bot], Yandex [bot], Yarrr, yuka, Павел76, шпиндель

Поделиться

Reputation System ©'