Быстрый алгоритм поиска поверхности в Масh3- НЕLP!

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
andre_bel
Новичок
Сообщения: 9
Зарегистрирован: 28 сен 2014, 19:27
Репутация: 0
Настоящее имя: Гаврилов Андрей Владимирович
Контактная информация:

Быстрый алгоритм поиска поверхности в Масh3- НЕLP!

Сообщение andre_bel »

Добрый день!
ПРОШУ помощи, т.к в программировании пока не особо силен!

Суть проблемы:
заканчиваю постройку гвоздезабивного станка для производства тары. (кому интересно - в личку tehincom@mail.ru - пообщаемся)
Рабочий инструмент - пневматический гвоздезабивной пистолет. Пистолет стреляет, когда собачка бойка прижимается к материалу. Если вовремя не поднять пистолет - стрельнет еще раз. (это на станке с ЧПУ совсем не хорошо)

Прикрутил к собачке датчик и завел его на INPUT1
Создал макрос, например М331. Он будет вызываться из основного кода и выполнять задачу "БЫСТРО опустить пистолет до срабатывания датчика-(ВЫСТРЕЛ)- и БЫСТРО поднять"
(Сразу скажу - пробовал стандартный механизм поиска поверхности(коррекции длины инструмента) с использованием G31 - НЕ ПОДХОДИТ. Использую контроллер PLCM - а у него своя обработка G31 и он дико тормозит после сработки датчика пока с него не "сползет")

Итак, желаемый алгоритм работы такой внутри макроса:

Вне зависимости от состояния датчика начать движение вниз до срабатывания датчика.
Как только датчик сработал - читать координату Z и сразу же отъехать вверх от этой координаты на заданное расстояние.
Cкорость опускания/подъема должна устанавливаться внутри скрипта.

Вроде все просто, но я еще не научился грамотно программировать.
Прошу помощи.
СПАСИБО!







Возникла необходимость написания скрипта для МАСH3 по типу "поиск поверхности".
AlexTskan
Опытный
Сообщения: 184
Зарегистрирован: 08 янв 2014, 05:19
Репутация: 46
Контактная информация:

Re: Быстрый алгоритм поиска поверхности в Масh3- НЕLP!

Сообщение AlexTskan »

механизм brain mach'а в помощь. сигнал с датчика на вход таймера, таймер управляет переменной - а макрос в программе следит за переменной и выполняет движение.
а нельзя ли выстрелом управлять внешне, а не пользовать механизм автоматики? я думаю это надёжнее...
Чудес не бывает. Бывает недопонимание субъектом процессов, часто осложнённое отсутствием самокритики и верой в непогрешимость своей системы знаний. Плохо когда ЧСВ ещё раздуто до степени судьи...
andre_bel
Новичок
Сообщения: 9
Зарегистрирован: 28 сен 2014, 19:27
Репутация: 0
Настоящее имя: Гаврилов Андрей Владимирович
Контактная информация:

Re: Быстрый алгоритм поиска поверхности в Масh3- НЕLP!

Сообщение andre_bel »

Спасибо за ответ!

Тут момент такой.
Можно прикрутить к пистолету на спусковой крючок электромагнит и завязать на кокой-нибудь М3, НО!
пистолет стрельнет, только тогда, когда боек будет прижат к заготовке.

Поэтому и есть задача "Опустить, найти поверхность по срабатыванию датчика, (он сам при прижатии стрельнет) и подняться".

По жизни заготовки могут быть не совсем одинаковой толщины. Поэтому программировать координату Z не представляется возможным. Надо опускаться до заготовки и искать координату касания.


А по механизму брайна - я к сожалению не силен.
(Начитавшись, знаю что еще есть macropump...
А может быть использовать в макросе циклы Do loop и отслеживать состояние IsActive( INPUT1) ? )

Не могли бы Вы набросать более подробно что и как нужно запрограммировать в брайне?.

