Список скриптов/макросов для Mach

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.

Re: Список скриптов/макросов для Mach

Сообщение aftaev » 12 июн 2018, 16:32

Evghenii писал(а):При скорости перемещения 1000 мм/мин (которая относительно низкая) после срабатывания Probe резак опускается ещё на 6мм

У нас нормуль работает. Мож как обычно крякнутный Mach3 ?

Evghenii писал(а):на простой макрос, который бы опускал ось Z до момента срабатывания сигнала, к примеру, OUTPUT#1

Что значит простой? Ели писать то через каждые 0,1мм опрашивать вход в цикле, останавливать при срабатывании и выходить из цикла. Неизвестно какой приоритет и скорость работы у Mach3 с входом Probe и простого Input.

Evghenii писал(а):Замена команды G31 на такой макрос сократила бы время на поиск металла, а при выполнении работы с большим количеством проколов это очень сильно сократит время всей работы.

Сократить время поиска можно использовав триангулярный лазерный датчик или какой нибудь LVDT который касанием или без(в случае с лазером) будет сразу в Mach3 передавать расстояние до металла. Примерно так сделано машинное зрение в сварочных роботах.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 29735
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 5207
Медальки:

Re: Список скриптов/макросов для Mach

Сообщение Evghenii » 12 июн 2018, 17:51

aftaev писал(а):У нас нормуль работает. Мож как обычно крякнутный Mach3 ?


У меня Mach крякнутый, но в демо режиме ситуация такая же.
Хочу уточнить, у Вас при поиске металла (G31) ось Z останавливается также быстро как и при свободных переездах?
Evghenii
Новичок
 
Сообщения: 6
Зарегистрирован: 12 июн 2018, 15:50
Репутация: 0
Настоящее имя: Евгений

Re: Список скриптов/макросов для Mach

Сообщение aftaev » 12 июн 2018, 18:00

Evghenii писал(а):Хочу уточнить, у Вас при поиске металла (G31) ось Z останавливается также быстро как и при свободных переездах?

Не замерял есть разница или нет. G31 работает, поиск работает. Но часто глючит сам датчик поиска и плазматрон клюет. Если лист грязный тоже будет плохо работать.
Судя по роликам Ютуба люди с G31 и фрезерным тыкают фрезой в медную пластинку и фрезы у них почему то не ломаются.
У вас скорее всего стоит большое время разгона и торможения оси Z. Вот Mach3 при срабатывании G31 еще и едет 6мм
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 29735
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 5207
Медальки:

Re: Список скриптов/макросов для Mach

Сообщение Evghenii » 12 июн 2018, 18:27

aftaev писал(а): Что значит простой? Ели писать то через каждые 0,1мм опрашивать вход в цикле, останавливать при срабатывании и выходить из цикла. Неизвестно какой приоритет и скорость работы у Mach3 с входом Probe и простого Input.


Возвращаясь к макросу.
Из того что я узнал о VB для Mach, используя функцию, например: sleep (100), можно задержать выполнения программы на 0,1 сек. и тем самым задать частоту опроса input для того чтобы не перегружать процессор ПК.
Но написать правильно цикл для опускания оси Z до срабатывания входящего сигнала у меня не получается.
Вы могли бы с этим помочь?
Evghenii
Новичок
 
Сообщения: 6
Зарегистрирован: 12 июн 2018, 15:50
Репутация: 0
Настоящее имя: Евгений

Re: Список скриптов/макросов для Mach

Сообщение aftaev » 12 июн 2018, 18:37

Evghenii писал(а):Вы могли бы с этим помочь?

Здесь нужно Взять Mach3 подключить к нему датчик, сидеть, писать, отлаживать, писать.
У меня на это нет времени.

Evghenii писал(а):Из того что я узнал о VB для Mach, используя функцию, например: sleep (100), можно задержать выполнения программы на 0,1 сек.

sleep используется чтобы выдержать паузу, чтобы станок успел выполнить предыдущие команды, а не крутиться в цикле симулируя паузу.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 29735
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 5207
Медальки:

Re: Список скриптов/макросов для Mach

Сообщение Zampoteh » 18 ноя 2018, 14:48

Коллеги, нужен совет.
Встраиваю в систему резцедержатель с автосменой, у него нужный инструмент вызывается импульсом на соотв. пин, для чего написаны 4 макроса. Например, макрос m12
Activate( OUTPUT2 )
Sleep 500
DeActivate( OUTPUT2 )

