разрешение/запрещение движения по внешнему сигналу?

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
skytronix
Кандидат
Сообщения: 50
Зарегистрирован: 25 ноя 2013, 16:41
Репутация: 1
Настоящее имя: Михаил
Контактная информация:

разрешение/запрещение движения по внешнему сигналу?

Сообщение skytronix »

А какая команда разрешает движение если есть сигнал на каком-то входе?
это отделенная Тема, начатая здесь
Re: нестандартная рабочая зона на ЕМС для робота #47
-NightV
Последний раз редактировалось skytronix 09 мар 2015, 21:33, всего редактировалось 1 раз.
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение torvn77 »

skytronix писал(а):А какая команда разрешает движение если есть сигнал на каком-то входе?
А как тебе это видится?
Как остановка в произвольном месте:

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

halui.program.pause (bit, in) - pin for pausing a program
halui.program.resume (bit, in) - pin for stepping in a program
HAL User Interface

Или как ожидание срабатывания пина в некотором месте программы?
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение Serg »

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

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение Nick »

skytronix писал(а):А какая команда разрешает движение если есть сигнал на каком-то входе?
Если это рабочее перемещение с подачей - то motion.spindle-at-speed.
А еще есть:
motion.adaptive-feed IN FLOAT
When adaptive feed is enabled with M52 P1, the commanded velocity is multiplied by this value. This effect is multiplicative with the NML-level feed override value and motion.feed-hold.

motion.feed-hold IN BIT
When Feed Stop Control is enabled with M53 P1, and this bit is TRUE, the feed rate is set to 0.

halui.program.optional-stop.on (bit, in) - pin requesting that the optional stop is on

halui.feed-override.counts (s32, in) - counts * scale = FO percentage. Can be used with an encoder or direct-value.
Аватара пользователя
skytronix
Кандидат
Сообщения: 50
Зарегистрирован: 25 ноя 2013, 16:41
Репутация: 1
Настоящее имя: Михаил
Контактная информация:

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение skytronix »

В связи с некоторыми собитиями у меня появилась мысль сделать некую систему контроля столкновений.
Попробую объяснить:
Я планирую сделать шпиндель электрически изолированным от основной рамы станка. Прицепить к нему один контакт, а к раме второй. Так вот идея такая: станок после обработки, подымается на "безопасную" высоту и перемещается в другое место, при этом перемещении контролируя не замкнут ли контакт. Пришел в нужную точку, если ни на что не нарвался, отключил проверку и пошел фрезеровать.
А то уже целая гора переломаных фрез, спилиных шпилек, и погрызанных тисков на полном ходу
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение Nick »

skytronix писал(а):перемещается в другое место, при этом перемещении контролируя не замкнут ли контакт
Вообще если шпинделем куда-то упрешься - это авария! Можно просто на estop подключить.
Аватара пользователя
skytronix
Кандидат
Сообщения: 50
Зарегистрирован: 25 ноя 2013, 16:41
Репутация: 1
Настоящее имя: Михаил
Контактная информация:

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение skytronix »

Nick писал(а): Вообще если шпинделем куда-то упрешься - это авария! Можно просто на estop подключить.
И это правильно, безусловно. Вот только бы не хотелось программу с самого начала запускать. :thinking:
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение Serg »

skytronix писал(а):И это правильно, безусловно. Вот только бы не хотелось программу с самого начала запускать. :thinking:
Если чего-то коснулся при перемещении, то это уже авария, и нужно максимально быстро это перемещение прекратить невзирая на допустимые скорости/ускорения, а это почти наверняка срыв и потеря шагов. Какое может быть продолжение после этого?

Необходимо понимать, что это не сигнал E-STOP вызывает аварию, а авария приводит возникновению этого сигнала, а он нужен чтобы уменьшить последствия от уже произошедшей аварии.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
skytronix
Кандидат
Сообщения: 50
Зарегистрирован: 25 ноя 2013, 16:41
Репутация: 1
Настоящее имя: Михаил
Контактная информация:

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение skytronix »

Ок, я понял. Но как его связать с g-кодом? Проверка то не всегда нужна, когда он штатно фрезерует, сигнал само собой есть между контактами, и в это время его не нужно аварийно тормозить
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение Serg »

skytronix писал(а):Но как его связать с g-кодом?
Написать такой G-код, чтобы оно не заезжало куда не надо. :)
skytronix писал(а):Проверка то не всегда нужна, когда он штатно фрезерует, сигнал само собой есть между контактами, и в это время его не нужно аварийно тормозить
Очевидно написать соотв. логику в HAL...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
skytronix
Кандидат
Сообщения: 50
Зарегистрирован: 25 ноя 2013, 16:41
Репутация: 1
Настоящее имя: Михаил
Контактная информация:

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение skytronix »

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

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение Nick »

motion.motion-type OUT S32
These values are from src/emc/nml_intf/motion_types.h
1: Traverse
2: Linear feed
3: Arc feed
4: Tool change
5: Probing
6: Rotary axis indexing
Аватара пользователя
skytronix
Кандидат
Сообщения: 50
Зарегистрирован: 25 ноя 2013, 16:41
Репутация: 1
Настоящее имя: Михаил
Контактная информация:

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение skytronix »

Ок, спасибо! Соберу шпиндель и буду пробовать
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение torvn77 »

