M6 remap

Dyskusje dotyczące działania obsługi programu LinuxCNC
Awatar użytkownika

Autor tematu
tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 9
Posty: 7861
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

M6 remap

#1

Post napisał: tuxcnc » 31 mar 2021, 21:04

Zabrałem się za konfigurowanie w mojej nowej frezarce ręcznej wymiany narzędzia z automatycznym pomiarem.
Najpierw trafiłem na jakieś cuda na kiju, z klikaniem w przyciski i wyświetlaniem komunikatów przez skrypt pythona, ale zupełnie nie o to mi chodziło.
Ja bym chciał żeby po napotkaniu polecenia M6Tx w programie, wyświetlał się standardowy komunikat "wymień narzędzie na ...", a potem maszyna już sama z siebie pomierzyła nowe narzędzie i ustawiła jego offset.
Zupełnie przypadkiem natrafiłem na https://www.forum.linuxcnc.org/10-advan ... nt-working
Nie sprawdzałem załączonego tam kodu, nie wiem czy jest dobry, ale zupełnie nie o to chodzi.
Po prostu zszokowała mnie linia

Kod: Zaznacz cały

M6				( run normal M6 operation )
Mapowanie polega na tym, że zamiast mapowanej funkcji jest wywoływana funkcja mapująca.
Tutaj każde wywołanie M6 powinno być zastąpione wywołaniem podprogramu tool-change.ngc, a wywołanie M6 wewnątrz tool-change.ngc powinno zakończyć się wejściem w martwą pętlę.
Z nieznanej przyczyny tak się nie dzieje, i działa to w ten sposób, że napotkanie w programie głównym M6 powoduje wywołanie podprogramu tool-change.ngc, ale M6 wewnątrz podprogramu wykonuje się standardowo, i jeśli jest to skonfigurowane w pliku INI to podnosi oś Z, jedzie na zadeklarowany punkt wymiany narzędzia i wyświetla okno z komunikatem "zmień narzędzie ..."
Czyli podsumowując, mapując M6 na podprogram tool-change.ngc zawierający M6, po prostu rozszerzamy standardowe M6 o wykonanie dodatkowych linii przed i po tym poleceniu.
Mam nadzieję że wyjaśniłem to w sposób jasny.




Darek05
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 1
Posty: 182
Rejestracja: 06 wrz 2007, 23:18
Lokalizacja: Wodzisław Śl.

Re: M6 remap

#2

Post napisał: Darek05 » 01 kwie 2021, 20:12

tuxcnc pisze:
31 mar 2021, 21:04
Zabrałem się za konfigurowanie w mojej nowej frezarce ręcznej wymiany narzędzia z automatycznym pomiarem.
Najpierw trafiłem na jakieś cuda na kiju, z klikaniem w przyciski i wyświetlaniem komunikatów przez skrypt pythona, ale zupełnie nie o to mi chodziło.
Ja bym chciał żeby po napotkaniu polecenia M6Tx w programie, wyświetlał się standardowy komunikat "wymień narzędzie na ...", a potem maszyna już sama z siebie pomierzyła nowe narzędzie i ustawiła jego offset.
Zupełnie przypadkiem natrafiłem na https://www.forum.linuxcnc.org/10-advan ... nt-working
Nie sprawdzałem załączonego tam kodu, nie wiem czy jest dobry, ale zupełnie nie o to chodzi.
Po prostu zszokowała mnie linia

Kod: Zaznacz cały

M6				( run normal M6 operation )
Mapowanie polega na tym, że zamiast mapowanej funkcji jest wywoływana funkcja mapująca.
Tutaj każde wywołanie M6 powinno być zastąpione wywołaniem podprogramu tool-change.ngc, a wywołanie M6 wewnątrz tool-change.ngc powinno zakończyć się wejściem w martwą pętlę.
Z nieznanej przyczyny tak się nie dzieje, i działa to w ten sposób, że napotkanie w programie głównym M6 powoduje wywołanie podprogramu tool-change.ngc, ale M6 wewnątrz podprogramu wykonuje się standardowo, i jeśli jest to skonfigurowane w pliku INI to podnosi oś Z, jedzie na zadeklarowany punkt wymiany narzędzia i wyświetla okno z komunikatem "zmień narzędzie ..."
Czyli podsumowując, mapując M6 na podprogram tool-change.ngc zawierający M6, po prostu rozszerzamy standardowe M6 o wykonanie dodatkowych linii przed i po tym poleceniu.
Mam nadzieję że wyjaśniłem to w sposób jasny.
Cześć
To jest to czego potrzebowałem - działa na razie świetnie, kiedyś opisałem moją wersję tutaj : linuxcnc-szybkie-ustawianie-offsetu-dla ... 1-110.html ale w efekcie końcowym nie potrafiłem jej poprawnie podpiąć pod pod funkcje M6, zmuszony byłem wywołać ją zawsze jako odrębne zadanie z przycisku na pulpicie po wymianie narzędzia, wprowadzenie do systemu dodatkowej funkcji M300 nic nie pomogło, wprowadzała mi chaos we współrzędnych maszyny, więc z niej zrezygnowałem.

