Страница 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?
после смены инструмента?
Нет.Но мне надо чтоб двигатель вообще не останавливался. Но я я уже решил эту проблему. Но спасибо за ответ. )