Kombinowałem z tymi plikami z gita i niestety, nie udało mi się tego odpalić na maszynie. Z tego na ile się zorientowałem, to są wszystko symulacje, nie działa toto na realnej maszynie. Mało tego, we własnych procedurach miałem problemy z korekcją G43.1, niby działała ale po podaniu na koniec G0 Z0 frez nie trzymał poprawnej wysokości.
W końcu zrobiłem po chłopsku, zasada jest taka:
1. Zjeżdżam frezem do zera materiału i w axisie ustawiam offset Z na 0
2. Wciskam button "pomiar referencyjny freza" wg kol. Syntetycznego, uruchamia mi się procedura tool_probe.ngc która wygląda tak:
o<tool_probe> sub
M73
G21
G90
(; tool changed - move to toolensor)
G53 G0 Z0
G53 G0 X #<_ini[toolsensor]x> Y #<_ini[toolsensor]y>
G53 G0 Z #<_ini[toolsensor]z>
G91
G38.3 Z #<_ini[toolsensor]maxprobe> F200
G38.4 Z10 F1
G90
#1000=[#5223+#5063] (save reference tool length from Z 0 offset)
G53 G1 Z #<_ini[after_change_position]z> F1300
G53 G0 X #<_ini[after_change_position]x> Y #<_ini[after_change_position]y>
o<tool_probe> endsub
m2
W tym momencie możemy zacząć frezować. Jeśli okaże się że źle ustawiłem zero materiału, to mogę klawiszem zjechać ciut w dół na prawidłowe zero i w axisie ponownie ustawić na tym offset Z zero. Nie trzeba już robić powtórnego pomiaru referencyjnego.
3. W momencie wywołania w gkodzie Tx M6 cnc wyjeżdża do wymiany narzędzia, po wymianie jest wywołana procedura change_tool.ngc:
o<change_tool> sub
M6
M73
G21
G90
(; tool changed - move to toolensor)
G53 G0 Z0
G53 G0 X #<_ini[toolsensor]x> Y #<_ini[toolsensor]y>
G53 G0 Z #<_ini[toolsensor]z>
G91
G38.3 Z #<_ini[toolsensor]maxprobe> F200
G38.4 Z10 F1
G90
G92 Z[#1000-#5223]
G53 G1 Z #<_ini[after_change_position]z> F1300
G53 G0 X #<_ini[after_change_position]x> Y #<_ini[after_change_position]y>
o<change_tool> endsub
m2
maszyna jedzie na pomiar a potem do roboty.
Trzeba jeszcze poprawić .ini to co najważniejsze (pomijam to co podał kol. Syntetyczny):
[RS274NGC]
SUBROUTINE_PATH = ./nc_subroutines (do tego podkatalogu wrzucamy change_tool.ngc)
REMAP=M6 modalgroup=6 ngc=change_tool
# start of tool length touchoff probe - ustawienia XYZ wg tego co kto ma na maszynie
[TOOLSENSOR]
X = 938
Y = 588
Z = -70
MAXPROBE=-60 # abort change if no toolsensor contact after this probe distance
[AFTER_CHANGE_POSITION]
X = 500
Y = 190
Z = -1
[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl
TOOL_CHANGE_POSITION = 500 190 -1
i to właściwie wszystko

. Zdaje się, że po pomiarze referencyjnym, w każdej chwili można w axisie zmieniać offset na Z-ce, nawet po kilkukrotnej wymianie frezów, ale póki co głowy za to nie dam.
Oczywiście każdy korzysta z tego na własną odpowiedzialność - ja za nic głowy nie dam
Mam jeszcze pytanie: z tego co podawał kol. Syntetyczny, w .ini:
[HALUI]
MDI_COMMAND = o<tool_probe> call
ten tool_probe musi być w katalogu do którego jest wskazanie w
PROGRAM_PREFIX = .........
czy jest możliwe jakieś bezpośrednie wskazanie typu:
MDI_COMMAND = ./nc_subroutines/ o<tool_probe> call ???
jakoś nie mogę tego łyknąć.
Sorry za trochę przydługi post, ale wydaje mi się, że tak łatwiej ogarnąć całość
