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

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

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

Сообщение valor » 10 окт 2013, 09:15

объясните последовательность действий с датчиком и определением базы детали, я так понимаю сначала едем на датчик и запоминаем положение конца инструмента в машинных абсолютных координатах, далее этим измеренным инструментом определяем базы заготовки (определяем нули в G54) - имеем разницу между высотой контактной площадки и нулем G54 - правильно? далее при смене инструмента едем на датчик определяем координату конца инструмента в абсолютных машинных координатах и к ней прибавляем разницу между высотой площадки и нулем G54? не могу понять как коррелирует измерение нуля детали с измерением длинны инструмента. Опишите пожалуйста всю цепочку действий от поиска HOME до смены поломанной фрезы например.
valor
Новичок
 
Сообщения: 28
Зарегистрирован: 14 мар 2013, 13:40
Репутация: 0

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

Сообщение Nick » 10 окт 2013, 12:19

Измерение длинны инструмента и базы детали это две разные вещи, никак не связанные между собой.
Для измерения инструмента сразу после смены, лучше всего написать отдельную процедуру на Gкоде, сохранить в отдельный файл и потом вызывать ее по мере надобности.
Т.е. берем процедуру: o<auto-tool-change> sub из сообщения Алексса: Датчик длины инструмента #116.
сохраняем в файл auto-tool-change.ngc в каталог указанный в ini в качестве subroutines.
В процедуре надо поменять вот эти две строчки, - поставить там свои координаты в _!абсолютных координатах станка!_ :
Код: Выделить всёРазвернуть
g53 g0 z0
g53 g0 x135 y71


Потом эту процедуру вызываем так
O<auto-tool-change> CALL
Все.

