Автоматическая смена инструмента АТС в Mach3
- Mamont
- Мастер
- Сообщения: 1982
- Зарегистрирован: 10 дек 2015, 12:21
- Репутация: 384
- Настоящее имя: Виталий
- Откуда: РБ Минск
- Контактная информация:
Re: Автоматическая смена инструмента АТС в Mach3
Какой версии мач?
Попробовать можно укоротить очередь команд планировщика.
Если прокидывает скрипты и м6 с м3, то для внешнего контроля факт выключения шпинделя может и не наступить . Можно закрепить концевик на высоте автосмены . Перед скриптом м6 вводить команду подьема на высоту автосмены. Сигнал от концевика даст внешней защите сигнал о начале контроля за сменой.
Еще мысль : может ли мач выполнять паралельно несколько потоков скриптов. Или только один. Пока не закончился какой то скрипт, запуск других игнорируется
Попробовать можно укоротить очередь команд планировщика.
Если прокидывает скрипты и м6 с м3, то для внешнего контроля факт выключения шпинделя может и не наступить . Можно закрепить концевик на высоте автосмены . Перед скриптом м6 вводить команду подьема на высоту автосмены. Сигнал от концевика даст внешней защите сигнал о начале контроля за сменой.
Еще мысль : может ли мач выполнять паралельно несколько потоков скриптов. Или только один. Пока не закончился какой то скрипт, запуск других игнорируется
- ridirt
- Мастер
- Сообщения: 684
- Зарегистрирован: 24 июл 2013, 23:52
- Репутация: 275
- Настоящее имя: Живописцев Андрей Викторович
- Откуда: Спб
- Контактная информация:
Re: Автоматическая смена инструмента АТС в Mach3
Сегодня на самом деле закончил допиливание скрипта автосмены, добившись от него максимальной надежности, стабильноости, безопасности и правильности работы. Но только получается что какой в этом всем смысл, но все же. В качестве обьяснения работы думаю лучше наверное видео снять, где подробно будет разжевано по каждой строке).
ну а сам скрипт вот:
ну а сам скрипт вот:
Код: Выделить всё
Sub Main()
ZATS1= -183.3
XATS1= 144
XATS2= 347.2
XATS3= 292
ZATS2= -181.7
ZATS7= -182.7
ZATS3= -112
ZATS4= -50
ZATS5= -184
OldTool = GetDro(24)
Tool = GetSelectedTool()
If Tool = OldTool Then
Exit Sub
End If
NewTool = 0
tb1 = GetOEMDRO(1303)
If Tool = tb1 Then NewTool = 1
tb2 = GetOEMDRO(1304)
If Tool = tb2 Then NewTool = 2
tb3 = GetOEMDRO(1305)
If Tool = tb3 Then NewTool = 3
tb4 = GetOEMDRO(1306)
If Tool = tb4 Then NewTool = 4
tb5 = GetOEMDRO(1307)
If Tool = tb5 Then NewTool = 5
tb6 = GetOEMDRO(1308)
If Tool = tb6 Then NewTool = 6
tb7 = GetOEMDRO(1309)
If Tool = tb7 Then NewTool = 7
tb8 = GetOEMDRO(1310)
If Tool = tb8 Then NewTool = 8
tb9 = GetOEMDRO(1311)
If Tool = tb9 Then NewTool = 9
tb10 = GetOEMDRO(1312)
If Tool = tb10 Then NewTool = 10
tb11 = GetOEMDRO(1313)
If Tool = tb11 Then NewTool = 11
tb12 = GetOEMDRO(1314)
If Tool = tb12 Then NewTool = 12
tb13 = GetOEMDRO(1315)
If Tool = tb13 Then NewTool = 13
tb14 = GetOEMDRO(1316)
If Tool = tb14 Then NewTool = 14
tb15 = GetOEMDRO(1317)
If Tool = tb15 Then NewTool = 15
tb16 = GetOEMDRO(1318)
If Tool = tb16 Then NewTool = 16
While NewTool =0
MsgBox ("ATC ERROR: no tool")
DoButton(3)
Exit Sub
Wend
SetUserDRO (1200,NewTool)
ZCurrent = GetDro(2)
Sleep 300
Code "G0 G53 X" & XATS1
While IsMoving()
Wend
Sleep 300
ActivateSignal(OUTPUT11)
Sleep 4000
If GetOemLed (822) = 0 Then
MsgBox ("ATC ERROR: dor no open")
DoButton(3)
Exit Sub
Else
ZATS0 = GetOEMDRO(85)
If ZATS1 < ZATS0 Then
ZATS777 = ZATS0+5
Code "G0 G53 Z" & ZATS777
While IsMoving()
Wend
Else
Code "G0 G53 Z" & ZATS1
While IsMoving()
Wend
End If
Code "G0 G53 X" & XATS3
While IsMoving()
Wend
Sleep 50
Code "G0 G53 Z" & ZATS1
While IsMoving()
Wend
Sleep 50
Code "G1 G53 F1500 X" & XATS2
While IsMoving()
Wend
Sleep 300
ActivateSignal(OUTPUT10)
Sleep 150
If GetOemLed (821) = 0 Then
MsgBox ("ATC ERROR: tool grip is not open")
DoButton(3)
Exit Sub
Else
Code "G0 G53 Z" & ZATS7
While IsMoving()
Wend
Sleep 500
Code "G0 G53 Z" & ZATS2
While IsMoving()
Wend
Code "G0 G53 Z" & ZATS3
While IsMoving()
Wend
Code "G0 B" & NewTool
While IsMoving()
Wend
Code "G0 G53 Z" & ZATS5
While IsMoving()
Wend
Sleep 300
DeActivateSignal(OUTPUT10)
Sleep 50
If GetOemLed (821) = 1 Then
MsgBox ("ATC ERROR: tool is not captured ")
DoButton(3)
Exit Sub
Else
Code "G0 G53 X" & XATS3
While IsMoving()
Wend
Sleep 50
SetCurrentTool( Tool )
Sleep 100
Code "G43 H " & Tool
Sleep 300
ZCurrent2 = GetDro(2)
If ZCurrent < ZCurrent2 Then
ZCurrent = ZCurrent2+2
Else
Code "G0 Z" & ZCurrent
While IsMoving()
Wend
Sleep 50
Code "G0 G53 X" & XATS1
While IsMoving()
Wend
Sleep 50
DeActivateSignal(OUTPUT11)
Sleep 4000
If GetOemLed (823) = 0 Then
MsgBox ("ATC ERROR: door not closed")
DoButton(3)
Exit Sub
Else
SetCurrentTool( Tool )
Sleep 100
Code "G43 H " & Tool
Code "G0 Z" & ZCurrent
While IsMoving()
Wend
End If
End If
End If
End If
End If
End Sub
- ridirt
- Мастер
- Сообщения: 684
- Зарегистрирован: 24 июл 2013, 23:52
- Репутация: 275
- Настоящее имя: Живописцев Андрей Викторович
- Откуда: Спб
- Контактная информация:
Re: Автоматическая смена инструмента АТС в Mach3
Version R2.63
только один.
суть в том что мач3 ставит все м коды в очередь, то есть не игнорирует их а выполняет после того как отработает основной г-код, этот как бы выглядит как в мультике, замесить и нарубить, замесить тесто, потом замесить дрова, а потом взять топор.
- Mamont
- Мастер
- Сообщения: 1982
- Зарегистрирован: 10 дек 2015, 12:21
- Репутация: 384
- Настоящее имя: Виталий
- Откуда: РБ Минск
- Контактная информация:
Re: Автоматическая смена инструмента АТС в Mach3
Ну для начала сделать ловушку тригер, входит в макрос - подсветила светодиод ( OEMLED) вышла - погасила.
Так будет понятно, вошла в скрипт и вывалилось по какой либо ошибке... или не входила вовсе.
А странности ... из мануала на мач3.43 (на 2.63 я не нашел) пишут что:
1. GetDro нерекомендуется применять в новых разработках, он служит для совмести со старыми.
2. GetOEMDRO (1300) - нет такой переменной в списке. и вообще оемдро для диапазона (0-999), а юзердро для 1000-2254
3. немного высосано из пальца:
G0 ...
While ISMoving...
ситуация - в очередь команд дали указание на движу и сразу же проверяем движится или нет. ось еще не успела начать движение, флаг еще погашен, While сразу же прокидывается. переходим дальше по тексту ломая логику программы
Так будет понятно, вошла в скрипт и вывалилось по какой либо ошибке... или не входила вовсе.
А странности ... из мануала на мач3.43 (на 2.63 я не нашел) пишут что:
1. GetDro нерекомендуется применять в новых разработках, он служит для совмести со старыми.
2. GetOEMDRO (1300) - нет такой переменной в списке. и вообще оемдро для диапазона (0-999), а юзердро для 1000-2254
3. немного высосано из пальца:
G0 ...
While ISMoving...
ситуация - в очередь команд дали указание на движу и сразу же проверяем движится или нет. ось еще не успела начать движение, флаг еще погашен, While сразу же прокидывается. переходим дальше по тексту ломая логику программы
- ridirt
- Мастер
- Сообщения: 684
- Зарегистрирован: 24 июл 2013, 23:52
- Репутация: 275
- Настоящее имя: Живописцев Андрей Викторович
- Откуда: Спб
- Контактная информация:
Re: Автоматическая смена инструмента АТС в Mach3
Может тогда поставить последнюю версию мач3 ?
Просто ладно бы скрипт просто не работал я бы тупо пытался понять где ошибка , исправлял систаксис или логику, но мач3 рандомно пропускает скрипт тогда когда ему заблагорассудится, по настроению. Я думаю что проблему наверняка решить можно , надо дальше копать. ловушку триггер выставил. Но обячно мач 3 прогоняет скрипты во время загрузки и все нерабочие скрипты отключает если ему не нравится.
Кстати.... мысль, а что если эту функцию отключить?
Вообще в мач3 много глюков так то, может это как раз один из тех что пофиксили, мач иногда загружает программу криво, но после нажатия кнопки реген тулпаф все пересчитывается нормально. Не знаю есть ли смыл но можно сделать так , что после загрузки чтобы мач телал автоматически сразу второй раз пересчет траекторий.
Со старыми версиями мача? Тогде вопрос 2.63 это старая версия или нет, и 3.43 это самая последняя версия?
Ну вроде все скрипты так написаны, есть мануал по написанию скриптов для мача.
Просто ладно бы скрипт просто не работал я бы тупо пытался понять где ошибка , исправлял систаксис или логику, но мач3 рандомно пропускает скрипт тогда когда ему заблагорассудится, по настроению. Я думаю что проблему наверняка решить можно , надо дальше копать. ловушку триггер выставил. Но обячно мач 3 прогоняет скрипты во время загрузки и все нерабочие скрипты отключает если ему не нравится.
Кстати.... мысль, а что если эту функцию отключить?
Вообще в мач3 много глюков так то, может это как раз один из тех что пофиксили, мач иногда загружает программу криво, но после нажатия кнопки реген тулпаф все пересчитывается нормально. Не знаю есть ли смыл но можно сделать так , что после загрузки чтобы мач телал автоматически сразу второй раз пересчет траекторий.
- ridirt
- Мастер
- Сообщения: 684
- Зарегистрирован: 24 июл 2013, 23:52
- Репутация: 275
- Настоящее имя: Живописцев Андрей Викторович
- Откуда: Спб
- Контактная информация:
Re: Автоматическая смена инструмента АТС в Mach3
Проблема похожа действительно в матч3.
Установка виндовс - 7 ничего не дала. Но зато что-то поменяла установка нового матч - 3. Новый матч 3 перестал пропускать скрипты. Ну, у него появилась новая проблема. Он плохо загружает жикод. Загружает через раз, а бывает, вообще не загружает. Почему-то больше всего его смущает строка, где прописана компенсация длины инструмента. Народ, кто-нибудь работает вообще с матч - 3, у кого-нибудь она стабильно работает?
Установка виндовс - 7 ничего не дала. Но зато что-то поменяла установка нового матч - 3. Новый матч 3 перестал пропускать скрипты. Ну, у него появилась новая проблема. Он плохо загружает жикод. Загружает через раз, а бывает, вообще не загружает. Почему-то больше всего его смущает строка, где прописана компенсация длины инструмента. Народ, кто-нибудь работает вообще с матч - 3, у кого-нибудь она стабильно работает?
- Mamont
- Мастер
- Сообщения: 1982
- Зарегистрирован: 10 дек 2015, 12:21
- Репутация: 384
- Настоящее имя: Виталий
- Откуда: РБ Минск
- Контактная информация:
Re: Автоматическая смена инструмента АТС в Mach3
Что значить плохо грузит жикот? Нажал загрузить и ничего или только часть кода (например первые 500 строк)
- Mamont
- Мастер
- Сообщения: 1982
- Зарегистрирован: 10 дек 2015, 12:21
- Репутация: 384
- Настоящее имя: Виталий
- Откуда: РБ Минск
- Контактная информация:
Re: Автоматическая смена инструмента АТС в Mach3
А вообще в g3 параметр r не документированный. Канонично через i j k.
То что мач допускает этот параметр и что делает, остается на совести мача
То что мач допускает этот параметр и что делает, остается на совести мача
- ridirt
- Мастер
- Сообщения: 684
- Зарегистрирован: 24 июл 2013, 23:52
- Репутация: 275
- Настоящее имя: Живописцев Андрей Викторович
- Откуда: Спб
- Контактная информация:
Re: Автоматическая смена инструмента АТС в Mach3
Плохо значит тоже через раз, бывает прогружает весь код, а бывает зависает на строке компенсации и начинаются жесткие лаги. Речь никогда не идет о точ что либо работает либо не работает, а всегда о том что работает через раз. Когда нет определенности непонятно в чем причина.
- Kachik
- Мастер
- Сообщения: 1410
- Зарегистрирован: 13 янв 2017, 16:22
- Репутация: 308
- Настоящее имя: Сергей
- Откуда: Питер
- Контактная информация:
Re: Автоматическая смена инструмента АТС в Mach3
Андрей, только сейчас увидел, что ты из Питера... А какой контроллер Матч?
У меня есть свободный 4ёх осевой китайский МК4 ETHERNET, могу дать попробовать. Вдруг заработает...
У меня есть свободный 4ёх осевой китайский МК4 ETHERNET, могу дать попробовать. Вдруг заработает...
- ridirt
- Мастер
- Сообщения: 684
- Зарегистрирован: 24 июл 2013, 23:52
- Репутация: 275
- Настоящее имя: Живописцев Андрей Викторович
- Откуда: Спб
- Контактная информация:
Re: Автоматическая смена инструмента АТС в Mach3
С питера да. Все вроде как разрешилось, точнее я понял куда копать. Разные компы, разные системы и разные версии мач3 дают разный эффект и просто нужно крутить рулетку пока не заработает. Сегодня получилось добиться стабильной работы он нового железа, но как известно на новых материнках уже нет лпт и поэтому старт с двумя лпт контроллерами пока немного затруднен, ибо при включении сразу с лпт приходит сигнал е-стоп. Можно подергать за пины вручную перед тем как включать мач3, но это гемор, можно нажимать кнопку игнорирования сигнала чтобы хотя бы нажать ресет и перехватить управление лпт, но хочется просто включить и чтобы работало. Сейчас буду пробовать ставить винду 7 на тот комп где все заработало и буду смотреть, заработает буду тестить.
- Mamont
- Мастер
- Сообщения: 1982
- Зарегистрирован: 10 дек 2015, 12:21
- Репутация: 384
- Настоящее имя: Виталий
- Откуда: РБ Минск
- Контактная информация:
Re: Автоматическая смена инструмента АТС в Mach3
Как то сумбурно описано.... Выход с одного лпт заведен на вход другого?
- Kachik
- Мастер
- Сообщения: 1410
- Зарегистрирован: 13 янв 2017, 16:22
- Репутация: 308
- Настоящее имя: Сергей
- Откуда: Питер
- Контактная информация:
Re: Автоматическая смена инструмента АТС в Mach3
Ну если надумаешь - пиши. У меня контроллер всё равно лежит, да и было бы интересно, как отработал бы контроллер не через ЛПТ... Просто МК-4 работает через плагин и перехватывает команды у Матча изнутри. Под него не надо менять конфиг, он настройки осей и многого другого в Матче просто игнорирует, они заданы в железе. И алгоритмы работы концевиков отличаются...
- ridirt
- Мастер
- Сообщения: 684
- Зарегистрирован: 24 июл 2013, 23:52
- Репутация: 275
- Настоящее имя: Живописцев Андрей Викторович
- Откуда: Спб
- Контактная информация:
Re: Автоматическая смена инструмента АТС в Mach3
Все, получилось исправить абсолютно все косяки, установка вин 7 исправила проблему запуска, других косяков пока обнаружено не было, скрипты не пропускает, коды грузит, управление с клавиатыры не пропадает, ничего не зависает.
Хорошо, но сейчас уже хочется забыть о плясках с бубном хотя бы на несколько месяцев , чтобы поработать уже.
- ridirt
- Мастер
- Сообщения: 684
- Зарегистрирован: 24 июл 2013, 23:52
- Репутация: 275
- Настоящее имя: Живописцев Андрей Викторович
- Откуда: Спб
- Контактная информация:
Re: Автоматическая смена инструмента АТС в Mach3
Кто-нибудь пользовался лубрикаторами китайскими, почему он масло не льёт? Может соляркой его разбавить? Открутил на всю катушку и хоть бы 1 капелька упала, температуру в помещении держу не ниже 10°
Пожалуй это последнее что надо доработать в проекте.
Пожалуй это последнее что надо доработать в проекте.
-
- Кандидат
- Сообщения: 53
- Зарегистрирован: 04 апр 2017, 21:23
- Репутация: 0
- Настоящее имя: Александр
- Контактная информация:
Re: Автоматическая смена инструмента АТС в Mach3
Что можно сделать чтоб не отключался шпиндель при смене инструмента?
Как только встречается команда М06 сразу останавливается шпиндель, происходит смена инструмента и дальше станок работает с выключенным шпинделем.
Как только встречается команда М06 сразу останавливается шпиндель, происходит смена инструмента и дальше станок работает с выключенным шпинделем.
- vitzin
- Мастер
- Сообщения: 410
- Зарегистрирован: 27 фев 2020, 14:16
- Репутация: 55
- Настоящее имя: viktor vizin
- Контактная информация:
Re: Автоматическая смена инструмента АТС в Mach3
А в программе стоит дальше s 20000 M3?
после смены инструмента?
после смены инструмента?
-
- Кандидат
- Сообщения: 53
- Зарегистрирован: 04 апр 2017, 21:23
- Репутация: 0
- Настоящее имя: Александр
- Контактная информация: