Makro do sondy 3D

Dyskusje dotyczące najpopularniejszego programu sterującego maszynami CNC

Autor tematu
j22
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 18
Posty: 205
Rejestracja: 25 lip 2019, 10:30

Re: Makro do sondy 3D

#21

Post napisał: j22 » 26 maja 2024, 15:52

chyba się udało

(start with the end mill 15mm ABOVE the plate, about 15mm or less from bottom left corner.)

; Set user-defined variables
%ENDMILL_DIAMETER = 3.175 ;in millimeters

%PROBE_BLOCK_Z = 22;Thickness of 3-axis probe in Z direction
%PROBE_BLOCK_Y = 7 ;Thickness of 3-axis probe in Y direction
%PROBE_BLOCK_X = 7 ;Thickness of 3-axis probe in X direction



G21 ;make sure we’re in mm
G91 ;Incremental mode
G38.2 Z-25 F75 ;Probe Z
G0 Z2 ;lift 2mm
G38.2 Z-25 F45 ;Probe Z
G4 P0.1
G10 L20 P1 Z[PROBE_BLOCK_Z] ;Set Current Z as plate thickness
G4 P0.1
G0 Z3 ;lift Z 3mm
G0 X-25 ;Move left 25mm
G0 Z-10 ;Move down 10mm, should be 7mm below probe surface
G38.2 X25 F75 ;Probe X to the right 25mm
G0 X-2
G38.2 X25 F45 ;Probe X to the right 25mm
G4 P0.1
G10 L20 P1 X[-ENDMILL_DIAMETER/2 -PROBE_BLOCK_X] ;Set current X location as negative half the bit diameter
G4 P0.1
G0 X-10 ;Move left 10mm
G0 Y-25 ;Move forward 25mm
G90 G0 X5 ;Move to X5 (absolute) - will put you 5mm to the right of left edge of stock
G91 ;incremental
G38.2 Y25 F75 ;Probe Y
G0 Y-2
G38.2 Y25 F45 ;Probe Y
G4 P0.1
G10 L20 P1 Y[-ENDMILL_DIAMETER/2 -PROBE_BLOCK_Y] ;Set current Y location as negative half the bit diameter - 7mm thickness
G4 P0.1
G0 Y-10 ;Move Y-10
G0 Z10 ;Move Z up 10mm, should be 3mm above probe plate
G90
G0 X0Y0 ;Go to X0Y0




Autor tematu
j22
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 18
Posty: 205
Rejestracja: 25 lip 2019, 10:30

Re: Makro do sondy 3D

#22

Post napisał: j22 » 27 maja 2024, 16:09

Nie działa


qqaz
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 25
Posty: 2166
Rejestracja: 28 sty 2007, 16:12
Lokalizacja: Łódź

Re: Makro do sondy 3D

#23

Post napisał: qqaz » 28 maja 2024, 10:21

no nie działa, nie.
No dobrze, przestanę się wygłupiać w pomoc w pisaniu makra. Kiedyś chciałeś napisać swoje i stąd moje zapędy.
Makro które bada narożnik i jest kompleksowym ruchem nie uważam że jest bezpieczne. Można je oczywiście używać ale raczej przez kogoś kto kuma działanie tych wynalazków i wie jak zachowa się maszynka po naciśnieciu polecenia.
Tu na forum już było słychać że maszynki się blokowały, silniki piszczały a program się złamał.
Bo zaproponowałem masakryczny Gkod:
G0X30A3600
po którym użytkownik dostał zawału.

Czy Ty masz wrzeciono z wymiennymi oprawkami uzbrojonymi w narzędzie (z przypisanymi korekcjami długościowymi do każdej oprawki) czy wymieniasz frez w stałej końcówce wrzeciona wkładając do odpowiedniej tulejki?
Czyli po wyjęciu sondy zastępujesz ją frezem a tym samym nie jest Ci znana wysokość końca frezu?
Podejrzewam że tak jest. Czyli sondowanie wysokośći detalu przed frezowaniem mija się z celem bo tracisz sprawdzoną wysokość.
W to miejsce powinieneś mieć czujnik długości freza który odpowiednio zmodyfikuje wysokość współrzędnej Z po każdej zmianie freza. Czyli w trakcie obróbki bedziesz mógł je wymieniać a program będzie kontynuowany.
Piszę takie banialuki bo możliwe że zaczynając zabawę trafisz na wręcz elementartne pytania. Zresztą niedawno ktoś taki problem zgłosił.
A teraz makro.
Taki automat że ustwiasz sondę przed narożnikiem a ona sama się odpowiednio przesuwa i czujnikuje XY fajnie wyglada ale kiedyś trafisz tak że ruch maszyny bedzie za długi i gdzieś coś połamiesz.
Mogę Ci napisać pełne makro XYZ działające już bez durnych pułapek ale proponuję rozwiązanie blokowe osobnych ruchów X oraz Y bo Z jest bez sensu(czytaj wyżej). A osobne X,Y tym bardziej że w Machu masz stronę gdzie grafika aż się prosi do wykorzystania. Teraz jest tam jakiś durny algorytm który działa ale tylko wtedy gdy użytkownik nie robi błędów pomiarowych czyli formalnie rzecz działa ale użyć tego nie sposób.
Napisz co chcesz (niby już pisałeś) tylko rozważ teraz te uwagi.
A ja napiszę to co będziesz chciał.