Можно еще добавить туда запрос на смену инструмента и постаноку на паузу:
Код: Выделить всёРазвернуть
(MSG, Вставьте инструмент номер #1)
M0

Номер инструмента при этом передаем в параметре при вызове функции:

Код: Выделить всёРазвернуть
O<auto-tool-change> CALL [10]
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22330
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1330
Заслуга: Developer
Медальки:

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

Сообщение solo » 10 окт 2013, 13:10

Я лично начинал с того что нарисовал с поморщу PyVCP панель на которой располагались кнопки для упражнения операцией смены инструмента и там можно вообще вывести то что ты посчитаеш необходимым для работы. после того как я ее нарисовал появиось немного понимания что как работаее т.
Дополнительная панель имеет свои пины (виртуальные, программные,--- контакты) которые в хел файле вы потом соединяете с файлом G кода который проводит смену инструмента, то есть нажатие на кнопку выдлета EMC2 Integrators Manual Перевод на русский язык #67 вызывает выполнение файла с Ж кодом Файл Gкода или М кода надо написать или найти готовый, и положить в папку с nc- файлами.
Также в хел файле необходимо соединить пин датчика с пином соответствующего вывода ЛПТ порта.
В ини файле необходимо добавить загрузку соответствующих файлов, панель PyVCP, хел файла и файлов с Ж кодом
Как пример прикладываю свои файли
Может я конечно все это совершенно не о том :idiot: то тогда прошу прощение, а то я часто способен только на :hammer: или :rasp:
Вложения
jet.tar.gz
(5.42 Кб) Скачиваний: 188
Аватара пользователя
solo
Мастер
 
Сообщения: 956
Зарегистрирован: 20 окт 2011, 18:39
Откуда: Украина Харьков
Репутация: 168
Настоящее имя: Юрий Соловьев

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

Сообщение valor » 10 окт 2013, 15:30

понятно что поиск заготовки и длинны инструмента это разные вещи, я заготовку по высоте определяю первым инструментом, мне нужно понять последовательность операций, то-есть сначала едем по домам, затем едим инструментом на датчик, затем едем инструментом на заготовку и выставляем 0 в G54(тут как раз вопрос - надо ли что-то делать с полученной от датчика координатой), теперь у нас есть все чтобы запустить программу, скажем после десятого прогона программы надо поменять фрезу, но с тем-же номером инструмента - (затупилась или сломалась) - тогда новой фрезой едем на датчик и разницу в координатах записываем в G код компенсации на длину инструмента? тогда надо три саброутина - правильно ли я понимаю?
valor
Новичок
 
Сообщения: 28
Зарегистрирован: 14 мар 2013, 13:40
Репутация: 0

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

Сообщение solo » 10 окт 2013, 16:14

Как я обычно поступаю и что я сделал под себя
valor писал(а):затем едим инструментом на датчик, затем едем инструментом на заготовку и выставляем 0 в G54(тут как раз вопрос - надо ли что-то делать с полученной от датчика координатой)

все так и я делаю
1 на дополнительной панели есть две кнопки "проба ПЕРЕД замены" нажимание ее инструмент едит на датчик,
после срабатывания датчика в память записываться длинна инструмента и ЛЕД на панели меняет цвет!!!. Длинна инструмента хранится в память до выключения компа (могу ошибаться) Я эту операцию для себя называю "привязкой инструмента"
Начинанием работать.
Теперь в процессе работы если у нас возникает необходимость замены фрезы (сламалась или просто надо заменить на другой размер) мы меняем фрезу едим на датчик и нажимаем кнопку "проба ПОСЛЕ замены". Инструмент опускается на датчик .
Все дальше можно продолжать работать :hehehe:

Ж код действий по нажатию кнопки кнопки "проб перед заменой" лежит в файле probado.ngc
Ж код ---"проба после замены" в файле probaand.ngc
возможно надо подправить последние файлы под себя
Аватара пользователя
solo
Мастер
 
Сообщения: 956
Зарегистрирован: 20 окт 2011, 18:39
Откуда: Украина Харьков
Репутация: 168
Настоящее имя: Юрий Соловьев

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

Сообщение РЕКЛАМА » 10 окт 2013, 16:50

А зачем 2 файла и 2 кнопки, Что будет если их перепутать?
Аватара пользователя
РЕКЛАМА
Почётный участник
Почётный участник
 
Сообщения: 718
Зарегистрирован: 11 дек 2012, 21:46
Откуда: Брянск
Репутация: 78
Медальки:

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

Сообщение solo » 10 окт 2013, 17:19

При выполнении первого файла мы в относительных единицах измеряем длину инструмента и записываем ее в память
Чтобы не забывать это сделать я специально прицепил светодиод на панеле
Второй файл присваивает относительные координаты новому инструменту.
РЕКЛАМА писал(а):Что будет если их перепутать?

не знаю, надо попробовать .
Там на панели есть еше одна кнопка "Z 0 проба" это кнопка просто выставляет после касания датчику ноль на уровне стола. Только надо подправить Ж код в зависимость от высоты датчика. Тогда кнопки "перед " и после в принципе не нужны
В принципе каждый может сам под себя переделать как панель так и Ж код
Я предложил свой вариант и это наверное уже 6 или 7 вариант моей панели и она меня пока не устраивает. :thinking:
Наверное вся прелесть LCNC в том что каждый пользователь может адаптировать под себя и свои потребности данную программу. :)
Аватара пользователя
solo
Мастер
 
Сообщения: 956
Зарегистрирован: 20 окт 2011, 18:39
Откуда: Украина Харьков
Репутация: 168
Настоящее имя: Юрий Соловьев

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

Сообщение Nick » 10 окт 2013, 20:52

solo писал(а):Длинна инструмента хранится в память до выключения компа (могу ошибаться) Я эту операцию для себя называю "привязкой инструмента"

Ее можно писать в таблицу инструмента, чтобы не хранить в переменных. (через G10 L1 или G10 L10)
http://linuxcnc.org/docs/html/gcode/gco ... ec:G10-L1_
solo писал(а):после срабатывания датчика в память записываться длинна инструмента и ЛЕД на панели меняет цвет!!!

