Два "home"-а на одной оси
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Два "home"-а на одной оси
Есть 3-х координатный станочек.
В начале работы выходим по координатам в "home".
Затем нужно автоматически выйти на уровень обработки заготовки, используя оптический датчик "Omron".
Выходить нужно так:
Нажимаем кнопку на панели управления - ось Z идёт вниз к заготовке до срабатывания оптического датчика - останавливается - идёт медленно вверх до отпускания оптического датчика - и на медленной скорости поднимается на величину мм, заданную "ползунком" на визуальной панели - остановка.
Заметил, что алгоритм выхода на высоту обработки схож с установкой "home".
Вот и возникла идея - сформировать координату (ось Z) с двумя датчиками, но с противоположных сторон.
Только при нажатии кнопки "HOME" все выполняется стандартно, а при нажатии кнопки "К заготовке" - нужно инвертировать DIR оси Z.
Вопрос: Можно ли привязать к одной кнопке выполнение команды hal_home-all из EMC_ACTION (прописываем в Glade) и управление "инвертором" DIR-а (прописываем в mode.hal)?
В начале работы выходим по координатам в "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"-а на одной оси
можно попробовать в hal_actions.py (emc2-dev/lib/python/gladevcp) создать новый пин и его активировать вместеВорон226 писал(а):Вопрос: Можно ли привязать
с выполнением "home"...
а уже к нему в хал цеплять что там надо...
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Два "home"-а на одной оси
вот эти три строчки добавил...
сам измененный файл
у тебя может немного отличаться файл - поэтому эти три
строки вставь в свой...
теперь при нажатии HOME -вновь созданый пин vrn.hhh.x становится активным...
Код: Выделить всё
comp = hal.component("vrn")
comp.newpin("hhh.x", hal.HAL_BIT, hal.HAL_OUT)
comp["hhh.x"] = 1строки вставь в свой...
теперь при нажатии HOME -вновь созданый пин vrn.hhh.x становится активным...
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Два "home"-а на одной оси
а вообще наверно все это излишне
axis.N.homing (bit, out) - и всё
===========
ну ладно - останется как проверенный (а я проверил!) способ продублировать какой-нить процесс...
axis.N.homing (bit, out) - и всё
===========
ну ладно - останется как проверенный (а я проверил!) способ продублировать какой-нить процесс...
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: Два "home"-а на одной оси
Хм... Значит, если две кнопки привязать к hal_actions.py, то при нажатии любой из этих кнопок будет активироваться вновь созданый пин vrn.hhh.x
А, я так думаю, нужно как-то различить нажатие этих кнопок, при выполнении одной функции.
Нажимаем кнопку 1 - едем в дом наверх.
Нажимаем кнопку 2 - едем вниз к датчику заготовки (а linuxcnc думает, что мы в дом едем)...
Хотя... Я вот тут про координаты подумал. Ведь при опускании к заготовке linuxcnc будет ставить координату в 0. И мы уже НИКАК не сможем поехать вверх, кроме как опять идти в Дом первой кнопкой.
Выходит идея тухлая?
А, я так думаю, нужно как-то различить нажатие этих кнопок, при выполнении одной функции.
Нажимаем кнопку 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"-а на одной оси
я делал пластинку при замыкании на корпус срабатывала как хоум зет
в окне настройки оси ставил знак минус перед скоростью чтобы ось ехала вниз а не вверх
в итоге нажимаеш хоум зет ось опускается пока фреза замкнет пластину на корпус и ось выставляется в ноль
завтра скину hal если нужно
координату оси можно прописать любую и можно сделать чтобы ось поднялась на нужное расстояние после выставления
в окне настройки оси ставил знак минус перед скоростью чтобы ось ехала вниз а не вверх
в итоге нажимаеш хоум зет ось опускается пока фреза замкнет пластину на корпус и ось выставляется в ноль
завтра скину hal если нужно
координату оси можно прописать любую и можно сделать чтобы ось поднялась на нужное расстояние после выставления
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: Два "home"-а на одной оси
Всем спасибо - буду разгребать... Где-то так и думал... 
(если не трудно - хал посмотрел бы)
(если не трудно - хал посмотрел бы)
Хочешь быть счастливым? Будь им!
- vovafed
- Мастер
- Сообщения: 1822
- Зарегистрирован: 08 фев 2013, 16:19
- Репутация: 325
- Настоящее имя: Владимир
- Откуда: башкортостан
- Контактная информация:
Re: Два "home"-а на одной оси
на работе на компе завтра вечером смогу скинуть только
обычно по отдельности оси выставляю боюсь с моим вариантом у вас при первом выставлении зет в низ пойдет
где то попадалось что можно задать порядок выставления осей это решило бы проблему
обычно по отдельности оси выставляю боюсь с моим вариантом у вас при первом выставлении зет в низ пойдет
где то попадалось что можно задать порядок выставления осей это решило бы проблему
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Два "home"-а на одной оси
Хоум делается один раз при включении, ну или после сбоя какого-нибудь.После этого станок "знает", где находится (система координат G53). Все остальные манипуляции с координатами должны проводиться, не изменяя станочной системы. Тогда мы в любой момент сможем к ней вернуться. А также будут правильно работать софт-лимитыВорон226 писал(а):Выходит идея тухлая?
Чудес не бывает. Бывают фокусы.
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: Два "home"-а на одной оси
именно об этом сейчас и размышляю... Так сказать свожу все идеи, мысли и предложения к понятной и простой для меня реализации. 
Хочешь быть счастливым? Будь им!
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: Два "home"-а на одной оси
Похоже добил вопрос.
Выстроилась такая логика работы:
Вначале по нажатию на кнопку "HOME" - все оси идут в дома. По оси Z - наверх. Устанавливается начало по оси. В .ini прописаны ограничения по оси на движение вниз.
Если нажимаем кнопку "ВНИЗ", то начинается ускоренное движение вниз пока нажата кнопка или до срабатывания оптического датчика (сигнал "Датчик Уровня"). При появлении сигнала "Датчик уровня" (независимо от состояния кнопки "ВНИЗ") - начинаем медленный подъем вверх до отключения (сброса) сигнала "Датчик Уровня".
Если нажимаем кнопку "Поиск высоты печати" (даже кратковременно) - начинается медленное движение вниз до срабатывание "Датчика Уровня" и подъема вверх до отпускания этого датчика.
В любое время и в любом режиме при срабатывании датчика "Датчик Уровня" - начинается движение вверх в установленных пределах.
Если датчик "Датчик Уровня" срабатывает при печати - появляется сигнал "Запрет печати" и, также начинается движение вверх.
Схему решил сделать на элементах .hal
Схема на рисунке.
Всем большое спасибо за поддержку!!!
Выстроилась такая логика работы:
Вначале по нажатию на кнопку "HOME" - все оси идут в дома. По оси Z - наверх. Устанавливается начало по оси. В .ini прописаны ограничения по оси на движение вниз.
Если нажимаем кнопку "ВНИЗ", то начинается ускоренное движение вниз пока нажата кнопка или до срабатывания оптического датчика (сигнал "Датчик Уровня"). При появлении сигнала "Датчик уровня" (независимо от состояния кнопки "ВНИЗ") - начинаем медленный подъем вверх до отключения (сброса) сигнала "Датчик Уровня".
Если нажимаем кнопку "Поиск высоты печати" (даже кратковременно) - начинается медленное движение вниз до срабатывание "Датчика Уровня" и подъема вверх до отпускания этого датчика.
В любое время и в любом режиме при срабатывании датчика "Датчик Уровня" - начинается движение вверх в установленных пределах.
Если датчик "Датчик Уровня" срабатывает при печати - появляется сигнал "Запрет печати" и, также начинается движение вверх.
Схему решил сделать на элементах .hal
Схема на рисунке.
Всем большое спасибо за поддержку!!!
Хочешь быть счастливым? Будь им!
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Два "home"-а на одной оси
Физически датчик уровня как реализован? Он стационарный, как хоумы, или "переносной"?
Чудес не бывает. Бывают фокусы.
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: Два "home"-а на одной оси
Омроновский оптический датчик ( E3X-NA41 + E32-T22S) с возможностью подстройки уровня +-2мм электронным способом (подстроечник на управлялке)/ Стационарный на подвижном портале. Нужен для работы с материалом различной толщины. Также нужно беречь инструмент от забытого ключа, например, - дорогие головки.
Хочешь быть счастливым? Будь им!
- vovafed
- Мастер
- Сообщения: 1822
- Зарегистрирован: 08 фев 2013, 16:19
- Репутация: 325
- Настоящее имя: Владимир
- Откуда: башкортостан
- Контактная информация:
Re: Два "home"-а на одной оси
обещаный hal выставляется по пластине 10 мм и приподнимается на 12 мм
- Вложения
-
- мой-станок.hal
- (3.39 КБ) 985 скачиваний
-
- мой-станок.ini
- (2.09 КБ) 955 скачиваний
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Два "home"-а на одной оси
А почему ты не хочешь свой датчик завести на пин 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
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"-а на одной оси
Датчик этот отслеживает высоту и при работе, чтобы ненароком не въехать инструментом в деталь... Т.е. датчик и для выставления высоты, и для отслеживания аварийной ситуации при работе. Сделал схемное решение с компонентами HAL. В любом режиме, при срабатывании оптодатчика идёт запрет работы и медленный подъем до размыкания датчика.Nick писал(а):А почему ты не хочешь свой датчик завести на пин probe и просто обнулять координату у поверхности через straight probe
Хочешь быть счастливым? Будь им!
