Z при ручной смене инструмента

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
Sysarchitect
Новичок
Сообщения: 13
Зарегистрирован: 21 июн 2019, 15:07
Репутация: 1
Настоящее имя: Илья
Контактная информация:

Z при ручной смене инструмента

Сообщение Sysarchitect »

Здравствуйте.
Понимаю, что тема обсосана не раз, но тем не менее я нигде не нашел ответ. Прошу помощи.

Имеем датчик по Z, макрос, все настроено, ноль определяется.
Заготовка стоит выше датчика - нули инструмента и заготовки разные.

Как сделать, чтобы после смены инструмента новая фреза понимала, где находится ноль детали?
Вариант с подготовкой фрез в патронах не подходит, т.к. из-за особенностей материала фрезы часто ломаются и перенастраивать Tool Table каждый раз нереально.
Насколько понимаю, надо играть с оффсетами. Пробовал вычислить Work Offset на первой фрезе, как разницу между датчиком Z и нулем детали, а затем после смены вводить этот offset.
Только оно не работает - станок уходит по Z куда-то, что не поддается логике.
Замерять ноль по детали касанием или бумажкой не могу, т.к. она прецизионная с тонкими гранями (поршень для авиамодели) - трогать грань второй раз нельзя и бумажку не положишь.

Пишут про G92 - это оно? Если да, то как указать смещение и применить потом?
Аватара пользователя
Kachik
Мастер
Сообщения: 1408
Зарегистрирован: 13 янв 2017, 16:22
Репутация: 308
Настоящее имя: Сергей
Откуда: Питер
Контактная информация:

Re: Z при ручной смене инструмента

Сообщение Kachik »

Для этого в систему расчетов вводится дополнительная базовая поверхность, которая в процессе обработки не будет изменять своего положения. Дальше при смене инструмента сверяются с этой поверхностью и вычислив поправку вводят её в СК. Всё придумано до нас, на обычных фрезерах, как-то работают уже больше 100 лет... А с помощью чего будет производиться замер - не принципиально. Используют и КМД и индикаторы и разные датчики... Гуглите использование краеискателей...
Sysarchitect
Новичок
Сообщения: 13
Зарегистрирован: 21 июн 2019, 15:07
Репутация: 1
Настоящее имя: Илья
Контактная информация:

Re: Z при ручной смене инструмента

Сообщение Sysarchitect »

Спасибо за ответ. На обычном станке конечно было бы касание чего-либо при смене инструмента.
Здесь то же самое ведь - касаемся датчика высоты Z, это и есть базовая поверхность, от которой делаем поправку. Но вопрос, как объяснить это Мачу. Не совсем та же задача, что поиск края.
Расстояние по Z от датчика до нуля детали есть константа. Первой (черновой фрезой) я могу касаться заготовки, потом уже нет.
Аватара пользователя
hmnijp
Мастер
Сообщения: 1698
Зарегистрирован: 20 авг 2017, 15:02
Репутация: 516
Настоящее имя: Константин
Откуда: Ульяновск
Контактная информация:

Re: Z при ручной смене инструмента

Сообщение hmnijp »

макрос что измеряет? у вас он должен измерять "длину инструмента" каждый раз при смене и записывать эту величину в туул тейбл. это g43/44 "компенсация длины инструмента". Если он выставляет ноль рабочих координат каждый раз, то это не правильно.
А ноль детали - это уже хранится в рабочих координатах, измеряется однажды при старте, с уже измеренным инструментом.

тут посмотрите, всё расписано http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=7941
или другие похожие темы были
http://www.cnc-club.ru/forum/viewtopic.php?f=16&t=9129
Аватара пользователя
Kachik
Мастер
Сообщения: 1408
Зарегистрирован: 13 янв 2017, 16:22
Репутация: 308
Настоящее имя: Сергей
Откуда: Питер
Контактная информация:

Re: Z при ручной смене инструмента

