Страница 3 из 3
Re: Автоматическая смена инструмента АТС в Mach3
Добавлено: 25 ноя 2022, 19:24
Mamont
Какой версии мач?
Попробовать можно укоротить очередь команд планировщика.
Если прокидывает скрипты и м6 с м3, то для внешнего контроля факт выключения шпинделя может и не наступить . Можно закрепить концевик на высоте автосмены . Перед скриптом м6 вводить команду подьема на высоту автосмены. Сигнал от концевика даст внешней защите сигнал о начале контроля за сменой.
Еще мысль : может ли мач выполнять паралельно несколько потоков скриптов. Или только один. Пока не закончился какой то скрипт, запуск других игнорируется
Re: Автоматическая смена инструмента АТС в Mach3
Добавлено: 25 ноя 2022, 19:44
ridirt
Сегодня на самом деле закончил допиливание скрипта автосмены, добившись от него максимальной надежности, стабильноости, безопасности и правильности работы. Но только получается что какой в этом всем смысл, но все же. В качестве обьяснения работы думаю лучше наверное видео снять, где подробно будет разжевано по каждой строке).
ну а сам скрипт вот:
Код: Выделить всё
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
Re: Автоматическая смена инструмента АТС в Mach3
Добавлено: 25 ноя 2022, 19:52
ridirt
Mamont писал(а): ↑
Какой версии мач?
Version R2.63
Mamont писал(а): ↑
может ли мач выполнять паралельно несколько потоков скриптов. Или только один.
только один.
суть в том что мач3 ставит все м коды в очередь, то есть не игнорирует их а выполняет после того как отработает основной г-код, этот как бы выглядит как в мультике, замесить и нарубить, замесить тесто, потом замесить дрова, а потом взять топор.
Re: Автоматическая смена инструмента АТС в Mach3
Добавлено: 25 ноя 2022, 21:30
Mamont
Ну для начала сделать ловушку тригер, входит в макрос - подсветила светодиод ( OEMLED) вышла - погасила.
Так будет понятно, вошла в скрипт и вывалилось по какой либо ошибке... или не входила вовсе.
А странности ... из мануала на мач3.43 (на 2.63 я не нашел) пишут что:
1. GetDro нерекомендуется применять в новых разработках, он служит для совмести со старыми.
2. GetOEMDRO (1300) - нет такой переменной в списке. и вообще оемдро для диапазона (0-999), а юзердро для 1000-2254
3. немного высосано из пальца:
G0 ...
While ISMoving...
ситуация - в очередь команд дали указание на движу и сразу же проверяем движится или нет. ось еще не успела начать движение, флаг еще погашен, While сразу же прокидывается. переходим дальше по тексту ломая логику программы
Re: Автоматическая смена инструмента АТС в Mach3
Добавлено: 26 ноя 2022, 01:59
ridirt
Может тогда поставить последнюю версию мач3 ?
Mamont писал(а): ↑
1. GetDro нерекомендуется применять в новых разработках, он служит для совмести со старыми.
Со старыми версиями мача? Тогде вопрос 2.63 это старая версия или нет, и 3.43 это самая последняя версия?
Mamont писал(а): ↑
G0 ...
While ISMoving...
Ну вроде все скрипты так написаны, есть мануал по написанию скриптов для мача.
Просто ладно бы скрипт просто не работал я бы тупо пытался понять где ошибка , исправлял систаксис или логику, но мач3 рандомно пропускает скрипт тогда когда ему заблагорассудится, по настроению. Я думаю что проблему наверняка решить можно , надо дальше копать. ловушку триггер выставил. Но обячно мач 3 прогоняет скрипты во время загрузки и все нерабочие скрипты отключает если ему не нравится.
Кстати.... мысль, а что если эту функцию отключить?
Вообще в мач3 много глюков так то, может это как раз один из тех что пофиксили, мач иногда загружает программу криво, но после нажатия кнопки реген тулпаф все пересчитывается нормально. Не знаю есть ли смыл но можно сделать так , что после загрузки чтобы мач телал автоматически сразу второй раз пересчет траекторий.
Re: Автоматическая смена инструмента АТС в Mach3
Добавлено: 26 ноя 2022, 14:35
ridirt
Проблема похожа действительно в матч3.
Установка виндовс - 7 ничего не дала. Но зато что-то поменяла установка нового матч - 3. Новый матч 3 перестал пропускать скрипты. Ну, у него появилась новая проблема. Он плохо загружает жикод. Загружает через раз, а бывает, вообще не загружает. Почему-то больше всего его смущает строка, где прописана компенсация длины инструмента. Народ, кто-нибудь работает вообще с матч - 3, у кого-нибудь она стабильно работает?
Re: Автоматическая смена инструмента АТС в Mach3
Добавлено: 26 ноя 2022, 15:10
Mamont
Что значить плохо грузит жикот? Нажал загрузить и ничего или только часть кода (например первые 500 строк)
Re: Автоматическая смена инструмента АТС в Mach3
Добавлено: 26 ноя 2022, 15:33
Mamont
А вообще в g3 параметр r не документированный. Канонично через i j k.
То что мач допускает этот параметр и что делает, остается на совести мача
Re: Автоматическая смена инструмента АТС в Mach3
Добавлено: 26 ноя 2022, 18:46
ridirt
Mamont писал(а): ↑26 ноя 2022, 15:10
Что значить плохо грузит жикот? Нажал загрузить и ничего или только часть кода (например первые 500 строк)
Плохо значит тоже через раз, бывает прогружает весь код, а бывает зависает на строке компенсации и начинаются жесткие лаги. Речь никогда не идет о точ что либо работает либо не работает, а всегда о том что работает через раз. Когда нет определенности непонятно в чем причина.
Re: Автоматическая смена инструмента АТС в Mach3
Добавлено: 26 ноя 2022, 22:34
Kachik
Андрей, только сейчас увидел, что ты из Питера... А какой контроллер Матч?
У меня есть свободный 4ёх осевой китайский МК4 ETHERNET, могу дать попробовать. Вдруг заработает...
Re: Автоматическая смена инструмента АТС в Mach3
Добавлено: 27 ноя 2022, 00:11
ridirt
Kachik писал(а): ↑
что ты из Питера.
С питера да. Все вроде как разрешилось, точнее я понял куда копать. Разные компы, разные системы и разные версии мач3 дают разный эффект и просто нужно крутить рулетку пока не заработает. Сегодня получилось добиться стабильной работы он нового железа, но как известно на новых материнках уже нет лпт и поэтому старт с двумя лпт контроллерами пока немного затруднен, ибо при включении сразу с лпт приходит сигнал е-стоп. Можно подергать за пины вручную перед тем как включать мач3, но это гемор, можно нажимать кнопку игнорирования сигнала чтобы хотя бы нажать ресет и перехватить управление лпт, но хочется просто включить и чтобы работало. Сейчас буду пробовать ставить винду 7 на тот комп где все заработало и буду смотреть, заработает буду тестить.
Re: Автоматическая смена инструмента АТС в Mach3
Добавлено: 27 ноя 2022, 13:50
Mamont
ridirt писал(а): ↑
ибо при включении сразу с лпт приходит сигнал е-стоп. Можно подергать за пины вручную перед тем как включать мач3, но это гемор, можно нажимать кнопку игнорирования сигнала чтобы хотя бы нажать ресет и перехватить управление лпт
Как то сумбурно описано.... Выход с одного лпт заведен на вход другого?
Re: Автоматическая смена инструмента АТС в Mach3
Добавлено: 27 ноя 2022, 17:57
Kachik
ridirt писал(а): ↑
Все вроде как разрешилось, точнее я понял куда копать.
Ну если надумаешь - пиши. У меня контроллер всё равно лежит, да и было бы интересно, как отработал бы контроллер не через ЛПТ... Просто МК-4 работает через плагин и перехватывает команды у Матча изнутри. Под него не надо менять конфиг, он настройки осей и многого другого в Матче просто игнорирует, они заданы в железе. И алгоритмы работы концевиков отличаются...
Re: Автоматическая смена инструмента АТС в Mach3
Добавлено: 27 ноя 2022, 21:14
ridirt
Все, получилось исправить абсолютно все косяки, установка вин 7 исправила проблему запуска, других косяков пока обнаружено не было, скрипты не пропускает, коды грузит, управление с клавиатыры не пропадает, ничего не зависает.
Kachik писал(а): ↑
Ну если надумаешь - пиши.
Хорошо, но сейчас уже хочется забыть о плясках с бубном хотя бы на несколько месяцев , чтобы поработать уже.
Re: Автоматическая смена инструмента АТС в Mach3
Добавлено: 28 ноя 2022, 16:52
ridirt
Кто-нибудь пользовался лубрикаторами китайскими, почему он масло не льёт? Может соляркой его разбавить? Открутил на всю катушку и хоть бы 1 капелька упала, температуру в помещении держу не ниже 10°
Пожалуй это последнее что надо доработать в проекте.
Re: Автоматическая смена инструмента АТС в Mach3
Добавлено: 04 мар 2023, 16:30
Alex-Star7210
Что можно сделать чтоб не отключался шпиндель при смене инструмента?
Как только встречается команда М06 сразу останавливается шпиндель, происходит смена инструмента и дальше станок работает с выключенным шпинделем.
Re: Автоматическая смена инструмента АТС в Mach3
Добавлено: 04 мар 2023, 17:14
vitzin
А в программе стоит дальше s 20000 M3?
после смены инструмента?
Re: Автоматическая смена инструмента АТС в Mach3
Добавлено: 04 мар 2023, 22:04
Alex-Star7210
vitzin писал(а): ↑04 мар 2023, 17:14
А в программе стоит дальше s 20000 M3?
после смены инструмента?
Нет.Но мне надо чтоб двигатель вообще не останавливался. Но я я уже решил эту проблему. Но спасибо за ответ. )