Добрый день!
ПРОШУ помощи, т.к в программировании пока не особо силен!
Суть проблемы:
заканчиваю постройку гвоздезабивного станка для производства тары. (кому интересно - в личку tehincom@mail.ru - пообщаемся)
Рабочий инструмент - пневматический гвоздезабивной пистолет. Пистолет стреляет, когда собачка бойка прижимается к материалу. Если вовремя не поднять пистолет - стрельнет еще раз. (это на станке с ЧПУ совсем не хорошо)
Прикрутил к собачке датчик и завел его на INPUT1
Создал макрос, например М331. Он будет вызываться из основного кода и выполнять задачу "БЫСТРО опустить пистолет до срабатывания датчика-(ВЫСТРЕЛ)- и БЫСТРО поднять"
(Сразу скажу - пробовал стандартный механизм поиска поверхности(коррекции длины инструмента) с использованием G31 - НЕ ПОДХОДИТ. Использую контроллер PLCM - а у него своя обработка G31 и он дико тормозит после сработки датчика пока с него не "сползет")
Итак, желаемый алгоритм работы такой внутри макроса:
Вне зависимости от состояния датчика начать движение вниз до срабатывания датчика.
Как только датчик сработал - читать координату Z и сразу же отъехать вверх от этой координаты на заданное расстояние.
Cкорость опускания/подъема должна устанавливаться внутри скрипта.
Вроде все просто, но я еще не научился грамотно программировать.
Прошу помощи.
СПАСИБО!
Возникла необходимость написания скрипта для МАСH3 по типу "поиск поверхности".
Быстрый алгоритм поиска поверхности в Масh3- НЕLP!
-
AlexTskan
- Опытный
- Сообщения: 184
- Зарегистрирован: 08 янв 2014, 05:19
- Репутация: 46
- Контактная информация:
Re: Быстрый алгоритм поиска поверхности в Масh3- НЕLP!
механизм brain mach'а в помощь. сигнал с датчика на вход таймера, таймер управляет переменной - а макрос в программе следит за переменной и выполняет движение.
а нельзя ли выстрелом управлять внешне, а не пользовать механизм автоматики? я думаю это надёжнее...
а нельзя ли выстрелом управлять внешне, а не пользовать механизм автоматики? я думаю это надёжнее...
Чудес не бывает. Бывает недопонимание субъектом процессов, часто осложнённое отсутствием самокритики и верой в непогрешимость своей системы знаний. Плохо когда ЧСВ ещё раздуто до степени судьи...
-
andre_bel
- Новичок
- Сообщения: 9
- Зарегистрирован: 28 сен 2014, 19:27
- Репутация: 0
- Настоящее имя: Гаврилов Андрей Владимирович
- Контактная информация:
Re: Быстрый алгоритм поиска поверхности в Масh3- НЕLP!
Спасибо за ответ!
Тут момент такой.
Можно прикрутить к пистолету на спусковой крючок электромагнит и завязать на кокой-нибудь М3, НО!
пистолет стрельнет, только тогда, когда боек будет прижат к заготовке.
Поэтому и есть задача "Опустить, найти поверхность по срабатыванию датчика, (он сам при прижатии стрельнет) и подняться".
По жизни заготовки могут быть не совсем одинаковой толщины. Поэтому программировать координату Z не представляется возможным. Надо опускаться до заготовки и искать координату касания.
А по механизму брайна - я к сожалению не силен.
(Начитавшись, знаю что еще есть macropump...
А может быть использовать в макросе циклы Do loop и отслеживать состояние IsActive( INPUT1) ? )
Не могли бы Вы набросать более подробно что и как нужно запрограммировать в брайне?.
СПАСИБО!
Тут момент такой.
Можно прикрутить к пистолету на спусковой крючок электромагнит и завязать на кокой-нибудь М3, НО!
пистолет стрельнет, только тогда, когда боек будет прижат к заготовке.
Поэтому и есть задача "Опустить, найти поверхность по срабатыванию датчика, (он сам при прижатии стрельнет) и подняться".
По жизни заготовки могут быть не совсем одинаковой толщины. Поэтому программировать координату Z не представляется возможным. Надо опускаться до заготовки и искать координату касания.
А по механизму брайна - я к сожалению не силен.
(Начитавшись, знаю что еще есть macropump...
А может быть использовать в макросе циклы Do loop и отслеживать состояние IsActive( INPUT1) ? )
Не могли бы Вы набросать более подробно что и как нужно запрограммировать в брайне?.
СПАСИБО!
- Andrey_tlt
- Новичок
- Сообщения: 32
- Зарегистрирован: 08 янв 2013, 11:17
- Репутация: 15
- Настоящее имя: Андрей
- Откуда: Тольятти
- Контактная информация:
Re: Быстрый алгоритм поиска поверхности в Масh3- НЕLP!
Недавно подобную задачу решал, можно вот такой макрос написать:
скорость движения в сторону детали будет равна скорости ручного перемещения - как от кнопок
Задать скорость внутри макроса для команды JogOn явно не получится, только в % от максимальной скорости.
Корректно прервать команды G0 или G1 при срабатывании датчика тоже не получается....
Спрашивал на разных форумах - других вариантов условного движения никто не знает.
в руководстве по программированию скриптов тоже ничего подходящего не нашел...
Если найдется другое решение - напишите - интересно.
Код: Выделить всё
'переменные для команды 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!
У меня на плазме в макросе м3 прописан поиск металла,завтра буду на работе скину сюда.
Идем все к лучшему!
- artem44ik
- Мастер
- Сообщения: 359
- Зарегистрирован: 27 ноя 2012, 14:29
- Репутация: 16
- Настоящее имя: Скляров Артем Григорьевич
- Откуда: Краснодар
- Контактная информация:
Re: Быстрый алгоритм поиска поверхности в Масh3- НЕLP!
Code "G00 Z 0"
Code "G31 Z -100"
While ismoving()
Wend
Code "G92 Z 0"
Code "G00 Z 8"
While ismoving()
Wend
DoSpinCW()
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!
Вот так в макросе м03 прописан поиск металла
Идем все к лучшему!
- Andrey_tlt
- Новичок
- Сообщения: 32
- Зарегистрирован: 08 янв 2013, 11:17
- Репутация: 15
- Настоящее имя: Андрей
- Откуда: Тольятти
- Контактная информация:
Re: Быстрый алгоритм поиска поверхности в Масh3- НЕLP!
Это обычный поиск через Probe и G31,
а в первом посте написано, что G31 использовать не желательно, а почему?
Если из-за скорости, то нужно написать G31 F500 Z-100 - задать скорость перемещения при поиске датчика.
Если из-за занятого входа Probe, то попробуй мой макрос - должно работать.
кстати, в последних прошивках для PLCM сделан нормальный поиск G31 - едет до срабатывания датчика и останавливается. А в старых прошивках для G31, похоже, был взят алгоритм выхода в Home - доезжал до датчика, останавливался, и съезжал с датчика примерно на 20% скорости.
а в первом посте написано, что G31 использовать не желательно, а почему?
Если из-за скорости, то нужно написать G31 F500 Z-100 - задать скорость перемещения при поиске датчика.
Если из-за занятого входа Probe, то попробуй мой макрос - должно работать.
кстати, в последних прошивках для PLCM сделан нормальный поиск G31 - едет до срабатывания датчика и останавливается. А в старых прошивках для G31, похоже, был взят алгоритм выхода в Home - доезжал до датчика, останавливался, и съезжал с датчика примерно на 20% скорости.