Сообщение Kachik »

Выставили 0, далее меряем базу - допустим получилось -3мм. Меняем фрезу, обнуляемся на базу и в ручную в окошке Z - ставим -3мм. Макрос то же самое делает автоматически...
Аватара пользователя
шпиндель
Мастер
Сообщения: 1793
Зарегистрирован: 23 янв 2016, 17:57
Репутация: 900
Настоящее имя: Дмитрий
Откуда: Бологое
Контактная информация:

Re: Z при ручной смене инструмента

Сообщение шпиндель »

я пользуюсь скринсетом от Евгения, в нём есть эта функция обнуления следующего инструмента http://www.cnc-club.ru/forum/viewtopic.php?f=16&t=4548 :eat:
Sysarchitect
Новичок
Сообщения: 13
Зарегистрирован: 21 июн 2019, 15:07
Репутация: 1
Настоящее имя: Илья
Контактная информация:

Re: Z при ручной смене инструмента

Сообщение Sysarchitect »

А, понятно. Да, каждый раз сбрасывает в 0 рабочие координаты.

Но как макрос знает, какой инструмент из таблицы он сейчас меряет?
Аватара пользователя
hmnijp
Мастер
Сообщения: 1698
Зарегистрирован: 20 авг 2017, 15:02
Репутация: 516
Настоящее имя: Константин
Откуда: Ульяновск
Контактная информация:

Re: Z при ручной смене инструмента

Сообщение hmnijp »

Sysarchitect писал(а):А, понятно. Да, каждый раз сбрасывает в 0 рабочие координаты.

Но как макрос знает, какой инструмент из таблицы он сейчас меряет?
тот который выбран в конкретный момент. так же он запускаться должен после M6. Если у вас автосмены нет, то не важно, может каждый раз измерять первый инструмент после смены. Но в уп соответсвенно тоже должен быть один.
В общем его надо запускать после смены. В маче есть окно tool information, и там tool number. из макро m6 t1 он автоматом пропишется
Sysarchitect
Новичок
Сообщения: 13
Зарегистрирован: 21 июн 2019, 15:07
Репутация: 1
Настоящее имя: Илья
Контактная информация:

Re: Z при ручной смене инструмента

Сообщение Sysarchitect »

Правильно понимаю, что в этом случае таблица изначально пуста и каждый текущий инструмент после M6 добавялятся в нее?
Если нет, и инструменты должны быть в таблице изначально, то как его "выбрать"?
Аватара пользователя
hmnijp
Мастер
Сообщения: 1698
Зарегистрирован: 20 авг 2017, 15:02
Репутация: 516
Настоящее имя: Константин
Откуда: Ульяновск
Контактная информация:

Re: Z при ручной смене инструмента

Сообщение hmnijp »

Sysarchitect писал(а):Правильно понимаю, что в этом случае таблица изначально пуста и каждый текущий инструмент после M6 добавялятся в нее?
Если нет, и инструменты должны быть в таблице изначально, то как его "выбрать"?
да, добавляться будет по мере использования. Если у вас нет автосмены/патронов, и зажимаете в цангу каждый раз - то таблица и номера вам не важны, измеряйте каждый раз
Инструмент выбирается в ручную - кликаешь на окно с номер инструмента, и пишешь туда 99, либо из уп M6 T99
Аватара пользователя
verser
Мастер
Сообщения: 1875
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1275
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Z при ручной смене инструмента

Сообщение verser »

Sysarchitect писал(а): Пишут про G92 - это оно? Если да, то как указать смещение и применить потом?
Желательно обойтись без G92.

