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

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

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

Сообщение ridirt »

Все, наконец-то я раскидал остатки работы и начал наконец двигать этот долгострой. Дописал скрипт до конца, осталось только собрать все в кучу и отладить уже на готовой АТС. Логика по скрипту такая: раз у меня машинные координаты в цене деления будут настроены так что 1 единица будет равна 1/16 радиана, мы имеем координаты равные номеру инструмента, отпадает надобность дополнительных скриптов, поэтому скрипт я урезал и убрал почти все лишнее, и он оказался довольно коротким.

Код: Выделить всё

Sub Main()
ZATS1= -130
XATS1= 280
XATS2= 290
ZATS2= -100
ZATS3= -120
OldTool = GetDro(24)
tool = GetSelectedTool()
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)
Code "G4 P0.3" 

If NewTool = OldTool Then
Exit Sub
End If

Code "G0 G53 X" & XATS1
While IsMoving()
Wend
Code "G4 P0.1" 
Code "G0 G53 Z" & ZATS1
While IsMoving()
Wend
Code "G4 P0.1" 
ActivateSignal(OUTPUT10)
Code "G4 P5"
If GetOemLed (822) = 0 Then 
MsgBox ("ATC ERROR: dor no open")
DoButton(3)
Exit Sub
Else

Code "G1 G53 F500 X" & XATS2
While IsMoving()
Wend
Code "G4 P0.2" 
ActivateSignal(OUTPUT11)
Code "G4 P0.4"
If GetOemLed (821) = 0 Then 
MsgBox ("ATC ERROR: tool grip is not open")
DoButton(3)
Exit Sub
Else

ActivateSignal(OUTPUT13)
Code "G4 P0.3" 
Code "G1 G53 Z" & ZATS3
While IsMoving()
Wend
DeActivateSignal(OUTPUT13)
Code "G4 P0.3" 

Code "G0 G53 Z" & ZATS2
While IsMoving()
Wend
Code "G4 P0.1" 

Code "G0 G53 B" & NewTool
While IsMoving()
Wend
Code "G0 G53 Z" & ZATS3
While IsMoving()
Wend
Code "G4 P0.1" 
ActivateSignal(OUTPUT13)
Code "G4 P0.3" 
Code "G1 G53 Z" & ZATS1
While IsMoving()
Wend
DeActivateSignal(OUTPUT13)
Code "G4 P0.3" 
DeActivateSignal(OUTPUT11)
Code "G4 P0.3"
If GetOemLed (821) <> 0 Then 
MsgBox ("ATC ERROR: tool is not captured ")
DoButton(3)
Exit Sub
Else

Code "G0 G53 X" & XATS1
While IsMoving()
Wend
Code "G4 P0.3" 

DeActivateSignal(OUTPUT10)
Code "G4 P5"
If GetOemLed (823) = 0 Then 
MsgBox ("ATC ERROR: door not closed")
DoButton(3)
Exit Sub
Else
SetCurrentTool( Tool )
Code "G4 P0.1"
Code "G43 H " & Tool
Code "G1 F1500 Z" & ZCurrent
While IsMoving()
Wend
End If
End If
End If
End If
End Sub
 
В шапке задаются 5 точек передвижения для автосмены, пока они от балды, подставлю когда все сделаю.
Далее идет опрос АТС на наличие инструмента, проверка на равенство старого и нового инструмента, едем по Х к АТС, открываем дверь , опрашиваем датчик открытия двери, вставляем инструмент, отжимаем захват , проверяем датчик, дуем, двигаем чуть наверх, выключаем воздух, отьежжаем наверх, крутим барабан, едем вниз опять до промежуточной точки, дуем и задвигаем инструмент в жпиндель, отпускаем захват выключаем воздух, проверяем по датчику. Выдергиваем инструмент, закрываем дверь и чекам датчик закрытыя двери, они разные чтобы знать точно что дверь не застряла на середине. Если все четко то тогда назначаем компенсацию инструмента и отводим на безопасное расстояние , которое было выставлено камом перед сменой инструмента. Ну вот и все, потом если будут какие то проблемы, можно будет процесс еще как то усложнить, но нельзя забывать что автосмена тоже толжна быть быстрой и поэтому я первым делом удалил из постпроцессоров дебильные и ненужные переезды в G28 и кучу еще всякого хлама перед М6 , оставил только М5 и добавил отключение воздуха и масляного тумана.
А вот так уже выглядит допиленный скринсет мач3
cmgqMvX6J6xqZ7URAmaAtVmscVOBLTdHDfKLwaIWrsfy2Q6yZF1x5M6j5M3wuiO5jTqBycBck_pdLPtiE9mBkYL1.jpg (1851 просмотр) <a class='original' href='./download/file.php?id=204794&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (700.43 КБ)</a>
И я наконец то начал фрезеровать запчасти. Первая сторона барабана готова
kjT7Fud6mQEzz4S3QPU3IzBPl7gz5_uofxmA1NMpJYYqExRLwCtjNEkxfwXmuYdjOV2CxsOSQpSUvPNjlgMr3HvR.jpg (1851 просмотр) <a class='original' href='./download/file.php?id=204795&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (1.26 МБ)</a>
Serg61
Мастер
Сообщения: 247
Зарегистрирован: 14 дек 2019, 13:20
Репутация: 10
Настоящее имя: Сергей Петров
Контактная информация:

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