СПАСИБО!
Аватара пользователя
Andrey_tlt
Новичок
Сообщения: 32
Зарегистрирован: 08 янв 2013, 11:17
Репутация: 15
Настоящее имя: Андрей
Откуда: Тольятти
Контактная информация:

Re: Быстрый алгоритм поиска поверхности в Масh3- НЕLP!

Сообщение Andrey_tlt »

Недавно подобную задачу решал, можно вот такой макрос написать:

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

'переменные для команды JogOn()
Xaxis	=	0
Yaxis	=	1
Zaxis	=	2
Plus	=	0
Minus	=	1


	JogOn(Zaxis, Minus)	'включить движение в сторону детали (в минус)
	While (isActive(Input1) = 0)		'движение продолжается пока датчик не активен - вход Input1
	Wend
	

JogOff(Zaxis)			'Остановка движения, когда датчик активен
Sleep (10)             'пауза для остановки движения 10 ms (можно меньше поставить)


Code "G0 Z0 "        'вернуться по Z в 0 (указать свое значение)

скорость движения в сторону детали будет равна скорости ручного перемещения - как от кнопок
Задать скорость внутри макроса для команды JogOn явно не получится, только в % от максимальной скорости.
Корректно прервать команды G0 или G1 при срабатывании датчика тоже не получается....
Спрашивал на разных форумах - других вариантов условного движения никто не знает.
в руководстве по программированию скриптов тоже ничего подходящего не нашел...
Если найдется другое решение - напишите - интересно.
Аватара пользователя
artem44ik
Мастер
Сообщения: 359
Зарегистрирован: 27 ноя 2012, 14:29
Репутация: 16
Настоящее имя: Скляров Артем Григорьевич
Откуда: Краснодар
Контактная информация:

Re: Быстрый алгоритм поиска поверхности в Масh3- НЕLP!

Сообщение artem44ik »

У меня на плазме в макросе м3 прописан поиск металла,завтра буду на работе скину сюда.
Идем все к лучшему!
Аватара пользователя
artem44ik
Мастер
Сообщения: 359
Зарегистрирован: 27 ноя 2012, 14:29
Репутация: 16
Настоящее имя: Скляров Артем Григорьевич
Откуда: Краснодар
Контактная информация:

Re: Быстрый алгоритм поиска поверхности в Масh3- НЕLP!

Сообщение artem44ik »

Code "G00 Z 0"
Code "G31 Z -100"
While ismoving()
Wend
Code "G92 Z 0"
Code "G00 Z 8"
While ismoving()
Wend
DoSpinCW()
Идем все к лучшему!
Аватара пользователя
artem44ik
Мастер
Сообщения: 359
Зарегистрирован: 27 ноя 2012, 14:29
Репутация: 16
Настоящее имя: Скляров Артем Григорьевич
Откуда: Краснодар
Контактная информация:

Re: Быстрый алгоритм поиска поверхности в Масh3- НЕLP!

Сообщение artem44ik »

Вот так в макросе м03 прописан поиск металла
Идем все к лучшему!
Аватара пользователя
Andrey_tlt
Новичок
Сообщения: 32
Зарегистрирован: 08 янв 2013, 11:17
Репутация: 15
Настоящее имя: Андрей
Откуда: Тольятти
Контактная информация:

Re: Быстрый алгоритм поиска поверхности в Масh3- НЕLP!

Сообщение Andrey_tlt »

Это обычный поиск через Probe и G31,
а в первом посте написано, что G31 использовать не желательно, а почему?
Если из-за скорости, то нужно написать G31 F500 Z-100 - задать скорость перемещения при поиске датчика.
Если из-за занятого входа Probe, то попробуй мой макрос - должно работать.
кстати, в последних прошивках для PLCM сделан нормальный поиск G31 - едет до срабатывания датчика и останавливается. А в старых прошивках для G31, похоже, был взят алгоритм выхода в Home - доезжал до датчика, останавливался, и съезжал с датчика примерно на 20% скорости.
Ответить

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