Мач посылает сигнал на выход2, резцедержка поворачивается на резец номер 2.
Управляет резцедержкой атмега, которая иногда ловит глюки, уже приходилось пулей лететь до грибка ЕСтопа. В связи с этим ставлю механический концевик, который сообщает о выполнении задачи по смене инструмента.
Подскажите, как его прописать в макросе, чтобы приостановить выполнение УП до поступления сигнала о завершении смены инструмента? Пока что приходит мысль объединить этот сигнал с кнопкой "старт", созданной через brain control, а в УП прописывать
M12
M00
и далее

Но мне кажется что логичнее прописать в макросе опрос входа, на который завести сигнал.
Zampoteh
Опытный
 
Сообщения: 172
Зарегистрирован: 18 сен 2016, 18:20
Репутация: 46
Настоящее имя: Александр

Re: Список скриптов/макросов для Mach

Сообщение aftaev » 18 ноя 2018, 17:05

У тебя револьверка на 4ре инструмента. Логичнее после смены инструмента, сравнить номер инструмента с заданным в Mach3. Для этого револьверка должна уметь выдавать номер инструмента.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 29735
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 5207
Медальки:

Re: Список скриптов/макросов для Mach

Сообщение Zampoteh » 18 ноя 2018, 17:34

Для этого надо поставить 4 датчика, найдя под них место, потом завести их в мач, поставив еще один физический порт, потом написать макрос => громоздко и сложно.
Логика такая: если блок не начнет подниматься, то концевик не автивируется, если не сработал холл под нужным номером, соответствующим номеру запроса, то блок не начнет затягиваться, если блок не затянулся, то не сработает концевик. Вывод: если концевик активировался и потом сработал, то система отработала корректно. О чем и идет подтверждающий сигнал. Один.
Zampoteh
Опытный
 
Сообщения: 172
Зарегистрирован: 18 сен 2016, 18:20
Репутация: 46
Настоящее имя: Александр

Re: Список скриптов/макросов для Mach

Сообщение aftaev » 18 ноя 2018, 19:51

Zampoteh писал(а):поставив еще один физический порт, потом написать макрос => громоздко и сложно.

Для передачи 4ре инструмента, нужно 2 проводка не считая общего, для передачи бинарным кодом.

Zampoteh писал(а):если не сработал холл под нужным номером,

Так вот этот холл который отвечает за номер инструмента и использовать. Те более если стоит ардуина, которая может считать этот холл и выдать в Mach3 код в виде двиичного кода или вообще по МодБас через USB
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 29735
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 5207
Медальки:

Re: Список скриптов/макросов для Mach

Сообщение Zampoteh » 18 ноя 2018, 20:03

Сработавший холл еще не означает что резцедержка затянулась. Под нее при повороте элементарно может попасть стружка. Так что без концевика не обойтись.
Вопрос: как прописать в макросе что после сработки концевика надо продолжить выполнение УП? А то я в VB не силен.
Zampoteh
Опытный
 
Сообщения: 172
Зарегистрирован: 18 сен 2016, 18:20
Репутация: 46
Настоящее имя: Александр

Re: Список скриптов/макросов для Mach

Сообщение aftaev » 18 ноя 2018, 20:16

У меня на токарном с Lcnc работает так:
Включаешь станок, едишь в НОМЕ, Lcnc пишет: без инструмента. В MDI или с панели задаю нужный номер, барабан крутиться, устанавливается заданный инструмент. Так ЧПУ узнает номер инструмента после включения.
Алгоритм работы револьверки: крутиться мотор в револьверке по часовой, перебираются номера инструментов. Как только с револьверки поступает сигнал нужного номера инструмента, ЧПУ понимает что найден нужный инструмент. Револьверка начинает вращаться против часовой чтобы зажать барабан. Зажимает до тех пор пока не сработает датчик что револьверка зажата + еще подается около 5сек напруга на мотор, чтобы точно зажать барабан.
Если по каким либо причинам инструмент не будет найден за 15сек(несколько оборотов барабана) = авария
Если по каким либо причинам барабан не будет зажат за 10сек = авария

Как Mach3 будет после включения станка знать точно какой номер инструмента сейчас установлен?

Zampoteh писал(а):Вопрос: как прописать в макросе что после сработки концевика надо продолжить выполнение УП? А то я в VB не силен.

