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

"Сухой прогон " или как дорезать недорезанное.

Добавлено: 08 дек 2018, 00:01
odekolon
В процессе работы с лазерным гравером, а также работая над темой http://www.cnc-club.ru/forum/viewtopic. ... bb#p476909
столкнулся с проблемой "недорезов" . то есть при вырезании лазером большого количества отверстий в фанере, некоторые отверстия не прорезаются с первого раза. Причиной тому - некоторая неоднородность фанеры, как материала. Обычно, сучки во внутреннем слое.
Гнать всю программу по второму разу - потеря времени и ресурса лазера. Искать вручную место недореза и запускать с этого места - очень муторно.

Появилось идея сделать следующее:
в конце каждого быстрого переезда к началу реза - вставляется код условного останова M1.
а каждую строку кода реза начинать с / . Постпроцессором, это было сделано элементарно.
потом я хотел включить режим условного останова и режим пропуска строк, начинающихся с "/"
то есть чтоб программа отрабатывала только быстрые переезды. Типа "жми кнопку "пуск", пока голова не прискачет к нужному месту, сними режим "/" и режь!
Облом! :cry: :cry: :cry: режим "/" можно включить-выключить только на всю программу. Но идея, хороша ! :hehehe:
Пути развития идеи:

1. кто б сказал как сделать так, чтоб режим "/" включался-выключался во время условного останова по M1?

2. Сделать специальную кнопку в PYVCP " Сухой ход" , которая принудительно выключит лазер и перепишет "stepgen.N.velocity−cmd" на скорость быстрых перемещений. опер давит на пуск, пока головка не дойдет до нужного места, потом выключает "сухой ход" и режет нужный элемент. Думаю, сделать такое будет несложно , но жалко механику гонять. Да и время на сложных деталях будет занимать

3. Кнопка "виртуальные перемещения" . Запоминается текущая позиция. голова никуда не едет. Оператор давит на пуск, глядя на экран, (остановы M1) как дойдет до нужного места, кнопка выключается, вводятся реальные координаты, начинается выполнение программы. Сложно. Как реализовать, представляю плохо.

4 . Какая - нибудь приблуда для быстрого поиска нужного места в коде программы, а потом "Исполнить отсюда" . Вариант, может даже лучший, но как реализовать не знаю.

Кто поможет страждущему? ;)

Re: "Сухой прогон " или как дорезать недорезанное.

Добавлено: 08 дек 2018, 00:29
Serg
вариант 1, только вместо "/" условие, проверяющее состояние пина (M66).

вариант 4: если ткнуть мышом в непрорезанную траекторию, то в коде подсветится соотв. кадр.

Re: "Сухой прогон " или как дорезать недорезанное.

Добавлено: 08 дек 2018, 19:02
odekolon
UAVpilot писал(а):вариант 1, только вместо "/" условие, проверяющее состояние пина (M66).
Это то же самое, что и M1. А нужно, чтоб код до конца кадра, игнорировался. Или как-то можно сделать?
UAVpilot писал(а):вариант 4: если ткнуть мышом в непрорезанную траекторию, то в коде подсветится соотв. кадр.
О как!
Спасибо! это то что нужно !
Похоже, это полностью решает проблему.

в готовом коде, заменяем G0 на "M5 M1 G0" (M5 необязательно, на всякий случай)
- ставим галку "останов по M1"
- тычем в нужную траекторию быстрого переезда
- мышкой в подсвеченную строку "исполнить отсюда"
- потом "еще раз пуск"
- доедет до нужного места, вырежет контур и встанет перед след переездом.

На макете попробовал. Будем на станке испытывать :)

ЗЫ
А "Сухой прогон", я обязательно на плазме привинчу :hehehe:

Re: "Сухой прогон " или как дорезать недорезанное.

Добавлено: 09 дек 2018, 00:00
Serg
odekolon писал(а):Это то же самое, что и M1. А нужно, чтоб код до конца кадра, игнорировался. Или как-то можно сделать?
кусок кода для каждой детали обрамляется этим if-end, активируешь останов по M1, жмёшь кнопку "холостой прогон", запускаешь УП и с помощю M1 "шагаешь" по деталям. перед нужной деталью отжимаешь кнопку "холостой прогон", жмёшь "продолжить" и деталь снова вырезается и УП снова останавливается по M1, снова жмёшь кнопку "холостой прогон" и "шагаешь" до след. недорезанной детали.

Re: "Сухой прогон " или как дорезать недорезанное.

Добавлено: 09 дек 2018, 00:54
odekolon
спасибо, тоже попробую.
но чет ночь, уже думать лень... но очень может быть... тут еще надо поразмыслить как это в построцессоре описать или с помощью search&replace сделать :hehehe: