Страница 1 из 1

Два "home"-а на одной оси

Добавлено: 21 май 2013, 18:16
Ворон226
Есть 3-х координатный станочек.
В начале работы выходим по координатам в "home".
Затем нужно автоматически выйти на уровень обработки заготовки, используя оптический датчик "Omron".
Выходить нужно так:
Нажимаем кнопку на панели управления - ось Z идёт вниз к заготовке до срабатывания оптического датчика - останавливается - идёт медленно вверх до отпускания оптического датчика - и на медленной скорости поднимается на величину мм, заданную "ползунком" на визуальной панели - остановка.

Заметил, что алгоритм выхода на высоту обработки схож с установкой "home".

Вот и возникла идея - сформировать координату (ось Z) с двумя датчиками, но с противоположных сторон.
Только при нажатии кнопки "HOME" все выполняется стандартно, а при нажатии кнопки "К заготовке" - нужно инвертировать DIR оси Z.

Вопрос: Можно ли привязать к одной кнопке выполнение команды hal_home-all из EMC_ACTION (прописываем в Glade) и управление "инвертором" DIR-а (прописываем в mode.hal)?

Re: Два "home"-а на одной оси

Добавлено: 21 май 2013, 18:36
nkp
Ворон226 писал(а):Вопрос: Можно ли привязать
можно попробовать в hal_actions.py (emc2-dev/lib/python/gladevcp) создать новый пин и его активировать вместе
с выполнением "home"...
а уже к нему в хал цеплять что там надо...

Re: Два "home"-а на одной оси

Добавлено: 21 май 2013, 19:17
nkp
вот эти три строчки добавил...

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

comp = hal.component("vrn")
comp.newpin("hhh.x", hal.HAL_BIT, hal.HAL_OUT)
comp["hhh.x"] = 1
сам измененный файл
hal_actions.py.tar
(20 КБ) 413 скачиваний
у тебя может немного отличаться файл - поэтому эти три
строки вставь в свой...
теперь при нажатии HOME -вновь созданый пин vrn.hhh.x становится активным...

Re: Два "home"-а на одной оси

Добавлено: 21 май 2013, 19:25
nkp
а вообще наверно все это излишне :)
axis.N.homing (bit, out) - и всё ;)
===========
ну ладно - останется как проверенный (а я проверил!) способ продублировать какой-нить процесс...

Re: Два "home"-а на одной оси

Добавлено: 21 май 2013, 19:32
Ворон226
Хм... Значит, если две кнопки привязать к hal_actions.py, то при нажатии любой из этих кнопок будет активироваться вновь созданый пин vrn.hhh.x
А, я так думаю, нужно как-то различить нажатие этих кнопок, при выполнении одной функции.
Нажимаем кнопку 1 - едем в дом наверх.
Нажимаем кнопку 2 - едем вниз к датчику заготовки (а linuxcnc думает, что мы в дом едем)...

Хотя... Я вот тут про координаты подумал. Ведь при опускании к заготовке linuxcnc будет ставить координату в 0. И мы уже НИКАК не сможем поехать вверх, кроме как опять идти в Дом первой кнопкой.

Выходит идея тухлая?

Re: Два "home"-а на одной оси

Добавлено: 21 май 2013, 19:42
Сергей Саныч
я как-то вот так примерно сделал Вывод сообщений оператору (запросов) #12 На панели кнопка "Установка по датчику" и она делает то, что нужно (ставит 0 по Z в системе координат G54 на поверхности заготовки, на которой стоит датчик). При этом хоум по Z не меняется.

Re: Два "home"-а на одной оси

Добавлено: 21 май 2013, 19:55
vovafed
я делал пластинку при замыкании на корпус срабатывала как хоум зет
в окне настройки оси ставил знак минус перед скоростью чтобы ось ехала вниз а не вверх
в итоге нажимаеш хоум зет ось опускается пока фреза замкнет пластину на корпус и ось выставляется в ноль
завтра скину hal если нужно
координату оси можно прописать любую и можно сделать чтобы ось поднялась на нужное расстояние после выставления

Re: Два "home"-а на одной оси

Добавлено: 21 май 2013, 20:04
Ворон226
Всем спасибо - буду разгребать... Где-то так и думал... ;)

(если не трудно - хал посмотрел бы)

Re: Два "home"-а на одной оси