Логика работы примерно такая
1.Установили навсегда на краю стола датчик tool setter
2.Установили на стол очередную заготовку
3.Вставили в шпиндель центроискатель (или если нет центроискателя, то фрезу, и тогда в п.4 нащупываем касание поверхности заготовки вручную, а в п.5 на автомате также как и центроискателем)
4.Обмер центроискателем по z поверхности заготовки запомнили z в BlockHeight
5.Обмер центроискателем по z поверхности измерительной площадки датчика tool setter, z запомнили в TSHeight
6.Вынули из шпинделя центроискатель, вставили инструмент n (т.е. очередную фрезу).
7.Сделали инструмент n текущим (M6 Tn).
8.Обмер этим инструментом n по z поверхности измерительной площадки датчика tool setter, z запомнили в ToolnHeight

9.В таблицу инструмента прописываем (G10 L1 Pn Zn) для инструмента n следующий отступ по z
Zn = ToolnHeight - TSHeight + BlockHeight
Примерный код этого ключевого места на VB

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

    CurrToolNumber=GetSelectedTool() 'Load the tool number
	 Code "G90" & "G10" & "L1" & "P" & CurrToolNumber &"Z" & (ToolnHeight - TSHeight + BlockHeight)
    SetCurrentTool(CurrToolNumber) 'Set the tool
    Code "g43 H" & CurrToolNumber 'Set the height	
После 7-9 ноль по Z для текущего инструмента будет располагаться на верхней плоскости заготовки.
Видели это?
Sysarchitect
Новичок
Сообщения: 13
Зарегистрирован: 21 июн 2019, 15:07
Репутация: 1
Настоящее имя: Илья
Контактная информация:

Re: Z при ручной смене инструмента

Сообщение Sysarchitect »

Инструменты в цанге.
Т.е. верно ли:
1. Щупаю первой фрезой ноль заготовки. Это рабочие координаты.
2. Меряем макросом коррекцию (будет автоматически равна разнице между датчиком Z и деталью?) и пишем ее в Tool 1 таблицы. Рабочие координаты не трогаем.
3. Отфрезеровали, стоим на M6.
4. Меняю вручную инструмент - высота неизвестна.
5. Повторяю замер коррекции для нового инструмента - коррекция записалась в тот же Tool 1,новая запись не создалась.
6. И т.д. сколько есть инструментов. Макрос одинаковый для 1-го и последующих замеров.

?
Аватара пользователя
hmnijp
Мастер
Сообщения: 1698
Зарегистрирован: 20 авг 2017, 15:02
Репутация: 516
Настоящее имя: Константин
Откуда: Ульяновск
Контактная информация:

Re: Z при ручной смене инструмента

Сообщение hmnijp »

нет, сначала меряете коррекцию - станок будет знать длинну, и соответсвенно реальную координату кончика фрезы, а потом только измеряете рабочий ноль этим кончиком.

в остальном правильно.
По номерам - если у вас из уп запускается M6, то там всегда следует какой то номер Tn. Главное после смены(M6) ручной или автоматической, запустить измерение коррекции длинны. если в уп у вас всегда один и тот же номер, то мач может проигнорить, тк номер инструмента не поменяется - подумает что он уже установлен и измерен. соотвественно макро M6 нужно настроить так чтобы он измерял. в маче в настройках есть варианты выбора - что делать при встрече этого макроса
Sysarchitect
Новичок
Сообщения: 13
Зарегистрирован: 21 июн 2019, 15:07
Репутация: 1
Настоящее имя: Илья
Контактная информация:

Re: Z при ручной смене инструмента

Сообщение Sysarchitect »

verser писал(а):
Sysarchitect писал(а): Пишут про G92 - это оно? Если да, то как указать смещение и применить потом?
Желательно обойтись без G92.

Логика работы примерно такая
1.Установили навсегда на краю стола датчик tool setter
2.Установили на стол очередную заготовку
3.Вставили в шпиндель центроискатель (или если нет центроискателя, то фрезу, и тогда в п.4 нащупываем касание поверхности заготовки вручную, а в п.5 на автомате также как и центроискателем)
4.Обмер центроискателем по z поверхности заготовки запомнили z в BlockHeight
5.Обмер центроискателем по z поверхности измерительной площадки датчика tool setter, z запомнили в TSHeight
6.Вынули из шпинделя центроискатель, вставили инструмент n (т.е. очередную фрезу).
7.Сделали инструмент n текущим (M6 Tn).
8.Обмер этим инструментом n по z поверхности измерительной площадки датчика tool setter, z запомнили в ToolnHeight

