Как работает команда "Иисполнить отсюда"

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
CNC_ed

Как работает команда "Иисполнить отсюда"

Сообщение CNC_ed »

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

Re: Как работает команда "Иисполнить отсюда"

Сообщение Nick »

У меня на днях была такая ситуация, пришлось стопорнуть станок и программу, отехать назад и выполнить все с предыдущего кадра. Для этого исправил Gкод.

Вообще пишут, что run from line работает следующим образом, сначала шпиндель перемещается в положение в котором он должен быть перед этой линией, потом продолжается обработка.

Шпиндель сам включатся и не должен, т.к. включение шпинделя выполняется специальным Mкодом, который может быть далеко вверху программы.

ИМХО придется делать стоп и начинать с нужной линии в любом случае, т.к.:
выключить шпиндель.
отъехать от материала для смены фрезы.
замерить размер фрезы и выполнить специальные коды для компенсации этого размера.
вернуться в безопасное положение откуда можно по прямой доехать в точку старта кадра.
включить шпиндель.
А после всего выше перечисленного выполняем run from line :).
Траектория смещена, шпиндель не
включается.
Не совсем понял, какое смещение?
CNC_ed

Re: Как работает команда "Иисполнить отсюда"

Сообщение CNC_ed »

Nick, спасибо за быстрый ответ и за большое количество информации и поддержку данного проекта.
К сожалению комп с системой дома, а на этом только Win. Выложил бы screenshot - сразу все
было бы понятно.
Деталь должна отрабатываться так. Перемещение вдоль оси Х, при этом шпиндель перемещается
повторяя профиль по Z.
После окончния прохода перемещение по Y на глубину реза и опять проход.
Ну и так очень долго. Чистовая обработка - 180 тыс. строк.
В AXIS мышкой кликаю в любом месте отрисованной детали. Подсвечивается соответствующая
строка G кода. Запускаю "Исполнить отсюда". По отработанной траектории видно, что станок
правильно отрабатывает профиль нужного прохода (работает по Х и Z), но по Y намного не
доехал до него.
Все это пока делаю не на "живом" станке, а набдюдаю по отрисовке в AXIS.
Я то, предполагал, что инрерполятор "проганяет" программу от начала до нужной строки
(конечно, не в реальном времени) и уже "знает" состояние исполнительных органов на
требуемый момент времени. И затем восстанавливает их - включает шпиндель, выезжает
в данную точку. Но наверное много хочу. Пользователю ведь именно это и нужно.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Как работает команда "Иисполнить отсюда"

Сообщение Nick »

А как выполняется перемещение по Y, не циклом ли? Если циклом, то наверное ничего не получится. Но, можно в крайнем случае знать необходимое заглубление по Y и в MDI задавать смещение системы координат. Добавь сюда пример кода. Если есть не 180тыс. строк :hehehe:. Если нет, то давай такой :geek:.
CNC_ed

Re: Как работает команда "Иисполнить отсюда"

Сообщение CNC_ed »

// проход слева - направо
N839580X0.308
N839590X8.915
N839600X9.222Z-49.256
N839610X10.451Z-39.265
N839620X10.759Z-38.420
N839630X11.066Z-38.001
N839640X11.374Z-37.715
N839650X11.681Z-37.509
N839660X11.988Z-37.361
-
-
-
// окончание прохода
N846060X569.241Z-38.420
N846070X569.549Z-39.265
N846080X570.778Z-49.256
N846090X571.085Z-52.962
Никаких циклов нет.
Вот вырезал, чтобы было представление:

N846100X579.999

// заглубляемся по Y

N846110Y259.466
N846120Y259.999

// следующий проход справа-налево

N846130X579.692
N846140X571.085
N846150X570.778Z-49.256
N846160X569.549Z-39.265
N846170X569.241Z-38.420
N846180X568.934Z-38.001
-
-
и.т.д.

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

Re: Как работает команда "Иисполнить отсюда"

Сообщение Nick »

А ну понятно. Тогда нужно делать так:
  • выключить шпиндель.
  • запомнить Y
  • отъехать от материала для смены фрезы.
  • замерить размер фрезы и выполнить специальные коды для компенсации этого размера.
  • проехать на точку начала кадра по XZ
  • включить шпиндель.
  • проехать G1Y {запомненное положение}
  • продолжить выполнять.
Или делать Gкод так, чтобы в каждой строчке прописывался Y. Можно даже постпроцессор маленький (строчек в 10) наклепать.
Ответить

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