Добавлено: 21 май 2013, 20:09
vovafed
на работе на компе завтра вечером смогу скинуть только
обычно по отдельности оси выставляю боюсь с моим вариантом у вас при первом выставлении зет в низ пойдет
где то попадалось что можно задать порядок выставления осей это решило бы проблему

Re: Два "home"-а на одной оси

Добавлено: 21 май 2013, 20:38
Сергей Саныч
Ворон226 писал(а):Выходит идея тухлая?
Хоум делается один раз при включении, ну или после сбоя какого-нибудь.После этого станок "знает", где находится (система координат G53). Все остальные манипуляции с координатами должны проводиться, не изменяя станочной системы. Тогда мы в любой момент сможем к ней вернуться. А также будут правильно работать софт-лимиты

Re: Два "home"-а на одной оси

Добавлено: 21 май 2013, 20:55
Ворон226
именно об этом сейчас и размышляю... Так сказать свожу все идеи, мысли и предложения к понятной и простой для меня реализации. ;)

Re: Два "home"-а на одной оси

Добавлено: 21 май 2013, 22:46
Ворон226
Похоже добил вопрос.
Выстроилась такая логика работы:
Вначале по нажатию на кнопку "HOME" - все оси идут в дома. По оси Z - наверх. Устанавливается начало по оси. В .ini прописаны ограничения по оси на движение вниз.
Если нажимаем кнопку "ВНИЗ", то начинается ускоренное движение вниз пока нажата кнопка или до срабатывания оптического датчика (сигнал "Датчик Уровня"). При появлении сигнала "Датчик уровня" (независимо от состояния кнопки "ВНИЗ") - начинаем медленный подъем вверх до отключения (сброса) сигнала "Датчик Уровня".
Если нажимаем кнопку "Поиск высоты печати" (даже кратковременно) - начинается медленное движение вниз до срабатывание "Датчика Уровня" и подъема вверх до отпускания этого датчика.

В любое время и в любом режиме при срабатывании датчика "Датчик Уровня" - начинается движение вверх в установленных пределах.

Если датчик "Датчик Уровня" срабатывает при печати - появляется сигнал "Запрет печати" и, также начинается движение вверх.

Схему решил сделать на элементах .hal
Схема на рисунке.

Всем большое спасибо за поддержку!!!

Re: Два "home"-а на одной оси

Добавлено: 22 май 2013, 04:14
Сергей Саныч
Физически датчик уровня как реализован? Он стационарный, как хоумы, или "переносной"?

Re: Два "home"-а на одной оси

Добавлено: 22 май 2013, 06:55
Ворон226
Омроновский оптический датчик ( E3X-NA41 + E32-T22S) с возможностью подстройки уровня +-2мм электронным способом (подстроечник на управлялке)/ Стационарный на подвижном портале. Нужен для работы с материалом различной толщины. Также нужно беречь инструмент от забытого ключа, например, - дорогие головки.

Re: Два "home"-а на одной оси

Добавлено: 22 май 2013, 17:19
vovafed
обещаный hal выставляется по пластине 10 мм и приподнимается на 12 мм

Re: Два "home"-а на одной оси

Добавлено: 22 май 2013, 17:33
Ворон226
Спасибо!

Re: Два "home"-а на одной оси

Добавлено: 25 май 2013, 01:15
Nick
А почему ты не хочешь свой датчик завести на пин probe и просто обнулять координату у поверхности через straight probe
G код G38
http://linuxcnc.org/docs/html/gcode/gco ... :G38-probe

F1000
G38.2 Z-10
F10
G38.4 Z10
G92 Z0

Т.е. мы нашли поверхность, уточнили ее положение и задали отступ через G92 такой, чтобы Z стал 0.

Хоумится, как правильно заметили, надо только 1 раз. Хоум говорит LinuxCNC реальное положение на оси, от него зависит, куда может заехать станок, а куда нет. Все остальное надо делать отступами системы координат через G92 или g54..g59

Re: Два "home"-а на одной оси

Добавлено: 25 май 2013, 08:03
Ворон226
Nick писал(а):А почему ты не хочешь свой датчик завести на пин probe и просто обнулять координату у поверхности через straight probe
Датчик этот отслеживает высоту и при работе, чтобы ненароком не въехать инструментом в деталь... Т.е. датчик и для выставления высоты, и для отслеживания аварийной ситуации при работе. Сделал схемное решение с компонентами HAL. В любом режиме, при срабатывании оптодатчика идёт запрет работы и медленный подъем до размыкания датчика.