9.В таблицу инструмента прописываем (G10 L1 Pn Zn) для инструмента n следующий отступ по z
Zn = ToolnHeight - TSHeight + BlockHeight
Примерный код этого ключевого места на VB

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

    CurrToolNumber=GetSelectedTool() 'Load the tool number
	 Code "G90" & "G10" & "L1" & "P" & CurrToolNumber &"Z" & (ToolnHeight - TSHeight + BlockHeight)
    SetCurrentTool(CurrToolNumber) 'Set the tool
    Code "g43 H" & CurrToolNumber 'Set the height	
После 7-9 ноль по Z для текущего инструмента будет располагаться на верхней плоскости заготовки.
Видели это?
Стала складываться картинка, спасибо.
Попробую и напишу результат.
Sysarchitect
Новичок
Сообщения: 13
Зарегистрирован: 21 июн 2019, 15:07
Репутация: 1
Настоящее имя: Илья
Контактная информация:

Re: Z при ручной смене инструмента

Сообщение Sysarchitect »

hmnijp писал(а):нет, сначала меряете коррекцию - станок будет знать длинну, и соответсвенно реальную координату кончика фрезы, а потом только измеряете рабочий ноль этим кончиком.

в остальном правильно.
По номерам - если у вас из уп запускается M6, то там всегда следует какой то номер Tn. Главное после смены(M6) ручной или автоматической, запустить измерение коррекции длинны. если в уп у вас всегда один и тот же номер, то мач может проигнорить, тк номер инструмента не поменяется - подумает что он уже установлен и измерен. соотвественно макро M6 нужно настроить так чтобы он измерял. в маче в настройках есть варианты выбора - что делать при встрече этого макроса
Извините, что отвлекаю на ликбез, но здесь снова сломался.
Если замер коррекции датчиком - это первое действие для T1, происходящее до касания детали, то здесь она всегда константа=(высота датчика+отскок) и нужна лишь для последующего сравнения со 2-м и т.д. инструментами, когда уже будет известен ноль рабочих координат?
Аватара пользователя
hmnijp
Мастер
Сообщения: 1698
Зарегистрирован: 20 авг 2017, 15:02
Репутация: 516
Настоящее имя: Константин
Откуда: Ульяновск
Контактная информация:

Re: Z при ручной смене инструмента

Сообщение hmnijp »

Sysarchitect писал(а): Извините, что отвлекаю на ликбез, но здесь снова сломался.
Если замер коррекции датчиком - это первое действие для T1, происходящее до касания детали, то здесь она всегда константа=(высота датчика+отскок) и нужна лишь для последующего сравнения со 2-м и т.д. инструментами, когда уже будет известен ноль рабочих координат?
Обычно работают так: есть 0 по z где то вверху(когда каретка находится в верхней точке по датчику Home Z), и есть мастер инструмент, у которого корректор = 0 (это может быть торец шпинделя), есть датчик измерения длинны, который стоит на месте в каких-то "известных откалиброванных" машинных координатах(например измеренных для нулевого корректора). измеряя длину инструмента - компенсация вносится в таблицу учитывая положение датчика.
Далее есть "рабочая СК", например g54, офсеты которой измеряются опять же от 0 машинных координат+коррекция того чем вы измеряете. При смене инструмента измеряется его коррекция, а рабочая СК как была, так и осталась в тех же офсетах относительно машинных координат.
Для этого способа важна повторяемость датчика homeZ, чтобы положение датчика длины в машинных координатах всегда было точное. Тут если длина инструмента известна, то можно сразу измерять им рабочий ноль. иначе сначала измерить длину.