Можно записать, измеряли ли мы текущий инструмент, и если не измеряли - вставать на паузу и ждать нажатия кнопки.
solo писал(а):Наверное вся прелесть LCNC в том что каждый пользователь может адаптировать под себя и свои потребности данную программу.

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

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

Сообщение solo » 11 окт 2013, 09:46

Nick писал(а):Ее можно писать в таблицу инструмента, чтобы не хранить в переменных. (через G10 L1 или G10 L10)

Таблица инструментов наверное полезна при автоматической смене инструментов ИМХО. А если стоит задача; в цангу в ручную вставить новую фрезу, зажать ее колючем, и быстренько сделать привязку системы координат станка по Z то наверное манипуляции с датчиком по Z самый оптимальный вариант.
Еще хотел добавить по поводу своей панели
valor писал(а): скажем после десятого прогона программы надо поменять фрезу, но с тем-же номером инструмента - (затупилась или сломалась)

Если при выполнении программы обработки детали возникала необходимость замены фрезы (я часто работаю с черным металлом ) то поступаю следующим образом.
1 нажимаю кнопку "пауза" потом "исполнить следующую строку" , потом "стоп" короче надо чтобы строка программы управления на всяк случай выполнилась до конца
2 на дополнительной панели нажимаю кнопку "ТОЧКА"-- позволяет запомнить текущую координату станка :tongue:
3 В ручном управлении вывожу фрезу из зоны обработки
4 меняю фрез
5 делаю привязку по высоте
6 нажимая на кнопки res X или Y или Z на дополнительной панели мы быстро возвращаемся в зону обработки :attention: Главное при этом не на что не налететь.
7 в меню axis нажимаем выполнить с "данной строки" и все поехали дальше :tongue:
Аватара пользователя
solo
Мастер
 
Сообщения: 956
Зарегистрирован: 20 окт 2011, 18:39
Откуда: Украина Харьков
Репутация: 168
Настоящее имя: Юрий Соловьев

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

Сообщение NightV » 11 окт 2013, 10:19

solo писал(а):1 нажимаю кнопку "пауза" потом "исполнить следующую строку" , потом "стоп" короче надо чтобы строка программы управления на всяк случай выполнилась до конца
2 на дополнительной панели нажимаю кнопку "ТОЧКА"-- позволяет запомнить текущую координату станка
3 В ручном управлении вывожу фрезу из зоны обработки

у меня в окуме такая фишка есть ,
Авто ноль по Z в EMC 2.jpg

нажимаю паузу а потом кнопку среднюю кнопку что на картинке,
после этого делаю что хочу, верчу туретой (барабаном), останавливаю шпиндель, двигаю по X Z куда хочется,
после всех манипуляций нужно только запустить шпиндель и вернуть инструмент в барабане который был (иначе не выходит из этого режима)
после нажимаю "Sequence restart" и станок сам возвращается в место где был когда я нажал на паузу (разумеется при этом могу контролировать скорость меремещения) и стоит в режиме паузы, снимаю с паузы и поехали работать дальше, работает даже когда исполняется цикл, например нарезание резьбы.
кроме работы с мечиком так как шпиндель продолжает крутится и нельзя нажимать паузу
Последний раз редактировалось NightV 11 окт 2013, 17:28, всего редактировалось 1 раз.
Всё просто! если знаешь КАК!
Аватара пользователя
NightV
Почётный участник
Почётный участник
 
Сообщения: 6335
Зарегистрирован: 30 дек 2011, 09:14
Откуда: Israel
Репутация: 2285
Медальки:
Настоящее имя: Владимир Айрапетян

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

Сообщение Nick » 11 окт 2013, 10:41

NightV писал(а):после нажимаю "Sequence restart" и станок сам возвращается в место где был когда я нажал на паузу

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

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

Сообщение NightV » 11 окт 2013, 10:44

Nick писал(а):А как он возвращяется? По какой траектории?

по ближайшей
Всё просто! если знаешь КАК!
Аватара пользователя
NightV
Почётный участник
Почётный участник
 
