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

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

Добавлено: 13 май 2014, 21:39
Dmaster
Вечер добрый)

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

N00 g55
N01 G43T1M6
он имея этот инструмент уже установленным ВСЁ РАВНО! поедет в точку смены и оттуда уже пойдет исполнять программу.
как заставить его не кататься туда, если нужный инструмент уже установлен.

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

Добавлено: 13 май 2014, 22:02
aftaev
Dmaster писал(а):он имея этот инструмент уже установленным ВСЁ РАВНО! поедет в точку смены и оттуда уже пойдет исполнять программу.
он же незнает что инструмент в шпинделе, вот и едит его "брать"

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

Добавлено: 13 май 2014, 22:12
verser
Обычно построцессор решает вставлять или не вставлять смену инструмента. Факт присутствия кода на смену инструмента, если инструмент всё тот же, - это ошибка постпроцессора. С ним надо разбираться.

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

Добавлено: 13 май 2014, 22:15
nkp
verser писал(а):Обычно построцессор решает вставлять или не вставлять смену инструмента. Факт присутствия кода на смену инструмента, если инструмент всё тот же, - это ошибка постпроцессора. С ним надо разбираться.
наверно тс имеет в виду "первую" смену инструмента...
нужны уточнения...

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

Добавлено: 13 май 2014, 22:25
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 писал(а):С ним надо разбираться.
Он к счастью не УИНОУЭН

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

Добавлено: 13 май 2014, 22:29
Dmaster
nkp писал(а):наверно тс имеет в виду "первую" смену инструмента...
нужны уточнения...
Большой человек зашел... приятно)

И мею в виду ВТОРУЮ и ТРЕТЬЮ N-ную...
После окончания программы, после стопа, после M2 , да и вообще если постоянно из MDI вызывать коды
G0x100
g43t1h1m6
Этот гад каждый Б%дь раз катается в точку смены..

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

Добавлено: 14 май 2014, 08:43
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коде, что может быть чревато...

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

Добавлено: 14 май 2014, 09:02
nkp
Nick писал(а):Может сразу вместо TxM6 написать:
вот например у нас строка в коде T1M6
как будет работать этот О-код ?
===========
и наверное на данном этапе все таки лучше использовать ( #5400 NE #1)
это будет работать и на 2.5
[#<_current_tool> NE #1] же только на 2.6 и выше

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

Добавлено: 14 май 2014, 09:19
Nick
nkp писал(а):вот например у нас строка в коде T1M6
как будет работать этот О-код ?
Ну и вместо T1M6 - O<tool-change> CALL [1], или я не правильно тебя понял?
Просто ИМХО не очень хорошо подменять стандартные Gкоды...

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

Добавлено: 14 май 2014, 09:28
nkp
Nick писал(а):вместо T1M6 - O<tool-change> CALL [1]
но я всё же за любые изменения (переопределения кода) - чтоб была возможность использовать "стандартное" написание (TxM6)...
имхо лучше один раз подправить в емс (в своей конфигурации), чем править пп во всех камах , которые используешь ,
да еще и "старые" программы , или взятые со стороны(подготовленые заказчиком) поисправлять...

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

Добавлено: 14 май 2014, 09:45
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

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

Добавлено: 14 май 2014, 10:30
Nick
nkp писал(а):имхо лучше один раз подправить в емс (в своей конфигурации), чем править пп во всех камах , которые используешь ,
да еще и "старые" программы , или взятые со стороны(подготовленые заказчиком) поисправлять...
Плохо, когда стоит 10 разных станков, и все работатают по разному, и потом через год приходит новый сотрудник или просто сам забываешь, что поменял а что нет... все имхо :)

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

Добавлено: 14 май 2014, 10:38
Сергей Саныч
Dmaster писал(а):Есть смена инструмента.
Автоматическая или ручная?

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

Добавлено: 14 май 2014, 12:43
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

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

Добавлено: 14 май 2014, 14:43
Nick
Можно в крайнем случай фильтр сделать, чтоб через sed автоматом делать подмену TxM6 на O<> CALL [x]...

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

Добавлено: 14 май 2014, 17:58
nkp
Nick писал(а):Можно в крайнем случай фильтр сделать, чтоб через sed автоматом делать подмену TxM6 на O<> CALL [x]...
проверить - если это устроит - то и зачем усложнять...
=========
только фильтр написать сюда (будет для тех , кто с sed не знаком ) ...

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

Добавлено: 14 май 2014, 19:31
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 пусто

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

Добавлено: 14 май 2014, 19:53
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-кодами)
=======
вроде бы всё
-------
зы
фильтр сейчас пропишем...

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

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

Remap мне всё-таки нужен. Мне по хорошему надо M10 M11 на токарник и M60..

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

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

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