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

Решен ли вопрос "умного" продолжения работы?

Добавлено: 04 мар 2016, 12:44
Сергей Саныч
Решен ли в LinuxCNC вопрос "умного" продолжения работы после ручной остановки?
То есть остановил я станок, скажем, фрезу почистить - стружку намотало. Вывел из рабочей зоны, сделал все, что надо.
Теперь бы откатить программу на несколько команд назад, опустить фрезу на место, включить шпиндель, и после разгона продолжить обработку. И чтобы все это происходило автоматически.
Есть ли наработки в этом плане?

Re: Решен ли вопрос "умного" продолжения работы?

Добавлено: 04 мар 2016, 13:08
Serg
Сергей Саныч писал(а):Решен ли в LinuxCNC вопрос "умного" продолжения работы после ручной остановки?
Он изначально решён, правда "умным" должен быть оператор - перед стартом он должен будет подогнать фрезу в такое место, откуда она сможет не зацепив ничего по пути поехать в координаты кадра, который выбран для продолжения. :)

Re: Решен ли вопрос "умного" продолжения работы?

Добавлено: 04 мар 2016, 13:42
Сергей Саныч
А шпиндель кто включит? Тоже умный оператор? И кадр тоже вручную выбирать?

Re: Решен ли вопрос "умного" продолжения работы?

Добавлено: 04 мар 2016, 15:14
solo
Сергей Саныч писал(а):То есть остановил я станок, скажем, фрезу почистить - стружку намотало. Вывел из рабочей зоны, сделал все, что надо.
1останавливаю программу
2 запоминаю место нахождения инструмента
2.1 для таких целей обычно пользуюсь командой для запоминания места останова программы
MDI_COMMAND = G28.1
3 еду куба мне удобно чтобы почистить или даже заменить фрезу

4 для возврата в исходное положение такие команды
MDI_COMMAND = G53G0X[#5161]
MDI_COMMAND = G53G0Y[#5162]
MDI_COMMAND = G53G0Z[#5163]
ну а далее выполнить программу с выделенной строки , предварительно включив шпиндель,
для удобства нарисовав соответствующие кнопочки на панели PyVCP

Re: Решен ли вопрос "умного" продолжения работы?

Добавлено: 04 мар 2016, 15:46
Сергей Саныч
А если программа в это время дугу рисовала (G2 или G3), что будет? Или просто в приращениях работала (G91)?

Re: Решен ли вопрос "умного" продолжения работы?

Добавлено: 04 мар 2016, 15:57
verser
Сергей Саныч писал(а):Решен ли в LinuxCNC вопрос "умного" продолжения работы после ручной остановки?
Попадался на глаза такой проект Jog While Paused by Michael Haberler, правда, руки не дошли пока опробовать.
P.S. https://github.com/mhaberler/machinekit ... vcp-jwp.py

Re: Решен ли вопрос "умного" продолжения работы?

Добавлено: 04 мар 2016, 16:13
Сергей Саныч
verser писал(а):Попадался на глаза такой проект
Интересно, надо будет поразбираться.

Re: Решен ли вопрос "умного" продолжения работы?

Добавлено: 04 мар 2016, 20:31
Serg
Сергей Саныч писал(а):А шпиндель кто включит? Тоже умный оператор? И кадр тоже вручную выбирать?
Да, оператор. Ибо только он знает надо-ли включать шпиндель, вдруг в нём стоит проводной датчик...
solo писал(а):2.1 для таких целей обычно пользуюсь командой для запоминания места останова программы
MDI_COMMAND = G28.1
Многие постпроцессоры уверены, что G28 используется совсем для других целей...
solo писал(а):ну а далее выполнить программу с выделенной строки , предварительно включив шпиндель,
Если фреза находится на границе материала (на выходе) или просто в контакте с ним, то велик шанс её потерять при старте шпинделя...

Re: Решен ли вопрос "умного" продолжения работы?

Добавлено: 04 мар 2016, 21:33
michael-yurov
UAVpilot писал(а):Да, оператор. Ибо только он знает надо-ли включать шпиндель, вдруг в нём стоит проводной датчик...
Довольно странное решение - продолжить фрезеровать с выключенным шпинделем и проводным датчиком на нем.

Re: Решен ли вопрос "умного" продолжения работы?

Добавлено: 04 мар 2016, 22:54
torvn77
Вопрос можно решить так, при нажатии на паузу программа отрабатывается до конца кадра,
вместо следующего кадра выполняется суброутина progrmm_pausing в которой запоминается и делается что нужно,
потом выполняется собственно код M2 и разблокируется ручное управление станком.
Оператор делает что ему надо и отжимает кнопку паузы обратно, после чего вместо запуска с кадра программы выполняется суброутина progrmm_unpausing
которая делает и востанавливает что нужно, после её выполнения выполняется переход на строку с номером указанным в переменной line_number_unpase_recovery после чего управление передаётся находящемуся в этой строке кадру.

В общем я думаю что при таком подходе сильно интерпретатор переделывать не потребуется.

Re: Решен ли вопрос "умного" продолжения работы?

Добавлено: 05 мар 2016, 02:05
Serg
michael-yurov писал(а):Довольно странное решение - продолжить фрезеровать с выключенным шпинделем и проводным датчиком на нем.
"Мир гораздо разнообразнее, чем тебе кажется!" (c) ;)
Я например обмериваю заготовку/деталь датчиком запуская специальную УП, и так-же как и все могу по какой-то причине в любой момент нажать "стоп" и потом захотеть продолжить... :)

Re: Решен ли вопрос "умного" продолжения работы?

Добавлено: 05 мар 2016, 02:10
torvn77
UAVpilot писал(а):Я например обмериваю заготовку/деталь датчиком запуская специальную УП, и так-же как и все могу по какой-то причине в любой момент нажать "стоп" и потом захотеть продолжить... :)
Для специальной УП сдедует делать и специальное решение: пропускать сигнал включения шпинделя через and2, но второй вход которого подавать инвертированный dio, который ваша специальная программа будет дёргать.