Autor tematu
j22
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 18
Posty: 205
Rejestracja: 25 lip 2019, 10:30

Re: Makro do sondy 3D

#24

Post napisał: j22 » 28 maja 2024, 12:48

tak sobie na spokojnie przeczytałem początek tematu, pewnie coś źle napisałem, ale to chyba powinno działać, a nie działa
Nie, nie mam wymiennych oprawek, to jest zwykły amatorski ploter, za każdym razem muszę odkręcić oprawke i założyć nowy frez, mam też czujnik wysokości narzędzia, sam sie zastanawiałem na temat tego co piszesz, czyli badanie zera XYZ a potem zakładanie freza i badanie jego długości, to co z osią Z już zbadanego detalu?
Załączniki
01.jpg


qqaz
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 25
Posty: 2166
Rejestracja: 28 sty 2007, 16:12
Lokalizacja: Łódź

Re: Makro do sondy 3D

#25

Post napisał: qqaz » 28 maja 2024, 13:39

przepraszam za te moje złośliwostki.
Oczywiście że nie działa bo jest synaktycznie błedne.
Widzę że potrafisz wpisać w klawisz/okienko to wpisz to

code"G91"
code"G31x20 F100"
While IsMoving()
Sleep(10)
Wend
a=getvar(2000)
x=a+2
code "G90"
message(" znaleziona teraz ścianka na współrzędnej x=" & x)

albo takie:

code"G91"
code"G31x20 F100"
While IsMoving()
Sleep(10)
Wend
SetDRO(0,2)
code"G90"
message(" Ustawione X=0 na powierzchni znalezionej ścianki")

W obu przyjąłem że kulka ma 4mm średnicy i dlatego w pierwszym poda współrzędną 2mm dalszą niż stoi wrzeciono
a w drugim wyzeruje licznik X tak aby X=0 było na ściance
Tylko to jest podczas szukania ścianki z lewej strony!. Czyli wrzeciono przesuwa się w prawo! Trzeba je odpowiednio ustawić względem ścianki i nie dalej niż 10mm (około ) bo szukać będzie na długości nie dalej niż 20mm od miejsca uruchomienia
Powinno się rozbudować te moduły o kontrolę czy koniec ruchu spowodowany jest faktycznym znalezieniem ścianki - pobudzenie wejścia czujki - czy zwyczajnie się zatrzymał bo skończyła się mu droga na którejm miał szukać.
W obu przypadkach wypluje jakieć wyniki tylko dla drugiego bedzie to wartość poprzedniego czujnikowqania.
Czyli w tej postaci możesz sobie popróbować ale wynik tylko wtedy gdy widzisz że zadziałała czujka. Póżniej dopiszę tą kontrolę.
I druga rzecz. Założyłem ze masz ustawiony ruch absolutny - G90 i dlatego do niego wróciłem.
Powinno się na początku odczytać jaki jest ustawiony i do takiego samego wrócić.
Podobnie z posuwem i trybem ruchu. A własciwie ze wszystkimi funkcjami modalnymi.
Nic takiego tutaj nie wpisałem bo zaciemniło by to faktyczne działanie czujnikowania. Ale te zabezpieczenia trzeba wpisywać bo robisz to raz i już. To że kod makra wychodzi tasiemcowy to tylko przy uruchomieniu może być kłopotem. Ale też żadnym bo wstawiasz kolejno sprawdzone bloki i często całość działa od pierwszego razu.

Dla porządku:
odwołanie
SetDro(0,0) ustawia licznik X na X=0.
Ale to jest polecenie starego systemu (choć często działa). W nowym powinno mieć postać
SetOemDro(800,0)
Niby to samo ale diabli wiedzą którą masz wersję programu.

Dodane 3 minuty 13 sekundy:
jeszcze jedno
Jeżeli uruchomisz z okienka to trudno jest zatrzymać klawiszem ESC działanie makra. Czasem się zacina.
Lepiej jest wpisać pod klawisz i uruchamiać normalnie przez naciśniecie.
Jeżeli jest coś nie tak z kodem to Mach wyświetli komunikat w linini message ale nie trzeba bedzie resetować kompa.

Dodane 6 minuty 46 sekundy:
szybko, szybko i żle.
Powinno być SetOemDro(800,-2) a nie 0 bo zatrzymuje się przed scianką a nie z nią. Popraw.

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 13
Posty: 8107
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: Makro do sondy 3D

