Автоматическая смена инструмента АТС в Mach3

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
Аватара пользователя
Mamont
Мастер
Сообщения: 1953
Зарегистрирован: 10 дек 2015, 12:21
Репутация: 382
Настоящее имя: Виталий
Откуда: РБ Минск
Контактная информация:

Re: Автоматическая смена инструмента АТС в Mach3

Сообщение Mamont »

Какой версии мач?
Попробовать можно укоротить очередь команд планировщика.
Если прокидывает скрипты и м6 с м3, то для внешнего контроля факт выключения шпинделя может и не наступить . Можно закрепить концевик на высоте автосмены . Перед скриптом м6 вводить команду подьема на высоту автосмены. Сигнал от концевика даст внешней защите сигнал о начале контроля за сменой.

Еще мысль : может ли мач выполнять паралельно несколько потоков скриптов. Или только один. Пока не закончился какой то скрипт, запуск других игнорируется
Аватара пользователя
ridirt
Мастер
Сообщения: 660
Зарегистрирован: 24 июл 2013, 23:52
Репутация: 273
Настоящее имя: Живописцев Андрей Викторович
Откуда: Спб
Контактная информация:

Re: Автоматическая смена инструмента АТС в Mach3

Сообщение 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
                   
Аватара пользователя
ridirt
Мастер
Сообщения: 660
Зарегистрирован: 24 июл 2013, 23:52
Репутация: 273
Настоящее имя: Живописцев Андрей Викторович
Откуда: Спб
Контактная информация:

Re: Автоматическая смена инструмента АТС в Mach3

Сообщение ridirt »

Mamont писал(а): Какой версии мач?
Version R2.63
Mamont писал(а): может ли мач выполнять паралельно несколько потоков скриптов. Или только один.
только один.
суть в том что мач3 ставит все м коды в очередь, то есть не игнорирует их а выполняет после того как отработает основной г-код, этот как бы выглядит как в мультике, замесить и нарубить, замесить тесто, потом замесить дрова, а потом взять топор.
Аватара пользователя
Mamont
Мастер
Сообщения: 1953
Зарегистрирован: 10 дек 2015, 12:21
Репутация: 382
Настоящее имя: Виталий
Откуда: РБ Минск
Контактная информация:

Re: Автоматическая смена инструмента АТС в Mach3

Сообщение Mamont »

Ну для начала сделать ловушку тригер, входит в макрос - подсветила светодиод ( OEMLED) вышла - погасила.
Так будет понятно, вошла в скрипт и вывалилось по какой либо ошибке... или не входила вовсе.

А странности ... из мануала на мач3.43 (на 2.63 я не нашел) пишут что:
1. GetDro нерекомендуется применять в новых разработках, он служит для совмести со старыми.
2. GetOEMDRO (1300) - нет такой переменной в списке. и вообще оемдро для диапазона (0-999), а юзердро для 1000-2254
3. немного высосано из пальца:
G0 ...
While ISMoving...
ситуация - в очередь команд дали указание на движу и сразу же проверяем движится или нет. ось еще не успела начать движение, флаг еще погашен, While сразу же прокидывается. переходим дальше по тексту ломая логику программы
Аватара пользователя
ridirt
Мастер
Сообщения: 660
Зарегистрирован: 24 июл 2013, 23:52
Репутация: 273
Настоящее имя: Живописцев Андрей Викторович
Откуда: Спб
Контактная информация:

Re: Автоматическая смена инструмента АТС в Mach3

Сообщение ridirt »

Может тогда поставить последнюю версию мач3 ?
Mamont писал(а): 1. GetDro нерекомендуется применять в новых разработках, он служит для совмести со старыми.
Со старыми версиями мача? Тогде вопрос 2.63 это старая версия или нет, и 3.43 это самая последняя версия?
Mamont писал(а): G0 ...
While ISMoving...
Ну вроде все скрипты так написаны, есть мануал по написанию скриптов для мача.
Просто ладно бы скрипт просто не работал я бы тупо пытался понять где ошибка , исправлял систаксис или логику, но мач3 рандомно пропускает скрипт тогда когда ему заблагорассудится, по настроению. Я думаю что проблему наверняка решить можно , надо дальше копать. ловушку триггер выставил. Но обячно мач 3 прогоняет скрипты во время загрузки и все нерабочие скрипты отключает если ему не нравится.
Кстати.... мысль, а что если эту функцию отключить?