Надо написать цикл который крутиться пока не сработал концевик. Цикл должен крутиться какое то время, а не бесконечно. Как только он сработал выход из процедуры.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 29735
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 5207
Медальки:

Re: Список скриптов/макросов для Mach

Сообщение Zampoteh » 18 ноя 2018, 20:29

aftaev писал(а):Зажимает до тех пор пока не сработает датчик что револьверка зажата + еще подается около 5сек напруга на мотор, чтобы точно зажать барабан.

Нее, у меня при сработке нужного холла просто вращается назад, напряжение подается 8 секунд.
aftaev писал(а):Как Mach3 будет после включения станка знать точно какой номер инструмента сейчас установлен

Ручками. У меня не стандартный алгоритм смены через М06, у меня первый инструмент это G54, второй это G55, итд. Это потребовалось для оптимизации движений при использовании линейного банка, ну так и перекочевало на поворотную резцедержку.
aftaev писал(а):Надо написать цикл который крутиться пока не сработал концевик. Цикл должен крутиться какое то время, а не бесконечно. Как только он сработал выход из процедуры.

Мне надо написать в макрос вызова резцедержки чтобы продолжение выполнения УП происходило по сигналу с концевика. И всё. Или, как вариант, написать макрос аналогичный М00, но чтобы он реагировал не на кнопку "пуск", а на отдельный вход.
Zampoteh
Опытный
 
Сообщения: 172
Зарегистрирован: 18 сен 2016, 18:20
Репутация: 46
Настоящее имя: Александр

Re: Список скриптов/макросов для Mach

Сообщение aftaev » 19 ноя 2018, 09:07

Zampoteh писал(а):Мне надо написать в макрос вызова резцедержки чтобы продолжение выполнения УП происходило по сигналу с концевика.


Будет вечно ждать в цикле, пока не поступит сигнал. Будет выглядеть что mach3 повис, а он ждет сигнал ;)
Варинт1 отличается от Вариант2 инверсией сигнала.

Вариант1
ActivateSignal( OUTPUT2 ) ' включил затяжку резцедержки
While IsActive(INPUT1) ' Ждем сигнала
Sleep10
Wend


Вариант2
ActivateSignal( OUTPUT2 ) ' включил затяжку резцедержки
While Not IsActive(INPUT1) ' Ждем сигнала
Sleep10
Wend
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 29735
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 5207
Медальки:

Re: Список скриптов/макросов для Mach

Сообщение Zampoteh » 19 ноя 2018, 13:34

О ништяк, сейчас попробую прикрутить такой код. С утра таки повесил концевик на физическую CycleStart через brain, пол-дня уже работает, более ста смен выполнило, всё нормал. Но для работы с резцедержкой при отладке надо выгружать УП, чтобы ее не запускало, что немного неудобно.
Zampoteh
Опытный
 
Сообщения: 172
Зарегистрирован: 18 сен 2016, 18:20
Репутация: 46
Настоящее имя: Александр

Re: Список скриптов/макросов для Mach

Сообщение stanislavpetrashko » 04 янв 2019, 18:32

народ, как сделать если поворотная ось стоит в положительных координатах перед обнулением она ехала бы в отрицательные,скажем -10 и только потом обнулялась эта ось.
Аватара пользователя
stanislavpetrashko
Новичок
 
Сообщения: 15
Зарегистрирован: 17 дек 2012, 11:54
Откуда: Выборг
Репутация: 1
Настоящее имя: Станислав

Re: Список скриптов/макросов для Mach

Сообщение Евжений » 04 янв 2019, 18:56

If GetOEMDRO(802) >0 Then
Code"G0Z-10G91"
While IsMoving
Wend
End If
DoButton(24)

Для оси Z. Нужно допилить.

PS Отредактировал.
Евжений
Мастер
 
Сообщения: 596
Зарегистрирован: 05 апр 2016, 20:18
Откуда: Там, сям.
Репутация: 44
Настоящее имя: Жэзэрэл

Re: Список скриптов/макросов для Mach

Сообщение stanislavpetrashko » 05 янв 2019, 22:21

Евжений писал(а):If GetOEMDRO(802) >0 Then
Code"G0Z-10G91"
While IsMoving
Wend
End If
DoButton(24)

