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

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

Сообщение Ворон226 »

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

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

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

Вопрос: Можно ли привязать к одной кнопке выполнение команды hal_home-all из EMC_ACTION (прописываем в Glade) и управление "инвертором" DIR-а (прописываем в mode.hal)?
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

Ворон226 писал(а):Вопрос: Можно ли привязать
можно попробовать в hal_actions.py (emc2-dev/lib/python/gladevcp) создать новый пин и его активировать вместе
с выполнением "home"...
а уже к нему в хал цеплять что там надо...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение 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 становится активным...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

а вообще наверно все это излишне :)
axis.N.homing (bit, out) - и всё ;)
===========
ну ладно - останется как проверенный (а я проверил!) способ продублировать какой-нить процесс...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

Сообщение Ворон226 »

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

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

Выходит идея тухлая?
Хочешь быть счастливым? Будь им!
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

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

Сообщение Сергей Саныч »

я как-то вот так примерно сделал Вывод сообщений оператору (запросов) #12 На панели кнопка "Установка по датчику" и она делает то, что нужно (ставит 0 по Z в системе координат G54 на поверхности заготовки, на которой стоит датчик). При этом хоум по Z не меняется.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
vovafed
Мастер
Сообщения: 1822
Зарегистрирован: 08 фев 2013, 16:19
Репутация: 325
Настоящее имя: Владимир
Откуда: башкортостан
Контактная информация:

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

Сообщение vovafed »

я делал пластинку при замыкании на корпус срабатывала как хоум зет
в окне настройки оси ставил знак минус перед скоростью чтобы ось ехала вниз а не вверх
в итоге нажимаеш хоум зет ось опускается пока фреза замкнет пластину на корпус и ось выставляется в ноль
завтра скину hal если нужно
координату оси можно прописать любую и можно сделать чтобы ось поднялась на нужное расстояние после выставления
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

Сообщение Ворон226 »

Всем спасибо - буду разгребать... Где-то так и думал... ;)

(если не трудно - хал посмотрел бы)
Хочешь быть счастливым? Будь им!
Аватара пользователя
vovafed
Мастер
Сообщения: 1822
Зарегистрирован: 08 фев 2013, 16:19
Репутация: 325
Настоящее имя: Владимир
Откуда: башкортостан
Контактная информация:

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

Сообщение vovafed »

на работе на компе завтра вечером смогу скинуть только
обычно по отдельности оси выставляю боюсь с моим вариантом у вас при первом выставлении зет в низ пойдет
где то попадалось что можно задать порядок выставления осей это решило бы проблему
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

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

Сообщение Сергей Саныч »

Ворон226 писал(а):Выходит идея тухлая?
Хоум делается один раз при включении, ну или после сбоя какого-нибудь.После этого станок "знает", где находится (система координат G53). Все остальные манипуляции с координатами должны проводиться, не изменяя станочной системы. Тогда мы в любой момент сможем к ней вернуться. А также будут правильно работать софт-лимиты
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

Сообщение Ворон226 »

именно об этом сейчас и размышляю... Так сказать свожу все идеи, мысли и предложения к понятной и простой для меня реализации. ;)
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

Сообщение Ворон226 »

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

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

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

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

Всем большое спасибо за поддержку!!!
Вложения
поиск высоты.jpg (1881 просмотр) <a class='original' href='./download/file.php?id=14811&mode=view' target=_blank>Загрузить оригинал (40.83 КБ)</a>
Хочешь быть счастливым? Будь им!
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

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

Сообщение Сергей Саныч »

Физически датчик уровня как реализован? Он стационарный, как хоумы, или "переносной"?
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

Сообщение Ворон226 »

Омроновский оптический датчик ( E3X-NA41 + E32-T22S) с возможностью подстройки уровня +-2мм электронным способом (подстроечник на управлялке)/ Стационарный на подвижном портале. Нужен для работы с материалом различной толщины. Также нужно беречь инструмент от забытого ключа, например, - дорогие головки.
Хочешь быть счастливым? Будь им!
Аватара пользователя
vovafed
Мастер
Сообщения: 1822
Зарегистрирован: 08 фев 2013, 16:19
Репутация: 325
Настоящее имя: Владимир
Откуда: башкортостан
Контактная информация:

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

Сообщение vovafed »

обещаный hal выставляется по пластине 10 мм и приподнимается на 12 мм
Вложения
Снимок-EMC2 Stepper Mill Configuration.png (1853 просмотра) <a class='original' href='./download/file.php?id=14821&mode=view' target=_blank>Загрузить оригинал (59.74 КБ)</a>
мой-станок.hal
(3.39 КБ) 986 скачиваний
мой-станок.ini
(2.09 КБ) 955 скачиваний
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

Сообщение Ворон226 »

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

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

Сообщение 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
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

Сообщение Ворон226 »

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

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