Сообщения: 6335
Зарегистрирован: 30 дек 2011, 09:14
Откуда: Israel
Репутация: 2285
Медальки:
Настоящее имя: Владимир Айрапетян

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

Сообщение Nick » 11 окт 2013, 11:25

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

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

Сообщение PKM » 11 окт 2013, 12:12

Кстати в LinuxCNC на днях сделали ручное перемещение во время паузы :)
Аватара пользователя
PKM
Почётный участник
Почётный участник
 
Сообщения: 4034
Зарегистрирован: 31 мар 2011, 18:11
Откуда: Украина
Репутация: 591
Медальки:
Настоящее имя: Андрей

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

Сообщение Nick » 11 окт 2013, 12:28

А как потом восстанавливается? (особенно интересует восстновление G02, у которого ij зависят от текушего положения...)

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

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

Сообщение PKM » 11 окт 2013, 12:37

Я еще не пробовал. Кстати, пауза в середине команды возможна?
Аватара пользователя
PKM
Почётный участник
Почётный участник
 
Сообщения: 4034
Зарегистрирован: 31 мар 2011, 18:11
Откуда: Украина
Репутация: 591
Медальки:
Настоящее имя: Андрей

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

Сообщение Nick » 11 окт 2013, 13:11

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

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

Сообщение Simmer » 11 окт 2013, 16:12

А что означают эти строки???
Код: Выделить всёРазвернуть
#<_ToolZ>=#5063
G43.1 z[#<_ToolZ> - #1000]
Simmer
Новичок
 
Сообщения: 28
Зарегистрирован: 10 окт 2012, 10:50
Репутация: 1

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

Сообщение solo » 11 окт 2013, 17:24

Simmer писал(а):А что означают эти строки???
Код: Выделить всёРазвернуть
#<_ToolZ>=#5063
G43.1 z[#<_ToolZ> - #1000]

наглядная демонстрация кода G43
FAQ по Gcode, примеры #164
Могу ошибаться но в ячейке памяти #5063 хранятся относительные текущие координаты позиции Z
ToolZ это промежуточная ячейка для хранения
Аватара пользователя
solo
Мастер
 
Сообщения: 956
Зарегистрирован: 20 окт 2011, 18:39
Откуда: Украина Харьков
Репутация: 168
Настоящее имя: Юрий Соловьев

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

Сообщение Simmer » 20 окт 2013, 11:55

Народ, выручайте... У меня уже ни каких сил нету. Не могу я победить эту смену инструмента.
В 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

В INI есть
Код: Выделить всёРазвернуть
TOOL_CHANGE_QUILL_UP = 1
TOOL_CHANGE_POSITION = 32 48 0

Файл tool_change.ngc следующего содержания
Код: Выделить всёРазвернуть
O<toolchange> sub
T#1M6 (поменяли инструмент нажали продолжать)
G53 G0 Z10
G53 G0 X32 Y48 (едем в точку датчика инструмента)
F100 (Устанавливаем скорость поиска)
G38.2 Z-100 (едем в сторону датчика до касания)
(после касания отъезжаем на 10мм вверх)
G91 (относительные координаты)
G0 Z-10

F1  (снова ищем датчик но на маленькой скорости)
G38.2 Z-20
G90 (абсолютные координаты)

G10 L10 P#1 Z0
G43
O<toolchange> endsub

Что делаю дальше... Обнуляю станок по концевикам, переезжаю в некоторую другую позицию, делаю отступ, пытаюсь выполнить O-Code и получаю следующую ошибку. Что я делаю не так????
Вложения
Авто ноль по Z в EMC Error.png
Simmer
Новичок
 
Сообщения: 28
Зарегистрирован: 10 окт 2012, 10:50
Репутация: 1

Пред.След.

Вернуться в LinuxCNC

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

Зарегистрированные пользователи: Bing [Bot], evgenymcp, Google [Bot], Google Feedfetcher, SeReGa Sh, Uda4LIVEc, uralpt, Yahoo [Bot], Yandex [bot]

Поделиться

Reputation System ©'