#26

Post napisał: tuxcnc » 28 maja 2024, 16:00

qqaz pisze:
28 maja 2024, 10:21
No dobrze, przestanę się wygłupiać w pomoc w pisaniu makra.
Obiecanki cacanki, a głupiemu radość...
Ty to ewidentnie sadystą jesteś i masz satysfakcję ze znęcania się nad innymi...
Przeczytaj pierwszy post w tym wątku tyle razy, aż go wreszcie zrozumiesz, bo wszystkie twoje posty są NIE NA TEMAT...


Autor tematu
j22
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 18
Posty: 205
Rejestracja: 25 lip 2019, 10:30

Re: Makro do sondy 3D

#27

Post napisał: j22 » 28 maja 2024, 18:40

a więc tak, przepisałem drugą wersję, bo ta mnie interesuje, zmieniałem parametr 20, na różne i tu jest różnica, po prostu oś Z przesuwa sie o tą wartość, natomiast pozostałe wartości sleep i ta wartość 800 - bez żadnej zmiany, reakcji. Dwie rzeczy mnie niepokoją
1. sonda nie reaguje /chociaż świeci się prawidłowo, na czerwono jak napotka na przeszkodę/, nie wyłącza posuwu ozi Z po najechaniu na przeszkodę- jedzie dalej
2. Wydaje mi się, że po przesunięciu o te 20 mm, nie cofa sie na x-2, chociaż w machu w okienku wyskakuje wartość przesunięcia, czyli najpierw 20 mm i potem dziwnym cudem wyskakuje -2, chociaż może mi się wydawać że się nie cofa o te 2 mm
Załączniki
m1.jpg

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 13
Posty: 8107
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: Makro do sondy 3D

#28

Post napisał: tuxcnc » 28 maja 2024, 19:32

j22 pisze:
28 maja 2024, 18:40
sonda nie reaguje /chociaż świeci się prawidłowo, na czerwono jak napotka na przeszkodę/, nie wyłącza posuwu ozi Z po najechaniu na przeszkodę- jedzie dalej
Jak ją rozpieprzysz, to się nauczysz nie słuchać głupich rad.


qqaz
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 25
Posty: 2166
Rejestracja: 28 sty 2007, 16:12
Lokalizacja: Łódź

Re: Makro do sondy 3D

#29

Post napisał: qqaz » 28 maja 2024, 19:36

tutaj żadnych niespodzianek nie wstawiłem. Treść jest prawidłowa
Poćwiczmy razem.
linia G31x100F100 jest z pewnością prawidłowa i musi działać.
Pali się kontrolka wiec sygnał do pinu dochodzi ale że się swieci to mało.
Czy ten pin jest zadekretowany jako wejście sondy?
Działanie G31 jest takie że się zatrzymuje ruch maszynki po detekcji wejścia probe w zakładce inputów. Tu ma być wpisany właściwy nr pinu - tego do którego podłaczony jest kabelek sygnałowy sondy.
Jeżeli jest inny to sonda nie zatrzyma ruchu tylko będzie iść do końca zaznaczonego odcinka.
Pisałem o kontroli czy impuls został zauważiny czy zatrzymanie jest samoczynne.
Druga sprawa to jak długo masz ustawione zatrzymywanie. Może tu jest nieprawdopodobNie długa rampa hamowania i dlatego wydaje się że jedzie. (tak wymyśliłem możliwy przypadek)
Jeszcze coś. Może masz ustawiony klawisz symulacji wejścia sondy (trzeba odptaszczyć) i wtedy zamiast na pin to czeka na naciśnięcie klawisza (pin będzie zapalany ale ignorowany przez program)

Dodane 2 minuty 10 sekundy:
tuxcnc pisze: ...........

ręce opadają

Dodane 7 minuty 11 sekundy:
to makro zatrzymuje ruch po detekcji sondy
Po zatrzymaniu wpisuje do licznika właściwą wartość ale się nie przesuwa fizycznie na nową pozycję
Wpisanie następuje po zatrzymaniu ruchu bez względu czy nastąpiło od sondy czy z powodu końca odcinka pomiarowego ( dlatego konieczna jest kontrola poprawności wyniku podawanego przez makro)

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 13
Posty: 8107
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: Makro do sondy 3D

#30

Post napisał: tuxcnc » 28 maja 2024, 19:48

qqaz pisze:
28 maja 2024, 19:43
ręce opadają
Tak, ręce opadają, ale z zupełnie innego powodu.
Gość pisze, że mu sonda nie zatrzymuje posuwu (zapewne jest źle podłączona, lub źle skonfigurowana), a Ty pieprzysz swoje jak nawiedzony...
Naprawdę skończy się na tym, że sonda pójdzie na złom.
O to właśnie Ci chodzi?

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Mach 2 / 3 / 4 (ArtSoft software)”