Вообще в мач3 много глюков так то, может это как раз один из тех что пофиксили, мач иногда загружает программу криво, но после нажатия кнопки реген тулпаф все пересчитывается нормально. Не знаю есть ли смыл но можно сделать так , что после загрузки чтобы мач телал автоматически сразу второй раз пересчет траекторий.
Аватара пользователя
ridirt
Мастер
Сообщения: 660
Зарегистрирован: 24 июл 2013, 23:52
Репутация: 273
Настоящее имя: Живописцев Андрей Викторович
Откуда: Спб
Контактная информация:

Re: Автоматическая смена инструмента АТС в Mach3

Сообщение ridirt »

Проблема похожа действительно в матч3.
Установка виндовс - 7 ничего не дала. Но зато что-то поменяла установка нового матч - 3. Новый матч 3 перестал пропускать скрипты. Ну, у него появилась новая проблема. Он плохо загружает жикод. Загружает через раз, а бывает, вообще не загружает. Почему-то больше всего его смущает строка, где прописана компенсация длины инструмента. Народ, кто-нибудь работает вообще с матч - 3, у кого-нибудь она стабильно работает?
Вложения
IMG_20221126_142900.jpg (1941 просмотр) <a class='original' href='./download/file.php?id=205674&sid=a92642118a915a1b5ceac10bcec840ce&mode=view' target=_blank>Загрузить оригинал (1.97 МБ)</a>
Аватара пользователя
Mamont
Мастер
Сообщения: 1953
Зарегистрирован: 10 дек 2015, 12:21
Репутация: 382
Настоящее имя: Виталий
Откуда: РБ Минск
Контактная информация:

Re: Автоматическая смена инструмента АТС в Mach3

Сообщение Mamont »

Что значить плохо грузит жикот? Нажал загрузить и ничего или только часть кода (например первые 500 строк)
Аватара пользователя
Mamont
Мастер
Сообщения: 1953
Зарегистрирован: 10 дек 2015, 12:21
Репутация: 382
Настоящее имя: Виталий
Откуда: РБ Минск
Контактная информация:

Re: Автоматическая смена инструмента АТС в Mach3

Сообщение Mamont »

А вообще в g3 параметр r не документированный. Канонично через i j k.
То что мач допускает этот параметр и что делает, остается на совести мача
Аватара пользователя
ridirt
Мастер
Сообщения: 660
Зарегистрирован: 24 июл 2013, 23:52
Репутация: 273
Настоящее имя: Живописцев Андрей Викторович
Откуда: Спб
Контактная информация:

Re: Автоматическая смена инструмента АТС в Mach3

Сообщение ridirt »

Mamont писал(а): 26 ноя 2022, 15:10 Что значить плохо грузит жикот? Нажал загрузить и ничего или только часть кода (например первые 500 строк)
Плохо значит тоже через раз, бывает прогружает весь код, а бывает зависает на строке компенсации и начинаются жесткие лаги. Речь никогда не идет о точ что либо работает либо не работает, а всегда о том что работает через раз. Когда нет определенности непонятно в чем причина.
Аватара пользователя
Kachik
Мастер
Сообщения: 1408
Зарегистрирован: 13 янв 2017, 16:22
Репутация: 308
Настоящее имя: Сергей
Откуда: Питер
Контактная информация:

Re: Автоматическая смена инструмента АТС в Mach3

Сообщение Kachik »

Андрей, только сейчас увидел, что ты из Питера... А какой контроллер Матч?
У меня есть свободный 4ёх осевой китайский МК4 ETHERNET, могу дать попробовать. Вдруг заработает...
Аватара пользователя
ridirt
Мастер
Сообщения: 660
Зарегистрирован: 24 июл 2013, 23:52
Репутация: 273
Настоящее имя: Живописцев Андрей Викторович
Откуда: Спб
Контактная информация:

Re: Автоматическая смена инструмента АТС в Mach3

Сообщение ridirt »

Kachik писал(а): что ты из Питера.
С питера да. Все вроде как разрешилось, точнее я понял куда копать. Разные компы, разные системы и разные версии мач3 дают разный эффект и просто нужно крутить рулетку пока не заработает. Сегодня получилось добиться стабильной работы он нового железа, но как известно на новых материнках уже нет лпт и поэтому старт с двумя лпт контроллерами пока немного затруднен, ибо при включении сразу с лпт приходит сигнал е-стоп. Можно подергать за пины вручную перед тем как включать мач3, но это гемор, можно нажимать кнопку игнорирования сигнала чтобы хотя бы нажать ресет и перехватить управление лпт, но хочется просто включить и чтобы работало. Сейчас буду пробовать ставить винду 7 на тот комп где все заработало и буду смотреть, заработает буду тестить.
Аватара пользователя
Mamont
Мастер
Сообщения: 1953
Зарегистрирован: 10 дек 2015, 12:21
Репутация: 382
Настоящее имя: Виталий
Откуда: РБ Минск
Контактная информация:

Re: Автоматическая смена инструмента АТС в Mach3

Сообщение Mamont »

ridirt писал(а): ибо при включении сразу с лпт приходит сигнал е-стоп. Можно подергать за пины вручную перед тем как включать мач3, но это гемор, можно нажимать кнопку игнорирования сигнала чтобы хотя бы нажать ресет и перехватить управление лпт
Как то сумбурно описано.... Выход с одного лпт заведен на вход другого?
Аватара пользователя
Kachik
Мастер
Сообщения: 1408
Зарегистрирован: 13 янв 2017, 16:22
Репутация: 308
Настоящее имя: Сергей
Откуда: Питер
Контактная информация:

Re: Автоматическая смена инструмента АТС в Mach3

Сообщение Kachik »

ridirt писал(а): Все вроде как разрешилось, точнее я понял куда копать.
Ну если надумаешь - пиши. У меня контроллер всё равно лежит, да и было бы интересно, как отработал бы контроллер не через ЛПТ... Просто МК-4 работает через плагин и перехватывает команды у Матча изнутри. Под него не надо менять конфиг, он настройки осей и многого другого в Матче просто игнорирует, они заданы в железе. И алгоритмы работы концевиков отличаются...
Аватара пользователя
ridirt
Мастер
Сообщения: 660
Зарегистрирован: 24 июл 2013, 23:52
Репутация: 273
Настоящее имя: Живописцев Андрей Викторович
Откуда: Спб
Контактная информация:

Re: Автоматическая смена инструмента АТС в Mach3

Сообщение ridirt »

Все, получилось исправить абсолютно все косяки, установка вин 7 исправила проблему запуска, других косяков пока обнаружено не было, скрипты не пропускает, коды грузит, управление с клавиатыры не пропадает, ничего не зависает.
Kachik писал(а): Ну если надумаешь - пиши.
Хорошо, но сейчас уже хочется забыть о плясках с бубном хотя бы на несколько месяцев , чтобы поработать уже.
Аватара пользователя
ridirt
Мастер
Сообщения: 660
Зарегистрирован: 24 июл 2013, 23:52
Репутация: 273
Настоящее имя: Живописцев Андрей Викторович
Откуда: Спб
Контактная информация:

Re: Автоматическая смена инструмента АТС в Mach3

Сообщение ridirt »

Кто-нибудь пользовался лубрикаторами китайскими, почему он масло не льёт? Может соляркой его разбавить? Открутил на всю катушку и хоть бы 1 капелька упала, температуру в помещении держу не ниже 10°
Пожалуй это последнее что надо доработать в проекте.
Alex-Star7210
Кандидат
Сообщения: 53
Зарегистрирован: 04 апр 2017, 21:23
Репутация: 0
Настоящее имя: Александр
Контактная информация:

Re: Автоматическая смена инструмента АТС в Mach3

Сообщение Alex-Star7210 »

Что можно сделать чтоб не отключался шпиндель при смене инструмента?
Как только встречается команда М06 сразу останавливается шпиндель, происходит смена инструмента и дальше станок работает с выключенным шпинделем.
Аватара пользователя
vitzin
Мастер
Сообщения: 410
Зарегистрирован: 27 фев 2020, 14:16
Репутация: 55
Настоящее имя: viktor vizin
Контактная информация:

Re: Автоматическая смена инструмента АТС в Mach3

Сообщение vitzin »

А в программе стоит дальше s 20000 M3?
после смены инструмента?
Alex-Star7210
Кандидат
Сообщения: 53
Зарегистрирован: 04 апр 2017, 21:23
Репутация: 0
Настоящее имя: Александр
Контактная информация:

Re: Автоматическая смена инструмента АТС в Mach3

Сообщение Alex-Star7210 »

vitzin писал(а): 04 мар 2023, 17:14 А в программе стоит дальше s 20000 M3?
после смены инструмента?
Нет.Но мне надо чтоб двигатель вообще не останавливался. Но я я уже решил эту проблему. Но спасибо за ответ. )
Ответить

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