// ---------------------------------------- // // The following SmartCAM code generator has been // created to generate NC code for the respective // machine and control combinations listed below. // // Due to differences in programming styles, // controller versions, and optional equipment, // SmartCAMcnc DOES NOT and CANNOT guarantee // that the NC code generated is correct for any // specific machine. Some modification to the code // generator to match your setup and output // requirements is likely necessary. // // Modifications to code generators do not TYPICALLY // require a significant amount of time. SmartCAM // customers with active SMA contracts are entitled // to support for their code generators from the // SmartCAMcnc Support Group. To contact them for // support, please send an email to: // Support@SmartCAMcnc.com. If you would like // information on purchasing SMA for your SmartCAM // products, please contact: Sales@SmartCAMcnc.com // // DISCLAIMER: It is the responsibility of the end // user to confirm and verify that the NC code // created by any code generator is accurate and // will not cause a machine malfunction which // could result in stock, tooling, machine, and/or // personal injury. // // SmartCAMcnc assumes no responsibility or // liability for any damage caused or alleged to // have been caused by the use of any of the code // generators it provides. // ---------------------------------------- @COMMENTS Machine: DEVLIEG JMC54R80 HOR. W/CONTOUR BORING HEAD Control: ALLEN BRADLEY 7320 Supported Functions: G-Codes (Preparatory Functions) G00 Positioning mode G01 Linear interpolation (contouring) G04 Dwell G33 Thread Cycle Command G40 Tool radius compensation cancel G41 Tool radius compensation, left G42 Tool radius compensation, right ----------------------------------------------------------------------------- G90 Absolute positioning mode G91 Incremental positioning mode G93 1/ Time Feed Rate Mode G94 IPM Feed Rate Mode G96 CSS Speed Mode G97 RPM Speed Mode M-Codes (Miscellaneous Functions) M00 Program stop (user command @STOP) M01 Optional stop (user command @OPSTOP) M02 End of Program M03 Spindle on CW M04 Spindle on CCW (use negative spindle speed in job plan) M05 Spindle Stop M08 Coolant on - Flood M09 Coolant off M30 End of program / rewind tape ---------------------------------------------------- Special variables/considerations: This Code Generator is for driving a contour boring head. This paricular device was developed by Devlieg and was originally tested by 20th Century for Devlieg. Basically, this code generator is for a lathe due to the fact that lathe tooling is used exclusively. Therefore the Job Plan is a lathe Job Plan and the Lathe Module is used for all graphics. The "X" and "Y" axes of the machine are fixed while using the boring head. The "Z" axis is used to move the lathe tool in and out of the head which emulates the lathe "X" axis. The "W" axis is used to feed the workpiece toward the spindle which will emulate the "Z" axis in the lathe module. See diagram ... | (+) | Pos. Dir. | ______________|_____________________ Z Axis in Lathe Mod. | W Axis Mach. Motion | (W#ZPOS IN .TMP) | | (-) | Neg. Dir. | X Axis in the Lathe Module | Z Axis Machine Motion | (Z#XPOS IN .TMP) 20th Century does a lot of threading using the boring head so, code for a threading cycle is built into the code generator. One other consideration is in the area of circular interpolation. Code for arcs have to be output using linear moves so I would use a lot of chamfers at corners instead of blend radii to reduce the amount of code if possible. The #TLID in the Job Plan is used to give the mill H value for height offset which is not available in the lathe Job Plan. Code from this Code Generator should not be merged with code from the standard Code Generator due to the fact that Tool Change commands will cause a crash if used on the contour boring head. This particular head requires a crane to load and unload. Therefore, the use of this head is for single operation only. @START % #ONBLKG94 G70 G90 G00W19.5M59 H00Z0R0 G00X0Y0 S#SPEEDM03 H#TLIDZ#XPOSW#ZPOS #NEXTPT @TOOLCHG H00Z0W19.5R0M05 M00 G90 G94 G0X0Y0Z0W19.5R0 S#SPEEDM03 H#TLIDZ#XPOSW#ZPOS @END Z0W19.5 R0M05 M30 #OFFBLK @STPROF #RESET(#FXD) <#MOV> @RAP #RESET(#FXD) <#MOV> @LINE #RESET(#FXD) <#MOV> @ARC #RESET(#FXD) <#MOV> @FXD1 G33W#ZPASSR#FTHRD @FXD2 W#ZPOS> <#FXD> @FXD3 > <#FXD> @FXD4 G33W#ZPASSR#FEED G00Z#XPOS W#ZPOS G33W#ZPOSF#FEED @FXD5 G74Z#ZPASSK#PECKF#FEED @DWELL G04P#DWELL#EVAL(#TIME=#DWELL/60) @