// ----------------------------------------------------------- // // !! P L E A S E R E A D T H I S !! // // This is a sample code generator built to // generate code for the Machine/Control combination // named below. Due to differences in programming // style, controller versions, and optional equipment // McKenzie River Software can not guarantee that the // code generated is correct for your machine. // // It is YOUR responsibility to verify that the code // created by this Code Generator will not cause a // machine malfunction which could result in scrap // and/or personal injury. // // McKenzie River Software assumes no responsibility // or liability for any damage caused or alleged to be // caused by the use of this Code Generator. // // ----------------------------------------------------------- // // Amada Turret Presses // Fanuc 6M or equivalent control @DECLARE #INT #prognum // Program number - Set in Job Notes with #prognum=#### #DEC #g92x // Coordinate origin X - Set in Travel Limits #DEC #g92y // Coordinate origin Y - Set in Travel Limits #STR #part // Part description @ @VARSET #EVAL(#g92x=JOS(mach_limitx)) #EVAL(#g92y=JOS(mach_limity)) #EVAL(#part=JOS(prt_desc)) @ @START #CALL(VARSET) #IF(#prognum=0)<#EVAL(#prognum=1)> O#FMT(#prognum,L4.0) (#part) #ONBLK G92 X#FMT(#g92x,T3.3) Y#FMT(#g92y,T3.3) #ABSI G93 X0 Y0 #RESET(#INDXA) @ @END G50 #OFFBLK% #EVAL(#INC=0) @ @SUBDEF (SUBDEF,#SNAME, NOTE: USED BY #FILE) O#SNAME #ONBLK #ABSI @ @ENDDEF M97 G90 #OFFBLK @ @GOSUB G90 G93 X#XCTR Y#YCTR M96 P#SNAME L#SREPT G90 G93 X0 Y0 @ @RAP < #ABSI> < #PUNCH>< X#XPOS>< Y#YPOS>< T#TOOL>< C#INDXA> @ @LINE G72 X#XST Y#YST #MOV I#LNLEN J#LNANG P#TLWD Q#FEED< T#TOOL>< C#INDXA> #UPDATE(#XPOS,#YPOS) @ @SHPRF < G72 X#XST Y#YST> G66 I#LNLEN J#LNANG P#TLEN Q#TLWD< D#V5>< T#TOOL>< C#INDXA> #UPDATE(#XPOS,#YPOS) @ @ARC G72 X#XCTR Y#YCTR #MOV I#ARAD J#STANG K#TANG P#TLWD Q#FEED< T#TOOL>< C#INDXA> #UPDATE(#XPOS,#YPOS) @ @REPO < #ABSI> G70 X#XPOS Y#YPOS G27 X#REPO @ @DWELL G04 X#DWELL#EVAL(#TIME=#TIME+#DWELL/60) @ @TRAPDOOR M80 M81 @ @BHC G72 X#XPOS Y#YPOS #IF(#INC=0)< G26 I#ARAD J#STANG K#NHOL< T#TOOL>> #ELSE< G29 I#ARAD J#STANG P#INC K#NHOL< T#TOOL>> #EVAL(#INC=0) @ @LAA #EVAL(#NHOL=#NHOL-1) X#XPOS Y#YPOS< T#TOOL> G28 I#INC J#LNANG K#NHOL #EVAL(#INC=0) @ @GRID #EVAL(#NHOL2=#NHOL2-1)#EVAL(#NHOL=#NHOL-1) X#XPOS Y#YPOS #IF(ABS(#INC) #ELSE< G37 I#INC P#NHOL J#INC2 K#NHOL2> #EVAL(#INC=0) @ @STOP M00 @ @OPSTOP /M00 @ @RECT G72 G90 X#XPOS Y#YPOS G67 I#INC J#INC2 P#TLWD M00 @