I work on an older Fadal 4020 with 88HS control. I mostly do one-offs or small quantity. In this op I had to face the ends of a bar and bevel the corners 10x10mm. I set up subroutine for each end and called them from the main program. A couple of times the machine returned the error "cannot return from subprogram or subroutine - calling line cannot be found" and another time the machine just hung at one step.

Can anyone proof the code to see where I may have gone wrong? I'm using the Peter Smid book and the machine manual as my references. Also, if anyone can think of a more elegant method of doing this op (varying Z depth by use of incrementing variable) I'd been keen to hear of it.

Thanks!
Matt (noob)

N1O10(PRESS 11789
N2L100
N3#R1=R1+3
N4G1Z-R1F500.
N5G41G1X10.Y-65.
N6X0Y-55.
N7Y55.
N8X10.Y65.
N9X10.Y85.G40
N10G0Z50.
N11Y-85.
N12Z5.
N13M17
N14L200
N16#R1=R1+3
N17G1Z-R1F500.
N18G1X880.Y65.G41
N19X890.Y55.
N20Y-55.
N21X880.Y-65.
N22X880.Y-85.G40
N23G0Z50.
N24Y85.
N25Z5.
N26M17
N27M30
N28(TOOL CALL
<other ops snipped>
N119G80M5M9
N120(TOOL CALL
N121G0G17G40G80G90M5M9H0Z0
N122T7M6(20 DIA R390
N123X10.Y-85.E1S2400M3
N124Z50.D7H7M8
N125Z5.
N126F500.
N127#R1=0
N128L106
N129G0Z100.
N130X880.Y85.
N131Z5.
N132G1Z0F500.
N133#R1=0
N134L206
N135G0Z100.
N136M5M9G80
N137(ENDING PROGRAM
N138G0G90M5M9
N139Z0G53
N140X0Y253.Z0E0H0
N141M30