Preface SINUMERIK SINUMERIK 840D sl/840Di sl/840D/840Di/810D Fundamentals Programming Manual Valid for Control SINUMERIK 840D sl/840DE sl SINUMERIK 840Di sl/840DiE sl SINUMERIK 840D powerline/840DE powerline SINUMERIK 840Di powerline/840DiE powerline SINUMERIK 810D powerline/810DE powerline Software NCU Systemsoftware fur 840D sl/840DE sl NCU Systemsoftware fur 840Di sl/DiE sl NCU Systemsoftware fur 840D/840DE NCU Systemsoftware fur 840Di/840DiE NCU Systemsoftware fur 810D/810DE 11/2006 6FC5398-1BP10-2BA0 Version 1.4 1.0 7.4 3.3 7.4 Fundamental Geometrical Principles 1 Fundamental Principles of NC Programming 2 Positional Data 3 Motion commands 4 Path Action 5 Frames 6 Feedrate Control and Spindle Motion 7 Tool offsets 8 Special functions 9 Arithmetic Parameters and Program Jumps 10 Program section repetition 11 Tables 12 Appendix A Safety Guidelines This manual contains notices you have to observe in order to ensure your personal safety, as well as to prevent damage to property. The notices referring to your personal safety are highlighted in the manual by a safety alert symbol, notices referring only to property damage have no safety alert symbol. These notices shown below are graded according to the degree of danger. Danger indicates that death or severe personal injury will result if proper precautions are not taken. Warning indicates that death or severe personal injury may result if proper precautions are not taken. Caution with a safety alert symbol, indicates that minor personal injury can result if proper precautions are not taken. Caution without a safety alert symbol, indicates that property damage can result if proper precautions are not taken. Notice indicates that an unintended result or situation can occur if the corresponding information is not taken into account. If more than one degree of danger is present, the warning notice representing the highest degree of danger will be used. A notice warning of injury to persons with a safety alert symbol may also include a warning relating to property damage. Qualified Personnel The device/system may only be set up and used in conjunction with this documentation. Commissioning and operation of a device/system may only be performed by qualified personnel. Within the context of the safety notes in this documentation qualified persons are defined as persons who are authorized to commission, ground and label devices, systems and circuits in accordance with established safety practices and standards. Prescribed Usage Note the following: Warning This device may only be used for the applications described in the catalog or the technical description and only in connection with devices or components from other manufacturers which have been approved or recommended by Siemens. Correct, reliable operation of the product requires proper transport, storage, positioning and assembly as well as careful operation and maintenance. Trademarks All names identified by (R) are registered trademarks of the Siemens AG. The remaining trademarks in this publication may be trademarks whose use by third parties for their own purposes could violate the rights of the owner. Disclaimer of Liability We have reviewed the contents of this publication to ensure consistency with the hardware and software described. Since variance cannot be precluded entirely, we cannot guarantee full consistency. However, the information in this publication is reviewed regularly and any necessary corrections are included in subsequent editions. Siemens AG Automation and Drives Postfach 48 48 90437 NURNBERG GERMANY Order No.: 6FC5398-1BP10-2BA0 11/2006 Copyright (c) Siemens AG 2006. Technical data subject to change Preface SINUMERIK(R) Documentation The SINUMERIK documentation is organized in 3 parts: * General Documentation * User Documentation * Manufacturer/service documentation An overview of publications (updated monthly) indicating the language versions available can be found on the Internet at: http://www.siemens.com/motioncontrol Select the menu items "Support" "Technical Documentation" "Overview of Publications". The Internet version of DOConCD (DOConWEB) is available at: http://www.automation.siemens.com/doconweb Information about training courses and FAQs (Frequently Asked Questions) can be found at the following website: http://www.siemens.com/motioncontrol under menu option "Support" Target group This publication is intended for: * Programmers * Project engineers Benefits With the programming manual, the target group can develop, write, test, and debug programs and software user interfaces. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 3 Preface Standard scope This Programming Guide describes the functionality afforded by standard functions. Extensions or changes made by the machine tool manufacturer are documented by the machine tool manufacturer. Other functions not described in this documentation might be executable in the control. This does not, however, represent an obligation to supply such functions with a new control or when servicing. Further, for the sake of simplicity, this documentation does not contain all detailed information about all types of the product and cannot cover every conceivable case of installation, operation or maintenance. Technical Support If you have any technical questions, please contact our hotline: Europe/Africa Asia/Australia America Phone +49 180 5050 222 +86 1064 719 990 +1 423 262 2522 Fax +49 180 5050 223 +86 1064 747 474 +1 423 262 2289 Internet http://www.siemens.com/automation/support-request E-Mail mailto:adsupport@siemens.com Note Country telephone numbers for technical support are provided under the following Internet address: Enter http://www.siemens.com/automation/service&support Questions about the manual If you have any queries (suggestions, corrections) in relation to this documentation, please fax or e-mail us: Fax: +49 (0) 9131 / 98 - 63315 E-mail: mailto:docu.motioncontrol@siemens.com Fax form: See the reply form at the end of this publication SINUMERIK Internet address http://www.siemens.com/sinumerik 4 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Preface EC declaration of conformity The EC Declaration of Conformity for the EMC Directive can be found/obtained from: * the internet: http://www.ad.siemens.de/csinfo under product/order no. 15257461 * the relevant branch office of the A&D MC group of Siemens AG. Export version The following functions are not available in the export version: Function 810DE 840DE sl 840DE 840DiE sl 840DiE Helical interpolation 2D+6 - - - - - Milling machining package - - - - - Five axis machining package - - - - - Handling transformation package - - - - - (Basic version, no options) Multi-axis interpolation (> 4 interpolating axes) - - - - - OA NCK compile cycles - - - - - Clearance control 1D/3D in position-control cycle 1) - - - - - Synchronized actions # # # # # Master-value coupling and curve-table interpolation # # # # # Sag compensation, multi-dimensional # # # # # Synchronized actions, stage 2 1) (Basic version, no options) - - # - # Electronic gear 1) - - # - # Electronic transfer - - # - # 1) # Restricted functionality - Function not available 1) The restricted functions for the SINUMERIK 810DE powerline / SINUMERIK 840DE sl/ SINUMERIK 840DE powerline/SINUMERIK 840DiE sl/SINUMERIK 840DiE powerline export versions impose a limit of "max. 4 interpolating axes". Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 5 Preface Description Fundamentals This Programming Guide "Fundamentals" is intended for use by skilled machine operators with the appropriate expertise in drilling, milling and turning operations. Simple programming examples are used to explain the commands and statements which are also defined according to DIN 66025. Job planning The Programming Guide "Job Planning" is intended for use by technicians with in-depth, comprehensive programming knowledge. By virtue of a special programming language, the SINUMERIK 840D sl/840Di sl/840D/840Di/810D control enables the user to program complex workpiece programs (e.g., for free-form surfaces, channel coordination, etc.) and greatly facilitates the programming of complicated operations. The commands and statements described in this Programming Guide are not specific to one particular technology. They can be used for a variety of tasks, such as * Turning, milling and grinding * Cyclical machines (packaging, woodworking) * Laser power controls. 6 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Table of contents Preface ...................................................................................................................................................... 3 1 2 Fundamental Geometrical Principles ....................................................................................................... 13 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 Description of workpiece points ...................................................................................................13 Workpiece coordinate systems ....................................................................................................13 Definition of workpiece positions..................................................................................................14 Polar coordinates .........................................................................................................................17 Absolute dimensions....................................................................................................................17 Incremental dimension.................................................................................................................19 Plane designations.......................................................................................................................21 1.2 Position of zero points..................................................................................................................22 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 Position of coordinate systems ....................................................................................................24 Overview of various coordinate systems .....................................................................................24 Machine coordinate system .........................................................................................................25 Basic coordinate system ..............................................................................................................28 Workpiece coordinate system......................................................................................................30 Frame system ..............................................................................................................................31 Assignment of workpiece coordinate system to machine axes ...................................................33 Current workpiece coordinate system .........................................................................................34 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.4.10 1.4.11 1.4.12 Axes .............................................................................................................................................34 Main axes/Geometry axes ...........................................................................................................36 Special axes.................................................................................................................................37 Main spindle, master spindle .......................................................................................................37 Machine axes ...............................................................................................................................37 Channel axes ...............................................................................................................................38 Path axes .....................................................................................................................................38 Positioning axes ...........................................................................................................................38 Synchronized axes.......................................................................................................................39 Command axes ............................................................................................................................40 PLC axes......................................................................................................................................40 Link axes ......................................................................................................................................40 Lead link axes ..............................................................................................................................42 1.5 Coordinate systems and workpiece machining ...........................................................................44 Fundamental Principles of NC Programming ........................................................................................... 47 2.1 Structure and contents of an NC program ...................................................................................47 2.2 Language elements of the programming language .....................................................................49 2.3 Programming a sample workpiece...............................................................................................69 2.4 First programming example for milling application ......................................................................70 2.5 Second programming example for milling application .................................................................71 2.6 Programming example for turning application .............................................................................74 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 7 Table of contents 3 4 8 Positional Data......................................................................................................................................... 77 3.1 3.1.1 General notes.............................................................................................................................. 77 Program dimensions ................................................................................................................... 77 3.2 3.2.1 3.2.2 Absolute/relative dimensions ...................................................................................................... 78 Absolute dimension (G90, X=AC) ............................................................................................... 78 Incremental dimensions (G91, X=IC).......................................................................................... 82 3.3 Absolute dimension for rotary axes (DC, ACP, ACN)................................................................. 86 3.4 Dimensions inch/metric, (G70/G700, G71/G710) ....................................................................... 88 3.5 3.5.1 3.5.2 Special turning functions ............................................................................................................. 91 Dimensions for radius, diameter in the channel (DIAMON/OF, DIAM90)................................... 91 Position of workpiece .................................................................................................................. 96 3.6 Zero offset frame, (G54 to G57, G505 to G599, G53, G500/SUPA ........................................... 98 3.7 Selection of working plane (G17 to G19) .................................................................................. 104 3.8 Working area limitation in BCS (G25/G26, WALIMON, WALIMOF) ......................................... 108 3.9 Working area limitation in WCS/SZS (WALCS0 ... WALCS10) ................................................ 111 3.10 Reference point approach (G74) .............................................................................................. 114 Motion commands ................................................................................................................................. 115 4.1 General notes............................................................................................................................ 115 4.2 4.2.1 4.2.2 Travel commands with polar coordinates, polar angle, polar radius ........................................ 118 Defining the pole (G110, G111, G112) ..................................................................................... 118 Traversing commands with polar coordinates, (G0, G1, G2, G3 AP=..., RP=...) ..................... 121 4.3 Rapid traverse movement (G0, RTLION, RTLIOF) .................................................................. 125 4.4 Linear interpolation (G1) ........................................................................................................... 129 4.5 Circular interpolation types, (G2/G3, CIP, CT).......................................................................... 131 4.6 Circular interpolation with center point and end point (G2/G3, I=, J=, K=AC...) ....................... 135 4.7 Circular interpolation with radius and end point (G2/G3, CR)................................................... 139 4.8 Circular interpolation with arc angle and center point (G2/G3, AR=)........................................ 141 4.9 Circular interpolation with polar coordinates (G2/G3, AP=, RP=)............................................. 143 4.10 Circular interpolation with intermediate and end points (CIP)................................................... 145 4.11 Circular interpolation with tangential transition (CT) ................................................................. 147 4.12 Helical interpolation (G2/G3, TURN=)....................................................................................... 150 4.13 Involute interpolation (INVCW, INVCCW)................................................................................. 155 4.14 4.14.1 4.14.2 4.14.3 4.14.4 Contour definitions .................................................................................................................... 159 Straight line with angle (X2... ANG...) ....................................................................................... 159 Two straight lines (ANG1, X3... Z3... ANG2) ............................................................................ 160 Three straight lines (ANG1, X3... Z3... ANG2, X4... Z4...) ........................................................ 161 End point programming with angle ........................................................................................... 163 4.15 4.15.1 Thread cutting with constant lead (G33) ................................................................................... 164 Programmable run-in and run-out paths (DITS, DITE) ............................................................. 171 4.16 Linear progressive/degressive thread pitch change (G34, G35) .............................................. 173 4.17 Tapping without compensating chuck (G331, G332)................................................................ 175 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Table of contents 5 6 7 4.18 Tapping with compensating chuck (G63) ..................................................................................179 4.19 4.19.1 4.19.2 Stop with thread cutting (LFOF, LFON, LFTXT, LFWP, LFPOS) ..............................................181 Retraction for thread cutting (LFOF, LFON, LIFTFAST, DILF, ALF) .........................................181 Lifting on retraction (LFTXT, LFWP, LFPOS, POLF, POLFMASK; POLFMLIN).......................183 4.20 Approaching a fixed point (G75) ................................................................................................186 4.21 Travel to fixed stop (FXS, FXST, FXSW) ..................................................................................188 4.22 Chamfer, rounding (CHF, CHR, RND, RNDM, FRC, FRCM)....................................................193 Path Action ............................................................................................................................................ 199 5.1 5.1.1 General notes.............................................................................................................................199 Programming path travel behavior.............................................................................................199 5.2 Exact stop (G60, G9, G601, G602, G603).................................................................................202 5.3 Continuous-path mode (G64, G641, G642, G643, G644).........................................................205 5.4 5.4.1 5.4.2 5.4.3 Acceleration behavior ................................................................................................................215 Acceleration response, BRISK, SOFT, DRIVE..........................................................................215 Influence of acceleration on following axes (VELOLIMA, ACCLIMA, JERKLIMA)....................217 Technology G group (DYNNORM, DYNPOS, DYNROUGH, DYNSEMIFIN, DYNFINISH) ......219 5.5 Smoothing the path velocity.......................................................................................................220 5.6 Traversing with feedforward control, FFWON, FFWOF.............................................................222 5.7 Contour accuracy, CPRECON, CPRECOF ...............................................................................223 5.8 Dwell time, delay (G4, WRTPR) ................................................................................................224 5.9 Internal preprocessing stop........................................................................................................225 Frames ................................................................................................................................................ 227 6.1 General ......................................................................................................................................227 6.2 Frame instructions .....................................................................................................................229 6.3 6.3.1 6.3.2 Programmable zero offset..........................................................................................................232 Zero offset (TRANS, ATRANS)..................................................................................................232 Axial zero offset (G58, G59) ......................................................................................................237 6.4 Programmable rotation (ROT, AROT, RPL) ..............................................................................239 6.5 Programmable frame rotations with solid angles (ROTS, AROTS, CROTS) ............................251 6.6 Programmable scale factor (SCALE, ASCALE) ........................................................................252 6.7 Programmable mirroring (MIRROR, AMIRROR) .......................................................................256 6.8 Frame generation according to tool orientation (TOFRAME, TOROT, PAROT).......................261 6.9 Deselect frame (G53, G153, SUPA, G500) ...............................................................................264 6.10 Deselect DRF (handwheel) offsets, overlaid motions (DRFOF, CORROF) ..............................265 Feedrate Control and Spindle Motion .................................................................................................... 269 7.1 Feedrate (G93, G94, G95 or F..., FGROUP, FGREF)...............................................................269 7.2 Traversing positioning axes (POS, POSA, POSP, FA, WAITP, WAITMC) ...............................278 7.3 Position-controlled spindle operation (SPCON, SPCOF) ..........................................................281 7.4 Positioning spindles (SPOS, M19 and SPOSA, WAITS)...........................................................282 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 9 Table of contents 8 10 7.5 Feedrate for positioning axes/spindles (FA, FPR, FPRAON, FPRAOF) .................................. 290 7.6 Percentage feedrate override (OVR, OVRA) ............................................................................ 293 7.7 Feedrate with handwheel override (FD, FDA) .......................................................................... 294 7.8 Percentage acceleration override (ACC option) ....................................................................... 298 7.9 Feedrate optimization for curved path sections (CFTCP, CFC, CFIN)..................................... 300 7.10 Spindle speed (S), direction of spindle rotation (M3, M4, M5).................................................. 302 7.11 Constant cutting rate (G96/G961/G962, G97/G971/G972, G973, LIMS, SCC[AX])................. 306 7.12 Constant grinding wheel peripheral speed (GWPSON, GWPSOF).......................................... 312 7.13 Programmable spindle speed limitation (G25, G26)................................................................. 313 7.14 Multiple feedrate values in one block (F.., ST=.., SR=.., FMA.., STA=.., SRA=..).................... 314 7.15 Blockwise feed (FB...) ............................................................................................................... 317 Tool offsets ............................................................................................................................................ 319 8.1 8.1.1 8.1.2 General notes............................................................................................................................ 319 Tool offsets................................................................................................................................ 319 Tool offsets in the control's offset memory ............................................................................... 320 8.2 List of tool types ........................................................................................................................ 324 8.3 8.3.1 8.3.2 Tool selection/tool call T............................................................................................................ 331 Tool change with T commands (turning)................................................................................... 331 Tool change with M06 (mill) ...................................................................................................... 332 8.4 Tool offset D.............................................................................................................................. 335 8.5 8.5.1 8.5.2 Tool selection T with tool management .................................................................................... 337 Turning machine with circular magazine (T selection).............................................................. 339 Milling machine with chain magazine (T selection)................................................................... 340 8.6 8.6.1 8.6.2 Tool offset call D with tool management ................................................................................... 341 Turning machine with circular magazine (D call) ...................................................................... 341 Milling machine with chain magazine (D call) ........................................................................... 342 8.7 Activating the active tool offset immediately ............................................................................. 343 8.8 Tool radius compensation (G40, G41, G42) ............................................................................. 343 8.9 Contour approach and retraction (NORM, KONT, KONTC, KONTT)....................................... 355 8.10 Compensation at the outside corners (G450, G451) ................................................................ 362 8.11 8.11.1 8.11.2 Smooth approach and retraction............................................................................................... 367 Approach and retraction (G140 to G143, G147, G148, G247, G248, G347, G348, G340, G341) ........................................................................................................................................ 367 Approach and retraction with enhanced retraction strategies (G460, G461, G462)................. 378 8.12 Collision monitoring (CDON, CDOF, CDOF2) .......................................................................... 382 8.13 2D tool compensation (CUT2D, CUT2DF)................................................................................ 386 8.14 Tool length compensation for orientable toolholders (TCARR, TCOABS, TCOFR)................. 389 8.15 Grinding-specific tool monitoring in parts programs (TMON, TMOF) ....................................... 392 8.16 8.16.1 8.16.2 Additive offsets.......................................................................................................................... 394 Select offsets (via DL numbers)................................................................................................ 395 Specify wear and setup values ($TC_SCPxy[t,d], $TC_ECPxy[t,d]) ........................................ 396 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Table of contents 9 8.16.3 Delete additive offsets (DELDL).................................................................................................397 8.17 8.17.1 8.17.2 8.17.3 8.17.4 Special handling of tool offsets ..................................................................................................398 Mirroring of tool lengths .............................................................................................................400 Wear sign evaluation .................................................................................................................401 Coordinate system of the active machining operation (TOWSTD/TOWMCS/TOWWCS/TOWBCS/TOWTCS/TOWKCS) ...........................................402 Tool length and plane change....................................................................................................405 8.18 Tools with a relevant cutting edge length ..................................................................................406 Special functions.................................................................................................................................... 409 9.1 9.1.1 9.1.2 10 11 Arithmetic Parameters and Program Jumps .......................................................................................... 417 10.1 Arithmetic parameter (R)............................................................................................................417 10.2 Unconditional program jumps ....................................................................................................419 10.3 Conditional program jumps (IF, GOTOB, GOTOF, GOTO, GOTOC) .......................................421 Program section repetition ..................................................................................................................... 425 11.1 12 A Auxiliary function outputs ...........................................................................................................409 M functions.................................................................................................................................413 H functions .................................................................................................................................415 Program section repetition .........................................................................................................425 Tables.................................................................................................................................................... 431 12.1 List of statements.......................................................................................................................431 12.2 List of addresses........................................................................................................................471 12.3 List of G functions/preparatory functions ...................................................................................479 12.4 12.4.1 12.4.2 12.4.3 12.4.4 List of predefined subprograms .................................................................................................494 Predefined subroutine calls........................................................................................................494 Predefined subroutine calls in motion-synchronous actions......................................................509 Predefined functions ..................................................................................................................510 Data types ..................................................................................................................................516 Appendix................................................................................................................................................ 517 A.1 List of abbreviations ...................................................................................................................518 A.2 A.2.1 A.2.2 List of abbreviations ...................................................................................................................523 Correction sheet - fax template..................................................................................................523 Overview ....................................................................................................................................525 Glossary ................................................................................................................................................ 527 Index...................................................................................................................................................... 551 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 11 Table of contents 12 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Fundamental Geometrical Principles 1.1 Description of workpiece points 1.1.1 Workpiece coordinate systems 1 In order for the machine or control to operate with the specified positions, these data must be entered in a reference system that corresponds to the direction of motion of the axis slides. A coordinate system with the axes X, Y and Z is used for this purpose. Milling: = < ; r : r r < ; = Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 13 Fundamental Geometrical Principles 1.1 Description of workpiece points Turning: < ; = r : r r ; = < DIN 66217 stipulates that machine tools must use right-handed, rectangular (Cartesian) coordinate systems. The workpiece zero (W) is the origin of the workpiece coordinate system. Sometimes it is advisable or even necessary to work with negative positional data. Positions to the left of the origin are prefixed by a negative sign (-). 1.1.2 Definition of workpiece positions To specify a position, imagine that a ruler is placed along the coordinate axes. You can now describe every point in the coordinate system by specifying the direction (X, Y and Z) and three numerical values. The workpiece zero always has the coordinates X0, Y0, and Z0. The infeed depth must also be described in milling operations. One plane is sufficient to describe the contour on a lathe. Workpiece positions in the working area For the sake of simplicity, we will only use one plane of the coordinate system in this example, i.e., the X/Y plane. Points P1 to P4 then have the following coordinates: 14 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Fundamental Geometrical Principles 1.1 Description of workpiece points < 3 3 ; ; 3 3 < P1 corresponds to X100 Y50 P2 corresponds to X-50 Y100 P3 corresponds to X-105 Y-115 P4 corresponds to X70 Y-75 ; 3 3 3 3 = The workpiece positions are required only in one plane for turning. Points P1 to P4 are defined by the following coordinates: P1 corresponds to X25 Z-7.5 P2 corresponds to X40 Z-15 P3 corresponds to X40 Z-25 P4 corresponds to X60 Z-35 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 15 Fundamental Geometrical Principles 1.1 Description of workpiece points Example of turning positions Points P1 and P2 are defined by the following coordinates: ; ; 3 < = 3 3 3 3 P1 corresponds to X-20 Y-20 Z23 P2 corresponds to X13 Y-13 Z27 Example:Positions for milling To state the infeed depth, we need to specify a numerical value for the third coordinate (Z in this case). < < 3 3 3 3 3 3 = ; Points P1 to P3 are defined by the following coordinates: P1 corresponds to X10 Y45 Z-5 P2 corresponds to X30 Y60 Z-20 P3 corresponds to X45 Y20 Z-15 16 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Fundamental Geometrical Principles 1.1 Description of workpiece points 1.1.3 Polar coordinates The method used to date to specify points in the coordinate system is known as the "Cartesian coordinate" method. However, there is another way to specify coordinates, i.e., as so-called "polar coordinates". The polar coordinate method is useful only if a workpiece or part of a workpiece has radius and angle measurements. The point, on which the measurements are based, is called the "pole". Example of polar data The points P1 and P2 can then be described, with reference to the pole, as follows: < 3 3 3ROH ; P1 corresponds to radius =100 plus angle =30 P2 corresponds to radius =60 plus angle =75 1.1.4 Absolute dimensions With absolute dimensions, all the positional data refer to the currently valid zero point. Applied to tool movement this means: the position, to which the tool is to travel. Example of milling The positional parameters for points P1 to P3 in absolute dimensions referring to the zero point are the following: Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 17 Fundamental Geometrical Principles 1.1 Description of workpiece points < 3 3 3 ; P1 corresponds to X20 Y35 P2 corresponds to X50 Y60 P3 corresponds to X70 Y20 Example of turning The positions for points P1 to P4 in absolute dimensions are as follows with reference to the zero point: ; 3 3 3 3 = P1 corresponds to X25 Z-7.5 P2 corresponds to X40 Z-15 P3 corresponds to X40 Z-25 P4 corresponds to X60 Z-35 18 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Fundamental Geometrical Principles 1.1 Description of workpiece points 1.1.5 Incremental dimension Production drawings are frequently encountered, however, where the dimensions refer not to the origin, but to another point on the workpiece. In order to avoid having to convert such dimensions, it is possible to specify them in incremental dimensions. Incremental dimensions refer to the positional data for the previous point. Applied to tool movement this means: The incremental dimensions describe the distance the tool is to travel. Example of milling The positional data for points P1 to P3 in incremental dimensions are: < 3 3 3 ; P1 corresponds to X20 Y35 ;(with reference to the zero point) P2 corresponds to X30 Y20 ;(with reference to P1) P3 corresponds to X20 Y-35 ;(with reference to P2) Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 19 Fundamental Geometrical Principles 1.1 Description of workpiece points Example of turning The positions for points P1 to P4 in incremental dimensions are as follows: ; 3 3 3 3 = G90 P1 corresponds to X25 Z-7.5 ;(with reference to the zero point) G91 P2 corresponds to X15 Z-7.5 ;(with reference to P1) G91 P3 corresponds to Z-10 ;(with reference to P2) G91 P4 corresponds to X20 Z-10 ;(with reference to P3) Note When DIAMOF or DIAM90 is active, the path setpoint is programmed as a radius dimension with G91. 20 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Fundamental Geometrical Principles 1.1 Description of workpiece points 1.1.6 Plane designations When programming, it is necessary to specify the working plane so that the control system can calculate the tool offset values correctly. The plane is also relevant to certain types of circular programming and polar coordinates. A plane is defined by means of two coordinate axes. Milling: = < * * * ; Turning: < ; * * * = The third coordinate axis is perpendicular to this plane and determines the infeed direction of the tool (e.g., for 2D machining). Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 21 Fundamental Geometrical Principles 1.2 Position of zero points Working planes The working planes are specified as follows in the NC program with G17, G18 and G19: 1.2 Level Designation Infeed direction X/Y G17 Z Z/X G18 Y Y/Z G19 X Position of zero points The various origins (zero points) and reference positions are defined on the NC machine. They are reference points * for the machine to approach and * for programming the workpiece dimensions. The diagrams show the zero points and reference points for drilling/milling machines and turning machines. Milling: < : 0 22 : ; Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Fundamental Geometrical Principles 1.2 Position of zero points Turning: ; 5 % 0 $ : = Reference points They are: M Machine zero A Blocking point. Can coincide with the workpiece zero point (only turning machines). W Workpiece zero = Program zero B Start point. Can be defined for each program. Start point of the first tool for machining. R Reference point. Position determined by cams and measuring system. The distance to the machine zero M must be known, so that the axis position can be set at this place exactly on this value Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 23 Fundamental Geometrical Principles 1.3 Position of coordinate systems 1.3 Position of coordinate systems 1.3.1 Overview of various coordinate systems We distinguish between the following coordinate systems: * The machine coordinate system with the machine zero M * The basic coordinate system (this can also be the workpiece coordinate system W) * The workpiece coordinate system with the workpiece zero W * The current workpiece coordinate system with the current offset workpiece zero Wa In cases where different machine coordinate systems are in use (e.g., 5-axis transformation), an internal transformation function mirrors the machine kinematics on the coordinate system currently selected for programming. Note The individual axis identifiers are explained in the section headed "Axis types". Milling coordinate system: =Z =P =D

, "%" must be in the first column of the first row. Examples: %_N_SHAFT123_MPF = part program SHAFT123 Or %flange3_MPF = part program flange3 For further information on downloading, creating, and storing parts programs, please refer to: Operating Manuals HMI Chapter "Operator area program"/"Operator area services" 48 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Fundamental Principles of NC Programming 2.2 Language elements of the programming language 2.2 Language elements of the programming language Overview The language elements of the programming language are determined by * Character set with uppercase and lowercase letters and digits * Words with addresses and sequence of digits * Blocks and block format * Block length with maximum possible number of characters * Order of the words in a block with table of the addresses and their meaning * Main blocks and subblocks * Block number * Addresses with table for important addresses and explanations * Addresses effective modally or non-modally * Addresses with axial extension with table of extended address notations * Fixed addresses with table and statement of the meaning for default setting * Fixed addresses with axis expansion with table and statement of the meaning for default setting * Adjustable addresses with statement of the adjustable address letters * Predefined computing functions as well as arithmetic, comparative and logical operators with corresponding value assignments. * Identifiers such as variables, subroutines, keywords, DIN addresses and jump markers Character set The following characters are available for writing NC programs: Uppercase characters A, B, C, D, E, F, G, H, I, J, K, L, M, N,(O),P, Q, R, S, T, U, V, W, X, Y, Z Please note: Take care to differentiate between the letter "O" and the digit "0". Lowercase letters a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z Note No distinction is made between upper and lower case letters. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 49 Fundamental Principles of NC Programming 2.2 Language elements of the programming language Digits 1, 2, 3, 4, 5, 6, 7, 8, 9 Special characters % Program start character (used only for writing programs on an external PC) ( For bracketing parameters or expressions ) For bracketing parameters or expressions [ For bracketing addresses or indexes ] For bracketing addresses or indexes < Less than > Greater than : Main block, end of label, chain operator = Assignment, part of equation / Division, block suppression * Multiplication + Addition - Subtraction, minus sign " Double quotation marks, identifier for character string ' Single quotation marks, identifier for special numerical values: hexadecimal, binary $ System variable identifiers _ Underscore, belonging to letters ? Reserved ! Reserved . Decimal point , Comma, parameter separator ; Comment start & Format character, same effect as space character LF End of block Tab character Separator space character Separator (blank) Note Non-printable special characters are treated like blanks. Words In the same way as our language, NC programs are made up of blocks and each block is made up of words. A word in the "NC language" consists of an address character and a digit or sequence of digits representing an arithmetic value. 50 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Fundamental Principles of NC Programming 2.2 Language elements of the programming language 1XPEHUVWULQJ :RUG $GGUHVV 1XPEHUVWULQJ $GGUHVV 1XPEHUVWULQJ $GGUHVV :RUG :RUG * ; 6 6HW The address character of the word is usually a letter. The sequence of digits can contain a sign and decimal point. The sign always appears between the address letter and the sequence of digits. The positive sign (+) does not have to be specified. Blocks and block format An NC program consists of individual blocks. A block generally consists of (several) words. A block should contain all the data required for performing an operation step and is terminated with the character "LF" (LINE FEED = new line). Note The "LF" character does not have to be inserted manually, it is generated automatically when you change lines. Block length A block can contain a maximum of 512 characters (including the comment and end-of-block character "LF"). Note Three blocks of up to 66 characters each are normally displayed in the current block display on the screen. Comments are also displayed. Messages are displayed in a separate message window. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 51 Fundamental Principles of NC Programming 2.2 Language elements of the programming language Word sequence in blocks In order to keep the block format as clear as possible, the words in a block should be arranged as follows: Example: N10 G... X... Y... Z... F... S... T... D... M... H... Address Meaning N Address of block number 10 Block number G Preparatory function X,Y,Z Positional data F Feed S Spindle speed T Tool D Tool offset number M Miscellaneous (i.e., special) function H Auxiliary function Note Certain addresses can be used repeatedly within a block (e.g., G..., M..., H...) Main block/subblock There are two types of blocks: * Main blocks and * subblocks The main block must contain all the words necessary to start the operation sequence in the program section beginning with the main block. Note Main blocks can be contained in both main programs and subroutines. The control does not check whether a main block contains all the necessary information. 52 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Fundamental Principles of NC Programming 2.2 Language elements of the programming language Block number Main blocks are identified by a main block number. A main block number comprises the character ":" and a positive whole number (block number). The block number always appears at the start of a block. Note Main block numbers must be unique within a program to achieve an unambiguous result when searching. Example: :10 D2 F200 S900 M3 Subblocks are identified by a subblock number. A subblock number comprises the character "N" and a positive whole number (block number). The block number always appears at the start of a block. Example: N20 G1 X14 Y35 N30 X20 Y40 Note Subblock numbers must be unique within a program in order to achieve an unambiguous result when searching. The order of the block numbers is arbitrary, however increasing block numbers are recommended. You can also program NC blocks without block numbers. Addresses Addresses are fixed or settable identifiers for axes (X, Y, etc.), spindle speed (S), feedrate (F), circle radius (CR), etc. Example: N10 X100 Important addresses Address Meaning (default setting) Notes A=DC(...) A=ACP(...) A=ACN(...) Rotary axis variable ADIS Rounding clearance for path functions fixed B=DC(...) B=ACP(...) B=ACN(...) Rotary axis variable Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 53 Fundamental Principles of NC Programming 2.2 Language elements of the programming language C=DC(...) C=ACP(...) C=ACN(...) Rotary axis variable CHR=... Chamfer the contour corner fixed D... Cutting edge number fixed F... Feed fixed FA[axis]=... or FA[spindle]=... or [SPI(spindle)]=... Axial feed fixed G... Preparatory function fixed H... H=QU(...) Auxiliary function fixed Auxiliary function without read stop I... Interpolation parameters variable J... Interpolation parameters variable K... Interpolation parameters variable L... Subroutine call fixed M... M=QU(...) Miscellaneous (i.e., special) function fixed N... Subblock fixed OVR=... Path override fixed P... Number of program passes fixed POS[Axis]=... Position axis fixed POSA[Axis]=... Positioning axis across block boundary fixed SPOS=... SPOS[n]=... Spindle position fixed SPOSA=... SPOSA[n]=... Spindle position across block boundary fixed Q... Axis variable R0=... to Rn=... Arithmetic parameter, n can be set via MD (default 0-99) fixed - Axis variable R... 54 (only if spindle no. defined by variable) Miscellaneous fct. w/o read stop RND Round the contour corner fixed RNDM Round contour corner (modally) fixed S... Spindle speed fixed T... Tool number fixed U... Axis variable V... Axis variable W... Axis variable X... X=AC(...) X=IC(...) Axis variable Y... Y=AC(...) Y=IC(...) Axis " absolute " incremental variable Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Fundamental Principles of NC Programming 2.2 Language elements of the programming language Z... Z=AC(...) Z=IC(...) Axis variable AR+=... Opening angle variable AP=... Polar angle variable CR=... Circle radius variable RP=... Polar radius variable :... Main block fixed "fixed" These address names are available for a specific function. Machine manufacturer "variable" The machine manufacturer may assign another name to these addresses via machine data. Modal/non-modal addresses Modal addresses remain valid with the programmed value (in all subsequent blocks) until a new value is programmed at the same address. Non-modal addresses only apply in the block, in which they were programmed. Example: N10 G01 F500 X10 N20 X10 ;Feedrate remains operative until a new feed value is entered Addresses with axial extension In addresses with axial extension, an axis name is inserted in square brackets after the address. The axis name assigns the axis. Example: FA[U]=400 ;Axis-specific feed for U axis Extended addresses Extended address notation enables a larger number of axes and spindles to be organized in a system. An extended address is composed of a numeric extension or a variable identifier enclosed in square brackets and an arithmetic expression with an "=" sign. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 55 Fundamental Principles of NC Programming 2.2 Language elements of the programming language Example: X7 ;No "=" required, 7 is a value, but the "=" character can ;also be used here X4=20 ;Axis X4 ("=" required) CR=7.3 ;2 letters ("=" required) S1=470 ;Speed for 1st spindle 470 rpm M3=5 ;Spindle stop for 3rd spindle The extended address notation is only permitted for the following direct addresses: Address Meaning X, Y, Z Axis addresses I, J, K Interpolation parameters S Spindle speed SPOS, SPOSA Spindle position M Miscellaneous functions H Auxiliary functions T Tool number F Feed In the case of extended address notation, the number (index) can be substituted by a variable for addresses M, H and S and for SPOS and SPOSA. The variable identifier is enclosed in square brackets. Example: 56 S[SPINU]=470 ;Speed for the spindle, whose number is stored in the ;SPINU variables. M[SPINU]=3 ;Clockwise rotation for the spindle, whose number is stored in the ;SPINU variables. T[SPINU]=7 ;Selection of the tool for the spindle, whose number is stored in the ;SPINU variables. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Fundamental Principles of NC Programming 2.2 Language elements of the programming language Fixed addresses The following addresses are set permanently: Address Meaning (default setting) D Cutting edge number F Feed G Preparatory function H Auxiliary function L Subroutine call M Miscellaneous (i.e., special) function N Subblock P Number of program runs R Arithmetic variables S Spindle speed T Tool number : Main block Example for programming: N10 G54 T9 D2 Fixed addresses with axis expansion Address Meaning (default setting) AX Axis value (variable axis programming) ACC Axial acceleration FA Axial feed FDA Axis feed for handwheel override FL Axial feed limit IP Interpolation parameter (variable axis programming) OVRA Axial override PO Polynomial coefficient POS Position axis POSA Positioning axis across block boundary Example: N10 POS[X]=100 Explanation: When programming with the axis expansion, the axis to be traversed is enclosed in square brackets. You will find a complete list of all fixed addresses in the Appendix. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 57 Fundamental Principles of NC Programming 2.2 Language elements of the programming language Settable addresses Addresses can be defined either as an address letter (with numerical extension if necessary) or as freely selected identifiers. Note Variable addresses must be unique within the control, i.e., the same identifier name may not be used for different address types. A distinction is made between the following address types: * Axis values and end points * Interpolation parameters * Feedrates * Corner rounding criteria * Measurement * Axis, spindle behavior * ... Variable address letters are: A, B, C, E, I, J, K, Q, U, V, W, X, Y, Z Note The user can change the names of the variable addresses in the machine data. Example: X1, Y30, U2, I25, E25, E1=90, ... The numeric extension has one or two digits and is always positive. Address identifiers: The address notation can be expanded by adding extra letters. Example: CR ;e.g., for circle radius XPOS 58 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Fundamental Principles of NC Programming 2.2 Language elements of the programming language Operators/mathematical functions Operators and mathematical functions Meaning + Addition - Subtraction * Multiplication / Division DIV Division, for variable types INT and REAL MOD Modulo division (only for type INT) produces remainder of INT division; Example 3 MOD 4=3 : Chain operator (for FRAME variables) Sin() Sine COS() Cosine Notice: (type INT)/(type INT)=(type REAL); example: 3/4 = 0.75 Notice: (type INT)DIV(type INT)=(type INT); example: 3 DIV 4 = 0 TAN() Tangent ASIN() Arcsine ACOS() Arccosine ATAN2() Arctangent2 SQRT() Square root ABS() Absolute number POT() 2. 2nd power (square) TRUNC() Truncate to integer ROUND() Round to integer LN() Natural logarithm EXP() Exponential function MINVAL Smaller value, two variables MAXVAL Higher value, two variables BOUND Variable value that lies in the defined value range Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 59 Fundamental Principles of NC Programming 2.2 Language elements of the programming language Comparison and logic operators Comparison and logic operators Meaning == Equal to <> Not equal to > Greater than < Less than >= Greater than or equal to <= Less than or equal to AND AND OR OR NOT Negation XOR Exclusive OR In arithmetic expressions, the execution order of all the operators can be specified by parentheses, in order to override the normal priority rules. value assignments Values can be assigned to the addresses. The method of value assignment depends on the type of address identifier. An "=" sign must be inserted between the address identifier and the value if * The address identifier comprises more than one letter, * The value includes more than one constant. The "="-sign can be omitted if the address identifier is a single letter and the value consists of only one constant. Signs are allowed and separators are permitted after the address letter. Example of value assignments 60 X10 ;Value assignment (10) to address X, "=" not required X1=10 ;Value assignment (10) to address (X) with ;numeric extension (1), "=" required FGROUP(X1, Y2) ;Axis names from passed parameters AXDATA[X1] ;Axis name as an index when accessing axis data AX[X1]=10 ;Indirect axis programming X=10*(5+SIN(37.5) ) ;Value assignment by means of a numeric expression ;"=" required Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Fundamental Principles of NC Programming 2.2 Language elements of the programming language Note A numeric extension must always be followed by one of the special characters "=", "(", "[", ")", "]", ",", or an operator, in order to distinguish an address name with numeric extension from an address letter with a value. Names Identifiers can also be used to describe words (in compliance with DIN 66025). The identifiers have the same meaning as the words within an NC block. Identifiers must be unique. The same identifier must not be used for different objects. Identifiers can stand for: * Variable - System variable - User variable * Subroutine * Keywords * DIN addresses with several letters * Jump markers Design The identifiers are composed of up to 32 characters. The following characters may be used: * Letters * Underscore symbols * Digits The first two characters must be letters or underscores, separators must not be programmed between the individual characters (see the following pages). Example: CMIRROR, CDON Note Reserved keywords must not be used as identifiers. Separators are not permitted between the individual characters. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 61 Fundamental Principles of NC Programming 2.2 Language elements of the programming language Note Number of characters for each identifier * Program names: 24 characters * Axis identifiers: 8 characters * Variable identifiers: 31 characters Rules for allocating identifiers The following rules are provided in order to avoid identifier collisions: * All identifiers beginning with "CYCLE" or "_" are reserved for SIEMENS cycles. * All identifiers beginning with "CCS" are reserved for SIEMENS compile cycles. * User compile cycles begin with "CC". * We recommend that users select identifier names, which either begin with "U" (User) or contain the underscore symbol, because these are not used by the system, compile cycles or SIEMENS cycles. Further reserved identifiers * The identifier "RL" is reserved for conventional turning machines. * All identifiers beginning with "E_ " are reserved for EASY-STEP programming. Variable identifiers In variables used by the system, the first letter is replaced by the "$" character. This character may not be used for user-defined variables. Examples (see "List of system variables"): $P_IFRAME, $P_F Leading zeroes are ignored in variables with numeric extensions (i.e., R01 is interpreted as R1). Separators are allowed before a numeric extension. Array identifiers The rules for elementary variables also apply to array identifiers. It is possible to address arithmetic variables as arrays. Example: R[10]=... Data types A variable can contain a numeric value (or several) or a character (or several), e.g., an address letter. 62 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Fundamental Principles of NC Programming 2.2 Language elements of the programming language The data type permitted for the variable is determined when the variable is defined. The data type for system variables and predefined variables is fixed. Elementary variable types/data types are: Type Meaning Range of values INT Integers with sign -2147483646 ... +2147483647 REAL Real numbers (fractions with decimal point, LONG REAL to IEEE) (2,2*10-308 ... 1,8*10+308) BOOL Boolean values: TRUE (1) and FALSE (0) 1, 0 CHAR ASCII character specified by the code 0 ... 255 STRING Character string, number of characters in [...], maximum of 200 characters Sequence of values with 0 ... 255 AXIS Axis names (axis addresses) only Any axis identifiers in the channel FRAME Geometrical parameters for translation, rotation, scaling, and mirroring Identical elementary types can be combined in arrays. Up to two-dimensional arrays are possible. Constants Integer constants Integer with or without sign, e.g., for assigning a value to an address Examples: X10.25 ;Assignment of the value +10.25 to address X X -10.25 ;Assignment of the value -.25 to address X X0.25 ;Assignment of the value +0.25 to address X X.25 ;Assignment of the value +0.25 to address X without leading "0" X=-.1EX-3 ;Assignment of the value -.1*10-3 to address X Note If, in an address, which permits decimal point input, more decimal places are specified than actually provided for the address, then they are rounded to fit the number of places provided. X0 cannot be replaced with X. Example: Do not replace G01 X0 with G01 X! Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 63 Fundamental Principles of NC Programming 2.2 Language elements of the programming language Hexadecimal constants Constants can also be interpreted in hexadecimal format. The letters "A" to "F" stand for the digits 10 to 15. Hexadecimal constants are enclosed in single quotation marks and start with the letter "H", followed by the value in hexadecimal notation. Separators are allowed between the letters and digits. Example for machine data (see also "Job Planning Programming Guide"): $MC_TOOL_MANAGEMENT_MASK='H3C7F' ;Assignment of hexadecimal values to ;machine data The maximum number of characters is limited by the value range of the integer data type. Binary constants Constants can also be interpreted in binary format. In this case, only the digits "0" and "1" are used. Binary constants are enclosed in single quotation marks and start with the letter "B", followed by the binary value. Separators are allowed between the digits. Example for machine data (see also "Job Planning Programming Guide"): $MN_AUXFU_GROUP_SPEC='B10000001' ;Assignment of binary constants to ;machine data bit 0 and 7 are set The maximum number of characters is limited by the value range of the integer data type. Program section A program section consists of a main block and several subblocks. Examples: :10 D2 F200 S900 M3 N20 G1 X14 Y35 N30 X20 Y40 N40 Y-10 ... N100 M30 Skipping blocks Blocks, which are not to be executed in every program pass (e.g., execute a trial program run), can be skipped. 64 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Fundamental Principles of NC Programming 2.2 Language elements of the programming language 1 1 1 1 1 1 1 3URJUDPH[HFXWLRQ 1 1 1 1 1 Blocks, which are to be skipped are marked with an oblique "/" in front of the block number. Several consecutive blocks can also be skipped. The statements in the skipped blocks are not executed; the program continues with the next block, which is not skipped. Example of skipping blocks N10 ;Is executed /N20 ... ;Skipped N30 ... ;Is executed /N40 ... ;Skipped N70 ... ;Is executed Up to 10 skip levels can be programmed. Only one skip level can be specified per NC block: / ... ;Block is skipped (1st skip level) /0 ... ;Block is skipped (1st skip level) /1 N010... ;Block is skipped (2nd skip level) /2 N020... ;Block is skipped (3rd skip level) ... /7 N100... ;Block is skipped (8th skip level) /8 N080... ;Block is skipped (9th skip level) /9 N090... ;Block is skipped (10th skip level) Machine manufacturer The number of skip levels that can be used depends on a display machine datum. Block skipping of levels /0 to /9 is activated by an operator action (see /BA/ Operator's Guide HMI Advanced Embedded, program control menu in Machine operating area) or by the programmable controller. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 65 Fundamental Principles of NC Programming 2.2 Language elements of the programming language Note System and user variables can also be used in conditional jumps in order to control program execution. Jump destinations (labels) Labels can be defined to jump within a program. Label names are allocated with at least two and up to 32 characters (letters, digits, underscore). The first two characters must be letters or underscores. The label name is followed by a colon (":"). References: /PGA/ Job Planning Programming Manual; Subroutines, Macros Note Labels must be unique within a program. Labels always appear at the start of a block. If a program number exists, the label appears immediately after the block number. Comments To make NC programs easier to understand for other users and programmers, it is advisable to insert meaningful comments in the program. Comments are appended to the end of a block and are separated from the program section of the NC block by a semicolon (";"). Examples of comments N10 G1 F100 X10 Y20 ;Comments to explain the NC block Or N10 ;Company G&S, order no. 12A71 N20 ;Program written by H. Muller, Dept. TV 4 ;on November 21, 1994 N50 ;Section no. 12, housing for submersible pump type TP23A Note Comments are stored and appear in the current block display when the program is running. 66 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Fundamental Principles of NC Programming 2.2 Language elements of the programming language Programming messages Messages can be programmed to provide the user with information about the current machining situation during program execution. A message in an NC program is generated when the message text is typed after keyword "MSG" in round parentheses "()" and double quotation marks. A message can be deleted using "MSG ()". Example of activating/deleting messages N10 MSG ("Roughing the contour") ;Activate message N20 X... Y... N ... N90 MSG () ;Clear message from N10 Note A message text can be up to 124 characters long and is displayed in two lines (2*62 characters). Contents of variables can also be displayed in message texts. Example of message texts N10 R12=$AA_IW [X] ;Current position of the X axis in R12 N20 MSG (Check position of X axis<, ) Parameters Variable user texts can be defined in these parameters. Predefined parameters with the following meaning are also provided: 68 %1 = Channel number %2 = Block number, label %3 = Text index for cycle alarms %4 = Additional alarm parameters Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Fundamental Principles of NC Programming 2.3 Programming a sample workpiece 2.3 Programming a sample workpiece The programming of the individual operation steps in the NC language generally represents only a small proportion of the work in the development of an NC program. Programming of the actual instructions should be preceded by the planning and preparation of the operation steps. The more accurately you plan in advance how the NC program is to be structured and organized, the faster and easier it will be to produce a complete program, which is clear and free of errors. Programming Clearly structured programs are a particular advantage if you need to make changes at a later date. Since workpieces differ in shape and form, it is not advisable to create every program using exactly the same method. There are certain methods, which have proven to be successful in most instances. A sort of "checklist" can be found below. Procedures * Prepare the workpiece drawing - define the workpiece zero - Draw in the coordinate system - Calculate any missing coordinates * Define machining sequence - Which tools are used when and to machine which type of contour? - In what order are the individual elements of the workpiece machined? - Which individual elements repeat (possibly rotated) and should therefore be included in a subprogram? - Can you use part contours or similar elements, which already exist in other subprograms or subroutines? Where is it advisable or necessary to perform zero offset, rotation, mirroring or scaling (frame concept)? Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 69 Fundamental Principles of NC Programming 2.4 First programming example for milling application * Create a machining plan Define all the machining processes in steps, e.g.: - Rapid traverse motions for positioning - Tool change - Retract to tool change point - Activate/deactivate spindle, coolant - Call tool data - Infeed - Path override - Approach contour - Retraction from the contour - etc. * Translate the work steps into the programming language - Enter each individual step in an NC block or blocks. * Combine all the individual steps in a program 2.4 First programming example for milling application Testing first programming steps on the NC Please proceed on the NC as described below to verify the following programming example: * Create a new parts program (name) * Edit the parts program * Select the parts program * Activate single block * Part-Program Start References: See Operator's Guide Note Alarms can occur during program verification. These alarms have to be reset first. Machine manufacturer The machine data settings must be defined correctly before the program can run on the machine. References: /FB1/Function Manual Basic Functions; Axes, Coordinate Systems,.. (K2) 70 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Fundamental Principles of NC Programming 2.5 Second programming example for milling application Example _MILL1_MPF 2.5 N10 MSG("THIS IS MY NC PROGRAM") ;MSG = Message output in an alarm line :10 F200 S900 T1 D2 M3 ;Feed, spindle, tool, ;tool offset, spindle clockwise N20 G0 X100 Y100 ;Rapid traverse to position N30 G1 X150 ;Rectangle with feed, straight line in X N40 Y120 ;Straight line in Y N50 X100 ;Straight line in X N60 Y100 ;Straight line in Y N70 G0 X0 Y0 ;Return rapid traverse movement N100 M30 ;End of block Second programming example for milling application Programming a sample workpiece This programming example contains surface and side milling, as well as drilling. * The workpiece is intended for machining on a vertical milling machine. * The dimensions are in inches. Machine manufacturer The machine data settings must be defined correctly before the program can run on the machine. References: /FB1/Function Manual Basic Functions; Axes, Coordinate Systems,.. (K2) Example %_N_RAISED_BOSS_MPF N005 MSG ("Traverse axes to tool change location") N010 START01:SUPA G0 G70 Z0 D0 N015 SUPA X0 Y0 ;********************Tool change******************** N020 MSG ("Tool change active") N025 T1 M6 ;d = 3 inch face cutter N030 MSG () ;Clears the message from block N020 N035 MSG ("Face milling Z=0 workpiece surface") N040 G0 G54 X-2 Y.6 S800 M3 M8 N045 Z1 D1 N050 G1 Z0 F50 N055 X8 F25 N060 G0 Y3.5 N065 G1 X-2 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 71 Fundamental Principles of NC Programming 2.5 Second programming example for milling application N070 SUPA G0 Z0 D0 M5 M9 ;********************Tool change******************** N075 T2 M6 ;d = 1 inch facing tool MSG ("Side machining") N080 G0 X-1 Y.25 S1200 M3 M8 N085 Z1 D1 N090 G1 Z-.5 F50 N095 G42 X.5 F30 N100 X5.5 RNDM=-.375 ;Modal rounding. Radius=0.375 N105 Y3.625 N110 X.5 N115 Y.25 N120 X=IC(.375) RNDM=0 ;Needed for edge rounding N125 G40 G0 Y-1 M5 M9 ;Rapid traverse to initial setting N130 Z1 N135 X-1 Y0 N140 Z-.25 ,********************Continue to use 1-inch mill**************** MSG ("Side Cut Top Boss") N145 G01 G41 X1 Y2 N150 G2 X1.5476 Y3.375 CR=2 N155 G3 X4.4524 CR=3 N160 G2 Y.625 CR=2 N165 G3 X1.5476 CR=3 N170 G2 X1 Y2 CR=2 N175 G0 G40 X0 N180 SUPA G0 Z0 D0 M5 M9 ;Z approaches tool change position N185 SUPA X0 Y0 ;X and Y to tool change position ;********************Tool change******************** N190 T3 M6 ;27/64 drill MSG ("Drill 3 holes") N195 G0 X1.75 Y2 S1500 M3 M8 ;Approach first drill hole N200 Z1 D1 N205 MCALL CYCLE81 (1,0,.1,-.5,) N207 X1.75 ;Drill first hole N210 X3 ;Drill second hole N215 X4.25 ;Drill third hole N220 MCALL N221 SUPA Z0 D0 M5 M9 ;Delete modal call. Z axis traverses to ;machine zero N225 SUPA X0 Y0 MSG () N230 M30 72 ;End of program Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Fundamental Principles of NC Programming 2.5 Second programming example for milling application ;'3 5 5 5 'LPHQVLRQVDUHLQLQFKHV Dimension drawing of workpiece "The Raised Boss" (not to scale). 6LGHYLHZ 'LPHQVLRQVLQLQFKHV Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 73 Fundamental Principles of NC Programming 2.6 Programming example for turning application 2.6 Programming example for turning application Radius programming and tool radius compensation The sample program contains radius programming and tool radius compensation. Example %_N_1001_MPF N5 G0 G53 X280 Z380 D0 ;Start point N10 TRANS X0 Z250 ;Zero offset N15 LIMS=4000 ;Speed limitation (G96) N20 G96 S250 M3 ;Select constant cutting speed N25 G90 T1 D1 M8 ;Select tool and offset N30 G0 G42 X-1.5 Z1 ;Activate tool with tool radius compensation N35 G1 X0 Z0 F0.25 N40 G3 X16 Z-4 I0 K-10 ;Rotate radius 10 N45 G1 Z-12 N50 G2 X22 Z-15 CR=3 ;Rotate radius 3 N55 G1 X24 N60 G3 X30 Z-18 I0 K-3 ;Rotate radius 3 N65 G1 Z-20 N70 X35 Z-40 N75 Z-57 N80 G2 X41 Z-60 CR=3 ;Rotate radius 3 N85 G1 X46 N90 X52 Z-63 74 N95 G0 G40 G97 X100 Z50 M9 ;Deselect tool radius compensation and ;approach tool change location N100 T2 D2 ;Call up tool and select offset N105 G96 S210 M3 ;Select constant cutting speed N110 G0 G42 X50 Z-60 M8 ;Activate tool with tool radius compensation N115 G1 Z-70 F0.12 ;Rotate diameter 50 N120 G2 X50 Z-80 I6.245 K-5 ;Rotate radius 8 N125 G0 G40 X100 Z50 M9 ;Retract tool and ;deselect tool radius compensation N130 G0 G53 X280 Z380 D0 M5 ;Move to tool change location N135 M30 ;Program end Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Fundamental Principles of NC Programming 2.6 Programming example for turning application r ; 5 5 5 5 5 = Machine manufacturer The MD settings must be defined correctly before the program can run on the machine. References: /FB1/Function Manual Basic Functions; Axes, Coordinate Systems,.. (K2) Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 75 Fundamental Principles of NC Programming 2.6 Programming example for turning application 76 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Positional Data 3.1 General notes 3.1.1 Program dimensions 3 In this section you will find descriptions of the commands, with which you can directly program dimensions taken from a drawing. This has the advantage that no extensive calculations have to be made for NC programming. Note The commands described in this section stand in most cases at the start of a NC program. The way, in which these functions are combined, is not intended to be a patent remedy. For example, the choice of working plane may be made at another point in the NC program. The real purpose of this and all the following sections is to illustrate the conventional structure of an NC program. Overview of typical dimensions The basis of most NC programs is a drawing with concrete dimensions. When implementing in a NC program, it is helpful to take over exactly the dimensions of a workpiece drawing into the machining program. These can be: * Absolute dimension, G90 modally effective applies for all axes in the block, up to revocation by G91 in a following block. * Absolute dimension, X=AC(value) only this value applies only for the stated axis and is not influenced by G90/G91. This is possible for all axes and also for SPOS, SPOSA spindle positionings, and interpolation parameters I, J, K. * Absolute dimension, X=CC(value) directly approaching the position by the shortest route, only this value applies only for the stated rotary axis and is not influenced by G90/G91. Is also possible for SPOS, SPOSA spindle positionings. * Absolute dimension, X=ACP(value) approaching the position in positive direction, only this value is set for the rotary axis, the range of which is set in the machine datum to 0...< 360. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 77 Positional Data 3.2 Absolute/relative dimensions * Absolute dimension, X=ACN(value) approaching the position in negative direction, only this value is set for the rotary axis, the range of which is set in the machine datum to 0...< 360. * Incremental dimension, G91 modally effective applies for all axes in the block, until it is revoked by G90 in a following block. * Incremental dimension, X=IC(value) only this value applies exclusively for the stated axis and is not influenced by G90/G91. This is possible for all axes and also for SPOS, SPOSA spindle positionings, and interpolation parameters I, J, K. * Inch dimension, G70 applies for all linear axes in the block, until revoked by G71 in a following block. * Metric dimension, G71 applies for all linear axes in the block, until revoked by G70 in a following block. * Inch dimension as for G70, but applies also for feedrate and length-related setting data. * Metric dimension as for G71, but applies also for feedrate and length-related setting data. * Diameter programming, DIAMON on * Diameter programming, DIAMOF off Diameter programming, DIAM90 for traversing blocks with G90. Radius programming for traversing blocks with G91. 3.2 Absolute/relative dimensions 3.2.1 Absolute dimension (G90, X=AC) Function With the G90 command or the non-modal statement AC you determine the descriptive system for approaching individual axes from setpoints in absolute dimensions. You program where the tool should travel. Programming G90 Or X=AC(...) Y=AC(...) Z=AC(...) 78 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Positional Data 3.2 Absolute/relative dimensions Parameters G90 Absolute reference dimension X Y Z Axis identifiers of the axes to be traversed AC Absolute dimensions non-modally effective Note The command G90 is modal. Generally G90 applies to all axes programmed in subsequent NC blocks. Example of milling The traverse paths are entered in absolute coordinates with reference to the workpiece zero. For entering the circle center point coordinates I and J see circle interpolation G2/G3. = ; < ; N10 G90 G0 X45 Y60 Z2 T1 S2000 M3 ;Absolute dimensioning, rapid traverse to ;XYZ, tool, spindle on ;clockwise N20 G1 Z-5 F500 ;Tool infeed at feedrate N30 G2 X20 Y35 I=AC(45) J=AC(35) ;Circle center point in absolute dimensions N40 G0 Z2 ;Retracting N50 M30 ;End of block Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 79 Positional Data 3.2 Absolute/relative dimensions Example of turning The traverse paths are entered in absolute coordinates with reference to the workpiece zero. For entering the circle center point coordinates I and J see circle interpolation G2/G3. ; = : N5 T1 D1 S2000 M3 ;Tool, spindle on clockwise N10 G0 G90 X11 Z1 ;Absolute dimensioning, rapid traverse ;to position XYZ N20 G1 Z-15 F0.2 ;Tool infeed at feedrate N30 G3 X11 Z-27 I=AC(-5) K=AC(-21) ;Circle center point in absolute dimensions N40 G1 Z-40 ;Retracting Description The dimensions refer to the origin of the active coordinate system. You program the point to which the tool is to travel, e.g., in the workpiece coordinate system. Non-modal absolute dimensioning AC When incremental dimension G91 is active, AC can be used to allow entry of absolute dimensions for individual axes on a block-by-block basis. Milling: 80 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Positional Data 3.2 Absolute/relative dimensions * * < ; * * Turning: * * ; = * * Note On conventional turning machines, it is standard practice to interpret incremental traversing blocks in the transverse axis as radius values, while diameter dimensions are valid for absolute coordinates. This conversion for G90 is performed using the commands DIAMON, DIAMOF or DIAM90. For dimensioning for diameter or radius, see circular interpolation G2/G3. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 81 Positional Data 3.2 Absolute/relative dimensions 3.2.2 Incremental dimensions (G91, X=IC) Function With the G91 command or the non-modal statement IC, you determine the descriptive system for approaching individual axes from setpoints in incremental dimensions. You program how far the tool is to travel. Programming G91 Or X=IC(...) Y=IC(...) Z=IC(...) Parameters G91 Relative incremental dimensioning X Y Z Axis identifiers of the axes to be traversed =IC Incremental dimensions non-modally effective Example of milling The dimensions refer to the last point approached. The circle center point coordinates of the circle interpolation are stated non-modally in absolute coordinates, since as default the circle center point is independent of G91. For entering the circle center point coordinates I and J see circle interpolation G2/G3. = ; < ; 82 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Positional Data 3.2 Absolute/relative dimensions ;Absolute dimensioning, rapid traverse to XYZ, tool, ;spindle on clockwise N10 G90 G0 X45 Y60 Z2 T1 S2000 M3 N20 G1 Z-5 F500 ;Tool infeed at feedrate N30 G2 X20 Y35 I0 J-25) ;Circle center point in incremental dimensions N40 G0 Z2 ;Retracting N50 M30 ;End of block Example of turning The dimensions refer to the last point approached. For entering the circle center point coordinates I and J see circle interpolation G2/G3. ; = : N5 T1 D1 S2000 M3 ;Tool, spindle on clockwise N10 G0 G90 X11 Z1 ;Absolute dimensioning, rapid traverse to ;position XYZ N20 G1 Z-15 F0.2 ;Tool infeed at feedrate N30 G3 X11 Z-27 I-8 K-6 ;Circle center point in incremental dimensions N40 G1 Z-40 ;Retracting N50 M30 ;End of block Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 83 Positional Data 3.2 Absolute/relative dimensions Example without traversing through the active zero offset * G54 contains an offset of 25 in X * SD 42440: FRAME_OFFSET_INCR_PROG = 0 N10 G90 G0 G54 X100 N20 G1 G91 X10 ;Traverse X by 10 mm, the offset is ;not traversed N30 G90 X50 ;Traverse to position X75, the offset ;is traversed Description The dimensions refer to the last point approached. You program how far the tool is to travel. Non-modally effective incremental dimensioning IC Using IC and with a predefined absolute G90 dimension the incremental dimensioning can be set non-modally for individual axes. Milling: * * < ; 84 * * Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Positional Data 3.2 Absolute/relative dimensions Turning: * * ; = * * Note On conventional turning machines it is standard practice to interpret incremental NC blocks in the transverse axis as radius values, while diameter dimensions are valid for absolute coordinates. This conversion for G91 is performed using the commands DIAMON, DIAMOF or DIAM90. For dimensioning for diameter or radius see circular interpolation G2/G3. G91 extension For applications such as scratching, it is necessary only to traverse the path programmed in the incremental coordinates. The active zero offset or tool offset is not traversed. This can be set separately using setting data. Incremental dimensioning without traversing through the active tool offset The active tool offset is not traversed if the setting datum SD 42442: TOOL_OFFSET_INCR_PROG = 0. Incremental dimensioning without traversing through the active zero offset The active zero offset is not traversed if the setting datum SD 42440: FRAME_OFFSET_INCR_PROG = 0 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 85 Positional Data 3.3 Absolute dimension for rotary axes (DC, ACP, ACN) 3.3 Absolute dimension for rotary axes (DC, ACP, ACN) With the above parameters you can define the desired approach strategy for positioning rotary axes. Programming A=DC(...) B=DC(...) C=DC(...) Or A=ACP(...) B=ACP(...) C=ACP(...) Or A=ACP(...) B=ACP(...) C=ACP(...) Parameters A B C Axis identifier for rotary axis to be traversed DC Absolute dimensions, approach position directly ACP Absolute dimensions, approach position in positive direction ACN Absolute dimensions, approach position in negative direction Example of milling Machining on a rotary table: The tool is stationary, the table rotates through 270 in clockwise direction. to produce a circular groove. ; = < ; r 86 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Positional Data 3.3 Absolute dimension for rotary axes (DC, ACP, ACN) N10 SPOS=0 ;Spindle in position control N20 G90 G0 X-20 Y0 Z2 T1 ;Absolute, infeed in rapid traverse N30 G1 Z-5 F500 ;Lower at feedrate ;The table rotates through 270 in ;clockwise direction (positive), the tool ;mills a circular groove N40 C=ACP(270) ;Lift, end of program N50 G0 Z2 M30 Absolute dimensioning with DC The rotary axis travels to the position programmed in absolute coordinates along the shortest direct path. The rotary axis traverses across an area of up to 180. Absolute dimensioning with ACP The rotary axis travels to the position programmed in absolute coordinates in the positive direction of axis rotation (counterclockwise). Absolute dimensioning with ACN The rotary axis travels to the positions programmed in absolute coordinates in the negative direction of axis rotation (clockwise). '& $&3 0D[LPXP 7UDYHUVLQJUDQJH $&1 Note The traversing range must be set to between 0 and 360 in the machine data (modulo method) for positioning with directional data (ACP, ACN). To traverse modulo rotary axes by more than 360 in a block, G91 or IC must be programmed. The positive direction of rotation (clockwise or counterclockwise) is set in the machine data. All of the commands are non-modal. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 87 Positional Data 3.4 Dimensions inch/metric, (G70/G700, G71/G710) You can also use DC, ACP and ACN for spindle positioning from zero speed. Example: SPOS=DC(45) 3.4 Dimensions inch/metric, (G70/G700, G71/G710) Function Depending on the dimensions in the production drawing, you can program workpiece geometries alternately in metric measurements and inches. Programming Call-up G70 or G71 G700 or G710 Parameters G70 Imperial measure (length [inches]) G71 Metric dimensions (length [mm]) G700 Imperial measure (length [inch]; feedrate [inch/min]) G710 Metric dimensions (length [mm]; feedrate F [mm/min]) G700/G710 The functionality of G70/G71 has been extended with G700/G710. In addition to the geometrical parameters, the technological parameters, such as feed F, are interpreted during parts program execution in the measuring system set in G700/G710. The controller interprets all feedrates used with G700/G710 in the programmed measuring system, unlike G70/G71. The programmed feedrate value is modal and thus does not change automatically on subsequent G70/G71/G700/G710 selections. 88 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Positional Data 3.4 Dimensions inch/metric, (G70/G700, G71/G710) Example of milling Change between metric and imperial input with basic setting metric (G70/G71). < * * * * ; N10 G0 G90 X20 Y30 Z2 S2000 M3 T1 ;Basic setting metric N20 G1 Z-5 F500 ;At feedrate in Z [mm/min] N30 X90 N40 G70 X2.75 Y3.22 ;Enter destination positions in inches, G70 ;is active until deselected by G71 or ;end of program N50 X1.18 Y3.54 N60 G71 X 20 Y30 ;Enter positions in mm N70 G0 Z2 M30 ;Retract in rapid traverse, end of program Description G70 or G71 You can instruct the control to convert the following geometrical dimensions (with necessary deviations) into the measuring system not set and enter them directly: Examples * Positional data X, Y, Z, ... * Interpolation point coordinates I1, J1, K1 Interpolation parameters I, J, K and circle radius CR with circular-path programming * Thread pitch (G34, G35) * Programmable zero offset (TRANS) * Polar radius RP Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 89 Positional Data 3.4 Dimensions inch/metric, (G70/G700, G71/G710) Note All other parameters such as feedrates, tool offsets or settable zero offsets are interpreted (when using G70/G71) in the default measuring system (MD 10240: SCALING_SYSTEM_IS_METRIC). The representation of system variables and machine data is also independent of the G70/G71 context. If the feedrate in the G70/G71/G700/G710 context is to be activated, a new F value must be programmed explicitly. All length-related NC data, machine data and setting data for G700/G710 are always read and written in the programmed context of G700/G710. References: /FB1/Function Manual Basic Functions; Speeds, Setpoint/Actual-Value System, Closed-Loop Control (G2), "Metric/Inch Measuring System" Synchronized actions If positioning tasks are performed in synchronized actions and no G70/G71/G700/G710 command is programmed in the synchronized action itself, the G70/G71/G700/G710 context active at the time of execution determines which measuring system is used. References: /PGA/Programming Manual Advanced; "Motion-Synchronous Actions" /FBSY/Description of Functions, Synchronized Actions. 90 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Positional Data 3.5 Special turning functions 3.5 Special turning functions 3.5.1 Dimensions for radius, diameter in the channel (DIAMON/OF, DIAM90) Function The free choice of diameter or radius dimensions allows you to program the dimensions straight from the engineering drawing without conversion. ' ' : = 5 ',$02) ; 5 ',$021 ; : = After powerup of * DIAMON, the dimensions for the specified transverse axis are given as a diameter value independently of the type of travel (G90/G91). * DIAM90, the dimensions are given as a diameter value (in the case of G90) or as a radius value (in the case of G91) independently of the type of travel (G90/G91). * DIAMON or DIAM90, the transverse-axis actual values will always be displayed as a diameter. This also applies to reading of actual values in the workpiece coordinate system with MEAS, MEAW, $P_EP[x] and $AA_IW[x]. Machine manufacturer By means of machine data which is configurable by the machine manufacturer, geometry axes can be enabled as transverse axes for channel-specific diameter programming. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 91 Positional Data 3.5 Special turning functions Programming Channel-specific modal switchover between diametral and radius programming DIAMON or DIAMOF or DIAM90 Parameter Diameter/radius modal Absolute dimensioning (G90) DIAMON Diameter Diameter DIAM90 Diameter Radius Radius Radius DIAMOF Incremental dimensioning (G91) (For default setting, see machine manufacturer) Diameter values (DIAMON/DIAM90) Diameter values apply to the following data: * Actual-value display of transverse axis in the workpiece coordinate system * JOG mode: Increments for incremental dimension and travel with handwheel * Programming end positions, interpolation parameters I, J, K (with G2/G3), if these are programmed absolutely with AC. If I, J, K are programmed incrementally (IC), the radius is always calculated. * Reading in of actual values into the workpiece coordinate system with MEAS, MEAW, $P_EP[X], $AA_IW[X], see /PGA/Programming Manual Advanced; Special Motion Commands and Motion-Synchronous Actions Example N10 G0 X0 Z0 ;Approach starting point N20 DIAMOF Diameter input off N30 G1 X30 S2000 M03 F0.7 X axis = transverse axis; radius dimensions active Traverse to radius position X30 N40 DIAMON ;All axes with $MA_BASE_FUNCTION_MASK ;diameter data active, N50 G1 X70 Z-20 Traverse to diameter position X70 and Z-20 N60 Z-30 N70 DIAM90 92 ;Diameter programming for absolute dimensions and radius programming for incremental dimensions N80 G91 X10 Z-20 Incremental dimension N90 G90 X10 Absolute dimensions N100 M30 ; End of program Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Positional Data 3.5 Special turning functions Function In addition to channel-specific diameter programming, there is also the axis-specific diameter-programming function, which enables you to specify and display dimensions for one or more axes as diameter values. Dimensions can also be displayed simultaneously for several axes assigned to one channel. After powerup of * DIAMON[axis], the dimensions for the specified axis are given as a diameter value independently of the type of travel (G90/G91 or AC/IC). * DIAM90[axis], the dimensions for the specified axis are given as a diameter value (in the case of G90/AC) or as a radius value (in the case of G91/IC) in accordance with the type of travel (G90/G91 or AC/IC). * DIAMON[axis] or DIAM90[axis], the transverse-axis actual values will always be displayed as a diameter. This also applies to reading of actual values in the workpiece coordinate system with MEAS, MEAW, $P_EP[x] and $AA_IW[x]. Machine manufacturer By means of machine data which is configurable by the machine manufacturer, both axisspecific modal diameter programming and action-based diameter programming can be enabled. Please refer to the machine manufacturer's instructions. Programming Axis-specific modal diameter programming for several transverse axes in one channel DIAMONA[axis] or DIAM90A[axis] or DIAMOFA[axis] Channel-specific acceptance of diameter programming DIAMCHANA[axis] or DIAMCHAN Axis-specific action-based non-modal diametral/radius programming Modal settings can be modified non-modally for specific axes by means of: Diameter programming, non-modal, absolute or relative DAC or DIC or Radius programming, non-modal, absolute or relative RAC or RIC Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 93 Positional Data 3.5 Special turning functions Parameter Diametral/radius modal Absolute dimensioning (G90) Incremental dimensioning (G91) DIAMONA[axis] Diameter, axis-specific Diameter, axis-specific DIAM90A[axis] Diameter, axis-specific Radius, axis-specific DIAMOFA[axis] Radius, axis-specific Radius, axis-specific (For default setting, see machine manufacturer) Axis The axis specified must have been assigned to the channel. Permitted axis identifiers are as follows: Geometry-/channel-axis name or machine-axis name. Note: Rotary axes are not permitted to serve as transverse axes. Accepting the channel-specific diameter programming DIAMCHANA[axis] DIAMCHAN The specified axis adopts the diameter-programming channel status. All axes with the $MA_BASE_FUNCTION_MASK bit set for diameter programming adopt the diametral-programming channel status. Axis-specific non-modal or action-based diameter programming Specifies the dimension type as a diameter or radius value in the parts program and synchronized actions. The modal status of diameter programming remains unchanged. DAC Diameter programming, axis-spec., non-modal, absolute DIC Diameter programming, axis-spec., non-modal, relative RAC Radius programming, axis-specific, non-modal, absolute RIC Radius programming, axis-specific, non-modal, relative Diameter values (DIAMONA[AX]/DIAM90A[AX]) Diameter values apply to the following data: * Actual-value display of transverse axis in the workpiece coordinate system * JOG mode: Increments for incremental dimension and travel with handwheel * Programming end positions, interpolation parameters I, J, K (with G2/G3), if these are programmed absolutely with AC. If I, J, K are programmed incrementally (IC), the radius is always calculated. * Reading in of actual values into workpiece coordinate system with MEAS, MEAW, $P_EP[X], $AA_IW[X] See /PGA/Programming Manual Advanced; Special Motion Commands and Motion-Synchronous Actions Note Axis-specific acceptance of diameter programming in the other channel Within the context of axis replacement, an additional transverse axis is accepted on the basis of a GET request plus RELEASE [axis] with the diameter-programming status in the other channel. Example of axis-specific, modal diameter programming 94 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Positional Data 3.5 Special turning functions ;X is the channel's transverse axis, axis-specific diameter programming is enabled for Y: N10 G0 X0 Z0 DIAMON ;Diameter programming for X active N15 DIAMOF ;Channel-specific diameter programming deactivated N20 DIAMONA[Y] ;Axis-specific diameter programming activated for Y N25 X200 Y100 ;Radius programming active for X N30 DIAMCHANA[Y] ;Y adopts the status of channel-specific ;diameter programming ;and becomes subject to this status N35 X50 Y100 ;Radius programming active for X and Y N40 DIAMON N45 X50 Y100 ;Diameter programming active for X and Y Example of axis-specific, non-modal diameter programming ;X is the channel's transverse axis, axis-specific diameter programming is enabled for Y: N10 DIAMON ;Diameter programming for X and Y active N15 G0 G90 X20 Y40 DIAMONA[Y] ;Channel-specific diameter programming deactivated N20 G01 X=RIC(5) ;X incremental dimension, radius, non-modal N25 X=RAC(80) ;X absolute dimension, radius, non-modal N30 WHEN $SAA_IM[Y]> 50 DO POS[X]=RIC(1) ;X is the command axis with incremental ;dimension (radius) N40 WHEN $SAA_IM[Y]> 60 DO POS[X]=DAC(10) ;X is the command axis with absolute ;dimension (diameter) N50 G4 F3 Description Channel-specific diameter programming DIAMCHANA[AX], DIAMCHAN The DIAMCHANA[AX] or DIAMCHAN statement causes the specified axis or all the transverse axes associated with axis-specific diameter programming to adopt the active status of channel-specific diameter programming. These axes will subsequently be subject to channel-specific diameter programming. Axis-specific, non-modal/action-based diameter programming DAC, DIC, RAC, RIC The statements define the dimension type non-modally in terms of either a radius or a diameter value. The modal status of diameter programming, e.g., for display or system variable purposes, remains unaffected by this. These statements are permissible for any commands for which channel-specific diameter programming is relevant: * * * * * Axis position: X..., POS, POSA Oscillating: OSP1, OSP2, OSS, OSE, POSP Interpolation parameters: I, J, K Contour definition: Straight line with specified angle Rapid retraction: POLF[AX] * Movement in tool direction: MOVT * Smooth approach and retraction: G140 to G143, G147, G148, G247, G248, G347, G348, G340, G341 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 95 Positional Data 3.5 Special turning functions 3.5.2 Position of workpiece Function While the machine zero is fixed, you can choose the position for the workpiece zero on the longitudinal axis. The workpiece zero is generally located on the front or rear side of the workpiece. ; 0DFKLQH :RUNSLHFH ]HUR IURQW ; :RUNSLHFH : 0 = :RUNSLHFH **RU75$16 ; :RUNSLHFH ]HUR UHDU 0DFKLQH ; :RUNSLHFH 0 = :RUNSLHFH ** RU75$16 Zero points Both the machine zero and the workpiece zero are positioned on the center of rotation. The settable offset on the X axis is thus zero. coordinate system The dimensions for the transverse axis are generally specified as diameter measurements (double path dimension as compared to other axes). The geometry axis to be used as a transverse axis is defined in machine data. 96 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Positional Data 3.5 Special turning functions 7UDQVYHUVHD[LV ; 0 = ' ' : /RQJLWXGLQDOD[LV Parameters G54 to G599 or TRANS Call for the position of the workpiece zero M Machine zero W Tool zero point Z axis Longitudinal axis X axis Transverse axis The two mutually perpendicular geometry axes are usually designated as follows: * Longitudinal axis= Z axis (abscissa) * Transverse axis= X axis (ordinate) Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 97 Positional Data 3.6 Zero offset frame, (G54 to G57, G505 to G599, G53, G500/SUPA) 3.6 Zero offset frame, (G54 to G57, G505 to G599, G53, G500/SUPA) Function The settable zero offset relates the workpiece zero on all axes to the origin of the basic coordinate system. It is, therefore, possible to call up cross-program zero points for different fixtures with a G command. Milling: = < = < * ; ; For turning, for example, the offset value for tightening the chuck is entered in G54. Turning: 98 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Positional Data 3.6 Zero offset frame, (G54 to G57, G505 to G599, G53, G500/SUPA) ; = : 0 * Programming Call-up G54 Or G55 Or G56 Or G57 Or G505 ... G599 Switching off G53 Or G500 Or SUPA Or G153 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 99 Positional Data 3.6 Zero offset frame, (G54 to G57, G505 to G599, G53, G500/SUPA) Parameters G54 to G57 Call the second to fifth settable zero offset/frame G505 ...G599 Call the 6th to the 99th settable zero offset G53 Non-modal deactivation of current settable zero offset and programmable zero offset G500 G500=zero frame, default setting, (contains no offset, rotation, mirroring or scaling) Deactivation of settable zero offsets/frames (G54 to G599) until the next call. Activation of the total basic frame ($P_ACTBFRAME). G500 is not 0 Activation of first settable zero offset/frames ($P_UIFR[0]) and Activation of total basic frame ($P_ACTBFRAME), or a modified basic frame is activated. SUPA Non-modal deactivation, including programmed offsets, handwheel offsets (DRF), external zero offset and PRESET offset. G153 Non-modal suppression of settable, programmable and total basic frame For more information please refer to Frame section. Offset of the zero in the Cartesian coordinate system by frames such as * Programmable zero offset, e.g., TRANS, ATRANS * Programmable rotations, e.g., ROT, AROT * Programmable scalings, e.g., SCALE, ASCALE * Programmable mirrorings, e.g., MIRROR, AMIRROR Example In this example, three workpieces, arranged on a pallet according to the zero offset values G54 to G56, are machined successively. The machining sequence is programmed in subprogram L47. 100 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Positional Data 3.6 Zero offset frame, (G54 to G57, G505 to G599, G53, G500/SUPA) < 0 < ; < < ; * ; * * ; 0 75$16;0 N10 G0 G90 X10 Y10 F500 T1 ;Approach N20 G54 S1000 M3 ;Call the first zero offset, ;spindle clockwise N30 L47 ;Run program, in this case as a subprogram N40 G55 G0 Z200 ;Call the second zero offset ;Z via obstacle N50 L47 ;Run program as subprogram N60 G56 ;Call third zero offset N70 L47 ;Run program as subprogram N80 G53 X200 Y300 M30 ;Suppress zero offset, ;end of program Description Setting the offset values On the operator panel or universal interface, enter the following values in the internal control zero offset table: * Coordinates for the offset * Angle for rotated clamping and * Scale factors if necessary Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 101 Positional Data 3.6 Zero offset frame, (G54 to G57, G505 to G599, G53, G500/SUPA) < 6FDOLQJ < ; WH 5RWD ; 2II FVHW Switching on zero offset, G54 to G57 In the NC program, the zero offset is moved from the machine coordinate system to the workpiece coordinate system by executing one of the four commands G54 to G57. < < ; < ; < ; ; In the next NC block with a programmed movement, all of the positional parameters and thus the tool movements refer to the workpiece zero, which is now valid. Note The 4 available zero offsets can be used, for example, for multiple machining operations, to describe 4 workpiece clamping positions simultaneously and execute them in the program. 102 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Positional Data 3.6 Zero offset frame, (G54 to G57, G505 to G599, G53, G500/SUPA) Further settable zero offsets, G505 to G599 Command numbers G505 to G599 are available for this purpose. This enables you to create up to 100 settable zero offsets in total, in addition to the 4 default zero offsets G54 to G57, by using the machine data. They are stored in the zero point memory. Deactivating a zero offset Command G500 activates the first settable zero offset including basic offset, i.e., when zero frame is selected as the default, the current settable zero offset is deactivated. G53 suppresses the programmable and settable offset modally. G153 has the same effect as G53 and also suppresses the total basic frame. SUPA has the same effect as G153 and also suppresses the DRF offset, overlaid motions, and external ZOs. Note The basic setting at program start, e.g., G54 or G500, can be set with machine data. You will find more information on programmable zero offsets in the Frames section "Programmable zero offset". Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 103 Positional Data 3.7 Selection of working plane (G17 to G19) 3.7 Selection of working plane (G17 to G19) Function The specification of the working plane, in which the desired contour is to be machined also defines the following functions: * The plane for tool radius compensation. * The infeed direction for tool length compensation depending on the tool type. * The plane for circular interpolation. ,QIHHG = * ; * < * ,Q IH HG QIH , HG Programming Call-up G17 or G18 or G19 Parameter 104 G17 Working plane X/Y Infeed direction Z Plane selection 1st - 2nd geometry axis G18 Working plane Z/X Infeed direction Y Plane selection 3rd - 1st geometry axis G19 Working plane Y/Z Infeed direction X Plane selection 2nd - 3rd geometry axis Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Positional Data 3.7 Selection of working plane (G17 to G19) Note In the default setting, G17 (X/Y plane) is defined for milling and G18 (Z/X plane) is defined for turning. When calling the tool path correction G41/G42 (see Section "Tool offsets"), the working plane must be defined so that the controller can correct the tool length and radius. Example of milling The "conventional" approach with milling tool: * Define working plane (G17 default setting for milling). * Select tool type (T) and tool offset values (D). * Switch on path correction (G41). * Program traversing movements. N10 G17 T5 D8 ;G17 Call the working plane, in this case: X/Y T, ;D tool call. Tool length compensation is performed in the Z direction. N20 G1 G41 X10 Y30 Z-5 F500 ;Radius compensation is performed in the X/Y plane. N30 G2 X22.5 Y40 I50 J40 ;Circular interpolation/tool radius compensation in ;the X/Y plane. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 105 Positional Data 3.7 Selection of working plane (G17 to G19) Description It is advisable to define the working plane G17 to G19 at the beginning of the program. In the default setting, the Z/X plane is preset for turning G18. Turning: < ; * * * = For calculating the direction of rotation, the controller requires the specification of the working plane, refer to circular interpolation G2/G3. Machining on inclined planes Rotate the coordinate system with ROT (see Section "Coordinate system offset") to position the coordinate axes on the inclined surface. The working planes rotate accordingly. Tool length compensation on inclined planes As a general rule, the tool length compensation always refers to the fixed, non-rotated working plane. 106 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Positional Data 3.7 Selection of working plane (G17 to G19) Milling: Note The tool length components can be calculated according to the rotated working planes with the functions for "Tool length compensation for orientable tools". The offset plane is selected with CUT2D, CUT2DF. For further information on this and for the description of the available calculation methods, refer to Section "Tool offsets" The control provides convenient coordinate transformation functions for the spatial definition of the working plane. For further information, please refer to Section "Coordinate system offset". Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 107 Positional Data 3.8 Working area limitation in BCS (G25/G26, WALIMON, WALIMOF) 3.8 Working area limitation in BCS (G25/G26, WALIMON, WALIMOF) Function G25/G26 limits the working area (working field, working space) in which the tool can traverse. The areas outside the working area limitations defined with G25/G26 are inhibited for any tool motion. ; 3URWHFWHG]RQH :RUNLQJDUHD = : 0 The coordinates for the individual axes apply in the basic coordinate system: = < * * = < * < ; * * = * %DVLF FRRUGLQDWH &RQWURO ; < * ; The working-area limitation for all validated axes must be programmed with the WALIMON command. The WALIMOF command deactivates the working area limitation. WALIMON is the default setting. Therefore, it only has to be programmed if the working area limitation has been disabled beforehand. 108 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Positional Data 3.8 Working area limitation in BCS (G25/G26, WALIMON, WALIMOF) Programming G25 X...Y...Z... Programming in a separate NC block Or G26 X...Y...Z... Programming in a separate NC block Or WALIMON Or WALIMOF Parameters G25, X Y Z Lower working area limitation, value assignment in the channel axes in the basic coordinate system G26, X Y Z Upper working area limitation, value assignment in the channel axes in the basic coordinate system WALIMON Switch on working area limitation for all axes WALIMOF Working area limitation switch-off for all axes In addition to programming values using G25/G26, values can also be entered using axis-specific setting data: SD43420 $SA_WORKAREA_LIMIT_PLUS (Working-area limitation plus) SD43430 $SA_WORKAREA_LIMIT_MINUS (Working-area limitation minus) Activating and de-activating the working area limitation, parameterized using SD43420 and SD43430, are carried-out for a specific direction using the axis-specific setting data that becomes immediately effective: SD43400 $SA_WORKAREA_PLUS_ENABLE (Working-area limitation active in the positive direction) SD43410 $SA_WORKAREA_MINUS_ENABLE (Working-area limitation active in the negative direction) Using the direction-specific activation/de-activation, it is possible to limit the working range for an axis in just one direction. Note The programmed working area limitation, programmed with G25/G26, has priority and overwrites the values entered in SD43420 and SD43430. Note G25/G26 can also be used to program limits for spindle speeds at the address S. For further information, please refer to "Feed control and spindle motion". Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 109 Positional Data 3.8 Working area limitation in BCS (G25/G26, WALIMON, WALIMOF) Example of turning Using the working area limitation G25/26, the working area of a lathe is limited so that the surrounding devices and equipment - such as revolver, measuring station etc. - are protected against damage. Default setting: WALIMON ;% 3URWHFWHG]RQH ; :RUNLQJDUHD 0 : =% ; N10 G0 G90 F0.5 T1 N20 G25 X-80 Z30 ;Define the lower limit for ;the individual coordinate axes N30 G26 X80 Z330 ;Define the upper limit N40 L22 ;Cutting program N50 G0 G90 Z102 T2 ;To tool change location N60 X0 N70 WALIMOF ;Deactivate working area limitation N80 G1 Z-2 F0.5 ;Drill N90 G0 Z200 ;Back N100 WALIMON ;Activate working area limitation N110 X70 M30 ;End of program Description Reference point at the tool When tool length compensation is active, the tip of the tool is monitored as reference point, otherwise it is the toolholder reference point. Consideration of the tool radius must be activated separately. This is done using channelspecific machine data: MD21020 $MC_WORKAREA_WITH_TOOL_RADIUS If the tool reference point lies outside the working area defined by the working area limitation or if this area is left, the program sequence is stopped. 110 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Positional Data 3.9 Working area limitation in WCS/SZS (WALCS0 ... WALCS10) Note If transformations are active, then tool data are taken into consideration (tool length and tool radius) can deviate from the described behavior. References: /FB1/Function Manual, Basic Functions; Axis Monitoring, Protection Zones (A3), Chapter: "Monitoring the working area limitation" Programmable working area limitation, G25/G26 An upper (G26) and a lower (G25) working area limitation can be defined for each axis. These values are effective immediately and remain effective for the corresponding MD setting ( MD10710 $MN_PROG_SD_RESET_SAVE_TAB) after RESET and after being powered-up again. Note The CALCPOSI subroutine is described in the Job Planning Programming Manual Using this subroutine before any traversing motion is made, it can be checked as to whether the predicted path is moved through taking into account the working area limits and/or the protection zones. 3.9 Working area limitation in WCS/SZS (WALCS0 ... WALCS10) Function In addition to the working area limitation with WALIMON (refer to "Working area limitation in BCS") there is an additional working area limitation that is activated using the G commands WALCS1 - WALCS10. Contrary to the working area limitation with WALIMON, the working area here is not in the basis coordinate system, but is limited coordinate system-specific in the workpiece coordinate system (WCS) or in the settable zero system (SZS). Using the G commands WALCS1 - WALCS10, a data set (working area limitation group) is selected under the up to 10 channel-specific data sets for the coordinate system-specific working area limitations. A data set contains the limit values for all axes in the channel. The limitations are defined by channel-specific system variables. Application The working area limitation with WALCS1 - WALCS10 ("Working area limitation in the WCS/SZS") is mainly used for working area limitations for conventional lathes. They allow the programmer, to use the defined "end stops" - when moving the axis "manually" to define a working area limitation referred to the workpiece. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 111 Positional Data 3.9 Working area limitation in WCS/SZS (WALCS0 ... WALCS10) Programming The "working area limitation in the "WCS/SZS" is activated by selecting a working area limitation group. G commands are used to make the selection: WALCS1 Activating working area limitation group No. 1 ... WALCS10 Activating working area limitation group No. 10 The de-activation of the "working area limitation in the WCS/SZS" is realized using G commands: WALCS0 De-activating the active working area limitation group Parameter The working area limitations of the individual axes are set and the reference frame (WCS or SZS), in which the working area limits are to be effective, activated with WALCS1 - WALCS10, by writing to channel-specific system variables: System variable Description Setting the working area limits $AC_WORKAREA_CS_PLUS_ENABLE [WALimNo, ax] Validity of the working area limitation in the positive axis direction. $AC_WORKAREA_CS_LIMIT_PLUS [WALimNo, ax] Working area limitation in the positive axis direction. Only effective, if: $AC_WORKAREA_CS_PLUS_ENABLE = TRUE $AC_WORKAREA_CS_MINUS_ENABLE [WALimNo, ax] Validity of the working area limitation in the negative axis direction. $AC_WORKAREA_CS_LIMIT_MINUS [WALimNo, ax] Working area limitation in the negative axis direction. Only effective, if: $AC_WORKAREA_CS_PLUS_ENABLE = TRUE Selecting the reference frame $AC_WORKAREA_CS_COORD_SYSTEM [WALimNo] 112 Coordinate system to which the working area limitation group is referred: Value Description 1 Workpiece coordinate system (WCS) 3 Settable zero system (SZS) : Number of the working area limitation group. : Channel axis name of the axis for which the value is valid. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Positional Data 3.9 Working area limitation in WCS/SZS (WALCS0 ... WALCS10) Example 3 axes are defined in the channel: X, Y and Z A working area limitation group No. 2 is to be defined and then activated in which the axes are to be limited in the WCS acc. to the following specifications: * X axis in the plus direction: 10 mm * X axis in the minus direction: No limitation * Y axis in the plus direction: 34 mm * Y axis in the minus direction: -25 mm * Z axis in the plus direction: No limitation * Z axis in the minus direction: -600 mm ... N51 $AC_WORKAREA_CS_COORD_SYSTEM[2] = 1 ; The working area limitation of working area limitation group 2 applies in the WCS. N60 $AC_WORKAREA_CS_PLUS_ENABLE[2,X] = TRUE N61 $AC_WORKAREA_CS_LIMIT_PLUS[2,X] = 10 N62 $AC_WORKAREA_CS_MINUS_ENABLE[2,X] = FALSE N70 $AC_WORKAREA_CS_PLUS_ENABLE[2,Y] = TRUE N73 $AC_WORKAREA_CS_LIMIT_PLUS[2,Y] = 34 N72 $AC_WORKAREA_CS_MINUS_ENABLE[2,Y] = TRUE N73 $AC_WORKAREA_CS_LIMIT_MINUS[2,Y] = -25 N80 $AC_WORKAREA_CS_PLUS_ENABLE[2,Z] = FALSE N82 $AC_WORKAREA_CS_MINUS_ENABLE[2,Z] = TRUE N83 $AC_WORKAREA_CS_LIMIT_PLUS[2,Z] = -600 ... N90 WALCS2 ; Activating working area limitation group No. 2. ... Description Effectivity The working area limitation with WALCS1 - WALCS10 acts independently of the working area limitation with WALIMON. If both functions are active, that limit becomes effective which the axis motion first reaches. Reference point at the tool Taking into account the tool data (tool length and tool radius) and therefore the reference point at the tool when monitoring the working area limitation corresponds to the behavior for the working area limitation with WALIMON. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 113 Positional Data 3.10 Reference point approach (G74) 3.10 Reference point approach (G74) Function When the machine has been powered up (where incremental position measuring systems are used), all of the axis slides must approach their reference mark. Only then can traversing movements be programmed. The reference point can be approached in the NC program with G74. Programming G74 X1=0 Y1=0 Z1=0 A1=0 ... Programmed in a separate NC block Parameter G74 Reference point approach X1=0 Y1=0 Y1=0... The stated machine axis address A1=0 B1=0 C1=0... X1, Y1, Z1... Reference point approach for linear axes. A1, B1, C1... Reference point approach for rotary axes. Note A transformation must not be programmed for an axis which is to approach the reference point with G74. The transformation is deactivated with command TRAFOOF. Example When the measurement system is changed, the reference point is approached and the workpiece zero point is initialized. 114 N10 SPOS=0 ;Spindle in position control N20 G74 X1=0 Y1=0 Z1=0 C1=0 ;Reference point approach for linear axes and ;rotary axes N30 G54 ;Zero offset N40 L47 ;Cutting program N50 M30 ;End of program Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.1 4 General notes In this section you will find a description of all the travel commands you can use to machine workpiece contours. These travel commands with the associated parameters enable you to program quite different workpiece contours for milling and also for turning. Travel commands for programmable workpiece contours The programmed workpiece contours are composed of straight lines and circular arcs. A helix can be produced by combining these two elements. Executed in succession, these contour elements produce the workpiece contour. A programming example is given for each travel command. Programming more complex sequences of motions is also discussed. These are also described with the possible variants or special cases. The positional data contain all necessary geometric data serving for an unequivocal representation of the positions in the corresponding coordinate systems. These are: * Travel commands with specification of coordinates * Rapid traverse movements to the end point * Linear interpolation 3D surface processing * Circular interpolation for full circles or circular arcs * Helical interpolation * Involute interpolation * Thread cutting and tapping * Interruptions both of approaching certain positions and traveling to these * Special turning functions * Chamfering or rounding off contour corners Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 115 Motion commands 4.1 General notes Tool prepositioning Before a machining process is started, you need to position the tool in such a way as to avoid any damage to the tool or workpiece. Start point - destination point The traversing movement always runs from the last approached position to the programmed destination position. This destination position is also the start position for the next travel command. Number of axis values Depending on the control configuration, you can program motions for up to 8 axes in each motion block. These may include path axes, synchronized axes, positioning axes, and spindle oscillation mode. Number of motion blocks in milling: 116 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.1 General notes Number of motion blocks in turning: ; = Caution An axis address can only be programmed once in each block. These commands can be programmed in Cartesian or polar coordinates. Synchronized axes, positioning axes and oscillation mode. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 117 Motion commands 4.2 Travel commands with polar coordinates, polar angle, polar radius 4.2 Travel commands with polar coordinates, polar angle, polar radius 4.2.1 Defining the pole (G110, G111, G112) Function The dimensioning starting point is called a pole. The pole can be specified in either Cartesian or polar coordinates (polar radius RP=... and polar angle AP=...). The programming commands G110 to G112 are used to provide a unique definition of the reference point for dimensions. Therefore, neither absolute nor incremental dimensioning affects the system defined in the programming command. Programming G110 X... Y... Z... Or G110 AP=... RP=... Or G111 X... Y... Z... Or G111 AP=... RP=... Or G112 X... Y... Z... Or G112 AP=... RP=... 118 Pole parameter, with reference to the last approached position in Cartesian coordinates Pole parameter, with reference to the last approached pole in polar coordinates Pole parameter, absolute in workpiece coordinate system with Cartesian coordinates Pole parameter, absolute in workpiece coordinate system with polar coordinates Pole parameter, with reference to the last valid pole with Cartesian coordinates Pole parameter, with reference to the last valid pole with polar coordinates Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.2 Travel commands with polar coordinates, polar angle, polar radius Parameters G110 Polar programming relative to the last programmed setpoint position G111 Polar programming relative to origin of current workpiece coordinate system G112 Polar programming relative to the last valid pole X Y Z Coordinate identifiers of the axes to be traversed AP= Polar angle, value range 0...360, angle refers to horizontal axis of the working plane RP= Polar radius in mm or inches always in absolute positive values. Note In the NC program you can switch non-modally between polar and Cartesian coordinates.. You come directly back into the Cartesian system by using the Cartesian coordinate identifiers (X, Y, Z...). The defined pole is moreover retained up to program end. Note All the commands relating to pole input must be programmed in a separate NC block If no pole is specified, the origin of the current coordinate system applies. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 119 Motion commands 4.2 Travel commands with polar coordinates, polar angle, polar radius Example of defining a pole with G110, G111, G112 The statement of the pole in Cartesian G110(X,Y), G111(X,Y) G112(X,Y) or polar coordinates by stating G110, G111, G112 with polar angle AP= and polar radius RP=. < * ; 3ROH * < 3ROH * < 3ROH * < ; * ; 120 * ; Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.2 Travel commands with polar coordinates, polar angle, polar radius 4.2.2 Traversing commands with polar coordinates, (G0, G1, G2, G3 AP=..., RP=...) Function The polar coordinate method is useful only if a workpiece or part of a workpiece has radius and angle measurements. Polar coordinates can be used to program these dimensions directly in accordance with the drawing. If the dimensions of a workpiece, such as those in hole patterns, proceed from a central point, then the dimensions are given in terms of angles and radii. < r r Q r r r ; P Programming G0 AP=... RP=... Or G1 AP=... RP=... Or G2 AP=... RP=... Or G3 AP=... RP=... The new end position is defined relative to a pole, see defining the pole G110, G111, G112 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 121 Motion commands 4.2 Travel commands with polar coordinates, polar angle, polar radius Parameters G0 Rapid traverse movement G1 Linear interpolation G2 Circular interpolation clockwise G3 Circular interpolation counter-clockwise AP= Polar angle, value range 0...360, the polar angle can be defined both absolutely and incrementally. RP= Polar radius in mm or inches always in absolute positive values. =AC(...) Absolute dimensioning =IC(...) Incremental dimensioning Example of making a hole pattern The positions of the holes are specified in polar coordinates. Each hole is machined with the same production sequence: Predrilling, drilling to size, reaming, etc. The machining sequence is filed in the subroutine. < r r r r r ; N10 G17 G54 ;Working plane X/Y, workpiece zero N20 G111 X43 Y38 ;Define pole N30 G0 RP=30 AP=18 Z5 ;Approach starting point, position in ;cylindrical coordinates N40 L10 ;Subprogram call N50 G91 AP=72 ;Approach next position in rapid traverse, ;polar angle in incremental dimensions, polar radius ;from block N30 is still stored and does not need ;to be specified N60 L10 ;Subprogram call N70 AP=IC(72) ;... N80 L10 ;... N90 AP=IC(72) N100 L10 ;... N110 AP=IC(72) 122 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.2 Travel commands with polar coordinates, polar angle, polar radius N120 L10 ;... N130 G0 X300 Y200 Z100 M30 ;Retract tool, program end N90 AP=IC(72) ;... N100 L10 Example of cylinder coordinates The 3rd geometry axis, which lies perpendicular to the working plane, can also be specified in Cartesian coordinates. = 53 $3 This enables spatial parameters to be programmed in cylindrical coordinates. Example: G17 G0 AP... RP... Z... Traversing commands The positions stated with polar coordinates can be approached with rapid traverse G0, linear interpolation G1, circular interpolation clockwise G2 or counterclockwise G3. Working plane The polar coordinates are valid in the working plane selected with G17 to G19. You must not program Cartesian coordinates, such as interpolation parameters or axis addresses, for the selected working plane in NC blocks with polar end position coordinates. Polar angle AP When absolute dimensions are specified, the angular reference is based on the horizontal axis of the working plane, e.g., X axis with G17. The positive direction of rotation is counterclockwise. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 123 Motion commands 4.2 Travel commands with polar coordinates, polar angle, polar radius The polar angle can be defined both absolutely and incrementally. When incremental coordinates are entered (AP=IC...), the last angle programmed is taken as the reference. The polar angle is stored until a new pole is defined or the working plane is changed. If no pole is defined, then the origin of the current workpiece coordinate system is considered as pole. < $3 $3 ,& $3 r r ; Polar radius RP The polar radius remains stored until a new value is input. If the modally active polar radius is RP = 0 The polar radius is calculated from the distance between the starting point vector in the polar plane and the active pole vector. The calculated polar radius is stored modally afterwards. This applies irrespective of a selected pole definition such as G110, G111, G112. If both points are programmed identically, this radius becomes 0 and alarm 14095 is generated. If a pole angle AP is programmed with RP = 0 If the current block contains a polar angle AP rather than a polar radius RP and if there is a difference between the current position and pole in workpiece coordinates, then this difference is applied as the polar radius and stored modally. If the difference = 0, the pole coordinates are specified again and the modal polar radius remains zero. 124 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.3 Rapid traverse movement (G0, RTLION, RTLIOF) 4.3 Rapid traverse movement (G0, RTLION, RTLIOF) Function You can use the rapid traverse movements to position the tool rapidly, to travel round the workpiece or to approach tool change locations. Non-linear interpolation is activated using RTLIOF parts program commands; linear interpolation is activated using RTLION. Note This function is not suitable for workpiece machining! Programming G0 X... Y... Z... Or G0 AP=... Or G0 RP=... Or RTLIOF Or RTLION Parameters G0 Rapid traverse movement X Y Z End point in Cartesian coordinates AP= End point in polar coordinates, in this case the polar angle RP= End point in polar coordinates, in this case the polar radius RTLIOF with G0 Nonlinear interpolation (each path axis interpolates as a single axis) RTLION with G0 Linear interpolation (path axes are interpolated together) Note G0 cannot be replaced with G. G0 is modal. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 125 Motion commands 4.3 Rapid traverse movement (G0, RTLION, RTLIOF) Example of milling < 1 1 ; Start positions or tool change points, retracting the tool, etc., are approached with G0. N10 G90 S400 M3 ;Absolute dimensioning, spindle clockwise N20 G0 X30 Y20 Z2 ;Approach start position N30 G1 Z-5 F1000 ;Tool infeed N40 X80 Y65 ;Travel on straight line N50 G0 Z2 ;Retract tool, program end N60 G0 X-20 Y100 Z100 M30 Example of turning ; 1 1 . = 126 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.3 Rapid traverse movement (G0, RTLION, RTLIOF) N10 G90 S400 M3 ;Absolute dimensioning, spindle clockwise N20 G0 X25 Z5 ;Approach start position N30 G1 G94 Z0 F1000 ;Tool infeed N40 G95 Z-7.5 F0.2 ;Travel on straight line N50 X60 Z-35 N60 Z-50 N70 G0 X62 ;Retract tool, program end N80 G0 X80 Z20 M30 Description The tool movement programmed with G0 is executed at the highest possible speed (rapid traverse). The rapid traverse speed is defined separately for each axis in machine data. If the rapid traverse movement is executed simultaneously on several axes, the rapid traverse speed is determined by the axis, which requires the most time for its section of the path. = < I VH YHU WKR 3D LGWUD W S Q 5D HPH Y PR 3DWK FRPSRQHQW = 3DWKFRPSRQHQW < 3DWKFRPSRQHQW ; ; Traversing path axes as positioning axes with G0 Path axes can travel in one of two different modes to execute movements in rapid traverse: * Linear interpolation (behavior in earlier SW version): The path axes are interpolated together. * Non-linear interpolation: Each pat axis is interpolated as an individual (positioning) axis independently of the other axes involved in the rapid traverse movement. With non-linear interpolation, the setting for the appropriate positioning axis BRISKA, SOFTA or DRIVEA applies, with reference to the axial jerk. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 127 Motion commands 4.3 Rapid traverse movement (G0, RTLION, RTLIOF) Notice Since a different contour can be traversed in nonlinear interpolation mode, synchronized actions that refer to coordinates of the original path are not operative in some cases! Linear interpolation applies in the following cases: * With a G code combination including G0, which does not permit positioning movements (e.g., G40/41/42). * With a combination of G0 and G64 * When the compressor is active * When a transformation is active Example G0 X0 Y10 G0 G40 X20 Y20 G0 G95 X100 Z100 m3 s100 Path POS[X]=0 POS[Y]=10 is traversed in path mode. No revolutional feedrate is active if path POS[X]=100 POS[Z]=100 is traversed. Settable block change time with G0 For single axis interpolations, a new movement end criterion FINEA Or COARSEA Or IPOENDA can already be set for block change inside the braking ramp. Consecutive axes are handled in G0 like positioning axes. With the combination of * "Block change settable in the braking ramp of the single axis interpolation" and * "Traversing path axes in rapid traverse movement as positioning axes with G0" all axes can travel to their end point independently of one another. In this way, two sequentially programmed X and Z axes are treated like positioning axes in conjunction with G0. The block change to axis Z can be initiated by axis X as a function of the braking ramp time setting (100-0%). Axis Z starts to move while axis X is still in motion. Both axes approach their end point independently of one another. For further information, please refer to "Feed control and spindle motion". 128 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.4 Linear interpolation (G1) 4.4 Linear interpolation (G1) Function With G1, the tool travels along straight lines that are parallel to the axis, inclined or in any orientation in space. Linear interpolation permits machining of 3D surfaces, grooves, etc. Milling: Programming G1 X... Y... Z ... F... Or G1 AP=... RP=... F... Parameters G1 Linear interpolation with feedrate (linear interpolation) X Y Z End point in Cartesian coordinates AP= End point in polar coordinates, in this case the polar angle RP= End point in polar coordinates, in this case the polar radius F Feedrate in mm/min. The tool travels at feedrate F along a straight line from the current starting point to the programmed destination point. You can enter the destination point in Cartesian or polar coordinates. The workpiece is machined along this path. Example: G1 G94 X100 Y20 Z30 A40 F100 The end point on X, Y, Z is approached at a feedrate of 100 mm/min; the rotary axis A is traversed as a synchronized axis, ensuring that all four movements are completed at the same time. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 129 Motion commands 4.4 Linear interpolation (G1) Note G1 is modal. The spindle speed S and the direction of spindle rotation M3/M4 must be specified for machining. FGROUP can be used to define groups of axes, to which the path feed F applies. You will find more information in the "Path behavior" section. Example of milling Machining of a groove: The tool travels from the starting point to the end point in the X/Y direction. Infeed takes place simultaneously in the Z direction. < < = ; 130 N10 G17 S400 M3 ;Select working plane, spindle clockwise N20 G0 X20 Y20 Z2 ;Approach start position N30 G1 Z-2 F40 ;Tool infeed N40 X80 Y80 Z-15 ;Travel along inclined :straight line N50 G0 Z100 M30 ;Retract to tool change point Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.5 Circular interpolation types, (G2/G3, CIP, CT) Example of turning ; ; = < < ; 4.5 ; N10 G17 S400 M3 ;Select working plane, spindle clockwise N20 G0 X40 Y-6 Z2 ;Approach start position N30 G1 Z-3 F40 ;Tool infeed N40 X12 Y-20 ;Travel along inclined ;straight line N50 G0 Z100 M30 ;Retract to tool change point Circular interpolation types, (G2/G3, CIP, CT) Possibilities of programming circular movements The control provides a range of different ways to program circular movements. This allows you to implement almost any type of drawing dimension directly. The circular movement is described by the: * center point and end point in the absolute or incremental dimension (default) * Radius and end point in Cartesian coordinates * Opening angle and end point in Cartesian coordinates or center point under the addresses * Polar coordinates with the polar angle AP= and the polar radius RP= * Intermediate and end point * End point and tangent direction at the start point. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 131 Motion commands 4.5 Circular interpolation types, (G2/G3, CIP, CT) Programming G2/G3 X... Y... Z... I=AC(...) J=AC(...) K=AC(...) Or G2/G3 X... Y... Z... I... J... K... Or G2/G3 X... Y... Z... CR=... Absolute center point and end point with reference to the workpiece zero Center point in incremental dimensions with reference to the circle starting point Circle radius CR= and circle end position in Cartesian coordinates X..., Y..., Z... Or G2/G3 X... Y... Z... AR=... Opening angle AR= end point in Cartesian coordinates X..., Y..., Z... Or G2/G3 I... J... K... AR=... Opening angle AR= center point at addresses I..., J..., K... Or G2/G3 AP=... RP=... Polar coordinates with the polar angle AP= and the polar radius RP= Or CIP X... Y... Z... I1=AC(...) J1=AC(...) K1=(AC...) Or CT X... Y... Z... The intermediate point at addresses I1=, J1=, K1= Circle through starting and end point and tangent direction at starting point Parameters 132 G2 Circular interpolation, CW G3 Circular interpolation counterclockwise CIP Circular interpolation through intermediate point CT Circle with tangential transition defines the circle X Y Z End point in Cartesian coordinates I J K Circle center point in Cartesian coordinates in X, Y, Z direction CR= Circle radius AR= Opening angle AP= End point in polar coordinates, in this case the polar angle RP= End point in polar coordinates, in this case polar radius corresponding to circle radius I1= J1= K1= Intermediate points in Cartesian coordinates in X, Y, Z direction Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.5 Circular interpolation types, (G2/G3, CIP, CT) Example of milling The following program lines contain an example for each circular programming possibility. The necessary dimensions are shown in the production drawing on the right. < r - , ; N10 G0 G90 X133 Y44.48 S800 M3 ;Approach starting point N20 G17 G1 Z-5 F1000 ;Tool infeed N30 G2 X115 Y113.3 I-43 J25.52 ;Circle end point, center point in ;incremental dimensions Or N30 G2 X115 Y113.3 I=AC(90) J=AC(70) ;Circle end point, center point in ;absolute dimensions Or N30 G2 X115 Y113.3 CR=-50 ;Circle end point, circle radius Or N30 G2 AR=269.31 I-43 J25.52 ;Opening angle, center point in ;incremental dimensions Or N30 G2 AR=269.31 X115 Y113.3 ;Opening angle, circle end point Or N30 N30 CIP X80 Y120 Z-10 I1= IC(-85.35)J1=IC(-35.35) K1=-6 N40 M30 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 ;Circle end point and intermediate point: ;Coordinates for all ;three geometry axes ;End of program 133 Motion commands 4.5 Circular interpolation types, (G2/G3, CIP, CT) Example of turning ; r r = N.. ... N120 G0 X12 Z0 N125 G1 X40 Z-25 F0.2 N130 G3 X70 Y-75 I-3.335 K-29.25 ;Circle end point, center point in ;incremental dimensions Or N130 G3 X70 Y-75 I=AC(33.33) K=AC(-54.25) ;Circle end point, center point in ;absolute dimensions Or N130 G3 X70 Z-75 CR=30 ;Circle end point, circle radius Or N130 G3 X70 Z-75 AR=135.944 ;Opening angle, circle end point Or N130 G3 I-3.335 K-29.25 AR=135.944 ;Opening angle, center point in ;incremental dimensions Or N130 G3 I=AC(33.33) K=AC(-54.25) AR=135.944 ;Opening angle, center point in ;absolute dimensions Or N130 G111 X33.33 Z-54.25 ;Polar coordinates N135 G3 RP=30 AP=142.326 ;Polar coordinates Or N130 CIP X70 Z-75 I1=93.33 K1=-54.25 ;Programming a circle with intermediate and ;end points N140G1 Z-95 N.. ... N40 M30 134 ;End of program Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.6 Circular interpolation with center point and end point (G2/G3, I=, J=, K=AC...) 4.6 Circular interpolation with center point and end point (G2/G3, I=, J=, K=AC...) Function Circular interpolation enables machining of full circles or arcs. The circular movement is described by: * The end point in Cartesian coordinates X, Y, Z and * the circle center point at addresses I, J, K. If the circle is programmed with a center point but no end point, the result is a full circle. Programming G2/G3 X... Y... Z... I... J... K... Or G2/G3 X... Y... Z... I=AC(...) J=AC(...) K=(AC...) Parameters G2 Circular interpolation, CW G3 Circular interpolation counterclockwise X Y Z End point in Cartesian coordinates I Coordinates of the circle center point in the X direction J Coordinates of the circle center point in the Y direction K Coordinates of the circle center point in the Z direction =AC(...) Absolute dimensions (non-modal) Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 135 Motion commands 4.6 Circular interpolation with center point and end point (G2/G3, I=, J=, K=AC...) Note G2 and G3 are modal. The G90/G91 defaults for absolute or incremental dimensions are only valid for the circle end point. The center point coordinates I, J, K are normally entered in incremental dimensions with reference to the circle starting point. You program the absolute center point non-modally with reference to the workpiece zero point with: I=AC(...), J=AC(...), K=AC(...). An interpolation parameter I, J, K with value 0 can be omitted but the second associated parameter must always be specified. Examples for milling < , - $& - &LUFOH VWDUWLQJSRLQW &LUFOH HQGSRLQW W ; , $& Incremental dimension N10 G0 X67.5 Y80.211 N20 G3 X17.203 Y38.029 I-.5 J-.211 F500 Absolute dimensions N10 G0 X67.5 Y80.211 N20 G3 X17.203 Y38.029 I=AC(50) J=AC(50) 136 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.6 Circular interpolation with center point and end point (G2/G3, I=, J=, K=AC...) Examples for turning ; = Incremental dimension N120 G0 X12 Z0 N125 G1 X40 Z-25 F0.2 N130 G3 X70 Z-75 I-3.335 K-29.25 N135 G1 Z-95 Absolute dimensions N120 G0 X12 Z0 N125 G1 X40 Z-25 F0.2 N130 G3 X70 Z-75 I=AC(33.33) K=AC(-54.25) N135 G1 Z-95 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 137 Motion commands 4.6 Circular interpolation with center point and end point (G2/G3, I=, J=, K=AC...) Indication of working plane < ; * * * = The control needs the working plane parameter (G17 to G19) in order to calculate the direction of rotation for the circle - G2 is clockwise or G3 is counterclockwise. = < ; * * * * * * It is advisable to specify the working plane generally. Exception: You can also machine circles outside the selected working plane (not with arc angle and helix parameters). In this case, the axis addresses that you specify as an end point determine the circle plane. Programmed feedrate You can use FGROUP to specify, which axes are to be traversed with a programmed feedrate. For more information please refer to the Path behavior section. 138 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.7 Circular interpolation with radius and end point (G2/G3, CR) 4.7 Circular interpolation with radius and end point (G2/G3, CR) The circular movement is described by the: * Circle radius CR= and * the end point in Cartesian coordinates X, Y, Z. In addition to the circle radius, you must also specify the leading sign +/- to indicate whether the traversing angle is to be greater than or less than 180. A positive leading sign can be omitted. Note There is no practical limitation on the maximum size of the programmable radius. Programming G2/G3 X... Y... Z... CR= Or G2/G3 I... J... K... CR= Parameters G2 Circular interpolation, CW G3 Circular interpolation counterclockwise X Y Z End point in Cartesian coordinates. These data depend on the motion commands G90/G91 or ...=AC(...)/...=IC(..) I J K Circle center point in Cartesian coordinates (in X, Y, Z direction) The identifiers have the following meanings: I: Coordinate of the circle center point in the X direction J: Coordinate of the circle center point in the Y direction K: Coordinate of the circle center point in the Z direction CR= Circle radius Here: CR=+...: Angle less than or equal to 180 CR=-...: Angle more than 180 Note You don't need to specify the center point with this procedure. Full circles (traversing angle 360) cannot be programmed with CR=, but must be programmed using the circle end point and interpolation parameters. Example of milling Programming a circle with radius and end point Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 139 Motion commands 4.7 Circular interpolation with radius and end point (G2/G3, CR) N10 G0 X67.5 Y80.511 N20 G3 X17.203 Y38.029 CR=34.913 F500 < &5 &5 &5 ; Example of turning Programming a circle with radius and end point N125 G1 X40 Z-25 F0.2 N130 G3 X70 Z-75 CR=30 N135 G1 Z-95 ; = 140 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.8 Circular interpolation with arc angle and center point (G2/G3, AR=) 4.8 Circular interpolation with arc angle and center point (G2/G3, AR=) The circular movement is described by: * The opening angle AR = and * the end point in Cartesian coordinates X, Y, Z or * the circle center at addresses I, J, K Programming G2/G3 X... Y... Z... AR= or G2/G3 I... J... K... AR= Parameter G2 Circular interpolation, CW G3 Circular interpolation, CCW X Y Z End point in Cartesian coordinates I J K Circle center in Cartesian coordinates (in X, Y, Z direction) Key: I: Coordinate of the circle center in the X direction J: Coordinate of the circle center in the Y direction K: Coordinate of the circle center in the Z direction AR= Opening angle, range of values 0 to 360 =AC(...) Absolute dimensioning (non-modal) Note Full circles (traversing angle 360) cannot be programmed with AR=, but must be programmed using the circle end position and interpolation parameters. The center point coordinates I, J, K are normally entered in incremental dimensions with reference to the circle starting point. You program the absolute center point non-modally with reference to the workpiece zero with: I=AC(...), J=AC(...), K=AC(...). An interpolation parameter I, J, K with value 0 can be omitted but the second associated parameter must always be specified. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 141 Motion commands 4.8 Circular interpolation with arc angle and center point (G2/G3, AR=) Example of milling - , < &LUFOH VWDUWLQJSRLQW $SHUWXUHDQJOH ; Programming a circle with opening angle and center point or end point N10 G0 X67.5 Y80.211 N20 G3 X17.203 Y38.029 AR=140.134 F500 or N20 G3 I-17.5 J-30.211 AR=140.134 F500 Example of turning X 14 2 .3 2 6 30 95 O 40 25 54.25 O 33.33 Z Programming a circle with opening angle and center point or end point N125 G1 X40 Z-25 F0.2 N130 G3 X70 Z-75 AR=135.944 142 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.9 Circular interpolation with polar coordinates (G2/G3, AP=, RP=) or N130 G3 I-3.335 K-29.25 AR=135.944 or N130 G3 I=AC(33.33) K=AC(-54.25) AR=135.944 N135 G1 Z-95 4.9 Circular interpolation with polar coordinates (G2/G3, AP=, RP=) The circular movement is described by: * The polar angle AP= * and the polar radius RP= The following rule applies: The pole lies at the circle center. The polar radius corresponds to the circle radius. Programming G2/G3 AP= RP= Parameter G2 Circular interpolation, CW G3 Circular interpolation, CCW X Y Z End point in Cartesian coordinates AP= End point in polar coordinates, in this case the polar angle RP= End point in polar coordinates, in this case polar radius corresponds to circle radius Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 143 Motion commands 4.9 Circular interpolation with polar coordinates (G2/G3, AP=, RP=) Example of milling * 53 r $3 < ; Programming a circle with polar coordinates N10 G0 X67.5 Y80.211 N20 G111 X50 Y50 N30 G3 RP=34.913 AP=200.052 F500 Example of turning X 14 2 .3 2 6 30 95 O 40 25 54.25 O 33.33 Z Programming a circle with polar coordinates N125 G1 X40 Z-25 F0.2 N130 G111 X33.33 Z-54.25 N135 G3 RP=30 AP=142.326 N140 G1 Z-95 144 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.10 Circular interpolation with intermediate and end points (CIP) 4.10 Circular interpolation with intermediate and end points (CIP) You can use CIP to program arcs. These arcs can also be inclined in space. In this case, you describe the intermediate and end points with three coordinates. The circular movement is described by: * The intermediate point at addresses I1=, J1=, K1= and * the end point in Cartesian coordinates X, Y, Z. < < , ,QWHUPHGLDWHSRLQW - ; = . The traversing direction is determined by the order of the starting point, intermediate point and end point. Programming CIP X... Y... Z... I1=AC(...) J1=AC(...) K1=(AC...) Parameters CIP Circular interpolation through intermediate point X Y Z End point in Cartesian coordinates. These data depend on the motion commands G90/G91 or ...=AC(...)/...=IC(..) I1= J1= K1= Circle center point in Cartesian coordinates (in X, Y, Z direction) The identifiers have the following meanings: I: Coordinate of the circle center point in the X direction J: Coordinate of the circle center point in the Y direction K: Coordinate of the circle center point in the Z direction =AC(...) Absolute dimensions (non-modal) =IC(...) Incremental dimensions (non-modal) Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 145 Motion commands 4.10 Circular interpolation with intermediate and end points (CIP) Note CIP is modal. Input in absolute and incremental dimensions The G90/G91 defaults for absolute or incremental dimensions are valid for the intermediate and circle end points. With G91, the circle starting point is used as the reference for the intermediate point and end point. Example of milling < < = ; In order to machine an inclined circular groove, a circle is described by specifying the intermediate point with 3 interpolation parameters, and the end point with 3 coordinates. N10 G0 G90 X130 Y60 S800 M3 ;Approach starting point N20 G17 G1 Z-2 F100 ;Tool infeed N30 CIP X80 Y120 Z-10 ;Circle end point and intermediate point: I1= IC(-85.35)J1=IC(-35.35) K1=-6 N40 M30 146 ;Coordinates for all three geometry axes ;End of program Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.11 Circular interpolation with tangential transition (CT) Example of turning ; = N125 G1 X40 Z-25 F0.2 N130 CIP X70 Z-75 I1=IC(26.665) K1=IC(-29.25) or N130 CIP X70 Z-75 I1=93.33 K1=-54.25 N135 G1 Z-95 4.11 Circular interpolation with tangential transition (CT) Function The Tangential transition function is an expansion of the circle programming. The circle is defined by * the start and end point and * the tangent direction at the start point. The G code CT produces an arc that lies at a tangent to the contour element programmed previously. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 147 Motion commands 4.11 Circular interpolation with tangential transition (CT) $UF6(DWDWDQJHQWWRWKH VWUDLJKWOLQH 6 ( $UFVWKDWOLHDWDWDQJHQWGHSHQG RQWKHSUHYLRXVFRQWRXUHOHPHQW &7 / / 6 &7 &7 / ( Determining the direction of the tangent The direction of tangent at the start point of a CT block is determined from the end tangent of the programmed contour of the previous block with a traversing movement. Any number of blocks without traversing information may lie between this block and the current block. Programming CT X... Y... Z... Parameters CT Circle with tangential transition X Y Z End point in Cartesian coordinates Note CT is modal. As a rule, the circle is uniquely defined by the direction of the tangent, as well as the start and end points. 148 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.11 Circular interpolation with tangential transition (CT) Example of milling < ZLWK75& ; Milling a circular arc with CT following a straight line: N10 G0 X0 Y0 Z0 G90 T1 D1 N20 G41 X30 Y30 G1 F1000 ;Activate tool radius compensation (TRC) N30 CT X50 Y15 ;Program circle with tangential ;transition N40 X60 Y-5 N50 G1 X70 N60 G0 G40 X80 Y0 Z20 N70 M30 Example of turning ; Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 = 149 Motion commands 4.12 Helical interpolation (G2/G3, TURN=) N110 G1 X23.293 Z0 F10 N115 X40 Z-30 F0.2 N120 CT X58.146 Z-42 ;Program circle with tangential ;transition N125 G1 X70 Description In the case of splines, the tangential direction is defined by the straight line through the last two points. This direction is generally not the same as the direction at the end point of the spline with A and C splines with active ENAT or EAUTO. The transition of B splines is always tangential, the tangent direction is defined as for A or C splines and active ETAN. Frame change If a frame change takes place between the block defining the tangent and the CT block, the tangent is also subjected to this change. Limit case If the extension of the start tangent runs through the end point, a straight line is produced instead of a circle (limit case: circle with infinite radius). In this special case, TURN must either not be programmed or the value must be TURN=0. Note When the values tend towards this limit case, circles with an unlimited radius are produced and machining with TURN unequal 0 is generally aborted with an alarm due to violation of the software limits. Position of the circle plane The position of the circle plane depends on the active plane (G17-G19). If the tangent of the previous block does not lie in the active plane, its projection in the active plane is used. If the start and end points do not have the same position components perpendicular to the active plane, a helix is produced instead of a circle. 4.12 Helical interpolation (G2/G3, TURN=) Function Helical interpolation (helix interpolation) can be used to manufacture threads and oil grooves, for example. 150 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.12 Helical interpolation (G2/G3, TURN=) In helical interpolation, two movements are superimposed and executed in parallel: * A horizontal circular movement, on which * a vertical linear movement is superimposed. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 151 Motion commands 4.12 Helical interpolation (G2/G3, TURN=) Programming G2/G3 X... Y... Z... I... J... K... TURN= Or G2/G3 X... Y... Z... I... J... K... TURN= Or G2/G3 AR=... I... J... K... TURN= Or G2/G3 AR=... X... Y... Z... TURN= Or G2/G3 AP... RP=... TURN= Parameters G2 Travel on a circular path in clockwise direction G3 Travel on a circular path in counterclockwise direction X Y Z End point in Cartesian coordinates I J K Circle center point in Cartesian coordinates AR Opening angle TURN= Number of additional circle passes within the range 0 to 999 AP= Polar angle RP= Polar radius Note G2 and G3 are modal. The circular movement is performed on the axes specified by the working plane. 152 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.12 Helical interpolation (G2/G3, TURN=) Example < < ; = N10 G17 G0 X27.5 Y32.99 Z3 ;Approach start position N20 G1 Z-5 F50 ;Tool infeed N30 G3 X20 Y5 Z-20 I=AC(20) J=AC (20) TURN=2 N40 M30 ;Helix with following parameters: Execute ;2 full circles from start position, ;then approach end point ;End of program Sequence of motions 1. Approach starting point 2. With TURN= execute the full circles programmed 3. Approach circle end position, e.g., as part rotation 4. Execute steps 2 and 3 across the infeed depth. The pitch, with which the helix is to be machined is calculated from the number of full circles plus the programmed circle end position (executed across the infeed depth). Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 153 Motion commands 4.12 Helical interpolation (G2/G3, TURN=) 6WDUWSRLQW VW)XOOFLUFOH QG)XOOFLUFOH UG)XOOFLUFOH (QGSRLQWDV SDUWLDOURWDWLRQ 7DUJHWSRLQW Programming the end point for helical interpolation Please refer to circular interpolation for a detailed description of the interpolation parameters. Programmed feedrate For helical interpolation, it is advisable to specify a programmed feedrate override (CFC). You can use FGROUP to specify, which axes are to be traversed with a programmed feedrate. For more information please refer to the Path behavior section. 154 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.13 Involute interpolation (INVCW, INVCCW) 4.13 Involute interpolation (INVCW, INVCCW) Function The involute of the circle is a curve traced out from the end point on a "piece of string" unwinding from the curve. Involute interpolation allows trajectories along an involute. It takes place in the plane, in which the base circle is defined. Start and end points outside this plane result in superimposition on a curve in space, analogous to helical interpolation with circles. < 0 ;< ;< 6WDUWSRLQW 5 ; %DVHFLUFOH (QGSRLQW When paths perpendicular to the active plane are also programmed, it is possible to traverse an involute in space (comparable to helical interpolation with circles). Programming INVCW X... Y... Z... I... J... K... CR=... Or INVCCW X... Y... Z... I... J... K... CR=... Or INVCW I... J... K... CR=... AR=... Or INVCCW I... J... K... CR=... AR=... Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 155 Motion commands 4.13 Involute interpolation (INVCW, INVCCW) Parameters INVCW Travel on an involute in clockwise direction INVCCW Travel on an involute path in counterclockwise direction X Y Z End point in Cartesian coordinates I J K Center point of base circle in Cartesian coordinates CR= Radius of base circle AR= Opening angle (angle of rotation) Supplementary condition Both the start point and the end point must be outside the area of the base circle of the involute (circle with radius CR around the center point determined by I, J and K). If this condition is not fulfilled, an alarm is generated and the program run aborted. Note For more information about machine data and supplementary conditions that are relevant to involute interpolation, please see References: /FB1/, A2 section "Settings for involute interpolation". Example of counterclockwise involute and back as clockwise involute Counterclockwise involute according to programming method 1 from start to end point and back again (clockwise involute) 1HQGSRLQW ; < < 1 1 5 ; 1VWDUWSRLQW ; < 156 N10 G1 X10 Y0 F5000 ;Approach start position N15 G17 ;Select X/Y plane Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.13 Involute interpolation (INVCW, INVCCW) N20 INVCCW X32.77 Y32.77 CR=5 I-10 J0 ;E. counterclockwise, end point, radius, ;center point relative to start point N30 INVCW X10 Y0 CR=5 I-32.77 J-32.77 ;Start point is end point from N20 ;End point is start point from N20, ;radius, center point relative to new ;start point is equal to previous ;center point ... Example of counterclockwise involute with end point over angle of rotation Specification of end point via angle of rotation < 5 6WDUWLQJ SRLQW $5 ; < ; N10 G1 X10 Y0 F5000 ;Approach start position N15 G17 ;Select X/Y plane N20 INVCCW CR=5 I-10 J0 AR=360 ;Counterclockwise involute, away from base ;circle (pos. angle setting) with ;one full rotation ... Description Programming methods 1. Direct programming of the end point with X, Y or X, Y, Z 2. Programming of the angle of rotation between the start and end vectors with AR=angle (cf. also programming of the arc angle when programming circles). If the angle of rotation is positive (AR > 0), the path on the involute moves away from the base circle; with a negative angle of rotation (AR < 0), the path on the involute moves towards the base circle. The maximum angle of rotation for AR < 0 is restricted by the fact that the end point must always lie outside the base circle. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 157 Motion commands 4.13 Involute interpolation (INVCW, INVCCW) (QGSRLQWV $5 6WDUWSRLQW Options 1. and 2. are mutually exclusive. Only one of these notations may be used each block. Further information There are further options when the angle of rotation is programmed with AR. Two different involutes can be implemented (see diagram) by specifying the radius and center point of the base circle as well as the start point and direction of rotation (INVCW/INVCCW). The selected path must be defined unambiguously by the sign of the angle. The two involutes defined by the start point and the base circle are shown in the diagram above. In this case, end point 1 is approached when AR > 0 is programmed and end point 2 when AR < 0 is programmed. Accuracy If the programmed end point does not lie exactly on the involute defined by the start point and base circle, interpolation takes place between the two involutes defined by the start or end point (see diagram). The maximum deviation of the end point is determined by a machine data. If the programmed end point deviates more in the radial direction than the MD setting, an alarm is generated and the program run aborted. 5 6WDUWSRLQW (QGSRLQW %DVHFLUFOH 158 0D[ GHYLDWLRQ Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.14 Contour definitions 4.14 Contour definitions 4.14.1 Straight line with angle (X2... ANG...) Function The end point is defined through specification of * the angle ANG and * one of the two coordinates X2 or Z2. ; ;= $1* ;= = Programming X2... ANG... Parameters X2 or Z2 End point in Cartesian coordinates X or Z ANG Angle Machine manufacturer The names for angle (ANG), radius (RND) and chamfer (CHR) can be set in MD, see /FBFA/FB ISO Dialects. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 159 Motion commands 4.14 Contour definitions Example N10 X5 Z70 F1000 G18 ;Approach start position N20 X88.8 ANG=110 or (Z39.5 ANG=110) ;Straight line with specified angle N30 ... 4.14.2 Two straight lines (ANG1, X3... Z3... ANG2) Function The intersection of the two straight lines can be designed as a corner, curve or chamfer. The end point of the first of the two straight lines can be programmed by defining the coordinates or specifying the angle. ; ;= $1* &DQDOVREHUDGLXV RUFKDPIHU RU&+5 ;= $1* ;= = Programming ANG1... X3... Z3... ANG2... Or X1... Z1... X3... Z3... 160 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.14 Contour definitions Parameters ANG1= Angle of the first straight line ANG2= Angle of the second straight line CHR Chamfer X1, Z1= Start coordinates X2, Z2= Intersection of the two straight lines X3=, Z3= End point of the second straight line Machine manufacturer The names for angle (ANG), radius (RND) and chamfer (CHR) can be set in MD, see /FBFA/FB ISO Dialects. Example N10 X10 Z80 F1000 G18 ;Approach start position N20 ANG1=148.65 CHR=5.5 ;Straight line with specified angle and chamfer N30 X85 Z40 ANG2=100 ;Straight line with specified angle and end point N40 ... 4.14.3 Three straight lines (ANG1, X3... Z3... ANG2, X4... Z4...) Function The intersection of the straight lines can be designed as a corner, a curve, or a chamfer. The end point of the third straight line must always be programmed as Cartesian. &DQDOVREHUDGLXV RUFKDPIHU ; RU51' ;= $1* RU&+5 ;= ;= $1* ;= = Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 161 Motion commands 4.14 Contour definitions Programming ANG1... X3... Z3... ANG2... X4... Z4... Or X2... Z2... X3... Z3... X4... Z4... Parameters ANG, ANG2= Angle of the first/second straight line relative to the abscissa CHR Chamfer RND Rounding X1, Z1 Start coordinates of the first straight line X2, Z2 End point coordinates of the first straight line or starting point of the second straight line. X3, Z3 End point coordinates of the second straight line or starting point of the third straight line X4=, Z4= Endpoint coordinates of the third straight line Machine manufacturer The names for angle (ANG), radius (RND) and chamfer (CHR) can be set in MD, see /FBFA/FB ISO Dialects. Example 162 N10 X10 Z100 F1000 G18 ;Approach start position N20 ANG1=140 CHR=7.5 ;Straight line with specified angle and chamfer N30 X80 Z70 ANG2=95.824 RND=10 Straight line on intersection with specified angle and ;rounding N40 X70 Z50 ;Straight line on end point Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.14 Contour definitions 4.14.4 End point programming with angle Function If the address letter A appears in an NC block, either none, one or both of the axes in the active plane may also be programmed. Number of programmed axes * If none of the axes in the active plane is programmed, the block is either the first or second block of a contour consisting of two blocks. If it is the second block in this type of contour, it indicates that the start and end points in the active plane are identical. The contour then comprises at most a motion perpendicular to the active plane. * If exactly one axis in the active plane is programmed, then it is either a single straight line, whose end point is uniquely defined by the angle and programmed Cartesian coordinate, or it is the second block in a contour definition comprising two blocks. In the latter case, the missing coordinate is set to match the last reached (modal) position. * If two axes are programmed in the current plane, it is the second block of a contour that consists of two blocks. If the current block was not preceded by a block with angle programming and no programmed axes in the current plane, the block in question is not permissible. Angle A must only be programmed for linear or spline interpolation. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 163 Motion commands 4.15 Thread cutting with constant lead (G33) 4.15 Thread cutting with constant lead (G33) Function With G33 three types of thread * Cylinder thread * Face thread * Taper thread can be produced with single or multiple threads as right-hand or left-hand thread. Thread chains By programming several G33 blocks consecutively, you can align several sets of threads in a sequence. With G64 continuous-path mode, the blocks are interconnected in a look ahead velocity control so that no speed jumps are produced. 164 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.15 Thread cutting with constant lead (G33) ; U ZL G6H WK W * QG6HW ZLWK* VW6HW ZLWK* = Right-hand/left-hand threads Right-hand or left-hand threads are set according to the spindle direction: M3: Clockwise M4: CCW rotation Programming Cylinder thread G33 Z... K ... SF=... Face thread G33 X... I... SF=... Taper thread G33 X... Z... K... SF=... Or G33 X... Z... I... SF=... Parameters G33 Thread cutting with constant speed X Y Z End point in Cartesian coordinates I Thread lead in X direction J Thread lead in Y direction K Thread lead in Z direction Z Longitudinal axis X Transverse axis Z... K... The thread length and thread lead for cylinder threads X... I... Thread diameter and thread lead for face threads I... K... The dominant direction share for tape thread in X or Z K (taper thread) Lead angle <45, thread lead in longitudinal direction Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 165 Motion commands 4.15 Thread cutting with constant lead (G33) I (taper thread) Lead angle >45, thread lead in transverse direction I... or K... I or K can be stated at thread lead = 45 SF= Starting point offset, only needed for multiple threads Example of double cylinder thread with start point offset Machining a double cylindrical thread in offset steps with starting point offset 180. ; E 6WDUWSRLQW = 6WDUWSRLQW N10 G1 G54 X99 Z10 S500 F100 M3 ;Zero offset, approach ;start point, spindle on N20 G33 Z-100 K4 ;Cylindrical thread: end point in Z N30 G0 X102 ;Retract to starting position N40 G0 Z10 N50 G1 X99 N60 G33 Z-100 K4 SF=180 ;2. cut: Starting point offset 180 N70 G0 X110 ;Retract tool N80 G0 Z10 ;End of program N90 M30 166 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.15 Thread cutting with constant lead (G33) Example of taper thread with angle less than 45 Machining a taper thread ; = N10 G1 X50 Z0 S500 F100 M3 ;Approach starting point, activate spindle N20 G33 X110 Z-60 K4 ;Taper thread: End point on Z and X, ;lead K in Z direction, since angle < 45 N30 G0 Z0 M30 ;Retraction, end of program Requirements Equipment required: speed-controlled spindle with position measurement system. Operating principle The control calculates the required feedrate from the programmed spindle speed and the thread lead. The turning tool traverses across the length of the thread in the longitudinal and/or facing direction at this feedrate. The feedrate F is not considered for G33, the limitation to maximum axis speed (rapid traverse) is monitored by the control. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 167 Motion commands 4.15 Thread cutting with constant lead (G33) DG /H )H HG 6SLQGOHVSHHG Cylinder thread A cylinder thread is described by the thread length and thread lead. The thread length is entered in absolute or incremental dimensions with one of the Cartesian coordinates X, Y, or Z. The Z direction is preferred on turning machines. Allowance must also be made for the run-in and run-out paths, across which the feed is accelerated or decelerated. The thread lead is entered at addresses I, J, K, on turning machines preferentially with K. = 5XQLQSDWK 5XQRXWSDWK ; . = 168 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.15 Thread cutting with constant lead (G33) Face thread The face thread is described by * Thread diameter, preferentially in X direction and * Thread lead, preferentially with I. Otherwise, the procedure is the same as for cylindrical threads. 'LDPHWHU ; , /HDG Taper thread The taper thread is described by the end point in the longitudinal and facing direction (taper contour) and the thread lead. The taper contour is entered in Cartesian coordinates X, Y, Z in absolute or incremental dimensions - preferentially in the X and Z direction for machining on turning machines. Allowance must also be made for the run-in and run-out paths, across which the feed is accelerated or decelerated. The parameter for the lead is based on the taper angle (calculated from the longitudinal axis lead angle <45 to the outside of the taper lead angle >45). Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 169 Motion commands 4.15 Thread cutting with constant lead (G33) ; . r = ; , !r = Start point offset SF - production of multi-turn threads Threads with offset cuts are programmed by specifying starting point offsets in the G33 block. The start point offset is specified as an absolute angle position at address SF=. The associated setting data is changed accordingly. Example: SF=45 Meaning: Start offset 45 Value range: 0.0000 to 359.999 degrees ; 6WDUWSRLQW RIIVHWLQ 6WDUWDQJOH IRUWKUHDG VHWWLQJGDWD = 170 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.15 Thread cutting with constant lead (G33) Note If no starting point offset is specified, the "starting angle for thread" defined in the setting data is used. 4.15.1 Programmable run-in and run-out paths (DITS, DITE) Function The commands DITS (Displacement Thread Start) and DITE (Displacement Thread End) can be used to define the path ramp for acceleration and deceleration, in order to modify the feedrate if the tool run-in and run-out paths are too short: * Run-in path too short: The band at the thread run-in provides insufficient space for the tool start ramp - a shorter ramp must therefore be defined with DITS. * Run-out path too short The band at the thread run-out provides insufficient space for the tool deceleration ramp, giving rise to danger of collision between the workpiece and the tool edge. A shorter tool deceleration ramp can be defined with DITE; however, a collision can still occur. Remedy: Program a shorter thread, reduce the spindle speed. ; = 5XQLQUXQRXWSDWK GHSHQGLQJRQGLUHFWLRQRI PDFKLQLQJ Programming DITS=value DITE=value Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 171 Motion commands 4.15 Thread cutting with constant lead (G33) Parameters DITS Thread run-in path DITE Thread run-out path Value Specification of the run-in and run-out path: -1.0,...n Note Only paths, and not positions, are programmed with DITS and DITE. Machine manufacturer The DITS and DITE commands are related to the setting data SD 42010: THREAD_RAMP_DISP[0,1], in which the programmed paths are written. If no runin/deceleration path is programmed before or in the first thread block, the value is determined by the setting in SD 42010, see: References: /FB1/Function Manual Basic Functions; Feedrates (V1) Example N... N40 G90 G0 Z100 X10 SOFT M3 S500 N50 G33 Z50 K5 SF=180 DITS=1 DITE=3 ;Start of corner rounding with Z=53 N60 G0 X20 Description If the run-in and/or run-out path is very short, the acceleration of the thread axis is higher than the configured value. This causes an acceleration overload on the axis. In this case, alarm 22280 "Programmed run-in path too short" is output for the thread run-in (if configured in MD 11411: ENABLE_ALARM_MASK). The alarm is purely for information and has no effect on parts program execution. MD 10710: PROG_SD_RESET_SAVE_TAB is used to set the value written by the parts program into the corresponding setting data on RESET. The values are therefore retained after power off/on. 172 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.16 Linear progressive/degressive thread pitch change (G34, G35) Note DITE acts at the end of the thread as an approximate distance. This achieves a smooth change in the axis movement. When a block containing command DITS and/or DITE is loaded to the interpolator, the path programmed in DITS is transferred to SD 42010: THREAD_RAMP_DISP[0] and the path programmed in DITE to SD 42010 THREAD_RAMP_DISP[1]. The programmed run-in path is handled according to the current setting (inches, metric). 4.16 Linear progressive/degressive thread pitch change (G34, G35) Function You can use the functions G34/G35 to produce self-cutting threads. Both the functions G34 and G35 offer the functionality of G33, but provide the additional option of programming a pitch change under F. Programming G34 X... Y... Z... I... J... K... F... Or G34 X... Y... Z... I... J... K... SF=... Or G35 X... Y... Z... I... J... K... F... Or G35 X... Y... Z... I... J... K... SF=... Parameters G34 Progressive change in thread lead (tapping with linear pitch increase) G35 Degressive change in thread lead (tapping with linear pitch decrease) X Y Z End point in Cartesian coordinates I Thread pitch in X direction J Thread lead in Y direction K Thread lead in Z direction Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 173 Motion commands 4.16 Linear progressive/degressive thread pitch change (G34, G35) F Thread lead change (in mm/rev2) If you already know the initial and final lead of a thread, you can calculate the lead change to be programmed according to the following equation: |k2e - k2a| F = ------------- [mm/rev2] 2*IG The identifiers have the following meanings: Ke: thread lead of axis target point coordinate in [mm/rev] Ka: initial thread pitch (progr. under I, J, and K) in [mm/rev] IG: Thread length in [mm] SF= Starting point offset, only needed for multiple threads Example of lead decrease 174 N1608 M3 S10 ;Spindle speed N1609 G0 G64 Z40 X216 ;Approach start point and thread N1610 G33 Z0 K100 SF=R14 ;With constant pitch 100 mm/rev N1611 G35 Z-200 K100 F17.045455 ;Lead decrease 17.0454 mm/rev2 ;lead at block end 50 mm/rev N1612 G33 Z-240 K50 ;Traverse thread block without jerk N1613 G0 X218 ; N1614 G0 Z40 ; N1615 M17 ; Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.17 Tapping without compensating chuck (G331, G332) 4.17 Tapping without compensating chuck (G331, G332) Function With G331/G332 you can rigid tap a thread. The spindle prepared for tapping can make the following movements in position-controlled operation with distance measuring system: * G331 Tapping with thread lead in tapping direction up to end point * G332 retraction movement with the same lead as G331 = ; . Right-hand/left-hand threads Right-hand or left-hand threads are defined in axis mode by the sign qualifying the lead: * Positive lead, clockwise (same as M3) * Negative lead, counterclockwise (same as M4) The desired speed is also programmed at address S. Programming G331 X... Y... Z... I... J... K... Or G332 X... Y... Z... I... J... K... Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 175 Motion commands 4.17 Tapping without compensating chuck (G331, G332) Parameters G331 G332 X Y Z Tapping. Tapping is described by the drilling depth (end point of the thread) and the lead. Tapping retraction. This movement is described with the same lead as the G331 movement. The reversal in the direction of the spindle is performed automatically. Drilling depth (end point) in a Cartesian coordinate Drilling in X direction, thread lead I Y direction, thread lead J Z direction, thread lead K I Thread pitch in X direction J Thread lead in Y direction K Thread lead in Z direction Value range of lead: 0.001 to 2000.00 mm/revolution Note Both functions G331/G332 are modal. After G332 (retraction), the next thread can be tapped with G331. Equipment required: position-controlled spindle with position measurement system. The spindle must be prepared for tapping with SPOS/SPOSA. It does not work in axis operation, but as position-controlled spindle, see section Feed control and spindle movement "Position-controlled spindle operation" Note Machine manufacturer A second gear-stage data record can be preset for two additional configurable switching thresholds (maximum speed and minimum speed) via axis-specific machine data (this record can differ from the first gear-stage data record and the speed switching thresholds in the two records are regarded as completely separate). Please see the machine manufacturer's specifications for further details. Outputting the programmed drilling speed in the current gear stage The programmed drilling speed, e.g., S800, is output in the current gear stage and, where necessary, is limited to the maximum speed of the gear stage. No automatic gear-stage change is possible following an SPOS operation. In order for an automatic M40-gear-stage change to be performed, the spindle must be in speed-control mode. The appropriate gear stage for M40 is determined on the basis of the first gear-stage data record. 176 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.17 Tapping without compensating chuck (G331, G332) N05 M40 S500 ;Gear stage 1 is engaged, as S500 (for example) is within the range ; 20 to 1,028 rpm. .... N55 SPOS=0 ;Position tool N60 G331 Z-10 K5 S800 ;Produce thread, spindle speed is 800 rpm ;gear stage 1 Note If gear stage 2 is selected at a spindle speed of 800 rpm, then the switching thresholds for the maximum and minimum speed must be configured in the relevant machine data, see examples below. Using the second gear-stage data record for specifying two switching thresholds The switching thresholds of the second gear-stage data record for the maximum and minimum speed are evaluated modally for G331/G332 and when programming an S-value for the active master spindle. Automatic M40-gear-stage change must be active. The gear stage as determined in the manner described above is compared with the active gear stage. If they are found to be different, a gear-stage change is performed. N05 M40 S500 ;Gear stage 1 is selected .... N50 G331 S800 ;Master spindle with 2nd gear-stage data record: ;Gear stage 2 is selected N55 SPOS=0 ;Align spindle N60 G331 Z-10 K5 ;Modal tapping with G331, no ;reprogramming necessary ;spindle accelerated on basis of second data record Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 177 Motion commands 4.17 Tapping without compensating chuck (G331, G332) If no speed programmed, gear stage is monitored If no speed is programmed with G331, then the speed and gear stage last programmed will be used to produce the thread. In this case, monitoring is performed to check that the programmed speed is within the speed range defined by the maximum and minimum speed thresholds for the active gear stage. Otherwise, alarm 16748 is signaled. N05 M40 S800 ;Gear stage 1 is selected, the ;first gear-stage data record is active. .... N55 SPOS=0 N60 G331 Z-10 K5 ;Spindle speed S800 with 2nd gear-stage data record is ;monitored. Gear stage 2 should be active; ;alarm 16748 is signaled No gear-stage change can be performed, gear stage is monitored. If the spindle speed is programmed in the G331 data record as well as the geometry, the gear stage cannot be changed, as this would prevent the necessary path motion of the spindle and infeed axis/axes from being achieved. As in the example above, the speed and gear stage are monitored in the G331 data record. Where necessary, alarm 16748 can be signaled. N05 M40 S500 ;Gear stage 1 is selected .... N55 SPOS=0 N60 G331 Z-10 K5 S800 178 ;No gear-stage change possible, ;spindle speed S800 with 2nd gear-stage data record is ;monitored. Gear stage 2 should be active; ;alarm 16748 is signaled Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.18 Tapping with compensating chuck (G63) 4.18 Tapping with compensating chuck (G63) Function You can use G63 to tap threads with compensating chuck. The following are programmed: * Drilling depth in Cartesian coordinates * Spindle speed and spindle direction * Feed The chuck compensates for any deviations occurring in the path. = ; Retraction movement Also programmed with G63, but with the reverse direction of spindle rotation. Programming G63 X... Y... Z... Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 179 Motion commands 4.18 Tapping with compensating chuck (G63) Parameters G63 Tapping with compensating chuck. X Y Z Drilling depth (end point) in a Cartesian coordinate Note G63 is non-modal. The last programmed interpolation command G0, G1, G2, etc., is reactivated after a block with programmed G63. Feedrate Note The programmed feed must match the ratio of the speed to the thread lead of the tap. Thumb rule: Feed F in mm/min = spindle speed S in rpm x thread lead in mm/rev Both the feed and the spindle speed override switch are set to 100% with G63. Example 1 N10 SPOS[n]=0 ;Prepare tapping N20 G0 X0 Y0 Z2 ;Approach starting point N30 G331 Z-50 K-4 S200 180 ;Tapping, drilling depth 50, lead K ;negative = direction of spindle rotation counterclockwise N40 G332 Z3 K-4 ;Retract, automatic reversal of direction N50 G1 F1000 X100 Y100 Z100 S300 M3 ;Spindle reverts to operation in spindle mode N60 M30 ;End of program Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.19 Stop with thread cutting (LFOF, LFON, LFTXT, LFWP, LFPOS) Example 2 In this example, an M5 thread is to be drilled. The lead of an M5 thread is 0.8 (specified in table). With a selected speed of 200 rpm, the feed F is 160 mm/min. N10 G1 X0 Y0 Z2 S200 F1000 M3 ;Approach starting point, activate spindle N20 G63 Z-50 F160 ;Tap, drilling depth 50 N30 G63 Z3 M4 ;Retract, programmed reversal of direction N40 M30 ;End of program 4.19 Stop with thread cutting (LFOF, LFON, LFTXT, LFWP, LFPOS) 4.19.1 Retraction for thread cutting (LFOF, LFON, LIFTFAST, DILF, ALF) Function The function produces a nondestructive interruption with thread cutting (G33). The function cannot be used with tapping (G331/G332). With mixed use of both functions, the response can be parameterized for NC Stop/NC Reset via the machine data. If tapping was interrupted, then there are several possibilities of programming the fast retraction to a certain lift position. Both the length of the retraction path and the retraction direction can be defined as target position. Programming LFON Or LFOF Where LIFTFAST= (if enabled as option) Or DILF= Or ALF= Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 181 Motion commands 4.19 Stop with thread cutting (LFOF, LFON, LFTXT, LFWP, LFPOS) Parameters LFON Enable fast retraction for thread cutting (G33) LFOF Disable fast retraction for thread cutting (G33) LIFTFAST Fast retraction option acts with LFON in every retraction direction DILF Determine retraction path (length) ALF Define retraction direction for plane to be executed (LFTXT) Note LFON or LFOF can always be programmed, they are evaluated only during thread cutting (G33). Example of enabling fast retraction in tapping N55 M3 S500 G90 G18 ;Active machining plane ... ;Approach start position N65 MSG ("thread cutting") ;Tool infeed MM_THREAD: ;Reset before beginning of ;thread N67 $AC_LIFTFAST=0 N68 G0 Z5 N68 X10 N70 G33 Z30 K5 LFON DILF=10 LFWP ALF=3 ;Enable fast retraction for thread ;cutting Retraction path =10mm, retraction plane Z/X (due to G18) Retraction direction -X (with ALF=3; retraction direction +X) N71 G33 Z55 X15 K5 N72 G1 ;Deselect thread cutting N69 IF $AC_LIFTFAST GOTOB MM_THREAD ;If thread cutting was ;interrupted N90 MSG ("") ... N70 M30 182 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.19 Stop with thread cutting (LFOF, LFON, LFTXT, LFWP, LFPOS) Example of deactivating fast retraction before tapping. N55 M3 S500 G90 G0 X0 Z0 ... N87 MSG ("tapping") N88 LFOF ;Deactivate fast retraction before ;tapping. N89 CYCLE... ;Tapping cycle with G33 N90 MSG ("") ... N99 M30 Trigger criteria for retraction * Fast inputs, programmable with SETINT LIFTFAST (if LIFTFAST option is enabled) * NC Stop/NC Reset If fast retraction is enabled with LFON, it is active for every movement Retraction path (DILF) The retraction path can be defined in the machine data or by programming. After NC Reset, the value in MD 21200: LIFTFAST_DIST is still active. Retraction direction (ALF) The retraction direction is controlled in conjunction with ALF with keywords LFTXT, LFWP and LFPOS . With LFTXT, the retraction is defined in the tool direction for ALF=1. LFTXT (tangential lifting in tool direction) is set as default. See "Lifting in retraction with LFTXT, LFWP, LFPOS, POLF, POLFMADK and POLFMLIN". 4.19.2 Lifting on retraction (LFTXT, LFWP, LFPOS, POLF, POLFMASK; POLFMLIN) Function With the LFTXT, LFWP, LFPOS; POLF commands you can selectively program on lifting the retraction processing from the lift movement up to the lift position. The following are programmed: * Retraction direction from the path tangent or the active working plane * Retraction direction toward position programmed * Absolute retraction position In this case, the axis relation of the programmed path or the linear retracting movement is not always guaranteed for a certain period of time. The linear relation cannot always be produced according to the dynamic behavior of all participating axes up to reaching the lift Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 183 Motion commands 4.19 Stop with thread cutting (LFOF, LFON, LFTXT, LFWP, LFPOS) position. Axes can be enabled for independent retraction to axis position and to axis position with linear relation. Programming LFTXT Or LFWP Or LFPOS Or POLF[geo axis name | machine axis name]= Or POLFMASK(axisname1, axisname2, etc.) Or POLFMLIN Parameters LFTXT Retraction direction on lifting from the path tangent, default LFWP Retraction direction from the active working plane G17, G18, G19 LFPOS Retraction direction toward position programmed with POLF POLF Absolute retraction position of axis, incl. incremental with IC (value) POLF is modal. POLFMASK Enable for axes for independent retraction to absolute position POLFMLIN 184 Enable for axes for retraction to absolute position in linear relationship. See also /FB3/Function Manual Special Functions; Coupled Axes and ESR (M3) X, Y, Z Geometry axes in POLF are interpreted as position in the tool coordinate system (TCS). X1, Y1, Z1 Machine axes in POLF are interpreted as position in the machine coordinate system (MCS). Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.19 Stop with thread cutting (LFOF, LFON, LFTXT, LFWP, LFPOS) Example Here, the path interpolation of X is suppressed in the event of a stop and a motion executed to position POLF[X] at maximum velocity instead. The motion of the other axes continues to be determined by the programmed contour or the thread lead and spindle speed. N10 G0 G90 X200 Z0 S200 M3 N20 G0 G90 X170 N22 POLF[X]=210 LFPOS N23 POLFMASK(X) ;Activate (enable) ;rapid lift of ;the axis X N25 G33 X100 I10 LFON N30 X135 Z-45 K10 N40 X155 Z-128 K10 N50 X145 Z-168 K10 N55 X210 I10 N60 G0 Z0 LFOF N70 POLFMASK() ;Block retraction for all axes M30 Description The retraction direction in connection with ALF is controlled using the following keywords: * LFTXT The plane in which the fast retraction is executed is calculated from the path tangent and the tool direction (default setting). * LFWP The plane in which the fast retraction is executed is the active working plane. * LFPOS Retraction of the axis declared with POLFMASK to the absolute axis position programmed with POLF. See also NC-controlled retraction in /FB3/Function Manual Special Functions; Coupled Axes and ESR (M3). ALF has no influence on the retraction direction on several axes or on several axes in linear relation. The direction is programmed as before in discrete steps of 45 degrees with ALF in the plane of the retraction motion. With LFTXT, the retraction is defined in the tool direction for ALF=1. With LFWP the direction in the working plane is derived from the following assignment: * G17: X/Y plane ALF=1 Retraction in X direction ALF=3 Retraction in Y direction * G18: Z/X plane ALF=1 Retraction in Z direction ALF=3 Retraction in X direction Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 185 Motion commands 4.20 Approaching a fixed point (G75) * G19: Y/Z plane ALF=1 Retraction in Y direction ALF=3 Retraction in Z direction Retraction velocity Retraction with maximum axis velocity. Can be configured via machine data. The maximum permissible acceleration/jerk values are used for traversing; they are configured via the machine data. Note POLF with POLFMASK/POLFMLIN are not restricted to thread cutting applications. See /FB3/Function Manual Special Functions; Coupled Axes and ESR (M3). 4.20 Approaching a fixed point (G75) Function G75 can be used to approach fixed points, such as tool change locations, loading points, pallet changing points, etc. The positions of the individual points are specified in the machine coordinate system and stored in the machine parameters. You can approach these positions from any NC program, irrespective of the current tool or workpiece position. Programming G75 FP= X1=0 Y1=0 Z1=0 U1=0 ... Parameters G75 Fixed point approach The fixed point approach is described by a fixed point and axes, which are to be traversed to the fixed point FP. FP= Number of fixed point to be approached Number of the fixed point FP=... If no fixed point number is specified, fixed point 1 is automatically approached. 186 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.20 Approaching a fixed point (G75) X1= Y1= Z1= Machine axes to be traversed to the fixed point Machine axis addresses X1, Y1 ... Here, you specify with value 0 the axes, with which the point is to be approached simultaneously. Each axis traverses at the maximum axial velocity. Note Two fixed point positions per machine axis can be specified in the machine parameters. G75 is non-modal. G75 "Approach fixed point" applies all offset values (DRF, external ZO and overlaid motion). The fixed point corresponds to the actual value in the MCS. Changes to the DRF and external zero offset while the G75 block is being preprocessed and executed in the main run are not applied. You should prevent this problem by programming STOPPRE in front of the G75 block. Kinematic transformation must be deselected before fixed point approach is performed. Example The tool change location is a fixed point, which is defined in the machine data. This point can be approached in any NC program with G75. N10 G75 FP=2 X1=0 Y1=0 Z1=0 ;Retract from fixed point 2 on X, Y and Z, ;e.g., for tool change N20 G75 X1=0 ;Approach fixed point X1 N30 M30 ;End of program Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 187 Motion commands 4.21 Travel to fixed stop (FXS, FXST, FXSW) 4.21 Travel to fixed stop (FXS, FXST, FXSW) Function The "travel to fixed stop" (FXS = Fixed Stop) function can be used to build defined forces for clamping workpieces, such as those required for tailstocks, quills and grippers. The function can also be used for the approach of mechanical reference points. $FWXDOSRVLWLRQDIWHU 7UDYHOWRIL[HGVWRS 6WDUWSRVLWLRQ )L[HGVWRS 0RQLWRULQJZLQGRZ 3URJUDPPHG (QGSRVLWLRQ With sufficiently reduced torque, it is also possible to perform simple measurement operations without connecting a probe. The "travel to fixed stop" function can be implemented for axes as well as for spindles with axis-traversing capability. Programming FXS [axis]=... FXST [axis]=... FXSW [axis]=... 188 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.21 Travel to fixed stop (FXS, FXST, FXSW) Parameters FXS Select/deselect "travel to fixed stop" function = select; 0 = deselect FXST Setting clamping torque Specification in % of maximum drive torque, parameter optional FXSW Window width for fixed stop monitoring in mm, inches or degrees; parameter optional [axis] Machine axis name Machine axes (X1, Y1, Z1, etc.) are programmed. (See machine manufacturer's specifications). Note The commands are modal. Addresses FXST and FXSW are optional: If no parameter is specified, the last programmed value or the value set in the relevant machine data applies. Example of activating travel to fixed stop FXS=1 The movement to the destination point can be described as a path or positioning axis movement. With positioning axes, the function can be performed across block boundaries. Travel to fixed stop can be performed simultaneously for several axes and parallel to the movement of other axes. The fixed stop must be located between the start and end positions. X250 Y100 F100 FXS[X1]=1 FXST[X1]=12.3 FXSW[X1]=2 Meaning: Axis X1 travels with feed F100 (parameter optional) to destination position X=250 mm. The clamping torque is 12.3% of the maximum drive torque. Monitoring is performed in a 2 mm wide window. Caution It is not permissible to program a new position for any axis/spindle for the "Travel to fixed stop" function has already been activated Spindles must be switched to position-controlled mode before the function is selected. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 189 Motion commands 4.21 Travel to fixed stop (FXS, FXST, FXSW) Example of deactivating travel to fixed end stop FXS=0 Deselection of the function triggers a preprocessing stop. Traversing movements may and should be programmed in a block with FXS=0: X200 Y400 G01 G94 F2000 FXS[X1] = 0 Meaning: Axis X1 is retracted from the fixed stop to position X= 200 mm. All other parameters are optional. Caution The traversing movement to the retraction position must move away from the fixed stop, otherwise damage to the stop or to the machine may result. The block change takes place when the retraction position has been reached. If no retraction position is specified, the block change takes place immediately the torque limit has been deactivated. Example of clamping torque FXST, monitoring window FXSW Any programmed torque limitation FXST is effective from the block start, i.e., the fixed stop is also approached at a reduced torque. FXST and FXSW can be programmed or changed at any time in the parts program: FXST[X1] = 34.57 FXST[X1]=34.57 FXSW[X1]=5 FXSW[X1] = 5 The changes take effect before traversing movements in the same block. Programming of a new fixed stop monitoring window causes a change not only in the window width but also in the reference point for the center of the window if the axis has moved prior to reprogramming. The actual position of the machine axis when the window is changed is the new window center point. Caution The window must be selected such that only a breakaway from the fixed stop causes the fixed stop monitoring to respond. Description The limit stop alarm can be suppressed from the parts program where necessary. This is done by masking the alarm in a machine data and then activating this MD by means of NEWCONF. 190 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.21 Travel to fixed stop (FXS, FXST, FXSW) The "Travel to fixed stop" commands can be called from synchronized actions/technology cycles. They can be activated without initiation of a motion, the torque is limited instantaneously. As soon as the axis is moved via a setpoint, the limit stop monitor is activated. Rise ramp A rise ramp for the new torque limit can be defined by machine data to prevent any abrupt changes to the torque limit setting (e.g., insertion of a quill). Link and container axes Travel to fixed stop is also permitted for * Link axes * Container axes The status of the assigned machine axis is unaffected by container switches. References: /FB2/Function Manual Extended Functions; Multiple Operator Panels and NCUs. (B3) This also applies to modal torque limiting with FOCON (see "travel with limited torque/force"). Activation from synchronized actions Example: If the anticipated event ($R1) occurs and travel to fixed stop is not already operative, then FXS must be activated for axis Y. The torque must correspond to 10% of the rated torque value. The width of the monitoring window is set to the default. N10 IDS=1 WHENEVER (($R1=1) AND ($AA_FXS[Y]==0)) DO $R1=0 FXS[Y]=1 FXST[Y]=10 The normal parts program must ensure that $R1 is set at the desired point in time. Deactivation from synchronized actions Example: If an anticipated event ($R3) has occurred and the status "Limit stop contacted" (system variable $AA_FXS) is reached, then FXS must be deselected. N13 IDS=4 WHENEVER (($R3==1) AND ($AA_FXS[Y]==1)) DO FXS[Y]=0 FA[Y]=1000 POS[Y]=0 Fixed stop reached When the fixed stop has been reached: * The distance-to-go is deleted and the position setpoint is manipulated, * The drive torque increases to the programmed limit value FXSW and then remains constant, * Fixed stop monitoring is activated within the specified window width. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 191 Motion commands 4.21 Travel to fixed stop (FXS, FXST, FXSW) Combinability Note "Measure and delete distance-to-go" ("MEAS" command) and "Travel to fixed stop" cannot be programmed in the same block. Exception: One function acts on a path axis and the other on a positioning axis or both act on positioning axes. Contour monitoring Contour monitoring is not performed while "Travel to fixed stop" is active. Positioning axes With "Travel to fixed stop" with POSA axes, the block change takes place independently of the fixed stop movement. Restrictions Travel to fixed stop cannot be programmed * for hanging axes (exception: possible on 840D with SIMODRIVE 611 digital), * for gantry axes, * for concurrent positioning axes, which are controlled exclusively by the PLC (FXS must be selected from the NC program). * If the torque limit is reduced too far, the axis will not be able to follow the specified setpoint; the position controller then goes to the limit and the contour deviation increases. In this operating state, an increase in the torque limit may result in sudden, jerky movements. To ensure that the axis can follow the setpoint, check the contour deviation to make sure it is not greater than the deviation with an unlimited torque. 192 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.22 Chamfer, rounding (CHF, CHR, RND, RNDM, FRC, FRCM) 4.22 Chamfer, rounding (CHF, CHR, RND, RNDM, FRC, FRCM) Function You can insert the following elements at a contour corner: * Chamfer or * Rounding If you wish to round several contour corners sequentially by the same method, use command RNDM "Modal rounding". This address is for inserting a rounding between linear and circle contours after each traversing block. This is, for example, for deburring sharp workpiece edges. You can program the feedrate for the chamfer/rounding with FRC (non-modal) or FRCM (modal). If FRC/FRCM is not programmed, then the normal path feedrate F is applicable. Programming CHF=... Or CHR=... Or RND=... Or RNDM=... Or FRC=... Or FRCM=... Parameters CHF=... Chamfer the contour corner Value = Length of the chamfer (unit of measurement according to G70/G71) CHR=... Chamfer the contour corner Programming the chamfer in the original direction of movement. Value = width of chamfer in direction of motion (unit of measurement as above) RND=... Round the contour corner Value = Radius of the rounding (unit of measurement according to G70/G71) RNDM=... Modal rounding: Rounding several consecutive contour corners in the same way. Value = Radius of the roundings (unit of measurement according to G70/G71) Rounding is deactivated with RNDM=0. FRC=... Non-modal feedrate for chamfer/rounding Value = feedrate in mm/min (G94) or mm/rev (G95); FRC > 0 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 193 Motion commands 4.22 Chamfer, rounding (CHF, CHR, RND, RNDM, FRC, FRCM) Modal feedrate for chamfer/rounding Value = feedrate in mm/min (G94) or mm/rev (G95) FRCM=... =0: The feedrate programmed under F for the chamfer/rounding is active. Feed FRC (non-modal), FRCM (modal) To optimize surface quality, it is possible to program a separate feedrate for the chamfer/rounding contour elements. FRC is non-modal and FRCM is modal, see examples. Example of chamfer, CHF/CHR For the chamfer insert another linear part, the chamfer, between the linear and the circle contours in any combination. The following two options are available: N30 G1 X... Z... F... CHR=2 N40 G1 X... Z... or N30 G1 X... Z... F... CHF=2(cos *2) N40 G1 X... Z... &+5 &+ ) * &KDPIHU * %LVHFWRU ; HJ* = The chamfer is inserted after the block, in which it is programmed. The chamfer is always in the plane activated with G17 to G19. 194 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.22 Chamfer, rounding (CHF, CHR, RND, RNDM, FRC, FRCM) Example of rounding, RND A circle contour element can be inserted with tangential link between the linear and the circle contours in any combination. N30 G1 X... Z... F... RND=2 5RXQGLQJ * 51' * ; HJ* = The rounding is always in the plane activated with G17 to G19. The above figure shows the rounding between two straight lines. Here, the figure shows the rounding between a straight line and a circle. N30 G1 X... Z... F... RND=2 N40 G3 X... Z... I... K... 5RXQGLQJ * * 51' ; HJ* = Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 195 Motion commands 4.22 Chamfer, rounding (CHF, CHR, RND, RNDM, FRC, FRCM) Example of modal rounding, RNDM Deburring sharp workpiece edges: N30 G1 X... Z... F... RNDM=2 ;modal rounding 2 mm N40... N120 RNDM=0 ;deactivate modal rounding Example of chamfer CHF, rounding FRCM of the following block MD CHFRND_MODE_MASK Bit0 = 0: Accept technology from following block (default) N10 G0 X0 Y0 G17 F100 G94 N20 G1 X10 CHF=2 ;Chamfer N20-N30 with F=100 mm/min N30 Y10 CHF=4 ;Chamfer N30-N40 with FRC=200 mm/min N40 X20 CHF=3 FRC=200 ;Chamfer N40-N60 with FRCM=50 mm/min N50 RNDM=2 FRCM=50 N60 Y20 ;Modal rounding N60-N70 ;with FRCM=50 mm/min N70 X30 ;Modal rounding N70-N80 ;with FRCM=50 mm/min N80 Y30 CHF=3 FRC=100 ;Chamfer N80-N90 with FRC=50 mm/min (modal) N90 X40 ;Modal rounding N90-N100 ;with F=100 mm/min (deselect FRCM) N100 Y40 FRCM=0 ;Modal rounding N100-N120 ;with G95 FRC=1 mm/rev N110 S1000 M3 N120 X50 G95 F3 FRC=1 ... M02 Example of chamfer CHF, rounding FRCM of the previous block MD CHFRND_MODE_MASK Bit0 = 1: Accept technology from preceding block (recommended) N10 G0 X0 Y0 G17 F100 G94 N20 G1 X10 CHF=2 ;Chamfer N20-N30 with F=100 mm/min N30 Y10 CHF=4 FRC=120 ;Chamfer N30-N40 with FRC=120 mm/min N40 X20 CHF=3 FRC=200 ;Chamfer N40-N60 with FRCM=200 mm/min N50 RNDM=2 FRCM=50 N60 Y20 ;Modal rounding N60-N70 ;with FRCM=50 mm/min N70 X30 ;Modal rounding N70-N80 ;with FRCM=50 mm/min N80 Y30 CHF=3 FRC=100 ;Chamfer N80-N90 with FRC=100 mm/min (modal) N90 X40 ;Modal rounding N90-N100 ;with FRCM=50 mm/min N100 Y40 FRCM=0 ;Modal rounding N100-N120 ;at F=100 mm/min N110 S1000 M3 N120 X50 CHF=4 G95 F3 FRC=1 196 ;Chamfer N120-N130 with G95 FRC=1 mm/rev Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Motion commands 4.22 Chamfer, rounding (CHF, CHR, RND, RNDM, FRC, FRCM) N130 Y50 ;Modal rounding N130-N140 ;at F=3 mm/rev N140 X60 ... M02 Description Note Chamfer/rounding If the programmed values for chamfer (CHF/CHR) or rounding (RND/RNDM) are too large for the associated contour elements, then the chamfer or rounding are automatically reduced to a suitable value. No chamfer/rounding is inserted, if No straight or circle contour is available in the plane, A movement is taking place outside the plane, A plane change is taking place, or The number of blocks - which is specified in the machine data - not containing information for traversing (e.g., only command output), is exceeded. Note FRC/FRCM FRC/FRCM has no effect if a chamfer is being machined with G0; the command can be programmed according to the F value without error message. The reference to the blocks, in which chamfer and rounding are programmed and to the technology is set in machine data. FRC is operative only if a chamfer/rounding is programmed in the same block or if RNDM has been activated. FRC overwrites the F or FRCM value in the current block. The feedrate programmed under FRC must be greater than zero. FRCM=0 activates the feed programmed in F for the chamfer/rounding. If FRCM is programmed, the FRCM value must be reprogrammed, analogous to F, on changeover G94<->95, etc. If only a new F value is programmed, and if FRCM > 0 before the feed type changes, error message 10860 (no feed programmed) will be activated. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 197 Motion commands 4.22 Chamfer, rounding (CHF, CHR, RND, RNDM, FRC, FRCM) 198 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Path Action 5.1 General notes 5.1.1 Programming path travel behavior 5 In this section you will find descriptions of commands, with which you can adapt the travel behavior at the block boundaries optimally for special requirements. For instance, you can position axes quickly enough or correspondingly reduce path contours over several blocks taking into account an acceleration limit and the overload factor of the axes. Greater inaccuracies of the path contour occur with increasing speed. Path commands are programmed with the associated parameters. Basic description On change of the movement direction in the continuous-path mode contour transitions are smoothed in that programmed positions are not approached exactly. In this way corners can be moved round with as constant as possible speed or transitions can be optimized with additional commands. With the exact stop function, machining operations can be implemented as precisely as possible with inclusion of additional accuracy criteria. The control determines the velocity control with look ahead automatically for several blocks in advance. For axes acceleration processes can be activated both conservatively for the mechanical system or time-optimized. Both path axes and positioning axes, geo axes and following axes, which can also change according to program run depending on the relevant blocks or the momentary processing are discussed. The type of feedforward control and which path axes should be operated with feedforward control can also be determined. In machining without feedforward control the maximum permissible contour error can be specified. A dwell time or a block with implicit preprocessing stop can be generated between two blocks of the NC machining. A programming example is given for each typical travel command. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 199 Path Action 5.1 General notes Functions for optimizing travel behavior at block boundaries The travel behavior at the block boundaries can be optimized with the following functions: * Setting exact stop to be modally and non-modally effective * Defining exact stop with additional exact stop windows * Continuous-path mode with constant speed * Continuous-path mode with statement of the type of corner rounding * Continuous-path mode with predictive speed control * Activating acceleration and speed behavior of axes * Influencing acceleration of slave axes as a percentage * Smoothing path velocity * Travel with feedforward control for increasing path accuracy * Activate programmable contour accuracy * Activating programmable dwell time 200 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Path Action 5.1 General notes Overview of the various velocity controls ; &RQWRXUFXUYH 1* 1* 1* 1* 1* 1* 1* = 9SDWK SDWKYHORFLW\ * * ZDLWWLPHZLWK* ) W 1 1 9SDWK 1 1 1 1 1 1 1 1 1 1 1 1 1 ** QRZDLWWLPH ) W 1 1 9SDWK 1 *%5,6. ) W 1 1 1 9SDWK *62)7 5DSLGWUDYHUVH ) W 1 1 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 1 1 1 1 1 201 Path Action 5.2 Exact stop (G60, G9, G601, G602, G603) 5.2 Exact stop (G60, G9, G601, G602, G603) Function The exact positioning stop functions are used to machine sharp outside corners or to finish inside corners to size. With the exact stop criteria exact stop window fine and exact stop window coarse, you determine how accurately the corner point is approached and when the change to the next block takes place. At interpolation end you can initiate the block change at the block end when the control has calculated a set speed of zero for the axes involved. Programming G60 Or G9 Or G601 Or G602 Or G603 Parameters G60 Exact stop, modal G9 Exact stop, non-modal G601 Step enable if positioning window fine reached G602 Step enable if positioning window coarse reached G603 Step enable if setpoint (end of interpolation) reached Exact stops fine and coarse can be defined for each axis in machine data. The velocity up to reaching the accurate destination position at the end of the block is decelerated to zero. Note G601, G602 and G603 are only effective if G60 or G9 are active. 202 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Path Action 5.2 Exact stop (G60, G9, G601, G602, G603) Example N5 G602 ;Exact stop window coarse N10 G0 G60 Z... ;Exact stop, modal N20 X... Z... ;G60 continues to act ... N50 G1 G601 ;Exact stop window fine N80 G64 Z... ;Switching over to continuous-path mode ... N100 G0 G9 :Exact stop acts only in this block N111 ... ;Again continuous-path mode Description Exact stop, G60, G9 G9 generates the exact stop in the current block. G60 generates the exact stop in the current block and all subsequent blocks. Continuous-path-mode functions G64 or G641 are used to deactivate G60. G601/G602 %ORFNVWHSHQDEOH * * The movement is decelerated and stopped briefly at the corner point. Note Set the exact stop limits no tighter than you require. The tighter the limits, the longer it takes to position and approach the target position. End of interpolation, G603 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 203 Path Action 5.2 Exact stop (G60, G9, G601, G602, G603) The block change is initiated when the control has calculated a set velocity of zero for the axes involved. At this point, the actual value lags behind by a proportionate factor depending on the dynamic response of the axes and the path velocity. The workpiece corners can now be rounded. 3URJUDPPHGSDWK 7UDYHUVHG SDWK ZLWK) 7UDYHUVHG SDWK ZLWK) )) Command outputs In all three cases, the following applies: The auxiliary functions programmed in the NC block are enabled after the end of the movement. %ORFNFKDQJH 204 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Path Action 5.3 Continuous-path mode (G64, G641, G642, G643, G644) Note Machine manufacturer A machine data item can be set for specific channels which determines that default exact stop criteria, which deviate from the programmed criteria, will be applied automatically. These are given priority over the programmed criteria in some cases. Criteria for G0 and the other G commands in the 1st G-code group can be stored separately, see /FB1/Function Manual Basic Functions; Continuous-Path Mode, Exact Stop and Look Ahead (B1). 5.3 Continuous-path mode (G64, G641, G642, G643, G644) Function In continuous-path mode, the contour is machined with a constant path velocity. The uniform velocity also establishes better cutting conditions, improves the surface quality and reduces the machining time. Note Continuous-path mode is interrupted by blocks which trigger a preprocessing stop implicitly (e.g. access to particular status data of machine ($A...)). The corresponding situation applies for the auxiliary function outputs. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 205 Path Action 5.3 Continuous-path mode (G64, G641, G642, G643, G644) Programming Notice In continuous-path mode, the programmed contour transitions are not approached exactly. If a rounding movement initiated by G641, G642, G643, G644 is interrupted, the corner point of the original contour will be used for subsequent repositioning (REPOS), rather than the interruption point. Sharp corners can be produced with G60 or G9. G64 Or G641 ADIS=... Or G641 ADISPOS=... Or G642 ADIS=... Or G642 ADISPOS=... Or G643 ADIS=... Or G643 ADISPOS=... Or G644 Note G644 is not available with an active kinematic transformation. The system switches internally to G642. During continuous-path mode, a message is output from the parts program (even in the form of an executable block), if MSG is programmed with the second call parameter = 1. MSG("Text", 1) 206 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Path Action 5.3 Continuous-path mode (G64, G641, G642, G643, G644) Parameters G64 Continuous-path mode G641 Continuous-path mode with programmable transition rounding G642 Corner rounding with axial tolerance, with modal activated G643 Block-internal corner rounding G644 Corner rounding with greatest possible dynamic response ADIS=... Rounding clearance for path functions G1, G2, G3, etc. ADISPOS=... Rounding clearance for rapid traverse G0 MSG Continue displaying message until next message is queued "text" STRING-type character string 2. Parameter = 1 Executable block is generated explicitly for MSG. If the MSG procedure is programmed without the 2nd parameter, the message "Text" is output with the next executable block. Corner rounding with ADIS and ADISPOS Note Rounding cannot be used as a substitute for smoothing (RND). The user should not make any assumptions with respect to the appearance of the contour within the rounding area. The type of rounding can depend on dynamic conditions, e.g., on the tool path velocity. Rounding on the contour is therefore only practical with small ADISvalues. RND must be used if a defined contour is to be followed at the corner without exception. ADISPOS is used between G0 blocks. This enables the axis movement to be smoothed substantially and the traversing time to be reduced during positioning. If ADIS/ADISPOS is not programmed, a value of zero applies and the traversing behavior therefore corresponds to G64. The rounding clearance is automatically reduced (by up to 36%) for short traversing distances. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 207 Path Action 5.3 Continuous-path mode (G64, G641, G642, G643, G644) Example With this workpiece, the two outside corners at the groove are approached exactly. All other machining takes place in continuous-path mode. < < ([DFWVWRS )LQH ; = N05DIAMOF ;Radius as dimension N10 G17 T1 G41 G0 X10 Y10 Z2 S300 M3 ;Approach starting position, activate ;spindle, path compensation N20 G1 Z-7 F8000 ;Tool infeed N30 G641 ADIS=0.5 ;Contour transitions are smoothed N40 Y40 N50 X60 Y70 G60 G601 ;Approach exact position with exact stop ;fine N60 Y50 N70 X80 N80 Y70 N90 G641 ADIS=0.5 X100 Y40 ;Contour transitions are smoothed N100 X80 Y 10 N110 X10 N120 G40 G0 X-20 ;Deactivate path compensation N130 Z10 M30 ;Retract tool, end of program Note An example of rounding with G643, also refer to to: References: /PGA/ Job Planning Programming Manual; special movement commands, Chapter "Settable path reference (SPATH, UPATH)" 208 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Path Action 5.3 Continuous-path mode (G64, G641, G642, G643, G644) Continuous-path mode, G64 In continuous-path mode, the tool travels across tangential contour transitions with as constant a path velocity as possible (no deceleration at block boundaries). Look Ahead deceleration takes place before corners (G9) and blocks with exact stop ("Look Ahead", see following pages). Corners are also traversed at a constant velocity. In order to minimize the contour error, the velocity is reduced according to an acceleration limit and an overload factor. Reference: /FB1/ Function Manual Basic Functions; Continuous Path Mode, Exact Stop and Look Ahead (B1) W\ FL OR H 9H UDW Note The overload factor can be set in the MD32310. The extent of smoothing of the contour transitions depends on the feedrate and the overload factor. With G641, you can specify the desired rounding area explicitly. Smoothing cannot and should not replace the functions for defined smoothing (RND, RNDM, ASPLINE, BSPLINE, CSPLINE). Continuous-path mode with programmable transition rounding, G641 With G641, the control inserts transition elements at contour transitions. With ADIS=... or ADISPOS=..., you can specify the extent, to which the corners are rounded. The effect of G641 is similar to RNDM; however, it is not restricted to the axes of the working plane. Example: N10 G641 ADIS=0.5 G1 X... Y... The rounding block must begin 0.5 mm before the programmed end of block at the earliest and must be finished 0.5 mm after the end of the block. This setting remains modal. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 209 Path Action 5.3 Continuous-path mode (G64, G641, G642, G643, G644) G641 also operates with "Look Ahead" predictive velocity control. Corner rounding blocks with a high degree of curvature are approached at reduced velocity. PD[PP 3URJUDPPHG FRQWRXUHQG $',6$',6326 PD[PP Continuous-path mode G64/G641 over several blocks The following points should be noted in order to prevent an undesired stop in the path motion (relief cutting): * Auxiliary function outputs trigger a stop (exception: high-speed auxiliary functions and auxiliary functions during movements). * Intermediate blocks, which contain only comments, calculation blocks or subroutine calls do not affect the movement. Extensions of corner rounding If FGROUP does not contain all the path axes, there is often a step change in the velocity at block boundaries for those axes excluded from FGROUP; the control limits this change in velocity to the permissible values set in MD32300 $MA_MAX_AX_ACCEL and MD32310 $MA_MAX_ACCEL_OVL_FACTOR. This braking operation can be avoided through the application of a rounding function, which "smoothes" the specific positional interrelationship between the path axes. Corner rounding with G641 You can activate a modal corner rounding action by programming G641 and specifying a rounding radius with ADIS (or ADISPOS in rapid traverse). Within this radius about the block change point, the control is free to ignore the path construct and replace it with a dynamically optimized path. Disadvantage:Only one ADIS value is available for all axes. 210 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Path Action 5.3 Continuous-path mode (G64, G641, G642, G643, G644) Corner rounding with axial precision using G642 G642 activates corner rounding with modal axial tolerances. Smoothing is not made within a defined ADIS range, but the axial tolerances, defined with MD33100 $MA_COMPRESS_POS_TOL are maintained. Otherwise, the mode of operation is identical to G641. With G642, the rounding travel is determined on the basis of the shortest rounding travel of all axes. This value is taken into account when generating a rounding block. Block-internal corner rounding with G643 The maximum deviations from the precise contour when smoothing with G643 are defined for each axis using machine data MD33100 $MA_COMPRESS_POS_TOL[...]. G643 is not used to generate a separate rounding block, but axisspecific blockinternal rounding movements are inserted. In the case of G643, the rounding travel of each axis may be different . Corner rounding with contour tolerance in G642 and G643 The expansions described below refine the response with G642 and G643 and rounding with contour tolerance is introduced. When rounding with G642 and G643, the maximum permissible deviations of each axis are normally specified. MD20480 $MC_SMOOTHING_MODE can be used to configure rounding with G642 and G643 so that instead of the axis-specific tolerances, a contour tolerance and an orientation tolerance can be specified. In this case, the tolerance of the contour and of the orientation is set using two independent setting data, programmed in the NC, so that setting data can be specified differently for each block transition. Setting data SD42465 $SC_SMOOTH_CONTUR_TOL This setting data is used to define the maximum tolerance for the contour when rounding. SD42466 $SC_SMOOTH_ORI_TOL This setting data is used to define the maximum tolerance for the contour when rounding for the tool orientation (angle deviation). This data is only effective if an orientation transformation is active. Very different specifications for the contour tolerance and the tolerance of the tool orientation can only have effect with G643. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 211 Path Action 5.3 Continuous-path mode (G64, G641, G642, G643, G644) Corner rounding with greatest possible dynamic response in G644 Rounding with maximum possible speed is activated with G644 and configured with MD20480 $MC_SMOOTHING_MODE in the thousands place: Value Meaning 0 Specifying the maximum axial deviation using MD33100 $MA_COMPRESS_POS_TOL 1 Specify the maximum rounding travel by programming ADIS=... or ADISPOS=... 2 Specify the maximum possible frequencies for each axis in the rounding area using MD32440 $MA_LOOKAH_FREQUENCY. The rounding area is defined such that no frequencies in excess of the specified maximum can occur while the rounding motion is in progress. 3 When rounding with G644, neither the tolerance nor the rounding distance are monitored. Each axis traverses around a corner with the maximum possible dynamic response. With SOFT, both the maximum acceleration and the maximum jerk of each axis is maintained. With the BRISK command, the jerk is not limited; instead, each axis travels at the maximum possible acceleration. Reference: /FB1/ Function Manual Basic Functions; Continuous Path Mode, Exact Stop and Look Ahead (B1) No rounding block/no rounding movement Command outputs Auxiliary functions, which are enabled after the end of the movement or before the next movement interrupt continuous-path mode. Positioning axes Positioning axes always traverse according to the exact stop principle, positioning window fine (as for G601). If an NC block has to wait for positioning axes, continuous-path mode is interrupted on the path axes. No corner rounding is performed in the following situations: * Movement is stopped between the two blocks. This occurs when ... - The following block contains an auxiliary function output before the movement. - The following block does not contain a path movement. - An axis is traversed for the first time as a path axis for the following block when it was previously a positioning axis. - An axis is traversed for the first time as a positioning axis for the following block when it was previously a path axis. - Before tapping, the following block uses G33 as preparatory function and the previous block does not. - A change is made between BRISK and SOFT. - Axes involved in the transformation are not completely assigned to the path motion (e.g., for oscillation, positioning axes). 212 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Path Action 5.3 Continuous-path mode (G64, G641, G642, G643, G644) * The rounding block would slow down parts program processing. This occurs when ... - A rounding block is inserted between very short blocks. Since each block requires at least one interpolation cycle, the added intermediate block would double the machining time. - A block transition G64 (continuous-path mode without corner rounding) can be traversed without a reduction in velocity. Rounding would increase the machining time. This means that the value of the permitted overload factor (MD32310 $MA_MAX_ACCEL_OVL_FACTOR) affects whether a block transition is rounded or not. The overload factor is only taken into account when corner rounding in conjunction G641/G642. The overload factor is ignored in corner rounding with G643. - This behavior can also be set for G641 and G642 by setting MD20490 $MC_IGNORE_OVL_FACTOR_FOR_ADIS is set to TRUE. * Rounding is not parameterized. This occurs when... - forG641 in G0 blocks ADISPOS== 0 (default!). - for G641 in non-G0 blocks ADIS== 0 (default!). - for G641 on transition from G0 and non-G0 or non-G0 and G0 respectively, the smaller value from ADISPOS and ADIS applies. - forG642/G643, all axis-specific tolerances are zero. * Block does not contain traversing motion (zero block). Normally, the interpreter eliminates zero blocks. However, if synchronous actions are active, this zero block is included and also executed. In so doing, an exact stop is initiated corresponding to the active programming. This allows the synchronous action to also switch. Blocks without traversing motion can also be generated using program jumps. - Examples of zero blocks: N1000 G91 X0 Y0 Z0 ... N10 G90 G64 X100 Y100 Z100 N15 Z100 ... Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 213 Path Action 5.3 Continuous-path mode (G64, G641, G642, G643, G644) Look Ahead speed control In continuous-path mode with G64 or G641, the control automatically detects the velocity control in advance for several NC blocks. This enables acceleration and deceleration across multiple blocks with almost tangential transitions. Look Ahead is particularly suitable for the machining of movement sequences comprising short traverse paths with high path feedrates. The number of NC blocks included in the Look Ahead calculation can be defined in machine data. 9HORFLW\SDWWHUQ ZLWK** Y 3URJUDPPHG )HHG *ZLWK/RRN$KHDG HJ*ZLWKLQVXIILFLHQW /RRN$KHDG ** 1 1 1 1 1 1 1 1 1 ; Note Look Ahead across more than one block is an option. Continuous-path mode in rapid traverse G0 One of the functions G60/G9 or G64/G641 must also be specified for rapid traverse. Otherwise, the default in the machine data is used. By setting MD 20490: IGNORE_OVL_FACTOR_FOR_ADIS results in block transitions being smoothed irrespective of the programmed overload factor. 214 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Path Action 5.4 Acceleration behavior 5.4 Acceleration behavior 5.4.1 Acceleration response, BRISK, SOFT, DRIVE Function BRISK, BRISKA: The axis slides travel with maximum acceleration until the feedrate is reached. BRISK enables time-optimized machining, but with jumps in the acceleration curve. SOFT, SOFTA: The axis slides travel with constant acceleration until the feedrate is reached. SOFT acceleration enables higher path accuracy and less wear and tear on the machine. DRIVE, DRIVEA: The axis slides traverse at the maximum acceleration rate up to the velocity limit set in the machine data. The acceleration rate is then reduced according to machine data until the feedrate is reached. This function allows the acceleration characteristic to be optimally adapted to a specific motor characteristic, for example, for stepper motor applications. Programming BRISK BRISKA (axis1,axis2,...) or SOFT SOFTA(axis,axis2,...) or DRIVE DRIVEA(axis1,axis2,...) Parameter BRISK Abrupt acceleration of path axes BRISKA (axis1,axis2,...) Switch on stepped axis acceleration for the programmed axes SOFT Jerk-limiting acceleration of path axes SOFTA(axis,axis2,...) Switch on jerk-limiting axis acceleration for the programmed axes DRIVE DRIVEA(axis1,axis2,...) Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Reduction of acceleration above a velocity for path axes that can be set in $MA_ACCEL_REDUCTION_SPEED_POINT (only applicable for FM-NC) Reduction of acceleration above a velocity for programmed axes that can be set in $MA_ACCEL_REDUCTION_SPEED_POINT (only applicable for FM-NC) 215 Path Action 5.4 Acceleration behavior The acceleration pattern set in machine data $MA_POS_AND JOG_JERK_ENABLE or $MA_ACCEL_TYPE_DRIVE is active for the programmed axes. (axis1,axis2,...) Note A change between BRISK and SOFT causes a stop at the block transition. The acceleration pattern for the path axes can be defined in machine data. Apart from the path-related jerk limitation that is effective in the MDA and AUTO modes, there is the axis-related jerk limitation that can influence positioning axes and traversing axes in JOG mode. Example of BRISK and SOFT 3DWKYHORFLW\ N10 G1 X... Y... F900 SOFT N20 BRISKA(AX5,AX6) 6HWSRLQW %5,6. WLPH RSWLPL]HG 62)7 SURWHFWLQJWKH PHFKDQLFDO V\VWHP 7LPH 216 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Path Action 5.4 Acceleration behavior Example of DRIVE, DRIVEA N05 DRIVE N10 G1 X... Y... F1000 N20 DRIVEA (AX4, AX6) 6HWSRLQW 3DWKYHORFLW\ /LPLWRI FRQVWDQW DFFHOHUDWLRQ 7LPH 5.4.2 Influence of acceleration on following axes (VELOLIMA, ACCLIMA, JERKLIMA) Function The axis couplings described in the Programming Guide, Advanced: Tangential correction, coupled-motion axes, master value coupling, and electronic gear have the property of moving following axes/spindles as a function of one or more leading axes/spindles. The commands for correction of limitation for the dynamic response of the following axis can be issued from the parts program or from synchronous actions. The commands for correction of limitations of the following axis can already be given while axis coupling is active. Programming VELOLIMA[AX4]=75 75% of the maximum axial velocity stored in the machine data ACCLIMA[AX4]=50 50% of the maximum axial acceleration stored in the machine data JERKLIMA[AX4]=50 50% of the maximum jerk on path motion stored in the machine data Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 217 Path Action 5.4 Acceleration behavior Parameters VELOLIMA[Ax], Change to limit for maximum velocity for following axis ACCLIMA[Ax], Change to limit for maximum acceleration for following axis JERKLIMA[Ax], Change to limit for maximum jerk for following axis Note JERLIMA[ax] is not available for all types of connection. Details about the function are described in: References: /FB3/Function Manual Special Functions; Coupled Axes and ESR (M3) /FB2/Function Manual Extended Functions; Synchronous Spindle (S3) Example of electronic gear Axis 4 is coupled to axis X via an electronic gear coupling. The acceleration capability of the following axis is limited to 70% of maximum acceleration. The maximum permissible velocity is limited to 50% of maximum velocity. After successful activation of the coupling, the maximum permissible velocity is set to 100% again. N120 ACCLIMA[AX4]=70 ;Reduced maximum acceleration N130 VELOLIMA[AX4]=50 ;Reduced maximum velocity ... N150 EGON(AX4, "FINE", X, 1, 2) ;Activation of the EG coupling ... N200 VELOLIMA[AX4]=100 ;Full maximum velocity Example of influencing master value coupling by static synchronized action Axis 4 is coupled to X by master value coupling. The acceleration response is limited to 80% by static synchronized action 2 from position 100. N120 IDS=2 WHENEVER $AA_IM[AX4] > 100 DO ACCLIMA[AX4]=80 N130 LEADON(AX4, X, 2) 218 ;Synchronized action ;Master value coupling on Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Path Action 5.4 Acceleration behavior 5.4.3 Technology G group (DYNNORM, DYNPOS, DYNROUGH, DYNSEMIFIN, DYNFINISH) Function Using the "Technology" G group, the appropriate dynamic response can be activated for five varying technological machining steps. Machine manufacturer Dynamic values and G codes can be configured and are, therefore, dependent on machine data settings. References: /FB3/, B1, "Continuous-path mode" Programming DYNNORM Or DYNPOS Or DYNROUGH Or DYNSEMIFIN Or DYNFINISH Parameters DYNNORM Standard dynamic response, as previously (index n=0) DYNPOS Dynamic response for positioning mode, tapping (index n=1) DYNROUGH Dynamic response for roughing (index n=2) DYNSEMIFIN Dynamic response for finishing (index n=3) DYNFINISH Dynamic response for smooth-finishing (index n=4) Write or read specific field element $MA...[n, X] Machine data with field element, which affects dynamic response [, ] Field element with field device n and axis address X n = 0 to 4 Range of values corresponds to Technology G group. Note The dynamic values are already active in the block, in which the associated G code is programmed. Machining is not stopped. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 219 Path Action 5.5 Smoothing the path velocity Example Dynamic values by technology group G code DYNNORM G1 X10 ;Initial setting DYNPOS G1 X10 Y20 Z30 F... ;Positioning mode, tapping DYNROUGH G1 X10 Y20 Z30 F10000 ;Roughing DYNSEMIFIN G1 X10 Y20 Z30 F2000 ;Finishing DYNFINISH G1 X10 Y20 Z30 F1000 ;Smooth-finishing Write or read specific field element Maximum acceleration for roughing, axis X 5.5 R1=$MA_MAX_AX_ACCEL[2, X] ;Read $MA_MAX_AX_ACCEL[2, X]=5 ;Write Smoothing the path velocity Function A smoother path velocity profile can be achieved with the "Path velocity smoothing" function, which allows special, configurable, machine data and the character of the parts program to be taken into account. The velocity control function utilizes the specified axial dynamic response. If the programmed feedrate cannot be achieved, the path velocity is brought to the parameterized axial limit values and the limit values of the path (velocity, acceleration, jerk). This can lead to repeated braking and acceleration on the path. Note Machine manufacturer The user can control the path velocity as appropriate for the configurable machine data by making use of the program properties. References: Functional description /FB1/; B1; "Smoothing the path velocity" 220 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Path Action 5.5 Smoothing the path velocity Parameter Machine manufacturer Limit values that can be configured in relation to (specially) adjustable parameters of the parts program, using machine data: * lengthening the machining time The machining time of the part program is specified as percentage. The actual lengthening is according to the worst case of all acceleration processes inside the part program and can even be zero. * Input of the natural frequencies of the operated axes Only acceleration processes that lead to clear excitation of machine axes should be removed. * Taking the programmed feedrate into account. In this case the smoothing factor is observed especially exactly if the override is set to 100%. Note Variations in path velocity due to the input of a new feedrate are not changed either. This remains the responsibility of the programmer of the subprogram. Note If a short acceleration takes place during a machining function with high path velocity, and is thus followed almost immediately by braking, the reduction in the machining time is only minimal. Acceleration of this kind can, however, have undesirable effects if, for example, it results in machine resonance. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 221 Path Action 5.6 Traversing with feedforward control, FFWON, FFWOF 5.6 Traversing with feedforward control, FFWON, FFWOF Function Using feedforward control the velocity-dependent overtravel in path traversing is reduced to zero. Traversing with feedforward control permits higher path accuracy and thus improved machining results. Programming FFWON Or FFWOF Parameters FFWON Activate feedforward control FFWOF Deactivate feedforward control Note:The type of feedforward control and the path axes to which feedforward is to be applied are determined via machine data. Default: Velocity-dependent feedforward control Option: Acceleration-dependent feedforward control (not possible with 810D) Example N10 FFWON N20 G1 X... Y... F900 SOFT 222 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Path Action 5.7 Contour accuracy, CPRECON, CPRECOF 5.7 Contour accuracy, CPRECON, CPRECOF Function In machining operations without feedforward control (FFWON), errors may occur on curved contours as a result of velocity-related differences between setpoint and actual positions. The programmable contour accuracy function CPRECON makes it possible to store a maximum permissible contour violation in the NC program which must never be overshot. The magnitude of the contour violation is specified with setting data $SC_CONTPREC. The Look Ahead function allows the entire path to be traversed with the programmed contour accuracy. Programming CPRECON or CPRECOF Parameter CPRECON Activate programmable contour accuracy CPRECOF Deactivate programmable contour accuracy Note A minimum velocity can be defined via the setting datum $SC_MINFEED, which is not undershot, and the same value can also be written directly out from the parts program via the system variable $SC_CONTPREC. On the basis of the value of the contour violation $SC_CONTPREC and the servo gain factor (velocity/following error ratio) of the geometry axes concerned, the control calculates the maximum path velocity at which the contour violation produced by the overtravel does not exceed the minimum value stored in the setting data. Example N10 X0 Y0 G0 N20 CPRECON ;Activate contour accuracy N30 F10000 G1 G64 X100 ;Machine contour at 10 m/min in continuous-path mode N40 G3 Y20 J10 ;Automatic feed limitation in circular block N50 X0 ;Feed without limitation to 10 m/min Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 223 Path Action 5.8 Dwell time, delay (G4, WRTPR) 5.8 Dwell time, delay (G4, WRTPR) Function You can use G4 to interrupt workpiece machining between two NC blocks for the programmed length of time, e.g., for relief cutting. The WRTPR command does not generate an executable block in continuous-path mode. Thus, it can be used to delay the machining job without interrupting continuous-path mode. Programming G4 F... Or G4 S... Write string-type statement with next block in main run: WRTPR(string, parameter) if parameter = 0 or not specified. Programming in a separate NC block Parameters G4 Activate dwell time, G4 interrupts the continuous-path mode F... Time specified in seconds S... Time specified in revolutions of the master spindle WRTPR Either append a job in continuous-path mode to the next executable block or execute it immediately. Parameter = 0 224 Write to log with next executable block (following a delay). This is the default response so there is no need for parameterization. Continuous-path mode functions as normal. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Path Action 5.9 Internal preprocessing stop Parameter = 1 Write to log immediately. A main-run block is generated, which affects the response in continuous-path mode. Note The words with F... and S... are used for time specifications only in the block with G4. Any previously programmed feed F and spindle speed S remain valid. Example N10 G1 F200 Z-5 S300 M3 ;Feed F; spindle speed S N20 G4 F3 ;Dwell time 3 s N30 X40 Y10 N40 G4 S30 N40 X... 5.9 ;Dwelling 30 revolutions of the spindle, corresponds ;at S=300 rpm and 100% speed override to: ;t=0.1 min ;Feed and spindle speed remain effective Internal preprocessing stop Function The control generates an internal preprocessing stop on access to machine status data ($A...). If a command, which implicitly causes a preprocessing stop, is read in a following block, this block is not executed until all other blocks, which have already been preprocessed and stored, have been executed. The preceding block is halted in exact stop (as with G9). Programming Machine status data ($A...) are generated internally by the control. Parameters Status data of the machine ($A...). Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 225 Path Action 5.9 Internal preprocessing stop Example Machining should be stopped in block N50. N40 POSA[X]=100 N50 IF $AA_IM[X]==R100 GOTOF MARKE1 ;Access to machine status data ($A...), the ;control generates an internal preprocessing stop. N60 G0 Y100 N70 WAITP(X) N80 LABEL1: N40 X... 226 ;Feed and spindle speed remain effective Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 6 Frames 6.1 General Function Frames are used to describe the position of a destination coordinate system by specifying coordinates or angles starting from the current workpiece coordinate system. = = 5RWDWLRQ DURXQGWKH= D[LV < < =0 <0 UR R IIV HW ; =H ; ;0 Possible frames: * Basic frame (basic offset) * Settable frames (G54...G599) * Programmable frames Programming Frame is the conventional term for a geometrical expression that describes an arithmetic rule, such as translation, rotation and scaling or mirroring. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 227 Frames 6.1 General Param eters Machine manufacturer Settable frames (G54...G57, G505... G599): See machine manufacturer's specifications. Frame components for the programmer A frame can consist of the following arithmetic rules: * Zero point offset, TRANS, ATRANS * Rotation, ROT, AROT * Scale, SCALE, ASCALE * Mirroring, MIRROR, AMIRROR These frames can be used individually or in any combination. Example of frame components in milling < < ; ; 75$16$75$16 527 $527 < < ; 6&$/($6&$/( 228 ; 0,5525$0,5525 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Frames 6.2 Frame instructions Example of frame components in turning ; ; = = 75$16$75$16 527 $527 ; ; = = 6&$/($6&$/( 6.2 0,5525$0,5525 Frame instructions Function For the possible frames the position of one of the target coordinate systems is defined: * Basic frame (basic offset) * Settable frames (G54...G599) * Programmable frames In addition to these frames, you can program replacing and additive statements or generate frames as well as frame rotations for tool orientation. Certain set frames or superposed movements and transformations can also be deselected. Basic frame (basic offset) The basic frame describes the coordinate transformation from the Basic Coordinate System (BCS) to the Basic Zero System (BZS) and has the same effect as for settable frames. Settable statements Settable statements are the zero offsets, which can be called from any NC program with the commands G54 to G599. The offset values are predefined by the user and stored in the zero offset memory on the control. This is used to define the Workpiece Coordinate System (WCS). Programmable instructions Programmable instructions (TRANS, ROT, etc.) are valid in the current NC program and refer to the settable instructions. The programmable frame is used to define the Workpiece Coordinate System (WCS). Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 229 Frames 6.2 Frame instructions Programming TRANS X... Y... Z... or ATRANS X... Y... Z... or G58 X... Y... Z... A... or G59 X... Y... Z... A... or ROT X... Y... Z... or ROT RPL=... or AROTX... Y... Z... or AROT RPL=... or ROTS X... Y... or AROTS X... Y... or CROTS X... Y... or SCALE X... Y... Z... or ASCALE X... Y... Z... or MIRROR X0 Y0 Z0 or AMIRROR X0 Y0 Z0 or TOFRAME or TOFRAMEZ or TOFRAMEY or TOFRAMEX or TOROTOF or TOROT or TOROTZ or TOROTY or TOROTX or PAROT or PAROTOF or CORROF(axis,string[axis,string]) or CORROF(axis,string) or CORROF(axis) or CORROF() Caution The above frame instructions are programmed in separate NC blocks and executed in the programmed order. TRANS, ROT, SCALE and MIRROR instructions. Substituting instructions TRANS, ROT, SCALE and MIRROR are substituting instructions. < < ; ; 75$16$75$16 527 $527 < < ; 6&$/($6&$/( 230 ; 0,5525$0,5525 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Frames 6.2 Frame instructions Note This means that each of these instructions cancels all other previously programmed frame instructions. The last called settable zero offset G54 to G599 is used as the reference. Additive instructions ATRANS, AROT, ASCALE and AMIRROR are additive instructions. The currently set zero point or the last workpiece zero to be programmed with frame instructions is used as the reference. The above instructions are added to existing frames. Note Additive statements are frequently used in subroutines. The basic functions defined in the main program are not lost after the end of the subroutine if the subroutine has been programmed with the SAVE attribute. $75$16 75$16 References: /PGA/Programming Manual Advanced; "Subroutines, Macros" Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 231 Frames 6.3 Programmable zero offset 6.3 Programmable zero offset 6.3.1 Zero offset (TRANS, ATRANS) Function TRANS/ATRANS can be used to program translations for all path and positioning axes in the direction of the specified axis. This allows you to work with different zero points, for example when performing recurring machining processes at different workpiece positions. Milling: = =0 <0 < 75$16 * ; ;0 232 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Frames 6.3 Programmable zero offset Turning: ; = : 0 75$16 * Deactivate programmable zero offset: For all axes: TRANS (without axis parameter) Programming TRANS X... Y... Z... (substituting instruction programmed in a separate NC block) Or ATRANS X... Y... Z... (additive instruction programmed in a separate NC block) Parameters TRANS Absolute zero offset, with reference to the currently valid workpiece zero set with G54 to G599 ATRANS as TRANS, but with additive zero offset X Y Z Offset value in the direction of the specified geometry axis Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 233 Frames 6.3 Programmable zero offset Example of milling With this workpiece, the illustrated shapes recur several times in the same program. The machining sequence for this shape is stored in a subprogram. You use the translation to set only those workpiece zeroes and then call up the subprogram. < 0 < ; < < ; ; * ; 0 234 N10 G1 G54 ;Working plane X/Y, workpiece zero N20 G0 X0 Y0 Z2 ;Approach starting point N30 TRANS X10 Y10 ;Absolute offset N40 L10 ;Subprogram call N50 TRANS X50 Y10 ;Absolute offset N60 L10 ;Subprogram call N70 M30 ;End of program Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Frames 6.3 Programmable zero offset Example of turning ; = : 0 N.. ... N10 TRANS X0 Z150 ;Absolute offset N15 L20 ;Subprogram call N20 TRANS X0 Z140 (or ATRANS Z-10) ;Absolute offset N25 L20 ;Subprogram call N30 TRANS X0 Z130 (or ATRANS Z-10) ;Absolute offset N35 L20 ;Subprogram call N.. ... Substituting instruction, TRANS X Y Z Translation through the offset values programmed in the specified axis directions (path, synchronized axes and positioning axes). The last specified settable zero offset (G54 to G599) is used as a reference. Note The TRANS command cancels all frame components of the previously activated programmable frame. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 235 Frames 6.3 Programmable zero offset 75$16 75$16 Note You can use ATRANS to program a translation, which is to be added to existing frames. Additive instruction, ATRANS X Y Z Translation through the offset values programmed in the specified axis directions. The currently set or last programmed zero point is used as the reference. $75$16 75$16 236 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Frames 6.3 Programmable zero offset Note Previously programmed frames are canceled. The settable zero offset remains programmed. 6.3.2 Axial zero offset (G58, G59) Function G58 and G59 allow translation components of the programmable zero offset (frame) to be replaced for specific axes. The translation function comprises: * absolute component (G58, coarse offset) * additive component (G59, fine offset) Machine manufacturer These functions can only be used if the fine offset is configured via machine datum MD 24000:. FRAME_ADD_COMPONENTS=1. If G58 or G59 is used without a configured fine offset, alarm "18312 channel %1 block %2 frame: Fine offset not configured" is output. = =0 <0 7UDQVODWLRQ * < ; DEVR OX * WHWUDQVOD WLRQ 75$ 16 ;0 DGGLWLYHWUD * $75$16 Programming G58 X... Y... Z... A... (substituting instruction programmed in separate NC block) Or G59 X... Y... Z... A... (substituting instruction programmed in separate NC block) Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 237 Frames 6.3 Programmable zero offset Parameters Replaces the absolute translation component of the programmable zero offset for the specified axis, but the programmed additive offset remains valid, (in relation to the workpiece zero set with G54 to G599) G58 Replaces the absolute translation component of the programmable zero offset for the specified axis, but the programmed absolute offset remains valid G59 Offset value in the direction of the specified geometry axis X Y Z Example N... N50 TRANS X10 Y10 Z10 ;Absolute translation component X10 Y10 Z10 N60 ATRANS X5 Y5 ;Additive translation component X5 Y5 = total offset X15 Y15 Z10 N70 G58 X20 ;Absolute translation component X20 + addit. X5 Y5 = total offset X25 Y15 Z10 N80 G59 X10 Y10 ;Additive translation component X10 Y10 + absolute X20 Y 10 = total offset X30 Y20 Z10 N... Description The absolute translation component is modified by the following commands: * TRANS * G58 * CTRANS * CFINE * $P_PFRAME[X,TR] The additive translation component is modified by the following commands: * ATRANS * G59 * CTRANS * CFINE * $P_PFRAME[X,FI] The table below describes the effect of various program commands on the absolute and additive offsets. Effect of the additive/absolute offset: 238 command Coarse or absolute offset Fine or additive offset Comment TRANS X10 10 unchanged Absolute offset for X Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Frames 6.4 Programmable rotation (ROT, AROT, RPL) 6.4 G58 X10 10 unchanged Overwrites absolute offset for X $P_PFRAME[X,TR] = 10 10 unchanged Progr. offset in X ATRANS X10 unchanged Fine (old) + 10 Additive offset for X G59 X10 unchanged 10 Overwriting additive offset for X $P_PFRAME[X,FI] = 10 unchanged 10 Progr. fine offset in X CTRANS(X,10) 10 0 Offset for X CTRANS() 0 0 Deselection of offset (including fine offset component) CFINE(X,10) 0 10 fine offset in X Programmable rotation (ROT, AROT, RPL) Function ROT/AROT can be used to rotate the workpiece coordinate system around each of the geometry axes X, Y, Z or through an angle RPL in the selected working plane G17 to G19 (or around the perpendicular infeed axis). This allows inclined surfaces or several workpiece sides to be machined in one setting. Programming ROT X... Y... Z... Substituting instruction for rotation in space Or Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 239 Frames 6.4 Programmable rotation (ROT, AROT, RPL) ROT RPL=... Substituting instruction for rotation in the plane Or AROTX... Y... Z... Additive instruction for rotation in space Or AROT RPL=... Additive instruction for rotation in the plane Each instruction must be programmed in a separate NC block. Parameters Absolute rotation with reference to the currently valid workpiece zero set with G54 to G599 ROT, Rotation in the plane: Angle, through which the coordinate system is rotated (plane set with G17-G19). The order, in which the rotation should be performed can be defined via machine data. RPY notation is the default setting (= roll, pitch, yaw) with Z,Y,X RPL, AROT, Additive rotation with reference to the currently valid set or programmed zero point X Y Z Rotation in space: geometry axes, around which the rotation takes place Example: Rotation in the plane < r 5 r ; With this workpiece, the illustrated shapes recur several times in the same program. Rotations have to be performed in addition to the translation, because the shapes are not arranged parallel to the axes. 240 N10 G17 G54 ;Working plane X/Y, workpiece zero N20 TRANS X20 Y10 ;Absolute offset N30 L10 ;Subprogram call N40 TRANS X55 Y35 ;Absolute offset N50 AROT RPL=45 ;Rotation of the coordinate system through 45 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Frames 6.4 Programmable rotation (ROT, AROT, RPL) N60 L10 ;Subprogram call N70 TRANS X20 Y40 ;Absolute offset ; (cancels all previous offsets) N80 AROT RPL=60 ;Additive rotation through 60 N90 L10 ;Subprogram call N100 G0 X100 Y100 ;Retraction N110 M30 ;End of program Example: Rotation in space In this example, paraxial and inclined workpiece surfaces are to be machined in one setting. Requirement: The tool must be aligned perpendicular to the inclined surface in the rotated Z direction. = r ; < U ; N10 G17 G54 ;Working plane X/Y, workpiece zero N20 TRANS X10 Y10 ;Absolute offset N30 L10 ;Subprogram call N40 ATRANS X35 ;Additive offset N50 AROT Y30 ;Rotation through the Y axis N60 ATRANS X5 ;Additive offset N70 L10 ;Subprogram call N80 G0 X300 Y100 M30 ;Retraction, end of program Example of multi-side machining In this example, identical shapes on two perpendicular workpiece surfaces are machined by using subprograms. The setup of the infeed direction, working plane and zero point in the new coordinate system on the right-hand workpiece surface matches that of the top surface. The conditions required for subprogram execution apply as before: Working plane G17, coordinate plane X/Y, infeed direction Z. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 241 Frames 6.4 Programmable rotation (ROT, AROT, RPL) = < * ; < * ; = N10 G17 G54 ;Working plane X/Y, workpiece zero N20 L10 ;Subprogram call N30 TRANS X100 Z-100 ;Absolute offset = < ; = < ; N40 AROT Y90 ;Rotation of the coordinate system through Y Z Y Y AROT Y90 X Z X 242 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Frames 6.4 Programmable rotation (ROT, AROT, RPL) ;Rotation of the coordinate system through Z N50 AROT Z90 Y X Y AROT Z90 Z Z X N60 L10 ;Subprogram call N70 G0 X300 Y100 M30 ;Retraction, end of program Rotation in the plane The coordinate system is * rotated in the plane selected with G17 to G19. Substituting statement, ROT RPL or additive statement, AROT RPL * current plane, about which there is rotation with RPL= programmed rotation angle. Note See "Rotation in space" for more information. 527 < < * * * * ; * = = ; = * Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 243 Frames 6.4 Programmable rotation (ROT, AROT, RPL) Plane change Warning If you program a change of plane (G17 to G19) after a rotation, the angles of rotation programmed for the axes are retained and continue to apply in the new working plane. It is therefore advisable to deactivate the rotation before a change of plane. Deactivate rotation For all axes: ROT (without axis parameter) Caution In both cases, all frame components of the previously programmed frame are reset. 244 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Frames 6.4 Programmable rotation (ROT, AROT, RPL) Substituting statement, ROT X Y Z The coordinate system is rotated through the programmed angle around the specified axes. The center of rotation is the last specified settable zero offset (G54 to G599). Caution The ROT command cancels all frame components of the previously activated programmable frame. < ; Note A new rotation based on existing frames is programmed with AROT. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 245 Frames 6.4 Programmable rotation (ROT, AROT, RPL) Additive statement, AROT X Y Z Rotation through the angle values programmed in the axis direction parameters. The center of rotation is the currently set or last programmed zero point. < 527 27 $5 ; Note For both statements, please note the order and direction of rotation, in which the rotations are performed (see next page)! 246 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Frames 6.4 Programmable rotation (ROT, AROT, RPL) Direction of rotation The following is defined as the positive direction of rotation: The view in the direction of the positive coordinate axis and clockwise rotation. = < ; Order of rotation You can rotate up to three geometry axes simultaneously in one NC block. The order of the RPY notation or Euler angle, through which the rotations are performed can be defined in machine data. MD 10600: FRAME_ANGLE_INPUT_MODE = * RPY notation (RPY notation is the default setting) * Euler angles After that, the sequence Z, Y, X of the rotation is defined as follows: Rotation around the 3rd geometry axis (Z) Rotation around the 2nd geometry axis (Y) Rotation around the 1st geometry axis (X) Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 247 Frames 6.4 Programmable rotation (ROT, AROT, RPL) Z Y 0 1 2 X This order applies if the geometry axes are programmed in a single block. It also applies irrespective of the input sequence. If only two axes are to be rotated, the parameter for the 3rd axis (value zero) can be omitted. Value range with RPY angle The angles are defined uniquely only within the following value ranges: Rotation around 1st geometry axis: -180 X +180 Rotation around 2nd geometry axis: -90 Y +90 Rotation around 3rd geometry axis: -180 Z +180 All possible rotations can be represented with this value range. Values outside the range are normalized by the control into the above range during writing and reading. This value range applies to all frame variables. Examples of reading back in RPY $P_UIFR[1] = CROT(X, 10, Y, 90, Z, 40) returns on reading back $P_UIFR[1] = CROT(X, 0, Y, 90, Z, 30) $P_UIFR[1] = CROT(X, 190, Y, 0, Z, -200) returns on reading back $P_UIFR[1] = CROT(X, -170, Y, 0, Z, 160) When frame rotation components are read and written, the value range limits must be observed to ensure that the same results are obtained for read or write, or repeat write operations. 248 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Frames 6.4 Programmable rotation (ROT, AROT, RPL) Value range with Euler angle The angles are defined uniquely only within the following value ranges: Rotation around 1st geometry axis: 0 X +180 Rotation around 2nd geometry axis: -180 Y +180 Rotation around 3rd geometry axis: -180 Z +180 All possible rotations can be represented with this value range. Values outside the range are normalized by the control into the above range. This value range applies to all frame variables. Caution To ensure the angles written are read back unambiguously, it is necessary to observe the defined value ranges. Note If you want to define the order of the rotations individually, program the desired rotation successively for each axis with AROT. References: /FB1/Function Manual Basic Functions; Axes, Coordinate Systems, Frames (K2) The working plane also rotates The working plane defined with G17, G18 or G19 rotates with the spatial rotation. Example: Working plane G17 X/Y, the workpiece coordinate system is positioned on the top surface of the workpiece. Translation and rotation is used to move the coordinate system to one of the side surfaces. Working plane G17 also rotates. This feature can be used to program plane destination positions in X/Y coordinates and the infeed in the Z direction. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 249 Frames 6.4 Programmable rotation (ROT, AROT, RPL) = < * < ; = * ; Requirement: The tool must be positioned perpendicular to the working plane. The positive direction of the infeed axis points in the direction of the toolholder. Specifying CUT2DF activates the tool radius compensation in the rotated plane. For more information please refer to Section "2D Tool Compensation, CUT2D CUT2DF". 250 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Frames 6.5 Programmable frame rotations with solid angles (ROTS, AROTS, CROTS) 6.5 Programmable frame rotations with solid angles (ROTS, AROTS, CROTS) Function Orientations in space can be specified by means of frame rotations with solid angles ROTS, AROTS, CROTS. Programming commands ROTS and AROTS behave analogously to ROT and AROT. Programming When programming the solid angles X and Y the new X-axis lies in the old ZX plane. ROTS X... Y... Or AROTS X... Y... Or CROTS X... Y... When programming solid angles Z and X the new Z-axis lies in the old YZ plane. ROTS Z... X... Or AROTS Z... X... Or CROTS Z... X... When programming the solid angles Y and Z the new Y-axis lies in the old XY plane. ROTS Y... Z... Or AROTS Y... Z... Or CROTS Y... Z... Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 251 Frames 6.6 Programmable scale factor (SCALE, ASCALE) Parameters ROTS, AROTS, CROTS, 6.6 Frame rotations with solid angles for spatial orientation of a plane absolute, referred to the currently valid frame with set workpiece zero for G54 to G599. Frame rotations with solid angles for spatial orientation of a plane additive, referred to the currently valid frame with set or programmed zero point. Frame rotations with solid angles for spatial orientation of a plane, referred to the valid frame in the data management with rotation in the specified axes. X Y Z A maximum of two solid angles may be specified. RPL Rotation in the plane: Angle through which the coordinate system is rotated (plane set with G17-G19). Programmable scale factor (SCALE, ASCALE) Function With SCALE/ASCALE you can program scale factors for all path, synchronized axes and positioning axes in the direction of the axis specified in each case. This enables the size of a shape to be changed. You can thus program taking similar geometrical shapes or different shrinkages into account. Programming SCALE X... Y... Z... (substituting instruction programmed in a separate NC block) Or ASCALE X... Y... Z... (additive instruction programmed in a separate NC block) Parameters SCALE, Absolute enlargement/reduction with reference to the currently valid coordinate system set with G54 to G599 ASCALE, Additive enlargement/reduction with reference to the currently valid set or programmed coordinate system X Y Z Scale factor in the direction of the specified geometry axis Deactivate scaling factor For all axes: SCALE (without axis parameter). All frame components of the previously programmed frame are reset. Example of milling With this workpiece, the two pockets occur twice, but in different sizes and at different angles to each other. The machining sequence is stored in a subprogram. 252 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Frames 6.6 Programmable scale factor (SCALE, ASCALE) Use zero offset and rotation to set each of the workpiece zeroes, reduce the contour with a scale and then call the subprogram up again. < r ; N10 G17 G54 ;Working plane X/Y, workpiece zero N20 TRANS X15 Y15 ;Absolute offset N30 L10 ;Machine large pocket N40 TRANS X40 Y20 ;Absolute offset N50 AROT RPL=35 ;Rotation in the plane through 35 N60 ASCALE X0.7 Y0.7 ;Scale factor for the small pocket N70 L10 ;Machine small pocket N80G0 X300 Y100 M30 ;Retraction, end of program Substituting instruction, SCALE X Y Z You can specify an individual scale factor for each axis, by which the shape is to be reduced or enlarged. The scale refers to the workpiece coordinate system set with G54 to G57. Notice The SCALE command cancels all frame components of the previously activated programmable frame. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 253 Frames 6.6 Programmable scale factor (SCALE, ASCALE) = < ; Additive instruction, ASCALE X Y Z You can program scale changes, which are to be added to existing frames by using the ASCALE command. In this case, the last valid scale factor is multiplied by the new one. AS CA LE The currently set or last programmed coordinate system is used as the reference for the scale change. AROT TRANS Note If you program an offset with ATRANS after SCALE, the offset values are also scaled. 254 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Frames 6.6 Programmable scale factor (SCALE, ASCALE) Caution Please take great care when using different scale factors! Example: Circular interpolations can only be scaled using identical factors. You can, however, use different scale factors to program distorted circles, for example. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 255 Frames 6.7 Programmable mirroring (MIRROR, AMIRROR) 6.7 Programmable mirroring (MIRROR, AMIRROR) Function MIRROR/AMIRROR can be used to mirror workpiece shapes on coordinate axes. All traversing movements, which are programmed after the mirror call, e.g., in the subprogram, are executed in the mirror image. Programming MIRROR X0 Y0 Z0 (substituting instruction programmed in a separate NC block) Or AMIRROR X0 Y0 Z0 (additive instruction programmed in a separate NC block) Parameters MIRROR Absolute mirror image with reference to the currently valid coordinate system set with G54 to G599 AMIRROR Additive mirror image with reference to the currently valid set or programmed coordinate system X Y Z Geometry axis whose direction is to be changed. The value specified here can be chosen freely, e.g., X0 Y0 Z0. Example of mirroring milling Program the contour shown here once as a subprogram and generate the three other contours with a mirror operation. The workpiece zero is located at the center of the contours. < < ; ; ; ; < N10 G17 G54 256 < ;Working plane X/Y, workpiece zero Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Frames 6.7 Programmable mirroring (MIRROR, AMIRROR) N20 L10 ;Machine first contour, top right N30 MIRROR X0 ;Mirror X axis (the direction is changed in X) N40 L10 ;Machine second contour, top left N50 AMIRROR Y0 ;Mirror Y axis (the direction is changed in Y) N60 L10 ;Machine third contour, bottom left N70 MIRROR Y0 ;MIRROR cancels previous frames. Mirror Y axis (the direction is ;changed in Y) N80 L10 ;Machine fourth contour, bottom right N90 MIRROR ;Deactivate mirroring N100 G0 X300 Y100 M30 ;Retraction, end of program Example of rotating mirroring The actual machining is stored as a subprogram and the execution at the respective spindles is done by means of mirrorings and offsets. 6SLQGOH 6SLQGOH ; ; = 0 = : : 0 N10 TRANS X0 Z140 ;Zero offset to W N.. ... ;Machine first side with spindle 1 N30 TRANS X0 Z600 ;Zero offset to spindle 2 N40 AMIRROR Z0 ;Mirroring of the Z axis N50 ATRANS Z120 ;Zero offset to W1 N.. ... ;Machine second side with spindle 2 Substituting instruction, MIRROR X Y Z The mirror is programmed by means of an axial change of direction in the selected working plane. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 257 Frames 6.7 Programmable mirroring (MIRROR, AMIRROR) Example: Working plane G17 X/Y The mirror (on the Y axis) requires a change of direction on X and is subsequently programmed with MIRROR X0. The contour is then mirrored on the opposite side of the mirror axis Y. 0,5525; < ; 0,5525< The mirror image refers to the coordinate axes set with G54 to G57. Caution The MIRROR command cancels all previously set programmable frames. Additive instruction, AMIRROR X Y Z A mirror image, which is to be added to an existing transformation, is programmed with AMIRROR. The currently set or last programmed coordinate system is used as the reference. 258 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Frames 6.7 Programmable mirroring (MIRROR, AMIRROR) 75$16 $0,5525 Deactivate mirroring For all axes: MIRROR (without axis parameter) All frame components of the previously programmed frame are reset. Note The mirror command causes the control to automatically change the path compensation commands (G41/G42 or G42/G41) according to the new machining direction. < * * * * ; 0,5525; The same applies to the direction of circle rotation (G2/G3 or G3/G2). Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 259 Frames 6.7 Programmable mirroring (MIRROR, AMIRROR) Note If you program an additive rotation with AROT after MIRROR, you may have to work with reversed directions of rotation (positive/negative or negative/positive). Mirrors on the geometry axes are converted automatically by the control into rotations and, where appropriate, mirrors on the mirror axis specified in the machine data. This also applies to settable zero offsets. Machine manufacturer * You can set the axis, around which mirroring is performed, via machine data MD. MD 10610 = 0: Mirroring is performed in relation to the programmed axis (negation of values). MD 10610 = 1 or 2 or 3: Depending on the data setting, mirroring is performed in relation to a specific reference axis (1=X axis; 2=Y axis; 3=Z axis) and rotations of two other geometry axes. * MD10612 MIRROR_TOGGLE = 0 can be used to define that the programmed values are always evaluated. A value of 0, i.e., MIRROR X0, deactivates the mirroring of the axis, and values not equal to 0 cause the axis to be mirrored if it is not already mirrored. 260 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Frames 6.8 Frame generation according to tool orientation (TOFRAME, TOROT, PAROT) 6.8 Frame generation according to tool orientation (TOFRAME, TOROT, PAROT) Function TOFRAME generates a rectangular frame whose Z axis coincides with the current tool orientation. You can use this function to retract the tool after a tool breakage in a 5-axis program without collision, simply by retracting the Z axis. The resulting frame describing the orientation is written in the system variable for the programmable frame $P_PFRAME. Only the rotation component is overwritten with TOROT in the programmed frame. All other components remain unchanged. PAROT aligns the workpiece on the workpiece coordinate system (WCS). Machine manufacturer The position of the two axes X and Y can be defined in MD21110: X_AXES_IN_OLD_X_Z_PLANE where X is rotated about Z into the existing X-Z plane. 7RROUHWUDFWLRQ DORQJ=D[LV = %DVH = < = <%DVH <%DVH *HQHUDWHG )UDPH ; %DVH ; ; 0RGLILHGLQ0'; LVDJDLQ ORFDWHGLQWKHSUHYLRXV;=SODQH Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 261 Frames 6.8 Frame generation according to tool orientation (TOFRAME, TOROT, PAROT) Programming Frame rotation in tool direction TOFRAME Or TOFRAMEZ or TOFRAMEY or TOFRAMEX Or TOROTOF Z/Y/X axis parallel to tool orientation Frame rotation in tool direction OFF Or frame rotation on with TOROT or TOROTZ or TOROTY Z/Y/X axis parallel to tool orientation or TOROTX Or PAROT Align workpiece coordinate system (WCS) on workpiece Or PAROTOF Deactivate workpiece-related frame rotation Parameters TOFRAME Frame rotation in tool direction The new frame, whose Z axis is pointing in the tool direction, is applicable after the block containing TOFRAME. TOROTOF deactivates the frame rotation in tool direction. TOFRAMEZ Z axis parallel to tool orientation TOFRAMEY Y axis parallel to tool orientation TOFRAMEX X axis parallel to tool orientation TOROTOF Frame rotation in tool direction OFF TOROT Frame rotation ON Z axis parallel to tool orientation. The rotation defined by TOROT is the same as that defined with TOFRAME. TOROTZ Frame rotation ON Z axis parallel to tool orientation TOROTY Frame rotation ON Y axis parallel to tool orientation TOROTX Frame rotation ON X axis parallel to tool orientation PAROT PAROTOF Align workpiece coordinate system (WCS) on workpiece. Translations, scaling and mirroring in the active frame remain valid. The workpiece-related frame rotation activated with PAROT is deactivated with PAROTOF. Deactivate workpiece-related frame rotation Milling with working plane G17 TOFRAME or TOROT defines frames whose Z axes point in the tool direction. This definition is tailored to milling operations, for which working plane G17 X/Y of the 1st - 2nd geometry axis is typically active. Turning with working plane G18 or G19 262 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Frames 6.8 Frame generation according to tool orientation (TOFRAME, TOROT, PAROT) Turning operations in particular, and active G18 or G19 in general, require frames, with which the tool is aligned in the X or Y axis. A frame of this type can be defined with G codes * TOFRAMEX TOROTX * TOFRAMEY TOROTY * TOFRAMEZ TOROTZ. This functionality of TOFRAME and TOFRAMEZ or TOROT and TOROTZ is identical in each case. Example of TOFRAME N100 G0 G53 X100 Z100 D0 N120 TOFRAME ;Frame TOFRAME is included, all programmed geometry axis ;movements ;refer to TOFRAME N140 G91 Z20 N160 X50 ... Milling with working plane G17 TOFRAME or TOROT defines frames whose Z axes point in the tool direction. This definition is tailored to milling operations, for which working plane G17 X/Y of the 1st - 2nd geometry axis is typically active. Turning with working plane G18 or G19 Turning operations in particular, and active G18 or G19 in general, require frames, with which the tool is aligned in the X or Y axis. A frame of this type can be defined with G codes * TOFRAMEX TOROTX * TOFRAMEY TOROTY * TOFRAMEZ TOROTZ. This functionality of TOFRAME and TOFRAMEZ or TOROT and TOROTZ is identical in each case. Assigning axis direction If one of the G codes TOFRAMEX, TOFRAMEY, TOROTX, TOROTY is programmed instead of TOFRAME(Z) or TOROT(Z), the axis directions are assigned as shown in the table below: TOFRAME (Z), TOROT (Z) TOFRAMEY, TOROTY TOFRAMEX, TOROTX Z Y X Tool direction (applicate) X Z Y Secondary axis (abscissa) Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 263 Frames 6.9 Deselect frame (G53, G153, SUPA, G500) Y X Z Secondary axis (ordinate) Note After tool orientation has been programmed with TOFRAME, all the programmed geometry axis movements refer to the frame generated by this programming. Note Separate system frame for TOFRAME or TOROT The frames resulting from TOFRAME or TOROT can be written in a separate system frame $P_TOOLFRAME. This can be done by setting bit 3 in machine data MD 28082: MM_SYSTEM_FRAME_MASK. The programmable frame remains unchanged. Differences occur when the programmable frame is processed further elsewhere. Note NC command TOROT ensures consistent programming with active orientable tool carriers for each kinematic type. Just as in the situation for rotatable toolholders, PAROT can be used to activate a rotation of the work table. This defines a frame, which changes the position of the workpiece coordinate system in such a way that no compensatory movement is performed on the machine. Language command PAROT is not rejected if no orientable toolholder is active. References: For further explanations about machines with orientable toolholder, see: /PGA/Programming Manual Advanced; "Tool Orientation" /FB1/Function Manual Basic Functions; Tool Offset (W1), "Orientable Toolholders" 6.9 Deselect frame (G53, G153, SUPA, G500) Function When executing certain processes, such as approaching the tool change location or initial setting, various frame components must be defined and suppressed at different times. Set frames can either be deactivated modally or suppressed non-modally. The programmable frames are cleared by specifying the TRANS, ROT, SCALE, MIRROR component without an axis. 264 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Frames 6.10 Deselect DRF (handwheel) offsets, overlaid motions (DRFOF, CORROF) Deactivate coordinate transformation A distinction must be made here between non-modal suppression and modal deactivation. Programming G53 Or G153 Or SUPA Or G500 Parameters Non-modal suppression: G53 Deactivation of all programmable and settable frames G153 Deactivation of all programmable, settable and basic frames SUPA Deactivation of all programmable, settable frames, DRF handwheel offsets, external zero offsets and preset offset Modal deactivation: G500 Deactivation of all settable frames if G500 does not contain a value Deleting FRAMES: TRANS, ROT, SCALE, MIRROR 6.10 Programming without specifying the axis clearing the programmable frames Deselect DRF (handwheel) offsets, overlaid motions (DRFOF, CORROF) Function DRFOF can be used to deactivate all active axes of the channel for DRF handwheel offsets. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 265 Frames 6.10 Deselect DRF (handwheel) offsets, overlaid motions (DRFOF, CORROF) For instance, if a particular axis with an overlaid motion or a position offset interpolates, the instruction CORRROF can be used to deactivate either the DRF offsets or the position offset for this axis. The axis is not traversed. Programming DRFOF Or CORROF(axis,string[axis,string]) Or CORROF(axis,string) Or CORROF(axis) Or CORROF() Parameters Modal deactivation: DRFOF Deactivation (deselection) of DRF handwheel offsets for all active axes in the channel CORROF(axis,DRF[AXIS ,AA_OFF]) Deactivation (deselection) of axial DRF offsets and the position offset for individual axes as a result of $AA_OFF CORROF(axis) All active overlaid motions are deselected Axis Axis identifiers (for channel, geometry or machine axis) String == DRF DRF offset of axis is deselected String == AA_OFF Position offset of axis is deselected due to $AA_OFF The following expansions are possible: String == ETRANS An active zero offset is deselected String == FTOCOF, Acts like FTOCOF (deactivate online tool offset) Example of axial DRF deselection A DRF offset is generated in the X axis by DRF handwheel traversal. No DRF offsets are operative for any other axes in the channel. N10 CORROF(X,"DRF") acts like DRFOF( ) A DRF offset is generated in the X and Y axes by DRF handwheel traversal. No DRF offsets are operative for any other axes in the channel. N10 CORROF(X,"DRF") ;Only the DRF offset of the X axis is deselected, the ;X axis does not move ;The DRF offset of the Y axis is ;retained ;Both offsets would have been deselected with ;DRFOF() 266 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Frames 6.10 Deselect DRF (handwheel) offsets, overlaid motions (DRFOF, CORROF) Example of axial DRF deselection and $AA_OFF deselection A DRF offset is generated in the X axis by DRF handwheel traversal. No DRF offsets are operative for any other axes in the channel. N10 WHEN TRUE DO $AA_OFF[X] = 10 G4 F5 N70 CORROF(X,"DRF",X,"AA_OFF") ;A position offset == 10 is ;interpolated for the X axis ;Only the DRF offset of the X axis is ;deselected, the X axis does not move ;The DRF offset of the Y axis is ;retained Example of deselecting AA_OFF A position offset of the X axis is deselected with: CORROF(X,"AA_OFF") with $AA_OFF[X] = 0 and added to the current position of the X axis. The following programming example shows the relevant programming commands for the X axis that was previously interpolated with a position offset of 10: N10 WHEN TRUE DO $AA_OFF[X] = 10 ;A position offset == 10 is ;interpolated for the X axis G4 F5 N80 CORROF(X,"AA_OFF") ;Delete position offset of X axis ;the X axis does not move Description CORROF A preprocessing stop is initiated and the position component of the deselected overlaid motion (DRF offset or position offset) is transferred to the position in the basic coordinate system. Since no axis is traversed, the value of $AA_IM[axis] does not change. Owing to the deselected overlaid motion, only the value of system variable $AA_IW[axis] is altered. After the position offset, e.g., for one axis, has been deselected by $AA_OFF, the system variable $AA_OFF_VAL of this axis is zero. Setting bit 2 of MD 36750: AA_OFF_MODE to "1" when $AA_OFF is changed enables interpolation of the position offset as an overlaid motion in JOG mode. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 267 Frames 6.10 Deselect DRF (handwheel) offsets, overlaid motions (DRFOF, CORROF) Note CORROF is possible only from the parts program, not via synchronized actions. Alarm 21660 is output if a synchronized action is active when the position offset is deselected via parts program command CORROF(axis,"AA_OFF"). $AA_OFF is deselected simultaneously and not set again. If the synchronized action becomes active later in the block after CORROF, $AA_OFF remains set and a position offset is interpolated. If a CORROF command has been programmed for an axis and this axis is active in a different channel, then an axis replacement sends the axis to the other channel with machine data 30552: AUTO_GET_TYPE = 0. This causes the DRF offset and any other position offset to be deselected. 268 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Feedrate Control and Spindle Motion 7.1 7 Feedrate (G93, G94, G95 or F..., FGROUP, FGREF) Function You can use the above commands to set the feedrates in the NC program for all axes participating in the machining sequence. < 0RYHPHQWRQ< ) ; 0RYHPHQWRQ; The path feedrate is generally composed of the individual speed components of all geometry axes participating in the movement and refers to the center point of the cutter or the tip of the turning tool. The following feedrate types can be programmed: * Path feedrate with G commands G93, G94, G95 on axes participating in movement * Feedrate F for path axes * Feedrate F for synchronized axes * Feedrate F applies to all axes programmed under FGROUP * Feedrate for synchronized-/path axes with limit speed FL Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 269 Feedrate Control and Spindle Motion 7.1 Feedrate (G93, G94, G95 or F..., FGROUP, FGREF) Note The inverse-time feedrate 1/min G93 is not implemented for 802D. Programming G93 or G94 or G95 F... or FGROUP (X, Y, Z, A, B, ...) Or FL[axis]=... or FGREF[axis name]=reference radius Parameters G93 Inverse-time feedrate 1/rpm G94 Feedrate in mm/min or inches/min or in deg/min G95 F... Feedrate value in unit defined by G93, G94, G95 FGROUP Feedrate value F valid for all axes specified in FGROUP FL 270 Feedrate in mm/rev or inches/rev with reference to the speed of the master spindle - generally the cutting spindle or the main spindle on the turning machine Limit speed for synchronized/path axes; the unit set with G94 applies (max. rapid traverse) One FL value can be programmed per axis. The axis identifiers of the basic coordinate system must be used (channel axes or geometry axes). FGREF Effective radius (reference radius) for the rotary axes entered in FGROUP Axis Channel axis or geometry axes or orientation axes X Y Z Movement of the specified geometry axis A B C Axis identifier for rotary axis to be traversed Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Feedrate Control and Spindle Motion 7.1 Feedrate (G93, G94, G95 or F..., FGROUP, FGREF) Example of operating principle of FGROUP The following example illustrates the effect of FGROUP on the path and the path feedrate. The variable $AC_TIME contains the time from the start of the block in seconds. It can only be used in synchronized actions. See /FBSY/, Synchronized Actions. N100 G0 X0 A0 N110 FGROUP(X,A) N120 G91 G1 G710 F100 ;Feedrate=100 mm/min or 100 deg/min N130 DO $R1=$AC_TIME N140 X10 ;Feedrate=100 mm/min, path dist.=10 mm, R1=approx. 6 s N150 DO $R2=$AC_TIME N160 X10 A10 ;Feedrate=100 mm/min, path dist.=14.14 mm, R2=approx. 8 s N170 DO $R3=$AC_TIME N180 A10 ;Feedrate=100 degrees/min, path dist.=10 degrees, R3=approx. 6 s N190 DO $R4=$AC_TIME N200 X0.001 A10 ;Feedrate=100 mm/min, path dist.=10 mm, R4=approx. 6 s N210 G700 F100 ;Feedrate=2540 mm/min or 100 degrees/min N220 DO $R5=$AC_TIME N230 X10 ;Feedrate=2540 mm/min, path dist.=254 mm, R5=approx. 6 s N240 DO $R6=$AC_TIME N250 X10 A10 ;Feedrate=2540 mm/min, path dist.=254.2 mm, R6=approx. 6 s N260 DO $R7=$AC_TIME N270 A10 ;Feedrate=100 degrees/min, path dist.=10 degrees, R7=approx. 6 s N280 DO $R8=$AC_TIME N290 X0.001 A10 ;Feedrate=2540 mm/min, path dist.=10 mm, R8=approx. 0.288 s N300 FGREF[A]=360/(2*$PI) ;1 degree=1 inch above the effective radius N310 DO $R9=$AC_TIME N320 X0.001 A10 ;Feedrate=2540 mm/min, path dist.=254 mm, R9=approx. 6 s N330 M30 Example of traversing synchronized axes with limit speed FL The path velocity of the path axes is reduced if the synchronized axis reaches the limit speed. Example, Z is a synchronized axis: N10 G0 X0 Y0 N20 FGROUP(X) N30 G1 X1000 Y1000 G94 F1000 FL[Y]=500 N40 Z-50 One FL value can be programmed per axis. The axis identifiers of the basic coordinate system must be used (channel axes or geometry axes). Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 271 Feedrate Control and Spindle Motion 7.1 Feedrate (G93, G94, G95 or F..., FGROUP, FGREF) Example of helical interpolation Path axes X and Y traverse with the programmed feedrate, the infeed axis Z is a synchronized axis. < < ; = N10 G17 G94 G1 Z0 F500 ;Tool infeed N20 X10 Y20 ;Approach start position N25 FGROUP(X, Y) ;Axes X/Y are path axes, Z is a ;synchronized axis N30 G2 X10 Y20 Z-15 I15 J0 F1000 FL[Z]=200 ;On the circular path, the feedrate is1000 mm/min. ;Traversing in the Z direction is synchronized. ... N100 FL[Z]=$MA_AX_VELO_LIMIT[0,Z] N110 M30 ;The limit velocity is deselected ;when the velocity ;value is read from the MD. ;End of program Feedrate G93, G94, G95 All of the commands are modal. If the G feedrate command is switched between G93, G94 or G95, the path feedrate must be reprogrammed. The feedrate can also be specified in deg/rev when machining with rotary axes. 272 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Feedrate Control and Spindle Motion 7.1 Feedrate (G93, G94, G95 or F..., FGROUP, FGREF) Feedrate F for path axes The feedrate is specified with address F. Depending on the default setting in the machine data, the units of measurement specified with the G commands are either in mm or inch. One F value can be programmed per NC block. The unit for the feedrate is defined in one of the above G commands. The feed F acts only on path axes and remains active until a new feedrate is programmed. Separators are permitted after address F. Example: F100 or F 100 or F.5 or F=2*FEED Feedrate for synchronized axes The feedrate F programmed at address F applies to all the path axes programmed in the block, but not to synchronized axes. The synchronized axes are controlled such that they require the same time for their path as the path axes, and all axes reach their end point at the same time. Traverse synchronized axes with limit speed FL With this command, synchronized/path axes are traversed at their limit speed FL. Traverse synchronized axes with path velocity F, FGROUP With FGROUP, you define whether a path axis is to be traversed with path feed or as a synchronized axis. In helical interpolation, for example, you can define that only two geometry axes, X and Y, are to be traversed at the programmed feedrate. The infeed axis Z is the synchronized axis in this case. Example: N10 FGROUP(X, Y) Change FGROUP 1. By reprogramming another FGROUP statement. Example: FGROUP(X, Y, Z) 2. With FGROUP () without axis parameter Afterwards, the initial setting in the machine data applies - the geometry axes again traverse in the path axis grouping. Note You must program channel axis names with FGROUP. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 273 Feedrate Control and Spindle Motion 7.1 Feedrate (G93, G94, G95 or F..., FGROUP, FGREF) Caution The FGREF evaluation also works if only rotary axes are programmed in the block. The normal F value interpretation as degree/min applies in this case only if the radius reference corresponds to the FGREF default, when G71/G710: FGREF[A]=57.296 G70/G700: FGREF[A]=57.296/25.4 Units of measurement and calculation Machine manufacturer See machine manufacturer's specifications. Units of measurement for feedrate F You can use the following G commands to define the units of measurement for the feed input. Feedrate functions are not affected by G70/G71. Note With G700/G710, feedrate values F are interpreted as geometrical parameters in the measuring system set by G function (G700: [inch/min]; G710: [mm/min]). Feedrate G93 Unit 1/rpm. The inverse-time feedrate specifies the time required to execute the motion commands in a block. Example: N10 G93 G01 X100 F2 means: the programmed path is traversed in 0.5 min. 274 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Feedrate Control and Spindle Motion 7.1 Feedrate (G93, G94, G95 or F..., FGROUP, FGREF) < *;) ; PLQ Note If the path lengths vary greatly from block to block, a new F value should be specified in each block with G93. The feedrate can also be specified in deg/rev when machining with rotary axes. Unit of measurement for synchronized axes with limit speed FL The unit of measurement set for F by G command (G70/G71) also applies to FL. If FL is not programmed, rapid traverse velocity is used. FL is deselected by assignment to MD $MA_AX_VELO_LIMIT. Unit of measurement for rotary and linear axes For linear and rotary axes, which are combined with FGROUP and traverse a path together, the feed is interpreted in the unit of measurement of the linear axes. Depending on the default for G94/G95: mm/min or inch/min and mm/rev or inch/rev. The tangential velocity of the rotary axis in mm/min or inch/min is calculated according to the following formula: F[mm/min] = F'[degrees/min] * * D[mm]/360[degrees] F: Tangential velocity F': Angular velocity : Circle constant D: Diameter Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 275 Feedrate Control and Spindle Motion 7.1 Feedrate (G93, G94, G95 or F..., FGROUP, FGREF) F F' D Traverse rotary axes with path velocity F, FGREF For machining operations, in which the tool or the workpiece or both are moved by a rotary axis, the effective machining feedrate is to be interpreted as a path feed in the usual way by reference to the F value. This requires the specification of an effective radius (reference radius) FGREF for each of the rotary axes involved. The unit of the reference radius depends on the G70/G71/G700/G710 setting. All axes involved must be included in the FGROUP command, as before, in order to be evaluated in the calculation of the path feed. In order to ensure compatibility with the behavior with no FGREF programming, the factor 1 degree = 1mm is activated on system powerup and RESET. This corresponds to a reference radius of FGREF=360 mm/(2)=57.296 mm. Note This default setting is independent of the active basic system MD 10240: SCALING_SYSTEM_IS_METRIC and of the currently active inch/metric G code. Special situations: With the following programming: N100 FGROUP(X,Y,Z,A) N110 G1 G91 A10 F100 N120 G1 G91 A10 X0.0001 F100 the F value programmed in N110 is evaluated as a rotary axis feedrate in deg/min, while the feedrate weighting in N120 is either 100 inch/min or 100 mm/min depending on the currently active inch/metric setting. 276 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Feedrate Control and Spindle Motion 7.1 Feedrate (G93, G94, G95 or F..., FGROUP, FGREF) Path reference factors for orientation axes with FGREF With orientation axes the mode of operation of the FGREF[ ] factors is dependent on whether the change in the orientation of the tool is implemented by rotary axis or vector interpolation. In the case of rotary axis interpolation, the relevant FGREF factors of the orientation axes are calculated, as for rotary axes, individually as reference radius for the axis paths. In the case of vector interpolation, an effective FGREF factor, which is calculated as the geometric mean value of the individual FGREF factors, is applied. FGREF[eff] = n-te root of:[(FGREF[A] * FGREF[B]...)] They are: A: Axis identifier of 1st orientation axis B: Axis identifier of 2nd orientation axis C: Axis identifier of 3rd orientation axis Number of orientation axes Example: There are two orientation axes for a standard 5-axis transformation, and the effective factor is thus the root of the product of the two axial factors: FGREF[eff] = square root of:[(FGREF[A] * FGREF[B])] Note With the effective factor for orientation axes FGREF, it is therefore possible to define a reference point on the tool, to which the programmed path feedrate refers. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 277 Feedrate Control and Spindle Motion 7.2 Traversing positioning axes (POS, POSA, POSP, FA, WAITP, WAITMC) 7.2 Traversing positioning axes (POS, POSA, POSP, FA, WAITP, WAITMC) Function Positioning axes are traversed independently of the path axes at a separate, axis-specific feedrate. There are no interpolation commands. With the POS/POSA/POSP commands, the positioning axes are traversed and the sequence of motions coordinated at the same time. The following are typical examples of positioning axes: pallet feed equipment, gauging stations or similar. WAITP enables you to identify a position in the NC program where the program is to wait until an axis programmed with POSA in a previous NC block has reached its end position. With WAITMO, the next NC block is loaded immediately when the wait marker is received. Programming POS[axis]=... Or POSA [axis]=... Or POSP [axis]=(...,...,...) Or FA [axis]=... Or WAITP (axis)=... (programming must be written in a separate NC block) Or WAITMC(marker)=... Parameters POS [axis]= Position the axis; the next NC block is not enabled until the position has been reached POSA [axis]= Position the axis; the next NC block is enabled, even if the position has not been reached POSP [axis]=(,,) FA[axis]= WAITP (axis) WAITMC (marker) 278 Approach end position in sections. The first value indicates the end position; the second the length of the section. Approaching the end position is defined in the third value with 0 or 1 Feedrate for the positioning axis, up to 5 per NC block Waiting for end of travel of axis. With WAITP, an axis can be made available for traversing as a reciprocating axis or as a concurrent positioning axis (by PLC). During the braking ramp, WAIITMC loads the next NC block immediately when the WAIT marker is received. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Feedrate Control and Spindle Motion 7.2 Traversing positioning axes (POS, POSA, POSP, FA, WAITP, WAITMC) Axis Channel axes or geometry axes Marker, , An axis is only decelerated if the marker has not yet been reached or if a different search criterion prevents the block change. Example of traveling with POSA[...]= On accessing status data of the machine ($A...), the control generates an internal preprocessing stop, processing is halted until all blocks, which have already been preprocessed and, have been executed in full. N40 POSA[X]=100 N50 IF $AA_IM[X]==R100 GOTOF LABEL1 ;Access to machine status data N60 G0 Y100 N70 WAITP(X) N80 LABEL1: N... Example of waiting for end of travel with WAITP(...) Pallet feed equipment Axis U: Pallet store, transporting the pallet to the working area Axis V: Transfer line to a measuring station, where sampling controls are carried out: N10 FA[U]=100 FA[V]=100 ;Axis-specific feedrate functions for ;each positioning axis U and V N20 POSA[V]=90 POSA[U]=100 G0 X50 Y70 ;Traverse positioning and path axes N50 WAITP(U) ;Execution of the program is only ;continued when axis U has reached the ;end position programmed in N20. N60 ... Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 279 Feedrate Control and Spindle Motion 7.2 Traversing positioning axes (POS, POSA, POSP, FA, WAITP, WAITMC) Traveling with POSA[...]= The axis indicated in square brackets is traversed to the end position. The block step enable or program execution is not affected by POSA. The movement to the end position can be performed during execution of subsequent NC blocks. Caution Internal preprocessing stop If a command, which implicitly causes a preprocessing stop, is read in a following block, this block is not executed until all other blocks, which are already preprocessed and stored have been executed. The preceding block is halted in exact stop (as with G9). Traveling with POS[...]= The next block is only executed when all axes programmed under POS have reached their end positions. Traveling with POSP[...]= POSP is deployed especially for programming oscillating motions, see /PGA/Programming Manual Advanced; "Asynchronous Oscillation" Wait for end of travel with WAITP(...) After WAITP, assignment of the axis to the NC program is no longer valid; this applies until the axis is programmed again. This axis can then be operated as a positioning axis through the PLC, or as a reciprocating axis from the NC program/PLC or HMI. Block change in the braking ramp with IPOBRKA and WAITMC(...) An axis is only decelerated if the marker has not yet been reached or if a different search criterion prevents the block change. After a WAITMC, the axes start immediately if no other search criterion prevents block change. 280 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Feedrate Control and Spindle Motion 7.3 Position-controlled spindle operation (SPCON, SPCOF) 7.3 Position-controlled spindle operation (SPCON, SPCOF) Function In some cases, position-controlled operation of the spindle may be advisable, e.g., in conjunction with large-pitch thread cutting with G33, higher quality can be achieved. Note The command requires up to three interpolation cycles. Programming SPCON or SPCON(n) Activate position control or SPCOF or SPCOF(n) Deactivate position control, switch to speed control or SPCON(n, m, 0) Activate position control for multiple spindles in a block or SPCOF(n, m, 0) Deactivate position control for multiple spindles in a block Parameter SPCON SPCON(n) SPCOF SPCOF(n) SPCON SPCON(n, m, 0) Switch master spindle or spindle number n from speed control to position control Switch master spindle or spindle number n back from position control to speed control Several spindles with number n can be switched from speed control to position control in one block SPCOF(n, m, 0) Several spindles with number n can be switched back from position control to speed control in one block n Integers from 1 ... n of spindle number m Integers from 1 ... m of master spindle SPCOF Note SPCON has modal action and remains valid until SPCOF. The speed is specified with S... M3, M4 and M5 apply in respect of the directions of rotation and spindle stop. With synchronized spindle setpoint value linkage, the master spindle must be operated in position-control mode. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 281 Feedrate Control and Spindle Motion 7.4 Positioning spindles (SPOS, M19 and SPOSA, WAITS) 7.4 Positioning spindles (SPOS, M19 and SPOSA, WAITS) Function With SPOS, M19 and SPOSA, you can position spindles at specific angular positions, e.g., during tool change. In order to synchronize spindle movements, WAITS can be used to wait until the spindle position is reached. $QJOHSRVLWLRQ The spindle can also be operated as a path axis, synchronized axis or positioning axis at the address defined in the machine data. When the axis identifier is specified, the spindle is in axis mode. M70 switches the spindle directly to axis mode. Switching off SPOS, M19 and SPOSA effect a temporary switchover to position-controlled operation until the next M3 or M4 or M5 or M41 to M45. If the position control was activated with SPCON prior to SPOS, then this remains active until SPCOF is issued. 282 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Feedrate Control and Spindle Motion 7.4 Positioning spindles (SPOS, M19 and SPOSA, WAITS) Programming SPOS=... or SPOS[n]=... Or M19 or M[n]=19 Or SPOSA=... or SPOSA[n]=... Or M70 or Mn=7 Or FINEA=... or FINEA[n]=... Or COARSEA=... or COARSEA[n]=... Or IPOENDA=... or IPOENDA[n]=... Or IPOBRKA=... or IPOBRKA(axis[,REAL]) (programmed in a separate NC block) Or WAITS or WAITS(n,m) (programmed in a separate NC block) Parameters SPOS= SPOS[n]= M19 M[n]=19 SPOSA= SPOSA[n]= M70 Mn=70 Position master spindle (SPOS or SPOS[0]) or spindle number n (SPOS[n]); the next NC block is not enabled until the position has been reached. Position master spindle (M19 or M[0]=19) or spindle number n (M[n]=19); the next NC block is not enabled until the position has been reached. Position master spindle (SPOSA or SPOSA[0]) or spindle with number n (SPOSA[n]); the next NC block is enabled, even if the position has not been reached. Switch over master spindle (M70) or spindle number n (Mn=70) to axis operation. No defined position is approached. The NC block is enabled after the switchover has been performed. FINEA= Motion end when "Exact stop fine" reached FINEA[Sn]= End of positioning for specified spindle Sn COARSEA= Motion end when "Exact stop coarse" reached COARSEA[Sn]= End of positioning for specified spindle Sn IPOENDA= End of motion when "IPO stop" is reached IPOENDA[Sn]= End of positioning for specified spindle Sn IPOBRKA= End of motion criterion from moment of application of braking ramp at 100% down to end of braking ramp at 0% and identical to IPOENDA. IPOBRKA(axis[,Real])= Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 IPOBKRA must be programmed in round parenthesis "()". 283 Feedrate Control and Spindle Motion 7.4 Positioning spindles (SPOS, M19 and SPOSA, WAITS) WAITS(n,m) Wait for spindle position to be reached, spindle stop after M5, spindle speed after M3/M4 n Integers from 1 ... n of spindle number m Integers from 1 ... m of master spindle Sn nth Spindle number, 0 to max. spindle number Axis Channel identifier WAITS WAITS applies to the master spindle, WAITS( ..., ...) for the specified spindle numbers Percentage specification 100-0% referred to the braking ramp for block changes. If no % is specified, the current value of the setting data is applied. Real Specify spindle position The spindle position is specified in degrees. Three spindle positions are possible for each NC block. If nothing is specified, traversing automatically takes place as for DC. With incremental dimensioning IC (INC), spindle positioning can take place over several revolutions. AC(...) Absolute dimension, value range AC: 0...359.9999 degrees IC(...) Absolute dimension, value range IC: 0...99 999.999 degrees DC(...) Approach absolute value directly ACN(...) Absolute dimension, approach in negative direction ACP(...) Absolute dimension, approach in positive direction Example of positioning spindle with negative direction of rotation Position spindle 2 at 250 in negative direction of rotation. ;The spindle decelerates if necessary and accelerates in the ;opposite direction to the positioning ;movement N10 SPOSA[2]=ACN(250) ; $& r r '& 284 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Feedrate Control and Spindle Motion 7.4 Positioning spindles (SPOS, M19 and SPOSA, WAITS) Example, spindle positioning in the axis mode ... N10 M3 S500 ... N90 SPOS[2]=0 or M2=70 ;Position control on, spindle 2 positioned to 0, axis mode ;can be used in the next block. ;Spindle 2 is switched to axis mode N100 X50 C180 ;Spindle 2 (C axis) is traversed with linear interpolation ;synchronous to X. N110 Z20 SPOS[2]=90 ;Spindle 2 is positioned to 90 degrees. Example of drilling cross holes in turned part Cross holes are to be drilled in this turned part. The running drive spindle (master spindle) is stopped at zero degrees and then successively turned through 90, stopped and so on. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 285 Feedrate Control and Spindle Motion 7.4 Positioning spindles (SPOS, M19 and SPOSA, WAITS) ; ; = .... N110 S2=1000 M2=3 ;Switch on cross drilling attachment N120 SPOSA=DC(0) ;Position main spindle directly at 0, ;the program will advance to the next block immediately N125 G0 X34 Z-35 ;Switch on the drill while the spindle is being positioned N130 WAITS ;Wait until the main spindle reaches its position N135 G1 G94 X10 F250 ;Feedrate in mm/min (G96 is suitable only for the multi-edge turning ;tool and synchronous spindle, but not for power tools on the cross ;slide) N140G0 X34 N145 SPOS=IC(90) ;The spindle is positioned through 90 with read halt in a ;positive direction N150 G1 X10 N155 G0 X34 N160 SPOS=AC(180) ;The spindle is positioned at 180 with respect to the ;spindle zero point N165 G1 X10 N170 G0 X34 N175 SPOS=IC(90) ;The spindle turns in ;a positive direction through 90 from the absolute 180 position, ;ending up in the absolute 270 position. N180 G1 X10 N185 G0 X50 ... Requirements The spindle must be capable of operation in position-control mode. Position with SPOSA=, SPOSA[n]= The block step enable or program execution is not affected by SPOSA. The spindle positioning can be performed during execution of subsequent NC blocks. The program 286 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Feedrate Control and Spindle Motion 7.4 Positioning spindles (SPOS, M19 and SPOSA, WAITS) moves onto the next block if all the functions (except for spindle) programmed in the current block have reached their block end criterion. The spindle positioning operation may be programmed over several blocks (see WAITS). Notice If a command, which implicitly causes a preprocessing stop, is read in a following block, execution of this block is delayed until all positioning spindles are stationary. Positioning with SPOS=, SPOS[n]= and positioning with M19=, M19[n]= The block step enabling condition is fulfilled when all functions programmed in the block have reached their block end criterion (e.g., all auxiliary functions acknowledged by the PLC, all axes have reached end point) and the spindle has reached the programmed position. Speed of the movements The speed or delay response for positioning is stored in the machine data and can be programmed. Specify spindle position As the commands G90/G91 have no effect here, the corresponding units of measurements such as AC, IC, ACN, ACP explicitly apply. If nothing is specified, traversing automatically takes place as for DC. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 287 Feedrate Control and Spindle Motion 7.4 Positioning spindles (SPOS, M19 and SPOSA, WAITS) End of positioning Programmable by means of the following commands: FINEA [Sn], COARSEA [Sn], IPOENDA [Sn]. Settable block change time For single axis interpolation mode, a new end of motion can be set in addition to the existing end of motion criteria based on FINEA, COARSEA, IPOENDA.The new criterion can be set within the braking ramp (100-0%) using IPOBRKA. The program advances to the next block if the end of motion criteria for all spindles or axes programmed in the current block plus the block change criterion for path interpolation are fulfilled. Example: N10 POS[X]=100 N20 IPOBRKA(X,100) N30 POS[X]=200 N40 POS[X]=250 N50 POS[X]=0 N60 X10 F100 N70 M30 Block changes if the X axis has reached position 100 and exact stop fine. Activate block change criterion IPOBRKA braking ramp. Block change commences as soon as the X axis starts to decelerate. The X axis does not brake at position 200, but moves on to position 250; as soon as the X axis starts to brake, the block changes. The X axis brakes and returns to position 0, the block is changed at position 0 and exact stop fine. Synchronizing spindle motions WAITS, WAITS(n,m) WAITS can be used to identify a point at which the NC program waits until one or more spindles programmed with SPOSA in a previous NC block have reached their positions. Example: The block waits until spindles 2 and 3 have reached the positions specified in block N10. N10 SPOSA[2]=180 SPOSA[3]=0 N20...N30 N40 WAITS(2,3) WAITS can be used after M5 to wait until the spindle(s) has(have) stopped. WAITS can be used after M3/M4 to wait until the spindle(s) has(have) reached the specified speed/direction of rotation. Note If the spindle has not yet been synchronized with synchronization marks, the positive direction of rotation is taken from the machine data (state on delivery). Position spindle from rotation (M3/M4) When M3 or M4 is active, the spindle comes to a standstill at the programmed value. 288 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Feedrate Control and Spindle Motion 7.4 Positioning spindles (SPOS, M19 and SPOSA, WAITS) 'LUHFWLRQRIURWDWLRQ 'LUHFWLRQRIURWDWLRQ '& $& 3URJUDPPHG DQJOH 3URJUDPPHG DQJOH '& $& There is no difference between DC and AC dimensioning. In both cases, rotation continues in the direction selected by M3/M4 until the absolute end position is reached. With ACN and ACP, deceleration takes place if necessary, and the appropriate approach direction is followed. With IC, the spindle rotates additionally to the specified value starting at the current spindle position. When M3 or M4 is active, the spindle decelerates if necessary, and accelerates in the programmed direction of rotation. Position a spindle from standstill (M5) The exact programmed distance is traversed from standstill (M5). Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 289 Feedrate Control and Spindle Motion 7.5 Feedrate for positioning axes/spindles (FA, FPR, FPRAON, FPRAOF) 7.5 Feedrate for positioning axes/spindles (FA, FPR, FPRAON, FPRAOF) Function Positioning axes, such as workpiece transport systems, tool turrets and end supports, are traversed independently of the path and synchronized axes. A separate feedrate is therefore defined for each positioning axis. Example: FA[A1]=500. FPRAON can be used to axially activate the revolutional feedrate for positioning axes and spindles, and FPRAOF can be used to deactivate the respective axis again. Programming FA [axis]=... FA[SPI(spindle)]=... or FA[S...]=... or FPR (rotary axis ) or FPR(SPI(spindle)) or FPR(S...) Or FPRAON (axis, rotary axis) Or FPRAON(axis,SPI(spindle)) or FPRAON(axis,S...) or FPRAON(SPI(spindle),rotary axis) or FPRAON(S...,rotary axis) or FPRAON(SPI(spindle),SPI(spindle)) or FPRAON(S...,S...) or FPRAOF(axis,SPI(spindle),...) or FPRAOF(axis,S...,...) Parameters FA[axis] Feedrate for the specified positioning axis in mm/min or inch/min or deg/min FA[SPI(spindle)] Positioning velocity (axial feed) FA[S...] for the specified spindles in deg/min. FPR FPRAON FPRAOF 290 Identification of the rotary axis or spindle whose revolutional feedrate programmed in G95 is to be used as the basis for the revolutional feedrate of the path and synchronized axes. Activate revolutional feedrate for positioning axes and spindles axially. The first command identifies the positioning axis/spindle that is to be traversed at a revolutional feedrate. The second command identifies the rotary axis/spindle from which the feedrate must be derived. Deactivate revolutional feedrate. Specification of axis or spindle that is to stop traversing at a revolutional feedrate. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Feedrate Control and Spindle Motion 7.5 Feedrate for positioning axes/spindles (FA, FPR, FPRAON, FPRAOF) SPI Converts the spindle number into an axis identifier; the transfer parameter must contain a valid spindle number. SPI is used for the indirect definition of a spindle number. Axis Positioning axes or geometry axes Range of values ...999 999.999 mm/min, degree/min ...39 999.9999 inch/min Note The programmed feedrate FA[...] is modal. Up to 5 feeds for positioning axes or spindles can be programmed in each NC block. Example of synchronous spindle link With synchronous spindle link, the positioning speed of the following spindle can be programmed independently of the master spindle - for example, for positioning operations. Example: FA[S2]=100 The spindle identifiers SPI(...) and S... are identical in terms of function. Example of calculating the derived feedrate FPR The derived feedrate is calculated according to the following formula: Derived feedrate = programmed feedrate * Absolute master feedrate Example: Path axes X, Y must be traversed at the revolutional feedrate derived from rotary axis A: N40 FPR(A) N50 G95 X50 Y50 F500 Feedrate FA[...] The feedrate is always G94. When G70/G71 is active, the unit of measurement is metric/inches according to the default setting in the machine data. G700/G710 can be used to modify the unit of measurement in the program. Notice If no FA is programmed, the value defined in the machine data applies. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 291 Feedrate Control and Spindle Motion 7.5 Feedrate for positioning axes/spindles (FA, FPR, FPRAON, FPRAOF) Feedrate FPR[...] As an extension of the G95 command (revolutional feedrate referring to the master spindle), FPR allows the revolutional feedrate to be derived from any chosen spindle or rotary axis. G95 FPR(...) is valid for path and synchronized axes. If the rotary axis/spindle specified in the FPR command is operating on position control, then the setpoint linkage is active. Otherwise the actual-value linkage is effective. Feedrate FPRAON(...,...), FPRAOF(...,...) The FPRAON command makes it possible to derive the revolutional feedrate for specific positioning axes and spindles from the current feedrate of another rotary axis or spindle. The first command identifies the axis/spindle that must be traversed at a revolutional feedrate. The second command identifies the rotary axis/spindle that is to supply the feedrate. The command need not be specified a second time. If it is not, the feedrate is derived from the master spindle. The revolutional feedrate can be deactivated for one or several axes/spindles simultaneously with the FPRAOF command. The feedrate is calculated in the same way as for FPR(...). Examples: The revolutional feedrate for master spindle 1 must be derived from spindle 2. N30 FPRAON(S1,S2) N40 SPOS=150 N50 FPRAOF(S1) The revolutional feedrate for positioning axis X must be derived from the master spindle. The positioning axis is traversing at 500 mm/revolution of the master spindle. N30 FPRAON(X) N40 POS[X]=50 FA[X]=500 N50 FPRAOF(S1) 292 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Feedrate Control and Spindle Motion 7.6 Percentage feedrate override (OVR, OVRA) 7.6 Percentage feedrate override (OVR, OVRA) Function You can use the programmable feedrate override to change the velocity of path axes, positioning axes, and spindles via a command in the NC program. Programming OVR=... or OVRA[axis]=... or OVRA[SPI(spindle)]=... or OVRA[S...]=... Parameter OVR Feedrate change in percent for path feedrate F OVRA Feedrate change in percent for positioning feedrate FA or for spindle speed S SPI Converts the spindle number into an axis identifier; the transfer parameter must contain a valid spindle number. The spindle identifiers SPI(...) and S... are identical in terms of function. Axis Positioning axes or geometry axes Range of values ...200%, integers; with path and rapid traverse override, the maximum velocities set in the machine data are not overshot. Example of programmed feed rate change The programmed feedrate change refers to or is combined with the feedrate override set on the machine control panel. Example: Set feedrate override 80% Programmed feedrate override OVR=50 The programmed path feedrate F1000 is changed to F400 (1000 * 0.8 * 0.5). N10 OVR=25 OVRA[A1]=70 ;Path feedrate 25%, Positioning feedrate for A1 70%. N20 OVRA[SPI(1)]=35 ;Speed for spindle 1 35%. or N20 OVRA[S1]=35 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 293 Feedrate Control and Spindle Motion 7.7 Feedrate with handwheel override (FD, FDA) 7.7 Feedrate with handwheel override (FD, FDA) Function With these functions, you can use the handwheel to traverse path and positioning axes (position parameter) or change the axis velocities (speed override) during program execution. The handwheel override is frequently used for grinding operations. Notice Only speed override can be used for path axes. The path feedrate F and the handwheel override FD may not be programmed in the same NC block. Programming FD=... Or FDA[axis]=0 or FDA[axis]=... Or FDA[axis]=... Parameters FD=... Handwheel travel for path axes with feedrate override FDA[axis]=0 Handwheel travel for positioning axes according to position parameter FDA[axis]=... Handwheel travel for positioning axes with feedrate override Axis Positioning axes or geometry axes The handwheel override function is non-modal. The function is deactivated in the next NC block and the NC program continues to be executed. 294 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Feedrate Control and Spindle Motion 7.7 Feedrate with handwheel override (FD, FDA) Example Path specification: The grinding wheel oscillating in the Z direction is moved to the workpiece in the X direction using the handwheel. = ; The operator can then adjust the position of the tool until the spark generation is constant. When "Delete distance-to-go" is activated, the program goes to the next NC block and machining continues in NC mode. Requirements A handwheel must be assigned to the axes to be traversed for the handwheel override function. For the precise approach see HMI Operator's Guide. The number of handwheel pulses per graduated position is defined in machine data. Traverse path axes with handwheel override, FD The following preconditions apply to handwheel overrides for path axes: in the NC block with the programmed handwheel override * a G1, G2 or G3 motion command must be active, * exact stop G60 must be switched on, and * the path feedrate must be specified with G94 mm/min or inch/min. Feed override The feed override acts only on the programmed feed, not on the travel movement generated by the handwheel (except if feed override = 0). Example: N10 G1 X... Y... F500... N50 X... Y... FD=700 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 295 Feedrate Control and Spindle Motion 7.7 Feedrate with handwheel override (FD, FDA) The feedrate is accelerated to 700 mm/min in block N50. The path velocity can be increased or reduced according to the direction of rotation on the handwheel. Note It is not possible to traverse in the opposite direction. Handwheel travel with path default for positioning axes, FDA[axis]=0 In NC blocks with programmed FDA[axis]=0, the feed is set to zero in order that the program does not generate any travel movement. The programmed travel movement to the target position is now controlled exclusively by the operator rotating the handwheel. Example: N20 POS[V]=90 FDA[V]=0 The automatic travel movement is stopped in block N20. The operator can now move the axis manually using the handwheel. Direction of movement, travel velocity The axes accurately follow the path set by the handwheel in the direction of the leading sign. Depending on the direction of rotation, you can travel forwards or backwards - the faster you turn the handwheel, the higher the travel velocity. Traversing range The traversing range is limited by the starting position and the end point programmed with the positioning command. 296 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Feedrate Control and Spindle Motion 7.7 Feedrate with handwheel override (FD, FDA) Handwheel travel with velocity overlay, FDA[axis]=... In NC blocks with programmed FDA[...], the feedrate from the last programmed FA value is accelerated or decelerated to the value programmed under FDA. Starting from the current feedrate FDA, you can turn the handwheel to accelerate the programmed movement to the target position or delay it to zero. The values defined in the machine data are used for the maximum velocity. Example: N10 POS[U]=10 FDA[U]=100 POSA[V]=20 FDA[V]=150 Note With velocity override of path axes, you always control the path velocity with the handwheel of the 1st geometry axis. Traversing range The traversing range is limited by the starting position and the programmed end point. Manual override in automatic mode The manual override function in automatic mode for POS/A axes has two different effects that are analogous to Jog functions. 1. Path override: FDA [ax] = 0 The axis does not move. Handwheel impulses received for each IPO cycle are traversed directionally and path-specifically. When the target position is achieved, the axis decelerates. 2. Velocity override FDA [ax] > 0 The axis approaches the target position at the programmed axis speed. This enables target position to be reached even without handwheel impulses. Pulses received for each IPO cycle are converted to an accumulative change in the existing velocity. Impulses in the traversing direction increase the velocity. Velocity is limited to the maximum axis velocity MAX_AX_VELO. Impulses away from the traversing direction decrease the velocity. The minimum velocity is 0. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 297 Feedrate Control and Spindle Motion 7.8 Percentage acceleration override (ACC option) 7.8 Percentage acceleration override (ACC option) Function In critical program sections, it may be necessary to limit the acceleration to below the maximum values, e.g., to prevent mechanical vibrations from occurring. You can use the programmable acceleration override to change the acceleration for each path axis or spindle via a command in the NC program. The limit is effective for all types of interpolation. The values defined in the machine data determine the 100% acceleration. Programming ACC[axis]=... Or deactivate ACC[axis]=100, program start, reset Or ACC[SPI(spindle)]=... or ACC(S...) Parameters ACC SPI Axis Change in acceleration in percent for the specified path axis or change in speed for the specified spindle. Range of values: 1..200%, integers Converts the spindle number into an axis identifier; the transfer parameter must contain a valid spindle number. The spindle identifiers SPI(...) and S... are identical in terms of function. Channel axis name of the path axis, e.g., with X Note Please note that the maximum permissible values of the machine manufacturer can be exceeded with a higher acceleration rate. 298 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Feedrate Control and Spindle Motion 7.8 Percentage acceleration override (ACC option) Example N50 ACC[X]=80 Meaning: Traverse the axis slide in the X direction with only 80% acceleration. N60 ACC[SPI(1)]=50 Or ACC[S1]=50 Meaning: Accelerate or decelerate spindle 1 with only 50% of the maximum acceleration. The spindle identifiers SPI(...) and S... are identical in terms of function. Acceleration override programmed with ACC The acceleration override programmed with ACC[] is always taken into consideration on output in system variable $AA_ACC. Readout in the parts program and in synchronized actions takes place at different times in the NC processing run. In the part program The value described in the parts program is only considered in the system variables $AA_ACC as described in the parts program, if ACC was not changed in the meantime by a synchronized action. In synchronized actions The following thus applies: the value written to the synchronized action is only considered in the system variables $AA_ACC as written to the synchronized action if ACC was not changed in the meantime by a parts program. The defined acceleration can also be changed via synchronized actions. See /FBSY/, Synchronized Actions. Example: N100 EVERY $A_IN[1] DO POS[X]=50 FA[X]=2000 ACC[X]=140 The current acceleration value can be called with the system variables $AA_ACC[]. Machine data can be used to determine whether the ACC value last set should apply on RESET/parts program end or whether it should be set to 100%. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 299 Feedrate Control and Spindle Motion 7.9 Feedrate optimization for curved path sections (CFTCP, CFC, CFIN) 7.9 Feedrate optimization for curved path sections (CFTCP, CFC, CFIN) Function The programmed feedrate initially refers to the cutter center path when the G41/G42 override is activated for the cutter radius (cf. chapter "Frames"). When you mill a circle - the same applies to polynomial and spline interpolation - the extent of the change in feedrate at the cutter edge is such that it can have a considerable effect on the quality of the machined part. Example: you are milling a small external radius with a large tool. The path that the outside of the cutter needs to cover is much longer than the path along the contour. &RQWRXU 7RROSDWK You therefore work with a very small feedrate on the contour. In order to avoid effects like this, you should regulate the feedrate for curved contours accordingly. Programming CFTCP Constant feedrate on cutter center-point path, deactivate feedrate override Or CFC Constant feedrate only on contour Or CFIN Constant feedrate only on inside radii, no increment at outer radii 300 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Feedrate Control and Spindle Motion 7.9 Feedrate optimization for curved path sections (CFTCP, CFC, CFIN) Parameters Constant feedrate on cutter center-point path. The control keeps the feedrate constant, feed overrides are deactivated. CFTCP Constant feed at contour (tool edge). CFC This function is set as the default. Constant feed at tool edge for concave contours only, otherwise on the cutter center path. The feedrate velocity is reduced at inside radii. CFIN Example of milling In this example, the contour is first machined with a CFC-compensated feed. During finishing, the cutting base is additionally machined with CFIN. This prevents the cutting base from being damaged at outside radii by too high a feedrate. < ; N10 G17 G54 G64 T1 M6 N20 S3000 M3 CFC F500 G41 N30 G0 X-10 N40 Y0 Z-10 ;Infeed to first cutting depth N50 CONTOUR1 ;Subroutine call N40 CFIN Z-25 ;Infeed to second cutting depth N50 CONTOUR1 ;Subroutine call N60 Y120 N70 X200 M30 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 301 Feedrate Control and Spindle Motion 7.10 Spindle speed (S), direction of spindle rotation (M3, M4, M5) Constant feedrate on contour with CFC UD W H UDWH UHGXFHG LQFUHDVHG The feedrate is reduced for inside radii and increased for outside radii. This ensures a constant speed at the tool edge and thus at the contour. 7.10 Spindle speed (S), direction of spindle rotation (M3, M4, M5) Function The functions described are used to * switch the spindle on * specify the required direction of spindle rotation, and * define the counterspindle or an actuated tool as the master spindle, e.g., on turning machines. The following programming commands are valid for the master spindle: G95, G96/G961, G97/G971, G33, G331 (see also Chapter "Main spindle, master spindle"). Machine manufacturer Definition as master spindle is also possible via machine data (default). 302 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Feedrate Control and Spindle Motion 7.10 Spindle speed (S), direction of spindle rotation (M3, M4, M5) Programming M3 or M1=3 or M4 or M1=4 or M5 or M1=5 S... Or Sn=... Or SETMS(n) or SETMS Parameters M1=3 M1=4 M1=5 Spindle rotation clockwise/counterclockwise, spindle stop for spindle 1. Other spindles are defined according to M2=... M3=... M3 Direction of spindle rotation clockwise for master spindle M4 Direction of spindle rotation counterclockwise for master spindle M5 Spindle stop for master spindle S... Spindle speed in rpm for the master spindle Sn...= Spindle speed in rpm for spindle n SETMS(n) Set spindle specified in n as master spindle SETMS Reset to the master spindle defined in machine data Spindle speed S The speed specified with S... or S0=... applies to the master spindle. You specify the corresponding number for additional spindles: =..., S2=... Note Three S values can be programmed per NC block. Example of master spindle with work spindle S1 is the master spindle, S2 is the second spindle. The part is to be machined from two sides. To do this, it is necessary to divide the operations into steps. After the cut-off point, the synchronizing device (S2) takes over machining of the workpiece after the cut off. To do this, this spindle S2 is defined as the master spindle to which G95 then applies. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 303 Feedrate Control and Spindle Motion 7.10 Spindle speed (S), direction of spindle rotation (M3, M4, M5) 6 6 N10 S300 M3 ;Speed and direction of rotation ;for drive spindle = preset master spindle N20...N90 ;Machining of right side of workpiece N100 SETMS(2) ;S2 is now master spindle N110 S400 G95 F... ;Speed for new master spindle N120...N150 ;Machining of left side of workpiece N160 SETMS ;Switch back to master spindle S1 Preset M commands, M3, M4, M5 In a block with axis commands, the above mentioned functions are activated before the axis movements commence (basic settings on the control). Example: N10 G1 F500 X70 Y20 S270 M3 ;The spindle powers up to 270 rpm, then ;the movements are executed in X and Y. N100 G0 Z150 M5 ;Spindle stop before retraction motion in Z Note Machine data can be used to set when axis movements should be executed; either once the spindle has powered up to the setpoint speed, or immediately after the programmed switching operations have been traversed. Working with multiple spindles 5 spindles - master spindle plus 4 additional spindles - can be available in one channel at the same time. 304 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Feedrate Control and Spindle Motion 7.10 Spindle speed (S), direction of spindle rotation (M3, M4, M5) One of the spindles is defined in machine data as the master spindle. Special functions apply to this spindle, such as thread cutting, tapping, revolutional feed, dwell time. The numbers must be specified with the speed and the direction of rotation/spindle stop for the other spindles, e.g., for a second spindle and actuated tool. Example: N10 S300 M3 S2=780 M2=4 ;Master spindle 300 rpm, U/min, clockwise, ;2nd spindle 780 rpm, counterclockwise Deactivate SETMS By issuing SETMS without spindle parameter you can switchback to the master spindle defined in the machine data. Programmable switchover of master spindle, SETMS(n) You can define any spindle as the master spindle with a command in the NC program. Example: N10 SETMS (2) ;SETMS must be located in a separate block, ;spindle 2 is now the master spindle Note The speed specified with S and M3, M4, M5 now apply. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 305 Feedrate Control and Spindle Motion 7.11 Constant cutting rate (G96/G961/G962, G97/G971/G972, G973, LIMS, SCC[AX]) 7.11 Constant cutting rate (G96/G961/G962, G97/G971/G972, G973, LIMS, SCC[AX]) Function When G96/G961 is active, the spindle speed - depending on the respective workpiece diameter - is modified in order that the cutting rate S in m/min or ft/min remains constant at the tool edge. 6SLQGOHVSHHG 5HGXFH &RQVWDQW FXWWLQJUDWH 6SLQGOHVSHHG LQFUHDVHG This increases the uniformity and thus the surface quality of turned parts, and also protects the tool. The constant cutting rate, activated with G96/G961/G962 can be cancelled again with G97/G971/G972 with the active feed type (G94 linear feed or G95 revolutional feedrate). Using G973 a constant cutting rate (G96) is de-selected without speed limiting being activated as is the case for G97. If any of the G96/G961/G962 functions are active, SCC[axis] can be used to assign any geometry axis as a reference axis. If the reference axis changes, which will in turn affect the TCP (tool-center-point) reference position for the constant cutting rate, the resulting spindle speed will be attained via the set braking or acceleration ramp. The command LIMS specifies a maximum spindle speed limitation for the master spindle. 306 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Feedrate Control and Spindle Motion 7.11 Constant cutting rate (G96/G961/G962, G97/G971/G972, G973, LIMS, SCC[AX]) Programming Activate G96 or G96 S... Deactivate G97 or G973 without activating spindle speed limiting Activate/deactivate G961 or G971 with feed type as for G94 or G962 or G972 with feed type, either as for G94 or as for G95 Speed limitation of the master spindle in a block LIMS=value or LIMS[1]=value up to LIMS[4]=value in one block LIMS can be expanded for machines with selectable master spindles by adding four limitations in the parts program for each of these master spindles. The speed limitation programmed with G26 or specified via setting data cannot be exceeded with LIMS and activates an alarm if not observed. Assignment of the specified axis as a reference axis SCC[AX] can be programmed together with G96/G961/G962 or in isolation. Note The reference axis for G96/G961/G962 must be a geometry axis assigned to the channel at the time when SCC[AX] is programmed. SCC[AX] can also be programmed when any of the G96/G961/G962 functions are active. Parameters G96 Activate constant cutting rate with feedrate type as with G95 (revolutional feedrate in relation to a master spindle). G961= Activate constant cutting rate with feedrate type as with G94 (linear feedrate in relation to a linear/rotary axis). G962= Activate constant cutting rate with feedrate type as with G94 or G95. S... Cutting rate in m/min, always applies to master spindle Range of values. Range of values The range of values for the cutting rate S can be between 0.1 m/min ... 9999 9999.9 m/min. The precision can be set in the machine data. Note:At G70/G700: cutting rate is in feet/min. G97 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Deactivate constant cutting rate with feedrate type as with G95 (revolutional feedrate in relation to a master spindle). 307 Feedrate Control and Spindle Motion 7.11 Constant cutting rate (G96/G961/G962, G97/G971/G972, G973, LIMS, SCC[AX]) G971= Deactivate constant cutting rate with feedrate type as with G94 (linear feedrate in relation to a linear/rotary axis). G972= Deactivate constant cutting rate with feedrate type as with G94 or G95. G973= Deactivate constant cutting rate without activating speed limiting. LIMS= LIMS[1 to 4]=value The speed limitation is active if G96, G961 and G97 are active for the master spindle (LIMS does not work with G971). LIMS applies to the master spindle. Limitations of differing values can be programmed for up to four spindles within one block. Unless expansion is specified, LIMS will only remain effective for one master spindle. SCC[axis] Selective assignment of specified axis to G96/G961/G962 Value Spindle speed limitation in RPM Axis A reference axis is permitted to take the form of a geometry, channel or machine axis, otherwise alarm 14850 will be signaled. Example of speed limitation for the master spindle N10 SETMS (3) N20 G96 S100 LIMS=2500 ;Speed limitation at 2500 rpm or N60 G96 G90 X0 Z10 F8 S100 LIMS=444 ;Max. speed of the master spindle is 444 rpm Example of speed limitation for up to four spindles Speed limitations are defined for spindle 1 (supposed master spindle) and spindles 2, 3 and 4: N10 LIMS=300 LIMS[2]=450 LIMS[3]=800 LIMS[4]=1500 308 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Feedrate Control and Spindle Motion 7.11 Constant cutting rate (G96/G961/G962, G97/G971/G972, G973, LIMS, SCC[AX]) Example Y-axis assignment for face cutting with X axis N10 G18 LIMS=3000 T1 D1 ;Speed limitation at 3000 rpm N20 G0 X100 Z200 N30 Z100 N40 G96 S20 M3 ;Constant cutting rate 20 m/min, is ;dependent on X axis. N50 G0 X80 N60 G01 F1.2 X34 ;Face cutting in X at 1.2 mm/rev N70 G0 G94 X100 N80 Z80 N100 T2 D1 N110 G96 S40 SCC[Y] ... ;Y axis is assigned to G96 and G96 is activated, can be achieved in a ;single block. Constant cutting rate ;S40 m/min is dependent on Y axis. N140 Y30 N150 G01 F1.2 Y=27 ;Grooving in Y, feedrate F 1.2 mm/rev N160 G97 ;Constant cutting rate OFF N170 G0 Y100 Adjust feedrate F When G96 is active, G95 feedrate is automatically activated in mm/rev. Caution If G95 was not already active, you must specify a new feedrate F when you call G96 (e.g., convert F value from mm/min to mm/rev). Activate constant cutting rate, G96/G961 When G96/G961is first selected in the parts program, a constant cutting rate must be entered in m/min or ft/min; when the command is reselected, a new cutting rate may be entered. Upper speed limit LIMS If you machine a workpiece that varies greatly in diameter, it is advisable to specify a speed limit for the spindle. This prevents excessively high speeds with small diameters. LIMS functions as a speed limiter with G96/G961 and G97. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 309 Feedrate Control and Spindle Motion 7.11 Constant cutting rate (G96/G961/G962, G97/G971/G972, G973, LIMS, SCC[AX]) /,06 Note On loading the block into the main run, all programmed values are transferred into the setting data. Deactivate constant cutting rate, G97/G971/G973 After G97/G971, the control interprets an S word as a spindle speed in rpm again. If you do not specify a new spindle speed, the last speed set by G96/G961 is retained. * The G96/G961 function can also be deactivated with G94 or G95. In this case, the last programmed speed S is used for further machining operations. * G97 can be programmed without G96 beforehand. The function then has the same effect as G95; LIMS can also be programmed. * With G961 and G971, the constant cutting rate can be activated/deactivated. * Using G973, the constant cutting rate can be deactivated without activating a spindle speed limitation. Note The transverse axis must be defined in machine data. 310 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Feedrate Control and Spindle Motion 7.11 Constant cutting rate (G96/G961/G962, G97/G971/G972, G973, LIMS, SCC[AX]) Rapid traverse G0 With rapid traverse G0, there is no change in speed. Exception: if the contour is approached in rapid traverse and the next NC block contains a G1, G2, G3 ... path command, the speed is adjusted in the G0 approach block for the next path command. Axis replacement of the assigned channel axis The reference axis property for G96/G961/G962 is always assigned to a geometry axis. In the event of an axis replacement involving the assigned channel axis, the reference axis property for G96/G961/G962 is retained in the old channel. A geo-axis replacement will not affect how the geometry axis is assigned to the constant cutting rate. If the TCP reference position for G96/G961/G962 is affected by a geo-axis replacement, the spindle will attain the new speed via a ramp. If no new channel axis is assigned as a result of a geo-axis replacement, e.g., GEOAX(0, X), the spindle speed will be frozen in accordance with G97. Examples of GEOAX geo-axis replacement with reference-axis assignments using SCC Example 1 N05 G95 F0.1 N10 GEOAX(1, X1) ;Channel axis X1 becomes first geo axis N20 SCC[X] ;First geo axis (X) becomes reference axis for G96/G961/G962 N30 GEOAX(1, X2) ;Channel axis X2 becomes first geo axis N40 G96 M3 S20 ;Reference axis for G96 is channel axis X2 Example 2 N05 G95 F0.1 N10 GEOAX(1, X1) ;Channel axis X1 becomes first geo axis N20 SCC[X1] ;X1 and implicitly first geo axis (X) becomes reference axis ;for G96/G961/G962 N30 GEOAX(1, X2) ;Channel axis X2 becomes first geo axis N40 G96 M3 S20 ;Reference axis for G96 is X2 or X, no alarm Example 3 N05 G95 F0.1 N10 GEOAX(1, X2) ;Channel axis X2 becomes first geo axis N20 SCC[X1] ;X1 is not a geo axis, compensation-block alarm 14850 Example 4 N05 G0 Z50 N10 X35 Y30 N15 SCC[X] ;Reference axis for G96/G961/G962 is X N20 G96 M3 S20 ;Constant cutting rate at 10 mm/min ON N25 G1 F1.5 X20 ;Face cutting in X at 1.5 mm/rev N30 G0 Z51 N35 SCC[Y] ;Reference axis for G96 is Y, reduction in spindle speed (Y30) N40 G1 F1.2 Y25 ;Face cutting in Y at 1.2 mm/rev References /FB1/Function Manual Basic Functions; Transverse Axes (P1) and Feedrates (V1). Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 311 Feedrate Control and Spindle Motion 7.12 Constant grinding wheel peripheral speed (GWPSON, GWPSOF) 7.12 Constant grinding wheel peripheral speed (GWPSON, GWPSOF) Function With the function "Constant grinding wheel peripheral speed" (=GWPS), you can set the grinding wheel speed such that, taking account of the current radius, the grinding wheel peripheral speed remains constant. Programming GWPSON(T No.) Or GWPSOF(T No.) S... S1... Parameters GWPSON(T No.) Select constant grinding wheel peripheral speed (GWPS) It is only necessary to specify the T number if the tool with this T number is not active. GWPSOF(T No.) Deselect GWPS; it is only necessary to specify the T number if the tool with this T number is not active. S... Program GWPS S1... S...: PWGS for master spindle; S1...: PWGS for spindle 1 GWPS Peripheral speed value in m/s or ft/s The GWPS can only be selected for grinding tools (types 400-499). Example of grinding tools with constant grinding wheel peripheral speed A constant grinding wheel peripheral speed is to be used for grinding tools T1 and T5. T1 is the active tool. N20 T1 D1 ;Select T1 and D1 N25 S1=1000 M1=3 ;1000 rpm for spindle 1 N30 S2=1500 M2=3 ;1500 rpm for spindle 2 ... N40 GWPSON ;Selection of GWPS for active tool N45 S1 = 60 ;Set GWPS for active tool to 60 m/s ... N50 GWPSON(5) ;GWPS selection for tool 5 (2nd spindle) N55 S2 = 40 ;Set GWPS for spindle 2 to 40 m/s ... 312 N60 GWPSOF ;Deactivate GWPS for active tool N65 GWPSOF(5) ;Switch off GWPS for tool 5 (spindle 2) Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Feedrate Control and Spindle Motion 7.13 Programmable spindle speed limitation (G25, G26) Tool-specific parameters In order to activate the function "Constant peripheral speed", the tool-specific grinding data $TC_TPG1, $TC_TPG8 and $TC_TPG9 must be set accordingly. When the GWPS function is active, even online offset values (= wear parameters; cf. "Grinding-specific tool monitoring in the parts program TMON, TMOF" or PUTFTOC, PUTFTOCF) must be taken into account when changing speed. Select GWPS: GWPSON, program GWPS After selecting the GWPS with GWPSON, each subsequent S value for this spindle is interpreted as a grinding wheel peripheral speed. Selection of grinding wheel peripheral speed with GWPSON does not cause the automatic activation of tool length compensation or tool monitoring. The GWPS can be active for several spindles on a channel with different tool numbers. If GWPS is to be selected for a new tool on a spindle where GWPS is already active, the active GWPS must first be deselected with GWPSOF. Deactivate GWPS GWPSOF When GWPS is deselected with GWPSOF, the last speed to be calculated remains valid as the setpoint. GWPS programming is reset at the end of the parts program or on RESET. Query active GWPS $P_GWPS[spindle no.] This system variable can be used to query from the parts program whether the GWPS is active for a specific spindle. TRUE: GWPS active. FALSE: GWPS is inactive. 7.13 Programmable spindle speed limitation (G25, G26) Function You can use a command in the NC program to change the minimum and maximum spindle speeds defined in the machine data and setting data. It is possible to program spindle speed limitations for all spindles on the channel. Programming G25 S... S1=... S2=... Or G26 S... S1=... S2=... A maximum of three spindle speed limitations can be programmed for each block. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 313 Feedrate Control and Spindle Motion 7.14 Multiple feedrate values in one block (F.., ST=.., SR=.., FMA.., STA=.., SRA=..) Parameters G25 Lower spindle speed limitation G26 Upper spindle speed limitation S S1 S2=...=... Minimum or maximum spindle speed Range of values Value assignment for the spindle speed can be between rpm ... 9999 9999.9 rpm. Caution A spindle speed limitation programmed with G25 or G26 overwrites the speed limitations in the setting data and thus remains stored after the end of the program. Examples N10 G26 S1400 S2=350 S3=600 ;Upper speed limitation for master spindle, ;spindle 2 and spindle 3 Maximum possible spindle speed limitations within a block 7.14 LIMS[1]=500 LIMS[2]=600 LIMS[3]=700 LIMS[3]=800 ;Master spindle speed limitations ;Maximum for 4 spindles within a block G25 S1=1 S2=2 S3=3 G26 S1=1000 S2=2000 S3=3000 ; Lower and upper speed limit ;Maximum of 3 spindle limitations within a block Multiple feedrate values in one block (F.., ST=.., SR=.., FMA.., STA=.., SRA=..) Function The "Several feedrates in one block" function can be used independent of external analog and/or digital inputs to activate * Different feedrates of an NC block, * dwell time, and * Retraction in synchronism with the movement. The HW input signals are combined in one input byte. 314 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Feedrate Control and Spindle Motion 7.14 Multiple feedrate values in one block (F.., ST=.., SR=.., FMA.., STA=.., SRA=..) Programming F2= to F7= Multiple path motions in 1 block ST= SR= Or FMA[2,x]= to FMA[7,x]=Multiple axial motions in 1 block STA= SRA= Parameters F2=... to F7=...== In addition to the path feed, you can program up to 6 further feedrates in the block; non-modal ST=... Dwell time (for grinding technology: sparking-out time); non modal SR=... Return path; non modal. The unit for the retraction path refers to the current valid unit of measurement (mm or inch). FMA[2,x]=... to FMA[7,x]=... In addition to the path feed, you can program up to 6 further feedrates per axis in the block; non modal STA=... Axial dwell time (for grinding technology: sparking-out time); nonmodal SRA=... Axial return path; non-modal FA, FMA and F value The axial feedrate (FA or FMA value) or path feedrate (F value) corresponds to 100% feedrate. You can use this function to realize feedrates that are smaller than or equal to the axial feedrate or the path feedrate. Note If feedrates, dwell time or return path are programmed for an axis on account of an external input, this axis must in this block must not be programmed as POSA axis (positioning axis over multiple blocks). Look Ahead is also active for multiple feedrates in one block. In this way, the current feedrate is restricted by the Look Ahead value. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 315 Feedrate Control and Spindle Motion 7.14 Multiple feedrate values in one block (F.., ST=.., SR=.., FMA.., STA=.., SRA=..) Example of programming path motion The path feed is programmed under the address F and remains valid until an input signal is present. The numerical expansion indicates the bit number of the input that activates the feedrate when changed: F7=1000 ;7 corresponds to input bit 7 F2=20 ;2 corresponds to input bit 2 ST=1 ;Dwell time (s) input bit 1 SR=0.5 ;Return path (mm) input bit 0 Example of programming axial motion The axial path feed is programmed under the address FA and remains valid until an input signal is present. FMA[7,x]= to FMA[2,x]= can be used to program up to 6 further feeds per axis in the block. The first expression in the square brackets indicates the bit number of the input; the second the axis for which the feedrate is to apply FMA[3, x]=1000 ;Axial feedrate with the value 1000 for X axis, 3 ;corresponds to input bit 3 Example of axial dwell time and return path Dwell time and return path are programmed under the following additional addresses: STA[x]=... ;Axial dwell time (s) input bit 1 SRA[x]=... ;Axial return path (mm) input bit 0 If input bit 1 is activated for the dwell time or bit 0 for the return path, the distance to go for the path axes or the relevant single axes is deleted and the dwell time or return started. Example of several operations in one block N20 T1 D1 F500 G0 X100 ;Initial setting N25 G1 X105 F=20 F7=5 F3=2.5 F2=0.5 ST=1.5 SR= 0.5 ;Normal feedrate with F, roughing with F7, finishing with ;F3, smooth-finishing with F2, dwell time 1.5 s ;return path 0.5 mm N30 ... ... 316 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Feedrate Control and Spindle Motion 7.15 Blockwise feed (FB...) 7.15 Blockwise feed (FB...) Function You can use the function "Non-modal feedrate" to define a separate feedrate for a single block. The address FB is used to define the feedrate only for the current block. After this block, the previously active modal feedrate is active. Programming FB= Feed motion only in one block Parameter FB=...= Instead of the modal feedrate active in the previous block, you can program a separate feedrate for this block; in the block that follows, the previously active modal feedrate applies. The programmed value of FB= must be greater than zero. Feed value The address FB is used to define the feedrate only for the current block. After this block, the previously active modal feedrate is active. The feedrate is interpreted according to the active feedrate type: * G94: feedrate in mm/min or degrees/min * G95: feedrate in mm/rev or inch/rev * G96: Constant cutting rate References: /FB1/Function Manual Basic Functions; Feedrates (V1) Note If no traversing motion is programmed in the block (e.g., computation block), the FB has no effect. If no explicit feed for chamfering/rounding is programmed, then the value of FB also applies for any contour element chamfering/rounding in this block. Feedrate interpolations FLIN, FCUB, etc., are also possible without restriction. Simultaneous programming of FB and FD (handwheel travel with feed overlay) or F (modal path feedrate) is not possible. Example Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 317 Feedrate Control and Spindle Motion 7.15 Blockwise feed (FB...) N10 G0 X0 Y0 G17 F100 G94 ;Initial setting N20 G1 X10 ;Feedrate 100 mm/min N30 X20 FB=80 ;Feedrate 80 mm/min N40 X30 ;Feedrate is 100 mm/min again N50 ... ... 318 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 8 Tool offsets 8.1 General notes 8.1.1 Tool offsets When writing a program, it is not necessary to specify the cutter diameter, the tool point direction of the turning tool (left/right-handed turning tools) or tool length. You program the workpiece dimensions directly, for example, following the production drawing. When machining a workpiece, the tool paths are controlled according to the tool geometry such that the programmed contour can be machined using any tool. 7RROSDWK &RQWRXU The control corrects the traverse path You enter the tool data separately in the tool table on the control. All you need to do is call the required tool with its offset data in the program. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 319 Tool offsets 8.1 General notes 3URJUDPPHGFRQWRXU &RUUHFWHG 7RROSDWK During program execution, the control fetches the offset data from the tool files and corrects the tool path individually for different tools. Enter tool offsets into the offset memory In the offset memory enter the following: * Geometric dimensions based on wear: length, radius. * Tool type with the tool parameters for drill, milling tool and grinding, turning or special tools * Length of cutting edge 8.1.2 Tool offsets in the control's offset memory Which tool offsets are stored in the control's offset memory? In the offset memory enter the following: * Geometrical dimensions: length, radius. 320 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.1 General notes /HQJWK ) 5DGLXV They consist of several components (geometry, wear). The control computes the components to a certain dimension (e.g., overall length 1, total radius). The respective overall dimension becomes active when the offset memory is activated. The way in which these values are computed in the axes is determined by the tool type and the current plane G17, G18, G19. * Tool type The type determines which geometry data are needed and how they are calculated (drill or milling tool or turning tool). * Cutting-edge position Tool parameters The following section "List of tool types" describes the individual tool parameters on the display. The relevant tool parameters must be entered in the entry fields with "DP...". Notice Values that have been entered once in the offset memory are included in the processing for each tool called. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 321 Tool offsets 8.1 General notes ) / 3 7RROWLS 5 5DGLXV 6 &XWWLQJHGJHFHQWHU 56 3 / Any tool parameters that are not required must be set to "zero". Description Tool length compensation This value compensates for the differences in length between the tools used. The tool length is the distance between the toolholder reference point and the tip of the tool. F F F F This length is measured and entered in the control together with definable wear values. From this data, the control calculates the traversing movements in the infeed direction. 322 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.1 General notes Note The compensation value of the tool length depends on the spatial orientation of the tool. See also chapter "Tool orientation and tool length compensation" for more information. Tool radius compensation The contour and tool path are not identical. The cutter or tool nose radius center must travel along a path that is equidistant from the contour. To do this, the programmed tool center point path is displaced by an amount that depends on the radius and the direction of machining and such that the tool nose travels exactly along the desired contour. The control fetches the required radii during program execution and calculates the tool path from these values. (TXLGLVWDQWSDWK (TXLGLVWDQWSDWK Notice The tool radius compensation acts according to default setting CUT2D or CUT2DF. You will find more information later in this chapter. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 323 Tool offsets 8.2 List of tool types 8.2 List of tool types Codings of tool types The individually coded tool types are divided up into the following groups depending on the technology used: 1. Group with type 1xy milling tools 2. Group with type 2xy drills 3. Group with type 3xy reserved 4. Group with type 4xy grinding tools 5. Group with type 5xy turning tools 6. Group with type 6xy reserved 7. Group with type 7xy special tools such as slotting saw Codings of tool types for milling tools Group with type 1xy (milling tool): 100 Milling tool according to CLDATA 110 Ball end mill (cylindrical die sinker) 111 Ball end mill (tapered die sinker) 120 End mill (without corner rounding) 121 End mill (with corner rounding) 130 Angle head cutter (without corner rounding) 131 Angle head cutter (with corner rounding) 140 Face milling 145 Thread cutter 150 Side mill 151 Saw 155 Bevel cutter (without corner rounding) 156 Bevel cutter (with corner rounding) 157 Conical die milling cutter 160 Drill and thread milling cutter 324 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.2 List of tool types (QWULHVLQ 7RROSDUDPHWHUV ) ) '3 [\ '3 *HRPHWU\OHQJWK /HQJWK$GDSWHU /HQJWK '3 *HRPHWU\UDGLXV /HQJWK7RWDO '3 $GDSWHUOHQJWK :HDUYDOXHV DV UHTXLUHG 6HWUHPDLQLQJ YDOXHVWR )5HIHUHQFHSRLQWDGDSWHU ZLWKWRROLQVHUWHG WRROKROGHUUHIHUHQFHSRLQW (IIHFW * /HQJWKLQ= 5DGLXVLQ;< )7RROKROGHU /HQJWKLQ< 5HIHUHQFHSRLQW 5DGLXVLQ=; /HQJWKPP; * 5DGLXVLQ<= * $IL[HGDVVLJQPHQWLVSRVVLEOHIRU*** HJOHQJWK ;OHQJWK =OHQJWK < VHH)%:7RROFRPSHQV '3 [\ '3 *HRPHWU\OHQJWK *HRPHWU\UDGLXV '3 '3 '3 '3 7RROEDVH GLPHQVLRQ /HQJWK ) ) %DVHOHQJWK %DVHOHQJWK %DVHOHQJWK 7RROEDVH GLPHQVLRQ /HQJWK (QWULHVLQ 7RROSDUDPHWHUV 7RROEDVH GLPHQVLRQ /HQJWK )7RROKROGHUUHIHUHQFHSRLQW )7RROKROGHUUHIHUHQFHSRLQW 5DGLXV (IIHFW * :HDUYDOXHVDFFWR UHTXLUHPHQWV 6HWUHPDLQLQJ YDOXHVWR * * /HQJWKPP= /HQJWKFP< /HQJWKLQ; 5DGLXV75&LQ;< /HQJWKLQ< /HQJWKLQ; /HQJWKLQ= 5DGLXV75&LQ=; /HQJWKPP; /HQJWKLQ= /HQJWKLQ< 5DGLXV75&LQ<= = < ; < ; = ; < = $IL[HGDVVLJQPHQWLVSRVVLEOHIRU*** HJOHQJWK ;OHQJWK GLJLW@ ' ' ' ' * Tabulated D No.: D1 ... D8 7 ' ' ' ' 7 ' 7 ' 7 ' ' ' 7 ' ' ' ' 7 ' ' 2. Tool selection with tool management * Free selection of D No. (flat D No.) relative to cutting edges * Fixed assignment of D No. to the cutting edges The tool only becomes active with M06 (incl. corresponding D No.). 332 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.3 Tool selection/tool call T Programming Tx or T=x or Ty=X or T0= or M06F2=... to F7=... Parameter Tx or T=x or Ty=x Tool selection with T no. x x stands for T no.: 0-32000 T0= Tool deselection M06 Tool change, then tool T... and tool offset D are active Number of tools: 1200 (depending on the machine manufacturer's configuration) Machine manufacturer The effect of the T number call is defined in machine data. Please refer to the machine manufacturer's configuration. Explanation The free selection of the D No., "Flat D numbers", is used when tool management is done outside the NC. In this case, the D numbers are created with the corresponding tool compensation blocks without assignment to tools. T can continue to be programmed in the parts program. However, this T has no reference to the programmed D number. Example: Circular magazine with 12 locations and 12 single-edge tools. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 333 Tool offsets 8.3 Tool selection/tool call T 7' 7' 7' 7' Machine manufacturer T can or cannot be programmed in the parts program, depending on the setting in MD 18102. Creating a new D number Creating a new D number with the associated tool compensation blocks is performed exactly as for the normal D number via tool parameters $TC_DP1 to $TC_DP25. The T number need not be entered any more. Machine manufacturer The type of D number management is defined in the machine data. There are two settings available for programming D numbers in the "flat D number structure": * Flat D number structure with direct programming * Flat D number structure with indirect programming 334 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.4 Tool offset D 8.4 Tool offset D Function It is possible to assign between 1 and 8 (12) tool noses per tool with different tool offset blocks to a specific tool. This allows you to define various tool noses for one tool, which you can call as required in the NC program. Different offset values could be used, for example, for the left and right tool nose of a grooving tool. N10 T2 N20 G0 N30 G1 X35 Z-20 D1 X10 N40... D6 Z-5 X 10 -20 -5 Z When D is called, the tool length offset for a specific tool nose is activated. If D0 is programmed, the offsets for the tool are ineffective. Tool length offsets take immediate effect when the D number is programmed. If no D word is programmed, the default setting from the machine data is valid for tool change. A tool radius offset must also be activated by G41/G42. Programming D... or D0= Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 335 Tool offsets 8.4 Tool offset D Parameter Dx Tool offset number: Without WZV 1... 8 or with WZV 1...12 x x stands for the D No.: 0-32000 D0= Tool offset deselection, no offsets active. D0 is preset by default after control is powered up. Note If you do not enter a D number, you will be working without a tool offset. Machine manufacturer Machine manufacturer default setting (e.g., D1, which means no D programming) is activated/selected by means of tool change (M06) D1. The tools are activated with T programming (see machine manufacturer's specifications). The offset is applied with the first programmed traverse of the respective length offset axis. Caution The modified values only become active the next time the T or D number is programmed. The required D number must always be programmed before the tool length offset can be selected. The tool length offset is also effective if set in the machine data. Example of turning Tool change with T command N10 T1 D1 ;Tool T1 is changed and activated with ;associated D1 N11 G0 X... Z... ;The length offsets are traversed N50 T4 D2 ;Load tool T4, D2 from T4 is active ... N70 G0 Z... D1 336 ;Other cutting edge D1 is activated for tool T4 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.5 Tool selection T with tool management 8.5 Tool selection T with tool management Function Tool selection T with tool management is illustrated in the sample magazine with 1 to 20 locations. Initial conditions when calling the tool Note When calling the tool, the 1. tool offset values stored under a D number must be activated. 2. The appropriate working plane (system setting: G18) must be programmed. This ensures that the length compensation is assigned to the correct axis. Machine manufacturer Tool management: See machine manufacturer's configuration. Important It is important to ensure that the machine data for "Error response for programmed tool change" is expanded by bit 7. Tool magazine If the selected magazine location in a tool magazine is not occupied, the tool command has the same effect as T0. Selecting the empty magazine location can be used to position the empty location. Sample magazine with 1 to 20 locations A magazine has locations 1 to 20: Location 1 occupied by drilling tool, duplo no.=1, T15, disabled Location 2 is not occupied Location 3 is occupied by drilling tool, duplo no.=2, T10, enabled Location 4 is occupied by drilling tool, duplo no.=3, T1, active Locations 5 to 20 are not occupied Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 337 Tool offsets 8.5 Tool selection T with tool management Programming N10 T1 or T=1: 1. Magazine location 1 is scrutinized and the tool identifier is ascertained. 2. This tool is locked and therefore cannot be used. 3. A tool search for T="drill" is initiated in accordance with the search method set. Exception: "Find the active tool; or else, select the one with the next highest duplo number". 4. "Drill" tool with duplo number 3 (in magazine location 4) is identified as the tool that can be used. This completes the tool selection process and the tool change is initiated: 5. If the "Select the first available tool from the group" search method is employed, the sequence must first be defined within the tool group being loaded. Group T10 is loaded, as T15 is locked. 6. On completion of tool search strategy "Take the first tool with status "active" from group", T1 is loaded. 338 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.5 Tool selection T with tool management 8.5.1 Turning machine with circular magazine (T selection) Function The tools must be assigned unique names and numbers for identification purposes. Below it will be demonstrated how to uniquely define the parameters for the tool management option on a turning machine with circular magazine. Machine manufacturer Tool management: See machine manufacturer's configuration. Programming The following sequence usually applies: T = location Or T = identifier D... Tool offset number: 1...32000 (max., see machine manufacturer's specifications) Parameters T = location or identifier Location or identifier, T triggers the tool change. Extended address, tool for spindle 2 T2 = identifier T0 D = offset D0 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Magazine location not occupied 1 to n (n 32000) If the relative D No. structure with internal reference to the associated tools is used, replacement tool management and monitoring function are possible. no offsets active! 339 Tool offsets 8.5 Tool selection T with tool management 8.5.2 Milling machine with chain magazine (T selection) Function The tools must be assigned unique names and numbers for identification purposes. Below it will be demonstrated how to uniquely define the parameters for the tool management option on a milling machine with chain magazine. Machine manufacturer Tool management: Please refer to the machine manufacturer's configuration. Programming The following sequence usually applies: T = identifier or T = number M06 triggers the tool change D = offset Tool edge number 1 to n (n 12) Tool selection With integrated tool management (within the NC) Relative D no. structure With internal reference made to the associated tools (e.g., tool management and monitoring function) Without integrated tool management (external to NC) Flat D no. structure Without internal reference made to the associated tools Selection * With integrated tool management (inside NC) relative D no. structure with internal reference to the associated tools (e.g., replacement tool management and monitoring function possible) * Without integrated tool management (outside NC) flat D no. structure without internal reference to associated tools. 340 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.6 Tool offset call D with tool management Note When calling the tool, the 1. tool offset values stored under a D number must be activated. 2. The appropriate working plane (system setting: G17) must be programmed. This ensures that the length compensation is assigned to the correct axis. If the selected magazine location in a tool magazine is not occupied, the tool command has the same effect as T0. Selecting the empty magazine location can be used to position the empty location. Machine manufacturer Tool management: See machine manufacturer's configuration. Tool magazine If the selected magazine location in a tool magazine is not occupied, the tool command has the same effect as T0. Selecting the empty magazine location can be used to position the empty location. 8.6 Tool offset call D with tool management 8.6.1 Turning machine with circular magazine (D call) Programming The following programming sequence usually applies: T = location Or T = identifier T triggers the tool change D... Tool offset number: 1...32000 (max., see machine manufacturer's specifications) D0: no offsets active! Direct, absolute programming Programming is performed with the D number structure. The compensation blocks to be used are called directly via their D number. Assignment of the D number to a specific tool does not take place in the NC kernel. Machine manufacturer Direct programming is defined by machine data. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 341 Tool offsets 8.6 Tool offset call D with tool management Example of turning machine with circular magazine $MC_TOOL_CHANGE_MODE=0 ;MD20270 CUTTING_EDGE_DEFAULT = 1 ... D92 ;Traverse with tool offsets from D92 ... T17 ;Select T17, traverse with tool offsets from D92 ... D16 ;Traverse with tool offsets from D16 ... D32000 ;Traverse with tool offsets from D32000 ... T29000500 ;Select T29000500, ;traverse with tool offsets from D32000 ... D1 8.6.2 ;Traverse with tool offsets from D1 Milling machine with chain magazine (D call) Function It is possible to assign between 1 and 12 tool noses with different tool compensation blocks to a specific tool. When D is called, the tool length compensation for a specific tool nose is activated. When D0 is programmed, offsets for the tool are ineffective. If no D word is programmed, the default setting from the machine data is valid for tool change. Tool length compensations take immediate effect when the D number is programmed. A tool radius offset must also be activated by G41/G42. Machine manufacturer Tool management: Please refer to the machine manufacturer's instructions. Programming The following sequence usually applies: T = identifier or T = number M06 triggers the tool change D = offset Tool edge number 1 to n (n 12) Tool selection With integrated tool management (within the NC) 342 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.7 Activating the active tool offset immediately Relative D no. structure With internal reference made to the associated tools (e.g., tool management and monitoring function) Without integrated tool management (external to NC) Flat D no. structure Without internal reference made to the associated tools Selection * With integrated tool management (inside NC) relative D no. structure with internal reference to the associated tools (e.g., replacement tool management and monitoring function possible) * Without integrated tool management (outside NC) flat D no. structure without internal reference to associated tools Machine manufacturer Tool management: See machine manufacturer's specifications. 8.7 Activating the active tool offset immediately Function MD $MM_ACTIVATE_SEL_USER_DATA can be used to define that the active tool offset can be activated immediately if the parts program is in "stop" mode. See /FB1/Function Manual Basic Functions; Axes, Coordinate Systems, Frames (K2) Danger The offset is applied the next time the parts program is started. 8.8 Tool radius compensation (G40, G41, G42) Function When tool radius compensation is active, the control automatically calculates the equidistant tool paths for different tools. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 343 Tool offsets 8.8 Tool radius compensation (G40, G41, G42) (TXLGLVWDQWSDWK (TXLGLVWDQWSDWK You can generate equidistant paths with OFFN, e.g., for rough-finishing. Programming G40 Or G41 Or G42 or OFFN= Parameters 344 G40 Deactivate tool radius compensation. G41 Activate tool radius compensation; tool operates in machining direction to the left of the contour. G42 Activate tool radius compensation, tool operates in machining direction to the right of the contour. OFFN= Allowance on the programmed contour (normal contour offset). Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.8 Tool radius compensation (G40, G41, G42) Example 1 milling < &RPSHQVDWLRQ RQ; 1 &RPSHQVDWLRQ RQ< 1 ; N10 G0 X50 T1 D1 N20 G1 G41 Y50 F200 N30 Y100 Only tool length compensation is activated in block N10. X50 is approached without compensation. In block N20, the radius compensation is activated, point X50/Y50 is approached with compensation. Example 2 milling The "conventional" approach: Call tool, load tool, activate working plane and tool radius compensation. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 345 Tool offsets 8.8 Tool radius compensation (G40, G41, G42) < < ; = N10 G0 Z100 ;Retract to tool change point N20 G17 T1 M6 ;Change tool N30 G0 X0 Y0 Z1 M3 S300 D1 ;Call tool offset values, ;select length compensation N40 Z-7 F500 ;Tool infeed N50 G41 X20 Y20 ;Activate tool radius compensation, tool ;operates on left-hand side of contour N60 Y40 ;Mill contour N70 X40 Y70 N80 X80 Y50 N90 Y20 N100 X20 N110 G40 G0 Z100 M30 346 ;Retract tool, end of program Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.8 Tool radius compensation (G40, G41, G42) Example 1 turning X O 20 O 100 20 20 N20 N30 N40 N50 Z 1 T1 D1 G0 X100 Z20 G42 X20 Z1 G1 Z-20 F0.2 Only tool length compensation is activated in block N20. X100 Z20 is approached without compensation in block N30. In block N40, the radius compensation is activated, point X20/Z1 is approached with compensation. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 347 Tool offsets 8.8 Tool radius compensation (G40, G41, G42) Example 2 turning r ; 5 5 5 5 5 = %_N_1001_MPF ;Program name N5 G0 G53 X280 Z380 D0 ;Start point N10 TRANS X0 Z250 ;Zero offset N15 LIMS=4000 ;Speed limitation (G96) N20 G96 S250 M3 ;Select constant feed N25 G90 T1 D1 M8 ;Select tool and offset N30 G0 G42 X-1.5 Z1 ;Activate tool with tool radius compensation N35 G1 X0 Z0 F0.25 N40 G3 X16 Z-4 I0 K-10 ;Rotate radius 10 N45 G1 Z-12 N50 G2 X22 Z-15 CR=3 ;Rotate radius 3 N55 G1 X24 N60 G3 X30 Z-18 I0 K-3 ;Rotate radius 3 N65 G1 Z-20 N70 X35 Z-40 N75 Z-57 N80 G2 X41 Z-60 CR=3 ;Rotate radius 3 N85 G1 X46 N90 X52 Z-63 N95 G0 G40 G97 X100 Z50 M9 348 ;Deselect tool radius compensation and ;approach tool change location Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.8 Tool radius compensation (G40, G41, G42) N100 T2 D2 ;Call up tool and select offset N105 G96 S210 M3 ;Select constant cutting speed N110 G0 G42 X50 Z-60 M8 ;Activate tool with tool radius compensation N115 G1 Z-70 F0.12 ;Rotate diameter 50 N120 G2 X50 Z-80 I6.245 K-5 ;Rotate radius 8 N125 G0 G40 X100 Z50 M9 ;Retract tool and ;deselect tool radius compensation N130 G0 G53 X280 Z380 D0 M5 ;Move to tool change location N135 M30 ;Program end Description The control requires the following information in order to calculate the tool paths: * Tool no. T/edge no. D * Direction of machining G41, G42 * Working plane G17 to G19 Tool no. T/edge no. D Where appropriate, a tool offset number D is also required. The distance between the tool path and the workpiece contour is calculated from the cutter and tool edge radii and the tool point direction parameters. G41 G41 G42 G42 G41 With flat D number structure it is only necessary to program the D number. Direction of machining G41, G42 From this information, the control detects the direction, in which the tool path is to be displaced. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 349 Tool offsets 8.8 Tool radius compensation (G40, G41, G42) Note A negative offset value is the same as a change of offset side (G41, G42). You can generate equidistant paths with OFFN, e.g., for rough-finishing. Working plane G17 toG19 From this information, the control detects the plane and therefore the axis directions for compensation. 5DGLXV WK V /H QJ QJ /H ; GLX 5D V GLX 5D = < WK Example of milling cutters N10 G17 G41 ... The tool radius compensation is performed in the X/Y plane, the tool length compensation is performed in the Z direction. Note On 2-axis machines, the tool radius compensation is only possible in "real" planes, in general with G18 (see tool length compensation table). Tool length compensation The wear parameter assigned to the diameter axis on tool selection can be defined as the diameter value (MD). This assignment is not automatically altered when the plane is subsequently changed. 350 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.8 Tool radius compensation (G40, G41, G42) To do this, the tool must be selected again after the plane has been changed. Turning: /HQJWK < ; /HQJWK 5DGLXV 5 DG LX V /HQJWK /H QJ WK = Using NORM and KONT you can determine the tool path for activation/deactivation of compensation mode (see chapter "Contour approach and retraction", NORM, KONT, G450, G451). Caution Activation/deactivation of tool radius compensation A travel command must be programmed with G0 or G1 in an NC block with G40, G41 or G42. This travel command must specify at least one axis in the selected working plane. If you only specify one axis on activation, the last position on the second axis is added automatically and traversed with both axes. The two axes must be active as GEOAX in the channel. This can be achieved by programming them with GEOAX. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 351 Tool offsets 8.8 Tool radius compensation (G40, G41, G42) Intersection Select intersection with SD 42496: CUTCOM_CLSD_CONT FALSE: If two intersections appear on the inside when offsetting an (virtually) closed contour, which consists of two circle blocks following on from one another, or from one circle block and one linear block, the intersection positioned closest to the end of block on the first partial contour is selected, in accordance with standard procedure. A contour is deemed to be (virtually) closed if the distance between the starting point of the first block and the end point of the second block is less than 10% of the effective compensation radius, but not more than 1000 path increments (equals 1 mm with three decimal places). TRUE: In the same situation as described above, the intersection positioned on the first partial contour closer to the block start is selected. Changing the direction of compensation G41/G42, G42/G41 can be programmed without an intermediate G40. Changing the working plane It is not possible to change the working plane G17 to G19 when G41/G42 is active. G41 G42 352 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.8 Tool radius compensation (G40, G41, G42) Changing the offset number D The offset number D can be changed in compensation mode. A modified tool radius is active with effect from the block, in which the new D number is programmed. Caution The radius change or compensation movement is performed across the entire block and only reaches the new equidistance at the programmed end point. 1&EORFNZLWKPRGLILHGUDGLXVFRUUHFWLRQ 7UDYHUVHSDWK SDWK 3URJUDPPHG With linear movements, the tool travels along an inclined path between the starting point and end point; with circular interpolation spiral movements are produced. Changing the tool radius This can be achieved, for example, using system variables. The execution is the same as for changes in the D number. Caution The modified values only take effect the next time T or D is programmed. The change only applies with effect from the next block. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 353 Tool offsets 8.8 Tool radius compensation (G40, G41, G42) Note Compensation mode Compensation mode may only be interrupted by a certain number of consecutive blocks or M commands, which do not contain any travel commands or positional parameters in the compensation plane: Standard 3. Machine manufacturer The number of consecutive blocks or M commands can be set in machine data 20250 (see machine manufacturer). Note A block with a path distance of zero also counts as an interruption! 354 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.9 Contour approach and retraction (NORM, KONT, KONTC, KONTT) 8.9 Contour approach and retraction (NORM, KONT, KONTC, KONTT) Function You can use these functions to adapt the approach and retraction paths, for example, according to the desired contour or shape of the blanks. Only G1 blocks are permitted as original approach/retraction blocks for the two functions KONTC and KONTT. The control replaces these by polynomials for the relevant approach/retraction path. Programming NORM Or KONT Or KONTC Or KONTT Parameters NORM The tool travels directly in a straight line and is positioned perpendicular to the contour point KONT The tool traverses the contour point according to the programmed corner behavior G450 or G451. KONTC Tool reaches/leaves contour point with continuous curvature. Continuous curvature includes continuous tangent. See below. With continuous curvature means at constant acceleration. KONTT Tool reaches/leaves contour point along continuous tangent. Generally, continuous tangent is not continuous acceleration. KONTC The contour point is approached/exited with a continuous curvature. No acceleration step change occurs at the contour point. The path from the starting point to the contour point is interpolated as a polynomial. KONTT The contour point is approached/exited along a continuous tangent. An acceleration step change might occur at the contour point. The path from the starting point to the contour point is interpolated as a polynomial. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 355 Tool offsets 8.9 Contour approach and retraction (NORM, KONT, KONTC, KONTT) Example of KONTC The full circle is approached beginning at the circle center point. The direction and curvature radius of the approach circle at the block end point are identical to the values of the next circle. Infeed takes place in the Z direction in both approach/retraction blocks simultaneously. The adjacent diagram shows the vertical projection of the path. The associated NC program segment is as follows: $TC_DP1[1.1]= 121 ;Milling tool $TC_DP6[1.1]=10 ;Radius 10 mm N10 G1 X0 Y0 Z60 G64 T1 D1 F10000 N20 G41 KONTC X70 Y0 Z0 ;Approach N30 G2 I-70 ;Full circle N40 G40 G1 X0 Y0 Z60 ;Retract N50 M30 3D representation: At the same time the curvature is adjusted to the circular path of the full circle, the axes moves from Z60 to the plane of circle Z0. 356 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.9 Contour approach and retraction (NORM, KONT, KONTC, KONTT) Direct approach to perpendicular position, G41, G42, NORM The tool travels in a straight line directly to the contour and is positioned perpendicular to the path tangent at the starting point. Selection of the approach point When NORM is active, the tool travels directly to the compensated starting position irrespective of the approach angle programmed for the travel movement (see diagram). 5D XV GL 7DQJHQW * &RUUHFWHG 7RROSDWK Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 * &RUUHFWHG 7RROSDWK 357 Tool offsets 8.9 Contour approach and retraction (NORM, KONT, KONTC, KONTT) Deactivate compensation mode, G40, NORM The tool is positioned perpendicular to the last compensated path end point and then travels directly in a straight line to the next uncompensated position, e.g., to the tool change location. Choosing the retraction point When NORM is active, the tool travels directly to the uncompensated position irrespective of the approach angle programmed for the travel movement (see diagram). 5 DG LX V * 7DQJHQW * Warning The following applies to approach and retraction movements: You should make allowance for the modified angles of travel when programming in order to avoid collisions. 358 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.9 Contour approach and retraction (NORM, KONT, KONTC, KONTT) Travel round contour at starting point, G41, G42, KONT Two cases are distinguished here: 1. Starting point lies in front of the contour The approach strategy is the same as with NORM. The path tangent at the starting point serves as a dividing line between the front and rear of the contour. %HKLQGFRQWRXU 3DWKWDQJHQW ,QIURQWRIFRQWRXU 6WDUWSRLQW 1. Starting point lies behind the contour The tool travels round the starting point either along a circular path or over the intersection of the equidistant paths depending on the programmed corner behavior G450/G451. The commands G450/G451 apply to the transition from the current block to the next block. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 359 Tool offsets 8.9 Contour approach and retraction (NORM, KONT, KONTC, KONTT) G450 G451 G451 G450 Generation of the approach path In both cases (G450/G451), the following approach path is generated: A straight line is drawn from the uncompensated approach point. This line is a tangent to a circle with circle radius = tool radius. The center point of the circle is on the starting point. $SSURDFKSRLQW 6WDUWSRLQW $SSURDFKSDWK 7RROUDGLXV 360 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.9 Contour approach and retraction (NORM, KONT, KONTC, KONTT) Deactivate compensation mode, G40, KONT If the retraction point is located in front of the contour, the same retraction movement as for NORM applies. If the retraction point is located behind the contour, the retraction movement is the reverse of the approach movement. Precondition for KONTC and KONTT The two functions KONTC and KONTT are available only if polynomial interpolation is enabled in the control. Description of KONTC and KONTT The continuity conditions are observed in all three axes. It is therefore permissible to program a path component perpendicular to the offset plane simultaneously. Exception: KONTT and KONTC are not available in the 3D variants of the tool radius compensation (CUT3DC, CUT3DCC, CUT3DF). If they are programmed, the control switches internally to NORM without an error message. Difference between KONTC and KONTT This diagram shows the differences in approach/retract behavior between KONTT and KONTC. A circle with a radius of 20 mm about the center point at X0 Y-40 is compensated with a tool with an external radius of 20 mm. The tool center point therefore moves along a circular path with radius 40 mm. The end point of the approach blocks is at X40 Y30. The transition between the circular block and the retraction block is at the zero point. Due to the extended continuity of curvature associated with KONTC, the retraction block first executes a movement with a negative Y component. This will often be undesired. This response does not occur with the KONTT retraction block. However, with this block, an acceleration step change occurs at the block transition. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 361 Tool offsets 8.10 Compensation at the outside corners (G450, G451) If the KONTT or KONTC block is the approach block rather than the retraction block, the contour is exactly the same, but machined in the opposite direction. 8.10 Compensation at the outside corners (G450, G451) Function G450/G451 defines the following: On the one hand, the approach path for active KONT and the approach point behind the contour (see section "Contour approach and retraction"). On the other hand, the corrected tool path when traveling around outside corners. Programming G450 DISC=... Or G451 Parameters G450 Transition circle: the tool travels around workpiece corners on a circular path with tool radius DISC= Flexible programming of the approach and retraction instruction. In steps of 1 from DISC=0 circle to DISC=100 intersection G451 Intersection, the tool backs off from the workpiece corner DISC=... is effective only when G450 is called, but can be programmed in a preceding block without G450. Both commands are modal. 362 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.10 Compensation at the outside corners (G450, G451) Example In this example a transition radius is added to all outside corners (progr. in block N30). This prevents the tool from having to stop and free cut when changing direction. < < ; = N10 G17 T1 G0 X35 Y0 Z0 F500 ;Start conditions N20 G1 Z-5 ;Tool infeed N30 G41 KONT G450 X10 Y10 ;Activate compensation mode N40 Y60 ;Cut contour N50 X50 Y30 N60 X10 Y10 N80 G40 X-20 Y50 ;Deactivate compensation mode, retract on ;transition circle N90 G0 Y100 N100 X200 M30 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 363 Tool offsets 8.10 Compensation at the outside corners (G450, G451) Corner behavior, transition circle, G41, G42, G450 The tool center point travels around the workpiece corner across an arc with tool radius. At intermediate point P*, the control executes instructions such as infeed movements or switching functions. These instructions are programmed in blocks inserted between the two blocks forming the corner. G450 P* The transition circle belongs to the next travel command with respect to the data. 364 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.10 Compensation at the outside corners (G450, G451) Corner behavior, selectable transitions G41, G42, G450 DISC=... DISC distorts the transition circle, thus creating sharp contour corners. The values have the following meanings: DISC=0 transition circle DISC=100 intersection of the equidistant paths (theoretical value) ',6& ',6& DISC is programmed in steps of 1. When DISC values greater than 0 are specified, intermediate circles are shown with a magnified height - the result is transition ellipses or parabolas or hyperbolas. An upper limit can be defined in machine data - generally DISC=50. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 365 Tool offsets 8.10 Compensation at the outside corners (G450, G451) Path action, depending on DISC values and contour angle Depending on the angle of the contour that is traversed, with acute contour angles and high DISC values the tool is lifted off the contour at the corners. With angles of 120 and more, the contour is traversed evenly (see adjacent table). 65 ',6& ',6& &RQWRXUDQJOH GHJUHHV 57RROUDGLXV67UDYHUVHRYHUVKRRW 651RUPDOL]HGRYHUVKRRW LQUHODWLRQWRWRROUDGLXV Corner behavior, intersection, G41, G42, G451 The tool approaches the intersection of the two equidistants, which lie in the distance between the tool radius and the programmed contour. G451 applies only to circles and straight lines. At intermediate point P*, the control executes instructions such as infeed movements or switching functions. These instructions are programmed in blocks inserted between the two blocks forming the corner. * 3 366 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.11 Smooth approach and retraction Note Superfluous non-cutting tool paths can result from liftoff movements at acute contour angles. A parameter can be used in the machine data to define automatic switchover to transition circle in such cases. 8.11 Smooth approach and retraction 8.11.1 Approach and retraction (G140 to G143, G147, G148, G247, G248, G347, G348, G340, G341) Function The soft approach and retraction function (SAR) is used to achieve a tangential approach to the start point of a contour, regardless of the position of the start point. * * 3URJU&RQWRXU ',65 * The function is mainly used in conjunction with the tool radius offset, but is not mandatory. The approach and retraction motion consists of a maximum of 4 sub-movements: * Start point of the movement P0 * Intermediate points P1, P2 und P3 * End point P4 Points P0, P3 und P4 are always defined. Intermediate points P1 and P2 can be omitted, according to the parameters defined and the geometrical conditions. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 367 Tool offsets 8.11 Smooth approach and retraction Programming G140 Or G141 to G143 Or G147, G148 Or G247, G248 Or G347, G348 Or G340, G341 Or DISR=..., DISCL=..., FAD=... Parameters G140 Approach and retraction direction independent of the current compensation side (basic setting) G141 Approach from the left or retraction to the left G142 Approach from the right or retraction to the right G143 Approach and retraction direction depends on the relative position of the start and end point with respect to the tangent direction G147 Approach with a straight line G148 Retraction with a straight line G247 Approach with a quadrant G248 Retraction with a quadrant G347 Approach with a semicircle G348 Retraction with a semicircle G340 Approach and retraction in space (basic setting) G341 Approach and retraction in the plane DISR Approach and retraction with straight line (G147/G148) Distance from the mill edge to the start point of the contour Approach and retraction with circles (G247, G347/G248, G348) Radius of the tool center point path Caution: In the case of REPOS with a semicircle, DISR is the diameter of the circle DISCL FAD DISCL=... Distance from the end point of the fast infeed motion to the machining plane DISCL=AC(...) Specifies the absolute position of the end point of the fast infeed motion Speed of the slow infeed motion FAD=... the programmed value applies according to the G code of group 15 (feedrate; G93, G94, etc.) FAD=PM(...) the programmed value is interpreted as a linear feedrate (as G94), independently of the active G code, group 15 FAD=PR(...) the programmed value is interpreted as a revolutional feedrate (as G95), independently of the active G code, group 15. 368 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.11 Smooth approach and retraction Example 7RROFHQWHUSDWK \ 7RRO +HOL[ 3DSS3UHW 6HPLFLUFOH 3UHW 3DSS 3UHW [ 3UHW 3DSS &RQWRXU * Smooth approach (block N20 activated) * Approach motion with quadrant (G247) * Approach direction not programmed, G140 is operative, i.e., TRC is active (G41) * Contour offset OFFN=5 (N10) * Current tool radius=10; thus the effective offset radius for TRC=15, the radius of the SAR contour=25, so that the radius of the tool center point path is then DISR=10. * The end point of the circle is obtained from N30, since only the Z position is programmed in N20 * Infeed movement - From Z20 to Z7 (DISCL=AC(7)) with rapid traverse - Then on to Z0 with FAD=200 - Approach circle in X-Y plane and following blocks with F1500 (in order for this speed to become active in the following blocks, the G0 active in N30 must be overwritten by G1, otherwise the contour would continue to be machined with G0) * Smooth retraction (block N60 active) * Retraction motion with quadrant (G248) and helix (G340) * FAD not programmed, since irrelevant for G340 * Z=2 in the start point; Z=8 in the end point, since DISCL=6 * When DISR=5, the radius of SAR contour=20; that of the tool center point path=5 Retraction motions from Z8 to Z20 and the motion parallel to X-Y plane to X70 Y0 $TC_DP1[1.1]= 120 ;Tool definition T1/D1 $TC_DP6[1.1]=10 ;Radius Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 369 Tool offsets 8.11 Smooth approach and retraction N10 G0 X0 Y0 Z20 G64 D1 T1 OFFN = 5 N20 G41 G247 G341 Z0 DISCL = AC(7) DISR = 10 F1500 FAD=200 N30 G1 X30 Y-10 ;(P0app) ;Approach (P3app) ;(P4app) N40 X40 Z2 N50 X50 N60 G248 G340 X70 Y0 Z20 DISCL = 6 DISR = 5 G40 F10000 N70 X80 Y0 ;(P4ret) ;Retract (P3ret) ;(P0ret) N80 M30 Selecting the approach and retraction contour The appropriate G command can be used * to approach or retract with a straight line (G147, G148), * a quadrant (G247, G248) or * a semicircle (G347, G348). 370 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.11 Smooth approach and retraction 3 3 IRUDSSURDFKUHWXUQZLWK DVWUDLJKWOLQH * 7RRO 7RROFHQWHUSDWK &RQWRXU 3 ',65 3 3 IRUDSSURDFKUHWXUQZLWK 4XDGUDQW * ',65 7RROFHQWHUSDWK 7RRO &RQWRXU 3 3 3 IRUDSSURDFKUHWXUQZLWK 6HPLFLUFOH * ',65 7RROFHQWHUSDWK 7RRO 3 &RQWRXU $SSURDFKDQGUHWUDFWLRQVKRZQZLWKLQWHUPHGLDWH SRLQW3 ZLWKVLPXOWDQHRXVDFWLYDWLRQRIWRROUDGLXV FRPSHQVDWLRQ Selecting the approach and retraction direction Use the tool radius compensation (G140, basic setting) to determine the approach and retraction direction with positive tool radius: * G41 active approach from left * G42 active approach from right G141, G142 and G143 provide further approach options. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 371 Tool offsets 8.11 Smooth approach and retraction Description The G codes are only significant when the approach contour is a quadrant or a semicircle. Motion steps between start point and end point (G340 and G341) The approach characteristic from P0 to P4 is shown in the adjacent image. ,QIHHGPRYHPHQW 3 3 3 3 6WUDLJKW RUFLUFOH 6WUDLJKWOLQHFLUFOH RUKHOL[ 33 ',6&/ * 3 3 3 ',6&/ 3 0DFKLQLQJSODQH * $SSURDFKPRYHPHQWGHSHQGLQJRQ** In cases which include the position of the active plane G17 to G19 (circular plane, helical axis, infeed motion perpendicular to the active plane), any active rotating FRAME is taken into account. Length of the approach straight line or radius for approach circles (DISR)(see figure when selecting approach/retraction contour) * Approach/retract with straight line DISR specifies the distance of the cutter edge from the starting point of the contour, i.e., the length of the straight line when TRC is active is the sum of the tool radius and the programmed value of DISR. The tool radius is only taken into account if it is positive. The resultant line length must be positive, i.e., negative values for DISR are allowed provided that the absolute value of DISR is less than the tool radius. * Approach/retraction with circles DISR indicates the radius of the tool center point path. If TRC is activated, a circle is produced with a radius that results in the tool center point path with the programmed radius. Distance of the point from the machining plane (DISCL) (see figure when selecting approach/retraction contour) If the position of point P2 is to be specified by an absolute reference on the axis perpendicular to the circle plane, the value must be programmed in the form DISCL=AC(...). The following applies for DISCL=0: * With G340: The whole of the approach motion now only consists of two blocks (P1, P2 and P3 are combined). The approach contour is formed by P1 to P4. 372 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.11 Smooth approach and retraction * With G341: The whole approach contour consists of three blocks (P2 and P3 are combined). If P0 and P4 are on the same plane, only two blocks result (infeed movement from P1 to P3 is omitted). * The point defined by DISCL is monitored to ensure that it is located between P1 and P3, i.e., the sign must be identical for the component perpendicular to the machining plane in all motions that possess such a component. * On detection of a direction reversal, a tolerance defined by the machine data SAR_CLEARANCE_TOLERANCE is permitted. Programming the end point P4 for approach or P0 for retraction The end point is generally programmed with X... Y... Z... * Programming during approach - P4 in SAR block - P4 is defined by the end point of the next traversing block. Other blocks can be inserted between the SAR block and the next traversing block without moving the geometry axes. Example: $TC_DP1[1.1]= 120 ;Milling tool T1/D1 $TC_DP6[1.1]=7 ;Tool with 7 mm radius N10 G90 G0 X0 Y0 Z30 D1 T1 N20 X10 N30 G41 G147 DISCL=3 DISR=13 Z=0 F1000 N40 G1 X40 Y-10 N50 G1 X50 ... ... N30/N40 can be replaced by: 1. N30 G41 G147 DISCL=3 DISR=13 X40 Y-10 Z0 F1000 Or 2. N30 G41 G147 DISCL=3 DISR=13 F1000 N40 G1 X40 Y-10 Z0 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 373 Tool offsets 8.11 Smooth approach and retraction 0DFKLQLQJXSWRWKLV SRLQWZLWK*R FRQWLQXLQJZLWK* ) < = ] = 3 ; &RQWRXU ',65 * Programming during retraction - For an SAR block without programmed geometry axis, the contour ends in P2. The position in the axes that form the machining plane are obtained from the retraction contour. The axis component perpendicular to this is defined by DISCL. If DISCL=0, movement runs fully in the plane. - If only the axis is programmed perpendicular to the machining plane in the SAR block, the contour ends in P1. The position of the other axes is obtained as described previously. If the SAR block is also the deactivation block of the TRC, an additional path is inserted from P1 to P0, so that there is no movement at the end of the contour when the TRC is deactivated. - If only one axis on the machining plane is programmed, the missing 2nd axis is modally added from its last position in the previous block. - For an SAR block without programmed geometry axis, the contour ends in P2. The position in the axes that form the machining plane are obtained from the retraction contour. The axis component perpendicular to this is defined by DISCL. If DISCL=0, movement runs fully in the plane. - If only the axis is programmed perpendicular to the machining plane in the SAR block, the contour ends in P1. The position of the other axes is obtained as described previously. If the SAR block is also the deactivation block of the TRC, an additional path is inserted from P1 to P0, so that there is no movement at the end of the contour when the TRC is deactivated. - If only one axis on the machining plane is programmed, the missing 2nd axis is modally added from its last position in the previous block. 374 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.11 Smooth approach and retraction )ROORZLQJEORFN ZLWKRXWFRPSHQVDWLRQ 3 3 7RROFHQWHUSDWK 7RRO 3 6$5EORFN ** &RQWRXU SUHFHGLQJEORFN 5HWUDFWLRQZLWK6$5DQGVLPXOWDQHRXV GHDFWLYDWLRQRI75& Approach and retraction velocities * Velocity of the previous block (G0): All motions from 0 up to P2 are executed at this velocity, i.e., the motion parallel to the machining plane and the part of the infeed motion up to the safety clearance. * Programming with FAD: Specify the feedrate for - G341: infeed movement perpendicular to the machining plane from P2 to P3 - G340: from point P2 or P3 to P4 If FAD is not programmed, this part of the contour is also traversed at the modally active speed of the previous block, if no F word is programmed in the SAR block. * Programmed feedrate F: This feedrate value is effective as of 3 or P2 if FAD is not programmed. If no F word is programmed in the SAR block, the speed of the previous block is active. Example: $TC_DP1[1.1]= 120 ;Milling tool T1/D1 $TC_DP6[1.1]=7 ;Tool with 7 mm radius N10 G90 G0 X0 Y0 Z20 D1 T1 N20 G41 G341 G247 DISCL=AC(5) DISR=13 FAD 500 X40 Y-10 Z=0 F200 N30 X50 N40 X60 ... Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 375 Tool offsets 8.11 Smooth approach and retraction < ; = * 3 * 3 ) 3 ) 3 3 ) ; During retraction, the rolls of the modally active feedrate from the previous block and the programmed feedrate value in the SAR block are changed round, i.e., the actual retraction contour is traversed with the old feedrate value and a new speed programmed with the F word applies from P2 up to P0. 3 3 33 3 1RYHORFLW\ SURJUDPPHG 2QO\) SURJUDPPHG 2QO\)$' SURJUDPPHG )DQG)$' SURJUDPPHG 5DSLGWUDYHUVHLI*LVDFWLYHRWKHUZLVHZLWK ROGQHZ)ZRUG 9HORFLW\RIWKHSUHYLRXVEORFN ROG)ZRUG ,QIHHGYHORFLW\SURJUDPPHGZLWK)$' 1HZPRGDOYHORFLW\SURJUDPPHG 9HORFLW\ 9HORFLWLHVLQWKH6$5VXEEORFNV RQUHWUDFWLRQZLWK* 376 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.11 Smooth approach and retraction 3 3 3 3 3 1RYHORFLW\ SURJUDPPHG 2QO\) SURJUDPPHG 2QO\)$' SURJUDPPHG )DQG)$' SURJUDPPHG 5DSLGWUDYHUVHLI*LVDFWLYHRWKHUZLVHZLWK ROGQHZ)ZRUG 9HORFLW\RIWKHSUHYLRXVEORFN ROG)ZRUG ,QIHHGYHORFLW\SURJUDPPHGZLWK)$' 1HZPRGDOYHORFLW\SURJUDPPHG 9HORFLW\ 9HORFLWLHVLQWKH6$5VXEEORFNV RQUHWUDFWLRQZLWK* 3 3 3 3 3 1RYHORFLW\ SURJUDPPHG 2QO\) SURJUDPPHG 2QO\)$' SURJUDPPHG )DQG)$' SURJUDPPHG 5DSLGWUDYHUVHLI*LVDFWLYH RWKHUZLVHZLWKROGQHZ)ZRUG 9HORFLW\RIWKHSUHYLRXVEORFN ROG)ZRUG ,QIHHGYHORFLW\5HWUDFWLRQVSHHG 1HZPRGDOYHORFLW\SURJUDPPHG 9HORFLW\ 9HORFLWLHVLQWKH6$5VXEEORFNV RQUHWUDFWLRQ Reading positions Points P3 and P4 can be read in the WCS as a system variable during approach. * $P_APR: reading P * 3 (initial point) * $P_AEP: reading P * 4 (contour starting point) * $P_APDV: read whether $P_APR and $P_AEP contain valid data Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 377 Tool offsets 8.11 Smooth approach and retraction 8.11.2 Approach and retraction with enhanced retraction strategies (G460, G461, G462) Function In certain special geometrical situations, enhanced approach and retraction strategies, compared with the previous implementation with activated collision monitoring for approach and retraction block, are required in order to activate or deactivate tool radius compensation. For instance, collision monitoring can lead to a section of the contour not being fully machined. See following image. < 1 7RROUDGLXV ; &HQWHUSRLQWSDWKZLWK WRROUDGLXVFRPSHQVDWLRQ 1 1 3URJUDPPHG &RQWRXU Retraction behavior with G460 Programming G460 Or G461 or G462 Parameters G460 G461 As before (activation of collision monitoring for approach and retraction block) Insertion of a circle in the TRC block, if no intersection point is possible, whose center point is at the end point of the uncorrected block and whose radius is equal to the tool radius. Auxiliary circuit is used to machine around the contour end point (i.e. up to the end of the countour) up to the intersection. G462 Insertion of a straight line in the TRC block if no intersection point is possible; the block is extended by its end tangent (default setting) Machining is done up to the extension of the last contour element (i.e. up to just before the contour end). 378 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.11 Smooth approach and retraction Further information The approach behavior is symmetrical to the retraction behavior. The approach/retraction behavior is determined by the state of the G command in the approach/retraction block. The approach behavior can therefore be set independently of the retraction behavior. Example of retraction behavior with G460 The following example describes only the situation for deactivation of tool radius compensation. The behavior for approach is the same. G42 D1 T1 ;Tool radius 20mm ... G1 X110 Y0 N10 X0 N20 Y10 N30 G40 X50 Y50 Example of approach with G461 N10 $TC_DP1[1,1]=120 ;Tool type: milling tool N20 $TC_DP6[1,1]=10 ;Tool radius N30 X0 Y0 F10000 T1 D1 N40 Y20 N50 G42 X50 Y5 G461 N60 Y0 F600 N70 X30 N80 X20 Y-5 N90 X0 Y0 G40 N100 M30 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 379 Tool offsets 8.11 Smooth approach and retraction G461 If no intersection is possible between the last TRC block and a preceding block, the offset curve of this block is extended with a circle whose center point lies at the end point of the uncorrected block and whose radius is equal to the tool radius. The control attempts to cut this circle with one of the preceding blocks. < 1 $X[LOLDU\FXUYH 1 ; &HQWHUSRLQWSDWKZLWK WRROUDGLXVFRPSHQVDWLRQ 1 3URJUDPPHG &RQWRXU Retraction behavior with G461 (see example) Collision monitoring CDON, CDOF If CDOF is active (see section Collision monitoring, CDON, CDOF), the search is aborted when an intersection is found, i.e., the system does not check whether further intersections with previous blocks exist. If CDON is active, the search continues for further intersections after the first intersection is found. An intersection point, which is found in this way, is the new end point of a preceding block and the start point of the deactivation block. The inserted circle is used exclusively to calculate the intersection and does not produce a traversing movement. Note If no intersection is found, alarm 10751 (collision danger) is output. 380 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.11 Smooth approach and retraction G462 If no intersection is possible between the last TRC block and a preceding block, a straight line is inserted, on retraction with G462 (initial setting), at the end point of the last block with tool radius compensation (the block is extended by its end tangent). The search for the intersection is then identical to the procedure for G461. 1 < 1 $X[LOLDU\ FXUYH ; &HQWHUSRLQWSDWKZLWK WRROUDGLXVFRPSHQ VDWLRQ 3URJUDPPHG 1 &RQWRXU Retraction behavior with G462 (see example) With G462, the corner generated by N10 and N20 in the example program is not machined to the full extent actually possible with the tool used. However, this behavior may be necessary if the part contour (as distinct from the programmed contour), to the left of N20 in the example, is not permitted to be violated even with y values greater than 10 mm. Corner behavior with KONT If KONT is active (travel round contour at start or end point), the behavior differs according to whether the end point is in front of or behind the contour. * End point in front of contour If the end point is in front of the contour, the retraction behavior is the same as with NORM. This property does not change even if the last contour block for G451 is extended with a straight line or a circle.Additional circumnavigation strategies to avoid a contour violation in the vicinity of the contour end point are therefore not required. * Endpoint behind the contour If the end point is behind the contour, a circle or straight line is always inserted depending on G450/G451. In this case, G460-462 has no effect. If the last traversing block in this situation has no intersection with a preceding block, an intersection with the inserted contour element or with the straight line of the end point of the bypass circle to the programmed endpoint can result. If the inserted contour element is a circle (G450), and this forms an interface with the preceding block, this is equal to the interface that would occur with NORM and G461. In general, however, a remaining section of the circle still has to be traversed. For the linear part of the retraction block, no further calculation of intersection is required. In the second case, if no interface of the inserted contour element with the preceding blocks is found, the intersection between the retraction straight line and a preceding block is traversed. Therefore, a behavior that deviates from G460 can only occur with active G461 or G462 either if NORM is active or the behavior with KONT is geometrically identical to that with NORM. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 381 Tool offsets 8.12 Collision monitoring (CDON, CDOF, CDOF2) 8.12 Collision monitoring (CDON, CDOF, CDOF2) Function When CDON (Collision Detection ON) and tool radius compensation are active, the control monitors the tool paths with Look Ahead contour calculation. This Look Ahead function allows possible collisions to be detected in advance and permits the control to actively avoid them. When collision detection is off (CDOF), a search is made at inside corners in the previous traversing block (and if necessary in blocks further back) for a common intersection point for the current block. If no intersection is found with this method, an error is generated. Programming CDON Or CDOF Or CDOF2 Parameters CDON Activate bottleneck detection CDOF Deactivate bottleneck detection CDOF2 Determine tool offset direction from adjacent block parts. CDOF2 is active only for 3D circumferential milling. 382 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.12 Collision monitoring (CDON, CDOF, CDOF2) CDOF helps prevent the incorrect detection of bottlenecks, e.g., due to missing information, which is not available in the NC program. Machine manufacturer The number of NC blocks monitored can be defined in the machine data (see machine manufacturer). Example of milling on the center-point path with standard tools The NC program defines the center-point path of a standard tool. The contour for a tool currently in use results in an undersize, which is shown on an unrealistically large scale solely to illustrate the geometric conditions. The following description is based on the simple assumption that the control can only "see" three blocks. &RPSHQVDWLQJPRYHPHQWLQDEVHQFHRIVWDUWSRLQW 2IIVHWSRLQWLQ 6WDUWSRLQWRI 1 &RPSHQ VDWLQJ PRYHPHQW 3 1 1 6WDQGDUG VL]H 8QGHUVL]H 3DUWFRQWRXU 1 3 &RUUHFWHG VHWSRLQWSDWK RIIVHWFXUYH 1 3URJUDPPHG RULJLQDOSDWK VWDQGDUGWRRO 2IIVHWSRLQWLQHQGSRLQWRI1 Since an intersection exists only between the offset curves of the two blocks N10 and N40, the two blocks N20 and N30 would have to be omitted. In this instance, the control is still not aware of block N40 if N10 must be processed subsequently. Only a single block can therefore be omitted. When CDOF2 is active, the compensatory motion shown in the diagram is executed and not halted. In this situation, an active CDOF or CDON would generate an alarm. Identifying critical machining situations The following are some examples of critical machining situations, which can be detected by the control and compensated for by modifying the tool paths. In order to prevent program stops, you should always select the tool with the widest radius from all of the tools used when testing the program. In each of the following examples a tool with too wide a radius was selected for machining the contour. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 383 Tool offsets 8.12 Collision monitoring (CDON, CDOF, CDOF2) Bottleneck detection 7RROSDWK 3URJUDPPHGFRQWRXU Since the tool radius selected is too wide to machine this inside contour, the "bottleneck" is bypassed. An alarm is output. Contour path shorter than tool radius 7RROSDWK 3URJUDPPHGFRQWRXU The tool travels round the workpiece corner on a transition circle and then continues to follow the programmed contour exactly. 384 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.12 Collision monitoring (CDON, CDOF, CDOF2) Tool radius too wide for inside machining 7RROSDWK 3URJUDPPHG &RQWRXU In such cases, the contours are machined only to the extent possible without damaging the contour.. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 385 Tool offsets 8.13 2D tool compensation (CUT2D, CUT2DF) 8.13 2D tool compensation (CUT2D, CUT2DF) Function With CUT2D or CUT2DF you define how the tool radius compensation is to act or to be interpreted when machining in inclined planes. Tool length compensation The tool length compensation generally always refers to the fixed, non-rotated working plane. 2D tool radius compensation with contour tools The tool radius compensation for contour tools is used for automatic cutting-edge selection in the case of non-axially symmetrical tools that can be used for piece-by-piece machining of individual contour segments. Programming CUT2D Or CUT2DF 2D tool radius compensation for contour tools is activated if either of the two machining directions G41 or G42 is programmed with CUT2D or CUT2DF. Note If tool radius compensation is not activated, a contour tool will behave like a standard tool with only the first cutting edge. Parameters CUT2D Activate 2 1/2 D radius compensation (default) CUT2DF Activate 2 1/2 D radius compensation, tool radius compensation relative to the current frame or to inclined planes CUT2D is used when the orientation of the tool cannot be changed and the workpiece is rotated for machining on inclined surfaces. CUT2D is generally the standard setting and does not, therefore, have to be specified explicitly. Cutting-edge selection with contour tools Up to a maximum of 12 cutting edges can be assigned to each contour tool in any order. Machine manufacturer 386 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.13 2D tool compensation (CUT2D, CUT2DF) The valid tool types for non-axially symmetrical tools and the maximum number of cutting edges (Dn = D1 to D12) are defined by the machine manufacturer via machine data. Please contact the machine manufacturer if not all of the 12 cutting edges are available. References: /FB1/Function Manual Basic Functions; Tool Offset (W1) Tool radius compensation, CUT2D As for many applications, tool length compensation and tool radius compensation are calculated in the fixed working plane specified with G17 to G19. = = ; ; Example of G17 (X/Y plane): Tool radius compensation is active in the non-rotated X/Y plane, tool length compensation in the Z direction. Tool offset values For machining on inclined surfaces, the tool compensation values have to be defined accordingly, or be calculated using the functions for "Tool length compensation for orientable tools". For more information on this calculation method, see chapter "Tool orientation and tool length compensation". Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 387 Tool offsets 8.13 2D tool compensation (CUT2D, CUT2DF) Tool radius compensation, CUT2DF In this case, it is possible to arrange the tool orientation perpendicular to the inclined working plane on the machine. = = ; ; If a frame containing a rotation is programmed, the compensation plane is also rotated with CUT2DF. The tool radius compensation is calculated in the rotated machining plane. Note The tool length compensation continues to be active relative to the non-rotated working plane. Definition of contour tools, CUT2D, CUT2DF A contour tool is defined by the number of cutting edges (on the basis of D nos) associated with a T no. The first cutting edge of a contour tool is the cutting edge that is selected when the tool is activated. If, for example, D5 is activated on T3 D5, then it is this cutting edge and the subsequent cutting edges that define the contour tool either partially or as a whole. The previous cutting edges will be ignored. References: /FB1/Function Manual Basic Function; Tool Offset (W1) 388 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.14 Tool length compensation for orientable toolholders (TCARR, TCOABS, TCOFR) 8.14 Tool length compensation for orientable toolholders (TCARR, TCOABS, TCOFR) Function When the spatial orientation of the tool changes, its tool length components also change. = = , , , ; ; After a reset, e.g., through manual setting or change of the toolholder with a fixed spatial orientation, the tool length components also have to be determined again. This is performed using the TCOABS and TCOFR path commands. For a tool holder of an active frame that can be orientated, when selecting the tool with TCOFRZ, TCOFRY, and TCOFRX, it is possible to define the direction in which the tool should point. Programming TCARR=[m] or TCOABS or TCOFR or TCOFRZ, TCOFRY, TCOFRX Parameter TCARR=[m] Request toolholder with the number "m" TCOABS Determine tool length components from the orientation of the current toolholder Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 389 Tool offsets 8.14 Tool length compensation for orientable toolholders (TCARR, TCOABS, TCOFR) TCOFR Determine tool length components from the orientation of the active frame TCOFRZ Orientable toolholder from active frame with a tool pointing in the Z direction TCOFRY Orientable toolholder from active frame with a tool pointing in the Y direction TCOFRX Orientable toolholder from active frame with a tool pointing in the X direction Determine tool length compensation from the orientation of the toolholder, TCOABS TCOABS calculates the tool length compensation from the current orientation angles of the toolholder; stored in system variables $TC_CARR13 and $TC_CARR14. For a definition of toolholder kinematics with system variables, see References: /PGA/Job Planning Programming Manual; Tool Offsets, "Toolholder Kinematics". In order to make a new calculation of the tool length compensation when frames are changed, the tool has to be selected again. Tool direction from active frame It is possible to set the orientating toolholder such that command * TCOFR or TCOFRZ points in Z direction. * TCOFRY points in Y direction. * TCOFRX points in X direction. If there is a switchover between TCOFR and TCOABS, the tool length compensation is calculated again. Request toolholder, TCARR With TCARR, the toolholder number m is requested with its geometry data (offset memory). With m=0, the active toolholder is deselected. The geometry data of the toolholder only become active after a tool is called. The selected tool remains active after a toolholder change has taken place. The current geometry data for the toolholder can also be defined in the parts program via the corresponding system variables. 390 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.14 Tool length compensation for orientable toolholders (TCARR, TCOABS, TCOFR) Recalculation of tool length compensation, TCOABS with frame change In order to make a new calculation of the tool length compensation when frames are changed, the tool has to be selected again. Note The tool orientation must be manually adapted to the active frame. When the tool length compensation is calculated, the angle of rotation of the toolholder is calculated in an intermediate step. With toolholders with two rotary axes, there are generally two sets of rotation angles, which can be used to adapt the tool orientation to the active frame; therefore, the rotation angle values stored in the system variables must at least correspond approximately to the mechanically set rotation angles. Note Tool orientation It is not possible for the control to check whether the rotation angles calculated by means of the frame orientation are settable on the machine. If the rotary axes of the toolholder are arranged such that the tool orientation calculated by means of the frame orientation cannot be reached, then an alarm is output. The combination of tool precision compensation and the functions for tool length compensation on movable toolholders is not permissible. If both functions are called simultaneously, an error message is issued. The TOFRAME function allows a frame to be defined on the basis of the direction of orientation of the selected toolholder. For more information please refer to chapter "Frames". When orientation transformation is active (3, 4 or 5-axis transformation), it is possible to select a toolholder with an orientation deviating from the zero position without causing output of an alarm. Transfer parameter from standard and measuring cycles For the transfer parameter of standard and measuring cycles, the following defined value ranges apply. For angular value, the value range is defined as follows: * Rotation around 1st geometry axis: -180 degrees to +180 degrees * Rotation around 2nd geometry axis: -90 degrees to +90 degrees * Rotation around 3rd geometry axis: -180 degrees to +180 degrees Reference: /PG/ Fundamentals Programming Manual; Frames, Chapter "Programmable rotation (ROT, AROT, RPL)" Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 391 Tool offsets 8.15 Grinding-specific tool monitoring in parts programs (TMON, TMOF) Note When transferring angular values to a standard or measuring cycle, the following should be carefully observed: Values less than the calculation resolution of the NC should be rounded-off to zero! The calculation resolution of the NC for angular positions is defined in the machine data: MD10210 $MN_INT_INCR_PER_DEG 8.15 Grinding-specific tool monitoring in parts programs (TMON, TMOF) Function The command TMON is used to activate geometry and speed monitoring for grinding tools (types 400-499) in the NC parts program. Monitoring remains active until it is deactivated in the parts program with TMOF. Machine manufacturer See machine manufacturer's specifications Programming TMON (T no.) Or TMOF (T no.) 392 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.15 Grinding-specific tool monitoring in parts programs (TMON, TMOF) Parameters TMON (T no.) Activate tool monitoring TMOF (T no.) Deselect tool monitoring T No. = 0: Deactivate monitoring for all tools It is only necessary to specify the T number if the tool with this T number is not active. Assignment of tool-specific parameters Further tool-specific parameters can be set up in the machine data and assigned by the user. Parameters Meaning Data type Spindle number Integer Chaining rule The parameters are automatically kept identical for the left and right side of the wheel. Integer Tool-specific parameters $TC_TPG1 $TC_TPG2 $TC_TPG3 Minimum wheel radius Real $TC_TPG4 Minimum wheel width Real $TC_TPG5 Current wheel width Real $TC_TPG6 Maximum speed Real $TC_TPG7 Maximum peripheral speed Real $TC_TPG8 Angle of inclined wheel Real $TC_TPG9 Parameter number for radius calculation Integer Requirements You can only activate tool monitoring if the tool-specific grinding data $TC_TPG1 to $TC_TPG9 are set, see /FB1/Function Manual Basic Functions; Tool Offset (W1). According to the machine data settings, tool monitoring for the grinding tools (types 400-499) can be automatically activated when the tool selection is activated. Only one monitoring routine can be active at any one time for each spindle. Geometry monitoring The current wheel radius and the current width are monitored. The set speed is monitored against the speed limitation cyclically with allowance for the spindle override. The speed limit is the smaller value resulting from a comparison of the maximum speed with the speed calculated from the maximum wheel peripheral speed and the current wheel radius. Working without a T or D number In the machine data, a default T and D number Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 393 Tool offsets 8.16 Additive offsets * T number, and * D number can be set, that do not have to be reprogrammed and are effective after Power ON/Reset. Example All machining is performed with the same grinding wheel. Machine data can be set to keep the current tool active after Reset; see /PGA/Programming Manual Advanced; Free D-Number Assignment, Cutting Edge Numbers. 8.16 Additive offsets Function Additive offsets are essentially process offsets which can be programmed during machining. They refer to the geometrical data of a tool edge and are thus components of the tool edge data. The data of an additive offset are addressed via a DL number (DL: location-dependent; offsets relative to relevant location) and enter tool offset via parameter display in the Parameter area. References: /BAD, BEM/ "Operator's Guide HMI Advanced, HMI Embedded" chapter "Parameters" 394 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.16 Additive offsets 8.16.1 Select offsets (via DL numbers) Function Setup value: The setup value is defined optionally by the machine manufacturer in MD. Same tool edge: The same tool edge is used for 2 bearing seats (see example). Compensation can be made for a location-dependent measurement error occurring as a result of machining forces, etc. Location 2 Location 1 ; ' ''/ = Fine offset: Location-dependent allowances can be made for over/under-dimensioning. Parameters Machine data are used to activate and define the number of additive offsets. Please refer to the machine manufacturer's instructions. Example N110 T7 D7 ;The tool turret is positioned at location 7 ;D7 and DL=1 are activated and traversed in the next block N120 G0 X10 Z1 ;N120 N130 G1 Z-6 N140 G0 DL=2 Z-14 ;DL=2 is activated in addition to D7 and traversed ;in the next block N150 G1 Z-21 N160 G0 X200 Z200 ;Approach tool change point ... Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 395 Tool offsets 8.16 Additive offsets 8.16.2 Specify wear and setup values ($TC_SCPxy[t,d], $TC_ECPxy[t,d]) Function Wear and setup values can be read and written via system variables and the corresponding OPI services. The logic is based on the logic of the corresponding system variables for tools and tool noses. Programming $TC_SCPxy [t,d] Wear values or $TC_ECPxy [t,d] Setup values Parameter $TC_SCPxy $TC_ECPxy Wear values are assigned to the corresponding geometry parameters via xy, where x is the number of the wear value and y is the reference to the geometry parameter. Setup values are assigned to the corresponding geometry parameters via xy, where x is the number of the setup value and y is the reference to the geometry parameter. t T number of the tool d D number of the tool nose Note The defined wear and setup values are added to the geometry parameters and the other offset parameters (D numbers). Example The wear value of length 1 is set to the value 1.0 for the tool nose (D number d) of the tool (t). Parameter: $TC_DP3 (length 1, with turning tools) Wear values: $TC_SCP13 to $TC_SCP63 Setup values: $TC_ECP13 to $TC_ECP63 $TC_SCP43 [t, d] = 1.0 396 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.16 Additive offsets 8.16.3 Delete additive offsets (DELDL) Function DELDL is used to delete the additive offsets for the tool edge of a tool (in order to release memory). Both the defined wear values and the setup values are deleted. Programming status = DELDL [t,d] Parameters DELDL [t,d] All additive offsets of the tool edge with D number d of tool t are deleted DELDL[t] All additive offsets of all tool edges of tool t are deleted DELDL All additive offsets of the tool edges of all tools of the TO- unit are deleted (for the channel, in which the command is programmed) status 0: Offsets have been successfully deleted. -: Offsets have not been deleted (if the parameter settings specify exactly one tool edge), or not deleted completely (if the parameter settings identify several tool edges). Note The wear and setup values of active tools cannot be deleted (behave similar to deletion of D or tool data). Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 397 Tool offsets 8.17 Special handling of tool offsets 8.17 Special handling of tool offsets Function Setting data SD 42900 - SD 42960 can be used to control the evaluation of the sign for tool length and wear. The same applies to the behavior of the wear components when mirroring geometry axes or changing the machining plane, and also to temperature compensation in tool direction. Parameter Where reference is made below to wear values, this means in each case the sum of the actual wear values ($TC_DP12 to $TC_DP20) and the total offsets with the wear ($SCPX3 to $SCPX11) and setup values ($ECPX3 to $ECPX11). For more details on total offsets, see: References: /FBW/Description of Functions, Tool Management SD42900 MIRROR_TOOL_LENGTH Mirroring of tool-length components and components of the tool base dimension D42910 MIRROR_TOOL_WEAR Mirroring of wear values of the tool-length components SD42920 WEAR_SIGN_CUTPOS Sign evaluation of the wear components depending on the tool point direction SD42930 WEAR_SIGN Inverts the sign of the wear dimensions SD42935 WEAR_TRANSFORM Transformation of wear values SD42940 TOOL_LENGTH_CONST Assignment of tool-length components to geometry axes SD42950 TOOL_LENGTH_TYPE Assignment of the tool-length components independent of tool type SD42960 TOOL_TEMP_COMP Temperature compensation value in tool direction. Also operative when tool orientation is programmed. References: /PGA/Programming Manual, Advanced, "Tool Offsets" /FB1/Function Manual Basic Functions; Tool Offset (W1) Description Activation of modified setting data When the setting data described above are modified, the tool components are not reevaluated until the next time a tool edge is selected. If a tool is already active and the data of this tool are to be reevaluated, the tool must be selected again. The same applies in the event that the resulting tool length is modified due to a change in the mirroring status of an axis. The tool must be selected again after the mirror command, in order to activate the modified tool-length components. 398 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.17 Special handling of tool offsets Orientable toolholders and new setting data Setting data SD 42900-42940 have no effect on the components of an active orientable toolholder. However, the calculation with an orientable toolholder always allows for a tool with its total resulting length (tool length + wear + tool base dimension). All modifications initiated by the setting data are included in the calculation of the resulting total length; i.e., vectors of the orientable toolholder are independent of the machining plane. Note When orientable toolholders are used, it is frequently practical to define all tools for a nonmirrored basic system, even those which are only used for mirrored machining. When machining with mirrored axes, the toolholder is then rotated such that the actual position of the tool is described correctly. All tool-length components then automatically act in the correct direction, dispensing with the need for control of individual component evaluation via setting data, depending on the mirroring status of individual axes. Further application options The use of orientable toolholder functionality can also be useful if there is no physical option of turning tools on the machine, even though tools with different orientations are permanently installed. Tool dimensioning can then be performed uniformly in a basic orientation, where the dimensions relevant for machining are calculated according to the rotations of a virtual toolholder. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 399 Tool offsets 8.17 Special handling of tool offsets 8.17.1 Mirroring of tool lengths Function Set setting data SD 42900 MIRROR_TOOL_LENGTH and SD 42910 MIRROR_TOOL_WEAR not equal to zero can be used to mirror tool length components and components of the tool base dimensions with wear values of the corresponding axes. ; = 0 ; ' : :&6 'ZLWK6/ = : 0 :&6 'ZLWK6/ Parameters SD 42900 MIRROR_TOOL_LENGTH Setting data not equal to zero: The tool length components ($TC_DP3, $TC_DP4 and $TC_DP5) and the components of the tool base dimensions ($TC_DP21, $TC_DP22 and $TC_DP23), whose associated axes are mirrored, are also mirrored - through sign inversion. The wear values are not mirrored. If these are also to be mirrored, setting data $SC_MIRROR_TOOL_WEAR must be enabled. SD 42910 MIRROR_TOOL_WEAR Setting data not equal to zero: The wear values of the tool length components, whose associated axes are mirrored, are also mirrored - by sign inversion. 400 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.17 Special handling of tool offsets 8.17.2 Wear sign evaluation Function Set setting data SD 42920 WEAR_SIGN_CUTPOS und SD 42930 WEAR_SIGN not equal to zero can be used to invert the sign evaluation of the wear components. Parameters SD 42920 WEAR_SIGN_CUTPOS Setting data not equal to zero: In the case of tools with a relevant tool point direction (turning and grinding tools, tool types 400), the sign evaluation of the wear components depends on the tool point direction in the machining plane. This setting data has no effect with tool types, which do not have a relevant tool point direction. In the following table, the dimensions whose sign is inverted by SD 42920 (not equal to 0) are marked with an X: Length of cutting edge Length 1 Length 2 1 X 2 3 X 4 X X 5 6 X 7 8 X 9 Note The sign settings of SD 42920 and 42910 are independent. For example, if the sign of a dimensional parameter is changed by both setting data, the resulting sign is unchanged. SD 42930 WEAR_SIGN Setting data not equal to zero: the sign of all wear dimensions is inverted. This affects both the tool length and other variables such as tool radius, rounding radius, etc. If a positive wear dimension is entered, the tool becomes "shorter" and "thinner", see chapter "Tool offsets, Special handling, Activation of changed setting data". Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 401 Tool offsets 8.17 Special handling of tool offsets 8.17.3 Coordinate system of the active machining operation (TOWSTD/TOWMCS/TOWWCS/TOWBCS/TOWTCS/TOWKCS) Function Depending on the kinematics of the machine or the availability of an orientable toolholder, the wear values measured in one of these coordinate systems are converted or transformed to a suitable coordinate system. Programming TOWSTD Or TOWMCS Or TOWWCS Or TOWBCS Or TOWTCS Or TOWKCS Parameters Coordinate systems of active machining operation The following coordinate systems can produce tool length offsets that can be used to incorporate the tool length component "wear" into an active tool via the corresponding G code of Group 56. 1. Machine coordinate system (MCS) 2. Basic coordinate system (BCS) 3. Workpiece coordinate system (WCS) 4. Tool coordinate system (TCS) 5. Tool coordinate system of kinematic transformation (KCS) 402 TOWSTD Initial setting value for offsets in tool length wear value TOWMCS Offsets in tool length in MCS TOWWCS Offsets in tool length in WCS TOWBCS Offsets in tool length in BCS TOWTCS Offsets of tool length at toolholder reference point (orientable toolholder) TOWKCS Offsets of tool length at tool head (kinematic transformation) Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.17 Special handling of tool offsets Description The most important distinguishing features are shown in the following table: G code Wear value Active orientable toolholder TOWSTD Initial value, tool length Wear values are subject to rotation Wear value in MCS. TOWMCS is identical to TOWSTD if no orientable toolholder is active. Only the vector of the resultant tool length rotates. Wear is ignored TOWWCS The wear value is converted to the MCS in the WCS The tool vector is calculated as with TOWMCS, i.e., the wear value is ignored TOWBCS The wear value is converted to the MCS in the BCS The tool vector is calculated as with TOWMCS, i.e., the wear value is ignored TOWTCS The wear value is converted to the MCS in the tool coordinate system The tool vector is calculated as with TOWMCS, i.e., the wear value is ignored TOWMCS TOWWCS, TOWBCS, TOWTCS: The wear vector is added to the tool vector. Linear transformation The tool length can be defined meaningfully in the MCS only if the MCS is generated by linear transformation from the BCS. Non-linear transformation If, for example, a non-linear transformation is active with TRANSMIT, the BCS is automatically applied when the MCS is specified as the chosen coordinate system. No kinematic transformation and no orientable toolholder If neither a kinematic transformation nor an orientable toolholder is active, then all the other four coordinate systems (except for the WCS) are combined. It is then only the WCS, which is different to the other systems. Since only tool lengths need to be evaluated, translations between the coordinate systems are irrelevant. References For further information about tool offsets, please see: /FB1/Function Manual Basic Functions; Tool Offset (W1) Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 403 Tool offsets 8.17 Special handling of tool offsets Inclusion of wear values in calculation The setting data SD 42935 WEAR_TRANSFORM defines, which of the following three wear components 1. Wear 2. Total offsets fine 3. Total offsets coarse are to be made subject to a rotation by way of an adapter transformation or orientable toolholder if one of the following G codes is active. * TOWSTD Initial setting for offsets in tool length * TOWMCS Wear values in the machine coordinate system (MCS) * TOWWCS Wear values in workpiece coordinate system (WCS) * TOWBCS Wear values (BCS) in basic coordinate system * TOWTCS Wear values in tool coordinate system at the toolholder (T toolholder reference) * TOWKCS Wear values in coordinate system of tool head with kinematic transformation Note Evaluation of individual wear components (assignment to geometry axes, sign evaluation) is influenced by the Active plane Adapter transformation and - The following setting data: SD 42910: MIRROW_TOOL_WEAR SD 42920: WEAR_SIGN_CUTPOS SD 42930: WEAR_SIGN SD 42940: TOOL_LENGTH_CONST SD 42950: TOOL_LENGTH_TYPE 404 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.17 Special handling of tool offsets 8.17.4 Tool length and plane change Function With the set setting data SD 42940 TOOL_LENGTH_CONST not equal to zero, you can assign tool length components such as length, wear and base dimension to the geometry axes for turning and grinding tools at a plane change. Parameters SD 42940 TOOL_LENGTH_CONST Setting data not equal to zero: The assignment between the tool length components (length, wear and tool base dimension) and the geometry axes is not modified when the machining plane is changed (G17-19). The following table shows the assignment between the tool length components and the geometry axes for turning and grinding tools (tool types 400 to 599): Table of Contents Length 1 Length 2 Length 3 17 Y X Z *) X Z Y 19 Z Y X -17 X Y Z -18 Z X Y -19 Y Z X Each value not equal to 0 which is not equal to one of the six listed values is evaluated as value 18. *) The following table shows the assignment between the tool length components and the geometry axes for all other tools (tool types < 400 or > 599): Machining plane Length 1 Length 2 Length 3 *) Z Y X 18 Y X Z 19 X Z Y -17 Z X Y -18 Y Z X -19 X Y Z Each value not equal to 0 which is not equal to one of the six listed values is evaluated as value 17. *) Further information The representation in the tables assumes that the geometry axes to 3 are labeled X, Y, Z. The axis order and not the axis identifier determines the assignment between an offset and an axis. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 405 Tool offsets 8.18 Tools with a relevant cutting edge length 8.18 Tools with a relevant cutting edge length Function In the case of tools with a relevant tool point direction (turning and grinding tools - tool types 400-599; see chapter "Sign evaluation wear"), a change from G40 to G41/G42 or vice-versa is treated as a tool change. If a transformation is active (e.g., TRANSMIT), this leads to a preprocessing stop (decoding stop) and hence possibly to deviations from the intended part contour. This original functionality changes with regard to: 1. Preprocessing stop on TRANSMIT 2. Calculation of intersection points at approach and retraction with KONT 3. Tool change with active tool radius compensation 4. Tool radius compensation with variable tool orientation at transformation Description This original functionality was changed as follows: * A change from G40 to G41/G42 and vice-versa is no longer treated as a tool change. Therefore, a preprocessing stop no longer occurs with TRANSMIT. * The straight line between the tool edge center points at the block start and block end is used to calculate intersection points with the approach and retraction block. The difference between the tool edge reference point and the tool edge center point is superimposed on this movement. On approach and retraction with KONT (tool circumnavigates the contour point, see above subsection "Contour approach and retraction"), superimposition takes place in the linear part block of the approach or retraction motion. The geometric conditions are therefore identical for tools with and without a relevant tool point direction. Differences from the previous behavior occur only in relatively rare situations where the approach or retraction block does not intersect with an adjacent motion block, see diagram below. 406 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tool offsets 8.18 Tools with a relevant cutting edge length /DVWSRVLWLRQRIFXWWLQJHGJHFHQWHUSRLQW RQWKHFRQWRXU 6:DQGKLJKHU &XWWLQJHGJHFHQWHUSRLQW 3URJUDPPHGUHWUDFWLRQEORFN 7RROHQGSRVLWLRQ 7RROHGJHUHIHUHQFHSRLQW %ORFNZLWKRXW LQWHUVHFWLRQZLWK SUHYLRXVEORFN &HQWHUSRLQWSDWK /DVWSRVLWLRQRIFXWWLQJHGJHFHQWHUSRLQW 7RROHGJHUHIHUHQFHSRLQW * In circle blocks and in motion blocks containing rational polynomials with a denominator degree > 4, it is not permitted to change a tool with active tool radius compensation in cases where the distance between the tool edge center point and the tool edge reference point changes. With other types of interpolation, it is now possible to change when a transformation is active (e.g., TRANSMIT). * For tool radius compensation with variable tool orientation, the transformation from the tool edge reference point to the tool edge center point can no longer be performed by means of a simple zero offset. Tools with a relevant tool point direction are therefore not permitted for 3D peripheral milling (an alarm is output). Note The subject is irrelevant with respect to face milling as only defined tool types without relevant tool point direction are permitted for this operation anyway. (A tool with a type, which has not been explicitly approved, is treated as a ball end mill with the specified radius. A tool point direction parameter is ignored). Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 407 Tool offsets 8.18 Tools with a relevant cutting edge length 408 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Special functions 9.1 9 Auxiliary function outputs Function The auxiliary function output sends information to the PLC indicating when the NC program needs the PLC to perform specific switching operations on the machine tool. The auxiliary functions are output, together with their parameters, to the PLC interface. The values and signals must be processed by the PLC user program. Function outputs The following functions can be downloaded to the programmable controller: * Select tool T * Tool compensation D,DL * Feed F/FA * Spindle speed S * H functions * M functions For the above-mentioned functions it is possible to define whether they are to be transferred during the machining sequence, and which reactions are to be activated. For each function group or individual function, machine data define whether the output is initiated * Before the traversing movement, * With the traversing movement, or * After the traversing movement . The PLC can be programmed to acknowledge auxiliary function outputs in various ways. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 409 Special functions 9.1 Auxiliary function outputs Programming Letter[address extension]=Value The letters, which can be used for auxiliary functions, are: M Or S Or H Or T Or D Or DL Or F Parameters In the following table you will find information about the meaning and value ranges for the address extension and the value in auxiliary function outputs. The maximum number of auxiliary functions of the same type per block is also specified. Overview of auxiliary functions, programming Functi Address extension on (integer) M Value Explanation Meaning Area Area Type Meaning - implicit 0 - 99 INT Function The address extension is 5 0 for the value range between 00 and 99. M0, M1, M2, M17, M30 must be used without an address extension. 0 S 410 Number per block Spindle no. 1 - 12 1 - 99 Function M3, M4, M5, M19, M70 with address extension spindle no., e.g., M5 for spindle 2: M2=5. Master spindle is used if no spindle is specified. Any 0 - 99 100- (max. INT value) Function User M function Spindle no. 1 - 12 0-3.4028 ex 38 Spindle speed Without spindle no. for master spindle REAL 3 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Special functions 9.1 Auxiliary function outputs H Any 0 - 99 (max. INT value) INT REAL Any Functions have no effect 3 in the NCK; only to be implemented on the PLC 0 - 32000 INT (or tool names with active tool managem ent) Tool selection Tool names are not passed to the PLC interface. 1 0-9 INT Tool offset selection D0 selection, default D1 1 3.4028 ex 38 T Spindle 1 - 12 no. (for active tool manage ment) D DL Locationdepende nt offset 1-6 3.4028 ex 38 REAL See tool fine Refers to previously offset selected D number selection /FBW/ 1 F Path feedrate 0 0.001 999 999,999 REAL Path feedrates 6 (FA) Axis No. 1 - 31 0.001 999 999,999 Axis feedrates The highest number for a type specified in the table must not be exceeded. Example M=QU(...) H=QU(...) N10 H=QU(735) ;High-speed output for H735 N10 G1 F300 X10 Y20 G64 N20 X8 Y90 M=QU(7) M7 was programmed as a high-speed output, so continuous-path mode (G64) is not interrupted. Note You should only use this function in individual cases, because it can affect the time synchronization as a result of interaction with other function outputs. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 411 Special functions 9.1 Auxiliary function outputs Description Number of function outputs per NC block Up to 10 function outputs can be programmed in one NC block. Auxiliary functions can also be output from the action component of synchronized actions. See /FBSY/. Grouping The functions described can be grouped together. Group assignment is predefined for some M commands. The acknowledgment behavior can be defined by the grouping. Acknowledgements, high-speed function outputs, QU Functions, which have not been programmed as high-speed outputs, can be defined as highspeed outputs for individual outputs with the keyword QU. Program execution continues without waiting for the acknowledgment of the miscellaneous function (the program waits for the transport acknowledgment). This helps avoid unnecessary hold points and interruptions to traversing movements. Machine manufacturer The appropriate MD must be set for "high-speed function outputs", see FB1/Function Manual Basic Functions; Auxiliary Function Output to PLC (H2). Function outputs for travel commands Time is needed to transfer information and wait for a corresponding response, and this has an impact on the travel movements. High-speed acknowledgment without block change delay Block change behavior can be influenced by machine data. When the "without block change delay" setting is selected, the system response with respect to high-speed auxiliary functions is as follows: Auxiliary function output Before the movement During the movement After the movement 412 Response The block transition between blocks with highspeed auxiliary functions occurs without interruption and without a reduction in velocity. The auxiliary function output takes place in the first interpolation cycle of the block. The following block is executed with no acknowledgment delay. The block transition between blocks with highspeed auxiliary functions occurs without interruption and without a reduction in velocity. The auxiliary function output takes place during the block. The following block is executed with no acknowledgment delay. The movement stops at the end of the block. The auxiliary function output takes place at the end of the block. The following block is executed with no acknowledgment delay. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Special functions 9.1 Auxiliary function outputs Caution Function outputs in continuous-path mode Function outputs before the traversing movements interrupt continuous-path mode (G64/G641) and generate an exact stop for the previous block. Function outputs after the traversing movements interrupt continuous-path mode (G64/G641) and generate an exact stop for the current block. Important:A wait for an outstanding acknowledgment signal from the PLC can also cause an interruption to continuous-path mode, e.g., M instruction sequences in blocks with extremely short path lengths. 9.1.1 M functions Function M functions can trigger, for example, switching operations such as "Coolant ON/OFF" and other operations on the machine. Permanent functions have already been assigned to some of the M functions by the control manufacturer (see list of predefined M functions). Programming M... Possible values. 0 to 9999 9999 (max. INT value), integer Parameters List of predefined M functions M0* Programmed stop 1 M1* Optional stop M2* End of main program with return to beginning of program M30* End of program, same effect as M2 M17* End of subprogram M3 Spindle clockwise M4 Spindle counterclockwise M5 Spindle stop M6 Tool change (default setting) M70 Spindle is switched to axis mode M40 Automatic gear change M41 Gear stage 1 M42 Gear stage 2 M43 Gear stage 3 M44 Gear stage 4 M45 Gear stage 5 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 413 Special functions 9.1 Auxiliary function outputs Notice Extended address notation cannot be used for the functions marked with *. The commands M0, M1, M2, M17 and M30 are always initiated after the traversing movement. Machine manufacturer All free M function numbers can be assigned by the machine manufacturer, e.g., with switching functions for controlling clamping fixtures or for activating/deactivating other machine functions, etc. See machine manufacturer's specifications. Example N10 S... N20 X... M3 N180 M789 M1767 M100 M102 M376 ;M function in the block with axis movement, ;spindle accelerates before the X axis ;movement ;Max. of 5 M functions in the block Predefined M commands Certain important M functions for program execution are supplied as standard with the control: Programmed stop, M0 Machining stops in the NC block with M0. You can now, for example, remove swarf, remeasure, etc. Programmed stop 1 - optional stop, M1 M1 can be set with * HMI/dialog "Program Control" or * the VDI interface. Program execution on the NC is stopped at each of the programmed blocks. Programmed stop 2 - an auxiliary function associated with M1 with stop in program execution Programmed halt 2 can be set via HMI/dialog "Program control" and permits technological processes to be interrupted at any time when the part has finished machining. It therefore allows the operator to intervene in the production process in order to remove chips, for example. 414 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Special functions 9.1 Auxiliary function outputs End of program, M2, M17, M30 A program is terminated with M2, M17 or M30 and reset to the beginning of the program. If the main program is called from another program (as a subprogram), M2/M30 has the same effect as M17 and vice versa, i.e., M17 has the same effect in the main program as M2/M30. Spindle functions, M3, M4, M5, M19, M70 The extended address notation with spindle number is used for all spindle functions. Example: M2=3 means CW spindle rotation for the second spindle. If no address extension is programmed, the function applies to the master spindle. 9.1.2 H functions Function H functions are used to transfer information to the PLC (programmable logic controller), in order to activate specific switching operations. H functions are REAL values. Up to three H functions can be programmed in one NC block. Machine manufacturer The meaning of the functions is determined by the manufacturer. Programming N10 G0 X20 Y50 H3=-11.3 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 415 Special functions 9.1 Auxiliary function outputs 416 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Arithmetic Parameters and Program Jumps 10.1 10 Arithmetic parameter (R) Function The arithmetic parameters are used, for example, if an NC program is not only to be valid for values assigned once, or if you need to calculate values. The required values can be set or calculated by the control during program execution. Another possibility consists of setting the arithmetic parameter values by operator inputs. If values have been assigned to the arithmetic parameters, they can be assigned to other variable-setting NC addresses in the program. Programming Rn=... Parameters R Arithmetic variables n Number of the arithmetic parameter, n= 0 to max. See machine data or machine manufacturer for max.; default setting: max = 0-99 Range of values (0.000 0001 ... 9999 9999) (8 decimal places and leading sign and decimal point) can be assigned to the arithmetic parameters. Machine manufacturer The number of R parameters is set in the machine data, or see specifications of machine manufacturer. Example of R parameters N10 R1= R1+1 ;The new R1 is calculated from the ;old R1 plus 1 N20 R1=R2+R3 R4=R5-R6 R7=R8* R9 R10=R11/R12 N30 R13=SIN(25.3) N40 R14=R1*R2+R3 ;R13 equals sine of 25.3 degrees ;Multiplication or division takes precedence over addition or subtraction ;R14=(R1*R2)+R3 N50 R14=R3+R2*R1 ;Result, the same as block N40 N60 R15=SQRT(R1*R1+R2*R2) ;Meaning: R15=square root of ;R12+R22 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 417 Arithmetic Parameters and Program Jumps 10.1 Arithmetic parameter (R) Example of assignment of axis values N10 G1 G91 X=R1 Z=R2 F300 N20 Z=R3 N30 X=-R4 N40 Z=-R5 ... Value assignment You can assign values in the following range to the arithmetic parameters: (0.000 0001 ... 9999 9999) (8 decimal places and sign and decimal point) * The decimal point can be omitted for integer values. * A plus sign can always be omitted. Example: R0=3.5678 R1=-37.3 R2=2 R3=-7 R4=-45678.1234 It is possible to assign an extended numerical range by using exponential notation: Example: (10-300 ... 10+300) The value of the exponent is written after the EX characters; maximum total number of characters: 10 (including signs and decimal point) Range of values for EX: -300 to +300 Example: R0=-0.1EX-5 ;Meaning: R0 = -0.000 001 R1=1.874EX8 ;Meaning: R1 = 187 400 000 Note There can be several assignments in one block incl. assignments of arithmetic expressions. Value assignment must be in a separate block. Assignments to other addresses The flexibility of an NC program comes down to being able to assign these arithmetic parameters or expressions with arithmetic parameters to other NC addresses. Values, arithmetic expressions and arithmetic parameters can be assigned to all addresses; Exception: addresses N, G, and L. 418 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Arithmetic Parameters and Program Jumps 10.2 Unconditional program jumps When assigning, write the character " = " after the address character. It is also possible to have an assignment with a minus sign. A separate block is required for assignments to axis addresses (traversing instructions). Example: N10 G0 X=R2 ;Assignment to the X axis Arithmetic operations and functions When operators/arithmetic functions are used, it is necessary to use conventional mathematical notation. Machining priorities are set by parentheses. Otherwise, multiplication and division take precedence over addition and subtraction. Degrees are used for the trigonometrical functions. 10.2 Unconditional program jumps Function By default, main programs, subprograms, cycles and interrupt routines execute the blocks in the sequence in which they were programmed. Program jumps can be used to modify this sequence. Programming GOTOB GOTOF GOTO/GOTOC Parameter GOTOB "Jump instruction" with backward jump destination (towards beginning of program) GOTOF Jump instruction with forward jump destination (towards end of program) GOTO Jump instruction with forward, then backward destination search (first towards end of program and then towards beginning of program) GOTOC Suppress Alarm 14080 "Branch destination not found". Jump instruction with forward, then backward destination search (first towards end of program and then towards beginning of program) Branch destination parameters for label, block number, or string variable Label Destination for a jump instruction Label: Labeling of branch destination within the program Block number Branch destination as main block or subblock number (e.g., 200, N300) String variable Variable of type string containing a label or block number Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 419 Arithmetic Parameters and Program Jumps 10.2 Unconditional program jumps Example Axis U: Pallet storage, transporting the pallet to the working area Axis V: Transfer line to a measuring station, where sampling controls are carried out: N10 ... N20 GOTOF LABEL_0 ;Jump forward to LABEL_0 N30 ... N40 LABEL_1: R1=R2+R3 ;Branch destination LABEL_1 N50 ... N60 LABEL_0: ;Branch destination LABEL_0 N70 ... N80 GOTOB LABEL_1 ;Jump backwards to LABEL_1 N90 ... Description Jump destinations with user-defined names can be programmed in a routine. The command GOTOF or GOTOB can be used to branch to a jump destination from any other point within the same program. The program then resumes execution at the instruction immediately following the jump destination. Destination not found If the destination is not found, program execution is terminated with Alarm 14080 "Destination not found". Command GOTOC suppresses this alarm. Program execution is resumed at the line following the GOTOC command. Destination backward Jump with label Label_1: ;destination .... GOTOB Label_1 Jump forward Jump with block number GOTOF N100 .... N100 ;destination 420 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Arithmetic Parameters and Program Jumps 10.3 Conditional program jumps (IF, GOTOB, GOTOF, GOTO, GOTOC) Indirect jumps Jump to block number N5 R10=100 N10 GOTOF "N"< Or IF expression GOTOF Or IF expression GOTO/GOTOC Branch destination parameters for label, block number, or string variable Label Destination for a jump command Label: Labeling of destination within the program Block number Jump destination as main block or subblock number (e.g., 200, N300) String variable Variable of type string containing a label or block number Comparison and logical operands The jump condition can be programmed with any comparison or logic operation (result: TRUE or FALSE). The program jump is executed if the result of the operation is TRUE. The jump destination can only be a block with a label or block number that appears within the program. Note Several conditional jumps can be formulated in the same block. == Equal to <> Not equal to > Greater than < Less than >= Greater than or equal to <= Less than or equal to Note For more information, see /PGA/Programming Manual Advanced; "Flexible NC Programming". 422 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Arithmetic Parameters and Program Jumps 10.3 Conditional program jumps (IF, GOTOB, GOTOF, GOTO, GOTOC) Example N40 R1=30 R2=60 R3=10 R4=11 R5=50 R6=20 ;Assignment of initial values N41 MA1: G0 X=R2*COS(R1)+R5 -> -> Y=R2*SIN(R1)+R6 ;Calculation and assignment to ;axis address N42 R1=R1+R3 R4=R4-1 ;Specification of variable N43 IF R4>0 GOTOB MA1 ;Jump statement with label N44 M30 ;End of program Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 423 Arithmetic Parameters and Program Jumps 10.3 Conditional program jumps (IF, GOTOB, GOTOF, GOTO, GOTOC) 424 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Program section repetition 11.1 11 Program section repetition Function Program section repetition allows you to repeat existing program sections within a program in any order. The block or program sections to be repeated are identified by labels. For more information on labels, please see: Fundamentals of NC Programming, "Language Elements of Programming Language" References: /PGA/Job Planning Programming Manual; Flexible NC Programming, "CASE Statement" and "Control Structures" Programming repeat block LABEL: xxx yyy REPEATB LABEL P=n Zzz The program line identified by a label is repeated P=n times. If P is not specified, the program section is repeated exactly once. After the last repetition, the program is continued at the line zzz following the REPEATB line. The block identified by the label can appear before or after the REPEATB statement. The search initially commences toward the start of the program. If the label is not found in this direction, the search continues toward the end of the program. Programming repeat area starting at label LABEL: xxx yyy REPEAT LABEL P=n zzz The program section between the label with any name and the REPEAT statement is repeated P=n times. If the block with the label contains further statements, these are executed again on each repetition. If P is not specified, the program section is repeated exactly once. After the last repetition, the program is continued at the line zzz following the REPEAT line. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 425 Program section repetition 11.1 Program section repetition Note The label must appear before the REPEAT statement. The search is performed toward the start of the program only. Programming repeat area between two labels START_LABEL: xxx ooo END_LABEL: yyy ppp REPEAT START_LABEL END_LABEL P=n zzz The area between the two labels is repeated P=n times. User-defined names can be assigned to the labels. The first line of the repetition contains the start label, the last line contains the end label. If the line containing the start or end label contains further statements, these are executed again on each run. If P is not specified, the program section is repeated once. After the last repetition, the program is continued at the line zzz following the REPEAT line. Note The program section to be repeated can appear before or after the REPEAT statement. The search initially commences toward the start of the program. If the start label is not found in this direction, the search resumes from the REPEAT statement toward the end of the program. It is not possible to nest the REPEAT statement with the two labels within parentheses. If the start label is found before the REPEAT statement and the end label is not reached before the REPEAT statement, the repetition is performed on the section between the start label and the REPEAT statement. Programming repeat an area between a label and the end label LABEL: xxx ooo ENDLABEL: yyy REPEAT LABEL P=n zzz ENDLABEL is a predefined label with a fixed name. ENDLABEL marks the end of a program section and can be used multiple times in the program. The block marked by ENDLABEL can contain further statements. 426 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Program section repetition 11.1 Program section repetition The area between a label and the following ENDLABEL is repeated P=n times. Any name can be used to define the start label. If the block with the start label or ENDLABEL contains further statements, these are executed on each repetition. Note If no ENDLABEL is found between the start label and the block with the REPEAT call, the loop ends before the REPEAT line. The construct therefore has the same effect as described above in "repeat area from label". If P is not specified, the program section is repeated once. After the last repetition, the program is continued at the line zzz following the REPEAT line. Parameters LABEL: Jump destination; the name of the jump destination is followed by a colon REPEAT Repeat (repeat several lines) REPEATB Repeat block (repeat one line only) Example of repetition of positions N10 POSITION1: X10 Y20 ;Position cycle N20 POSITION2: CYCLE(0,,9,8) N30 ... N40 REPEATB POSITION1 P=5 ;Execute BLOCK N10 five times N50 REPEATB POSITION2 ;Execute block N20 once N60 ... N70 M30 Example 5 squares with increasing width are to be produced N5 R10=15 N10 Begin: R10=R10+1 ;Width N20 Z=10-R10 N30 G1 X=R10 F200 N40 Y=R10 N50 X=-R10 N60 Y=-R10 N70 Z=10+R10 N80 REPEAT BEGIN P=4 ;Execute area from N10 to N70 four times N90 Z10 N100 M30 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 427 Program section repetition 11.1 Program section repetition Example repeat program section from BEGIN to END N5 R10=15 N10 Begin: R10=R10+1 ;Width N20 Z=10-R10 N30 G1 X=R10 F200 N40 Y=R10 N50 X=-R10 N60 Y=-R10 N70 END:Z=10 N80 Z10 N90 CYCLE(10,20,30) N100 REPEAT BEGIN END P=3 ;Execute area from N10 to N70 three times N110 Z10 N120 M30 Example of ENDLABEL N10 G1 F300 Z-10 N20 BEGIN1: N30 X10 N40 Y10 N50 BEGIN2: N60 X20 N70 Y30 N80 ENDLABEL: Z10 N90 X0 Y0 Z0 N100 Z-10 N110 BEGIN3: X20 N120 Y30 N130 REPEAT BEGIN3 P=3 ;Execute area from N110 to N120 three times N140 REPEAT BEGIN2 P=2 ;Execute area from N50 to N80 twice N150 M100 N160 REPEAT BEGIN1 P=2 ;Execute area from N20 to N80 twice N170 Z10 N180 X0 Y0 N190 M30 Example of milling: Machine drill position with different technologies N10 CENTER DRILL() ;Load center drill N20 POS_1: ;Drilling positions 1 N30 X1 Y1 N40 X2 N50 Y2 N60 X3 Y3 N70 ENDLABEL: N80 POS_2: ;Drilling positions 2 N90 X10 Y5 N100 X9 Y-5 428 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Program section repetition 11.1 Program section repetition N110 X3 Y3 N120 ENDLABEL: N130 DRILL() ;Change drill and drilling cycle N140 THREAD(6) ;Load tap M6 and ;threading cycle N150 REPEAT POS_1 ;Repeat program section once from ;POS_1 up to ENDLABEL N160 DRILL() ;Change drill and drilling cycle N170 THREAD(8) ;Load tap M8 and ;threading cycle N180 REPEAT POS_2 ;Repeat program section once from ;POS_2 up to ENDLABEL N190 M30 Supplementary conditions * Program section repetitions can be nested. Each call uses a subprogram level. * If M17 or RET is programmed during processing of a program section repetition, the repetition is aborted. The program is resumed at the block following the REPEAT line. * In the actual program display, the program section repetition is displayed as a separate subprogram level. * If the level is canceled during the program section repetition, the program resumes at the point after the program section repetition call. Example: N5 R10=15 N10 Begin: R10=R10+1 ;Width N20 Z=10-R10 N30 G1 X=R10 F200 N40 Y=R10 ;Level cancellation N50 X=-R10 N60 Y=-R10 N70 END: Z10 N80 Z10 N90 CYCLE(10,20,30) N100 REPEAT BEGIN END P=3 N120 Z10 ;Resume program processing N130 M30 * Control structures and program section repetitions can be used in combination. There should be no overlap between the two, however. A program section repetition should appear within a control structure branch or a control structure should appear within a program section repetition. * If jumps and program section repetitions are mixed, the blocks are executed purely sequentially. For example, if a jump is performed from a program section repetition, processing continues until the programmed end of the program section is found. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 429 Program section repetition 11.1 Program section repetition Example: N10 G1 F300 Z-10 N20 BEGIN1: N30 X=10 N40 Y=10 N50 GOTOF BEGIN2 N60 ENDLABEL: N70 BEGIN2: N80 X20 N90 Y30 N100 ENDLABEL: Z10 N110 X0 Y0 Z0 N120 Z-10 N130 REPEAT BEGIN1 P=2 N140 Z10 N150 X0 Y0 N160 M30 Note Program section repetition is activated by programming. The REPEAT instruction should be placed behind the traveling blocks. 430 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 12 Tables 12.1 List of statements Legend: 1 Default setting at beginning of program (factory settings of the control, if nothing else programmed) 2 The groups are numbered according to the table in section "List of G functions/preparatory functions". 3 Absolute end points: modal (m); incremental end points: non-modal (n); otherwise: modal/non-modal depending on syntax of G function 4 As circle center points, IPO parameters act incrementally. They can be programmed in absolute mode with AC. The address modification is ignored when the parameters have other meanings (e.g., thread pitch). 5 The keyword is not valid for SINUMERIK 810D. 5 The keyword is not valid for SINUMERIK 810D/NCU571. 7 The keyword is not valid for SINUMERIK FM-NC. 8 The OEM can add two extra interpolation types. The names can be changed by the OEM. 9 Extended address notation cannot be used for these functions. Name Meaning Value Description, comment Syntax : Block number - main block (see N) 0 ... 99 999 999 integers only, without signs Special identification of blocks, instead of N... ;this block should contain all statements required for a complete subsequent machining section. e.g.,20 A Axis Real m/n A2 5 Tool orientation: Euler angles Real s Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 m/s3 Group 2 431 Tables 12.1 List of statements Name Meaning A3 5 Tool orientation: Direction- Real vector component s A4 5 Tool orientation for start of Real block s A5 5 Tool orientation for end of block: Normal-vector component real s ABS Absolute value real AC Input of absolute dimensions 0, ..., 359.9999 ACC 5 Axial acceleration Real, without sign ACCLIMA 5 Reduction or overshoot of maximum axial acceleration 0, ..., 200 ACN Absolute dimensions for rotary axes, approach position in negative direction ACOS Arc cosine (trigon. function) ACP Absolute dimensions for rotary axes, approach position in positive direction ADIS Rounding clearance for path functions G1, G2, G3, ... Real, without sign m ADISPOS Rounding clearance for rapid traverse G0 Real, without sign m ADISPOSA Size of the tolerance window for IPOBRKA Integer, real ALF Angle tilt fast Integer, without sign AMIRROR Programmable mirroring (additive mirror) AND Logical AND ANG Contour angle real s AP Angle polar 0, ..., 360 m/n APR Read/display access protection (access protection read) Integer, without sign 432 Value Description, comment Syntax X=AC(100) m/s3 Group 2 s m Valid range is 1% to 200%. ACCLIMA[X]= ...[%] m A=ACN(...) B=ACN(...) C=ACN(...) s A=ACP(...) B=ACP(...) C=ACP(...) s real ADISPOSA=... or ADISPOSA([,RE AL]) m m AMIRROR X0 Y0 Z0AMIRROR ; separate block s 3 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.1 List of statements Name Meaning Value APW Write access protection (access protection write) Integer, without sign AR Opening angle (angle circular) 0, ..., 360 AROT Programmable rotation (additive rotation) Rotation about: 1st geometry axis: -180... +180 2nd geometry axis: -90... +90 3rd geometry axis: -180... +180 AROTS Programmable frame rotations with solid angles (additive rotation) SL Macro definition ASCALE Programmable scaling (additive scale) ASPLINE Akima spline ATAN2 Arc tangent 2 ATRANS Additive programmable offset (additive translation) AX Variable axis identifier AXCSWAP Advance container axis AXCSWAP(CTn, CTn+1,...) 25 AXCTSWE Advance container axis AXCTSWE(CTi) 25 AXIS Data type: Axis identifier AXNAME Converts the input string to an axis name (get axname) String An alarm is generated if the input string does not contain a valid axis name. AXSTRING Converts the spindlenumber string (get string) String Name of file can be added AXTOCHAN Request axis for a specific channel. Possible from NC program and synchronized action. B Axis B_AND Bit AND B_OR Bit OR B_NOT Bit negation Description, comment Syntax m/s3 Group 2 m/n AROT X... Y... Z... AROT RPL= ;separate block s 3 AROTS X... Y... AROTS Z... X... AROTS Y... Z... AROTS RPL= ;separate block s 3 ASCALE X... Y... Z... ;separate block s 3 m 1 s 3 String real ATRANS X... Y... Z... ;separate block Real m/n Name of file can be added real Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 AXSTRING[ SPI(n) ] AXTOCHAN(axis, channel number[,axis, channel number[,...]]) m/n 433 Tables 12.1 List of statements Name Meaning Value Description, comment Syntax B_XOR Bit exclusive OR B2 5 Tool orientation: Euler angles Real s B3 5 Tool orientation: Direction-vector component Real s B4 5 Tool orientation for start of Real block s B5 5 Tool orientation for end of block: Normal-vector component s BAUTO Definition of first spline segment by the following 3 points (begin not a knot) BLSYNC Processing of interrupt routine is only to start with the next block change BNAT1 Natural transition to first spline block (begin natural) BOOL Data type: Boolean value TRUE/FALSE or 1/0 BOUND Tests whether the value real falls within the defined value range. If the values are equal, the test value is returned. BRISK1 Fast non-smoothed path acceleration BRISKA Switch on brisk path acceleration for the programmed axes BSPLINE Real m/s3 Group 2 m 19 m 19 m 21 B-spline m 1 BTAN Tangential transition to first spline block (begin tangential) m 19 C Axis real m/n Tool orientation: Euler angles Real s C3 5 Tool orientation: Direction-vector component Real s C4 5 Tool orientation for start of Real block s C5 5 Tool orientation for end of block; normal vector component s C2 434 5 Real Var1 : Varmin Var2: Varmax Var3: Varcheck RetVar = Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.1 List of statements Name Meaning Value CAC Absolute approach of position (coded position: absolute coordinate) Coded value is table index; table value is approached. CACN Absolute approach in negative direction of value stored in table (coded position absolute negative) Permissible for the programming of rotary axes as positioning axes. CACP Absolute approach in positive direction of value stored in table (coded position absolute positive) CALCDAT Calculate radius and center point or circle from 3 or 4 points (calculate circle data) CALL Indirect subprogram call CALLPATH Programmable search path for subprogram calls A path can be programmed to the existing NCK file system with CALLPATH. CANCEL Cancel modal synchronized action Cancel with specified ID. VAR Real [3] Description, comment Syntax m/s3 Group 2 The points must be different. CALL PROGVAR INT CALLPATH (/_N_WKS_DIR/_N_MY WPD/ subprogram_identifier_ SPF) Without parameters: All modal synchronized actions are deselected. CASE Conditional program branch CDC Direct approach of position (coded position: direct coordinate) CDOF 1 Collision detection OFF m 23 CDON Collision detection ON m 23 CDOF2 Collision detection OFF m 23 CFC 1 Constant feed at contour m 16 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 See CAC. For CUT3DC only 435 Tables 12.1 List of statements Name Meaning CFIN Constant feed at internal radius only, not at external radius m 16 CFTCP Constant feed in tool-center- point (centerpoint path) m 16 CHAN Specify validity range for data Once per channel CHANDATA Set channel number for channel data access INT Only permissible in the initialization module. CHAR Data type: ASCII character 0, ..., 255 CHECKSUM Forms the checksum over a an array as a fixedlength STRING Max. length 32 CHF Chamfer; value = length of chamfer Real, w/o signs CHR Chamfer; value = width of chamfer in direction of movement (chamfer) CHKDNO Check for unique D numbers CIC Incremental approach of position (coded position: incremental coordinate) CIP Circular interpolation through intermediate point CLEARM Reset one/several markers for channel coordination INT, 1-n Does not influence machining in own channel. CLRINT Deselect interrupt: INT Parameter: Interrupt number CMIRROR Mirror on a coordinate axis FRAME COARSEA Motion end when "Exact stop coarse" reached COMPOF1,6 Compressor OFF m 30 COMPON6 Compressor ON m 30 COMPCURV Compressor ON: Polynomials with constant curvature m 30 COMPCAD Compressor ON: Optimized surface quality CAD program m 30 436 Value Description, comment Syntax m/s3 Group 2 Returns string ERROR= of 16 hex digits. CHECKSUM s See CAC. CIP X... Y... Z... I1=... J1=... K1=... m COARSEA=... or COARSEA[n]=... m 1 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.1 List of statements Name Meaning Value CONTDCON Tabular contour decoding ON CONTPRON Activate contour preparation (contour preparation ON) COS Cosine (trigon. function) real COUPDEF Definition ELG group/synchronous spindle group (couple definition) String Description, comment Syntax Block change (software) response: COUPDEF(FS, ...) m/s3 Group 2 NOC: no blockchange control FINE/COARSE: block change on "synchronism fine/coarse" IPOSTOP: block change in setpointdependent termination of overlaid movement. COUPDEL Delete ELG group (couple delete) COUPDEL(FS,LS) COUPOF ELG group/synchronous spindle pair OFF (couple OFF) COUPOF(FS,LS, POSFS,POSLS) COUPOFS Deactivating ELG group/synchronized spindle pair with stop of following spindle COUPOFS(FS,LS,POS FS) COUPON ELG group/synchronous spindle pair ON (couple ON) COUPON(FS,LS, POSFS) COUPONC Transfer activation of ELG group/synchronized spindle pair with previous programming COUPONC(FS,LS) COUPRES Reset ELG group (couple reset) CP Path movement (continuous path) m 49 CPRECOF1,6 Programmable contour precision OFF m 39 CPRECON 6 Programmable contour precision ON m 39 CPROT Channel-specific protection zone ON/OFF CPROTDEF Channel specific protection area definition CR Circle radius Real, without sign CROT Rotation of the current coordinate system. FRAME Programmed values invalid; machine data values valid. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 COUPRES(FS,LS) s Max. parameter count: 6 437 Tables 12.1 List of statements Name Meaning Value CROTS Programmable frame rotations with solid angles (rotation in the specified axes) CSCALE Scale factor for multiple axes. CSPLINE Cubic spline CT Circle with tangential transition CTAB Define following axis position according to leading axis position from curve table CTABDEF Table definition ON CTABDEL Clear curve table FRAME real Description, comment CROTS X... Y... CROTS Z... X... CROTS Y... Z... CROTS RPL= ;separate block s m 1 CT X... Y.... Z... m 1 If parameter 4/5 not programmed: Standard scaling Table definition OFF CTABEXISTS Checks the curve table with number n Parameter n CTABFNO Number of curve tables still possible in the memory memType CTABFPOL Number of polynomials still possible in the memory memType CTABFSEG Number of curve segments still possible in the memory memType CTABID Returns table number of the nth curve table parameter n and memType CTABINV Define leading axis position according to following axis position from curve table See CTAB. CTABIS LOCK Returns the lock state of the curve table with number n Parameter n CTABLOCK Set lock against deletion and overwriting Parameters n, m, and memType. CTABMEMTYP Returns the memory in which curve table number n is created. Parameter n CTABMPOL Max. number of polynomials still possible in the memory memType CTABMSEG Max. number of curve segments still possible in the memory memType CTABNO Number of defined curve tables irrespective of mem. type No parameters. CTABNOMEM Number of defined curve tables in SRAM or DRAM memory. memType 438 m/s3 Group 2 Max. parameter count: 2 * axis countmax CTABEND real Syntax Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.1 List of statements Name Meaning Value CTABPERIOD Returns the table periodicity with number n Parameter n CTABPOL Number of polynomials already used in the memType memory CTABPOLID Number of the curve polynomials used by the curve table with number n Parameter n CTABSEG Number of curve segments already used in the memory memType CTABSEGID Number of the curve segments used by the curve table with number n Parameter n CTABSEV Returns the final value of the following axis Segment is of a segment of the curve table determined by LW. R10 = CTABSEV(LW, n, degree, Faxis, Laxis) CTABSSV Returns the initial value of the following axis of a segment of the curve table Segment is determined by LW. R10 = CTABSSV(LW, n, degree, Faxis, Laxis) CTABTEP Returns the value of the leading axis at curve table end. Master value at end of curve table R10 = CTABTEP(n, degree, Laxis) CTABTEV Returns the value of the the following axis at curve table end Following value at end of curve table. R10 = CTABTEV(n, degree, Faxis) CTABTMAX Returns the maximum value of the following axis of the curve table Following value of the curve table. R10 = CTABTMAX(n, Faxis) CTABTMIN Returns the minimum value of the following axis of the curve table Following value of the curve table. R10 = CTABTMIN(n, Faxis) CTABTSP Returns the value of the leading axis at curve table start Master value at start of curve table. R10 = CTABTSP(n, degree, Laxis) CTABTSV Returns the value of the following axis at curve table start Following value at start of curve table. R10 = CTABTSV(n, degree, Faxis) CTABUNLOCK Cancel locking against deletion and overwriting Parameters n, m, and memType CTRANS Zero offset for multiple axes Max. 8 axes. CUT2D 1 2D cutter compensation type 2dimensional m 22 CUT2DF 2D cutter compensation type 2dimensional frame. The cutter compensation acts relative to the current frame (inclined plane). m 22 CUT3DC 5 3D cutter compensation type 3dimensional circumference milling m 22 CUT3DCC 5 3D cutter compensation type 3dimensional circumference milling with limitation surfaces m 22 FRAME Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Description, comment Syntax m/s3 Group 2 439 Tables 12.1 List of statements Name Meaning CUT3DCCD 5 3D cutter compensation type 3dimensional circumference milling with limitation surfaces with differential tool m 22 CUT3DF 5 3D cutter compensation type 3dimensional face milling m 22 CUT3DFF 5 3D cutter compensation type 3dimensional face milling with constant tool orientation dependent on the current frame m 22 CUT3DFS 5 3D cutter compensation type 3dimensional face milling with constant tool orientation independent of the current frame m 22 CUTCONOF1 Constant radius compensation OFF m 40 CUTCONON Constant radius compensation ON m 40 D Tool offset number DAC Absolute, non-modal, axis-specific diameter programming DC Absolute dimensions for rotary axes, approach position directly DEF Variable definition DEFAULT Branch in CASE branch Jump to if expression does not fulfill any of the specified values. DELAYFSTON Define start of a stop delay range (DELAY feed stop ON) Implied if G331/G332 active. DELAYFSTOF Define end of a stop delay range (DELAY feed stop OFF) DELDTG Delete distance-to-go DELETE Delete the specified file. The file name can Can delete all be specified with path and file identifier. files. 440 Value 1, ..., 32 000 Description, comment Syntax m/s3 Group 2 Contains D... offset data for a particular tool T... ; D0 offset values for a tool Diameter programming DAC(50) s A=DC(...) B=DC(...) C=DC(...) SPOS=DC(...) s Integer, without sign m m Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.1 List of statements Name Meaning Value Description, comment Syntax m/s3 Group 2 DELT Delete tool Duplo number can be omitted. DIACYCOFA Axis-specific, modal diametral programming: OFF in cycles Radius programming, last active G code DIACYCOFA[axis] m DIAM90 Diameter programming for G90, radius programming for G91 m DIAM90A Axis-specific, modal diameter programming for G90 and AC, radius programming for G91 and IC m DIAMCHAN Acceptance of all axes from MD axis functions in diameter-programming channel status Accept diameter programming from MD. DIAMCHAN DIAMCHANA Acceptance of the diameter-programming channel status Channel status DIAMCHANA[axis] DIAMCYCOF Radius programming for G90/G91: ON. The G code of this group that was last active remains active for display Radius programming, last active G code m 29 DIAMOF1 Diameter programming: OFF (Diameter programming OFF) For default setting, see machine manufacturer. Radius programming for G90/G91 m 29 DIAMOFA Axis-specific, modal diameter programming: ON For default setting, see machine manufacturer. Radius progr. for G90/G91 and AC, IC. DIAMON Diameter programming: ON (Diameter programming ON) Diameter programming for G90/G91. DIAMONA Axis-specific, modal diameter programming: ON For activation, see machine manufacturer. Diameter programming for G90/G91 and AC, IC. DIAMONA[axis] m DIC Relative, non-modal, axis-specific diameter programming Diameter programming. DIC(50) s DILF Length for lift fast DISABLE Interrupt OFF DISC Transition circle overshoot 0, ..., 100 - radius compensation DISPLOF Suppress current block display (display OFF) DISPR Distance for repositioning DIAMOFA[axis] 29 m m 29 m Real, without sign Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 m s 441 Tables 12.1 List of statements Name Meaning Value Description, comment Syntax m/s3 Group 2 DISR Distance for repositioning Real, without sign s DITE Thread run-out path Real m DITS Thread run-in path Real m DIV Integer division DL Total tool offset INT m DRFOF Deactivate the handwheel offsets (DRF) m DRIVE7, 9 Velocity-dependent path acceleration m 21 DRIVEA Switch on bent acceleration characteristic curve for the programmed axes DYNFINISH Dynamic for smooth-finishing DYNFINISH G1 X10 Y20 Z30 F1000 m 59 Technology G group DYNNORM Standard dynamic, as previously DYNNORM G1 X10 m 59 DYNPOS Dynamics for positioning mode, tapping DYNPOS G1 X10 Y20 Z30 F... m 59 DYNROUGH Dynamic for roughing DYNROUGH G1 X10 Y20 Z30 F10000 m 59 DYNSEMIFIN Dynamic for finishing DYNSEMIFIN G1 X10 Y20 Z30 F2000 m 59 EAUTO Definition of last spline segment by the last 3 points (end not a knot) m 20 EGDEF Definition of an electronic gear (electronic gear define) For 1 following axis with up to 5 leading axes EGDEL Delete coupling definition for the following axis (electronic gear delete) Stops the preprocessing. EGOFC Switch off electronic gear continuously (electronic gear OFF continuous) EGOFS Switch off electronic gear selectively (electronic gear OFF selective) EGON Switch on electronic gear (Electronic gear ON) Without synchronization . EGONSYN Switch on electronic gear (electronic gear ON synchronized) With synchronization . EGONSYNE Switch on electronic gear, stating approach mode (electronic gear ON synchronized) With synchronization . ELSE Program branch, if IF condition not fulfilled 442 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.1 List of statements Name Meaning Value ENABLE Interrupt ON ENAT 1, 7 Natural transition to next traversing block (end natural) ENDFOR End line of FOR counter loop ENDIF End line of IF branch ENDLOOP End line of endless program loop LOOP ENDPROC End line of program with start line PROC ENDWHILE End line of WHILE loop ETAN Tangential transition to next traversing block at spline end (end tangential) EVERY Execute synchronized action if condition changes from FALSE to TRUE EXECSTRING Transfer of a string variable with the part program line to run EXECTAB Execute an element from a motion table (execute table) EXECUTE Program execution ON EXP Exponential function (ex) EXTCALL Execute external subprogram EXTERN Broadcast a subprogram with parameter passing F Feed value (in conjunction with G4 the dwell time is also programmed in F) Description, comment Indirect part program line Syntax m/s3 Group 2 m 20 m 20 EXECSTRING(MFCT1 << M4711) Return from the reference-point edit mode or after building a protection area to normal program processing. real 0.001, ..., 99999.999 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Reload program from HMI in "Execution from external source" mode. Path veloc. of a tool/workpiece; unit: mm/min or mm/revolution depending on G94 or G95 F=100 G1 ... 443 Tables 12.1 List of statements Name Meaning Value Description, comment FA Axial feed (feed axial) 0.001, ..., 999999.999 mm/min, degrees/min; 0.001, ..., 39999.9999 inch/min FAD Infeed feed for smooth approach and retraction (feed approach/depart) Real, without sign FALSE Logical constant: Incorrect BOOL Can be replaced with integer constant 0. FCTDEF Define polynomial function Is evaluated in SYNFCT or PUTFTOCF. FCUB 6 Feedrate variable according to cubic spline Acts on feed (feed cubic) with G93 and G94. m FD Path feed for handwheel override (feed DRF) Real, w/o signs s FDA Axial feed for handwheel override (feed DRF axial) Real, w/o signs s FENDNORM Corner deceleration OFF m 57 FFWOF 1 Feedforward control OFF (feed forward OFF) m 24 FFWON Feedforward control ON (feed forward ON) m 24 FGREF Reference radius of rotary axis or path reference factors of orientation axes (vector interpolation) Reference size effective value FGROUP Definition of axis/axes with path feed F applies to all axes specified under FGROUP. FIFOCTRL Control of preprocessing buffer m/s3 Group 2 FA[X]=100 m Programmable preprocessing depth FILEDATE Delivers date when file was last accessed and written. STRING, length 8 Format is "dd.mm.yy". FILEINFO Delivers sum of FILEDATE, FILESIZE, FILESTAT and FILETIME STRING, length 32 Format "rwxsd nnnnnnnn dd. hh:mm:ss" FILESIZE Delivers current file size Type: INT In BYTES. 37 m FGROUP (axis1, [axis2], ...) m FIFOLEN 444 Syntax 4 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.1 List of statements Name Meaning Value Description, comment FILESTAT Delivers file status of rights for read, write, execute, display, delete (rwxsd). STRING, length 5 Format is "rwxsd". FILETIME Delivers time when file was last accessed and written STRING, length 8 Format is "dd:mm:yy". FINEA Motion end when "Exact stop fine" reached FL Speed limit for synchronized axes (feed limit) FLIN 6 Feed linear variable (feed linear) FMA Feed multiple axial FNORM 1,6 Feed normal to DIN 66025 m FOCOF Deactivate travel with limited moment/force m FOCON Activate travel with limited moment/force m Real, without sign The unit set with G93, G94, G95 is applicable (max. rapid traverse). Syntax m/s3 Group 2 FINEA=... or FINEA[n]=... m FL[axis] =... m Acts on feed with G93 and G94. m Real, without sign FOR Counter loop with fixed number of passes FP Fixed point: Number of fixed point to be approached Integer, without sign FPO Feed characteristic programmed via a polynomial (feed polynomial) real FPR Identification for rotary axis 0.001, ..., 999999.999 FPRAOF Deactivate revolutional feedrate FPRAON Activate revolutional feedrate Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 37 m G75 FP=1 37 s Quadratic, cubic polynomial coefficient FPR (rotary axis) 445 Tables 12.1 List of statements Name Meaning Value FRAME Data type to define the coordinate system Description, comment Syntax m/s3 Group 2 Contains for each geometry axis: Offset, rotation, angle of shear, scaling, mirroring; For each special axis: offset, scaling, mirroring FRC Feed for radius and chamfer s FRCM Feed for radius and chamfer, modal m FTOC Change fine tool offset FTOCOF 1,6 Online fine tool offset OFF As a function of a 3rd-order polynomial defined with FCTDEF. m 33 m 33 FTOCON 6 Online fine tool offset ON FXS Travel to fixed stop ON Integer, without sign 1 = select, 0 = deselect m FXST Torque limit for travel to fixed stop (fixed stop torque) % parameter optional m FXSW Monitoring window for travel to fixed stop (fixed stop window) mm, inch or degrees parameter optional G G function (preparatory function) Only specified, integer values The G functions are divided into G groups. Only one G function of a group can be programmed in a block. A G function can be either modal (until it is canceled by another function of the same group) or only effective for the block in which it is programmed (non-modal). 446 G... Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.1 List of statements Name Meaning Value Description, comment Syntax m/s3 Group 2 G0 Linear interpolation with rapid traverse (rapid traverse motion) Motion commands G0 X... Z... m 1 G1 1 Linear interpolation with feedrate (linear interpolation) G1 X... Z... F... m 1 G2 Circular interpolation clockwise G2 X... Z... I... K... F... ;Center point and end point G2 X... Z... CR=... F... ;radius and end point G2 AR=... I... K... F... ;opening angle and ;center point G2 AR=... X... Z... F. ;opening angle and ;end point m 1 G3 Circular interpolation counter-clockwise G3 ...; otherwise as for G2 m 1 G4 Dwell time preset G4 F... ; dwell time in seconds s 2 s 2 s 2 s 11 m 6 m 6 m 6 Special motion or G4 S... ; dwell time in spindle revolutions. ; separate block G5 Oblique plunge-cut grinding G7 Compensatory motion during oblique plunge-cut grinding G9 G17 Oblique plungecutting Start position Exact stop - deceleration 1 Selection of working plane X/Y G18 Selection of working plane Z/X G19 Selection of working plane Y/Z G25 Lower working area limitation G26 G33 Infeed direction Z Infeed direction Y Infeed direction X G25 X... Y... Z... ;separate block s 3 Upper working area limitation Value assignment in channel axes. G26 X... Y... Z... ;separate block s 3 Thread interpolation with constant pitch Motion command G33 Z... K... SF=... ; cylindrical thread m 1 0.001, ..., 2000.00 mm/rev G33 X... I... SF=... ; face thread G33 Z... X... K... SF=... ; taper thread (path longer in Z axis than in X axis) G33 Z... X... I... SF=... ; taper thread (path longer in X axis than in Z axis) Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 447 Tables 12.1 List of statements Name Meaning Value Description, comment Syntax m/s3 Group 2 G34 Linear progressive speed change [mm/rev2] Motion command G34 X... Y... Z... I... J... K... F... m 1 G35 Linear degressive speed change [mm/rev2] Motion command G35 X... Y... Z... I... J... K... F... m 1 G40 1 Tool radius compensation OFF m 7 G41 Tool radius compensation left of contour m 7 G42 Tool radius compensation right of contour m 7 G53 Suppression of current zero offset (nonmodal) s 9 G54 1st settable zero offset m 8 G55 2. Settable work offset m 8 G56 3. Settable work offset m 8 G57 4. Settable work offset m 8 G58 Axial programmable zero offset, absolute s 3 G59 Axial programmable zero offset, additive s 3 G60 1 Exact stop - deceleration m 10 G62 Corner deceleration at inside corners when tool radius offset is active (G41, G42) m 57 G63 Tapping with compensating chuck s 2 Incl. programmed offsets Together with G62 Z... G1 continuous-path mode only G63 Z... G1 G64 Exact stop - continuous-path mode m 10 G70 Dimension in inches (lengths) m 13 G71 1 Metric dimension (lengths) m 13 G74 Reference point approach G74 X... Z... ;separate block s 2 G75 Fixed point approach G75 FP=.. X1=... Z1=... ;separate block s 2 G90 1 Absolute dimensions G90 X... Y... Z...(...) Y=AC(...) or X=AC Z=AC(...) m n 14 G91 Incremental dimension input G91 X... Y... Z... or X=IC(...) Y=IC(...) Z=IC(...) m n 14 G93 Inverse-time feedrate 1/rpm G93 G01 X... F... m 15 G94 1 Linear feedrate F in mm/min or inch/min and /min m 15 G95 Revolutional feedrate F in mm/rev or inches/rev m 15 448 Machine axes Execution of a block: Time Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.1 List of statements Name Meaning G96 Constant cutting speed (as for G95) ON G97 Value Description, comment Syntax m/s3 Group 2 G96 S... LIMS=... F... m Constant cutting speed (as for G95) OFF 15 m 15 G110 Pole programming relative to the last programmed setpoint position G110 X... Y... Z... s 3 G111 Polar programming relative to origin of current workpiece coordinate system G110 X... Y... Z... s 3 G112 Pole programming relative to the last valid pole G110 X... Y... Z... s 3 G140 1 SAR approach direction defined by G41/G42 m 43 G141 SAR approach direction to left of contour m 43 G142 SAR approach direction to right of contour m 43 G143 SAR approach direction tangentdependent m 43 G147 Soft approach with straight line s 2 G148 Soft retraction with straight line s 2 G153 Suppress current frames including base frame s 9 G247 Soft approach with quadrant s 2 Incl. system frame. G248 Soft retraction with quadrant s 2 G290 Switch to SINUMERIK mode ON m 47 m 47 m 1 m 1 G291 Switch to ISO2/3 mode ON G331 Tapping G332 Retraction (tapping) G340 1 Spatial approach block (depth and in plane Effective during (helix)) soft approach/retrac tion m 44 G341 Initial infeed on perpendicular axis (z), then approach in plane m 44 G347 Soft approach with semicircle s 2 s 2 m 18 0.001, ..., 2000.00 mm/rev G348 Soft retraction with semicircle G450 1 Transition circle Motion commands Effective during soft approach/retrac tion Corner behavior with tool radius compensation G451 Intersection of equidistances m 18 G460 1 Collision monitoring for approach and retraction block ON m 48 G461 Extend border block with arc if ... m 48 m 48 m 8 G462 G500 Extend border block with line if ... 1 Deactivation of all settable frames if G500 does not contain a value Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 ... no intersection in TRC block 449 Tables 12.1 List of statements Name Meaning Value G505 ...G599 5 ... 99. Settable zero offset G601 Block change at exact stop fine 1 G602 Block change at exact stop coarse G603 Block change at IPO - end of block Description, comment Only effective: - with act. G60 or - with G9 with programmable transition rounding Syntax G641 AIDS=... m/s3 Group 2 m 8 m 12 m 12 m 12 m 10 m 10 G641 Exact stop - continuous-path mode G642 Corner rounding with axial precision G643 Block-internal corner rounding m 10 G644 Corner rounding with specified axis dynamics m 10 G621 Corner deceleration at all corners m 57 G700 Dimensions in inches and inch/min (lengths + velocities + system variable) m 13 G710 1 Metric dimension in mm and mm/min (lengths + velocities + system variable) m 13 Together with G621 AIDS=... continuous-path mode only G8101, ..., G819 G group reserved for the OEM 31 G8201, ..., G829 G group reserved for the OEM 32 G931 Feedrate specified by travel time G942 m 15 Freeze linear feedrate and constant cutting rate or spindle speed m 15 G952 Freeze revolutional feedrate and constant cutting rate or spindle speed m 15 G961 Constant cutting rate and linear feed m 15 G962 Linear or revolutional feedrate and constant cutting rate m 15 G971 Freeze spindle speed and linear feed m 15 G972 Freeze linear or revolutional feedrate and constant spindle speed m 15 G973 Revolutional feedrate without spindle speed limitation G97 without LIMS for ISO mode m 15 GEOAX Assign new channel axes to geometry axes 1 - 3. Without parameter: MD settings effective. 450 Travel time Feed type as for G94. Feed type as for G94. G961 S... LIMS=... F... Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.1 List of statements Name Meaning Value GET Assign machine axis/axes Axis must be released in the other channel with RELEASE. GETD Assign machine axis/axes directly See GET. GETACTT Get active tool from a group of tools with the same name. GETSELT Get selected T number. GETT50 Get T number for tool name GOTO Jump statement first forward then backward (direction initially to end of program and then to start of program) Description, comment Can be applied in part program and technology cycles. Syntax m/s3 Group 2 GOTO (label, block no.) Labels must exist in the subprogram. GOTOF Jump forwards (toward the end of the program) GOTOB Jump backwards (toward the start of the program) GOTOC Suppress alarm 14080 "Destination not found". GWPSOF Deselect constant grinding wheel peripheral speed (GWPS). GWPSOF(T No.) s GWPSON Select constant grinding wheel peripheral speed (GWPS) GWPSON(T No.) s H... Auxiliary function output to Real/INT the PLC progr.: REAL: 0 ...+/- 3.4028 exp38 INT: -2147483646 ... +2147483647 Display: 999,999,999.9 999 I4 Interpolation parameters Real s I1 Intermediate point coordinate Real s IC Incremental dimensioning 0, ..., 99999.999 ICYCOF All blocks of a technology cycle are processed in one IPO cycle following ICYCOF. Within the program level only. ICYCON Each block of a technology cycle is processed in a separate IPO cycle following ICYCON. Within the program level only. IDS Identification of static synchronized actions Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 GOTOF (Label, block no.) GOTOB (Label, block no.) See GOTO. Can be H100 or H2=100 set for each MD (machine manufacturer). X=IC(10) s 451 Tables 12.1 List of statements Name Meaning IF Description, comment Syntax Introduction of a conditional jump in the part program/technology cycle Structure: IFELSE-ENDIF IF (condition) INCCW Travel on a circle involute Real in CCW direction with interpolation of involute by G17/G18/G19 End point: Center point: Radius with CR > 0: INCW Travel on a circle involute Real in CW direction with interpolation of involute by G17/G18/G19 INCW/INCCW X... Y... Z... INCW/INCCW I... J... K... INCW/INCCW CR=... AR... Angle of rotation in degrees Direct programming: between start INCW/INCCW I... J... and end vectors K... CR=... AR=... INDEX Define index of character in input string String: 1st parameter, character: 2nd parameter INIT Select module for execution in a channel INT Data type: Integer with sign - (231-1), ..., 231-1 INTERSEC Calculate intersection between two contour elements and specify TRUE intersection status in ISPOINT VAR REAL [2] ISPOINT error status: BOOL FALSE IP Variable interpolation parameter real IPOBRKA Motion criterion from braking ramp activation IPOENDA End of motion when "IPO stop" is reached IPTRLOCK Freeze start of the untraceable program section at next machine function block. Freeze interrupt pointer. m IPTRUNLOCK Set end of untraceable program section at current block at time of interruption. Set interrupt pointer. m ISAXIS Check if geometry axis 1 specified as parameter BOOL ISD Insertion depth real 452 Value 0, ..., INT Channel numbers 1-10 or $MC _CHAN_ NAME m/s3 Group 2 m 1 m 1 INIT(1,1,2) or INIT(CH_X, CH_Y) ISPOINTS= INTERSEC (TABNAME1[n1], TABNAME2[n2], ISTCOORD, MODE) Braking ramp at IPOBRKA=.. or 100% to 0%. IPOBRKA([,REA L]) IPOENDA=.. or IPOENDA[n].. m m m Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.1 List of statements Name Meaning Value Description, comment Syntax ISFILE Check whether the file exists in the NCK user memory. BOOL Returns results of type BOOL. RESULT=ISFILE("Testfi le") IF (RESULT==FALSE) ISNUMBER Check whether the input string can be converted to a number. BOOL Convert input string to a number. ISPOINTS Possible intersections calculated by ISTAB between two contours on the current plane. INT Machining type MODE (optional). ISVAR Check whether the transfer parameter contains a variable known in the NC BOOL Machine data, setting data and variables such as GUDs J4 Interpolation parameters Real s J1 Intermediate point coordinate real s JERKA Activate acceleration response set via MD for programmed axes JERKLIMA5 Reduction or overshoot of maximum jerk (jerk axial) 1, ..., 200 K4 Interpolation parameters Real s K1 Intermediate point coordinate Real s KONT Travel round contour on tool offset m 17 KONTC Approach/retract with continuouscurvature polynomial. m 17 KONTT Approach/retract with continuous-tangent polynomial. m 17 L Subroutine number Integer, up to 7 places LEAD 5 Lead angle real LEADOF Master value coupling OFF (lead off) LEADON Master value coupling ON (lead on) LFOF 1 Interrupt thread cutting OFF LFON Interrupt thread cutting ON m 41 LFPOS Axial retraction to a position m 46 Valid range is 1 to 200% m/s3 Group 2 STATE=ISPOINTS (KTAB1[n1], KTAB2[n2], ISTAB, [MODE]) JERKLIMA[X]= ...[%] L10 m s m m 41 LFTXT 1 Tangential tool direction on retraction m 46 LFWP Non-tangential tool direction on retraction m 46 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 453 Tables 12.1 List of statements Name Meaning Value LIFTFAST Rapid lift before interrupt routine call LIMS Spindle speed limitation with G96/G961 and G97 (limit spindle speed) 0.001, ..., 99 999. 999 LN Natural logarithm real LOCK Disable synchronized action with ID (stop technology cycle) Description, comment (Common) logarithm LOOP Introduction of an endless loop Structure: LOOPENDLOOP M... Switching operations Up to 5 unassigned M functions can be assigned by the machine manufacturer. real INT Display: 0, ..., 999 999 999 Program: 0,..., 2147483647 M0 9 Programmed stop M1 9 Optional stop M2 9 End of main program with return to beginning of program M3 Direction of spindle rotation clockwise for master spindle M4 Direction of spindle rotation counterclockwise for master spindle M5 Spindle stop for master spindle M6 Tool change M17 9 End of subroutine M19 For SSL accumulated spindle programming M30 9 End of program, same effect as M2 Automatic gear change M41... M45 Gear stage 1, ..., 5 M70 Transition to axis mode MASLDEF Define master/slave axis grouping. MASLDEL Uncouple master/slave axis grouping and clear grouping definition. MASLOF Disable a temporary coupling MASLOFS Deactivate a temporary coupling with automatic slave axis stop. MASLON Enable a temporary coupling MAXVAL Larger value of two variables (arithm. function) 454 m/s3 Group 2 m LOG M40 Syntax real If values are the ValMax = same, the same MAXVAL(Var1, Var2) value is returned. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.1 List of statements Name Meaning Value Description, comment Syntax m/s3 Group 2 MCALL Modal subprogram call MEAC Continuous measurement without deleting distanceto-go Integer, without sign MEAFRAME Frame calculation from measuring points FRAME MEAS Measure with touchtrigger probe Integer, without sign MEASA Measurement with deletion of distance-to-go MEAW Measure with touchtrigger probe without deleting distance-to-go MEAWA Measurement without deletion of distance-to-go s MI Access to frame data: Mirroring MI MINDEX Define index of character in input string 0, ..., INT String: 1st parameter, character: 2nd parameter MINVAL Smaller value of two variables (arithm. function) real If values are the ValMin = same, the same MINVAL(Var1, Var2) value is returned. MIRROR Programmable Mirroring MMC Call the dialog window interactively from the part program on the HMI. MOD Modulo division. MOV Start positioning axis (start moving positioning axis). MSG Programmable messages N Block number - subblock Without subprogram name: Deselection s s s Integer, without sign s MIRROR X0 Y0 Z0 ;separate block s MSG("message") m 3 STRING real 0, ..., 9999 9999 integers only, without signs Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Can be used for e.g., N20 assigning a number to a block; located at beginning of block. 455 Tables 12.1 List of statements Name Meaning Value Description, comment NCK Specify validity range for data Once per NCK NEWCONF Accept modified machine data. Corresponds to set machine data active. Also possible via HMI. NEWT Create new tool Duplo number can be omitted. NORM 1 Standard setting in starting point and end point with tool offset Syntax m/s3 Group 2 m 17 NOT Logical NOT (negation) NPROT Machine-specific protection zone ON/OFF NPROTDEF Machine-specific protection area definition (NCK-specific protection area definition) NUMBER Convert input string to number OEMIPO16,8 OEM interpolation 1 m 1 OEMIPO26,8 OEM interpolation 2 m 1 OF Keyword in CASE branch OFFN Allowance on the programmed contour OMA1 6 OEM address 1 Real m OMA2 6 OEM address 2 Real m OMA3 6 OEM address 3 Real m OMA4 6 OEM address 4 Real m OMA5 6 real OFFN=5 OEM address 5 Real m OFFN Offset - normal real m OR Logical OR ORIC 1,6 Orientation changes at outside corners are superimposed on the circle block to be inserted (orientation change continuously) m 27 ORID 6 Orientation changes are performed before the circle block (orientation change discontinuously) m 27 ORIAXPOS Orientation angle via virtual orientation axes with rotary axis positions m 50 ORIEULER Orientation angle via Euler angle ORIAXES Linear interpolation of machine axes or orientation axes ORICONCW Interpolation on a circular peripheral surface in CW direction ORICONCCW Interpolation on a circular peripheral surface in CCW direction Final orientation: Vector specification A3, B3, C3, or Euler/RPY angle A2, B2, C2 Additional 456 m 50 Parameter settings as follows: m 51 Direction vectors normalized A6=0 B6=0 C6=1 m 51 m 51 Opening angle implemented as travel angle with SLOT=... Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.1 List of statements Name Meaning Value ORICONIO Interpolation on a circular peripheral surface with intermediate orientation setting ORICONTO Interpolation on circular peripheral surface in tangential transition (final orientation) ORICURVE Interpolation of orientation with specification of motion of two contact points of tool ORIPLANE Interpolation in a plane (corresponds to ORIVECT), large-radius circular interpolation Description, comment Syntax m/s3 Group 2 specifications: Rotational vectors A6, B6, C6 SLOT=+... at 180 degrees SLOT= -... at 180 degrees m 51 m 51 m 51 m 51 Opening angle Intermediate orientation of cone in normalized A7=0 B7=0 C7=1 degrees: 0 < SLOT < 180 Intermediate vectors: A7, B7, C7 Tool contact point: XH, YH, ZH ORIPATH Tool orientation in relation to path Handling transformation package (see /FB3/TE4). m 51 ORIPATHS Tool orientation in relation to path, blips in Relative to the the orientation characteristic are smoothed path as a whole. m 51 ORIROTA Angle of rotation to an absolute direction of rotation. m 54 ORIROTC Tangential rotational vector in relation to path tangent m 54 ORIROTR Angle of rotation relative to the plane between the start and end orientation. m 54 ORIROTT Angle of rotation relative to the change in the orientation vector. m 54 ORIRPY Orientation angle via RPY angle (XYZ) Rotational sequence XYZ m 50 ORIRPY2 Orientation angle via RPY angle (ZYX) Rotational sequence ZYX m 50 ORIS 5 Orientation modification (orientation smoothing factor) Relative to the path. m ORIVECT Large-radius circular interpolation (identical to ORIPLANE) m 51 ORIVIRT1 Orientation angle via virtual orientation axes (definition 1) m 50 ORIVIRT2 Orientation angle via virtual orientation axes (definition 1) m 50 ORIMKS 6 Tool orientation in the machine coordinate system m 25 ORIRESET Initial setting of tool orientation with up to 3 Parameter ORIRESET(A,B,C) orientation axes optional (REAL) real Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Relative to path tangent. 457 Tables 12.1 List of statements Name Meaning ORIWKS 1,6 Tool orientation in the workpiece coordinate system OS Oscillation on/off OSB Oscillating: Start point m OSC 6 Continuous tool orientation smoothing m OSCILL Axis assignment for oscillationactivate oscillation OSCTRL Oscillation control options OSD 6 Rounding of tool orientation by specifying rounding length with SD OSE Oscillating: End point m OSNSC Oscillating: Number of spark-out cycles (oscillating: number sparkout cycles) m OSOF 1,6 Tool-orientation smoothing OFF m OSP1 Oscillating: Left reversal point (oscillating: position 1) Real m OSP2 Oscillating: Right reversal point (oscillating: position 2) Real m OSS 6 Tool-orientation smoothing at end of block m 34 OSSE 6 Tool-orientation smoothing at start and end of block m 34 OST 6 Rounding of tool orientation by specifying angle tolerance in degrees with SD (maximum deviation from programmed orientation characteristic) m 34 OST1 Oscillating: Stopping point in left reversal point Real m OST2 Oscillating: Stopping point in right reversal point Real m OVR Speed override 1, ..., 200% m OVRA Axial speed override 1, ..., 200% m P Number of subprogram cycles 1, ..., 9999, integers w/o signs 458 Value Description, comment Syntax m/s3 Group 2 m 25 Integer, without sign Axis: 1 - 3 infeed axes 34 m Integer, without sign m Block-internal m Block-internal 34 34 e.g., L781 P... ; separate block Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.1 List of statements Name Meaning Value Description, comment Syntax m/s3 Group 2 PCALL Call subprograms with the absolute path and parameter transfer PAROT Align workpiece coordinate system on workpiece m 52 PAROTOF Deactivate workpiece-related frame rotation m 52 PDELAYOF 6 Punch with delay OFF m 36 PDELAYON 1.6 Punch with delay ON m 36 PL Parameter interval length PM Per minute PO Polynomial Real, without sign POLF LIFTFAST position Real, without sign POLFA No absolute path. Behavior as for CALL. Real, without sign s Feed per minute. s Geometry axis POLF[Y]=10 target in WCS, position of retracting otherwise MCS. axis m Start retract position of single axes with $AA_ESR_TRIGGER For single axes. POLFA(AX1, 1, 20.0) m POLFMASK Enable axes for retraction without a connection between the axes Selected axes POLFMASK(AX1, AX2, ...) m POLFMLIN Enable axes for retraction with a linear connection between the axes Selected axes POLFMIN(AX1, AX2, ...) m POLY 5 POLYPATH PON 6 PONS Polynomial interpolation 5 Polynomial interpolation can be selected for the AXIS or VECT axis groups POLYPATH ("AXES") POLYPATH ("VECT") Punch ON 6 Punch ON in IPO cycle (punch ON slow) POS Axis positioning POS[X]=20 POSA Position axis across block boundary POSA[Y]=20 POSP Positioning in part sections (oscillation) (position axis in parts) m 1 m 1 m 35 m 35 Real: end position, part length; Integer: option POT Square (arithmetic function) PR Per revolution real Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Revolutional feedrate 459 Tables 12.1 List of statements Name Meaning Value PRESETON Sets the actual value for programmed axes Description, comment Syntax m/s3 Group 2 One axis PRESETON(X,10,Y, identifier is 4.5) programmed at a time, with its respective value in the next parameter. Up to 8 axes possible. PRIO Keyword for setting the priority for interrupt processing PROC First instruction in a program PTP Point to point motion (point to point) synchronous axis m 49 PTPG0 Point to point motion only with G0, otherwise CP synchronous axis m 49 PUTFTOC Fine tool offset for parallel dressing (continuous dressing) (put fine tool correction) Channel numbers 1 - 10 or $MC _CHAN_NAME PUTFTOC(1,1,2) or PUTFTOC(CH_name) PUTFTOCF Fine tool offset depending on a function defined with FCtDEF for parallel dressing (continuous dressing) (put fine tool correction function dependant) Channel numbers 1 - 10 or $MC _CHAN_NAME PUTFTOCF(1,1,2) or PUTFTOCF(CH_name) PW Point weight QECLRNOF Quadrant error compensation learning OFF QECLRNON Quadrant error compensation learning ON Block number - PROC identifier Real, without sign QU Fast additional (auxiliary) function output R... Arithmetic parameters also as settable address identifier and with numerical extension RAC Absolute, non-modal, axis-specific radius programming RDISABLE Read-in disable READ Reads one or more lines in the specified file and stores the information read in the array. 460 0.0000001, ..., 9999 9999 s Number of R parameters that can be set by MD R10=3 ;R parameter assignment X=R10 ;axis valueR[R10]=6 ;indirect prog. Radius programming RAC(50) s The information is available as STRING. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.1 List of statements Name Meaning Value READAL Read alarm REAL Data type: floating point variable with sign (real numbers) REDEF Setting for machine data, NC language elements and system variables, specifying the user groups they are displayed for RELEASE Release machine axes REP Keyword for initialization of all elements of an array with the same value REPEAT Repeat a program loop Until (UNTIL) a condition is fulfilled. REPEATB Repeat a program line nnn times REPOSA Repositioning linear all axes s 2 REPOSH Repositioning semi circle s 2 REPOSHA Repositioning all axes; geometry axes semicircle (repositioning semicircle all axes) s 2 REPOSL Repositioning linear s 2 REPOSQ Repositioning quarter circle s 2 REPOSQA Repositioning linear all axes; geometry axes quarter circle (repositioning quarter circle all axes) s 2 RESET Reset technology cycle Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Description, comment Syntax m/s3 Group 2 Alarms are searched according to ascending numbers Correspond s to the 64bit floating point format of the processor Multiple axes can be programmed. REP(value) or DO ARRAY[n,m]=REP( ) One or several IDs can be programmed. 461 Tables 12.1 List of statements Name Meaning RET Value Description, comment Syntax End of subroutine Use in place of M17 - without function output to PLC. RET RIC Relative, non-modal, axis-specific radius programming Radius programming RIC(50) RINDEX Define index of character in input string String: 1st parameter, character: 2nd parameter RMB Repositioning at beginning of block (repos mode begin of block) m 26 RME Repositioning at end of block (repos mode end of block) m 26 RMI 1 Repositioning at interruption point (repos mode interrupt) m 26 RMN Reapproach to nearest path point (repos mode end of nearest orbital block) m 26 RND Round the contour corner Real, without sign RND=... s RNDM Modal rounding Real, without sign RNDM=... RNDM=0: disable modal rounding m ROT Programmable rotation Rotation around 1st geometry axis: -180... +180 2nd geometry axis: -90 ... +90 3rd geometry axis: -180... +180 ROT X... Y... Z... ROT RPL= ;separate block s 3 ROTS Programmable frame rotations with solid angles (rotation) ROTS X... Y... ROTS Z... X... ROTS Y... Z... ROTS RPL= ;separate block s 3 ROUND Round decimal places real RP Polar radius real m/n RPL Rotation in the plane Real, without sign s RT Parameter for access to frame data: Rotation 0, ..., INT m/s3 Group 2 s RTLION G0 with linear interpolation m 55 RTLIOF G0 without linear interpolation (single-axis interpolation) m 55 462 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.1 List of statements Name Meaning Value Description, comment Syntax m/s3 Group 2 S Spindle speed or (with G4, G96/G961) other meaning REAL Display: 999 999 999.9999 Program: 3.4028 ex38 Spindle speed in rpm G4: Dwell time in spindle revolutions G96/G961: Cutting rate in m/min. S...: Speed for master spindle S1...: Speed for spindle 1 m/n SAVE Attribute for saving information at subprogram calls The following are saved: All modal G functions and the current frame. SBLOF Suppress single block (single block OFF) The following blocks are executed in single block like a block. SBLON Clear single block suppression (single block ON) SC Parameter for access to frame data: Scaling (scale) SCALE Programmable scaling (scale) SCALE X... Y... Z... ;separate block s SCC Selective assignment of transverse axis to G96/G961/G962. Axis identifiers may take the form of geo, channel or machine axes. SD Spline degree SEFORM Structuring instruction in Step editor to generate the step view for HMI Advanced SET Keyword for initialization of all elements of an array with listed values SETAL Set alarm SETDNO Set D number of tool (T) and its cutting edge to "new". SETINT Define which interrupt routine is to be activated when an NCK input is present SETMS Reset to the master spindle defined in machine data SETMS(n) Set spindle n as master spindle SETPIECE Set piece number for all tools assigned to the spindle. Also with SCC[axis] constant cutting rate Integer, without sign Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 3 s Evaluated in Step editor. SEFORM (, , ) SET(value, value, ...) or DO ARRAY[n,m]=SET( ) Edge 0 1 is analyzed. Without spindle number: applies to master spindle. 463 Tables 12.1 List of statements Name Meaning Value SF Starting point offset for thread cutting (spline offset) 0.0000,..., 359.999 SIN Sine (trigon. function) real SOFT Soft smoothed path acceleration SOFTA Switch on soft axis acceleration for the programmed axes Description, comment Syntax m/s3 Group 2 m m 21 SON 6 Nibbling ON (stroke ON) m 35 SONS 6 Nibbling ON in IPO cycle (stroke ON slow) m 35 SPATH 1 Path reference for FGROUP axes is arc length m 45 SPCOF Switch master spindle or spindle(s) from position control to speed control SPCOF SPCOF(n) m SPCON Switch master spindle or spindle(s) from speed control to position control SPCON SPCON (n) m SPIF1 1,6 Fast NCK inputs/outputs for punching/nibbling byte 1 (stroke/punch interface 1) m 38 SPIF2 6 Fast NCK inputs/outputs for punching/nibbling byte 2 (stroke/punch interface 2) m 38 SPLINE-PATH Define spline grouping SPOF Stroke OFF, punching, nibbling OFF m 35 SPN 6 Number of path sections per block (stroke/punch number) Integer s SPP 6 Length of path section (stroke/punch path) Integer m SPOS Spindle position SPOS=10 or SPOS[n]=10 m SPOSA Spindle position across block boundaries SPOSA=5 or SPOSA[n]=5 m SQRT Square root (arithmetic function) real SR Sparking-out retraction path for synchronized action Real, without sign SRA Sparking-out retraction path with external input axial for synchronized action 464 1,6 Max. 8 axes. s SRA[Y]=0.2 m Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.1 List of statements Name Meaning Value Description, comment Syntax m/s3 Group 2 ST Sparking-out time for synchronized action Real, without sign STA Sparking-out time axial for synchronized action START Start selected programs simultaneously in several channels from current program STARTFIFO1 Execute; simultaneously fill preprocessing memory m STAT Position of joints s STOPFIFO Stop machining; fill preprocessing memory until STARTFIFO is detected, FIFO full or end of program STOPRE Stop preprocessing until all prepared blocks are executed in main run STOPREOF Stop preprocessing OFF STRING Data type: Character string Max. 200 characters STRINGIS Checks the present scope of NC language and NC cycle names, user variables, macros and label names belonging especially to this command to establish whether these exist, are valid, defined or active. INT STRLEN Define string length INT SUBSTR Define index of character in input string real SUPA Suppression of current zero offset, including programmed offsets, system frames, handwheel offsets (DRF), external zero offset and overlaid motion SYNFCT Evaluation of a polynomial VAR REAL as a function of a condition in the motionsynchronous action s m Ineffective for the local channel. START(1,1,2) or START(CH_X, CH_Y) $MC _CHAN_NAME Integer Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 The return value results are 000 not known 100 programmable 2XX recognized as present 4 m 4 s 9 STRINGIS (STRING,name)= Digit-coded return value String: 1st parameter, character: 2nd parameter 465 Tables 12.1 List of statements Name Meaning Value SYNR The variable is read synchronously, i.e., at execution time (synchronous read) SYNRW The variable is read and written synchronously, i.e., at execution time (synchronous read-write) SYNW The variable is written synchronously, i.e., at execution time (synchronous write) T Call tool (only change if specified in machine data; otherwise M6 command necessary) 1, ..., 32 000 TAN Tangent (trigon. function) real TANG Determine tangent for the follow-up from both specified leading axes TANGOF Tangent follow-up mode OFF TANGON Tangent follow-up mode ON TCARR Request toolholder (number "m") TCOABS 1 Determine tool length components from the orientation of the current toolholder TCOFR Integer Description, comment Syntax m/s3 Group 2 Call using T-no. For example, T3 or or tool identifier. T=3, e.g., T="DRILL" m=0: deselect active toolholder TCARR=1 m 42 Determine tool length components from the orientation of the active frame Necessary after reset, e.g., through manual setting m 42 TCOFRX Determine tool orientation of an active frame on selection of tool, tool points in X direction Tool perpendicular to inclined surface m 42 TCOFRY Determine tool orientation of an active frame on selection of tool, tool points in Y direction Tool perpendicular to inclined surface m 42 TCOFRZ Determine tool orientation of an active frame on selection of tool, tool points in Z direction Tool perpendicular to inclined surface m 42 THETA Angle of rotation THETA is always perpendicular to the current tool orientation. TILT 5 Tilt angle 466 real THETA=Value THETA=AC THETA=IC Polynomial for THETA PO[THT]=(...) s TILT=Value m Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.1 List of statements Name Meaning TMOF Value Description, comment Syntax Deselect tool monitoring T-no. required only when the tool with this number is not active. TMOF (T no.) TMON Activate tool monitoring T No. = 0: Deactivate monitoring for all tools TMON (T no.) TO Defines the end value in a FOR counter loop TOFFOF Deactivate on-line tool offset TOFFON Activate online tool length offset (Tool offset ON) Specify a 3D offset direction. TOFFON (Z, 25) with offset direction Z, offset value 25 TOFRAME Set current programmable frame to tool coordinate system Frame rotation in tool direction. TOFRAMEX m/s3 Group 2 m 53 X axis parallel to tool direction, secondary axis Y, Z m 53 TOFRAMEY Y axis parallel to tool direction, secondary axis Z, X m 53 TOFRAMEZ Z axis parallel to tool direction, secondary axis X, Y m 53 TOLOWER Convert letters of the string into lowercase m 53 m 53 m 53 m 53 m 53 TOROTOF Frame rotations in tool direction OFF TOROT Z axis parallel to tool orientation TOROTX X axis parallel to tool orientation Frame rotations EIN Rotary component of the programmable frame TOROTY Y axis parallel to tool orientation TOROTZ Z axis parallel to tool orientation TOUPPER Convert letters of the string into uppercase TOWSTD Initial setting value for offsets in tool length Inclusion of tool wear Wear values in basic coordinate system m 56 m 56 TOWKCS Wear values in the coordinate system of the tool head for kinetic transformation (differs from MCS by tool rotation) m 56 TOWMCS Wear data in the machine coordinate system (MCS) m 56 TOWBCS (BCS) Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 467 Tables 12.1 List of statements Name Meaning Value TOWTCS Wear values in the tool coordinate system (tool carrier ref. point T at the tool holder) m 56 TOWWCS Wear values in workpiece coordinate system (WCS) m 56 TRAANG Transformation inclined axis TRACEOF Circularity test: Transfer of values OFF TRACEON Circularity test: Transfer of values ON TRACON Transformation concatenated TRACYL Cylinder: Peripheral surface transformation TRAFOOF Deactivate transformation TRAILOF Asynchronous coupled motion of axes OFF (trailing OFF) TRAILON Asynchronous coupled motion of axes ON (trailing ON) TRANS Programmable offset (translation) s 3 TRANSMIT Polar transformation See TRAANG. TRAORI 4-axis, 5-axis transformation, generic transformation (transformation oriented) Activates the specified orientation transformation. TRUE Logical constant: True BOOL Can be replaced with integer constant 1. TRUNC Truncate decimal places real TU Axis angle Integer TURN Number of turns for helix 0, ..., 999 UNLOCK Enable synchronized action with ID (continue technology cycle) Syntax m/s3 Group 2 Several transformations can be set for each channel. See TRAANG. TRAFOOF( ) UNTIL Condition for end of REPEAT loop UPATH Path reference for FGROUP axes is curve parameter VAR Keyword: Type of parameter passing 468 Description, comment TRANS X... Y... Z... ;separate block Generic transformation TRAORI(1,X,Y,Z) TU=2 s s m 45 With VAR: Call by reference Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.1 List of statements Name Meaning Value Description, comment Syntax m/s3 Group 2 VELOLIMA5 Reduction or overshoot of maximum axial velocity 1, ..., 200 Valid range is 1 to 200% VELOLIMA[X]= ...[%] m WAITC Wait until coupling block change criterion Up to 2 for axes/spindles is fulfilled (wait for couple axes/spindles condition) can be programmed. WAITC(1,1,2) WAITE Wait for end of program on another channel. Channel numbers 1 - 10 or $MC _CHAN_NAME WAITE(1,1,2) or WAITE(CH_X, CH_Y) WAITM Wait for marker in specified channel; terminate previous block with exact stop. Channel numbers 1 - 10 or $MC _CHAN_NAME WAITM(1,1,2) or WAITM(CH_X, CH_Y) WAITMC Wait for marker in specified channel; exact Channel stop only if the other channels have not numbers 1 - 10 yet reached the marker. or $MC _CHAN_NAME WAITMC(1,1,2) or WAITMC(CH_X, CH_Y) WAITP Wait for end of traversing WAITP(X) ; separate block WAITS Waiting to reach spindle position WAITS (main spindle) WAITS (n,n,n) WALCS0 WORK working-area limitation deselected m 60 WALCS1 WORK working-area-limitation group 1 active m 60 WALCS2 WORK working-area-limitation group 2 active m 60 WALCS3 WORK working-area-limitation group 3 active m 60 WALCS4 WORK working-area-limitation group 4 active m 60 WALCS5 WORK working-area-limitation group 5 active m 60 WALCS6 WORK working-area-limitation group 6 active m 60 WALCS7 WORK working-area-limitation group 7 active m 60 WALCS8 WORK working-area-limitation group 8 active m 60 WALCS9 WORK working-area-limitation group 9 active m 60 WALCS10 WORK-working-area-limitation group 10 active m 60 WALIMOF BCS working area limitation OFF ; separate block m 28 WALIMON1 BCS working area limitation ON ; separate block m 28 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 469 Tables 12.1 List of statements Name Meaning Value Description, comment WHILE Start of WHILE program loop End: ENDWHILE WRITE Write block in file system. Appends a block to the end of the specified file. The blocks are inserted after M30. Syntax real m/s3 Group 2 X Axis XOR Logical exclusive OR m/n Y Axis real m/n Z Axis real m/n Legend: 1 Default setting at beginning of program (factory settings of the control, if nothing else programmed) 2 The groups are numbered according to the table in section "List of G functions/preparatory functions". 3 Absolute end points: modal (m); incremental end points: non-modal (n); otherwise: modal/non-modal depending on syntax of G function 4 As circle center points, IPO parameters act incrementally. They can be programmed in absolute mode with AC. The address modification is ignored when the parameters have other meanings (e.g., thread pitch). 5 The keyword is not valid for SINUMERIK 810D. 5 The keyword is not valid for SINUMERIK 810D/NCU571. 7 The keyword is not valid for SINUMERIK FM-NC. 8 The OEM can add two extra interpolation types. The names can be changed by the OEM. 9 Extended address notation cannot be used for these functions. 470 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.2 List of addresses 12.2 List of addresses List of addresses The list of addresses consists of * Address letters * Fixed addresses * Fixed addresses with axis expansion * Settable addresses Address letters Available address letters Letter Meaning Numeric extension A Variable address identifier x B Variable address identifier x C Variable address identifier x D Selection/deselection of tool length compensation, tool cutting edge E Variable address identifier F Feedrate dwell time in seconds G G function x H H function x I Variable address identifier x J Variable address identifier x K Variable address identifier x L Subprograms, subprogram call M M function N Subblock number O Unassigned x P Number of program runs Q Variable address identifier x R Variable identifier (arithmetic parameter)/variable address identifier without numerical Expansion x S Spindle value dwell time in spindle revolutions x x T Tool number x V Variable address identifier x V Variable address identifier x W Variable address identifier x X Variable address identifier x Y Variable address identifier x Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 471 Tables 12.2 List of addresses Z Variable address identifier % Start character and separator for file transfer x : Main block number / Skip identifier Available fixed addresses Address identifier Address type Modal/ G70/ nonG71 modal L Subprogram no. n Integer without sign P Number of subprogram passes n Integer without sign N Block number n Integer without sign G G function See list of G functio ns Integer without sign F Feed, dwell time m, n OVR Override m S Spindle, dwell time m, n SPOS Spindle position m x x x Real SPOSA Spindle position beyond block limits m x x x Real T Tool number m x Integer without sign D Offset number m x Integer without sign M, H, Auxiliary functions x M: Integer without sign H: Real 472 n G700/ G90/ G710 G91 x IC AC DC, ACN, ACP CIC, CAC, CDC, CACN, CACP Qu x Data type Real without sign Real without sign x Real without sign Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.2 List of addresses Fixed addresses with axis expansion Address identifier Address type Modal/ G70/ nonG71 modal G700/ G90/ G710 G91 IC AC DC, ACN, ACP AX: Axis Variable axis identifier *) x x x x x x IP: Variable Interpolatio interpolation n parameter parameter n x x x x x POS: Positioning axis Positioning axis m x x x x x x x Real POSA: Positioning axis above end of block Positioning axis across block boundaries m x x x x x x x Real POSP: Positioning Positioning axis in parts axis in parts (oscillation) m x x x x x x PO: Polynomial 1) Polynomial coefficient n x x FA: Feed axial Axial feedrate m x FL: Feed limit Axial feed limit m x Real without sign OVRA: Override Axial override m x Real without sign ACC 2): Axial Axial acceleration acceleration m FMA: Feedrate multiple axial Synchronous feedrate axial m STW: Sparkingout time axial Sparking out time axial m SRA: Sparkingout retract Retraction path on external input axial m OS: Oscillating ON/OFF Oscillation ON/OFF m CIC, CAC, CDC, CACN, CACP Qu Data type Real Real Real: End position/real: partial length integer: Option Real without sign 1 - 8 times x Real without sign Real without sign x Real without sign Real without sign x x Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Real without sign Integer without sign 473 Tables 12.2 List of addresses OST1: Oscillating time 1 Stopping time m at left reversal point (oscillation) Real OST2: Oscillating time 2 Stopping time at right reversal point (oscillation) m Real OSP1: Oscillating position 1 Left reversal point (oscillation) m x x x x x x Real OSP2: Oscillating position 2 Right reversal point (oscillation) m x x x x x x Real OSB: Oscillating start position m x x x x x x Real OSE: Oscillation Oscillating end position end position m x x x x x x Real OSNSC: Oscillating: number spark-out cycles Number of spark-out cycles (oscillation) m Integer without sign OSCTRL: Oscillating control Oscillation control options m Integer without sign: set options, integer without sign: reset options OSCILL: Oscillating Axis assignment for oscillation activate oscillation m Axis: 1 - 3 infeed axes FDA: Feedrate DRF axial Axis feedrate n for handwheel override x FGREF Reference radius m x x Real without sign POLF LIFTFAST position m x x Real without sign FXS: Fixed stop Travel to fixed m stop ON Integer without sign FXST: Fixed stop torque Torque limit for travel to fixed stop Real 474 m Real without sign Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.2 List of addresses FXSW: Fixed stop window Monitoring window for travel to fixed stop m Real In these addresses, an axis or an expression of axis type is specified in square brackets. The data type in the above column shows the type of value assigned. *) Absolute end points: modal, incremental end points: non-modal, otherwise modal/nonmodal depending on syntax of G function. 1) The vocabulary word is not valid for SINUMERIK FM-NC. 2) The vocabulary word is not valid for SINUMERIK FM-NC/810D Settable addresses Address identifier Address type Modal/ nonmodal G70/ G700/ G71 G710 G90/ IC G91 AC DC, CIC, Qu ACN, CAC, ACP CDC, CACN, CACP x x Max. numb er Data type Axis values and end points X, Y, Z, A, B, C Axis *) x x x AP: Angle polar Polar angle m/n* x x x RP: Polar radius Polar radius m/n* x x x x x x 8 Real 1 Real 1 Real without sign Tool orientation A2, B2, C2 1) Euler angle or RPY angle n 3 Real A3, B3, C3 1) Direction vector component n 3 Real A4, B4, C4 for Normal block vector beginning 1) component s 3 Real A5, B5, C5 for Normal end of block 1) vector component n 3 Real A6, B6, C6 standardized vector 1) Direction vector component s 3 Real A7, B7, C7 standardized vector 1) Intermediat e orientation component s 3 Real LEAD: Lead angle 1) Lead angle m 1 Real Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 475 Tables 12.2 List of addresses THETA: third degree of freedom Tool orientation1) Angle of rotation, rotation about the tool direction s TILT: Tilt angle 1) Tilt angle ORIS:1) Orientation Smoothing factor Orientation change (referring to the path) x x x 1 Real m 1 Real m 1 Real 3 Real Interpolation parameters I, J, K** I1, J1, K1 Interpolatio n n parameter Intermediat n e point coordinate RPL: Rotation plane Rotation in the plane n CR: Circle radius Circle radius n AR: Angle circular Opening angle TURN Number of turns for helix PL: Parameter interval length x x x x x x** x** x x Real 1 Real 1 Real without sign 1 Real without sign n 1 Integer without sign Parameter interval length n 1 Real without sign PW: Point weight n 1 Real without sign SD: Spline degree n 1 Integer without sign TU: Turn Turn m Integer Int STAT: State State m Integer without sign SF: Spindle offset Starting point offset for thread cutting m DISR: Distance for repositioning Distance for n repositionin g 476 x x x x 1 Real 1 Real without sign Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.2 List of addresses DISPR: Distance path for repositioning Repos path difference n ALF: Angle lift fast Fast retraction angle m DILF: Distance lift fast Fast retraction length m FP Fixed point: n Number of fixed point to approach RNDM: Round modal Modal rounding m x RND: Round Non-modal rounding n CHF: Chamfer Chamfer non-modal CHR: Chamfer x 1 Real without sign 1 Integer without sign 1 Real 1 Integer without sign x 1 Real without sign x x 1 Real without sign n x x 1 Real without sign Chamfer in initial direction of motion n x x 1 Real without sign ANG: Angle Contour angle n 1 Real ISD: Insertion depth Insertion depth m x x 1 Real DISC: Distance Transition circle overshoot tool offset m x x 1 Real without sign OFFN Offset contour normal m x x 1 Real DITS Thread run- m in path x x 1 Real DITE Thread run- m out path x x 1 Real x x x Nibbling/punching SPN: Stroke/Punch Number 2) Number of n path sections per block 1 INT SPP: Stroke/Punch Path 2) Length of a m path section 1 Real Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 477 Tables 12.2 List of addresses Grinding ST: Sparking-out time Sparkingout time n SR: Sparking-out retract path Return path n 1 Real without sign x x 1 Real without sign Approximate positioning criteria ADIS Rounding clearance m x x 1 Real without sign ADISPOS Rounding clearance for rapid traverse m x x 1 Real without sign MEAS: Measure Measure with touchtrigger probe n 1 Integer without sign MEAW: Measure without deleting distance-to-go Measure n without deleting distance-togo 1 Integer without sign 1 Real without sign Measurement Axis, spindle behavior LIMS: Limit spindle speed Spindle speed limitation m FAD Speed of the slow infeed motion n x 1 Real without sign FD: Feed DRF Path feed for handwheel override n x 1 Real without sign FRC Feed for radius and chamfer n x Real without sign FRCM Feed for radius and chamfer, modal m x Real without sign Feedrates 478 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.3 List of G functions/preparatory functions OEM addresses OMA1: OEM address 1 2) OEM address 1 m x x x 1 Real OMA2: OEM address 2 2) OEM address 2 m x x x 1 Real OMA3: OEM address 3 2) OEM address 3 m x x x 1 Real OMA4: OEM address 4 2) OEM address 4 m x x x 1 Real OMA5: OEM address 5 2) OEM address 5 m x x x 1 Real *) Absolute end points: modal, incremental end points: non-modal, otherwise modal/nonmodal depending on syntax of G function. **)As circle center points, IPO parameters act incrementally. They can be programmed in absolute mode with AC. The address modification is ignored when the parameters have other meanings (e.g., thread pitch). 12.3 1) The vocabulary word is not valid for SINUMERIK FM-NC/810D. 2) The vocabulary word is not valid for SINUMERIK FM-NC/810D/NCU571. List of G functions/preparatory functions List of G functions/preparatory functions In the list of G functions/motion commands you will find all available G codes according to the appropriate functional groups. Legend for describing the G groups No.: internal number for, e.g., PLC interface X: No. for GCODE_RESET_VALUES not permitted m: modal or n: non-modal Def.: Siemens AG (SAG) default setting, M: Milling: T: Turning or other conventions MM.: Default setting, please see machine manufacturer's instructions Group 1: Modally valid motion commands Name No. Meaning X m/n G0 1. Rapid traverse m G1 2. Linear interpolation (linear interpolation) m G2 3. Circular interpolation clockwise m G3 4. Circular interpolation counter-clockwise m CIP 5. Circle through points: Circular interpolation through intermediate point m ASPLINE 6. Akima spline m BSPLINE 7. B-spline m CSPLINE 8. Cubic spline m Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 SAG MM Def. 479 Tables 12.3 List of G functions/preparatory functions POLY 9. Polynomial: Polynomial interpolation m G33 10. Thread cutting with constant lead m G331 11. Tapping m G332 12. Retraction (tapping) m OEMIPO1 ## 13. Reserved m OEMIPO2 ## 14. Reserved m CT 15. Circle with tangential transition m G34 16. Increase in thread pitch (progressive change) m G35 17. Decrease in thread pitch (degressive change) m INVCW 18. Involute interpolation in CW direction m INVCCW 19. Involute interpolation in CCW direction m If no function from the group is programmed with modal G functions, the default setting (which can be changed in the machine data) applies: $MC_GCODE_RESET_VALUES ## The keyword is not valid for SINUMERIK 810D/NCU571. Group 2: Non-modally valid motions, dwell time Name No. Meaning X m/n G4 1. Dwell time preset X n G63 2. Tapping without synchronization X n G74 3. Reference point approach with synchronization X n G75 4. Fixed point approach X n REPOSL 5. Repositioning linear: Linear repositioning X n REPOSQ 6. Repositioning quadrant: Repositioning in a quadrant X n REPOSH 7. Repositioning semicircle: Repositioning in semicircle X n REPOSA 8. Repositioning linear all axis: Linear repositioning with all axes X n REPOSQA 9. Repositioning quadrant all axes: Linear repositioning with all axes, geometry axes in quadrant X n REPOSHA 10. Repositioning semicircle all axes: Repositioning with all axes; geometry axes in semicircle X n G147 11. Soft approach with straight line X n G247 12. Soft approach with quadrant X n G347 13. Soft approach with semicircle X n G148 14. Soft retraction with straight line X n G248 15. Soft retraction with quadrant X n G348 16. Soft retraction with semicircle X n G05 17. Oblique plunge-cut grinding X n G07 18. Compensatory motion during oblique plunge-cut grinding X n 480 SAG MM Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.3 List of G functions/preparatory functions Group 3: Programmable frame, working area limitation and pole programming Name No. Meaning X m/n TRANS 1. TRANSLATION: translation, programmable X n ROT 2. ROTATION: rotation, programmable X n SCALE 3. SCALE: scaling, programming X n MIRROR 4. MIRROR: Programmable mirroring X n ATRANS 5. Additive TRANSLATION: additive translation, programming X n AROT 6. Additive ROTATION: rotation, programmable X n ASCALE 7. Additive SCALE: scaling, programming X n AMIRROR 8. Additive MIRROR: Programmable mirroring X n 9. Unassigned G25 10. Minimum working area limitation/spindle speed limitation G26 11. Maximum working area limitation/spindle speed limitation X n G110 12. Pole programming relative to the last programmed setpoint position X n G111 13. Polar programming relative to origin of current workpiece coordinate system X n G112 14. Pole programming relative to the last valid pole X n G58 15. Programmable offset, absolute axial substitution X n G59 16. Programmable offset, additive axial substitution X n ROTS 17. Rotation with solid angles X n AROTS 18. Additive rotation with solid angles X n SAG MM SAG MM X n Group 4: FIFO Name No. Meaning STARTFIFO 1. Start FIFO Execute and simultaneously fill preprocessing memory X m/n m STOPFIFO 2. STOP FIFO, Stop machining; fill preprocessing memory until STARTFIFO is detected, FIFO full or end of program m FIFOCTRL 3. FIFO CTRL, Preprocessing memory control m Def. Group 6: Plane selection Name No. Meaning G17 1. Plane selection 1st - 2nd geometry axis m G18 2. Plane selection 3rd - 1st geometry axis m G19 3. Plane selection 2nd - 3rd geometry axis m Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 X m/n SAG MM Def. 481 Tables 12.3 List of G functions/preparatory functions Group 7: Tool radius compensation Name No. Meaning G40 1. No tool radius compensation X m/n G41 2. Tool radius compensation left of contour X m G42 3. Tool radius compensation right of contour X m m SAG MM Def. Group 8: Settable zero offset Name No. Meaning G500 1. Deactivate all settable G54-G57 frames if G500 does not contain a value X m/n m G54 2. Settable zero offset m G55 3. Settable zero offset m G56 4. Settable zero offset m G57 5. Settable zero offset m G505 6. Settable zero offset m G5xx n+1 nth settable zero offset m G599 100. Settable zero offset m SAG MM Def. The G functions of this group activate a settable user frame $P_UIFR[ ]. G54 corresponds to frame $P_UIFR[1], G505 corresponds to frame $P_UIFR[5]. The number of settable user frames and, therefore, the number of G functions in this group can be configured in the machine data $MC_MM_NUM_USER_FRAMES. Group 9: Frame suppression Name No. Meaning X m/n G53 1. Suppression of current frames: Programmable frame including system frame for TOROT and TOFRAME and active settable frame G54 ... G599. X n SUPA 2. Suppression as for G153 and including system frames for actual-value setting, scratching, zero offset external, PAROT including handwheel offsets (DRF), [zero offset external], overlaid motion X n G153 3. Suppression as for G53 and including all channel-specific and/or NCU-global basic frame X n SAG MM SAG MM Group 10: Exact stop - continuous-path mode Name No. Meaning G60 1. Velocity reduction, exact positioning G64 2. Continuous-path mode m G641 3. Continuous-path mode (G64) with programmable rounding distance m G642 4. Corner rounding with axial precision m G643 5. Block-internal axial corner rounding m G644 6. Corner rounding with specified axis dynamics m 482 X m/n m Def. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.3 List of G functions/preparatory functions Group 11: Exact stop, non-modal Name No. Meaning X m/n G9 1. Velocity reduction, exact positioning X n SAG MM SAG MM Group 12: Block change criteria at exact stop (G60/G09) Name No. Meaning G601 1. Block change at exact stop fine X m/n m G602 2. Block change at exact stop coarse m G603 3. Block change at IPO - end of block m Def. Group 13: Workpiece measuring inch/metric Name No. Meaning G70 1. Input system inches (lengths) X m/n m G71 2. Input system metric (lengths) m G700 3. Input system in inches; inch/min (lengths + velocity + system variable) m G710 4. Input system, metric; mm; mm/min (lengths + velocity + system variable) m SAG MM Def. Group 14: Workpiece measuring absolute/incremental Name No. Meaning G90 1. Absolute dimensions X m/n m G91 2. Incremental dimension input m SAG MM Def. Group 15: Feed type Name No. Meaning G93 1. Inverse-time feedrate 1/rpm m G94 2. Linear feed mm/min, inch/min m G95 3. Revolutional feedrate in mm/rev, inch/rev m G96 4. Constant cutting speed (type of feed as for G95) ON m G97 5. Constant cutting speed (type of feed as for G95) OFF m G931 6. Feedrate specified by travel time, deactivate constant path velocity m G961 7. Constant cutting speed (type of feed as for G94) ON m G971 8. Constant cutting speed (type of feed as for G94) OFF m G942 9. Freeze linear feedrate and constant cutting rate or spindle speed m Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 X m/n SAG MM Def. 483 Tables 12.3 List of G functions/preparatory functions G952 10. Freeze revolutional feedrate and const. cutting rate or spindle speed m G962 11. Linear or revolutional feedrate and constant cutting rate m G972 12. Freeze linear or revolutional feedrate and constant spindle speed m G973 13 Revolutional feedrate without spindle speed limiting (G97 without LIMS for ISO mode m Reserved m G963 Group 16: Feedrate override on inside and outside curvature Name No. Meaning X m/n CFC 1. Constant feed at contour m CFTCP 2. Constant feed in tool center point (center-point path) m CFIN 3. Constant feed at internal radius, acceleration at external radius m SAG MM Def. Group 17: Approach and retraction response, tool offset Name No. Meaning X m/n NORM 1. Normal position at start and end points m KONT 2. Travel around contour at start and end points m KONTT 3. Insert polynominal with constant tangent (approach/retract) m KONTC 4. Insert polynominal with constant curvature (approach/retract) m SAG MM Def. Group 18: Corner behavior, tool offset Name No. Meaning X m/n G450 1. Transition circle (tool travels round workpiece corners on a circular path) m G451 2. Intersection of equidistant paths (tool backs off from the workpiece corner) m SAG MM Def. Group 19: Curve transition at beginning of spline Name No. Meaning X m/n BNAT 1. Begin natural: natural transition to first spline block m BTAN 2. Begin tangential: tangential transition to first spline block m BAUTO 3. Begin not a node: (no node) Start is determined by the position of the 1st point m 484 SAG MM Def. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.3 List of G functions/preparatory functions Group 20: Curve transition at end of spline Name No. Meaning ENAT 1. End natural: natural transition to next traversing block X m/n m ETAN 2. End tangential: tangential transition to next traversing block at spline begin m EAUTO 3. Begin not a node: (no node) End is determined by the position of the last point m SAG MM Def. Group 21: Acceleration profile Name No. Meaning X m/n BRISK 1. Fast non-smoothed path acceleration m SOFT 2. Soft smoothed path acceleration m DRIVE 3. Velocity-dependent path acceleration m SAG MM Def. Group 22: Tool offset types Name No. Meaning X m/n CUT2D 1. Cutter compensation type 2-dimensional 2 1/2D tool offset determined by G17 - G19 m CUT2DF 2. Cutter compensation type 2-dimensional frame - relative: 2 1/2D tool offset determined by frame The tool offset is effective in relation to the current frame (inclined plane) m CUT3DC # 3. Cutter compensation type 3-dimensional circumference: 3D tool compensation circumference milling m CUT3DF # 4. Cutter compensation type 3-dimensional face: 3D tool offset with inconstant tool orientation m CUT3DFS # 5. Cutter compensation type 3-dimensional face: 3D tool offset face milling with constant tool orientation independent of active frame m CUT3DFF # 6. Cutter compensation type 3-dimensional face frame: 3D tool offset face milling with constant tool orientation dependent on active frame m CUT3DCC # 7. Cutter compensation type 3-dimensional circumference: 3D tool offset circumferential milling with limitation surfaces m CUT3DCCD # 8. Cutter compensation type 3-dimensional circumference: 3D tool offset circumferential milling with limitation surfaces with differential tool m SAG MM Def. # The keyword is not valid for SINUMERIK 810D/NCU571. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 485 Tables 12.3 List of G functions/preparatory functions Group 23: Collision monitoring at inside contours Name No. Meaning CDOF 1. Collision detection OFF: Collision monitoring OFF X m/n m CDON 2. Collision detection ON: Collision monitoring ON m CDOF2 3. Collision detection OFF: Collision monitoring OFF (currently only for CUT3DC) m SAG MM Def. Group 24: Feedforward control Name No. Meaning X m/n FFWOF 1. Feed forward OFF: Feedforward control OFF m FFWON 2. Feed forward OFF: Feed forward control ON m SAG MM Def. Group 25: Tool orientation reference Name No. Meaning ORIWKS # 1. Tool orientation in workpiece coordinate system: Tool orientation in workpiece coordinate system (WCS) X m/n m ORIMKS # 2. Tool orientation in machine coordinate system: Tool orientation in machine coordinate system (MCS) m SAG MM Def. # The keyword is not valid for SINUMERIK 810D/NCU571. Group 26: Repositioning point for REPOS Name No. Meaning RMB 1. REPOS mode beginning of block: Reapproach to start of block position X m/n m RMI 2. REPOS - Mode interrupt: Reapproach to interruption point m RME 3. REPOS mode end of block: Repositioning to end-of-block position m RMN 4. REPOS mode end of nearest orbital block: Reapproach to nearest path point m SAG MM Def. Group 27: Tool offset for change in orientation at outside corners Name No. Meaning X m/n ORIC # 1. Orientation change continuously: Orientation changes at outside corners are superimposed on the circle block to be inserted m ORID # 2. Orientation change discontinuously: Orientation changes are performed before the circle block m SAG MM Def. # The keyword is not valid for SINUMERIK 810D/NCU571. Group 28: Working area limitation ON/OFF Name No. Meaning X m/n WALIMON 1. Working area limitation ON: Working area limitation ON m WALIMOF 2. Working area limitation OFF: Working area limitation OFF m 486 SAG MM Def. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.3 List of G functions/preparatory functions Group 29: Radius - diameter Name No. Meaning X m/n DIAMOF 1. Diameter programming OFF: Diameter programming OFF; radius programming for G90/G91 m DIAMON 2. Diameter programming ON: Diameter programming ON for G90/G91 m DIAM90 3. Diameter programming G90: Diameter programming for G90; radius programming for G91 m DIAMCYCOF 4. Diameter programming OFF: Radius programming for G90/G91: ON. The G-code of this group that was last active remains active for display m SAG MM Def. Group 30: Compressor ON/OFF Name No. Meaning COMPOF # 1. Compressor OFF X m/n m COMPON # 2. Compressor ON m COMPCURV # 3. Compressor ON: Polynomials with constant curvature m COMPCAD # 4. Compressor ON: Optimized surface quality CAD program m SAG MM Def. Group 31: OEM - G group Name No. Meaning G810 # 1. OEM - G function G811 # 2. OEM - G function G812 # 3. OEM - G function G813 # 4. OEM - G function G814 # 5. OEM - G function G815 # 6. OEM - G function G816 # 7. OEM - G function G817 # 8. OEM - G function G818 # 9. OEM - G function G819 # 10. OEM - G function X m/n SAG MM Def. Two G groups are reserved for the OEM. This enables the OEM to program functions that can be customized. # The keyword is not valid for SINUMERIK 810D/NCU571. Group 32: OEM - G group Name No. Meaning G820 # 1. OEM - G function G821 # 2. OEM - G function G822 # 3. OEM - G function G823 # 4. OEM - G function Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 X m/n SAG MM Def. 487 Tables 12.3 List of G functions/preparatory functions G824 # 5. OEM - G function G825 # 6. OEM - G function G826 # 7. OEM - G function G827 # 8. OEM - G function G828 # 9. OEM - G function G829 # 10. OEM - G function Two G groups are reserved for the OEM. This enables the OEM to program functions that can be customized. Group 33: Settable fine tool offset Name No. Meaning X m/n FTOCOF # 1. Fine tool offset compensation OFF: Online fine tool offset OFF FTOCON # 2. Fine tool offset compensation ON: Online fine tool offset ON m SAG MM Def. X m Group 34: Smoothing, tool orientation Name No. Meaning X m/n OSOF # 1. Tool orientation smoothing OFF m OSC # 2. Continuous tool orientation smoothing m OSS # 3. Tool orientation smoothing at end of block m OSSE # 4. Tool orientation smoothing at start and end of block m OSD # 5 Block-internal rounding with specification of path length m OST # 6 Block-internal rounding with specification of angle tolerance m SAG MM Def. Group 35: Punching and nibbling Name No. Meaning X m/n SPOF# 1. Stroke/punch OFF: Stroke OFF, nibbling, punching OFF m SON # 2. Stroke ON: Nibbling ON m PON # 3. Punch ON: Punching ON m SONS # 4. Stroke ON slow: Nibbling ON in IPO cycle X m PONS # 5. Punch ON slow: Punching ON in IPO cycle X m SAG MM Def. Group 36: Punching with delay Name No. Meaning X m/n PDELAYON # 1. Punch with delay ON: Punching with delay ON m PDELAYOF # 2. Punch with delay OFF: Punching with delay OFF m SAG MM Def. # The keyword is not valid for SINUMERIK 810D/NCU571. 488 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.3 List of G functions/preparatory functions Group 37: Feed profile Name No. Meaning FNORM # 1. Feed normal: Feed normal (as per DIN 66025) X m/n m FLIN # 2. Feed linear: Feed linear variable m FCUB # 3. Feed cubic: Feedrate variable according to cubic spline m SAG MM Def. Group 38: Assignment of high-speed inputs/outputs for punching/nibbling Name No. Meaning SPIF1 # 1. Stroke/punch interface 1: fast NCK inputs/outputs for punching/nibbling byte 1 X m/n m SPIF2 # 2. Stroke/punch interface 2: fast NCK inputs/outputs for punching/nibbling byte 2 m SAG MM Def. Group 39: Programmable contour accuracy Name No. Meaning CPRECOF 1. Contour precision OFF: Programmable contour precision OFF X m/n m CPRECON 2. Contour precision ON: Programmable contour precision ON m SAG MM Def. #The keyword is not valid for SINUMERIK NCU571. Group 40: Tool radius compensation constant Name No. Meaning X m/n CUTCONOF 1. Constant radius compensation OFF m CUTCONON 2. Constant radius compensation ON m SAG MM Def. Group 41: Interrupt thread cutting Name No. Meaning X m/n LFOF 1. Interrupt thread cutting OFF m LFON 2. Interrupt thread cutting ON m SAG MM Def. Group 42: Toolholder Name No. Meaning TCOABS 1. Tool Carrier Orientation Absolute: Toolholder orientation absolute m TCOFR 2. Toolholder orientation frame alignment of tool on Z axis m TCOFRZ 3. Orientable toolholder frame-related (tool on Z axis) m TCOFRY 4. Orientable toolholder frame-related (tool on Y axis) m TCOFRX 5. Orientable toolholder frame-related (tool on X axis) m Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 X m/n SAG MM Def. 489 Tables 12.3 List of G functions/preparatory functions Group 43: SAR approach direction Name No. Meaning X m/n G140 1. SAR approach direction defined by G41/G42 G141 2. SAR approach direction to left of contour m G142 3. SAR approach direction to right of contour m G143 4. SAR approach direction tangent-dependent m m SAG MM Def. Group 44: SAR path segmentation Name No. Meaning X m/n G340 1. Spatial approach block (depth and in plane (helix)) m G341 2. Initial infeed on perpendicular axis (z), then approach in plane m SAG MM Def. Group 45: Path reference for FGROUP axes: Name No. Meaning X m/n SPATH 1. Path reference for FGROUP axes is arc length m UPATH 2. Path reference for FGROUP axes is curve parameter m SAG MM Def. Group 46: Plane definition for rapid lift: Name No. Meaning LFTXT 1. Tangential tool direction on retraction X m/n m LFWP 2. Non-tangential tool direction on retraction m LFPOS 3. Axial retraction to a position m SAG MM Def. Group 47: Mode switchover for external NC code Name No. Meaning G290 1. Switchover to SINUMERIK mode (activate SINUMERIK language mode) X m/n m G291 2. Switchover to ISO 2/3 mode (activate ISO language mode) m SAG MM Def. Group 48: Approach and retraction response, TRC Name No. Meaning G460 1. Collision monitoring for approach and retraction block ON m G461 2. If no intersection in TRC block, extend border block with arc m G462 3. If no intersection in TRC block, extend border block with straight line m 490 X m/n SAG MM Def. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.3 List of G functions/preparatory functions Group 49: Point to point motion Name No. Meaning CP 1. continuous path; path motion X m/n m PTP 2. point to point; point to point motion (synchronized axis motion) m PTPG0 3. point to point; point to point motion only with G0, otherwise path motion CP m SAG MM Def. Group 50: Orientation programming Name No. Meaning ORIEULER 1. Orientation angle via Euler angle X m/n m ORIRPY 2. Orientation angle via RPY angle (rotation sequence XYZ) m ORIVIRT1 3. Orientation angle via virtual orientation axes (definition 1) m ORIVIRT2 4. Orientation angle via virtual orientation axes (definition 2) m ORIAXPOS 5. Orientation angle via virtual orientation axes with rotary axis positions m ORIRPY2 6. Orientation angle via RPY angle (rotation sequence ZYX) m SAG MM Def. Group 51: Orientation interpolation Name No. Meaning X m/n ORIVECT 1. Large-radius circular interpolation (identical to ORIPLANE) ORIAXES 2. Linear interpolation of machine axes or orientation axes m ORIPATH 3. Tool orientation trajectory referred to path m m ORIPLANE 4. Interpolation in plane (identical to ORIVECT) m ORICONCW 5. Interpolation on a peripheral surface of the cone in clockwise direction m ORICONCCW 6. Interpolation on a conical peripheral surface in CCW direction m ORICONIO 7. Interpolation on a conical peripheral surface with intermediate orientation setting m ORICONTO 8. Interpolation on a peripheral surface of the cone with tangential transition m ORICURVE 9. Interpolation with additional space curve for orientation m ORIPATHS 10. Tool orientation in relation to path, blips in the orientation characteristic are smoothed m SAG MM Def. Group 52: Workpiece-oriented WCS Name No. Meaning PAROTOF 1. Deactivate workpiece-related frame rotation m PAROT 2. Align workpiece coordinate system (WCS) on workpiece m Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 X m/n SAG MM Def. 491 Tables 12.3 List of G functions/preparatory functions Group 53: Frame rotations in tool direction Name No. Meaning TOROTOF 1. Frame rotation in tool direction OFF X m/n m TOROT 2. Frame rotation ON Z axis parallel to tool orientation m TOROTZ 3. Frame rotation ON Z axis parallel to tool orientation m TOROTY 4. Frame rotation ON Y axis parallel to tool orientation m TOROTX 5. Frame rotation ON X axis parallel to tool orientation m TOFRAME 6. Frame rotation in tool direction Z axis parallel to tool orientation m TOFRAMEZ 7. Frame rotation in tool direction Z axis parallel to tool orientation m TOFRAMEY 8. Frame rotation in tool direction Y axis parallel to tool orientation m TOFRAMEX 9. Frame rotation in tool direction X axis parallel to tool orientation m SAG MM Def. Group 54: Rotation of the rotational vector Name No. Meaning X m/n ORIROTA 1. Orientation Rotation Absolute Rotation absolute m ORIROTR 2. Orientation Rotation Relative relative rotational vector m ORIROTT 3. Orientation Rotation Tangential tangential rotational vector in relation to change in orientation m ORIROTC 4. Orientation Rotation Tangential tangential rotational vector in relation to path tangent m SAG MM Def. Group 55: Rapid traverse with/without linear interpolation Name No. Meaning RTLION 1. Rapid traverse (G0) with linear interpolation ON: G0 with linear interpolation m RTLIOF 2. Rapid traverse (G0) with linear interpolation OFF: G0 without linear interpolation (single-axis interpolation) m 492 X m/n SAG MM Def. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.3 List of G functions/preparatory functions Group 56: Inclusion of tool wear Name No. Meaning TOWSTD 1. Tool wear default initial setting value for offsets in tool length X m/n m TOWMCS 2. Tool WearCoard MCS: Wear values in machine coordinate system (MCS) m TOWWCS 3. Tool WearCoard WCS: Wear values in workpiece coordinate system (WCS) m TOWBCS 4. Tool WearCoard BCS: Wear values in basic coordinate system (MCS) m TOWTCS 5. Tool WearCoard TCS: Wear values in the tool coordinate system (tool carrier ref. point T at the tool holder) m TOWKCS 6. Wear values in the coordinate system of the tool head for kinetic transformation (differs from MCS by tool rotation) m SAG MM Def. Group 57: Automatic corner override Name No. Meaning X m/n FENDNORM 1. Corner deceleration deactivated G62 2. Corner deceleration at inside corners when tool radius offset is active m G621 3. Corner deceleration at all corners m m SAG MM Def. Group 58: Reserved for retracting from software end position Name No. Meaning X m/n RELIEVEON 1. Retracting from software limit switch ON m RELIEVEOF 2. Retracting from software limit switch OFF m SAG MM Def. Group 59: Technology G groups Name No. Meaning DYNNORM 1. Standard dynamic, as previously X m/n m DYNPOS 2. Positioning mode, tapping m DYNROUGH 3. Roughing m DYNSEMIFIN 4. Finishing m DYNFINISH 5. Smooth-finishing m SAG MM Def. Group 60: Working-area limitations Name No. Meaning WALCS0 1. WCS working area limitation deselected m WALCS1 2. WORK-working-area-limitation group 1 active m WALCS2 3. WORK-working-area-limitation group 2 active m WALCS3 4 WCS working area limitation group 3 active m Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 X m/n SAG MM Def. 493 Tables 12.4 List of predefined subprograms WALCS4 5 WCS working area limitation group 4 active m WALCS5 6 WCS working area limitation group 5 active m WALCS6 7 WCS working area limitation group 6 active m WALCS7 8 WCS working area limitation group 7 active m WALCS8 9 WCS working area limitation group 8 active m WALCS9 10 WCS working area limitation group 9 active m WALCS10 11 WCS working area limitation group 10 active m 12.4 List of predefined subprograms 12.4.1 Predefined subroutine calls List of predefined subroutines The list of predefined subroutines contains all available subroutines grouped according to function. Some control functions are activated with subroutine call syntax. 1. Coordinate system Keyword/ function identifier 1st parameter 2nd parameter 3rd-15th parameter 4th-16th parameter Explanation PRESETON AXIS*: Axis identifier Machine axis REAL: Preset offset 4.-16. parameter as 2 ... Sets the actual value for programmed axes. One axis identifier is programmed at a time, with its respective value in the next parameter. PRESETON can be used to program preset offsets for up to 8 axes. DRFOF G700/G7100 context 3.-15. Parameter as 1 ... Deletes the DRF offset for all axes assigned to the channel. *) As a general rule, geometry or special axis identifiers can also be used instead of the machine axis identifier, as long as the reference is unambiguous. 494 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.4 List of predefined subprograms Predefined subroutine calls 2. Axis groupings 1st-8th parameter Explanation Channel axis identifiers Variable F value reference: defines the axes to which the path feed refers. Maximum axis number: 8 The default setting for the F value reference is activated with FGROUP ( ) without parameters. 1st-8th parameter 2nd-9th parameter Explanation SPLINEPATH INT: Spline group (must be 1) AXIS: Geometry or special axis identifier Definition of the spline group Maximum number of axes: 8 BRISKA AXIS Switch on brisk axis acceleration for the programmed axes SOFTA AXIS Switch on jerk limited axis acceleration for programmed axes DRIVEA ### AXIS Switch on knee-shaped acceleration characteristic for programmed axes JERKA AXIS The acceleration behavior set in machine data $MA_AX_JERK_ENABLE is active for the programmed axes. FGROUP # The keyword is not valid for SINUMERIK 810D/NCU571. ## The keyword is not valid for SINUMERIK 810D. ### The keyword is only valid for SINUMERIK FM-NC. 3. Coupled motion Keyword/ subroutine identifier 1st parameter 2nd param. 3rd param. 4th param. TANG AXIS: Axis name Following axis AXIS: Leading axis 1 AXIS: Leading axis 2 REAL: CHAR: Coupling Option: factor "B": follow-up in basic coordinat e system "W": follow-up in workpiece coord. system TANGON AXIS: Axis name Following axis REAL: Offset Angle REAL: Round -ing travel Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 REAL: Angle toleranc e 5th param. 6th param. Explanation CHAR Optimizat ion: "S" default"P " autom. with rounding travel, angle tolerance Preparatory statement for the definition of a tangential follow-up: The tangent for the follow-up is determined by the two master axes specified. The coupling factor specifies the relationship between a change in the angle of tangent and the following axis. It is usually 1. Optimization: See PGA Tangential follow-up mode ON: par. 3, 4 with TANG Par. 6 = "P" 495 Tables 12.4 List of predefined subprograms TANGOF AXIS: Axis name Following axis TLIFT AXIS: Following REAL: axis Lift-off path Tangential follow-up mode OFF REAL: Factor Tangential lift: tangential follow-up mode, stop at contour end rotary axis lift-off possible TRAILON AXIS: Following AXIS: axis Master axis TRAILOF AXIS: Following AXIS: axis Master axis REAL: Coupling factor Trailing ON: Asynchronous coupled motion ON Trailing OFF: Asynchronous coupled motion OFF 6. Revolutional feedrate Keyword/ function identifier 1st parameter 2nd parameter Explanation FPRAON AXIS: Axis, for which revolutional feedrate is deactivated AXIS: Axis/spindle from which the revolutional feedrate is derived. If no axis has been programmed, the revolutional feedrate is derived from the master spindle. Feedrate per revolution axial ON: Axial revolutional feedrate ON FPRAOF AXIS: Axis for which revolutional feedrate is deactivated Feedrate per revolution axial OFF: Axial revolutional feedrate OFF The revolutional feedrate can be deactivated for several axes at once. You can program as many axes as are permitted in a block. FPR AXIS: Axis/spindle from which the revolutional feedrate is derived. If no axis has been programmed, the revolutional feedrate is derived from the master spindle. Feedrate per revolution: selection of a rotary axis or spindle from which the revolutional feedrate of the path is derived if G95 is programmed. If no axis/spindle has been programmed, the revolutional feedrate is derived from the master spindle. The setting made with FPR is modal. It is also possible to program a spindle instead of an axis: FPR(S1) or FPR(SPI(1)) 496 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.4 List of predefined subprograms 7. Transformations Keyword/ function identifier 1st parameter 2nd parameter Explanation TRACYL REAL: Working diameter INT: Number of transformation TRANSMIT INT: Number of transformation TRAANG REAL: Angle TRAORI INT: Number of transformation TRACON INT: Number of transformation Cylinder: Peripheral surface transformation Several transformations can be set per channel. The transformation number specifies which transformation is to be activated. If the second parameter is omitted, the transformation group defined in the MD is activated. Transmit: Polar transformation Several transformations can be set per channel. The transformation number specifies which transformation is to be activated. If the parameter is omitted, the transformation group defined in the MD is activated. INT: Number of transformation Transformation inclined axis: Several transformations can be set per channel. The transformation number specifies which transformation is to be activated. If the second parameter is omitted, the transformation group defined in the MD is activated. If no angle programmed: TRAANG ( ,2) or TRAANG, the last angle applies modally. Transformation oriented: 4, 5-axis transformation Several transformations can be set per channel. The transformation number specifies which transformation is to be activated. REAL: Further Transformation concentrated: Cascaded transformation; the parameters, meaning of the parameters depends on the type of cascading. MD-dependent TRAFOOF Deactivate transformation For each transformation type, there is one command for one transformation per channel. If there are several transformations of the same transformation type per channel, the transformation can be selected with the corresponding command and parameters. It is possible to deselect the transformation by a transformation change or an explicit deselection. 8. Spindles Keyword/ subroutine identifier 1st parameter 2nd parameter and others Explanation SPCON INT: Spindle number INT: Spindle number Spindle position control ON: Switch to position-controlled spindle operation SPCOF INT: Spindle number INT: Spindle number Spindle position control OFF: Switch to speed-controlled spindle operation SETMS INT: Spindle number Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Set master spindle: Declaration of spindle as master spindle for current channel. With SETMS( ), the machine-data default applies automatically without any need for parameterization. 497 Tables 12.4 List of predefined subprograms 9. Grinding Keyword/ subroutine identifier 1st parameter Explanation GWPSON INT: Spindle number Grinding wheel peripheral speed ON: Constant grinding wheel peripheral speed ON If the spindle number is not programmed, then grinding wheel peripheral speed is selected for the spindle of the active tool. GWPSOF INT: Spindle number Grinding wheel peripheral speed OFF. Constant grinding wheel peripheral speed OFF. If the spindle number is not programmed, grinding wheel peripheral speed is deselected for the spindle of the active tool. TMON INT: Spindle number Tool monitoring ON: If no T number is programmed, monitoring is activated for the active tool. TMOF INT: T number Tool monitoring OFF: If no T number is programmed, monitoring is deactivated for the active tool. 10. Stock removal Keyword/ subroutine identifier 1st parameter 2nd parameter CONTPRON REAL [ , 11]: Contour table INT: Number CHAR: Stock of relief cuts removal method "L": Longitudinal turning: External mach. "P": Face turning: External mach. "N": Face turning: Internal machining "G": Longitudinal turning: Internal machining CONTDCON REAL [ , 6]: Contour table EXECUTE INT: Error status 498 INT: 0: in programmed direction 3rd parameter 4th parameter Explanation INT: Status of calculation: 0: unchanged 1: Calculation forwards and backwards Contour preparation on: Activate reference-point editing. The contour programs or NC blocks which are called in the following steps are divided into individual movements and stored in the contour table. The number of relief cuts is returned. Contour decoding The blocks for a contour are stored in a named table with one table line per block and coded to save memory. EXECUTE: Activate program execution. This switches back to normal program execution from reference-point-editing mode or after setting up a protection zone. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.4 List of predefined subprograms 11. Execute table Keyword/ subroutine identifier 1st parameter Explanation EXECTAB REAL [ 11]: Element from motion table Execute table: Execute an element from a motion table. 12. Protection zones Keyword/ function identifier 1st parameter 2nd parameter 3rd parameter 4th parameter 5th parameter Explanation CPROTDEF INT: Number of protection zone BOOL: TRUE: Tool-oriented protection zone INT: REAL: Limit in plus direction REAL: Limit in minus direction Channelspecific protection area definition: 0: 4. U.G. Parameters not evaluated 1: 4. Parameter evaluated Definition of a channelspecific protection zone 2: 5. Parameter evaluated 3: 4. U. 5. Parameter evaluated NPROTDEF INT: Number of protection zone BOOL: TRUE: Tool-oriented protection zone INT: 0: 4. U. 5. parameters not evaluated 1: 4. Parameter evaluated 2: 5. Parameter evaluated 3: 4. U. 5. parameter evaluated Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 REAL: Limit in plus direction REAL: Limit in minus direction NCKspecific protection area definition: Definition of a machinespecific protection zone 499 Tables 12.4 List of predefined subprograms CPROT INT: Number of protection zone INT: Option 0: Protection zone OFF 1: Preactivate protection zone REAL: Offset of protection zone in 1st geometry axis REAL: Offset of protection zone in 2nd geometry axis REAL: Offset of protection zone in 3rd geometry axis Channelspecific protection zone ON/OFF REAL: Offset of protection zone in 1st geometry axis REAL: Offset of protection zone in 2nd geometry axis REAL: Offset of protection zone in 3rd geometry axis Machinespecific protection zone ON/OFF 2: Protection zone ON 3: Preactivate protection zone with conditional stop, only with protection zones active. NPROT INT: Number of protection zone INT: Option 0: Protection zone OFF 1: Preactivate protection zone 2: Protection zone ON 3: Preactivate protection zone with conditional stop, only with protection zones active EXECUTE VAR INT: Error status EXECUTE: Activate program execution. This switches back to normal program execution from reference point editing mode or after setting up a protection zone. 13. Preprocessing/single block STOPRE 500 Stop processing: Preprocessing stop until all prepared blocks are executed in main run Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.4 List of predefined subprograms 14. Interrupts Keyword/ function identifier 1st parameter Explanation ENABLE # INT: Number of interrupt input Activate interrupt: Activates the interrupt routine assigned to the hardware input with the specified number. An interrupt is enabled after the SETINT statement. DISABLE # INT: Number of interrupt input Deactivate interrupt: Deactivates the interrupt routine assigned to the hardware input with the specified number. Fast retraction is not executed. The assignment between the hardware input and the interrupt routine made with SETINT remains valid and can be reactivated with ENABLE. CLRINT # INT: Number of interrupt input Select interrupt: Cancel the assignment of interrupt routines and attributes to an interrupt input. The interrupt routine is deactivated and no reaction occurs when the interrupt is generated. #The keyword is not valid for SINUMERIK 810D. 15. Motion synchronization CANCEL INT: Number of synchronized action Aborts the modal motion-synchronous action with the specified ID 16. Function definition FCTDEF 1st parameter 2nd parameter 3rd parameter 4th-7th parameter Explanation INT: Function number REAL: Lower limit value REAL: Upper limit value REAL: Coefficients a0 - a3 Define polynomial. This is evaluated in SYFCT or PUTFTOCF. 17. Communication Keyword/su broutine identifier 1st parameter 2nd parameter Explanation MMC # STRING: Command CHAR: Acknowledgement mode** "N": Without acknowledgment "S": Synchronous acknowledgment "A": Asynchronous acknowledgment MMC command: Command ON MMC command interpreter for the configuration of windows via NC program see /AM/IM1 Start-Up Functions for the MMC #)The keyword is not valid for SINUMERIK 810D. **)Acknowledgement mode: Commands are acknowledged on request from the executing component (channel, NC, etc.). Without acknowledgement: Program execution is continued when the command has been transmitted. The sender is not informed if the command cannot be executed successfully. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 501 Tables 12.4 List of predefined subprograms 18. Program coordination Keyword/su broutine identifier 1st parameter INIT # INT: STRING: Channel path numbers 1 - 10 or STRING: Channel name $MC_CHAN _NAME START # INT: Channel numbers 1 - 10 or STRING: Channel name $MC_CHAN _NAME WAITE # INT: or channel numbers 1 - 10 STRING: Channel name $MC_CHAN _NAME Wait for end of program: Waits until end of program in another channel (number or name). WAITM # INT: Marker number 0-9 INT: Channel numbers 1 - 10 or STRING: Channel name $MC_CHAN _NAME Wait: Wait for a marker to be reached in other channels. The program waits until the WAITM with the relevant marker has been reached in the other channel. The number of the own channel can also be specified. WAITMC # INT: Marker number 0-9 INT: Channel numbers 1 - 10 or STRING: Channel name $MC_CHAN _NAME Wait: Waits conditionally for a marker to be reached in other channels. The program waits until the WAITMC with the relevant marker has been reached in the other channel. Exact stop only if the other channels have not yet reached the marker. WAITP AXIS: Axis identifier AXIS: Axis identifier 502 2nd parameter 3rd parameter 4th parameter 5th param eter 6th-8th Explanation param eter CHAR: acknowledg ement mode** Selection of a module for execution in a channel. 1 : 1st channel; 2 : 2. channel. As an alternative to the channel number, the channel name defined in $MC_CHAN_NAME can also be used. Starts selected programs simultaneously on multiple channels from running program. The command has no effect on the existing channel. 1 : 1st channel; 2 : 2nd channel or channel name defined in $MC_CHAN_NAME. AXIS: Axis identifier AXIS: Axis identifier AXIS: Axis identifier AXIS: Axis identifier Wait for positioning axis: Wait for positioning axes to reach their programmed endpoint. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.4 List of predefined subprograms WAITS INT: Spindle INT: Spindle INT: Spindle INT: Spindle INT: number number number number Spindl e numbe r Wait for positioning spindle: Wait until programmed spindles previously programmed with SPOSA reach their programmed endpoint. RET End of subroutine with no function output to the PLC. GET # AXIS AXIS AXIS AXIS AXIS AXIS Assign machine axis GETD# AXIS AXIS AXIS AXIS AXIS AXIS Assign machine axis directly RELEASE # AXIS AXIS AXIS AXIS AXIS AXIS Release machine axis PUTFTOC # REAL: Offset value INT: Parameter number INT: INT: Spindle Channel number number or STRING: Channel name $MC_CHAN _NAME PUTFTOCF # VAR REAL: Reference value *) INT: Parameter number INT: No. of function The number used here must be specified in FCTDEF. INT: Channel numbers 1 - 10 or STRING: Channel name $MC_CHAN _NAME Put fine tool correction: Fine tool compensation INT: Spindl e numbe r Put fine tool correction function dependent: Change online tool compensation according to a function defined with FCTDEF (max. 3rd degree polynomial). The SPI function can also be used to program a spindle instead of an axis: GET(SPI(1)) #)The keyword is not valid for SINUMERIK FM-NC/NCU571. **) Acknowledgment mode: Commands are acknowledged on request from the executing component (channel, NC, etc.). Without acknowledgement: Program execution is continued when the command has been transmitted. The executing component is not informed if the command cannot be executed successfully. Acknowledgment mode "N" or "n". Synchronous acknowledgement: The program execution is paused until the receiving component acknowledges the command. If the acknowledgement is positive, the next command is executed. If the acknowledgement is negative an error is output. Acknowledgement "S", "s" or to be omitted. For some commands, the acknowledgement response is predefined, for others it is programmable. The acknowledgement response for program-coordination commands is always synchronous. If the acknowledgement mode is not specified, synchronous acknowledgement is the default response. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 503 Tables 12.4 List of predefined subprograms 19. Data access 1st parameter CHANDATA INT: Channel number Explanation Set channel number for channel data access (only permitted in initialization block); the subsequent accesses refer to the channel set with CHANDATA. 20. Messages MSG 1st parameter 2nd parameter Explanation STRING: STRING: signal INT: Continuouspath-mode call parameter Message modal: The message is active until the next message is queued. 1st parameter 2nd parameter Explanation INT: Alarm number (cycle alarms) STRING: Character string Set alarm: Sets alarm. A character string with up to 4 parameters can be specified in addition to the alarm number. If the 2nd parameter = 1 is programmed, e.g., MSG(Text, 1), the message will even be output as an executable block in continuous-path mode. 22. Alarms SETAL The following predefined parameters are available: %1 = channel number %2 = block number, label %3 = text index for cycle alarms %4 = additional alarm parameters 23. Compensation Keyword/su broutine identifier 1st parameter4th parameter Explanation QECLRNO N AXIS: Axis number Quadrant error compensation learning ON Quadrant error compensation learning ON QECLRNOF 504 Quadrant error compensation learning OFF: Quadrant error compensation learning OFF Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.4 List of predefined subprograms 24. Tool management 1st parameter 2nd parameter 3rd parameter Explanation DELT STRING[32]: Tool designation INT: Duplo number Delete tool. Duplo number can be omitted. GETSELT VAR INT: T number (return value) INT: Spindle number Get selected T number. If no spindle number is specified, the command for the master spindle applies. SETPIECE INT: Count INT: Spindle number Takes account of set piece number for all tools assigned to the spindle. If no spindle number is specified, the command for the master spindle applies. SETDNO INT: Tool number T INT: Tool edge no. INT: D No. Set D no. of tool (T) and its tool edge to new DZERO Set D numbers of all tools of the TO unit assigned to the channel to invalid DELDL INT: Tool number T INT: D No. Delete all additive offsets of the tool edge (or of a tool if D is not specified) SETMTH INT: Tool-holder no. Set toolholder no. POSM INT: Location no. for positioning INT: No. of the INT: magazine to Location be moved number of the internal magazine SETTIA VAR INT: Status=result of operation (return value) INT: Magazine INT: Wear number grouping no. Deactivate tool from wear group SETTA VAR INT: Status=result of operation (return value) INT: Magazine INT: Wear number grouping no. Activate tool from wear group RESETMON VAR INT: Status=result of operation (return value) INT: Internal T INT: D no. of no. tool Set actual value of tool to setpoint INT: Magazine number of the internal magazine Position magazine #) The keyword is not valid for SINUMERIK FM-NC. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 505 Tables 12.4 List of predefined subprograms 25. Synchronous spindle 1st para- 2nd meter parameter 3rd para- 4th para- 5th parameter meter meter Block change behavior 6th parameter Explanation AXIS: Followin g axis or following spindle (FS) AXIS: Leadin g axis or leading spindle (LS) REAL: Numerat or transfor mation ratio (FA) or (FS) STRING[2]: "DV": Setpoint coupling "AV": Actualvalue coupling Couple definition: definition of synchronized spindle grouping COUPDEL # AXIS: Followin g axis or following spindle (FS) AXIS: Leadin g axis or leading spindle (LS) COUPOF # AXIS: Followin g axis or following spindle (FS) AXIS: Leadin g axis or leading spindle (LS) The block change is enabled immediately. Fastest possible deactivation of synchronous operation. COUPOF # AXIS: Followin g axis or following spindle (FS) AXIS: REAL: Leadin POSFS g axis or leading spindle (LS) Block change is not enabled until this position has been crossed. Deselection of synchronous operation after deactivation position POSFS has been crossed COUPOF # AXIS: Followin g axis or following spindle (FS) AXIS: REAL: Leadin POSFS g axis or leading spindle (LS) Block change is not enabled until both programmed positions have been crossed. Range of POSFS, POSLS: 0 ... 359.999 degrees. Deselection of synchronous operation after the two deactivation positions POSFS and POSLS have been crossed. COUPDEF # 506 REAL: Denomin ator transfor mation ratio (LA) or (LS) STRING[8]: Block change behavior: "NOC": no block change control, block change is enabled immediately, "FINE": block change on "synchronism fine", "COARSE": block change on synchronism coarse and "IPOSTOP": block change in setpoint-dependent termination of overlaid movement. If the block change behavior is not specified, the set behavior is applicable and there is no change. Couple delete: Delete synchronous spindle group REAL: POSLS Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.4 List of predefined subprograms COUPOFS # AXIS: Followin g axis or following spindle (FS) AXIS: Leadin g axis or leading spindle (LS) Block change performed as quickly as possible with immediate block change. Deactivation of couple with following-spindle stop. COUPOFS # AXIS: Followin g axis or following spindle (FS) AXIS: REAL: Leadin POSFS g axis or leading spindle (LS) After the programmed deactivation position that refers to the machine coordinate system has been crossed, the block change is not enabled until the deactivation positions POSFS have been crossed. Value range 0 ... 359.999 degrees. Only deactivated after programmed following-axis deactivation position has been crossed. COUPON # AXIS: Followin g axis or following spindle (FS) AXIS: Leadin g axis or leading spindle (LS) The block change is enabled immediately. Fastest possible activation of synchronous operation with any angular reference between the leading and following spindles. COUPON # AXIS: Followin g axis or following spindle (FS) AXIS: REAL:P Leadin OSFS g axis or leading spindle (LS) The block change is enabled according to the defined setting. Range of POSFS: 0 ... 359.999 degrees. Activation with a defined angular offset POSFSbetween the following and leading spindles. This offset is referred to the zero degrees position of the leading spindle in a positive direction of rotation. COUPONC # AXIS: Followin g axis or following spindle (FS) AXIS: Leadin g axis or leading spindle (LS) An offset position cannot be program med. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Acceptance of activation with previously programmed M3 S.. or M4 S... Immediate acceptance of rotational speed difference. 507 Tables 12.4 List of predefined subprograms COUPRES # AXIS: Followin g axis or following spindle (FS) AXIS: Leadin g axis or leading spindle (LS) Couple reset: Reset synchronous spindle group. The programmed values become invalid. The machine data values are valid. For synchronous spindles, the axis parameters are programmed with SPI(1) or S1. 26. Structure statements in the STEP editor (editor-based program support) SEFORM 1st parameter 2nd parameter 3rd parameter Explanation STRING[128]: section name INT: level STRING[128]: icon Current section name for STEP editor #) The keyword is not valid for SINUMERIK 810 D. Keyword/su broutine identifier 1st parameter 2nd parameter 3rd parameter COUPON # AXIS: Following axis AXIS: Master axis REAL: Activation position of following axis COUPOF # AXIS: Following axis AXIS: Master axis REAL: Deactivation position of following axis (absolute) 508 4th parameter Explanation Couple on: Activate ELG group/synchronous spindle pair. If no activation positions are specified, the couple is activated as quickly as possible (ramp). If an activation position is specified for the following axis and spindle, this refers absolutely or incrementally to the master axis or spindle. Parameters 4 and 5 only have to be programmed if the 3rd parameter is specified. REAL: Deactivation position of master axis (absolute) Couple OFF: Deactivate ELG group/synchronous spindle pair. The couple parameters are retained. If positions are specified, the couple is only canceled when all the specified positions have been overtraveled. The following spindle continues to revolve at the last speed programmed before deactivation of the couple. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.4 List of predefined subprograms WAITC # AXIS: Axis/ spindle AXCTSWE AXIS: Axis/spindle STRING[8]: Block change criterion AXIS: Axis/ spindle STRING[8]: Block change criterion Wait for couple condition: Wait until couple block change criterion for the axes/spindles is fulfilled. Up to 2 axes/spindles can be programmed. Block change criterion: "NOC": no block change control, block change is enabled immediately, "FINE": block change on "synchronism fine", "COARSE": block change on synchronism coarse and "IPOSTOP": Block change in setpoint-dependent termination of overlaid movement. If the block change behavior is not specified, the set behavior is applicable and there is no change. Advance container axis #)The keyword is not valid for SINUMERIK 810D. 12.4.2 Predefined subroutine calls in motion-synchronous actions Predefined subroutine calls in motion-synchronous actions 27. Synchronous procedures Keyword/ function identifier 1st parameter 2nd parameter STOPREOF Explanation Stop preparation OFF: A synchronized action with a STOPREOF command causes a preprocessing stop after the next output block (= block for the main run). The preprocessing stop is canceled with the end of the output block or when the STOPREOF condition is fulfilled. All synchronized action instructions with the STOPREOF command are therefore interpreted as having been executed. RDISABLE DELDTG 3rd parameter to 5th parameter Read-in disable Read-in disable AXIS: Axis for axial delete distance-to-go (optional). If the axis is omitted, delete distanceto-go is triggered for the path distance Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Delete distance-to-go: A synchronized action with the DELDTG command causes a preprocessing stop after the next output block (= block for the main run). The preprocessing stop is canceled with the end of the output block or when the first DELDTG condition is fulfilled. The axial distance to the destination point on an axial delete distance-to-go is stored in $AA_DELT[axis]; the distance-to-go is stored in $AC_DELT. 509 Tables 12.4 List of predefined subprograms SYNFCT INT: Number of polynomial function defined with FCTDEF. VAR REAL: Reference variable*) VAR REAL: If the condition in the motion synchronous action is input variable**) fulfilled, the polynomial determined by the first expression is evaluated at the input variable. The upper and lower range of the value is limited and the input variable is assigned. FTOC INT: Number of VAR REAL: INT: Length 1, polynomial input variable**) 2, 3 function defined INT: Channel with FCTDEF number INT: Spindle number Modify tool fine compensation according to a function defined with FCTDEF (polynomial no higher than 3rd degree). The number used here must be specified in FCTDEF. *) Only special system variables are permissible as result variables. These are described in the Programming Guide Advanced in the section on "Write main run variable". **) Only special system variables are permissible as input variables. These variables are described in the Programming Guide Advanced in the list of system variables. 12.4.3 Predefined functions Predefined functions Predefined functions are invoked by means of a function call. Function calls return a value. They can be included as an operand in an expression. 1. Coordinate system Keyword/ function identifier Result 1st parameter 2nd parameter CTRANS FRAME AXIS REAL: Offset 3. - 15. Parameter as 1 ... 4. - 16. Parameter as 2 ... Translation: Zero offset for multiple axes. One axis identifier is programmed at a time, with its respective value in the next parameter. CTRANS can be used to program offset for up to 8 axes. CROT FRAME AXIS REAL: Rotation 3./5. Parameter as 1 ... 4./6. Parameter as 2 ... Rotation: Rotation of the current coordinate system. Maximum number of parameters: 6 (one axis identifier and one value per geometry axis) 510 Explanation Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.4 List of predefined subprograms CSCALE FRAME AXIS REAL: Scale factor CMIRROR FRAME AXIS 2. - 8. Parameter as 1 ... MEAFRAME FRAME 2-dim. REAL array 2-dim. REAL array 3. - 15. Parameter as 1 ... 4. - 16. Parameter as 2 ... Scale: Scale factor for multiple axes. Maximum number of parameters is 2* maximum number of axes (axis identifier and value). One axis identifier is programmed at a time, with its respective value in the next parameter. CSCALE can be used to program scale factors for up to 8 axes. Mirror: Mirror on a coordinate axis 3. Parameter: REAL variables Frame calculation from 3 measuring points in space Frame functions CTRANS, CSCALE, CROT and CMIRROR are used to generate frame expressions. 2. Geometry functions Keyword/ function identifier Result 1st parameter 2nd parameter 3rd parameter Explanation CALCDAT BOOL: Error status VAR REAL [,2]: Table with input points (abscissa and ordinate for points 1, 2, 3, etc.) INT: Number of input points for calculation (3 or 4) VAR REAL [3]: Result: Abscissa, ordinate and radius of calculated circle center point CALCDAT: Calculate circle data Calculates radius and center point of a circle from 3 or 4 points (according to parameter 1), which must lie on a circle. The points must be different. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 511 Tables 12.4 List of predefined subprograms Names Result 1st parameter 2nd parameter 3rd parameter 4th parameter CALCPOSI INT: REAL: REAL: Status Starting position in WCS Minimum Increment: Path definition clearances of limits to be [0] Abscissa observed [1] Ordinate [0] Abscissa [2] Applicate [1] Ordinate referred to [2] Applicate starting [3] Lin. position machine Axis 0 OK -1 DLIMIT neg. -2 Trans. n.def. [0] Abscissa [1] Ordinate [2] Applicate 1 SW limit 2 Working area 3 Prot. zone CALCPOSI INTERSEC 6th parameter REAL: BOOL: Return value 0: bin encoded possible incr. path if path from parameter 3 cannot be fully traversed without violating limit Evaluation G code group 13 1 SW limits [4] Rot. Axis See PGA for more Explanation: REAL: 5th parameter to be monitored (inch/metr.) 2 working area 1: Reference to basic control system, independen t of active G codes group 13 4 active protection zone 8 preactive protection zone CALCPOSI is for checking whether, starting from a defined starting point, the geometry axes can traverse a defined path without violating the axis limits (software limits), working area limitations, or protection zones. If the defined path cannot be traversed without violating limits, the maximum permissible value is returned. BOOL: Error status VAR REAL [11]: First contour element VAR REAL [11]: Second contour element VAR REAL [2]: Result vector: Intersection coordinate, abscissa and ordinate Intersection: Calculation of intersection The intersection between two contour elements is calculated. The intersection coordinates are return values. The error status indicates whether an intersection was found. Result 1st parameter 2nd parameter Explanation AXNAME AXIS: Axis identifier STRING [ ]: Input string AXNAME: Get axis identifier Converts the input string to an axis identifier. An alarm is generated if the input string does not contain a valid axis identifier. AXTOSPI INT: Spindle number AXIS: Axis identifier AXTOSPI: Convert axis to spindle Converts an axis identifier into a spindle number. An alarm is set if the transfer parameter does not contain a valid axis identifier. SPI AXIS: Axis identifier INT: Spindle number SPI: Convert spindle to axis Converts a spindle number to an axis identifier. An alarm is generated if the passed parameter does not contain a valid spindle number. 3. Axis functions 512 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.4 List of predefined subprograms ISAXIS BOOL TRUE: Axis exists: Otherwise: FALSE INT: Number of the geometry axis (1 to 3) Check whether the geometry axis 1 to 3 specified as parameter exists in accordance with $MC_AXCONF_GEOAX_ASSIGN_TAB. AXSTRING STRING AXIS Convert axis identifier into string. 4. Tool management Result 1st parameter 2nd parameter Explanation NEWT # INT: T number STRING [32]: Tool name INT: Duplo number Create new tool (prepare tool data). The duplo number can be omitted. GETT # INT: T number STRING [32]: Tool name INT: Duplo number Get T number for tool identifier GETACTT # INT: Status INT: T number STRING[32]: Tool name Get active tool from a group of tools with the same name TOOLENV INT: Status STRING: Name Save a tool environment in SRAM with the specified name DELTOOLENV INT: Status STRING: Name Delete a tool environment in SRAM with the specified name. All tool environments if no name specified. GETTENV INT: STRING: INT: Reading: Status Name Number = [0] T number, Number = [1] D number, Number = [2] DL number from a tool environment with the specified name #) The keyword is not valid for SINUMERIK FM-NC. GETTCOR SETTCOR Result 1st par. 2nd par. INT: REAL: Status Length [11] 3rd par. 4th par. 5th par. 6th par. Explanation STRING: STRING: INT: INT: INT: Compon ents: Coordinate system Tool Int. T environm number ent/ "" D number DL number Read tool lengths and tool length components from tool environment or current environment 3rd par. 4th par. 5th par. 6th par. INT: Details: See /FB1/ Function Manual Basic Functions; (W1) Result 1st par. 2nd par. INT: REAL: STRING: INT: INT: Status Offset vector [0-3] Component(s) Type of Index of write geo. axis operation Compon ent(s) to be offset Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 7th par. 8th par. 9th par. STRING: INT: INT: INT: Name of Int. T tool number environm ent D number DL number 513 Tables 12.4 List of predefined subprograms Explanation Changing tool components whilst observing all marginal conditions that are included in the evaluation of the individual components. Details: See Function Manual Basic Functions; (W1) LENTOAX Result 1st parameter 2nd parameter 3rd parameter Explanation INT: INT: REAL: STRING: Status Axis index L1, L2, L3 for abscissa, ordinate, applicate Coordinate system for the assignment The function provides information about the assignment of the tool lengths L1, L2, L3 of the active tools to abscissa, ordinate, applicate. The assignment to the geometry axes is affected by frames and the active plane (G17 - 19). Details: See Function Manual Basic Functions; (W1) [0-2] [3], [3] Matrix 5. Arithmetic Result 1st parameter SIN REAL REAL 2nd parameter Sine Explanation ASIN REAL REAL Arcsine COS REAL REAL Cosine ACOS REAL REAL Arccosine TAN REAL REAL Tangent ATAN2 REAL REAL SQRT REAL REAL REAL Arctangent 2 Square root ABS REAL REAL Generate absolute value POT REAL REAL Square TRUNC REAL REAL Truncate decimal places ROUND REAL REAL Round decimal places LN REAL REAL Natural logarithm EXP REAL REAL Exponential function ex MINVAL REAL REAL REAL Determines the smaller value of two variables MAXVAL REAL REAL REAL Determines the larger value of two variables Result 1st parameter 2nd parameter 3rd parameter Explanation BOUND REAL: Check status REAL: Minimum REAL: Maximum REAL: Check variable Checks whether the variable value lies within the defined min/max value range Explanation The arithmetic functions can also be programmed in synchronized actions. Arithmetic functions are calculated and evaluated in the main run. Synchronized action parameter $AC_PARAM[n] can also be used for calculations and as buffer memory. 514 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Tables 12.4 List of predefined subprograms 6. String functions Result 1st parameter 2nd parameter to 3rd parameter Explanation ISNUMBER BOOL STRING Check whether the input string can be converted to a number. Result is TRUE if conversion is possible. ISVAR BOOL STRING Check whether the transfer parameter contains a variable known in the NC. (Machine data, setting data, system variable, general variables such as GUDs Result is TRUE if all the following checks produce positive results according to the (STRING) transfer parameter: - The identifier exists - It is a 1- or 2-dimensional array - An array index is allowed. For axial variables, the axis names are accepted as an index but not checked. NUMBER REAL STRING Convert the input string into a number. TOUPPER STRING STRING Convert all alphabetic characters in the input string to upper case. TOLOWER STRING STRING Convert all alphabetic characters in the input string to lower case. STRLEN INT STRING The result is the length of the input string up to the end of the string (0). INDEX INT STRING CHAR Find the character (2nd parameter) in the input string (1st parameter). The reply gives the place, at which the character was first found. The search is from left to right. The 1st character in the string has the index 0. RINDEX INT STRING CHAR Find the character (2nd parameter) in the input string (1st parameter). The reply gives the place, at which the character was first found. The search is from right to left. The 1st character in the string has the index 0. MINDEX INT STRING STRING Find one of the characters specified in the 2nd parameter in the input string (1st parameter). The place where one of the characters was first found is output. The search is from left to right. The first character in the string has the index 0. SUBSTR STRING STRING INT Returns the substring of the input string (1st parameter), defined by the start character (2nd parameter) and number of characters (3rd parameter). Example: SUBSTR("Hello world",1,5) returns "Hello world" Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 515 Tables 12.4 List of predefined subprograms 12.4.4 Data types Data types Data types Type Comment Value range INT Integers with sign -2147483646 ... +2147483647 REAL Real numbers (fractions with decimal point, LONG REAL to IEEE) (2,2*10-308 ... 1,8*10+308) BOOL Truth values TRUE (1) and FALSE (0) 1, 0 CHAR ASCII character specified by the code 0 ... 255 STRING Character string, number of characters in [...], maximum of 200 characters Sequence of values with 0 ... 255 AXIS Axis names (axis addresses) only Any axis identifiers in the channel FRAME Geometrical parameters for translation, rotation, scaling, and mirroring 516 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Appendix Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 A 517 Appendix A.1 List of abbreviations A.1 List of abbreviations A Output AS Automation system ASCII American Standard Code for Information Interchange: American coding standard for the exchange of information ASIC Application Specific Integrated Circuit: User switching circuit ASUB Asynchronous subroutine AuxF Auxiliary function AV Job planning BA Operating mode BB Ready to run BCD Binary Coded Decimals: Decimal numbers encoded In binary code BCS Basic Coordinate System BIN Binary files (Binary Files) BIOS Basic Input Output System BOT Boot files: Boot files for SIMODRIVE 611 digital BP Basic program C Bus Communication bus CAD Computer-Aided Design CAM Computer-Aided Manufacturing CNC Computerized Numerical Control: Computerized numerical control COM Communication COR Coordinate rotation CP Communications Processor CPU Central Processing Unit: Central processing unit CR Carriage Return CRC Cutter radius compensation CRT Cathode Ray Tube picture tube CSB Central Service Board: PLC module CSF Function plan (PLC programming method) CTS Clear To Send: Signal from serial data interfaces CUTOM Cutter radius compensation: Tool radius compensation DAC Digital-to-Analog Converter DB Data block in the PLC DBB Data block byte in the PLC DBW Data block word in the PLC DBX Data block bit in the PLC DC Direct Control: Movement of the rotary axis via the shortest path to the absolute position within one revolution DCD Data Carrier Detect DDE Dynamic Data Exchange DIN Deutsche Industrie Norm (German Industry Standard) 518 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Appendix A.1 List of abbreviations DIO Data Input/Output: Data transfer display DIR Directory: Directory DLL Dynamic Link Library DOE Data transmission equipment DOS Disk Operating System DPM Dual-Port Memory DPR Dual-Port RAM DRAM Dynamic Random Access Memory DRF Differential Resolver Function: Differential resolver function (DRF) DRY Dry Run: Dry run feedrate DSB Decoding Single Block: Decoding single block DTE Data Terminal Equipment DW Data word E Input EIA code Special punched tape code, number of holes per character always odd ENC Encoder: Actual value encoder EPROM Erasable Programmable Read Only Memory Error Error from printer FB Function block FBS Slimline screen FC Function Call: Function block in the PLC FDB Product database FDD Floppy Disk Drive FDD Feed Drive FEPROM Flash-EPROM: Read and write memory FIFO First In First Out: Memory that works without address specification and whose data are read in the same order in which they were stored. FIPO Fine InterPOlator FM Function Module FM-NC Function module - numerical control FPU Floating Point Unit Floating Point Unit FRA Frame block FRAME Data record (frame) FST Feed Stop: Feed stop GUD Global User Data: Global user data HD Hard Disk Hard disk HEX Abbreviation for hexadecimal number HHU Handheld unit HMI Human Machine Interface HMI Human Machine Interface: Operator functionality of SINUMERIK for operation, programming and simulation. HMS High-resolution Measuring System HW Hardware I/O Input/Output Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 519 Appendix A.1 List of abbreviations I/R Infeed/regenerative-feedback unit (power supply) of the SIMODRIVE 611digital IBN Startup IF Drive module pulse enable IK (GD) Implicit communication (global data) IKA Interpolative Compensation: Interpolatory compensation IM Interface Module Interconnection module IMR Interface Module Receive: Interconnection module for receiving data IMS Interface Module Send: Interconnection module for sending data INC Increment: Increment INI Initializing Data: Initializing data IPO Interpolator IS Interface signal ISA Industry Standard Architecture ISO International Standardization Organization ISO code Special punched tape code, number of holes per character always even JOG Jogging: Setup mode K1 .. K4 Channel 1 to channel 4 KUE Speed ratio Kv Servo gain factor LAD Ladder diagram (PLC programming method) LCD Liquid Crystal Display: Liquid crystal display LEC Leadscrew error compensation LED Light-Emitting Diode: Light emitting diode LF Line Feed LR Position controller LUD Local User Data MB Megabyte MC Measuring circuit MCP Machine control panel MCS Machine coordinate system MD Machine data MDI Manual Data Automatic: Manual input MLFB Machine-readable product designation Mode group Mode group MPF Main Program File: NC parts program (main program) MPI Multiport Interface Multiport Interface MS Microsoft (software manufacturer) MSD Main Spindle Drive NC Numerical Control: Numerical Control NCK Numerical Control Kernel: NC kernel with block preparation, traversing range, etc. NCU Numerical Control Unit: Hardware unit of the NCK NRK Name for the operating system of the NCK NURBS Non-Uniform Rational B-Spline 520 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Appendix A.1 List of abbreviations OB Organization block in the PLC OEM Original Equipment Manufacturer OP Operator Panel OP Operator Panel: Operating setup OPI Operator Panel Interface OPI Operator Panel Interface: Interface for connection to the operator panel OPT Options: Options OSI Open Systems Interconnection: Standard for computer communications P bus Peripheral Bus PC Personal Computer PCIN Name of the SW for data exchange with the control PCMCIA Personal Computer Memory Card International Association: Standard for plug-in memory cards PCU PC Unit: PC box (computer unit) PG Programming device PLC Programmable Logic Control: Interface control PLC Programmable Logic Controller PMS Position measuring system POS Positioning RAM Random Access Memory: Program memory that can be read and written to REF Reference point approach function REPOS Reposition function RISC Reduced Instruction Set Computer: Type of processor with small instruction set and ability to process instructions at high speed ROV Rapid override: Input correction RPA R-Parameter Active: Memory area on the NCK for R parameter numbers RPY Roll Pitch Yaw: Rotation type of a coordinate system RS-232-C Serial interface (definition of the exchange lines between DTE and DCE) RTS Request To Send: RTS, control signal of serial data interfaces SBL Single Block: Single block SD Setting Data SDB System Data Block SEA Setting Data Active: Identifier (file type) for setting data SFB System Function Block SFC System Function Call SK Softkey SKP SKiP: Skip block SM Stepper Motor SPF Sub Routine File: Subroutine SR Subroutine SRAM Static RAM (non-volatile) SSI Serial Synchronous Interface: Synchronous serial interface STL Statement list SW Software Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 521 Appendix A.1 List of abbreviations SYF System Files System files T Tool TC Tool change TEA Testing Data Active: Identifier for machine data TLC Tool length compensation TNRC Tool Nose Radius Compensation TO Tool Offset: Tool offset TO Tool offset TOA Tool Offset Active: Identifier (file type) for tool offsets TRANSMIT TRANSform Milling Into Turning: Coordinate conversion on turning machine for milling operations TRC Tool Radius Compensation UFR User Frame: Work offset UI User interface WCS Workpiece coordinate system WOP Workshop-oriented Programming WPD Workpiece Directory: Workpiece directory ZO Work offset ZOA Zero Offset Active: Identifier (file type) for zero offset data C Micro Controller 522 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Appendix A.2 List of abbreviations A.2 List of abbreviations A.2.1 Correction sheet - fax template Should you come across any printing errors when reading this publication, please notify us on this sheet. Suggestions for improvement are also welcome. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 523 Appendix A.2 List of abbreviations 7R 6,(0(16$* $ '0&06 3RVWIDFK '(UODQJHQ )URP 1DPH &RPSDQ\'HSW 6WUHHW 7RZQ =LSFRGH )D[ 'RFXPHQWDWLRQ PDLOWRGRFXPRWLRQFRQWURO#VLHPHQVFRP ZZZVLHPHQVFRPDXWRPDWLRQVHUYLFH VXSSRUW 3KRQH )D[ 6XJJHVWLRQVDQGRUFRUUHFWLRQV 524 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Appendix A.2 List of abbreviations A.2.2 Overview 2YHUYLHZRI6,180(5,.'VO'LVO'RFXPHQWDWLRQ *HQHUDO'RFXPHQWDWLRQ 6,180(5,. 6,180(5,. 6,1$0,&6 'VO 'LVO 6 &DWDORJ1& &DWDORJ '6HUYR&RQWURO 6,180(5,. 'VO 6,180(5,. 'VO ' 'LVO 'L ' 6,180(5,. 'VO ' 'LVO 'L ' 6,180(5,. 'VO ' 'LVO 'L ' 6,180(5,. 'VO 'LVO 2SHUDWLQJ0DQXDO B+0,VO +0,(PEHGGHG 6KRS0LOO 6KRS7XUQ 2SHUDWLQJ0DQXDO +0,$GYDQFHG 3URJUDPPLQJ FRPSDFW 3URJUDPPLQJ0DQXDO )XQGDPHQWDOV $GYDQFHG 3URJUDPPLQJFRPSDFW /LVWV6\VWHP9DULDEOHV ,627XUQLQJ0LOOLQJ 3URJUDPPLQJ0DQXDO &\FOHV 0HDVXULQJ&\FOHV 'LDJQRVWLFV0DQXDO %URFKXUH 8VHU'RFXPHQWDWLRQ 0DQXIDFWXUHU6HUYLFH'RFXPHQWDWLRQ 6,180(5,. 'VO 6,180(5,. 'VO 'LVO 6,180(5,. 'VO 6,180(5,. 'LVO 6,180(5,. 'VO 'LVO 0DQXDO 1&8 0DQXDO 2SHUDWRU &RPSRQHQWV &RPPLVVLRQLQJ 0DQXDO&1& 1&.3/&'ULYH +0,VO +0,(PEHGGHG +0,$GYDQFHG 6KRS0LOO 6KRS7XUQ &RPPLVVLRQLQJ 0DQXDO 3DUDPHWHU0DQXDO 3DUW 3DUW 0DQXIDFWXUHU6HUYLFH'RFXPHQWDWLRQ 6,180(5,. 'VO ' 'LVO 'L ' 6,180(5,. 'VO ' 'LVO 'L ' 6,1$0,&6 6 6,180(5,. 'VO 6,180(5,. 'VO ' 'LVO 'L ' )XQFWLRQ0DQXDO %DVLF0DFKLQH ([WHQGHG)XQFWLRQV 6SHFLDO)XQFWLRQV )XQFWLRQ0DQXDO 6\QFKURQL]HG$FWLRQV ,VR'LDOHFWV )XQFWLRQ0DQXDO 'ULYH)XQFWLRQV )XQFWLRQ0DQXDO 6DIHW\,QWHJUDWHG (0&*XLGHOLQHV (OHFWURQLF'RFXPHQWDWLRQ 6,180(5,. 6,1$0,&6 0RWRUV '2&21&' '2&21:(% Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 7KHVHGRFXPHQWVDUHDPLQLPXPUHTXLUHPHQW 525 Appendix A.2 List of abbreviations 2YHUYLHZIR6,180(5,.''L''RFXPHQWDWLRQ *HQHUDO'RFXPHQWDWLRQ 6,180(5,. 6,180(5,. 6DIHW\,QWHJUDWHG ' 'L ' %URFKXUH &DWDORJ1& 6DIHW\,QWHJUDWHG $SSOLFDWLRQ0DQXDO 8VHU'RFXPHQWDWLRQ 6,180(5,. ' 'L ' 6,180(5,. 'VO ' 'LVO 'L ' 6,180(5,. 'VO ' 'LVO 'L ' 6,180(5,. 'VO ' 'LVO 'L ' 6,180(5,. ' 'L ' 6,180(5,. 'L 2SHUDWLQJ0DQXDO +0,(PEHGGHG 6KRS0LOO 6KRS7XUQ +7 2SHUDWLQJ0DQXDO +0,$GYDQFHG 3URJUDPPLQJ FRPSDFW 3URJUDPPLQJ0DQXDO )XQGDPHQWDOV $GYDQFHG 3URJUDPPLQJFRPSDFW /LVWV6\VWHP9DULDEOHV ,627XUQLQJ0LOOLQJ 3URJUDPPLQJ0DQXDO &\FOHV 0HDVXULQJ&\FOHV 'LDJQRVWLFV0DQXDO 6\VWHP2YHUYLHZ 0DQXIDFWXUHU6HUYLFH'RFXPHQWDWLRQ 6,180(5,. ' ' 6,180(5,. ' 'L ' 6,180(5,. ' 'L ' 6,180(5,. ' 'L ' 6,180(5,. 'L 6,180(5,. ' 'L ' &RQILJXULQJ +: ' ' 0DQXDO 2SHUDWRU &RPSRQHQWV &RPPLVVLRQLQJ0DQXDO '' +0, %DVHVRIWZDUH )XQFWLRQ0DQXDO 6KRS0LOO 6KRS7XUQ &RPPLVVLRQLQJ 0DQXDO 3DUDPHWHU0DQXDO 3DUW 3DUW 0DQXIDFWXUHU6HUYLFH'RFXPHQWDWLRQ 6,180(5,. 'VO ' 'LVO 'L ' 6,180(5,. ' 'L ' 6,180(5,. ' 'L ' 6,180(5,. ' 6,180(5,. ' ' 6,180(5,. ' ' )XQFWLRQ0DQXDO %DVLF0DFKLQH ([WHQGHG)XQFWLRQV 6SHFLDO)XQFWLRQV 6\QFKURQL]HG$FWLRQV ,VR'LDOHFWV (0&*XLGHOLQHV )XQFWLRQ0DQXDO 'ULYH)XQFWLRQV 7RRO0DQDJHPHQW +\GUDXOLFV0RGXOH $QDORJ0RGXOH )XQFWLRQ0DQXDO 5HPRWH'LDJQRVLV #(YHQW )XQFWLRQ0DQXDO 6DIHW\,QWHJUDWHG &RQILJXULQJ 2SHUDWRU,QWHUIDFH 23 +0,(PEHGGHG 0&,6 &RPSXWHU/LQN 7RRO'DWD,QIR6\V 1&'DWDPDQDJHP 1&'DWD7UDQVIHU 7RRO'DWD&RPPXQ (OHFWURQLF'RFXPHQWDWLRQ 6,180(5,. 6,02'5,9( 0RWRUV '2&21&' '2&21:(% 526 7KHVHGRFXPHQWVDUHDPLQLPXPUHTXLUHPHQW Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Glossary Absolute dimensions A destination for an axis movement is defined by a dimension that refers to the origin of the currently active coordinate system. See -> incremental dimension. Acceleration with jerk limitation In order to optimize the acceleration response of the machine whilst simultaneously protecting the mechanical components, it is possible to switch over in the machining program between abrupt acceleration and continuous (jerk-free) acceleration. Address An address is the identifier for a certain operand or operand range, e.g. input, output etc. Analog input/output module Analog input/output modules are signal formers for analog process signals. Analog input modules convert analog measured values into digital values which can be processed in the CPU. Analog output modules convert digital values into analog output signals. Approach machine fixed-point Approach motion towards one of the predefined -> fixed machine points. Archiving Reading out data and/or directories to an external memory device. A-Spline The Akima-Spline runs under a continuous tangent through the programmed interpolation points (3rd order polynomial). Asynchronous subroutine A parts program which can be started asynchronously to (independently of) the current program status by an interrupt signal (e.g. "rapid NC input" signal). Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 527 Glossary Automatic Operating mode of the control (block sequence operation according to DIN): Operating Mode in NC systems in which a -> parts program is selected and continuously executed. Auxiliary functions Auxiliary functions can be used to transfer -> parameters to the -> PLC in -> parts programs, where they trigger reactions which are defined by the machine manufacturer. Axes In accordance with their functional scope, the CNC axes are subdivided into: * Axes: interpolating path axes * Auxiliary axes: non-interpolating feed and positioning axes with an axis-specific feed rate. Auxiliary axes are not involved in the actual machining, and include for example tool feeders and tool magazines. Axis address See -> axis identifier Axis identifier Axes are labeled in accordance with DIN 66217 (for a clockwise orthogonal -> coordinate system) with the letters X,Y, Z. -> Rotary axes which rotate around are labeled with the letters A, B, C. Additional axes parallel to the above can be identified with further address letters. Axis name See -> axis identifier B spline With the B-Spline, the programmed positions are not interpolation points, as they are just "control points" instead. The generated curve only runs near to the control points, not directly through them (optional 1st, 2nd or 3rd order polynomials). Backlash compensation Compensation for mechanical machine backlash, e.g. backlash on reversal for feed screws. Backlash compensation can be entered separately for each axis. Backup Saving the memory contents to an external memory device. 528 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Glossary Backup battery The backup battery ensures that the user program in the CPU is stored so that it is safe from power failure and so that specified data areas and bit memory, timers and counters are stored retentively. Back-up memory The backup memory enables buffering of memory areas of the -> CPU without a buffer battery. Buffering can be performed for a configurable number of times, counters, markers and data bytes. Basic axis Axis whose setpoint or actual value position forms the basis of the calculation of a compensation value. Basic Coordinate System Cartesian coordinate system which is mapped by transformation onto the machine coordinate system. In the -> parts program, the programmer uses the axis names of the basic coordinate system. The basic coordinate system exists in parallel to the -> machine coordinate system when no -> transformation is active. The difference between the systems relates to the axis identifiers. Baud rate Rate of data transfer (Bit/s). Blank Workpiece as it is before it is machined. Block "Block" is the term given to any files required for creating and processing programs. Block search For debugging purposes or following a program abort, the "Block search" function can be used to select any location in the part program at which the program is to be started or resumed. Booting Loading the system program after power on. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 529 Glossary Bus connector A bus connector is an S7-300 accessory part which is supplied together with the -> I/O modules. The bus connector expands the -> S7-300 bus from the -> CPU or an I/O module to the neighboring I/O module. C axis Axis around which the tool spindle describes a controlled rotational and positioning movement. C spline The C-spline is the most well-known and widely used spline. The transitions at the interpolation points are continuous, both tangentially and in terms of curvature. 3rd order polynomials are used. Channel A channel is characterized by its ability to execute a -> parts program independently of other channels. A channel exclusively controls the axes and spindles assigned to it. Parts programs run on various channels can be coordinated by -> synchronization. Channel structure The channel structure enables the -> programs of the individual channels to be executed simultaneously and asynchronously. Circular interpolation The -> tool is required to travel in a circle between defined points on the contour at a specified feedrate while machining the workpiece. CNC See -> NC COM Component of the NC control for the implementation and coordination of communication. Compensation axis Axis with a setpoint or actual value modified by the compensation value Compensation table Table containing interpolation points. It provides the compensation values of the compensation axis for selected positions on the basic axis. 530 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Glossary Compensation value Difference between the axis position measured by the position sensor and the desired, programmed axis position. Connecting cables Connecting cables are pre-assembled or user-assembled 2-wire cables with a connector at each end. This connecting cable connects the CPU to a programming device or to other CPUs by means of a multi-point interface (MPI). Continuous-path mode The purpose of continuous-path mode is to prevent excessive deceleration of the -> path axes at the part program block boundaries (in terms of the control, machine and other properties of the operation and the user) and to effect the transition to the next block at as uniform a path speed as possible. Contour Outline of the -> workpiece Contour monitoring The following error is monitored within a defined tolerance band to ensure contour precision. An impermissibly high following error might be caused by a drive overload, for example. In this case an alarm is triggered and the axes are stopped. coordinate system See -> Machine Coordinate System, -> Workpiece Coordinate System CPU Central Processor Unit, see -> Programmable Logic Controller Data Block 1. Data unit of the -> PLC, which the -> HIGHSTEP programs can access. 2. Data unit of the -> NC: Data blocks contain data definitions for global user data. These data can be initialized directly when they are defined. Data transmission program PCIN PCIN is an auxiliary program which is used to send and receive CNC user data via the serial interface, such as e.g. parts programs, tool offsets etc. The PCIN program can be executed under MS-DOS on standard industrial PCs. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 531 Glossary Data word A data unit, two bytes in size, within a -> data block. Diagnosis 1. Control operating area 2. The control has both a self-diagnostics program and testing aids for service. Status, alarm and service indicators. Digital input/output module Digital modules are signal formers for binary process signals. Dimensions in metric units and inches Position and gradient values can be entered in the machining program in inches. The control can be set to a basic system regardless of the programmed measuring system (G70/G71). DRF Differential Resolver Function: An NC function which generates an incremental zero offset in automatic mode in conjunction with an electronic handwheel. Drive The SINUMERIK 840D control system is connected to the SIMODRIVE 611 digital converter system by means of a high-speed digital parallel bus. Dynamic feedforward control Inaccuracies in the contour due to following errors can be virtually eliminated using dynamic, acceleration-dependent feedforward control. This results in excellent machining accuracy, even at high path velocities. Feedforward control can be selected and deselected on an axis-specific basis via the part program. Editor The editor is used to create, modify, add to, compress, and insert programs/texts/program blocks. Electronic handwheel The electronic handwheels can be used to simultaneously traverse selected axes manually. The meaning of the lines on the handwheels is defined by the external zero offset increment weighting. 532 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Glossary Exact stop With a programmed exact stop instruction, the position stated in a block is approached precisely and very slowly, if necessary. In order to reduce the approach time, -> exact stop limits are defined for rapid traverse and feed. Exact stop limit When all path axes reach their exact stop limits, the control responds as if it had reached its destination point precisely. The -> part program continues execution at the next block. External zero offset Zero offset specified by the -> PLC. Fast retraction from contour When an interrupt occurs, a motion can be initiated via the CNC machining program, enabling the tool to be quickly retracted from the workpiece contour that is currently being machined. The retraction angle and the distance retracted can also be parameterized. After fast retraction, an interrupt routine can also be executed (SINUMERIK 840D). Feed override The programmed velocity is overridden by the current velocity setting made via the machine control panel or by the PLC (0% to 200%). The feedrate can also be corrected by a programmable percentage factor (1-200%) in the machining program. Finished-part contour Contour of the finished workpiece. See -> blank. Fixed machine point A point defined uniquely by the machine tool, e.g. the reference point. Fixed-point approach Machine tools can approach fixed points such as a tool change point, loading point, pallet change point, etc. in a defined way. The coordinates of these points are stored in the control. Where possible, the control moves these axes in -> rapid traverse. Frame A frame is an arithmetic rule that transforms one Cartesian coordinate system into another Cartesian coordinate system. A frame contains the components -> zero offset, -> rotation, -> scaling, -> mirroring. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 533 Glossary Geometry Description of a -> workpiece in the -> workpiece coordinate system. geometry axis Geometry axes are used to describe a 2- or 3-dimensional range in the workpiece coordinate system. Global main program/subroutine Every global main program/subroutine can only appear once under its own name in the directory, and it is not possible to have the same program name in different directories with different contents as a global program. Ground Ground is taken as the total of all linked inactive parts of a device which will not become live with a dangerous contact voltage even in the event of a malfunction. Helical interpolation The helical interpolation function is ideal for machining internal and external threads using form milling cutters and for milling lubrication grooves. The helix comprises two movements: * Circular movement in one plane * A linear movement perpendicular to this plane High-level CNC language The high-level language offers: -> User-defined variable, -> System variable, -> Macro technique. High-speed digital inputs/outputs The digital inputs can be used for example to start fast CNC program routines (interrupt routines). The digital CNC outputs can be used to trigger fast, program-controlled switching functions (SINUMERIK 840D). HIGHSTEP Summary of the programming options for the -> PLC in the AS300/AS400 system. Inch measuring system Measuring system, which defines distances in inches and fractions of inches. 534 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Glossary Inclined surface machining Drilling and milling operations on workpiece surfaces that do not lie in the coordinate planes of the machine can be performed easily using the function "inclined-surface machining". Increment Travel path length specification based on number of increments. The number of increments can be stored as setting data or selected by means of a suitably labeled key (i.e., 10, 100, 1000, 10000). Incremental dimension Also incremental dimension: A destination for axis traversal is defined by a distance to be covered and a direction referenced to a point already reached. See -> Absolute dimension. Initialization block Initialization blocks are special -> program blocks. They contain value assignments that are performed before program execution. The primary purpose of initialization blocks is to initialize predefined data or global user data. Initialization files It is possible to create an initialization file for each -> workpiece. Various variable assignments which are intended to apply specifically to one workpiece can be stored in this file. Intermediate blocks Motions with selected tool offset (G41/G42) may be interrupted by a limited number of intermediate blocks (blocks without axis motions in the offset plane), whereby the tool offset can still be correctly compensated for. The permissible number of intermediate blocks which the control reads ahead can be set in system parameters. Interpolator Logical unit of the -> NCK which determines intermediate values for the movements to be traversed on the individual axes on the basis of destination positions specified in the parts program. Interpolatory compensation The interpolatory compensation allows manufacturing related Leadscrew Error Compensation and Measuring System Error Compensation (LEC, MSEC). Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 535 Glossary interrupt routine Interrupt routines are special -> subroutines which can be started on the basis of events (external signals) in the machining process. A parts program block which is currently being worked through is interrupted and the position of the axes at the point of interruption is automatically saved. Interrupts All alarms and -> messages are output on the operator panel in plain text with the date and time and a symbol indicating the cancel criterion. The display is divided into alarms and messages. 1. Alarms and messages in the part program: Alarms and messages can be displayed in plain text directly from the part program. 2. Alarms and messages from PLC Alarms and messages for the machine can be displayed in plain text from the PLC program. No additional function block packages are required to do this. Inverse-time feed With SINUMERIK 840D, the time required for the path of a block to be traversed can be programmed for the axis motion instead of the feed velocity (G93). Jog Control operating mode (setup mode): In JOG mode, it is possible to set up the machine. Individual axes and spindles can be moved in this mode using the direction keys. Other functions available in JOG mode are -> reference point approach, -> repositioning and -> preset (setting an actual value). Key switch The key switch on the machine control panel has 4 positions that are assigned functions by the operating system of the control. The key switch has three different colored keys that can be removed in the specified positions. Keywords Words with specified notation that have a defined meaning in the programming language for part programs. Kv Servo gain factor, a control variable in a control loop. Leadscrew error compensation Compensation for the mechanical inaccuracies of a leadscrew participating in the feed. The control uses stored deviation values for the compensation. 536 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Glossary Limit speed Maximum/minimum (spindle) speed: The maximum speed of a spindle may be limited by values defined in the machine data, the -> PLC or -> setting data. Linear axis The linear axis is an axis which, in contrast to a rotary axis, describes a straight line. Linear interpolation The tool travels along a straight line to the destination point while machining the workpiece. Load memory For the CPU 314 of the -> PLC, the load memory is equal to the -> Work memory . Look ahead With the look ahead function, a configurable number of traversing blocks is read in advance in order to calculate the optimum machining velocity. Machine Control operating area Machine axes Axes which exist physically on the machine tool. Machine control panel An operator panel on a machine tool with operating elements such as keys, rotary switches etc. and simple indicators such as LEDs. It is used to control the machine tool directly via the PLC. Machine coordinate system System of coordinates based on the axes of the machine tool. Machine zero A fixed point on the machine tool, which can be referenced by all (derived) measuring systems. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 537 Glossary Machining channel Via a channel structure, parallel sequences of movements, such as positioning a loading gantry during machining, can shorten unproductive times. Here, a CNC channel must be regarded as a separate CNC control system with decoding, block preparation and interpolation. Macro techniques Grouping of a set of instructions under a single identifier. The identifier in the program refers to the grouped set of instructions. Main block A block prefixed by ":" containing all the parameters required to start execution of a -> parts program. Main program Parts program identified by a number or identifier in which further main programs, subroutines or -> cycles may be called. Mains The term "network" describes the connection of several S7-300 and other terminal devices, e.g. a programming device, via -> interconnecting cables. A data exchange takes place over the network between the connected devices. MDI Control operating mode: Manual Data Automatic. In MDA mode, it is possible to enter individual program blocks or sequences of blocks without reference to a main program or subroutine and to then execute them immediately via the NC start key. Messages All messages programmed in the parts program and -> alarms recognized by the system are output on the operator panel in plain text with the date and time and a symbol indicating the cancel criterion. The display is divided into alarms and messages. Metric system Standardized measuring system: for lengths in millimeters (mm), meters (m), etc. Mirroring Mirroring reverses the signs of the coordinate values of a contour, with respect to an axis. It is possible to mirror with respect to more than one axis at a time. 538 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Glossary Mode group At any one time, all axes/spindles are assigned to just one channel. Each channel is assigned to a mode group. The same -> mode is always assigned to the channels in a mode group. Multipoint interface The multipoint interface (MPI) is a 9-pole Sub-D interface. A configurable number of devices can be connected to a multipoint interface and then communicate with each other. * Programming devices * Operator control and monitoring equipment * Further automation systems The parameter block "Multipoint Interface MPI" of the CPU contains the -> parameters which define the properties of the multipoint interface. Name of identifier The words according to DIN 66025 are supplemented by the identifiers (names) for variables (computer variable, system variable, user variable), for subroutines, for keywords and words with several address letters. In terms of the block format, these supplements have the same significance as the words. Identifiers must be unique. The same identifier must not be used for different objects. NC Numerical Control: NC control incorporates all the components of the of the machine tool control system: -> NCK, -> PLC, HMI, -> COM. Note CNC (Computerized Numerical Control) is a more accurate term for the SINUMERIK 840D controls. MARS and Merkur controls. NCK Numerical Control Kernel: Component of the NC control which executes -> parts programs and essentially coordinates the movements on the machine tool. NRK Numeric Robotic Kernel (operating system of the -> NCK) Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 539 Glossary NURBS Internal motion control and path interpolation are performed using NURBS (non-uniform rational B-splines). This provides a uniform internal method for all interpolations in the control (SINUMERIK 840D). OEM For machine manufacturers who manufacture their own user interface or wish to integrate their own technology-specific functions in the control, free space has been left for individual solutions (OEM applications) for SINUMERIK 840D. Offset memory Data range in the control in which the tool offset data are stored. Operating mode An operating concept on a SINUMERIK control. The operating modes -> Jog, -> MDA and -> Automatic are defined. Oriented spindle stop Stops the workpiece spindle with a specified orientation angle, e.g. to perform an additional machining operation at a specific position. Oriented tool retraction RETTOOL: If machining is interrupted (because of tool breakage, for example), a program command can be used retract the tool with a defined orientation by a defined path. Overall reset In the event of an overall reset, the following memories of the CPU are deleted: * - RAM * Read/write area of load memory * System memory * Backup memory Override Manual or programmable control feature which enables the user to override programmed feedrates or speeds in order to adapt them to a specific workpiece or material. Part program block Part of a part program that is demarcated by a line feed. There are two types: main blocks and subblocks. 540 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Glossary Part program management Part program management can be organized by workpieces. The size of the user memory determines the number of programs and the amount of data that can be managed. Each file (programs and data) can be given a name consisting of a maximum of 24 alphanumeric characters. Path axis Path axes are all the machining axes in the -> channel which are controlled by the -> interpolator so that they start, accelerate, stop and reach their end positions simultaneously. Path feed Path feed acts on -> path axes. It represents the geometrical sum of the feeds on the participating -> geometry axes. Path velocity The maximum programmable path velocity depends on the input resolution. For example, with a resolution of 0.1 mm the maximum programmable path velocity is 1000 m/min. Peripheral module I/O modules represent the link between the CPU and the process. I/O modules are: * Digital input/output modules * Analog input/output modules * Simulator modules PLC Programmable Logic Control: Speicherprogrammierbare Steuerung. Programmable logic control. Component of NC: Programmable controller for processing the control logic of the machine tool. PLC program memory SINUMERIK 840D: The PLC user program, the user data and the basic PLC program are stored together in the PLC user memory. PLC Programming The PLC is programmed using the STEP 7 software. The STEP 7 programming software is based on the WINDOWS standard operating system and contains the STEP 5 programming functions with innovative enhancements. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 541 Glossary Polar coordinates A coordinate system, which defines the position of a point on a plane in terms of its distance from the origin and the angle formed by the radius vector with a defined axis. Polynomial interpolation Polynomial interpolation enables a wide variety of curve characteristics to be generated, such as straight line, parabolic, exponential functions (SINUMERIK 840D). Positioning axis Axis that performs an auxiliary movement on a machine tool (e.g., tool magazine, pallet transport). Positioning axes are axes that do not interpolate using path axes. Pre-coincidence Block change occurs already when the path distance approaches an amount equal to a specifiable delta of the end position. Program block Program blocks contain the main program and subprograms of part programs. Programmable frames Programmable frames enable dynamic definition of new coordinate system output points while the part program is being executed. A distinction is made between absolute definition using a new frame and additive definition with reference to an existing starting point. Programmable Logic Controller Programmable logic controllers (PLC) are electronic controls, the function of which is stored as a program in the control unit. This means that the layout and wiring of the device do not depend on the function of the control. The programmable logic controller has the same structure as a computer; it consists of a CPU (central module) with memory, input/output modules and an internal bus system. The peripherals and the programming language are matched to the requirements of the control technology. Programmable working area limitation Limitation of the motion space of the tool to a space defined by programmed limitations. Programming key Character and character strings that have a defined meaning in the programming language for part programs. 542 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Glossary Protection zone Three-dimensional zone within the working area into which the tool tip must not pass. Quadrant error compensation Contour errors at quadrant transitions, which arise as a result of changing friction conditions on the guideways, can be almost entirely eliminated with the quadrant error compensation. Parameterization of the quadrant error compensation is performed by means of a circuit test. R parameters Arithmetic parameter that can be set or queried by the programmer of the part program for any purpose in the program. Rapid traverse The highest speed of an axis. It is used for example to move the tool from rest position to the -> workpiece contour or retract the tool from the contour. Reference point Machine tool position that the measuring system of the machine axes references. Rotary axis Rotary axes apply a workpiece or tool rotation to a defined angular position. Rotation Component of a frame that defines a rotation of the coordinate system around a particular angle. Rounding axis Rounding axes rotate a workpiece or tool to an angular position corresponding to an indexing grid. When a grid index is reached, the rounding axis is "in position". Safety Functions The control is equipped with permanently active monitoring functions that detect faults in the CNC, the PLC and the machine in a timely manner so that damage to the workpiece, tool or machine is largely prevented. In the event of a fault, the machining operation is interrupted and the drives stopped. The cause of the malfunction is logged and output as an alarm. At the same time, the PLC is notified that a CNC alarm has been triggered. Scaling Component of a frame that implements axis-specific scale modifications. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 543 Glossary Scan cycle Protected subprogram for implementing a repetitious machining operation on the workpiece. Selecting Series of instructions to the NC that act in concert to produce a particular workpiece. Likewise, this term applies to execution of a particular machining operation on a given raw part. Serial V.24 interface For data input/output, the PCU 20 has one serial V.24 interface (RS232) while the PCU 50/70 has two V.24 interfaces. Machining programs and manufacturer and user data can be loaded and saved via these interfaces. Services Control operating area Setting data Data, which communicates the properties of the machine tool to the NC control, as defined by the system software. Softkey A key, whose name appears on an area of the screen. The choice of soft keys displayed is dynamically adapted to the operating situation. The freely assignable function keys (soft keys) are assigned defined functions in the software. Software limit switches Software limit switches limit the traversing range of an axis and prevent an abrupt stop of the slide at the hardware limit switch. Two value pairs can be specified for each axis and activated separately by means of the PLC. Spline interpolation With spline interpolation, the controller can generate a smooth curve characteristic from only a few specified interpolation points of a set contour. SRT Speed ratio 544 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Glossary Standard cycles Standard cycles are provided for machining operations, which are frequently repeated: * Cycles for drilling/milling applications * for turning technology The available cycles are listed in the "Cycle support" menu in the "Program" operating area. Once the desired machining cycle has been selected, the parameters required for assigning values are displayed in plain text. Subblock Block prefixed by "N" containing information for a machining step such as position data. Subprogram Sequence of statements of a part program that can be called repeatedly with different defining parameters. The subprogram is called from a main program. Every subprogram can be protected against unauthorized read-out and display. Cycles are a form of subprogram. Synchronization Statements in part programs for coordination of sequences in different channels at certain machining points Synchronized actions 1. Auxiliary function output During workpiece machining, technological functions ( auxiliary functions) can be output from the CNC program to the PLC. For example, these auxiliary functions are used to control additional equipment for the machine tool, such as quills, grabbers, clamping chucks, etc. 2. Fast auxiliary function output For time-critical switching functions, the acknowledgement times for the auxiliary functions can be minimized and unnecessary hold points in the machining process avoided. Synchronized axes Synchronized axes take the same time to traverse their path as the geometry axes take for their path. System memory The system memory is a memory in the CPU in which the following data are stored: * Data required by the operating system * The operands times, counters, markers Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 545 Glossary System variables A variable that exists without any input from the programmer of a part program. It is defined by a data type and the variable name preceded by the character $. See Userdefined variable. TappingRigid This function allows threads to be tapped without a compensating chuck. By using the method whereby the spindle, as a rotary axis, and the drilling axis interpolate, threads can be cut to a precise final drilling depth (e.g. for blind hole threads) (requirement: spindles in axis operation). Text editor See Editor TOA area The TOA area includes all tool and magazine data. By default, this area coincides with the channel area with regard to the reach of the data. However, machine data can be used to specify that multiple channels share one TOA unit, so that common tool management data is then available to these channels. TOA unit Each TOA area can have more than one TOA unit. The number of possible TOA units is limited by the maximum number of active channels. A TOA unit includes exactly one tool data block and one magazine data block. In addition, a TOA unit can also contain a toolholder data block (optional). Tool Active part on the machine tool that implements machining (e.g., turning tool, milling tool, drill, LASER beam, etc.). Tool nose radius compensation Contour programming assumes that the tool is pointed. Because this is not actually the case in practice, the curvature radius of the tool used must be communicated to the control which then takes it into account. The curvature center is maintained equidistantly around the contour, offset by the curvature radius. Tool offset Consideration of the tool dimensions in calculating the path. 546 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Glossary Tool radius compensation To directly program a desired workpiece contour, the control must traverse an equidistant path to the programmed contour taking into account the radius of the tool that is being used (G41/G42). Transformation Additive or absolute work offset of an axis. Traversing range The maximum permissible travel range for linear axes is 9 decades. The absolute value depends on the selected input and position control resolution and the unit of measurement (inch or metric). User interface The user interface (UI) is the display medium for a CNC control in the form of a screen. It is laid out with horizontal and vertical softkeys. User memory All program and data, such as part programs, subroutines, comments, tool compensations, and work offsets/frames, as well as channel- and program user data can be stored in the shared CNC user memory. User program User programs for the S7-300 automation systems are created using the programming language STEP 7. The user program has a modular layout and consists of individual blocks. The basic block types are: code modules: these blocks contain the STEP 7 commands. Data blocks: these blocks contain the constants and variables for the STEP 7 program. User-defined variable The user can declare user-defined variables for any use in the -> parts program or data block (global user data). A definition contains a data type specification and the variable name. See -> system variable. Variable definition A variable definition includes the specification of a data type and a variable name. The variable names can be used to access the value of the variables. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 547 Glossary Velocity control In order to be able to achieve an acceptable traversing velocity on very short traverse movements within a single block, predictive velocity control can be set over several blocks (> look ahead). Work offset Specification of a new reference point for a coordinate system through reference to an existing zero point and a -> frame. 1. Adjustable SINUMERIK 840D: A configurable number of adjustable zero offsets is available for each CNC axis. The offsets which can be selected via G functions are effective on an alternating basis. 2. External In addition to all the offsets which define the position of the workpiece zero point, an external zero offset can be overlaid by means of the handwheel (DRF offset) or from the PLC. 3. Programmable Zero offsets are programmable for all path and positioning axes with the TRANS command. Working area Three-dimensional zone into which the tool tip can be moved on account of the physical design of the machine tool. See -> protection zone. Working area limitation With the aid of the working area limitation, the traversing range of the axes can be further restricted in addition to the limit switches. One value pair per axis may be used to describe the protected working area. Working memory The working area is a RAM area in the -> CPU which is accessed by the processor to access the user program during program execution. Workpiece Part to be made/machined by the machine tool. Workpiece contour Set contour of the workpiece to be created or machined. 548 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Glossary Workpiece coordinate system The workpiece coordinate system has its starting point in the workpiece zero. In machining operations programmed in the workpiece coordinate system, the dimensions and directions refer to this system. Workpiece zero The workpiece zero is the starting point for the workpiece coordinate system. It is defined in terms of distances to the machine zero. Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 549 Glossary 550 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Index A a fixed point, 186 Absolute dimensioning, 78 Absolute dimensions, 17 AC, 79, 80, 122, 284 ACC, 298 Acceleration Pattern, 215 ACCLIMA, 218 ACN, 87, 284 ACP, 87, 284 additive offsets Delete, 397 Additive offsets select, 394 Address Arithmetic parameter R, 54 Auxiliary function (H), 54 Circle radius CR, 55 Interpolation parameter I, 54 Interpolation parameter J, 54 Interpolation parameter K, 54 Miscellaneous function M, 54 Number of program runs P, 54 Opening angle AC, 55 Polar angle AP, 55 Polar radius RP, 55 Preparatory function G, 54 Subblock N, 54 Subroutine call L, 54 Address letters, 471 Address of block number N, 52 Addresses, 53 Extended addresses, 55 Fixed addresses, 57, 472 Fixed addresses with axis expansion, 57 Modal/non-modal addresses, 55 Settable addresses, 58 Value assignments, 60 with axial extension, 55 ADIS, 206 ADISPOS, 206 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Alarm -number, 68 -text, 68 ALF, 182, 185 AMIRROR, 231, 256 ANG, 432 ANG1, 161 ANG2, 161, 162 AP, 119, 122, 124, 132, 143, 152 Approach and retraction velocities, 375 Approach point/angle, 357 Approach, retraction paths, 355 AR, 141, 152, 156 Arithmetic parameter R, 54, 417 Arithmetic parameters n, 417 R..., 417 Value assigments, possible range, 418 Value assignments to G, 418 Value assignments to L, 418 Value assignments to N, 418 AROT, 228, 231, 240 AROTS, 252 ASCALE, 228, 231, 252 ATRANS, 231, 233, 238 Auxiliary function (H), 52, 54 Auxiliary function outputs Overview of auxiliary functions, 410 Transfer functions to the PLC, 409 Axial DRF deselection, 266 Axial DRF deselection and $AA_OFF deselection, 267 Axis Q, 54 V, 54 W, 54 X, 54 Y, 54 Z, 55 Axis identifiers X, Y, Z, 79, 82 Axis types Channel axes, 38 Machine axes, 37 Main spindle, 37 Path axes, 38 Positioning axes, 38 551 Index Special axes, 37 Synchronized axes, 39 B Basic Coordinate System, 28 Blank, 355 Block format D address, 52 F address, 52 G address, 52 H address, 52 M address, 52 N address, 52 S address, 52 T address, 52 X address, 52 Y address, 52 Z address, 52 Block number, 52, 53, 419, 422 Blocks, 51 Block format, 51 Block length, 51 Block number, 53 Comments, 66 Main block/subblock, 52 Skip block/blocks, 64 Word sequence in blocks, 52 Bottleneck detection, 384 Branch destination, 419 BRISK, 215 BRISKA, 215 C CALCPOSI, 111, 512 CDOF, 382 CDOF2, 382 CDON, 382 CFC, 154, 301 CFIN, 301 CFTCP, 301 Chamfer, 193 Chamfer the contour corner, 193 Change of direction, 363 Channel axes, 38 Character set, 49 CHF, 193 CHR, 193 CIP, 132, 145 Circle 552 Circle radius CR, 53 Circle radius CR, 55 Circular interpolation Center-point coordinates I, 79 Circular interpolation Center point coordinates J, 79 Circular interpolation Indication of working plane, 138 Circular interpolation Helical interpolation, 150 Circular magazine, 337 Circular-path programming With center and end points, 131, 135 With interpolation and end points, 131, 145 With opening angle and center point, 131, 141 With polar angle and polar radius, 131 With polar coordinates, 143 With radius and end point, 131, 139 With tangential transition, 131 Clamping torque FXST, 190 COARSEA, 283 Collision detection, 382 Determine from adjacent block parts, 383 Collision Detection ON (CDON)/OFF (CDOF), 382 Collisions, 358 Command axes, 40 Comments, 66 Compensation plane, 388 Constant cutting rate, 306 Grinding wheel peripheral speed, 312 Constant cutting rate Activate, 309 Axis replacement of assigned channel axis, 311 Preserve, 310 Upper speed limitation, 309 Constants, 63 Binary constants, 64 Hexadecimal constants, 64 Integer constants, 63 Continuous-path mode, 203, 205, 209 For positioning axes, 212 In rapid traverse G0, 214 Look ahead, 214 with programmable transition rounding, 207 With programmable transitional grinding, 209 Contour Approach, retract, 355 damage, 385 point, 355 Roughing, 67 Contour accuracy, programmable, 223 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Index Coordinate systems, 13 Absolute dimensions, 17 Basic Coordinate System, 28 Incremental dimension, 19 Machine coordinate system, 25 Overview, 24 Plane designations, 21 Polar coordinates, 17 Workpiece coordinate system, 30 Coordinate systems and workpiece machining, 44 Coordinate systems of active machining operation, 402 Corner behavior Intersection, 366 Transition circle, 364 Corner rounding Extensions, 210 On the contour, 207 With contour tolerance in G642 and G643, 211 With G641, 210 with G642, 211 With G643, 211 With greatest possible dynamic response in G644, 212 CORROF, 266, 267 CPRECOF, 223 CPRECON, 223 CR, 89, 156 CROTS, 252 CT, 132, 148 CUT2D, 107, 323, 386, 389 CUT2DF, 107, 323, 386, 389 Cylinder thread, 168 Cylindrical coordinates, 123 D D, 336, 339 D number, 341 D0, 336, 339 DAC, 94 Data types, 62 Constants, 63 DC, 87, 284 Deactivate compensation mode G40, 358 G40, KONT, 361 Definition of workpiece positions, 14 DELDL, 397 Deselect frame, 265 destination, 422 DIAM90, 92 DIAM90A[axis], 94 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 DIAMCHANA, 94 Diameter programming Action-based, non-modally, 93 Axis-specific acceptance, 94 Axis-specific, modal and action-based, 93 Axis-specific, non-modal or action-based, 94 Channel-specific acceptance, 93, 94 DIAMOF, 92 DIAMOFA[axis], 94 DIAMON, 92 DIAMONA[axis], 94 DIC, 94 DILF, 182 Dimensions, 88 Absolute dimensioning, 80 Circular-path programming CR, 89 Incremental dimensioning, 82 Interpolation parameters I, J, K, 89 Interpolation point coordinates I1, J1, K1, 89 Metric/inch, G70/G71, 88 Metric/inch, G700/G710, 88 Positional data X, Y, Z, 89 Rotary axes and spindles, 86 Dimensions as a diameter value (G90/AC) or a radius value (G91/IC) for the specified axis, 93 Dimensions in the channel Diametral or radius programming, 91 Dimensions independently of G90/G91 or AC/IC for the specified axis, 93 Dimensions, axis-specific Diametral or radius programming, 93 DISC, 362 DISC=..., 365 DISCL, 368 DISR, 368 Distance data X, Y, Z, ..., 52 function G, 52 DITE, 172 DITS, 172 DL, 395 DL number, 395 DRFOF, 266 DRIVE, 215 DRIVEA, 215 Dwell time, 224 Dwell time G4 Feedrate F, 224 Spindle speed S, 224 DYNFINISH, 219 DYNNORM, 219 DYNPOS, 219 553 Index DYNROUGH, 219 DYNSEMIFIN, 219 Metric/inch units of measurement, 291 Feedrate F, 52, 54 Feedrate non-modal, 193 Feedrate override, percentage, OVR,OVRA, 293 E Feedrate values in one block, 314 FFWOF, 222 End of block LF, 50 FFWON, 222 End of program, M2, M17, M30, 47, 415 FGREF, 270 EX, 418 FGROUP, 270 Exact stop FINEA, 283 Command output, 204 Fixed addresses with axis expansion End of interpolation, 204 Interpolation parameter IP, 57 Positioning window, 203 Fixed stop, 188 Extended address Clamping torque, 190 Auxiliary function H, 56 Monitoring window, 190 Feedrate F, 56 Traversing to fixed stop, 189 Miscellaneous function M, 56 FL, 270 Spindle speed S, 56 Flat D number structure, 333 Tool number T, 56 FMA, 445 FP, 186 FPR, 290 F FPRAOF, 290 F, 270 FPRAON, 290 FA, 54, 278, 290 Frame generation according to tool orientation, Face thread, 169 TOFRAME, TOROT, PAROT, 261 FAD, 368 Frame instructions FALSE, 63 Programmable Mirroring, 256 FB, 317 Programmable zero offset, 233, 238 FD, 294 Rotation, programmable, 239 FDA, 294 Scale factor, programmable, 253 Feed, 269 Settable and programmable statements, 229 -Axial feed: FA, 54 Substituting instructions, 230 Example of optimization, 301 Frame rotation in tool direction, 262 for path axes, F, 273 Frame rotation in working direction for positioning axes, 290 G18, 262, 263 for synchronized axes, F, 273 G18 or G19, 263 FPRAON, FPRAOFF, 292 Frame statements Metric/inch units of measurement, 274 Additive instructions, 231 Modal, 194 Frame system, 31, 227 Optimization for curved path sections, CFTCP, FRC, 193, 444, 446 CFC, CFIN, 300 FRCM, 193, 194, 446 Override, 295 Function outputs Programmed, 194 For travel commands, 412 Traverse rotary axes with path velocity F, 276 In continuous-path mode, 413 Unit of measurement for rotary and linear axes, 275 FXS, 188 Unit of measurement for synchronized axes with FXST, 188 limit speed FL, 275 FXSW, 188 with handwheel override, FD, FDA, 294 Feedforward control, 222 G Feedrate FPRAON, FPRAOFF, 290 G function list, 479 G95 FPR(...), 292 G0, 122, 125, 207, 214 554 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Index G1, 126, 127, 129 G110, 119 G111, 119 G112, 119 G140, 368 G141, 368 G142, 368 G143, 368 G147, 368 G148, 368 G153, 100, 265 G17, 104, 105, 321, 350, 387 G18, 104, 321, 350 G19, 104, 321, 350, 387 G2, 92, 94, 132, 135, 139, 141, 143, 152 G247, 368 G248, 368 G25, 109, 314 G26, 109, 314 G3, 92, 94, 132, 135, 139, 141, 143, 152 G33, 165 G33 I, J, K, 165 G331, 175, 176 G331 I, J, K, 175 G332, 175, 176 G332 I, J, K, 175 G34, 173 G34, G35, 89 G340, 368 G341, 368 G347, 368 G348, 368 G35, 173 G4, 224 G40, 344, 358 G41, 105, 335, 342, 344, 357 G42, 105, 335, 342, 344, 357 G450, 355, 362 G451, 355, 362 G460, 378 G461, 378 G462, 378 G500, 100, 265 G505 ...G599, 100 G505 to G599, 103 G53, 100, 265 G54, 100 G55, 100 G56, 100 G57, 100 G58, 237 G59, 237 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 G60, 202 G601, 202, 212 G602, 202 G603, 202 G63, 179, 180 G64, 164, 203, 207 G64,G641, 413 G641, 207 G641 ADIS, 206 G641 ADISPOS, 206 G642, 207 G642 ADIS, 206 G642 ADISPOS, 206 G643, 207 G643 ADIS, 206 G643 ADISPOS, 206 G644, 207 G70, 88, 89 G700, 88 G71, 88, 89 G710, 88 G74, 114 G75, 186 G9, 202 G90, 79, 80, 84, 136 G91, 82, 85, 87, 136 G93, 270 G94, 270 G95, 270 G96, 307 G961, 307 G962, 307 G97, 307 G971, 308 G973, 308 Geometry axes, 36 Switchable, 36 Geometry/speed monitoring, 392 GOTO, 419, 422 GOTOB, 419, 422 GOTOC, 419, 422 GOTOF, 419, 422 Grinding wheel peripheral speed, 312 Grinding wheel peripheral speed, constant, 312 Grinding-specific tool monitoring, 392 GWPS, 312, 313, 327 GWPSOF, 312 GWPSON, 312 H H functions, 415 555 Index High-speed function outputs, QU, 412 Halt at cycle end, 414 Handwheel jogging with path default, 296 with velocity overlay, 297 Handwheel override, 294 Helical interpolation Programming the end point, 153 Sequence of motions, 158 Helix interpolation, 150 High-speed function outputs, QU, 412 I I, 89, 173 I1, 89 IC, 82, 84, 87, 122, 284 Identifier for character string, 50 Identifier for special numerical values, 50 Identifier for system variables, 50 IF, 422 Incremental dimension, 19 Incremental dimensioning, 82, 85 Infeed movement, 364 Inside contour, 384 Internal preprocessing stop, 225, 280 Interpolation parameter IP, 57 Interpolation parameters I, J, K, 54, 56 INVCCW, 156 INVCW, 156 IPOBRKA, 283 IPOENDA, 283 J J, 89, 173 J1, 89 Jerk limitation, 216, 217 JERKA, 216 JERKLIMA, 218 Jump destinations, 66 Jump instruction, 419 Jump statement, 422 K K, 89, 173 K1, 89 KONT, 355, 362 KONTC, 355 556 KONTT, 355 L Label, 419, 422 Length of cutting edge relevant, 406 LF, 50 LFOF, 182 LFON, 182 LFPOS, 184, 185 LFTXT, 183, 184, 185 LFWP, 183, 184, 185 LIFTFAST, 182, 183 LIMS, 308 LINE FEED, 51 Linear Degressive change in thread pitch, 173 Progressive change in thread pitch, 173 Linear interpolation, 127, 129 Linear interpolation G1 Feedrate F, 129 List of predefined subroutines, 494 of preparatory functions (G functions), 479 Look ahead, 214 M M functions, 413 End of program, M2, M17, M30, 415 Optional stop, 414 Programmed stop, MO, 414 M instruction sequence, 413 M..., 413 M0, 413 M1, 303, 413 M17, 413 M19, 283 M2, 413 M3, 165, 282, 303, 413 M30, 413 M4, 165, 282, 303, 413 M40, 413 M41, 282, 413 M42, 413 M43, 413 M44, 413 M45, 282, 413 M5, 282, 303, 413 M6, 333, 413 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Index M7, 411 M70, 283, 413 Machine axes, 37 Machine coordinate system, 25 Main axes, 36 Main block, 52, 55 Main spindle, 37 Master spindle, 37 MEAS, 92, 94 MEAW, 92, 94 Messages, 67 MIRROR, 228, 230, 256 Miscellaneous function M, 52, 54 Modal feedrate, 194 Modal rounding, 193 Monitoring window FXSW, 190 Motion commands, 115 Number of axis values, 116 Programming motion commands, 115 Start point - destination point, 116 MSG, 67 Multiple feedrate values in one block, 314 Types of feedrate, 269 OVR, 54, 293 OVRA, 293 P Parameterizing cycle alarms, 68 PAROT, 262 PAROTOF, 262 Path action, depending on DISC values, 366 Path axes traverse with handwheel override, 295 Path axes, 38 Path override OVR, 54 Path tangent, 359 Plane designations, 21 PLC axes, 40, 42 PM, 368 Polar -angle AP, 55 Radius RP, 55 Polar coordinates, 17, 121 Cylindrical coordinates, 123 Define pole, 118, 120 N Polar angle AP, 123 Names, 61 Polar radius RP, 124 Array identifiers, 62 Working plane, 123 Identifier, 62 Polar radius RP = 0, 124 Variable identifiers, 62 POLF, 184 NC program, 47 POLFMASK, 184 Non-cutting tool path, 367 POLFMLIN, 184 Non-linear interpolation, 127 POS, 54, 278, 292 Non-modal feedrate, 193 POSA, 54, 278 NORM, 355, 357, 361 Position-controlled spindle operation, 281 Position-controlled spindles, position Position a spindle from standstill, 289 O Position spindle from rotation, 282 Positioning axes, 38 OFFN, 344 traverse, 278 Offset memory, 390 Positioning axis POS, 54 Opening angle AC, 55 POSP, 278 Operators, 59, 60 PR, 368 ORIPATH, 457 Preparatory function G, 54 ORIPATHS, 457 Preprocessing stop, 280 Overview Program Coordinate systems, 24 -identifiers, 47 Dimensions, 77 Programming messages, 67 Frame components, 228 Setting alarms, 68 Language elements, 49 Program jumps, conditional, 421 Positional data for geometrical settings, 115 Program jumps, unconditional, 419 Programmable path action at block boundaries, 200 Program passes, number P, 54 Tool types, 324 Program section, 64 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 557 Index Program section repetition, 425 Programmable contour accuracy, 223 Programmable frame rotations with solid angles, 251 Programmable mirroring, MIRROR, AMIRROR, 256 Programmable scale factor, SCALE, ASCALE, 252 Programmable zero offset G58, G59, 237 TRANS, ATRANS, 232 Programmed feedrate, 194 Programmed rotation in the plane, 243 Programmed stop, M0, 414 Programming commands List, 431, 470 Programming language Addresses, 53 Blocks, 51 Character set, 49 Data types, 62 Names, 61 Variable identifier, 55 Words, 50 Programming the end point, 373 PUTFTOC, 313 PUTFTOCF, 313 Q QU, 412 R RAC, 94 Radius programming Action-based, non-modally, 93 Range of values, 63 Rapid traverse movement, 125 Reading positions, 377 Reference point approach, 114 REPEAT, 427 REPEATB, 427 Retraction direction, 183 Retraction path, 183 Retraction velocity, 186 RIC, 94 RND, 193 RNDM, 193 ROT, 106, 228, 230, 240 Rotary axis A, B, C, 53, 86, 270 Rotation, programmable Direction of rotation, 247 in space, 245 558 Plane change, 244 ROT, AROT, 239 ROTS, 252 Round the contour corner, 193 Rounding, 193 Modal, 193 RP, 89, 119, 122, 132, 143, 152 RPL, 240 RTLIOF, 125 RTLION, 125 Run-in and run-out paths, programmable, 171 S S, 303, 307, 312 S1, 303, 312, 314 S2, 303, 314 SCALE, 228, 230, 252 SCC[axis], 308 Select/deselect travel to fixed stop, 189 SETAL, 68 SETMS, 303 Settable block change time with G0, 128 Settable zero offsets, 98 Setting alarms, 68 Setting clamping torque, 189 Setup value, 396 SF, 166, 174 SIEMENS cycles, 68 Skip block Ten skip levels, 65 Skip levels, 65 Smooth approach and retraction, 367 SOFT, 215 SOFTA, 215 SPCOF, 281 SPCON, 281 Special axes, 37 Special characters, 50 :, 50 =, 50 LF, 50 Speed S, 52 SPI, 291 SPIF1, 464 SPIF2, 464 Spindle, 302 Define master spindle, SETMS(n), 305 Master spindle with work spindle, 303 -position SPOS, SPOSA, 56 speed S, 53 Speed S, 54, 56 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Index Speed, direction of rotation and stop, 281 Spindle rotation directions, 302 Spindle speed before/after axis movements, 304 Spindle speed S, 303 Spindle position across block boundary SPOSA, 54 Spindle position SPOS, 54 Spindle speed limitation, 314, 315, 317 Spindle speed S, 54 Spindles Position-controlled spindle operation, 281 Positioning is axis operation, 282 Working with multiple spindles, 304 SPINU, 56 SPOS, 54, 88, 176, 283, 292 SPOS, SPOSA, 56 SPOSA, 54, 176, 283, 284 SR, 464 SRA, 464 ST, 465 STA, 465 Start point offset SF, 170 Statements List, 431, 470 Straight line with angle, 159 String variable, 419, 422 Subblock N, 54 Subroutine -call L, 54 Subroutine list, 494 SUPA, 100, 265 Synchronized axes, 39 T T0, 331, 333 Taper thread, 169 Tapping Rigid tapping, 175 with compensating chuck, 179 Without compensating chuck, right-hand/left-hand threads, 175 Tapping G63 Rule of thumb for feedrate F, 180 Spindle speed S, 180 TCARR, 389 TCOABS, 389 TCOFR, 390 TCOFRX, 390 TCOFRY, 390 TCOFRZ, 390 Technology G group, 219 Thread chains, 164 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0 Thread cutting, 164, 167, 181 Cylinder thread, 168 Right-hand/left-hand threads, 165 Start point offset, 170 Taper thread, 169 Thread chains, 164 with constant lead, 164, 167 with linearly progressive/degressive speed change, 173 Thread cutting G33 Feedrate F, 167 TMOF, 393 TMON, 393 TOFRAME, 262 TOFRAMEX, 262 TOFRAMEY, 262 TOFRAMEZ, 262 Tool -number T, 54 Offset number D, 52 Tool change point, 358 Tool edge number D, 54 Tool edge reference point, 406 Tool length component, 389 offset, 389 Offset from toolholder orientation, TCOABS, 390 Tool monitoring Deactivate, 393 Selection/deselection, 393 Tool offset Coordinate system for wear values, 402 CUT2D, CUT2DF, 386 CUT2D, CUT2DF with contour tools, 386 Cutting-edge selection with contour tools, 386 Tool Offset Activate immediately, 343 Tool offsets Compensation at outside corners, 362 Contour, approach, retract, 355 Smooth approach and retraction (SAR), 367 Tool radius compensation, 323 Tool radius compensation, 343, 398 Change of the direction of compensation, 352 Changing the offset number D, 353 Corner behavior, 365 Corner behavior, intersection, 366 Corner behavior, selectable transitions, 365 Corner behavior, transition circle, 364 CUT2D, 387 CUT2DF, 388 Tool T, 52, 54 559 Index Tool types, 324, 392 Drill, 326 Grinding tools, 327 Milling tools, 324 Slotting saw, 330 Special tools, 329 Turning tools, 328 Toolholder, 389 Request, TCARR, 390 Toolholder with orientation capability Tool direction from active frame, 390 Tool orientation with frame change, TCOABS, 391 Tools with a relevant tool point direction, 406 TOROT, 262 TOROTOF, 262 TOROTX, 262 TOROTY, 262 TOROTZ, 262 TOWBCS, 402, 403 TOWKCS, 402 TOWMCS, 402, 403 TOWSTD, 402, 403 TOWTCS, 402, 403 TOWWCS, 402, 403 TRAFOOF, 114 TRANS, 89, 228, 230, 233, 238 Transition circle, 364, 384 ellipsis/parabola/hyperbola, 365 radius, 363 Transition current/next block, 359 Transverse axis Always display actual values as a diameter, 93 Always display actual values as a diameter., 91 Channel-specific diameter dimensions (G90) or radius dimensions (G91), 91 Channel-specific diameter dimensions independently of G90/G91, 91 coordinate system, 96 Zero points, 96 Traversing path axes as positioning axes with G0, 127 Traversing with feedforward control, 222 TRUE, 63 TURN, 152 Turning Functions Axis-specific dimensions for the specified axis, 93 Chamfer, rounding, 194 Channel-specific dimensions for transverse axis, 91 V Variable identifier, 55 560 Velocity controls, 201 VELOLIMA, 218 W WAITMC, 278 WAITP, 278 WAITS, 284, 288 WALCS0, 112 WALCS1-10, 112 WALIMOF, 109 WALIMON, 109 Wear value, 396 Window width for fixed stop monitoring, 189 Words, 50 Working area limitation in BCS, 108 in WCS/SZS, 111 Reference points on the tool, 110 working area limitation, 109 Working plane, G17 to G19, 104 Workpiece coordinate system, 30 Align on workpiece, 262 X X, 89, 104, 105 X1, 114, 187 X2, 159 X3, 161 X4, 162 Y Y, 89, 104, 105 Y1, 114, 187 Z Z, 89, 104, 105 Z1, 161 Z2, 161 Z3, 161 Z4, 162 Zero frame, 100 Zero offset Activating the zero offset, 102 Deactivating a zero offset, 103 G54 to G599, 98 Setting the offset values, 101 Zero points, 22 Fundamentals Programming Manual, 11/2006, 6FC5398-1BP10-2BA0