Авто ноль по Z в EMC
-
- Кандидат
- Сообщения: 69
- Зарегистрирован: 02 дек 2010, 09:55
- Репутация: 18
- Контактная информация:
Авто ноль по Z в EMC
Было бы очень удобно после смены инструмента чтобы фреза опускалась на контактную площадку и обнуляла значение по Z при этом учитывая толщину контактной площадки. Где то читал что это реализуемо в EMC но как конкретно не понял. Может кто уже использует такую функцию?
Мой блог http://adif-studio.blogspot.com/
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Авто ноль по Z в EMC
Есть такая функция touch off. Точнее probe in.
Ты фрезу меняешь в ручную или автоматически?
Ты фрезу меняешь в ручную или автоматически?
-
- Кандидат
- Сообщения: 69
- Зарегистрирован: 02 дек 2010, 09:55
- Репутация: 18
- Контактная информация:
Re: Авто ноль по Z в EMC
Вручную меняю фрезу. Отработала первая программа (черновая), после остановки поднимаю по Z, меняю фрезу, потом опускаю до касания новой фрезой поверхности заготовки. А хотелось бы чтобы после смены фрезы положить на заготовку или стол контактную пластину известной толщины с проводом на ЛПТ порт и нажать кнопку поиск нуля по Z и чтобы прога сама опускала фрезу до касания с пластиной, т.е. когда замкнет контакт фрезы с пластиной на ЛПТ порт был бы подан сигнал что есть контакт и тогда обнулялось значение Z на ноль с учетом толщины контактной пластины. Ну думаю понятно объяснил, просто слышал что такая фича есть в маче, а вот бы это в ЕМС замутить тогда бы точно засунули мач куда надо
Мой блог http://adif-studio.blogspot.com/
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Авто ноль по Z в EMC
В общем так. Все просто.
Не самая хорошая сторона этого метода - использование G92. Т.к. он может использоваться в других местах. Но есть и положительный момент - можно использовать в любой момент и не нужно помнить отступ предыдущей фрезы.
Есть еще вариант, с использованием Gкода G43.1 - компенсации длины инструмента.
Но тут будет два этапа 1. запомнить длину первой фрезы. 2. Устанавливать компенсации остальных фрез.
- Нужно настроить один из пинов LPT на probe.
- Помещаем фрезу над площадкой.
G53 G0 X-- Y--Z-- . (G53 нужен для того, чтобы не беспокоится об отступах, веди площадка у нас всегда в одном и том же месте). - Делаем probe в сторону Z -100:
G91 G38 Z-100 F500 (G91 нужен для задания относительного смещения. Хотя, можно сделать через G53 и задать координату жестко.)
Можно уточнить пробу на маленькой скорости:
G91 G38.5 Z10 F15 - Запоминаем отступ, один из вариантов выставляем отступ 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 (Едем назад)
-
- Почётный участник
- Сообщения: 544
- Зарегистрирован: 25 май 2011, 14:14
- Репутация: 19
- Откуда: Магнитогорск
- Контактная информация:
Re: Авто ноль по Z в EMC
я выкручиваюсь так:
купил в авто-магазине щуп для регулировки клапанов - 0.15мм, два провода от витой пары, и зажим "крокодил". Подсоеденил к контактам концевика, пластину прижимаю к столу а крокодилом цепляюсь к фрезе (шпиндель в off). Жму кнопку поиска начала и вот он ваш ноль. В настройках дома указал местоположение датчика 0.15 и отезд на 40 (мне этой высоты как правило хватает на все). Вот только еще не определился прикрутить ли пластину к столу или нет, иногда я так верх заготовки ищу. Не без геммороя, но работает.
И еще я не понимаю для чего используют отступы? ведь при создании кода там же и отступы и допуски и т.д., просто я недавно собрал свой и пока не все осознал.
купил в авто-магазине щуп для регулировки клапанов - 0.15мм, два провода от витой пары, и зажим "крокодил". Подсоеденил к контактам концевика, пластину прижимаю к столу а крокодилом цепляюсь к фрезе (шпиндель в off). Жму кнопку поиска начала и вот он ваш ноль. В настройках дома указал местоположение датчика 0.15 и отезд на 40 (мне этой высоты как правило хватает на все). Вот только еще не определился прикрутить ли пластину к столу или нет, иногда я так верх заготовки ищу. Не без геммороя, но работает.
И еще я не понимаю для чего используют отступы? ведь при создании кода там же и отступы и допуски и т.д., просто я недавно собрал свой и пока не все осознал.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Авто ноль по Z в EMC
Отступы для того и нужны, чтобы не переносить точку определения длинны инструмента. И чтобы EMC2 точно знал где нули осей станка.
Таким образом, если ты выставляешь отступ, EMC2 все равно знает где находятся пределы осей, и несмотря на то, что текущие координаты могут находится за пределами осей станка, абсолютные координаты никогда не выйдут за пределы осей. Если же ты просто обнуляешь ось Z, то EMC2 больше не будет знать где находится предел оси. Точнее EMC2 будет думать, что ноль оси находится не на месте.
Таким образом, если ты выставляешь отступ, EMC2 все равно знает где находятся пределы осей, и несмотря на то, что текущие координаты могут находится за пределами осей станка, абсолютные координаты никогда не выйдут за пределы осей. Если же ты просто обнуляешь ось Z, то EMC2 больше не будет знать где находится предел оси. Точнее EMC2 будет думать, что ноль оси находится не на месте.
-
- Зачётный участник
- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6192
- Откуда: Казахстан.
- Контактная информация:
Re: Авто ноль по Z в EMC
Правильнее было иметь на столе измерительную площадку. Когда стойка встречает 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 или М команда используется в ЕМС для смены инструмента?
Вот примерно как на этом видео:
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
Там все примерно так и происходит. Задается специальное положение для смены инструмента. Потом, если хочешь можешь прописать специальный M или O код, чтобы измерять все параметры инструмента и сохранять куда надо.
M6 T1 - это смена инструмента на инструмент №1.
Ручная смена инструмента, должна описываться специальным образом в hal. Можешь посмотреть в дефалтных конфигах, наверняка там есть.
ЗЫ А я никого за ссылки не пинаю, лишь бы в тему были. А то тут было время спамеров налетело... со всякими письками-сиськами...
M6 T1 - это смена инструмента на инструмент №1.
Ручная смена инструмента, должна описываться специальным образом в hal. Можешь посмотреть в дефалтных конфигах, наверняка там есть.
ЗЫ А я никого за ссылки не пинаю, лишь бы в тему были. А то тут было время спамеров налетело... со всякими письками-сиськами...
- Hoksmur
- Новичок
- Сообщения: 11
- Зарегистрирован: 21 янв 2012, 11:35
- Репутация: 1
- Откуда: Красноярск
- Контактная информация:
Re: Авто ноль по Z в EMC
У меня вопрос, если что-сильно не пинайте, но вроде в топик.
Как на G-code сделать следующее?
При команде на смену инструмента едем к площадке, остаёмся выше.
останавливаем шпиндель
Ждём кнопки (за это время меняем фрезу)
Едем к калиброваному бруску, там фиксирую фрезу.
Поднимаемся, ждём (затягиваем. Не на площадке, чтобы ни дай бог не сломать)
Включаем шпинделью
Едем дальше.
И как это вынести в подпрограмму? к моменту M06 инструмент вроде обычно уже заменён.
Как на G-code сделать следующее?
При команде на смену инструмента едем к площадке, остаёмся выше.
останавливаем шпиндель
Ждём кнопки (за это время меняем фрезу)
Едем к калиброваному бруску, там фиксирую фрезу.
Поднимаемся, ждём (затягиваем. Не на площадке, чтобы ни дай бог не сломать)
Включаем шпинделью
Едем дальше.
И как это вынести в подпрограмму? к моменту M06 инструмент вроде обычно уже заменён.
Теория без практики слепа, практика без теории - мертва.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Авто ноль по Z в EMC
Есть несколько вариантов.
1. Ручная смена в стандартном варианте позволяет приехать в нужное место, выключить шпиндель и ждать кнопки.
Но насколько я понимаю тебе надо большего .
Можно сделать подпрограммой.
Итак, что нам надо сделать файл change-tool.ngc с таким содержанием:
После чего вызываем смену инструмента такой командой o<change-tool> call [N]
Да, если хочешь с паузы снимать железной кнопкой, то вместо M00 нужно написать M66 L...
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
Да, если хочешь с паузы снимать железной кнопкой, то вместо M00 нужно написать M66 L...
- Hoksmur
- Новичок
- Сообщения: 11
- Зарегистрирован: 21 янв 2012, 11:35
- Репутация: 1
- Откуда: Красноярск
- Контактная информация:
Re: Авто ноль по Z в EMC
Ещё момент - где должен лежать файлик, если использовать > M99 или O коды? Проще же не подпрограмму вбивать, а просто 1 код добавить перед M06. И можно ли в неё № инструмента передать? Или она будет идти как часть основной?
И можно ли запоминать, откуда уехали, а потом возвращаться?
Ник, тебе медаль за работоспособность!
И можно ли запоминать, откуда уехали, а потом возвращаться?
Ник, тебе медаль за работоспособность!
Теория без практики слепа, практика без теории - мертва.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Авто ноль по Z в EMC
В директории с ini или в директории которая написана в ini в качетсве programm_prefix, но проще к ini положить и забыть.Hoksmur писал(а):Ещё момент - где должен лежать файлик, если использовать > M99 или O коды?
Когда будет файл, можно будет вызывать одной строкой o<change-tool> call [N], вместо N пишешь номер инструмента. Да, параметры можно передавать до 30 штук. Все параметры лучше заключать в [].Hoksmur писал(а): Проще же не подпрограмму вбивать, а просто 1 код добавить перед M06. И можно ли в неё № инструмента передать? Или она будет идти как часть основной?
M06 уже есть в подпрограмме, поэтому для смены хватит одной строчки.
А зачем? Это должно быть в прописано в основной программе, После смены инструмента, мы должны обрабатывать новую траекторию. Зачем по одному и тому же месту разными инструментами гонять?Hoksmur писал(а):И можно ли запоминать, откуда уехали, а потом возвращаться?
-
- Почётный участник
- Сообщения: 262
- Зарегистрирован: 19 сен 2011, 14:49
- Репутация: 30
- Настоящее имя: Евгений
- Откуда: Украина, Харьков
- Контактная информация:
Re: Авто ноль по Z в EMC
Так ли я понял
То есть перед тем, как ехать менять инструмент мы:
- запоминаем положение (который записывается в #5211...#5214)
- едем в точку смены инструмента
- делаем пробу (G38.2)
- меняем инструмент
- делаем пробу для нового инструмента(G38.3) и получаем компенсацию
- едем в точку #5211...#5214 (g28 x0 y0 z0)
Верный ход мысли?
То есть перед тем, как ехать менять инструмент мы:
- запоминаем положение (который записывается в #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
jo_key писал(а):- запоминаем положение (который записывается в #5211...#5214)
Это не производится, да оно и не обязательно, главное выставить инструмент, и задать его параметры. Остальное - возвращение назад, врез в материал и прочее должен делать Gкод, который получается с CAM программы.jo_key писал(а):- едем в точку #5211...#5214 (g28 x0 y0 z0)
-
- Почётный участник
- Сообщения: 262
- Зарегистрирован: 19 сен 2011, 14:49
- Репутация: 30
- Настоящее имя: Евгений
- Откуда: Украина, Харьков
- Контактная информация:
Re: Авто ноль по Z в EMC
Просто хотелось бы эти "куски" смены инструмента вставлять в САМ программу, тк они , САМ-программы, могут плодить избыточный код. Вот.
Те использование g28 считаете нецелесообразным в этом случае?
Те использование g28 считаете нецелесообразным в этом случае?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Авто ноль по Z в EMC
По идее, если мы едем из любой точки станка в другую любую точку надо: (рассматриваем 3-осевой)
1. Выйти на безопасную высоту по Z
2. Проехать в нужный XY
3. Опуститься в Z
Безопасную высоту и вообще безопасную зону перемещений знает только CAM. Поэтому все дополнительные движения надо делать в CAM, даже подъезд в зону смены инструмента лучше в ней сделать. А то, что она лишнего кода напишет, так чем он мешает?
1. Выйти на безопасную высоту по Z
2. Проехать в нужный XY
3. Опуститься в Z
Безопасную высоту и вообще безопасную зону перемещений знает только CAM. Поэтому все дополнительные движения надо делать в CAM, даже подъезд в зону смены инструмента лучше в ней сделать. А то, что она лишнего кода напишет, так чем он мешает?
-
- Почётный участник
- Сообщения: 262
- Зарегистрирован: 19 сен 2011, 14:49
- Репутация: 30
- Настоящее имя: Евгений
- Откуда: Украина, Харьков
- Контактная информация:
Re: Авто ноль по Z в EMC
Спасибо за информацию
-
- Почётный участник
- Сообщения: 262
- Зарегистрирован: 19 сен 2011, 14:49
- Репутация: 30
- Настоящее имя: Евгений
- Откуда: Украина, Харьков
- Контактная информация:
Re: Авто ноль по Z в EMC
Всем доброго времени суток... работа заставила отложить ЕМС, но возвращаюсь снова.
Код G38.2 в момент контакта должен записывать данные с emc.var в переменную #5063.... но если ее нет, начинается только с #5161... скажите. куда копать нужно?
Код G38.2 в момент контакта должен записывать данные с emc.var в переменную #5063.... но если ее нет, начинается только с #5161... скажите. куда копать нужно?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Авто ноль по Z в EMC
Т.е. как нет? Должна быть !
Как ты проверяешь, что ее нет?
Как ты проверяешь, что ее нет?
-
- Почётный участник
- Сообщения: 262
- Зарегистрирован: 19 сен 2011, 14:49
- Репутация: 30
- Настоящее имя: Евгений
- Откуда: Украина, Харьков
- Контактная информация:
Re: Авто ноль по Z в EMC
смотрю файл 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"
есть и такая запись в 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 раза.