skytronix писал(а):А то уже целая гора переломаных фрез, спилиных шпилек, и погрызанных тисков на полном ходу
Не первая тема,в которой человек хочет появления в LinuxCNC корректного запуска УП с произвольной команды.
Только вот те,кто могут добавить такую функцию,не испытывают в ней надобности,так как при редких случаях могут отдать нужные команды руками.
Ну а те кому эта функция нужна,не умеют программировать.

В общем как решение твоей проблемы с разбиванием фрез о крепления помимо систематических упражнений по разгружке нервного напряжения
могу посоветовать сделать следующее:
Создаваемая УП в постпроцессоре описывается примерно так:
[Старт]
[Установка инструмента]
[Код перед началом траектории]
[Траектория врезания инструмента(Plunge)]
[Траектория собственно]
[Подъём инструмента(Retract)]

......

[Траектория врезания инструмента(Plunge)]
[Траектория собственно]
[Подъём инструмента(Retract)]
[Код конца траектории]
[Установка инструмента]
...
(Тоже самое по новой)
...
[Код окончания работы]

Так вот,тебе надо в коде [Код перед началом траектории] и [Код конца траектории] перемещаться на полной высоте машины,просто вбив в начале секции.
G40 G49 G92.1G
53 G0 Z0
А вот в [Траектория врезания инструмента(Plunge)] и [Подъём инструмента(Retract)] перемещаться на высоту
(Для Plunge)
G0 X#<x-target> Y#<y-target>
G01 Z#<_prog_z-safe_height>(Plunge осуществляет резку материала!!)
Значение для этой переменной брать из обычного места,соответствующей переменной постпроцессора.
Ну и с наглой физиономией ставить безопасную высоту в CAM,e в 0,7 миллиметров.
skytronix писал(а):Я планирую сделать шпиндель электрически изолированным от основной рамы станка. Прицепить к нему один контакт, а к раме второй.
Для шпинделей с большими скоростями вращения бывают керамические подшипники.
Посмотри,может такие есть и для твоего шпинделя.
Последний раз редактировалось torvn77 05 мар 2015, 01:36, всего редактировалось 3 раза.
Аватара пользователя
skytronix
Кандидат
Сообщения: 50
Зарегистрирован: 25 ноя 2013, 16:41
Репутация: 1
Настоящее имя: Михаил
Контактная информация:

Re: нестандартная рабочая зона на ЕМС для робота

Сообщение skytronix »

torvn77 писал(а):Для шпинделей с большими скоростями вращения бывают керамические подшипники.
Посмотри,может такие есть и для твоего шпинделя.
Вот я сейчас тоже на керамику смотрю, ток пока не могу найти нормальную фирму с приемлемыми ценниками. Попутно пытаюсь придумать еще какие-нибудь варианты....пока ничего не пришло :thinking:
Аватара пользователя
verser
Мастер
Сообщения: 1903
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: какая команда разрешает движение по внешнему сигналу?

Сообщение verser »

skytronix писал(а):Я планирую сделать шпиндель электрически изолированным от основной рамы станка. Прицепить к нему один контакт, а к раме второй
Может, попробовать прицепить не просто контакт, а как-то приспособить torch height control датчик, как на плазмах, тогда можно будет успевать не доводить дело до контакта, а, следовательно до аварии, успеть сделать обычную плановую паузу, отодвинуть тиски или какое-там препятствие, и продолжить?
Аватара пользователя
skytronix
Кандидат
Сообщения: 50
Зарегистрирован: 25 ноя 2013, 16:41
Репутация: 1
Настоящее имя: Михаил
Контактная информация:

Re: какая команда разрешает движение по внешнему сигналу?

Сообщение skytronix »

verser писал(а): Может, попробовать прицепить не просто контакт, а как-то приспособить torch height control датчик, как на плазмах, тогда можно будет успевать не доводить дело до контакта, а, следовательно до аварии, успеть сделать обычную плановую паузу, отодвинуть тиски или какое-там препятствие, и продолжить?
Интересно! Можно поподробней?? Как этот датчик будет совмещаться с фрезой?
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: какая команда разрешает движение по внешнему сигналу?

Сообщение Serg »

skytronix писал(а):Интересно! Можно поподробней?? Как этот датчик будет совмещаться с фрезой?
Особенно с её длиной... :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
verser
Мастер
Сообщения: 1903
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: какая команда разрешает движение по внешнему сигналу?

Сообщение verser »

skytronix писал(а): Интересно! Можно поподробней?? Как этот датчик будет совмещаться с фрезой?
Сразу оговорюсь, я так ещё не делал :hehehe: , но помню, что на работе на лазере высота THC выставлялась даже в пару см, а для меня это значит и 8 см настроить попытка-не-пытка, я ж изобретатель, блин :), а фреза пусть себе выступает как участница антены (и не надо шпиндель электрически изолировать от основной рамы станка).
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: какая команда разрешает движение по внешнему сигналу?

Сообщение Serg »

На лазере датчик контроллера высоты ёмкостной: одна обкладка конденсатора - антенна, обычно в виде кольца, вторая - весь остальной станок со шпинделями, тисками и прочим хламом, забытым на столе, и конечно-же самой фрезой. Посему надо будет как-то мерять расстояние не от антенны до фрезы или препятствия, а от кончика фрезы до препятствия.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Ответить

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