Fanuc has also a good macro language in which you can implement a spiral feature from R1 (external) to R2 (internal) with a desired step.
Here a simple example:
Code:
G17 G21 G40 G49 G80 G90 G91.1 G94 G98
G54
G0 Z20
X0 Y0
G65 P1000 X0 Y0 R10 Z-10 A30 B10 C5 F1000
G0 Z20
X80 Y0
G65 P1000 X80 Y0 R10 Z-10 A30 B10 C2 F1000
M2
; Spiral motion from R1 to R2 with increment
;
; X #24 X of spiral center
; Y #25 Y of spiral center
; R #18 Retract height
; Z #26 Z plane to reach
; A #1 External radius R1
; B #2 Internal radius R2
; C #3 Spiral increment for turn
; F #9 Feed to cut
O1000
; moves to R1 (external radius)
G0 Z#18
G0 X#24 Y#25
G91 G0 Y#1
G90 G1 Z#26 F#9
; first full circle
G2 J-#1
; spiral loop from R1 to R2
#<quantum>=1
#<turns>=[FUP[[#1-#2]/#3]]
#<iters>=[360*#<turns>/#<quantum>]
#<i>=0
#<v>=#1
WHILE [#<i> LE #<iters>] DO01
#<x>=[#24+#<v>*[SIN[#<i>]]]
#<y>=[#25+#<v>*[COS[#<i>]]]
G1 X#<x> Y#<y>
#<i>=[#<i>+#<quantum>]
#<v>=[#<v>-[[#1-#2]/#<iters>]]
IF [#<v> LT #2] THEN #<v>=#2
END01
;latest full circle
G2 J-#2
G0 Z#18
M99
The macro 1000 create a spiral from R1 to R2 with an increment step
The macro uses named parameters (#<v>) instead of #100, #101, etc
to be more simple to read.
In your fanuc if not supported the named parameters you have to change them
with normal parameters #n.
Final result: