Страница 1 из 2
разрешение/запрещение движения по внешнему сигналу?
Добавлено: 03 мар 2015, 21:39
skytronix
А какая команда разрешает движение если есть сигнал на каком-то входе?
Re: нестандартная рабочая зона на ЕМС для робота
Добавлено: 04 мар 2015, 00:53
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
Или как ожидание срабатывания пина в некотором месте программы?
Re: нестандартная рабочая зона на ЕМС для робота
Добавлено: 04 мар 2015, 01:54
Serg
skytronix писал(а):А какая команда разрешает движение если есть сигнал на каком-то входе?
Смотря кому, если человеку, то наверно достаточно будет голосовой команды "Иди!".

Или ты что-то другое имел в виду? Поясни тогда что именно ты хочешь?
Re: нестандартная рабочая зона на ЕМС для робота
Добавлено: 04 мар 2015, 09:35
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.
Re: нестандартная рабочая зона на ЕМС для робота
Добавлено: 04 мар 2015, 11:24
skytronix
В связи с некоторыми собитиями у меня появилась мысль сделать некую систему контроля столкновений.
Попробую объяснить:
Я планирую сделать шпиндель электрически изолированным от основной рамы станка. Прицепить к нему один контакт, а к раме второй. Так вот идея такая: станок после обработки, подымается на "безопасную" высоту и перемещается в другое место, при этом перемещении контролируя не замкнут ли контакт. Пришел в нужную точку, если ни на что не нарвался, отключил проверку и пошел фрезеровать.
А то уже целая гора переломаных фрез, спилиных шпилек, и погрызанных тисков на полном ходу
Re: нестандартная рабочая зона на ЕМС для робота
Добавлено: 04 мар 2015, 11:38
Nick
skytronix писал(а):перемещается в другое место, при этом перемещении контролируя не замкнут ли контакт
Вообще если шпинделем куда-то упрешься - это авария! Можно просто на estop подключить.
Re: нестандартная рабочая зона на ЕМС для робота
Добавлено: 04 мар 2015, 11:54
skytronix
Nick писал(а):
Вообще если шпинделем куда-то упрешься - это авария! Можно просто на estop подключить.
И это правильно, безусловно. Вот только бы не хотелось программу с самого начала запускать.

Re: нестандартная рабочая зона на ЕМС для робота
Добавлено: 04 мар 2015, 13:19
Serg
skytronix писал(а):И это правильно, безусловно. Вот только бы не хотелось программу с самого начала запускать.

Если чего-то коснулся при перемещении, то это уже авария, и нужно максимально быстро это перемещение прекратить невзирая на допустимые скорости/ускорения, а это почти наверняка срыв и потеря шагов. Какое может быть продолжение после этого?
Необходимо понимать, что это не сигнал E-STOP вызывает аварию, а авария приводит возникновению этого сигнала, а он нужен чтобы уменьшить последствия от
уже произошедшей аварии.
Re: нестандартная рабочая зона на ЕМС для робота
Добавлено: 04 мар 2015, 13:24
skytronix
Ок, я понял. Но как его связать с g-кодом? Проверка то не всегда нужна, когда он штатно фрезерует, сигнал само собой есть между контактами, и в это время его не нужно аварийно тормозить
Re: нестандартная рабочая зона на ЕМС для робота
Добавлено: 04 мар 2015, 13:35
Serg
skytronix писал(а):Но как его связать с g-кодом?
Написать такой G-код, чтобы оно не заезжало куда не надо.
skytronix писал(а):Проверка то не всегда нужна, когда он штатно фрезерует, сигнал само собой есть между контактами, и в это время его не нужно аварийно тормозить
Очевидно написать соотв. логику в HAL...
Re: нестандартная рабочая зона на ЕМС для робота
Добавлено: 04 мар 2015, 13:51
skytronix
А как прописать в HAL , что если едем по G1, то не проверять. А если едем по G0, и на что-то нарвались, то авария?
Re: нестандартная рабочая зона на ЕМС для робота
Добавлено: 04 мар 2015, 15:32
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
Re: нестандартная рабочая зона на ЕМС для робота
Добавлено: 04 мар 2015, 21:21
skytronix
Ок, спасибо! Соберу шпиндель и буду пробовать
Re: нестандартная рабочая зона на ЕМС для робота
Добавлено: 04 мар 2015, 21:42
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 писал(а):Я планирую сделать шпиндель электрически изолированным от основной рамы станка. Прицепить к нему один контакт, а к раме второй.
Для шпинделей с большими скоростями вращения бывают керамические подшипники.
Посмотри,может такие есть и для твоего шпинделя.
Re: нестандартная рабочая зона на ЕМС для робота
Добавлено: 04 мар 2015, 22:28
skytronix
torvn77 писал(а):Для шпинделей с большими скоростями вращения бывают керамические подшипники.
Посмотри,может такие есть и для твоего шпинделя.
Вот я сейчас тоже на керамику смотрю, ток пока не могу найти нормальную фирму с приемлемыми ценниками. Попутно пытаюсь придумать еще какие-нибудь варианты....пока ничего не пришло

Re: какая команда разрешает движение по внешнему сигналу?
Добавлено: 06 мар 2015, 07:02
verser
skytronix писал(а):Я планирую сделать шпиндель электрически изолированным от основной рамы станка. Прицепить к нему один контакт, а к раме второй
Может, попробовать прицепить не просто контакт, а как-то приспособить torch height control датчик, как на плазмах, тогда можно будет успевать не доводить дело до контакта, а, следовательно до аварии, успеть сделать обычную плановую паузу, отодвинуть тиски или какое-там препятствие, и продолжить?
Re: какая команда разрешает движение по внешнему сигналу?
Добавлено: 08 мар 2015, 14:50
skytronix
verser писал(а):
Может, попробовать прицепить не просто контакт, а как-то приспособить torch height control датчик, как на плазмах, тогда можно будет успевать не доводить дело до контакта, а, следовательно до аварии, успеть сделать обычную плановую паузу, отодвинуть тиски или какое-там препятствие, и продолжить?
Интересно! Можно поподробней?? Как этот датчик будет совмещаться с фрезой?
Re: какая команда разрешает движение по внешнему сигналу?
Добавлено: 08 мар 2015, 19:05
Serg
skytronix писал(а):Интересно! Можно поподробней?? Как этот датчик будет совмещаться с фрезой?
Особенно с её длиной...

Re: какая команда разрешает движение по внешнему сигналу?
Добавлено: 08 мар 2015, 19:36
verser
skytronix писал(а):
Интересно! Можно поподробней?? Как этот датчик будет совмещаться с фрезой?
Сразу оговорюсь, я так ещё не делал

, но помню, что на работе на лазере высота THC выставлялась даже в пару см, а для меня это значит и 8 см настроить попытка-не-пытка, я ж изобретатель, блин

, а фреза пусть себе выступает как участница антены (и не надо шпиндель электрически изолировать от основной рамы станка).
Re: какая команда разрешает движение по внешнему сигналу?
Добавлено: 08 мар 2015, 20:18
Serg
На лазере датчик контроллера высоты ёмкостной: одна обкладка конденсатора - антенна, обычно в виде кольца, вторая - весь остальной станок со шпинделями, тисками и прочим хламом, забытым на столе, и конечно-же самой фрезой. Посему надо будет как-то мерять расстояние не от антенны до фрезы или препятствия, а от кончика фрезы до препятствия.