Выход в точку смены инструмента.

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Dmaster
Мастер
Сообщения: 1272
Зарегистрирован: 15 июл 2011, 13:36
Репутация: 476
Контактная информация:

Выход в точку смены инструмента.

Сообщение Dmaster »

Вечер добрый)

Нарисовалась тут гадость..
Есть смена инструмента. есть точка смены
TOOL_CHANGE_POSITION =
Всё работает и всё меняется, НО! проблема в том, что при исполнении кода с 1-м инструментом

N00 g55
N01 G43T1M6
он имея этот инструмент уже установленным ВСЁ РАВНО! поедет в точку смены и оттуда уже пойдет исполнять программу.
как заставить его не кататься туда, если нужный инструмент уже установлен.
" Linux CNC - наше всё"
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6194
Откуда: Казахстан.
Контактная информация:

Re: Выход в точку смены инструмента.

Сообщение aftaev »

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

Re: Выход в точку смены инструмента.

Сообщение verser »

Обычно построцессор решает вставлять или не вставлять смену инструмента. Факт присутствия кода на смену инструмента, если инструмент всё тот же, - это ошибка постпроцессора. С ним надо разбираться.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Выход в точку смены инструмента.

Сообщение nkp »

verser писал(а):Обычно построцессор решает вставлять или не вставлять смену инструмента. Факт присутствия кода на смену инструмента, если инструмент всё тот же, - это ошибка постпроцессора. С ним надо разбираться.
наверно тс имеет в виду "первую" смену инструмента...
нужны уточнения...
Аватара пользователя
Dmaster
Мастер
Сообщения: 1272
Зарегистрирован: 15 июл 2011, 13:36
Репутация: 476
Контактная информация:

Re: Выход в точку смены инструмента.

Сообщение Dmaster »

aftaev писал(а):он же незнает что инструмент в шпинделе, вот и едит его "брать"
как не знает.. .. он программу исполняет по 50 раз на дню)
Оне не делает смену. он тупо туда ездит) в точку TOOL_CHANGE_POSITION =
дело вот в чем. Сам linuxcnc работает по такому принципу.

To convey the idea, we just replace the builtin M6 semantics with our own. Once that works, you may go ahead and place any actions you see fit into the O-word procedure.
Going through the steps, we find:
1 check for T command already executed - execute in Python prolog
2 check for cutter compensation being active - execute in Python prolog
3 stop the spindle if needed - can be done in NGC
4 quill up - can be done in NGC
- if TOOL_CHANGE_AT_G30 was set:
- move the A, B and C indexers if applicable - can be done in NGC
- generate rapid move to the G30 position - can be done in NGC
5 send a CHANGE_TOOL Canon command to task - execute in Python epilog
6 set the numberer parameters 5400-5413 according to the new tool - execute in Python epilog
7signal to task to stop calling the interpreter for readahead until toolchange complete - execute in Python epilog

Так вот. надо перед 4-м пунктом сунуть проверку "Если УЖЕ установлен тот-же инструмент, то перейти к пункту 5"
У меня в Laddere прописано, что-б при совпадении имеющегося с запрашиваемым ни чего не делать.


нашел вот что

REMAP=M6 modalgroup=6 ngc=mychange

o<mychange> sub
M6 (use builtin M6 behaviour)
(.. move to tool length switch, probe and set tool length..)
o<mychange> endsub
m2

удалю ка я нафиг TOOL_CHANGE_POSITION
Теперь..как сделать выход в точку смены (G53 XYZ) ЕСЛИ установленный инструмент не совпадает с заданным.?если совпадает, то M6
verser писал(а):Обычно построцессор решает вставлять или не вставлять смену инструмента.
Это вы о чем?
verser писал(а):Факт присутствия кода на смену инструмента, если инструмент всё тот же, - это ошибка постпроцессора.
А если программу тупо перезапускают с начала, а инструмент ВООБЩЕ всю смену стоит один?
verser писал(а):С ним надо разбираться.
Он к счастью не УИНОУЭН
" Linux CNC - наше всё"
Аватара пользователя
Dmaster
Мастер
Сообщения: 1272
Зарегистрирован: 15 июл 2011, 13:36
Репутация: 476
Контактная информация:

Re: Выход в точку смены инструмента.

Сообщение Dmaster »

nkp писал(а):наверно тс имеет в виду "первую" смену инструмента...
нужны уточнения...
Большой человек зашел... приятно)

И мею в виду ВТОРУЮ и ТРЕТЬЮ N-ную...
После окончания программы, после стопа, после M2 , да и вообще если постоянно из MDI вызывать коды
G0x100
g43t1h1m6
Этот гад каждый Б%дь раз катается в точку смены..
" Linux CNC - наше всё"
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Выход в точку смены инструмента.

Сообщение Nick »

Dmaster писал(а):он имея этот инструмент уже установленным ВСЁ РАВНО! поедет в точку смены и оттуда уже пойдет исполнять программу.
как заставить его не кататься туда, если нужный инструмент уже установлен.
Может сразу вместо TxM6 написать:

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

O<tool-change> SUB
  O<tool-change-if> IF [#<_current_tool> NE #1] (или #5400 NE #1)
     T#1M6
  O<tool-change-if> ENDIF
O<tool-change> ENDSUB
ИМХО, лучше когда по Gкоду видно, что на самом деле будет происходить. Иначе можем получить нестандартное поведение станка на обычном Gкоде, что может быть чревато...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Выход в точку смены инструмента.

Сообщение nkp »

Nick писал(а):Может сразу вместо TxM6 написать:
вот например у нас строка в коде T1M6
как будет работать этот О-код ?
===========
и наверное на данном этапе все таки лучше использовать ( #5400 NE #1)
это будет работать и на 2.5
[#<_current_tool> NE #1] же только на 2.6 и выше
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Выход в точку смены инструмента.

Сообщение Nick »

nkp писал(а):вот например у нас строка в коде T1M6
как будет работать этот О-код ?
Ну и вместо T1M6 - O<tool-change> CALL [1], или я не правильно тебя понял?
Просто ИМХО не очень хорошо подменять стандартные Gкоды...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Выход в точку смены инструмента.

Сообщение nkp »

Nick писал(а):вместо T1M6 - O<tool-change> CALL [1]
но я всё же за любые изменения (переопределения кода) - чтоб была возможность использовать "стандартное" написание (TxM6)...
имхо лучше один раз подправить в емс (в своей конфигурации), чем править пп во всех камах , которые используешь ,
да еще и "старые" программы , или взятые со стороны(подготовленые заказчиком) поисправлять...
Аватара пользователя
verser
Мастер
Сообщения: 1903
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Выход в точку смены инструмента.

Сообщение verser »

Nick писал(а): Просто ИМХО не очень хорошо подменять стандартные Gкоды...
Есть ещё вариант "подкрутить" linuxcnc при помощи внесения изменений в функции change_prolog, change_epilog в файле configs/sim/axis/remap/toolchange/python/toolchange.py
Здесь подгляделhttp://www.linuxcnc.org/docs/devel/html ... ntly-works
и здесьhttp://www.linuxcnc.org/docs/devel/html ... s_t_m6_m61
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Выход в точку смены инструмента.

Сообщение Nick »

nkp писал(а):имхо лучше один раз подправить в емс (в своей конфигурации), чем править пп во всех камах , которые используешь ,
да еще и "старые" программы , или взятые со стороны(подготовленые заказчиком) поисправлять...
Плохо, когда стоит 10 разных станков, и все работатают по разному, и потом через год приходит новый сотрудник или просто сам забываешь, что поменял а что нет... все имхо :)
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Выход в точку смены инструмента.

Сообщение Сергей Саныч »

Dmaster писал(а):Есть смена инструмента.
Автоматическая или ручная?
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Dmaster
Мастер
Сообщения: 1272
Зарегистрирован: 15 июл 2011, 13:36
Репутация: 476
Контактная информация:

Re: Выход в точку смены инструмента.

Сообщение Dmaster »

Сергей Саныч писал(а):Автоматическая или ручная?
Автоматическая) бункер на 30 инстр.
nkp писал(а):но я всё же за любые изменения (переопределения кода) - чтоб была возможность использовать "стандартное" написание (TxM6)
Всеми руками и ногами ЗА!

А почему не использовать всё-таки это?
http://www.linuxcnc.org/docs/devel/html ... g_tt_m6_tt

Получится всего-то то, что я хотел!)
(Языка програмирования я не знаю.... получилась такая крокозябра)