Но фактически, в некоторых плагинах которые можно найти, делают так - берут первый мастер инструмент, и при первом измерении, измеряется не его корректор, а фактически положение датчика, при этом корректор остаётся равным нулю. Далее измеряют им(мастер инструментом) рабочую СК(ноль детали) - её офсеты будут известны в машинных координатах для коррекции длинны=0. При последующей смене инструмента - снова измеряется длина по "уже известному" положению датчика, к корректору добавляется разница длины первого и второго.
Для этого случая можно измерить сначала ноль детали, затем датчик - не важно, тк это происходит одним инструментом с нулевым корректором.
Вот и вся логика.
Sysarchitect
Новичок
Сообщения: 13
Зарегистрирован: 21 июн 2019, 15:07
Репутация: 1
Настоящее имя: Илья
Контактная информация:

Re: Z при ручной смене инструмента

Сообщение Sysarchitect »

Всем спасибо за ответы.
В результате получился вот такой скрипт. Предполагается касание первой фрезой детали, эту высоту определяем как 0 в рабочей СК.
Смещение 1-й фрезы также всегда считаем нулевым. Едем до кнопки и записываем расстояние в переменную мача.
Если это 2-я и т.д. фреза - также меряем расстояние от нуля до кнопки и вычитаем его из сохраненного для фрезы-1. Пишем результат в таблицу для фрезы N. Теперь позиционируется после M6 куда надо.
Вложения
Z6_Tool_ALL.txt
(1.83 КБ) 845 скачиваний
Sysarchitect
Новичок
Сообщения: 13
Зарегистрирован: 21 июн 2019, 15:07
Репутация: 1
Настоящее имя: Илья
Контактная информация:

Re: Z при ручной смене инструмента

Сообщение Sysarchitect »

Т.к. скрипт стали скачивать - обновил, убрал ошибки.

Для первой фрезы вручную находим 0 детали. Запоминаем расстояние между этим нулем и датчиком.
Фреза 2 и т.д. отскакивают от датчика на это расстяние. Говорим станку, что это новый ноль.
Писать что-либо в Tool table смысла нет, т.к. любой инструмент теперь работает с нулевой компенсаций.
Для определения точки касания при движении к датчику использую GetOEMLed - мой контроллер почему-то не всегда останавливается по IsMoving. Загадка.
Вложения
Z7.txt
(1.54 КБ) 782 скачивания
Volkaso
Новичок
Сообщения: 36
Зарегистрирован: 16 июн 2015, 11:57
Репутация: 1
Настоящее имя: Соседов Владимир Юрьевич
Контактная информация:

Re: Z при ручной смене инструмента

Сообщение Volkaso »

Чтобы не плодить лишних тем!объясните пожалуйста на пальцах. Я как собака понимать понимаю,но в скрипте выразить не могу т.к. их никогда не писал!Как я понял что скрипт это алгоритм который выполняется строчка за строчкой и вносит коректировки + идет "игра" с машинными и относительгыми кооодинатами.т.е. я правильно понимаю что выше написан скрипт который определяет высоту инструмента и вносит соответствующие коректировки.??Как мне хотелосьбы это все реализовать:
Есть два датчика.1й "в свободном полете".2й закреплен на рабочем столе в определеном месте.В шпиндель зажимается скажем так "шаблонный" он же первый инструмент.
1й датчик устанавливается на верх заготовки и как при нажатии auto tool zero "шаблонная" фреза опускается до касания 1го датчика и с учетом высоты самого датчика определяет верх заготовки.Производим фрезеровку этой фрезой.
После чего меняется инструмент и по запуску 2го скрипта шпиндель едет к фиксированному 2му датчику и проделывает туже операцию как и при auto zero tools,только вносит соответствующие коректировки относительно 1го "шаблонного" инструмента ,ну и соответственно при нажатии go to zero приедит фрезой к верху заготовки.
В этом плюс то что происходит быстрая смена инструмента с коректировкой по высоте,ну и всегда можно плисать от верха заготовки даже если она уже "съедина")
Если пишу не в эту тему не пинай,переправте туда.
Станок имеет по одному датчику HOME.Соответственно по осям X Y Z,и ограничен софт лимитами.Датчик HOME по оси Z расположен в крайнем верхнем положении.
За все время имел дело только со скриптом auto zero tool там к строкам были коментарии наруском поэтому было все понятно.только прописывал такие параметры как скорость подачи,высота датчика и на сколько приподняться от датчика;)
Если еще подскажите где смотреть информацию на тему "скрипты для чайников","скрипты с нуля" или "описание скриптов" то тоже буду благодарен.
Аватара пользователя
stanislavpetrashko
Новичок
Сообщения: 24
Зарегистрирован: 17 дек 2012, 11:54
Репутация: 1
Настоящее имя: Станислав
Откуда: Выборг
Контактная информация:

