
M182

(M5)
(M9)
G10L81P204 Q5024

(Tool change procedure)
(5421...5428 - Working area Minimum point)
(5431...5438 - Working area Maximum point)
(5401...5409 - Current Tool Offset)
(5471...5479 - Tool Length Sensor position)
(6101...6109 - Toolchanger Position)
(5601...5609 - Toolchanger Unload offset)
(5403 - Current Tool Z Offset)
(7040 - Rapid/G0 speed)
(5400 - Current Tool number)
(5409 - Next Tool Number)
(5415 - Tool Holder Orientation)
(Position of Tool Sensor is situated in Parameters 5471 ... 5478)
(6121...6128 Toolholder #1 position)
(...)
(6181...6188 Toolholder #7 position)
(Save Current Program Position in Registers 200,201,202)
G10 L81 P200 Q5021
G10 L81 P201 Q5022
G10 L81 P202 Q5023
G28.2 A0 (save current position into Register1.Z)
#99 = #5043 (program Z)

#100= #6970 (XY speed)
#110= #6971 (XY slow speed)
#150= #6972 (Z speed)
#160= #6973 (Z slow speed)
#161= #6974 (A speed)
(#6979 - Tool Lift)
(#6980 - Delay Before Clamping )
(#6981 - Delay After Clamping )
(#6103 Tool Release Z Offset )

(Skip toolchanger procedure if changer type!=1 (Linear))
IF [ #5600 NE 1 ] 400 (Linear)
(Desired tool is the same as current)
IF [ #5400 EQ #5409 ] 400
IF [ #5409 LT 0 ] 400
IF [ #5409 EQ 8 ] 400    (Toll #8 is beyond X- limit)
(Move up to safe position)
G53 G90 G0 Z [#5433 - 1.0 ] F#150
M134    (Home A)
(No tool in Holder, skip unload procedure)
IF [ #5400 EQ 0 ] 200
IF [ #5400 GT 11 ] 400 (exit, error)
(move to XY unload position)
G53 G90 G0 X[#[6111+[#5400*10]]+#5601] Y[#[6112+[#5400*10]]+#5602] F#100
(Put tool in current tool holder)
(move down to unload/toolchanger height)
G53 G90 G0 Z[#[6113+[#5400*10]]+1] F#150
(move to toolchanger position)
G53 G90 G0 X[#[6111+[#5400*10]]] Y[#[6112+[#5400*10]]] F#110
(Release Tool)
M62P1
(Move up above toolchanger position and leave the tool)
G53 G90 G0 Z[#[6113+[#5400*10]]+#5603] F#100

N200
IF [ #5409 LE 0 ] 300 (exit if next tool<=0)
IF [ #5409 GT 11 ] 300 (exit if next tool>11 )
(At this point there's no Tool in Toolholder)
(Release Tool(Repeat))
M62P1
(move to XY tool holder position above the holder +#5603)
G53 G90 G0 Z[#[6113+[#5409*10]]+#5603+#6979] F#100
G53 G90 G0 X#[6111+[#5409*10]] Y#[6112+[#5409*10]] F#100
(move down to toolchanger position to take next tool)
G53 G90 G0 Z[#[6113+[#5409*10]]+#6103] F#150
G53 G90 G0 Z[#[6113+[#5409*10]]] F#160
(Clamp Tool in toolholder)
G04 P#6980
M63P1
G10 L81 P5400 Q5409    (set current tool number)
G04 P#6981

G53 G90 G0 X[#[6111+[#5409*10]]+#5601] Y[#[6112+[#5409*10]]+#5602] F#110
(move up to safe position)
G53 G90 G0 Z [#5433 - 1.0 ] F#150

N300
G10 L81 P5400 Q5409    (set current tool number)
M422    (Tool length measure)
G53 G90 G0 X#200 Y#201 F#100
G53 G28.5 F#161 A0
(G53 G90 G0 A#203 F#161 - not working:(    )
(G53 G90 G0 Z#202 F#150 :-(   )
(G90 G0 Z#202 F#150 (still no)
G90 G0 Z#99 F#150   (yes)

N400

M183