Сообщение Serg61 »

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

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

Сообщение ridirt »

Serg61 писал(а): все предстоит чуть позже.
ну пиши сюда потом , будут вопросы, будем вместе разбираться
Serg61
Мастер
Сообщения: 247
Зарегистрирован: 14 дек 2019, 13:20
Репутация: 10
Настоящее имя: Сергей Петров
Контактная информация:

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

Сообщение Serg61 »

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

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

Сообщение ridirt »

Долго думал и размышлял и решил что от своего любимого "изобретения" которое мне служило так долго верой и правдой мне придется отказаться. Центроискатель выдвижной. Его пожалуй уберу, освобожу два сигнала для автоматики. Чем же его заменить? с автосменой с цанговыми уже не так сложно, а с изолированным валом и того проще, можно смело зажимать хвост от длинной фрезы или на али можно даже купить заготовки под фрезы из твердосплава дешево. При поломке стоит все это копейки, юстировать не надо и очень высокая точность. При сложном скрипте, который делает несколько измерений высчитывает среднее значение, еще и высокая надежность. Все скрипты для старого центроискателя написанные с таким трудом придется снести(((. Вместо центроискателя скорее всего установлю пневмоконтакт для того чтобы проводить измерения в автоматическом режиме, пока что контакт на цангу вешается на магнит в ручную. Но это не скоро. Все измерения все равно проводятся в присутствии оператора и эта функция только отожрет еще один сигнал драгоценный.
Вложения
LxppVVR5Ph1w9tAZevm-pdTQugO4FQ46A8ISLm0y2Pi13SPbmGz4gFiW-uDayiBj08Vjbp0riRV0nFJxqtdLtQxg.jpg (1735 просмотров) <a class='original' href='./download/file.php?id=205053&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (373.85 КБ)</a>
QVOOfAAgN3By4Orwl6PmkVz1NVyjDqF65aEAAc8xi3UD--UEz_7A241th3uYnNEuoKPbYwxfsr4XYHZYya-jRl3l.jpg (1735 просмотров) <a class='original' href='./download/file.php?id=205054&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (1.13 МБ)</a>
Wtc2cevVNn5AAU1fdDUvWvyx1HqwGV2CcxYNKCSRjeBQgoyOWKSAi3sZY_rW_dBaFaiqEZD_nSqgz8lML47dx22E.jpg (1735 просмотров) <a class='original' href='./download/file.php?id=205055&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (348.4 КБ)</a>
zwCDTfifeojiFVLaH7ph3rAebYufPayLB6OMVGAvLiSJASiWyk14C_UnbPv3i0jteB76jiqxvQyJnEoQgey-jWjQ.jpg (1735 просмотров) <a class='original' href='./download/file.php?id=205056&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (1.13 МБ)</a>
Аватара пользователя
ridirt
Мастер
Сообщения: 660
Зарегистрирован: 24 июл 2013, 23:52
Репутация: 273
Настоящее имя: Живописцев Андрей Викторович
Откуда: Спб
Контактная информация:

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

Сообщение ridirt »

Закончены почти все три этапа сборки АТС. Блок пневматики, контроллер и механическая часть и хочу рассказать обо всех нюансах на этих этапах для тех кто захочет собрать так же.
Первое о чем бы хотел рассказать - это контроллер- Его я собрал на базе платки А145 довольно популярной и дешевой
https://aliexpress.ru/item/100500250821 ... 1654788172
и блока реле для ардуино.
https://aliexpress.ru/item/100500170044 ... 1654788172
Соеденить их оказалось не просто. Во первых блок реле работает по принципу замыкания лог. ед. на ноль а выходы с платы как раз представляют собой сигналы в виде лог. единицы. Пришлось переколхозить плату и соединить все выводы и кинуть их на ноль. а 5 вольтовые сигналы заводить уже непосредственно на оптопары, все оптопары сверху были обьединены, поэтому пришлось их разьединить механическим разрезанием токоведущих дорожек на плате и припаиванием к отдельным участкам.
вот схема для наглядности, схема простая.
020954-1(1)(1).jpg (1675 просмотров) <a class='original' href='./download/file.php?id=205212&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (79.83 КБ)</a>
Далее всплыло еще много проблем. Почему то выходы с ЛПТ контроллера не могут дать четкую логическую единицу поодиночке. Может конечно у меня такой контроллер говенный , но пришлось выкручиваться. Для тестов и настройки использовал очень удобную и популярную программу "wndlpt_v0_2_9_com" В интернете просто ее найти.
можно самому такую написать в скринсете мач3. Ну так вот, у меня задействовано 9 реле и еще 3 выхода свободно, поэтому я схитрил, теперь мач при включении поадет сигнал на эти 3 свободных выхода и остальные начинают давать нормальную логическую единицу для срабатывания реле. Но и этого мало, сама плата А145 немножечко от этой единици тоже отьедает и ее все равно не хватает, даже если мы будем подавать сигнал прямо на оптопару а не на резистор перед оптопарой. В итоге пришлось колхозить и припаиваться прямо к контактам где крепиться ЛПТ. И все вроде как заработало и получилось сделать 9 работающих реле и 5 входов от датчиков.
2HMILRu9mjVxbyWCfIqxPQKbj7UZSAVdokbpwnXjdVCTpF35S0MLIimnm1EZWioyvHC7rXanj7DQMSeZJhAdOSg_.jpg (1675 просмотров) <a class='original' href='./download/file.php?id=205213&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (1.22 МБ)</a>
g72RIVUvjHCa-ihUarO6AB7fMr6yk0quLIHAbqJ6bq661rJdzbotNg3TEwDfhFwnbuIuPnFNO4o_HbSDAzSR3ok4.jpg (1675 просмотров) <a class='original' href='./download/file.php?id=205214&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (1.36 МБ)</a>
Запитал я оба блока от 12 вольт (БП компа) А145 работает от 15в до 30в по мануалу, но по факту и от 12 пашет. Но в конечном итоге на GND входа питания я все же подал -5в (белый провод в БП) Работать лучше не стала но душе спокойнее.
В остальном никаких премудростей.
Аватара пользователя
ridirt
Мастер
Сообщения: 660
Зарегистрирован: 24 июл 2013, 23:52
Репутация: 273
Настоящее имя: Живописцев Андрей Викторович
Откуда: Спб
Контактная информация:

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

Сообщение ridirt »

CGdpVJYDCSfw_XzEDyRJcPFSd3TNDItte0n_pF2lEWZass5GNkgm_kVPxwBSEP2AuhDnpQchOc73lvhgU9UHc57S.jpg (1673 просмотра) <a class='original' href='./download/file.php?id=205215&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (1.75 МБ)</a>
Далее пневматика. Тут тоже не без сюрпризов.
Собрал все подключил, и как начало все травить. Фитинги с белым герметиком на резьбе совсем не надежное соединение, травит 80% , в итоге все разобрал и посадил где на фум ленту, а где на старую добрую паклю с пастой. Двойная работа. Далее прикол со шпинделем. Как у нас в россии зачастую мануалы инструкции люди не читают, и начинают их смотреть или в случае поломки, или в случае, когда непонятно как работает. Надеюсь, что у меня только лишь второй случай. Захват в шпинделе организован как двунаправленный пневмопривод, на один шланг подаешь давление - захват разжимается на другой - захват зажимается. Если давления нет - инструмент не вылетает, то есть там, все же, захват подпружинен, но насколько сильно он удерживает патрон без давления непонятно. Но проверять мы этого не будем. :hehehe:
Как итог: придется завтра переделывать схему захвата и получается, что при смене инструмента не будет производиться обдув конуса, и программно этот момент придется выпилить. Больше там , кроме как на подшипник, заводить воздух некуда, так что остается надеяться на чистоту инструмента внутри АТС. С другой стороны нужно понимать, что при резке без сож на частях станины оседает много мелкой пыли, и при резких и сильных обдувах эта пыль может быть захвачена потоками воздуха и разнесена по конусам АТС. Если при вибрациях станка ничего на конуса не ссыпется, то замена инструмента будет в принципе сделана качественно и надежно.
Ну и вот пару фото как сам блок АТС выглядит сейчас
bGOqJ4CcKm4CrdMw7DkpmKD6-SGanNGiZs1A5h1cVC2MU9q_sVfJ4FZrMKk6OMyURQeVYRCwZD7ldJPoOGX-jbc7 (1).jpg (1673 просмотра) <a class='original' href='./download/file.php?id=205216&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (1.42 МБ)</a>
2rjue_-HpjU4u7q7g5kGKnNtntG2Rstfxt0mfQVUHg8s-BfEPYlyLtxpleP1dxkX3IzT4RYtfkb3HtDl9aNe8eZ4.jpg (1673 просмотра) <a class='original' href='./download/file.php?id=205217&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (1.19 МБ)</a>
https://youtube.com/shorts/A64eOHRFbRQ?feature=share
Аватара пользователя
ridirt
Мастер
Сообщения: 660
Зарегистрирован: 24 июл 2013, 23:52
Репутация: 273
Настоящее имя: Живописцев Андрей Викторович
Откуда: Спб
Контактная информация:

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

Сообщение ridirt »

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

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

Сообщение ridirt »

Ура , первые запуски автосмены, и все удачно. Пока допиливал скрипт до идеала понял что китайские держатели совсем не подходят для тулхолдеров с пазами под сухари, они этими пазами врезааются в лапки захвата и дальше не идут, в итоге пришлось придумать как их переколхозить. Тестовый образец повел себя максимально надежно.
Так же накидал сегодня простенький скрипт для занесения информации в таблицу компенсаций длин инструмента мач3.
По работе скрипта, вводим в окно инструмента номер инструмента, предпологается что изначально поле в таблице с этим номером равно нулю, далее запускаем скрипт и он меряет высоту, записывает в нужную ячейку номер инструмента и автоматически сразу компенсация вступает в действие и в окне Z будет 0- по-сути это индикатор того что скрипт отработал правильно. Далее скрипт поднимает инструмент на 100 для последующей замены на следующий для обмера.

Код: Выделить всё

ActivateSignal(OUTPUT2)
 Sleep 100			
If GetOemLed (825) <> 0 Then 
MsgBox ("ATC ERROR: kontakt")
DoButton(3)
Else

        Zup=100		 
        MaxZPlus=350	 

        Sleep 100			
        CurrentFeed = GetOemDRO(818) 	
        
        Code "F200"			

            ZNew = GetDro(2) - MaxZPlus	  
            Code "G31Z" &ZNew
            While IsMoving()		
            Wend
        
            ZNew = GetVar(2002) 		
            Code "G0 Z" &ZNew + 0.5		
            While IsMoving ()
            Wend	

        Code "F10"			
        ZNew = GetDro(2) - 6		
        Code "G31Z" &ZNew   
        While IsMoving()		
        Wend

       ToolLengh = GetDro(2)

       Call setOEMDRO(42, ToolLengh) 'set tool offset to tool table
       
      	
            Code "G0 Z" &Zup		
            While IsMoving ()
            Wend

        Code "F" &CurrentFeed 		
        Sleep 100                    

End If 

DeActivateSignal(OUTPUT2)
                                
 

Проблема с люфтом барабана решена, точнее при поиске базы по АТС я просто давлю руками в сторону вращения, все гениальное просто.
Скрипт автосмены пришлось конечно максимально перелопатить, как только допилю его до идеала выложу тут с обьяснениями нюансов.

шпиндель выставлял 2 дня получилось выставить очень точно, не то что в прошлый раз))
Вложения
6nUN-zzy37LXFm_xYSHf9fzHJNN5rj7ccwIeREQCzzU3orBxlF6fkyJFpYhaoedE7TxgXNlxcZ2OZZ38DM0NL1yS.jpg (1529 просмотров) <a class='original' href='./download/file.php?id=205449&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (1.19 МБ)</a>
aqKFKo9QfobcWNkC2fx_rwpN86tTKWLLt5wuJpzNeyEqu1rRaa05oPiaDEwxKGuNby6XTJx8FUZYC9HcIrVNIv7Y.jpg (1529 просмотров) <a class='original' href='./download/file.php?id=205450&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (379.84 КБ)</a>
aui-hDwO2NUAObv3F6epadfWYmRMXj7HsmUr0bbidBAnB-gcQvZiLMHndL4XH_vHn0LYNV3YlimKgaUHji96nVQC.jpg (1529 просмотров) <a class='original' href='./download/file.php?id=205451&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (881.07 КБ)</a>
E1ZQrbex5vAsRAEwFUqh96e7hztMOOAy853JgbHM6-Jze1ik05wj9lEF8CgstnR9Fs-gZxIbcMsumNbmfOfN_tzS.jpg (1529 просмотров) <a class='original' href='./download/file.php?id=205452&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (1.1 МБ)</a>
Lff6LPNGfIikfESCS_bfuxsFn-z6_jWvS7QN7aWhpyPruXtNqF5fNc3Uve0zBPGDXFYmLZkItTV3DOCdxt07hzFj.jpg (1529 просмотров) <a class='original' href='./download/file.php?id=205453&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (942.37 КБ)</a>
p8TiZCLkk3FOl-OdVjbEEK2Tc0owAVvVumkqfm9lIESg9R3hIyZN8Q6VbdUzUPGeOP4s4211BZ-T1f3ScBr6vdna.jpg (1529 просмотров) <a class='original' href='./download/file.php?id=205454&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (1.34 МБ)</a>
PW0PbKfv3O2gzI3tk7b-kYJ1bW-ax_I1NENksjXgdS1j3KsU6RMLU_jCJSAtNMemGTF4bcBsTfZKvrSloqqGH54q.jpg (1529 просмотров) <a class='original' href='./download/file.php?id=205455&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (1016.96 КБ)</a>
qj-etQY_sCBEwyqmU1VzO-FLuVUN6oXa_nizM3qShIum1g1vVluECAbpxlmQvxevzsUfYHdGj-lMq2c9U5fn9iIN.jpg (1529 просмотров) <a class='original' href='./download/file.php?id=205456&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (273.96 КБ)</a>
Аватара пользователя
ridirt
Мастер
Сообщения: 660
Зарегистрирован: 24 июл 2013, 23:52
Репутация: 273
Настоящее имя: Живописцев Андрей Викторович
Откуда: Спб
Контактная информация:

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

Сообщение ridirt »

скрипт написанный для занесения информацию в базу инструмента этот кривой. Мач3 видимо не всегда обновляет информацию по переменной в операторе гетвар 2002 и иногда начинает быстро ехать в стол. Я сначала нашел проблему в гайке которая ток не пропускала, и после того как еще раз зэдка ушла в стол понял что проблема все же в кривом скрипте. Просто он был написан на базе того скрипта, который я откопал на просторах интернета когда еще только начал строить свой первый станок из г...вна и палок. Он пожалуй самый популярный и все его знают наизусть, но только проблемы с ним были всегда, он всегда при повторых измерениях в случае замены инструмента мог уйти в стол или в датчик. Пришлось сначала его подкорректировать , а после и совсем упростить до одного касания для максимальной надежности.
в итоге скрипт получился такой

Код: Выделить всё

Sub Main()

ActivateSignal(OUTPUT2)
 Sleep 100			
If GetOemLed (825) <> 0 Then 
MsgBox ("ATC ERROR: kontakt")
DoButton(3)
Else

        Zup=100		 
        MaxZPlus=20	 

        Sleep 100			
        CurrentFeed = GetOemDRO(818) 	
        
        Code "F20"			

            ZNew = GetDro(2) - MaxZPlus	  
            Code "G31Z" &ZNew
            While IsMoving()		
            Wend
        Sleep 20
     
       ToolLengh = GetDro(2)

       Call setOEMDRO(42, ToolLengh) 'set tool offset to tool table
       
      	
            Code "G0 Z" &Zup		
            While IsMoving ()
            Wend

        Code "F" &CurrentFeed 		
        Sleep 100                    

End If 

DeActivateSignal(OUTPUT2)
                                
 End Sub
для пущей надежности и безопасности запечатал его в саб еще. После чего наконец этим скриптом все же заполнил таблицу инструмента наконецтаки. Теперь по следующим пляскам с бубном. Не знаю может для кого то будет новостью но мач3 не может перехватить управление по крайней мере по второму лпт порту , когда вначале система посылает запросы на его. Я конечно не шарю за это а лишь догадываюсь что возможно система получив сигнал с лпт (от датчика ) начинает слать запросы и сигналы в ответ, и ровно минуту мач3 не может никак этому противостоять, поэтому я накидал скрипт подготовки к работе, логика которого такова.
станок включается с него приходит сигнал закрытия двери АТС, далее включаем три пина для работы вроде расказывал о них, ждем минуту после нажатия кнопки диалогового окна скрипт передергивает несколько пинов чтобы мач одуплился и перехватил управление.
Думаю для кого то этот скрипт будет тоже полезен для работы с нагрузками напрямую от лпт.

Код: Выделить всё

ActivateSignal(OUTPUT18)
ActivateSignal(OUTPUT19)
ActivateSignal(OUTPUT20)
Sleep 50
ActivateSignal(OUTPUT15) 
Sleep 60000 
MsgBox ("Power on") 
ActivateSignal(OUTPUT18)
Sleep 50
ActivateSignal(OUTPUT19)
Sleep 50
ActivateSignal(OUTPUT20)
Sleep 50
ActivateSignal(OUTPUT6)
Sleep 50
ActivateSignal(OUTPUT4)
Sleep 50
ActivateSignal(OUTPUT11)
Sleep 50
ActivateSignal(OUTPUT5)
Sleep 50
ActivateSignal(OUTPUT3)
Sleep 50
DeActivateSignal(OUTPUT6)
Sleep 50
DeActivateSignal(OUTPUT4)
Sleep 50
DeActivateSignal(OUTPUT11)
Sleep 50
DeActivateSignal(OUTPUT5)
Sleep 50
DeActivateSignal(OUTPUT3) 
ActivateSignal(OUTPUT14) 

Далее по списку
код поиска верха заготовки .
Поскольку он должен выполняться с учетом нулевой компенсации то я просто вначале прописал это.
Можно так же написать через отключение компенсации. Пока не проверял но должно работать.

Код: Выделить всё

ActivateSignal(OUTPUT2)
 Sleep 100			
If GetOemLed (825) <> 0 Then 
MsgBox "probe zamknut udali struzhku"
Code "(Probe plate is grounded, check connection and try again)"
Else
 
 SetCurrentTool(0)
Sleep 100
Code "G43 H0"
 Sleep 50
 PlateOffset=-0.001
        Zup=10		  
        MaxZPlus=350	 

        Sleep 100			
        CurrentFeed = GetOemDRO(818) 	
        
        Code "F20"			

            ZNew = GetDro(2) - MaxZPlus	 
            Code "G31Z" &ZNew
            While IsMoving()		
            Wend

        If PlateOffset <> 0 Then
            Call SetDro (2, PlateOffset)	
            Sleep 50
            ZNew = PlateOffset + Zup		
            Code "G0 Z" &ZNew 		
            While IsMoving ()
            Wend
            Code "(Z axis is now zero !)" 	
        
       End If

        Code "F" &CurrentFeed 		
        Sleep 100                    

End If 

DeActivateSignal(OUTPUT2)

    

Переписал кнопку захвата инструмента с двух отдельных включения и выключения на одну , чтобы впоследствии запечатать в макрос и назначить на кнопку на пульте.
наверняка тоже кому то будет полезен , но скрипт работает через датчик захвата инструмента, без него не будет работать, без него нужно будет делать через оператор изэктив пин или типа того, короче запрос состояния пина нужно будет делать.

Код: Выделить всё

Sub Main()
If GetOemLed (821) = 0 Then 
DeActivateSignal(OUTPUT10)
Exit Sub
Else
ActivateSignal(OUTPUT10)  
End If
End Sub
В общем и целом, все собрано настроено и готово к бою. Если честно, народ, я сам не верил до конца на 100%, что у меня все получится сделать и так тонко настроить, чтобы вся автоматика датчики и системы защиты заработали как надо. я всегда думал что автосмена это слишком сложно для меня , не мой уровень и мне это никогда не постичь, у меня никогда не будет времени и денег на это. Но как оказалось все возможно, да сложно, да долго, да дорого, поскольку я за 2 с лишним месяца все же ушел в минус 200 по кредитке, хотя было прибережено 300 про запас. Теперь остается лишь молиться чтобы это все отбилось в ближайшее время. Работать же теперь станет намного проще. Про скрипт автосмены расскажу чуть позже подробно, в нем остался один маааленький нюанс, в одном месте только не работает как надо, но в остальном я уже работаю на станке. В общем можете меня поздравить, я это сделал.
https://youtu.be/zREzikMxDI0
Вложения
0SiaXZagb0fAguSoV5kYr_gGzICMofvzImWy9EpGZtbzUsehY--ng2WYqGjz8aOqTgjv4J8wBekWh4pZGC6sNPs_.jpg (1456 просмотров) <a class='original' href='./download/file.php?id=205555&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (624.06 КБ)</a>
1pFVwemI1RTezhx14jwAQy_hk2RSJAM1QA70TjTmivQzsiR3JiAgE6YkMeqhDxQrUF8Cx7BAMjpd425yzcM0HtQT.jpg (1456 просмотров) <a class='original' href='./download/file.php?id=205556&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (996.83 КБ)</a>
7dW-D1KZrc0_tkbqr0iRysNAo6LOOm4LP55V-xK4HVzUf5H6V7XQtHGmcnQ93ck0I7VnSl7UI0ChZ7u6fhmbFzZN.jpg (1456 просмотров) <a class='original' href='./download/file.php?id=205557&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (686.45 КБ)</a>
E5W_zFYex4SuoEYHpJknon4w0bZdUZ3sSf62S4yUDE6anajikjkpvrJCdPzmUGLoidNNgAz642t78hQx8Jy0Bh07.jpg (1456 просмотров) <a class='original' href='./download/file.php?id=205558&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (535.83 КБ)</a>
EQMfPJPMWQtVuwrEcpBmCB706BcSaX8At1WRLIO25UfzrSFKUUzM-P9p47w1gxsCq92kqsRS5c8rmFmIsEUJKnd5.jpg (1456 просмотров) <a class='original' href='./download/file.php?id=205559&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (673.15 КБ)</a>
IzbIOxUgXT_7GB1hO2UI2RHhgjElFKgSE7wxjUe9M5gDHm7G-ZRNxUhD9ZsMUtQSvLXllhmH_jHPrwOq3H327Z8w.jpg (1456 просмотров) <a class='original' href='./download/file.php?id=205560&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (1.32 МБ)</a>
K8_M3LeAIafw1gUW9TlyLtWGqt23jNNIlPEFyu8rkyKJ1raz_5mZhjUmyqlYjUmkb3IYElNK2-mMpHH93BwKpzf5.jpg (1456 просмотров) <a class='original' href='./download/file.php?id=205561&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (407.78 КБ)</a>
rPbzEYYXsI90r2mO5LkdYcdWXtnlh3swAJYMC93NCAU-WUXSfTgG9uE3CyJkP5RvMFpSfFh5ofUT9ZQe4ZMw4n2G.jpg (1456 просмотров) <a class='original' href='./download/file.php?id=205562&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (1.21 МБ)</a>
yrgjDvt2nJHQPJuxpJhKnPqQmeVqpfgelDHMM7VcORUedsneK-P1ey7qJ6G3ehfZSpjef7UiiaYLX9vqBsqfEBYt.jpg (1456 просмотров) <a class='original' href='./download/file.php?id=205563&sid=87a440db7693a6881718f890f811d42d&mode=view' target=_blank>Загрузить оригинал (1.29 МБ)</a>
Аватара пользователя
niksooon
Мастер
Сообщения: 2135
Зарегистрирован: 23 июн 2014, 23:18
Репутация: 1201
Откуда: Кашира
Контактная информация:

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

Сообщение niksooon »

Зело любопытно стало - а "поиск" инструмента в барабане идет по кратчайшему пути (если да -то любопытно на алгоритм поглядеть) или попросту крутишь барабан в одну сторону.?
Последний раз редактировалось niksooon 20 ноя 2022, 20:07, всего редактировалось 1 раз.
Сделанное правильно — красиво. Если сделанное тебе не нравится — то и работать оно будет хреново. Перевари, пересверли, выпили заново — ну, или хотя бы покрась.
Аватара пользователя
ridirt
Мастер
Сообщения: 660
Зарегистрирован: 24 июл 2013, 23:52
Репутация: 273
Настоящее имя: Живописцев Андрей Викторович
Откуда: Спб
Контактная информация:

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

Сообщение ridirt »

Кручу барабан в одну сторону.
niksooon писал(а): поиск" инструмента в барабане идет по кратчайшему пути (
Дело в том, что ось барабана у меня представляется как линейная. Барабан крутится достаточно быстро.
На самом деле стал уже замечать что мач3 , падла, иногда игнорирует строку замены инструмента, переходит на следующую с выключенным шпинделем даже. Надо что то делать переписывать постпроцессор скорее всего. Так как после этого если остановить паузой лично у меня началась автосмена, я нажимал паузу судорожно а скрипт продолжал выполнять пункт за пунктом а затем с открытым клапаном попытался крутануть шпиндель и частотник вылетел в ошибку из за перегрузки.
Аватара пользователя
niksooon
Мастер
Сообщения: 2135
Зарегистрирован: 23 июн 2014, 23:18
Репутация: 1201
Откуда: Кашира
Контактная информация:

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

Сообщение niksooon »

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

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

Сообщение Kachik »

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

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

Сообщение ridirt »

Kachik писал(а): Матч любит небольшие паузы до 0,5сек, но обычно хватает 200-300мс.
Сейчас добавил в постпроцессоре оператор М1 перед автосменой. Это опциональный стоп, но в дженерал конфиг стоит игнорирование М1, вот я думаю что эта галка означает, в инструкции к мач3 ничего не сказано об этом, просто игнорирование полное или все же мач3 останавливается для выполнения скрипта, просто , я так понимаю, если М1 не игнорировать то он остановится и для продолжения оператор должен кнопку старт нажать, но тогда такая автосмена выеденного яйца не стоит.
Так же еще лет 8 назад был случай с тем что мач неправильно реагирует на ремарки, особенно в строке включения шпинделя. Удалил все ремарки из постпроцессора, кроме той, где в начале идет перечисление инструмента по номерам.
Хочу отработать с десяток программ, посмотерть точно ли ушла проблема, если проблема не уйдет буду пробовать добавлять паузы 200-300 мс. в постпроцессор.
niksooon писал(а): секунд , а сигналом с внутреннего реле частотника ( настроенного на "частота достигнута)
Кстати спасибо за идею, надо да переписать М3. А то у меня только воздушная завеса добавлена туда. У меня кстати что-то непонятное с подачей воздуха в подшипник, я на минуту даже подумал что этот вход воздуха предназначен для продувки. Но нет, продувки там нет. Просто иногда инструмент сильно застревает внутри конуса и барабан АТС из-за этого сильно страдает. Решением проблемы пока сделал некое подобие резкого перепада давления в циллиндре, алгоритм такой, захват разжимается шпиндель поднимается немного вверх, затем после того как давление в циллиндре достигло рабочего и если инструмент не выплюнуло то перепад давления от включения и выключения с задержкой в одну секунду воздуха в подшипник провоцируют на это самое выплевывание. Пока работает но посмотрим как дальше дело пойдет.
На новом частотние два релейных выхода, так что вполне один из них можно использовать на "частота достигнута", как раз один свободный входной пин остался на блоке автоматики.
На
niksooon писал(а): я от мача отказался еще в позапрошлой пятилетке
На самом деле и я рад бы, но с каждым написанным скриптом под него мне это сделать все сложнее, он уже настолько адаптирован под меня и оборудование что с новым ЧПУ будет столько плясок с бубном что я сойду с ума , и , возможно, вернусь обратно к мач3
Аватара пользователя
ridirt
Мастер
Сообщения: 660
Зарегистрирован: 24 июл 2013, 23:52
Репутация: 273
Настоящее имя: Живописцев Андрей Викторович
Откуда: Спб
Контактная информация:

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

Сообщение ridirt »

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

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

Сообщение Kachik »

Ну, можно как паузу попробовать какое-то пустое движение, которое он не сможет игнорировать. Например движение по оси z туда обратно на сотку... Это так чисто для эксперимента, чтоб понять принципы его работы...

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

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

Сообщение Mamont »

По скрину похоже что система вин10.
Какие Лпт порты используются? Встроенный и дополнительный (юсб / пси/ пси-е ?)

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

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

Сообщение ridirt »

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

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

Сообщение ridirt »

Mamont писал(а): По скрину похоже что система вин10.
Какие Лпт порты используются? Встроенный и дополнительный (юсб / пси/ пси-е ?)

Вроде вин10 посылала подальше при установке драйверов на порт. Применялось колдунство? Может лучше вин 7
Вин10 на основном компе, где работаю, а где мач3 классический ХП. Да , исмользуются встроенный и контроллер обычный пси.
Mamont писал(а): Может лучше вин 7
Есть ли смысл переходить с ХП на 7 ? Просто тут ошибка то явно в самой программе, не в том как она работает с портами, не в том, что ХП кривая, а в том что по настроению мач3 может взять и начать творить непонятно что.
Последний раз редактировалось ridirt 25 ноя 2022, 19:30, всего редактировалось 3 раза.
Ответить

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