Opisana przez ciebie zachowuje się dokładnie tak samo, czyli długość narzędzia po pomiarze każdorazowo zapisywana jest w tabeli narzędzi.
:D Pozdrawiam DAREK
O0O0O0O0O0O0O0O0O

Awatar użytkownika

Autor tematu
tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 9
Posty: 7861
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: M6 remap

#3

Post napisał: tuxcnc » 03 kwie 2021, 23:50

Napisałem własny program.
Wygląda na to, że działa prawidłowo, ale gwarancji nie daję.
Tym się różni od wielu dostępnych w necie, że nie zmienia niejawnie parametrów modalnych, więc nie grozi na przykład dzwon, bo "się przestawiło" z G91 na G90 ...
Trzeba wprowadzić pewne zmiany w pliku INI, ale jest to opisane w nagłówku.

Kod: Zaznacz cały

O<tool-change> SUB
(file tool-change.ngc)

(--- header ---)
(tuxcnc 2021)
(manual tool change with automatic measurement)
(replaces M6 g-code)
(we assume that, toolsensor is permanently mounted)
(and Z parameters of TOOL_CHANGE_POSITION and TOOLSENSOR ZPOS)
(are maximum upper, otherwise you may get collision)
(you must have the following in your INI file)
(without semicolons and you can change parameters)
;[RS274NGC]
;FEATURES = 4
;REMAP=M6 modalgroup=6 ngc=tool-change
;[EMCIO]
;TOOL_CHANGE_QUILL_UP = 1
;TOOL_CHANGE_POSITION = 230 0 0
;[TOOLSENSOR]
;XPOS = 192
;YPOS = 0
;ZPOS = 0
;APOS = 0
;BPOS = 0
;CPOS = 0
;UPOS = 0
;VPOS = 0
;WPOS = 0
;FEED1 = 500
;FEED2 = 100
;TRAVEL =100
;DISTANCE = 71
(--- end of header ---)

#<tool> = #<_selected_tool>
#<previous_tool> = #<_current_tool>