Re: Z при ручной смене инструмента

Сообщение stanislavpetrashko »

hmnijp писал(а): 09 июл 2019, 18:45
Sysarchitect писал(а): Извините, что отвлекаю на ликбез, но здесь снова сломался.
Если замер коррекции датчиком - это первое действие для T1, происходящее до касания детали, то здесь она всегда константа=(высота датчика+отскок) и нужна лишь для последующего сравнения со 2-м и т.д. инструментами, когда уже будет известен ноль рабочих координат?
Обычно работают так: есть 0 по z где то вверху(когда каретка находится в верхней точке по датчику Home Z), и есть мастер инструмент, у которого корректор = 0 (это может быть торец шпинделя), есть датчик измерения длинны, который стоит на месте в каких-то "известных откалиброванных" машинных координатах(например измеренных для нулевого корректора). измеряя длину инструмента - компенсация вносится в таблицу учитывая положение датчика.
Далее есть "рабочая СК", например g54, офсеты которой измеряются опять же от 0 машинных координат+коррекция того чем вы измеряете. При смене инструмента измеряется его коррекция, а рабочая СК как была, так и осталась в тех же офсетах относительно машинных координат.
Для этого способа важна повторяемость датчика homeZ, чтобы положение датчика длины в машинных координатах всегда было точное. Тут если длина инструмента известна, то можно сразу измерять им рабочий ноль. иначе сначала измерить длину.

Но фактически, в некоторых плагинах которые можно найти, делают так - берут первый мастер инструмент, и при первом измерении, измеряется не его корректор, а фактически положение датчика, при этом корректор остаётся равным нулю. Далее измеряют им(мастер инструментом) рабочую СК(ноль детали) - её офсеты будут известны в машинных координатах для коррекции длинны=0. При последующей смене инструмента - снова измеряется длина по "уже известному" положению датчика, к корректору добавляется разница длины первого и второго.
Для этого случая можно измерить сначала ноль детали, затем датчик - не важно, тк это происходит одним инструментом с нулевым корректором.
Вот и вся логика.
подскажите пожалуйста по поводу ручной смены инструмента и tool table в мач3.

сообщение hmnijp я прочитал, но все равно не понятно с моей ситуацией.

у меня есть датчик по оси Z в верху (хомление) и есть три фрезы с обжимами(т.е. их можно вставить только на определенную глубину) но датчика обнуления нет.
вопрос, можно ли в ручном режиме найти ноль плоскости (опускать по 0,1 и через бумажку замерять когда упрется) и увидев машинные координаты записать их в tooltable, и куда их записать? и второй непонятный момент, нужен первый инструмент относительно которого будут все последующие меряться? или как сделать, если датчика обнуления нет но я готов один раз измерять вручную записав в tooltable данные и забыв про это))
Ответить

Вернуться в «Windows / Mach»