Список скриптов/макросов для Mach
-
shpak76
- Новичок
- Сообщения: 2
- Зарегистрирован: 11 май 2019, 20:57
- Репутация: 0
- Настоящее имя: Александр Шпаков
- Контактная информация:
Re: Список скриптов/макросов для Mach
Здравствуйте. Подскажите кто нибудь, какую команду в макросе ввести, чтобы после выполнения поиска центра по датчику в DRO ввелись определенные координаты по X и по Y. Пробовал Code "G92 X-координаты Y-координаты" Меняются только координаты X. Что я неправильно делаю? Нужно ли вставлять какую нибудь промежуточную команду? Спасибо.
-
Евжений
- Мастер
- Сообщения: 1168
- Зарегистрирован: 05 апр 2016, 20:18
- Репутация: 136
- Настоящее имя: Жэзэрэл
- Откуда: Там, сям.
- Контактная информация:
Re: Список скриптов/макросов для Mach
Текст покажите.
ВК https://vk.com/id353124059
О Боже, дай мне .... пендель!
О Боже, дай мне .... пендель!
-
shpak76
- Новичок
- Сообщения: 2
- Зарегистрирован: 11 май 2019, 20:57
- Репутация: 0
- Настоящее имя: Александр Шпаков
- Контактная информация:
Re: Список скриптов/макросов для Mach
Rem VBScript To center probe inside a pipeshpak76 писал(а):Здравствуйте. Подскажите кто нибудь, какую команду в макросе ввести, чтобы после выполнения поиска центра по датчику в DRO ввелись определенные координаты по X и по Y. Пробовал Code "G92 X-координаты Y-координаты" Меняются только координаты X. Что я неправильно делаю? Нужно ли вставлять какую нибудь промежуточную команду? Спасибо.
If GetOemLed (825) <> 0 Then 'Check to see if the probe is already grounded or faulty
Code "(Probe plate is grounded, check connection and try again)"
Else
FeedCurrent = GetOemDRO(818) 'Get the current settings
XCurrent = GetDro(0)
YCurrent = GetDro(1)
Code "G4 P1" 'Pause 1 second to give time to position probe plate
Code "F150" 'slow feed rate to 150 mm/min
Rem Probe Left
XNew = Xcurrent - 25 'probe 25 mm to left
Code "G31 X" &XNew
While IsMoving() 'wait for the move to finish
Wend
XPos1 = GetVar(2000) 'get the probe touch location
Code "G0 X" &XCurrent 'rapid move back to start point
Rem Probe Right
XNew = XCurrent + 25 'probe 25 mm to right
Code "G31 X" &XNew
While IsMoving()
Wend
XPos2 = GetVar(2000)
XCenter = (XPos1 + XPos2) / 2 'center is midway between XPos1 and XPos2
Code "G0 X" &XCenter 'rapid move to the x center location
Rem Probe up
YNew = YCurrent + 25
Code "G31 Y" &YNew
While IsMoving()
Wend
YPos1 = GetVar(2001)
Code "G0 Y" &YCurrent
Rem Probe down
YNew = YCurrent - 25
Code "G31 Y" &YNew
While IsMoving()
Wend
YPos2 = GetVar(2001)
YCenter = (YPos1 + YPos2) / 2
Rem move To the center
Code "G0 Y" &YCenter
While IsMoving ()
Wend
Code "G92X-103.56"
Code"G92Y40.23" (Эти два кода я дописал)
Code "F" &FeedCurrent 'restore starting feed rate
End If
-
kalyuchiy
- Новичок
- Сообщения: 17
- Зарегистрирован: 04 май 2018, 10:36
- Репутация: 0
- Настоящее имя: Андрей
- Откуда: Луганск
- Контактная информация:
Re: Список скриптов/макросов для Mach
Всем доброго времени суток. Помогите разобраться как реализовать несложный (я надеюсь) скрипт. Суть вопроса: есть контурный станок, рисует смолой на стекле, вместо шпинделя крутит шестеренчатый насос. Модифицировал команды М3 и М5 под свои задачи.
М3 обозвал М103, выглядит вот так:
Code "G0 z-39" // опускаем пипетку на заданную высоту
While isMoving() // ждем
wend
DoSpinCW() // включаем насос
sleep(500) // ждем пока прокачается смола, подбирается экспериментально
М5 обозвал М105, выглядит вот так:
DoSpinCCW() // включаем реверс насоса (М4)
sleep(500) // ждем пока капля затянется в пипетку, подбирается экспериментально
DoSpinStop() // выключаем насос (М5)
Code "G0 z0" // поднимаем пипетку, отрываем если есть капля
While isMoving() //ждем поднятия пипетки
wend
Все это работает, но из-за того, что насос обладает инерционностью в конце получается расплывающееся пятно смолы, пробовал увеличивать обороты при реверсе в 4 раза от оборотов при подаче смолы, не помогает, все равно получается пятно.
Можно ли реализовать скрипт, чтоб следил за рисуемым вектором (траекторией) и на определенном расстоянии от конца вектора (расстояние задается оператором в мм) включал мою команды М105. Чтоб я смог скомпенсировать инерционность насоса за счет реверса не в конце линии (вектора), а заранее. Реально ли такое сделать? Я так понял, что это можно сделать с помощью команды getDRO, но я не могу с ней разобраться т.к. не силен в программировании. Помогите пожалуйста, очень надо.
М3 обозвал М103, выглядит вот так:
Code "G0 z-39" // опускаем пипетку на заданную высоту
While isMoving() // ждем
wend
DoSpinCW() // включаем насос
sleep(500) // ждем пока прокачается смола, подбирается экспериментально
М5 обозвал М105, выглядит вот так:
DoSpinCCW() // включаем реверс насоса (М4)
sleep(500) // ждем пока капля затянется в пипетку, подбирается экспериментально
DoSpinStop() // выключаем насос (М5)
Code "G0 z0" // поднимаем пипетку, отрываем если есть капля
While isMoving() //ждем поднятия пипетки
wend
Все это работает, но из-за того, что насос обладает инерционностью в конце получается расплывающееся пятно смолы, пробовал увеличивать обороты при реверсе в 4 раза от оборотов при подаче смолы, не помогает, все равно получается пятно.
Можно ли реализовать скрипт, чтоб следил за рисуемым вектором (траекторией) и на определенном расстоянии от конца вектора (расстояние задается оператором в мм) включал мою команды М105. Чтоб я смог скомпенсировать инерционность насоса за счет реверса не в конце линии (вектора), а заранее. Реально ли такое сделать? Я так понял, что это можно сделать с помощью команды getDRO, но я не могу с ней разобраться т.к. не силен в программировании. Помогите пожалуйста, очень надо.
- FLUKE
- Мастер
- Сообщения: 843
- Зарегистрирован: 11 мар 2013, 21:18
- Репутация: 187
- Настоящее имя: Сергей
- Откуда: Смоленск
- Контактная информация:
Re: Список скриптов/макросов для Mach
А, если выключать насос чуть раньше? За 2-3 мм до конца контура?
-
kalyuchiy
- Новичок
- Сообщения: 17
- Зарегистрирован: 04 май 2018, 10:36
- Репутация: 0
- Настоящее имя: Андрей
- Откуда: Луганск
- Контактная информация:
Re: Список скриптов/макросов для Mach
Что то подобное мне как раз и нужно, я не знаю как это реализовать. Просто выключить недостаточно, надо еще отмотать назад.
- FLUKE
- Мастер
- Сообщения: 843
- Зарегистрирован: 11 мар 2013, 21:18
- Репутация: 187
- Настоящее имя: Сергей
- Откуда: Смоленск
- Контактная информация:
Re: Список скриптов/макросов для Mach
Если выключать заранее, то излишка как раз должно хватить дотянуть до конца линии, а там уже включать реверс.
У меня подобного станка нет, я просто предполагаю.
В чём ж-код готовишь? Шиткам подобное сможет.
У меня подобного станка нет, я просто предполагаю.
В чём ж-код готовишь? Шиткам подобное сможет.
- Q-starь
- Мастер
- Сообщения: 918
- Зарегистрирован: 04 апр 2011, 16:50
- Репутация: 604
- Настоящее имя: Гэн
- Откуда: Казахстан
- Контактная информация:
Re: Список скриптов/макросов для Mach
kalyuchiy, Подождите до среды, вернусь с моря - расскажу как реализовано у меня, сейчас напряжно в телефоне тыкать. На стеклянном форуме тоже вашу проблему читал, но с телефона не могу там авторизоватся.
-
kalyuchiy
- Новичок
- Сообщения: 17
- Зарегистрирован: 04 май 2018, 10:36
- Репутация: 0
- Настоящее имя: Андрей
- Откуда: Луганск
- Контактная информация:
Re: Список скриптов/макросов для Mach
Буду благодарен за помощь.Q-starь писал(а): Подождите до среды, вернусь с моря - расскажу как реализовано у меня
G-код делаю в арткаме, с Шиткамом не знаком, вчера загрузил, потыкал, все время упираюсь инструментом в стол. Не понятно. Надо разбираться. Очень интересует редактирование векторов, последовательность обработки.FLUKE писал(а):В чём ж-код готовишь? Шиткам подобное сможет.
- Q-starь
- Мастер
- Сообщения: 918
- Зарегистрирован: 04 апр 2011, 16:50
- Репутация: 604
- Настоящее имя: Гэн
- Откуда: Казахстан
- Контактная информация:
Re: Список скриптов/макросов для Mach
kalyuchiy, Вот держите:
x=GetOEMDRO(802) - ось Z
If X<=-0.5 Then - Z будет опускаться до -1 включаем реле раньше
ActivateSignal(OUTPUT1) - включаем реле
Else
DeActivateSignal(OUTPUT1) - выключаем реле
End If
Скрипт сохранить в файл с названием "macropump.m1s" в папку "C:\Mach3\macros\Mach3Mill" , в папку с вашим рабочим профилем.
Правда сам я его не проверял, у меня всё решено намного проще на базе ГРаБЛей, а МАСН3 для витражника я считаю излишней городьбой, зачем такую монстру на простую рисовалку мне не ведомо
x=GetOEMDRO(802) - ось Z
If X<=-0.5 Then - Z будет опускаться до -1 включаем реле раньше
ActivateSignal(OUTPUT1) - включаем реле
Else
DeActivateSignal(OUTPUT1) - выключаем реле
End If
Скрипт сохранить в файл с названием "macropump.m1s" в папку "C:\Mach3\macros\Mach3Mill" , в папку с вашим рабочим профилем.
Правда сам я его не проверял, у меня всё решено намного проще на базе ГРаБЛей, а МАСН3 для витражника я считаю излишней городьбой, зачем такую монстру на простую рисовалку мне не ведомо
-
kalyuchiy
- Новичок
- Сообщения: 17
- Зарегистрирован: 04 май 2018, 10:36
- Репутация: 0
- Настоящее имя: Андрей
- Откуда: Луганск
- Контактная информация:
Re: Список скриптов/макросов для Mach
Спасибо за скрипт, а можно, если не трудно, с комментариями? Макрос "macropump.m1s" теперь вызывать вместо М103 и М105? Аргумент 802 обозначает ось Z, мне же нужно следить за координатой X или я что-то не так понимаю? Расскажите суть работы данного алгоритма, чтоб я смог его подправить под свои нужды.Q-starь писал(а):kalyuchiy, Вот держите:
x=GetOEMDRO(802) - ось Z
If X<=-0.5 Then - Z будет опускаться до -1 включаем реле раньше
ActivateSignal(OUTPUT1) - включаем реле
Else
DeActivateSignal(OUTPUT1) - выключаем реле
End If
UPD. В старом станке нашел такой файл конфигурации, там по идее должен быть реализован алгоритм похожий на то, что мне нужно, было сделано так, что оператор мог задать расстояние от конца вектора, где выключался насос, а реверс происходил в конце вектора. Мне же нужно включать реверс на заданном от конца вектора расстоянии.
- Вложения
-
- kadram config.txt
- конфигурационный файл старого станка
- (37.37 КБ) 849 скачиваний
-
kalyuchiy
- Новичок
- Сообщения: 17
- Зарегистрирован: 04 май 2018, 10:36
- Репутация: 0
- Настоящее имя: Андрей
- Откуда: Луганск
- Контактная информация:
Re: Список скриптов/макросов для Mach
Как я себе представляю алгоритм выполнения скрипта. 1. Считываем значение X и Y координаты с текущего кадра УП. 2. Присваиваем эти значение переменным Xtemp и Ytemp. 3. Отслеживаем координаты X и Y из окна текущих координат (типа x=GetOEMDRO(800) и y=GetOEMDRO(801)) и сравниваем их с Xtemp и Ytemp. 4. Как только выполняется условие Xtemp - x <= 10 (в мм, задается оператором) или Ytemp - y <=10 (в мм, задается оператором) выполняем мою команду М105. Где этот макрос должен располагаться в УП или в Mach3?
- Q-starь
- Мастер
- Сообщения: 918
- Зарегистрирован: 04 апр 2011, 16:50
- Репутация: 604
- Настоящее имя: Гэн
- Откуда: Казахстан
- Контактная информация:
Re: Список скриптов/макросов для Mach
Про МАСН3 можете меня не спрашивать, я им не пользуюсь, от слова "совсем". У меня алгоритм работы станка организован на G0-G1 и S , без всяких М. Да и контроллер у меня совсем другой. К тому же на насосной станции ( которая смолу давит ) у меня 2 ШД с раздельным управлением, у вас же один ШД на два насоса.kalyuchiy писал(а):Спасибо за скрипт, а можно, если не трудно, с комментариями? Макрос "macropump.m1s" теперь вызывать вместо М103 и М105? Аргумент 802 обозначает ось Z, мне же нужно следить за координатой X или я что-то не так понимаю? Расскажите суть работы данного алгоритма, чтоб я смог его подправить под свои нужды.
-
kalyuchiy
- Новичок
- Сообщения: 17
- Зарегистрирован: 04 май 2018, 10:36
- Репутация: 0
- Настоящее имя: Андрей
- Откуда: Луганск
- Контактная информация:
Re: Список скриптов/макросов для Mach
Все равно спасибо за помощь. Пока что работаю на очень низких скоростях насоса (10 об/мин) и подаче (400 мм/мин). Долго, медленно, зато качество получается вполне неплохое. Не получится реализовать, буду работать так. Заказов сейчас мало, спешить некуда. Хоть это все и не правильно(((.Q-starь писал(а):Про МАСН3 можете меня не спрашивать, я им не пользуюсь, от слова "совсем". У меня алгоритм работы станка организован на G0-G1 и S , без всяких М. Да и контроллер у меня совсем другой. К тому же на насосной станции ( которая смолу давит ) у меня 2 ШД с раздельным управлением, у вас же один ШД на два насоса.
- Q-starь
- Мастер
- Сообщения: 918
- Зарегистрирован: 04 апр 2011, 16:50
- Репутация: 604
- Настоящее имя: Гэн
- Откуда: Казахстан
- Контактная информация:
Re: Список скриптов/макросов для Mach
Это 6,6 мм/сек? Ну да, медленно, я пободрее рисую, хотя соотношение скорость/вращение насосов примерно такое же, реверс включаю за 5 мм до конца линии.kalyuchiy писал(а): Пока что работаю на очень низких скоростях насоса (10 об/мин) и подаче (400 мм/мин)
Что бы в конце кляксы не было попробуй сделать задержку подъёма иглы в конце линии и увеличить время реверса на это же время. Это если настройки твоего станка позволяют
-
kalyuchiy
- Новичок
- Сообщения: 17
- Зарегистрирован: 04 май 2018, 10:36
- Репутация: 0
- Настоящее имя: Андрей
- Откуда: Луганск
- Контактная информация:
Re: Список скриптов/макросов для Mach
Инерционность насосов такая, что пока кручу реверс капля первое время продолжает растекаться. Если долго крутить реверс, затем придется увеличивать задержку в начале линии на прокачку контура, и так по замкнутому кругу.Q-starь писал(а):Что бы в конце кляксы не было попробуй сделать задержку подъёма иглы в конце линии и увеличить время реверса на это же время. Это если настройки твоего станка позволяют
- Q-starь
- Мастер
- Сообщения: 918
- Зарегистрирован: 04 апр 2011, 16:50
- Репутация: 604
- Настоящее имя: Гэн
- Откуда: Казахстан
- Контактная информация:
Re: Список скриптов/макросов для Mach
Это понятно...kalyuchiy писал(а): Инерционность насосов такая, что пока кручу реверс капля первое время продолжает растекаться. Если долго крутить реверс, затем придется увеличивать задержку в начале линии на прокачку контура, и так по замкнутому кругу.
Сначала надо настроить конец линии ( у меня скорость реверса в 8 раз больше рабочей, и ничо
-
kalyuchiy
- Новичок
- Сообщения: 17
- Зарегистрирован: 04 май 2018, 10:36
- Репутация: 0
- Настоящее имя: Андрей
- Откуда: Луганск
- Контактная информация:
Re: Список скриптов/макросов для Mach
Могу регулировать скорость оборотов насоса и на старте и на реверсе, могу регулировать задержки и в начале линии и в конце. Может быть действительно попробовать увеличить скорость реверса еще? У меня сейчас соотношение подача/реверс 1 к 4. Вам немного проще, вы можете реверсить не в конце вектора, а я пока не могу.
- Q-starь
- Мастер
- Сообщения: 918
- Зарегистрирован: 04 апр 2011, 16:50
- Репутация: 604
- Настоящее имя: Гэн
- Откуда: Казахстан
- Контактная информация:
Re: Список скриптов/макросов для Mach
Я со своими настройками могу настроить реверс и в конце линии - капли не будет.kalyuchiy писал(а): Вам немного проще, вы можете реверсить не в конце вектора, а я пока не могу.
-
kalyuchiy
- Новичок
- Сообщения: 17
- Зарегистрирован: 04 май 2018, 10:36
- Репутация: 0
- Настоящее имя: Андрей
- Откуда: Луганск
- Контактная информация:
Re: Список скриптов/макросов для Mach
Предлагаю перейти в ветку витражных станков, чтоб не засирать ветку макросов своими обсуждениями.Q-starь писал(а):Я со своими настройками могу настроить реверс и в конце линии - капли не будет.