O100 if [#<_task> EQ 0]	( only run the subroutine in milltask interpreter )
        (debug, Task ist Null)
O100     return [999]
O100 endif

o200 IF [ #<tool> EQ 0 ]	( check if tool zero selected and end routine )
(MSG, No Tool Selected )
O200     return [999]
o200 ENDIF

(---  store existing parameters  ---)
#<g30x> = #5181
#<g30y> = #5182
#<g30z> = #5183
#<g30a> = #5184
#<g30b> = #5185
#<g30c> = #5186
#<g30u> = #5187
#<g30v> = #5188
#<g30w> = #5189
#<absolute> = #<_absolute>  (remember in local variable if G90 was set) 
#<mist> = #<_mist> 	    (remember in local variable if M7 was set)
#<flood> = #<_flood>        (remember in local variable if M8 was set)
#<tool_offset> = #<_tool_offset>

G49			 ( cancel tool length compensation )
M9			 ( coolant off )
M6		    	 ( run normal M6 operation )
G91			 ( incremental distance mode )
(---   prepare g30     ----)
#5181 = #<_ini[TOOLSENSOR]XPOS>
#5182 = #<_ini[TOOLSENSOR]YPOS>
#5183 = #<_ini[TOOLSENSOR]ZPOS>
#5184 = #<_ini[TOOLSENSOR]APOS>
#5185 = #<_ini[TOOLSENSOR]BPOS>
#5186 = #<_ini[TOOLSENSOR]CPOS>
#5187 = #<_ini[TOOLSENSOR]UPOS>
#5188 = #<_ini[TOOLSENSOR]VPOS> 
#5189 = #<_ini[TOOLSENSOR]WPOS>
(--------------------------)						
G30 ( go to toolsensor )
#<PlaneOffset> = [#5183 - #5422]  ( get the current plane Z offset )	
G38.2 Z-[#<_ini[TOOLSENSOR]TRAVEL>] F[#<_ini[TOOLSENSOR]FEED1>]  ( fast touch )
G38.4 Z1 F[#<_ini[TOOLSENSOR]FEED2>]
G10 L1 P#<tool> Z-[-#<PlaneOffset> - #5063 - #<_ini[TOOLSENSOR]DISTANCE>] ( store offset in tooltable )
G30 ( go to safe position )
#<previous_tool> = #<tool>

(--- restore parameters ---)
#5181 = #<g30x>
#5182 = #<g30y>
#5183 = #<g30z>
#5184 = #<g30a>
#5185 = #<g30b>
#5186 = #<g30c>
#5187 = #<g30u>
#5188 = #<g30v> 
#5189 = #<g30w>
O<restore_abs> if [#<absolute>]
    G90 (restore only if it was set on entry:)
O<restore_abs> endif
O<restore_mist> if [#<mist>]
    M7 (restore only if it was set on entry:)
O<restore_mist> endif
O<restore_flood> if [#<flood>]
    M8 (restore only if it was set on entry:)
O<restore_flood> endif
O<restore_tool_offset> if [#<tool_offset>]
    G43 (restore only if it was set on entry:)
O<restore_tool_offset> endif
(--------------------------)

O<tool-change> ENDSUB
M2

Awatar użytkownika

Autor tematu
tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 9
Posty: 7861
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: M6 remap

#4

Post napisał: tuxcnc » 04 kwie 2021, 11:01

Zapomniałem o przywróceniu posuwu, trzeba gdzieś na początku dodać

Kod: Zaznacz cały

#<feed> = #<_feed>		 (remember feed value)
oraz gdzieś na końcu

Kod: Zaznacz cały

F #<feed> (restore previous feed value)
Tutaj niczego nie trzeba sprawdzać, bo na pewno F zostanie zmienione.
Tak przy okazji, to widziałem też programy korzystające z G70/G72, pewnie dałoby się użyć też G73, ale ja wolę mieć nad wszystkim pełną kontrolę.


szatri
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 5
Posty: 235
Rejestracja: 23 lut 2011, 15:12
Lokalizacja: PL

Re: M6 remap

#5

Post napisał: szatri » 06 kwie 2021, 11:28

tuxcnc pisze: gdzieś na początku dodać
Czy tak będzie to dobrze poprawione?

Kod: Zaznacz cały

O<tool-change> SUB
(file tool-change.ngc)

(--- header ---)
(tuxcnc 2021)
(manual tool change with automatic measurement)
(replaces M6 g-code)
(we assume that, toolsensor is permanently mounted)
(and Z parameters of TOOL_CHANGE_POSITION and TOOLSENSOR ZPOS)
(are maximum upper, otherwise you may get collision)
(you must have the following in your INI file)
(without semicolons and you can change parameters)
;[RS274NGC]
;FEATURES = 4
;REMAP=M6 modalgroup=6 ngc=tool-change
;[EMCIO]
;TOOL_CHANGE_QUILL_UP = 1
;TOOL_CHANGE_POSITION = 230 0 0
;[TOOLSENSOR]
;XPOS = 192
;YPOS = 0
;ZPOS = 0
;APOS = 0
;BPOS = 0
;CPOS = 0
;UPOS = 0
;VPOS = 0
;WPOS = 0
;FEED1 = 500
;FEED2 = 100
;TRAVEL =100
;DISTANCE = 71
(--- end of header ---)

#<tool> = #<_selected_tool>
#<previous_tool> = #<_current_tool>
#<feed> = #<_feed>		 (remember feed value)

O100 if [#<_task> EQ 0]	( only run the subroutine in milltask interpreter )
        (debug, Task ist Null)
O100     return [999]
O100 endif

o200 IF [ #<tool> EQ 0 ]	( check if tool zero selected and end routine )
(MSG, No Tool Selected )
O200     return [999]
o200 ENDIF

(---  store existing parameters  ---)
#<g30x> = #5181
#<g30y> = #5182
#<g30z> = #5183
#<g30a> = #5184
#<g30b> = #5185
#<g30c> = #5186
#<g30u> = #5187
#<g30v> = #5188
#<g30w> = #5189
#<absolute> = #<_absolute>  (remember in local variable if G90 was set) 
#<mist> = #<_mist> 	    (remember in local variable if M7 was set)
#<flood> = #<_flood>        (remember in local variable if M8 was set)
#<tool_offset> = #<_tool_offset>

G49			 ( cancel tool length compensation )
M9			 ( coolant off )
M6		    	 ( run normal M6 operation )
G91			 ( incremental distance mode )
(---   prepare g30     ----)
#5181 = #<_ini[TOOLSENSOR]XPOS>
#5182 = #<_ini[TOOLSENSOR]YPOS>
#5183 = #<_ini[TOOLSENSOR]ZPOS>
#5184 = #<_ini[TOOLSENSOR]APOS>
#5185 = #<_ini[TOOLSENSOR]BPOS>
#5186 = #<_ini[TOOLSENSOR]CPOS>
#5187 = #<_ini[TOOLSENSOR]UPOS>
#5188 = #<_ini[TOOLSENSOR]VPOS> 
#5189 = #<_ini[TOOLSENSOR]WPOS>
(--------------------------)						
G30 ( go to toolsensor )
#<PlaneOffset> = [#5183 - #5422]  ( get the current plane Z offset )	
G38.2 Z-[#<_ini[TOOLSENSOR]TRAVEL>] F[#<_ini[TOOLSENSOR]FEED1>]  ( fast touch )
G38.4 Z1 F[#<_ini[TOOLSENSOR]FEED2>]
G10 L1 P#<tool> Z-[-#<PlaneOffset> - #5063 - #<_ini[TOOLSENSOR]DISTANCE>] ( store offset in tooltable )
G30 ( go to safe position )
#<previous_tool> = #<tool>

(--- restore parameters ---)
#5181 = #<g30x>
#5182 = #<g30y>
#5183 = #<g30z>
#5184 = #<g30a>
#5185 = #<g30b>
#5186 = #<g30c>
#5187 = #<g30u>
#5188 = #<g30v> 
#5189 = #<g30w>
O<restore_abs> if [#<absolute>]
    G90 (restore only if it was set on entry:)
O<restore_abs> endif
O<restore_mist> if [#<mist>]
    M7 (restore only if it was set on entry:)
O<restore_mist> endif
O<restore_flood> if [#<flood>]
    M8 (restore only if it was set on entry:)
O<restore_flood> endif
O<restore_tool_offset> if [#<tool_offset>]
    G43 (restore only if it was set on entry:)
O<restore_tool_offset> endif
(--------------------------)

F #<feed> (restore previous feed value)

O<tool-change> ENDSUB
M2
I taki plik zapisać jako tool-change.ngc w folderze z configiem?

I czy dobrze rozumiem ze muszę dopisać w ini ta składnie bez tych średników ";":

Kod: Zaznacz cały

;[RS274NGC]
;FEATURES = 4
;REMAP=M6 modalgroup=6 ngc=tool-change
;[EMCIO]
;TOOL_CHANGE_QUILL_UP = 1
;TOOL_CHANGE_POSITION = 230 0 0
;[TOOLSENSOR]
;XPOS = 192
;YPOS = 0
;ZPOS = 0
;APOS = 0
;BPOS = 0
;CPOS = 0
;UPOS = 0
;VPOS = 0
;WPOS = 0
;FEED1 = 500
;FEED2 = 100
;TRAVEL =100
;DISTANCE = 71
Oraz poprawić na swoje miejsce [TOOLSENSOR] w tych xpos, y, z, w pozycjach maszyny? (g90)

Czy teraz już po ustawieniu g54 (hmm ale czym, sonda czy pierwszym używanym narzędziem w programie) i jego puszczeniu pojedzie w "Z" do max wysokości (no ale to rożnie z kierunkiem tu bywa, raz jest w minus a inni maja w plus) na "TOOL_CHANGE_POSITION" i po zatwierdzeniu nad czujnik z długością pomiaru "DISTANCE = 71" i prędkością "FEED1 = 500" i po zetknięciu styków zjedzie z prędkością "FEED2 = 100", po zapisaniu pomiaru w tabeli w górę w "Z" i do roboty w aktualnym offsecie (g54)?

Ps; sry, ze tak łopatologicznie pisze, nie wszystko tak od razu "łapie"

Awatar użytkownika

Autor tematu
tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 9
Posty: 7861
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: M6 remap

#6

Post napisał: tuxcnc » 06 kwie 2021, 14:40

szatri pisze:
06 kwie 2021, 11:28
Czy tak będzie to dobrze poprawione?
Tak, jest dobrze.
szatri pisze:
06 kwie 2021, 11:28
I taki plik zapisać jako tool-change.ngc w folderze z configiem?
Nie, trzeba go zapisać w folderze z plikami ngc, zgodnie z tym co masz w pliku INI w zmiennej PROGRAM_PREFIX .
szatri pisze:
06 kwie 2021, 11:28
czy dobrze rozumiem ze muszę dopisać w ini ta składnie bez tych średników
Niezupełnie, masz dopisać te linie których brakuje. Czyli przykładowo wpis [RS274NGC] na pewno już masz, wpis FEATURES = 4 możesz mieć a możesz nie mieć, natomiast wpisu REMAP=M6 modalgroup=6 ngc=tool-change na pewno nie masz. Wpisy mają być we właściwych sekcjach, bo inaczej Linuxcnc ich nie odczyta prawidłowo. Ale to są podstawy i więcej tłumaczyć nie będę.
szatri pisze:
06 kwie 2021, 11:28
Oraz poprawić na swoje miejsce [TOOLSENSOR] w tych xpos, y, z, w pozycjach maszyny? (g90)
Znowu niezupełnie, to są współrzędne maszynowe G53, czyli te które wynikają z wpisów w pliku INI.
Jeżeli wpiszesz na przykład XPOS=50 YPOS=70, to po wykonaniu G53G0X50Y70 powinieneś najechać na pozycję czujnika.
szatri pisze:
06 kwie 2021, 11:28
Czy teraz już po ustawieniu g54 (hmm ale czym, sonda czy pierwszym używanym narzędziem w programie) i jego puszczeniu pojedzie w "Z" do max wysokości (no ale to rożnie z kierunkiem tu bywa, raz jest w minus a inni maja w plus) na "TOOL_CHANGE_POSITION" i po zatwierdzeniu nad czujnik z długością pomiaru "DISTANCE = 71" i prędkością "FEED1 = 500" i po zetknięciu styków zjedzie z prędkością "FEED2 = 100", po zapisaniu pomiaru w tabeli w górę w "Z" i do roboty w aktualnym offsecie (g54)?
Znowu niezupełnie.
Nie mam teraz ani głowy żeby pisać, ani siły żeby sprawdzić, więc będzie z pamięci, mam nadzieję że bez pomyłek.
Ustawiasz jakiś układ współrzędnych, niech będzie G54, ale może być inny.
Wydajesz polecenie M6 T<ileś>. "Ileś" nie może być zero, albo wartością której nie ma w tabeli narzędzi. Załóżmy że M6 T1, bo narzędzie numer jeden powinieneś mieć.
Teraz zakładasz frez i klikasz "dalej".
Procedura mierzy narzędzie i wpisuje offset do tabeli narzędzi. Nie robi nic więcej, w szczególności nie ustawia żadnego offsetu.
Teraz wywołujesz offset narzędzia G43 .
Następnie najeżdżasz nad materiał i zjeżdżasz tak żeby frezem dotknąć materiału. Można też "na papierek".
W tym momencie musisz ustawić offset układu współrzędnych, albo klikając w odpowiednią ikonkę, albo poleceniem G10L20P0Z0 .
W tej chwili masz ustawiony zarówno offset układu współrzędnych jak i narzędzia.
Jeśli pomierzysz ponownie to samo narzędzie, to nic się nie zmieni, jeśli pomierzysz inne narzędzie to offset zostanie tak skorygowany, żeby G0Z0 ustawiało koniec freza na powierzchni materiału.
Gdzie pojedzie narzędzie po wydaniu polecenia M6 zależy od tego co masz wpisane w TOOL_CHANGE_POSITION, to też są współrzędne maszynowe G53.

Spróbuj najpierw z jakimś patykiem zamiast freza, może dzwona nie zrobisz.


szatri
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 5
Posty: 235
Rejestracja: 23 lut 2011, 15:12
Lokalizacja: PL

Re: M6 remap

#7

Post napisał: szatri » 07 kwie 2021, 11:08

szatri pisze:w pozycjach maszyny? (g90)

Masz racje g53 pomyliłem się.
tuxcnc pisze:Najpierw trafiłem na jakieś cuda na kiju, z klikaniem w przyciski i wyświetlaniem komunikatów.

czy masz na myśli ta procedurę:
linuxcnc-szybkie-ustawianie-offsetu-dla ... ml#p634519
tuxcnc pisze:Wydajesz polecenie M6 T<ileś>
tuxcnc pisze:Teraz wywołujesz offset narzędzia G43

nie da się tego jakość automatyzować, bez tego wpisywania? (tak wiem to już narzekanie, takie typowo polskie)

Wcześniej (tak jak w linku wyżej) miałem tak ze ustawiłem na papierek g54 (bez wpisywania narzędzia czyli przy T0), klikałem ikonkę ustawienia offsetów g54, potem guziczek do pomiaru i jechało zmierzyć to T0, i mogłem już normalnie puszczać program z innymi narzędziami.
Niestety to ma jakiś błąd z limitem w osi Z, czasem puści program czasem nie.
Obrazek

Awatar użytkownika

Autor tematu
tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 9
Posty: 7861
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: M6 remap

#8

Post napisał: tuxcnc » 07 kwie 2021, 14:11

szatri pisze:
07 kwie 2021, 11:08
Niestety to ma jakiś błąd z limitem w osi Z
Coś masz źle ustawione.


szatri
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 5
Posty: 235
Rejestracja: 23 lut 2011, 15:12
Lokalizacja: PL

Re: M6 remap

#9

Post napisał: szatri » 02 maja 2021, 20:49

tuxcnc pisze:
Czy testowałeś ta procedurę na maszynie?

Wklepałem dziś ta konfiguracje i nie jestem zadowolony, robiłem to na patyku i dzięki temu nie rozwaliłem czujnika (choć mało brakło)

Chodzi o odjazd po pomiarze na maszynowe z0 i dojazd w TEJ wysokości nad g54 i dopiero zjazd do materiału, a nie jak obecnie po pomiarze wyjedzie w górę i już zanim z czujnika zjedzie jedzie najpierw w Zecie na g54 (pól biedy jak to jest niski czujnik poniżej materiału)

Wiozłem program na ten napis linuxcnc, dopisałem 3 narzędzia, pierwsze narzędzie oczywiście idzie prawidłowo bo z niego jest g54, drugie krótsze zamiast iść nad materiałem to idzie wyzej różnice wysokości (czyli nic się nie zmieniło), kolejne trzecie już dłuższe od pierwszego niżej od materiału o różnice wysokości.

Działa ona komuś w ogóle?

Awatar użytkownika

Autor tematu
tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 9
Posty: 7861
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: M6 remap

#10

Post napisał: tuxcnc » 02 maja 2021, 21:41

szatri pisze:
02 maja 2021, 20:49
Czy testowałeś ta procedurę na maszynie?

Wklepałem dziś ta konfiguracje i nie jestem zadowolony, robiłem to na patyku i dzięki temu nie rozwaliłem czujnika (choć mało brakło)

Chodzi o odjazd po pomiarze na maszynowe z0 i dojazd w TEJ wysokości nad g54 i dopiero zjazd do materiału, a nie jak obecnie po pomiarze wyjedzie w górę i już zanim z czujnika zjedzie jedzie najpierw w Zecie na g54 (pól biedy jak to jest niski czujnik poniżej materiału)

Wiozłem program na ten napis linuxcnc, dopisałem 3 narzędzia, pierwsze narzędzie oczywiście idzie prawidłowo bo z niego jest g54, drugie krótsze zamiast iść nad materiałem to idzie wyzej różnice wysokości (czyli nic się nie zmieniło), kolejne trzecie już dłuższe od pierwszego niżej od materiału o różnice wysokości.

Działa ona komuś w ogóle?
Testowałem.

Albo masz coś źle ustawione, albo oczekujesz od procedury czegoś czego ona nie robi, albo nie rozumiesz jak procedura działa, albo wszystko na raz.
Przy prawidłowym ustawieniu, po napotkaniu M6 wrzeciono powinno pojechać maksymalnie w górę, potem na pozycję wymiany narzędzia i wyświetlić "zmień narzędzie". Po potwierdzeniu, wrzeciono powinno pojechać nad czujnik, cały czas w maksymalnej górnej pozycji, zmierzyć narzędzie, wpisać offset do tabeli narzędzi, pojechać maksymalnie w górę i na tym koniec.
Program główny musi zadbać o resztę, czyli na przykład wydać sekwencję G43 G0X0Y0 G0Z0 albo coś w tym stylu.
Program sam z siebie nie będzie wiedział że wrzeciono jest nad czujnikiem, a nie tam skąd wywołano M6.
Musi tak być dla zachowania kompatybilności ze zwykłym M6, to znaczy procedura nie powinna robić niczego, czego zwykłe M6 nie robi, bo użytkownik mógłby się przyzwyczaić a potem być niemile zaskoczony że gdzie indziej działa inaczej.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”