И кстати, предложенный мной способ к таким конфликтам интересов не приводит.

Re: Решен ли вопрос "умного" продолжения работы?

Добавлено: 05 мар 2016, 02:22
Serg
torvn77 писал(а):который ваша специальная программа будет дёргать.
Дёргать, чтобы блокировать шпиндель от включения? А если программу надо запустить с кадра, находящегося после "команды дёрганья"?..

Re: Решен ли вопрос "умного" продолжения работы?

Добавлено: 05 мар 2016, 03:02
torvn77
UAVpilot писал(а):Дёргать, чтобы блокировать шпиндель от включения? А если программу надо запустить с кадра, находящегося после "команды дёрганья"?..
Ну так сделай восстановление состояния после нажатия кнопки "продолжить" :hehehe:

А вообще предложенное мной должно подходить для обоих случаев, в суброутину то много чего понапихать можно.

Re: Решен ли вопрос "умного" продолжения работы?

Добавлено: 05 мар 2016, 04:17
Serg
torvn77 писал(а):Ну так сделай
Зачем? Мне и так удобно. :)

Re: Решен ли вопрос "умного" продолжения работы?

Добавлено: 05 мар 2016, 10:40
michael-yurov
UAVpilot писал(а):
michael-yurov писал(а):Довольно странное решение - продолжить фрезеровать с выключенным шпинделем и проводным датчиком на нем.
"Мир гораздо разнообразнее, чем тебе кажется!" (c) ;)
Я например обмериваю заготовку/деталь датчиком запуская специальную УП, и так-же как и все могу по какой-то причине в любой момент нажать "стоп" и потом захотеть продолжить... :)
Не вижу проблемы. Если в твоей программе обмера не было команд запуска шпинделя, то и не нужно его включать.
А при продолжении программы фрезеровки нужно пролистать программу и увидеть, что в данном месте УП шпиндель должен быть включен.
Если уж так пугает автоматическое включение шпинделя - можно предупреждение выдавать.

Re: Решен ли вопрос "умного" продолжения работы?

Добавлено: 05 мар 2016, 11:49
torvn77
1)
michael-yurov писал(а):Если уж так пугает автоматическое включение шпинделя - можно предупреждение выдавать.
+100500
2)
Печально, что судя по продолжающимуся обсуждению мой пост так и не прочитали.
torvn77 писал(а):Вопрос можно решить так, при нажатии на паузу программа отрабатывается до конца кадра,
вместо следующего кадра выполняется суброутина progrmm_pausing в которой запоминается и делается что нужно,
потом выполняется собственно код M2 и разблокируется ручное управление станком.
Оператор делает что ему надо и отжимает кнопку паузы обратно, после чего вместо запуска с кадра программы выполняется суброутина progrmm_unpausing
которая делает и востанавливает что нужно, после её выполнения выполняется переход на строку с номером указанным в переменной line_number_unpase_recovery после чего управление передаётся находящемуся в этой строке кадру.

В общем я думаю что при таком подходе сильно интерпретатор переделывать не потребуется.

Re: Решен ли вопрос "умного" продолжения работы?

Добавлено: 05 мар 2016, 12:10
NightV
в окуме это реализовано проще.
нажимаю FEED HOLD, станок замирает, потом среднюю кнопку на этой панели
Изображение
загорается лед что я в ручном режиме, станок запоминает в каком он положении, вкл\выкл ли шпиндель, какой стоит инструмент, позицию...
в этом режиме могу делать что хочу, (КРОМЕ изменения параметров инструмента) выключаю шпиндель, отвожу инструмент, кручу барабаном, меняю резец и т.д и т.п
по оконцовке нужно только вернуть все в исходное самому,включить шпиндель и вернуть нужный инструмент в барабане, дальнейшие действия я уже описывал Re: Авто ноль по Z в EMC #70

кстате, с FEED HOLD не все так просто, это не просто остановка подачи, например при расточке просто остановит подачу, просто "замрет", а вот при нарезании резьбы резцом, закончит резку данного прохода и замрет в исходной позиции, что и правильно, так как если просто остановит подачу при включеном шпинделе, то как минимум сломает резец об уже нарезаную резьбу

Re: Решен ли вопрос "умного" продолжения работы?

Добавлено: 05 мар 2016, 12:56
michael-yurov
torvn77 писал(а):Печально, что судя по продолжающимуся обсуждению мой пост так и не прочитали.
Я перестал читать после слова "суброутина ".

Re: Решен ли вопрос "умного" продолжения работы?

Добавлено: 05 мар 2016, 13:10
Serg
michael-yurov писал(а):Если уж так пугает автоматическое включение шпинделя - можно предупреждение выдавать.
А может просто не надо устраивать революций? Уже "многие поколения" операторов привыкли, что для продолжения
NightV писал(а):нужно только вернуть все в исходное самому,включить шпиндель и вернуть нужный инструмент в барабане