Суем вот это в INI
REMAP=M6 modalgroup=6 ngc=mychange

Это в RS274NGC

O<mychange> SUB
O<tool-change-if> IF [#<_current_tool> NE #1] (или #5400 NE #1)
T#M6
ELSE
G53G0Z0Y0 T#M6
O<tool-change-if> ENDIF
O<tmychange> ENDSUB
" Linux CNC - наше всё"
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Выход в точку смены инструмента.

Сообщение Nick »

Можно в крайнем случай фильтр сделать, чтоб через sed автоматом делать подмену TxM6 на O<> CALL [x]...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Выход в точку смены инструмента.

Сообщение nkp »

Nick писал(а):Можно в крайнем случай фильтр сделать, чтоб через sed автоматом делать подмену TxM6 на O<> CALL [x]...
проверить - если это устроит - то и зачем усложнять...
=========
только фильтр написать сюда (будет для тех , кто с sed не знаком ) ...
Аватара пользователя
Dmaster
Мастер
Сообщения: 1272
Зарегистрирован: 15 июл 2011, 13:36
Репутация: 476
Контактная информация:

Re: Выход в точку смены инструмента.

Сообщение Dmaster »

вроде всё устраивает..,но я опять уперся в REMAP
У меня стоит версия 2.5.4 и оно ни в какую ремап делать что-то не хочет. НА 2.6 переходить не хочу... из за стабильности... а фиг его знает.. станок то не маленький.
Нашел по теме вот что
http://www.linuxcnc.org/emc2/index.php/ ... emap-block
Там сказано что только "Master branch (development)" buildout мне поможет
http://buildbot.linuxcnc.org/

И как мне его поставить?

как вот это
deb http://buildbot.linuxcnc.org/ lucid master-rt
deb-src http://buildbot.linuxcnc.org/ lucid master-rt
добавить сюда
/etc/apt/sources.list.d/linuxcnc-buildbot.list:
если в папке /etc/apt/sources.list.d пусто
" Linux CNC - наше всё"
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Выход в точку смены инструмента.

Сообщение nkp »

для начала - 2.6 достаточно стабильна ...
-----------
но можно всё сделать и в 2.5...
remap не нужен , прописываем фильтр ,
O<tool-change> SUB
O<tool-change-if> IF [#5400 NE #1]
T#1M6
O<tool-change-if> ENDIF
O<tool-change> ENDSUB

в файл tool-change.ngc (положить в папку с G-кодами)
=======
вроде бы всё
-------
зы
фильтр сейчас пропишем...
Аватара пользователя
Dmaster
Мастер
Сообщения: 1272
Зарегистрирован: 15 июл 2011, 13:36
Репутация: 476
Контактная информация:

Re: Выход в точку смены инструмента.

Сообщение Dmaster »

А как фильтр вообще работает? И чем он всё-таки лучше ремапа в моем случае?
nkp писал(а):для начала - 2.6 достаточно стабильна
Если так, то как обновиться по проще?

Remap мне всё-таки нужен. Мне по хорошему надо M10 M11 на токарник и M60..
" Linux CNC - наше всё"
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Выход в точку смены инструмента.

Сообщение nkp »

можно поставить из исходников
или обновить так
Dmaster писал(а):А как фильтр вообще работает?
фильтр заменяет "на лету" одну строку в файле G-кода на другую
например прописываем в ини:
[FILTER]
PROGRAM_EXTENSION = .ngc Script
ngc = sed 's/G71/G21/i'

если вот так добавить - то будет заменять G71 на G21
==========
с "нашим" случаем пока не получается - ведь смена инструмента может быть
прописана по разному :
просто T1M6
или G43 T1 H1 M6
или другие вариации
и все нужно в фильтре предусмотреть - иначе можно нарваться на "неприятность"...
Ответить

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