Выход в точку смены инструмента.
- Dmaster
- Мастер
- Сообщения: 1272
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Выход в точку смены инструмента.
Вечер добрый)
Нарисовалась тут гадость..
Есть смена инструмента. есть точка смены
TOOL_CHANGE_POSITION =
Всё работает и всё меняется, НО! проблема в том, что при исполнении кода с 1-м инструментом
N00 g55
N01 G43T1M6
он имея этот инструмент уже установленным ВСЁ РАВНО! поедет в точку смены и оттуда уже пойдет исполнять программу.
как заставить его не кататься туда, если нужный инструмент уже установлен.
Нарисовалась тут гадость..
Есть смена инструмента. есть точка смены
TOOL_CHANGE_POSITION =
Всё работает и всё меняется, НО! проблема в том, что при исполнении кода с 1-м инструментом
N00 g55
N01 G43T1M6
он имея этот инструмент уже установленным ВСЁ РАВНО! поедет в точку смены и оттуда уже пойдет исполнять программу.
как заставить его не кататься туда, если нужный инструмент уже установлен.
" Linux CNC - наше всё"
-
aftaev
- Зачётный участник

- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6194
- Откуда: Казахстан.
- Контактная информация:
Re: Выход в точку смены инструмента.
он же незнает что инструмент в шпинделе, вот и едит его "брать"Dmaster писал(а):он имея этот инструмент уже установленным ВСЁ РАВНО! поедет в точку смены и оттуда уже пойдет исполнять программу.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
- verser
- Мастер
- Сообщения: 1903
- Зарегистрирован: 21 июл 2013, 22:28
- Репутация: 1282
- Настоящее имя: Сергей
- Откуда: Тбилиси
- Контактная информация:
Re: Выход в точку смены инструмента.
Обычно построцессор решает вставлять или не вставлять смену инструмента. Факт присутствия кода на смену инструмента, если инструмент всё тот же, - это ошибка постпроцессора. С ним надо разбираться.
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Выход в точку смены инструмента.
наверно тс имеет в виду "первую" смену инструмента...verser писал(а):Обычно построцессор решает вставлять или не вставлять смену инструмента. Факт присутствия кода на смену инструмента, если инструмент всё тот же, - это ошибка постпроцессора. С ним надо разбираться.
нужны уточнения...
- Dmaster
- Мастер
- Сообщения: 1272
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Выход в точку смены инструмента.
как не знает.. .. он программу исполняет по 50 раз на дню)aftaev писал(а):он же незнает что инструмент в шпинделе, вот и едит его "брать"
Оне не делает смену. он тупо туда ездит) в точку 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: Выход в точку смены инструмента.
Большой человек зашел... приятно)nkp писал(а):наверно тс имеет в виду "первую" смену инструмента...
нужны уточнения...
И мею в виду ВТОРУЮ и ТРЕТЬЮ N-ную...
После окончания программы, после стопа, после M2 , да и вообще если постоянно из MDI вызывать коды
G0x100
g43t1h1m6
Этот гад каждый Б%дь раз катается в точку смены..
" Linux CNC - наше всё"
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Выход в точку смены инструмента.
Может сразу вместо TxM6 написать:Dmaster писал(а):он имея этот инструмент уже установленным ВСЁ РАВНО! поедет в точку смены и оттуда уже пойдет исполнять программу.
как заставить его не кататься туда, если нужный инструмент уже установлен.
Код: Выделить всё
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
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Выход в точку смены инструмента.
вот например у нас строка в коде T1M6Nick писал(а):Может сразу вместо TxM6 написать:
как будет работать этот О-код ?
===========
и наверное на данном этапе все таки лучше использовать ( #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: Выход в точку смены инструмента.
Ну и вместо T1M6 - O<tool-change> CALL [1], или я не правильно тебя понял?nkp писал(а):вот например у нас строка в коде T1M6
как будет работать этот О-код ?
Просто ИМХО не очень хорошо подменять стандартные Gкоды...
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Выход в точку смены инструмента.
но я всё же за любые изменения (переопределения кода) - чтоб была возможность использовать "стандартное" написание (TxM6)...Nick писал(а):вместо T1M6 - O<tool-change> CALL [1]
имхо лучше один раз подправить в емс (в своей конфигурации), чем править пп во всех камах , которые используешь ,
да еще и "старые" программы , или взятые со стороны(подготовленые заказчиком) поисправлять...
- verser
- Мастер
- Сообщения: 1903
- Зарегистрирован: 21 июл 2013, 22:28
- Репутация: 1282
- Настоящее имя: Сергей
- Откуда: Тбилиси
- Контактная информация:
Re: Выход в точку смены инструмента.
Есть ещё вариант "подкрутить" linuxcnc при помощи внесения изменений в функции change_prolog, change_epilog в файле configs/sim/axis/remap/toolchange/python/toolchange.pyNick писал(а): Просто ИМХО не очень хорошо подменять стандартные Gкоды...
Здесь подглядел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: Выход в точку смены инструмента.
Плохо, когда стоит 10 разных станков, и все работатают по разному, и потом через год приходит новый сотрудник или просто сам забываешь, что поменял а что нет... все имхоnkp писал(а):имхо лучше один раз подправить в емс (в своей конфигурации), чем править пп во всех камах , которые используешь ,
да еще и "старые" программы , или взятые со стороны(подготовленые заказчиком) поисправлять...
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Выход в точку смены инструмента.
Автоматическая или ручная?Dmaster писал(а):Есть смена инструмента.
Чудес не бывает. Бывают фокусы.
- Dmaster
- Мастер
- Сообщения: 1272
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Выход в точку смены инструмента.
Автоматическая) бункер на 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: Выход в точку смены инструмента.
Можно в крайнем случай фильтр сделать, чтоб через sed автоматом делать подмену TxM6 на O<> CALL [x]...
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Выход в точку смены инструмента.
проверить - если это устроит - то и зачем усложнять...Nick писал(а):Можно в крайнем случай фильтр сделать, чтоб через sed автоматом делать подмену TxM6 на O<> CALL [x]...
=========
только фильтр написать сюда (будет для тех , кто с sed не знаком ) ...
- Dmaster
- Мастер
- Сообщения: 1272
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Выход в точку смены инструмента.
вроде всё устраивает..,но я опять уперся в 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 пусто
У меня стоит версия 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: Выход в точку смены инструмента.
для начала - 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-кодами)
=======
вроде бы всё
-------
зы
фильтр сейчас пропишем...
-----------
но можно всё сделать и в 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: Выход в точку смены инструмента.
А как фильтр вообще работает? И чем он всё-таки лучше ремапа в моем случае?
Remap мне всё-таки нужен. Мне по хорошему надо M10 M11 на токарник и M60..
Если так, то как обновиться по проще?nkp писал(а):для начала - 2.6 достаточно стабильна
Remap мне всё-таки нужен. Мне по хорошему надо M10 M11 на токарник и M60..
" Linux CNC - наше всё"
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Выход в точку смены инструмента.
можно поставить из исходников
или обновить так
например прописываем в ини:
[FILTER]
PROGRAM_EXTENSION = .ngc Script
ngc = sed 's/G71/G21/i'
если вот так добавить - то будет заменять G71 на G21
==========
с "нашим" случаем пока не получается - ведь смена инструмента может быть
прописана по разному :
просто T1M6
или G43 T1 H1 M6
или другие вариации
и все нужно в фильтре предусмотреть - иначе можно нарваться на "неприятность"...
или обновить так
фильтр заменяет "на лету" одну строку в файле G-кода на другуюDmaster писал(а):А как фильтр вообще работает?
например прописываем в ини:
[FILTER]
PROGRAM_EXTENSION = .ngc Script
ngc = sed 's/G71/G21/i'
если вот так добавить - то будет заменять G71 на G21
==========
с "нашим" случаем пока не получается - ведь смена инструмента может быть
прописана по разному :
просто T1M6
или G43 T1 H1 M6
или другие вариации
и все нужно в фильтре предусмотреть - иначе можно нарваться на "неприятность"...