попробовал Ваш макрос. Хорош,но если Z (в данном примере) стоит 40, то она откатывается назад на 10 и всё,т.е. в итоге получается 30, а нужно что бы в минусовую координату уходило.
Может кто знает как запилить: если положение оси в плюсе то вычесть столько же и плюсанють скажем 10, что бы в минусовую координату вышла.
пока сделал такие костыли( поворотная ось отображается не в градусах, поэтому такие числа):
Код: Выделить всёРазвернуть
value=GetOEMDRO(804)
If value > 900 Then
   Code"G0B-1400G91"
   ElseIf value > 800 Then
   Code"G0B-1300G91"
   ElseIf value > 700 Then
   Code"G0B-1200G91"
   ElseIf value > 600 Then
   Code"G0B-1100G91"
   ElseIf value > 500 Then
   Code"G0B-1000G91"
   ElseIf value > 400 Then
   Code"G0B-900G91"
   ElseIf value > 300 Then
   Code"G0B-800G91"
   ElseIf value > 200 Then
   Code"G0B-700G91"
   ElseIf value > 100 Then
   Code"G0B-600G91"
   ElseIf value > 0 Then
   Code"G0B-500G91"
   Else
End If
Аватара пользователя
stanislavpetrashko
Новичок
 
Сообщения: 15
Зарегистрирован: 17 дек 2012, 11:54
Откуда: Выборг
Репутация: 1
Настоящее имя: Станислав

Re: Список скриптов/макросов для Mach

Сообщение Kachik » 06 янв 2019, 10:33

stanislavpetrashko писал(а):попробовал Ваш макрос. Хорош,но если Z (в данном примере) стоит 40, то она откатывается назад на 10 и всё,т.е. в итоге получается 30, а нужно что бы в минусовую координату уходило.

Уберите G91 или замените на G90 - и уедет в абсолютные -10.
Аватара пользователя
Kachik
Мастер
 
Сообщения: 233
Зарегистрирован: 13 янв 2017, 16:22
Откуда: Питер
Репутация: 41
Настоящее имя: Сергей

Re: Список скриптов/макросов для Mach

Сообщение Евжений » 06 янв 2019, 10:52

Если не секрет, зачем такой алготирм?
Нажимаем ref Z и ось едет к датчику. Вперёд или назад - пофиг. Срабатывает, обнуляется. Зачем эта движуха вперёд, назад?
Единственная проблема, это если датчик при команде ref Z уже активен. Тогда надо повернуть ось и опять ref Z.
Евжений
Мастер
 
Сообщения: 596
Зарегистрирован: 05 апр 2016, 20:18
Откуда: Там, сям.
Репутация: 44
Настоящее имя: Жэзэрэл

Re: Список скриптов/макросов для Mach

Сообщение stanislavpetrashko » 06 янв 2019, 11:26

Евжений писал(а):Если не секрет, зачем такой алготирм?
Нажимаем ref Z и ось едет к датчику. Вперёд или назад - пофиг. Срабатывает, обнуляется. Зачем эта движуха вперёд, назад?
Единственная проблема, это если датчик при команде ref Z уже активен. Тогда надо повернуть ось и опять ref Z.

не секрет. речь идет про 4ую поворотную ось, на ней датчик стоит посередине, а мач может обнулять только в одном направлении. у меня стоит от минусовых координат двигаться к нулю,т.е. к центру. если ось оставить в положительных координатах,то ось сделает сальто прежде чем дойдет до датчика. Может конечно я мудрю и есть что-то готовое а я не в курсе,подскажите пожалуйста( но только не это...зачем тебе датчики и пр.)
Kachik писал(а):Уберите G91 или замените на G90 - и уедет в абсолютные -10.

я попробовал так поменять и сегодня и неделю назад, когда читал про эти коды, чёт не работает.Если ось в положительных коорд то она едет в минусовые и не останавливается, если в отрицательных, то условие вообще не работает и ось просто едет в отрицательные координаты
Аватара пользователя
stanislavpetrashko
Новичок
 
Сообщения: 15
Зарегистрирован: 17 дек 2012, 11:54
Откуда: Выборг
Репутация: 1
Настоящее имя: Станислав

Пред.След.

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

Кто сейчас на конференции

Зарегистрированные пользователи: 71taa, aldemm, Alex lamaka, Bing [Bot], Google [Bot], ignv, lkbyysq, Majestic-12 [Bot], nik0954, Nik4722, Ramunga, sas_75, slavik1982us, Yandex [bot]

Reputation System ©'