SINUMERIK 840D 840Di 810D Advanced Programming Guide - ITSCNC


Itscnc

Uploaded on Apr 22, 2025

Category Business

This document helps you to understand how to create, manage, and execute subprograms and macros in SINUMERIK-controlled machines. It includes commands for file handling, motion commands, protection zones, and synchronization actions essential for complex machining tasks.

Category Business

Comments

                     

SINUMERIK 840D 840Di 810D Advanced Programming Guide - ITSCNC

Programming Guide 11/2002 Edition Advanced SINUMERIK 840D/840Di/810D Flexible NC 1 Programming Subprograms, Macros 2 File and Program 3 Management SINUMERIK 840D/840Di/810D Protection Zones 4 Advanced Special Motion 5 Commands Frames 6 Programming Guide Transformations 7 Tool Offsets 8 Path Traversing 9 Behavior Motion-Synchronous 10 Action Oscillation Valid for 11 Control Software Version SINUMERIK 840D 6 Punching and Nibbling SINUMERIK 840DE (export version) 6 12 SINUMERIK 840D powerline 6 SINUMERIK 840DE powerline 6 SINUMERIK 840Di 2 Additional Functions SINUMERIK 840DiE (export version) 2 13 SINUMERIK 810D 3 SINUMERIK 810DE (export version) 3 SINUMERIK 810D powerline 6 User Stock Removal SINUMERIK 810DE powerline 6 14Programs Tables 15 11.02 Edition Appendix A SINUMERIK® Documentation Printing history Brief details of this edition and previous editions are listed below. The status of each edition is shown by the code in the "Remarks" column. Status code in the "Remarks" column: A .... New documentation. B .... Unrevised reprint with new Order No. C .... Revised edition with new status. If factual changes have been made on the page since the last edition, this is indicated by a new edition coding in the header of that page. Edition Order No. Comment 02.95 6FC5298-2AB00-0BP0 A 04.95 6FC5298-2AB00-0BP1 C 12.95 6FC5298-3AB10-0BP0 C 03.96 6FC5298-3AB10-0BP1 C 08.97 6FC5298-4AB10-0BP0 C 12.97 6FC5298-4AB10-0BP1 C 12.98 6FC5298-5AB10-0BP0 C 08.99 6FC5298-5AB10-0BP1 C 04.00 6FC5298-5AB10-0BP2 C 10.00 6FC5298-6AB10-0BP0 C 09.01 6FC5298-6AB10-0BP1 C 11.02 6FC5298-6AB10-0BP2 C This manual is included in the documentation on CD-ROM (DOCONCD) Edition Order No. Comment 11.02 6FC5298-6CA00-0BG2 C Trademarks SIMATIC, SIMATIC HMI, SIMATIC NET, SIROTEC, SINUMERIK and SIMODRIVE are registered trademarks of Siemens AG. The other designations in this publication may also be trademarks, the use of which by third parties may constitute copyright violation. Further information is available on the Internet under: Other functions not described in this documentation might be executable in the http://www.ad.siemens.de/sinumerik control. This does not, however, represent an obligation to supply such functions with a new control or when servicing. This publication was produced with WinWord V8.0 We have checked that the contents of this documentation correspond to the and Designer V7.0. hardware and software described. Nonetheless, differences might exist and we The reproduction, transmission or use of this document or its contents is not cannot therefore guarantee that they are completely identical. The information permitted without express written authority. Offenders will be liable for damages. contained in this document is, however, reviewed regularly and any necessary All rights, including rights created by patent grant or registration of a utility model changes will be included in the next edition. We welcome suggestions for or design, are reserved. improvement. © Siemens AG, 1995–2001. All rights reserved Subject to change without prior notice. Order No. 6FC5298-6AB10-0BP2 Siemens Aktiengesellschaft Printed in Germany 0 11.02 Contents 0 Contents Preface 0-14 Flexible NC Programming 1-25 1.1 Variable and arithmetic parameters ................................................................................ 1-26 1.2 Variable definition............................................................................................................ 1-29 1.3 Array definition ................................................................................................................ 1-34 1.4 Indirect programming ...................................................................................................... 1-40 1.5 Assignments.................................................................................................................... 1-45 1.6 Arithmetic operations and functions ................................................................................ 1-46 1.7 Comparison and logic operators ..................................................................................... 1-48 1.8 Priority of operators ......................................................................................................... 1-53 1.9 Possible type conversions............................................................................................... 1-54 1.10 String operations ............................................................................................................. 1-55 1.10.1 Type conversion....................................................................................................... 1-56 1.10.2 Concatenation of strings .......................................................................................... 1-58 1.10.3 Conversion to lower/upper case .............................................................................. 1-59 1.10.4 Length of the string .................................................................................................. 1-60 1.10.5 Search for character/string in a string...................................................................... 1-60 1.10.6 Selection of a substring............................................................................................ 1-62 1.10.7 Selection of a single character................................................................................. 1-63 1.11 CASE instruction ............................................................................................................. 1-65 1.12 Control structures............................................................................................................ 1-67 1.13 Program coordination...................................................................................................... 1-72 1.14 Interrupt routine ............................................................................................................... 1-77 1.15 Axis transfer, spindle transfer.......................................................................................... 1-85 1.16 NEWCONF: Setting machine data active (SW 4.3 and higher)...................................... 1-90 1.17 WRITE: Write file (SW 4.3 and higher) ........................................................................... 1-91 1.18 DELETE: Delete file (SW 4.3 and higher) ....................................................................... 1-93 1.19 READ: Read lines in file (SW 5.2 and higher)................................................................. 1-94 1.20 ISFILE: File available in user memory NCK (SW 5.2 and higher)................................... 1-97 1.21 CHECKSUM: Creation of a checksum over an array (SW 5.2 and higher) .................... 1-98 © Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 0-5 0 Contents 11.02 0 Subprograms, Macros 2-101 2.1 Using subprograms .......................................................................................................2-102 2.2 Subprogram with SAVE mechanism .............................................................................2-104 2.3 Subprograms with parameter transfer...........................................................................2-105 2.4 Calling subprograms: L or EXTERN..............................................................................2-109 2.5 Parameterizable subprogram return (SW 6.4 and higher) ............................................2-113 2.6 Subprogram with program repetition: P.........................................................................2-117 2.7 Modal subprogram: MCALL...........................................................................................2-118 2.8 Calling the subprogram indirectly: CALL .......................................................................2-119 2.9 Repeating program sections with indirect programming (SW 6.4 and higher)..............2-120 2.10 Calling up a program in ISO language indirectly: ISOCALL ..........................................2-121 2.11 Calling subprogram with path specification and parameters PCALL ............................2-122 2.12 Extending a search path for subprogram calls with CALLPATH (SW 6.4 and higher) 2-123 2.13 Suppress current block display: DISPLOF ....................................................................2-125 2.14 Single block suppression: SBLOF, SBLON (SW 4.3 and higher) .................................2-126 2.15 Executing external subprogram: EXTCALL (SW 4.2 and higher) .................................2-132 2.16 Subprogram call with M/T function ...............................................................................2-136 2.17 Cycles: Setting parameters for user cycles ..................................................................2-138 2.18 Macros. DEFINE...AS...................................................................................................2-142 File and Program Management 3-145 3.1 Overview........................................................................................................................3-146 3.2 Program memory...........................................................................................................3-147 3.3 User memory.................................................................................................................3-153 3.4 Defining user data .........................................................................................................3-156 3.5 Defining protection levels for user data (GUD)..............................................................3-160 3.6 Automatic activation of GUDs and MACs (SW 4.4 and higher) ....................................3-162 3.7 Data-specific protection level change for machine and setting data .............................3-164 3.7.1 Change...................................................................................................................3-164 3.7.2 Undoing a change ..................................................................................................3-165 3.8 Changing attributes of NC language elements (SW 6.4 and higher) ............................3-165 3.9 Structuring instruction SEFORM in the Step editor (SW 6.4 and higher)......................3-173 © Siemens AG, 2002. All rights reserved 0-6 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 0 11.02 Contents 0 Protection Zones 4-175 4.1 Defining the protection zones CPROTDEF, NPROTDEF............................................ 4-176 4.2 Activating/deactivating protection zones: CPROT, NPROT......................................... 4-180 Special Motion Commands 5-185 5.1 Approaching coded positions, CAC, CIC, CDC, CACP, CACN .................................... 5-186 5.2 Spline interpolation........................................................................................................ 5-187 5.3 Compressor COMPON/COMPCURV/COMPCAD (SW 6.2) ........................................ 5-196 5.4 Polynomial interpolation – POLY, POLYPATH (SW 5 and higher) ............................... 5-204 5.5 Settable path reference, SPATH, UPATH (SW 4.3 and higher) ................................... 5-211 5.6 Measurements with touch trigger probe, MEAS, MEAW .............................................. 5-215 5.7 Extended measuring function MEASA, MEAWA, MEAC (SW 4 and higher, option).... 5-218 5.8 Special functions for OEM users................................................................................... 5-228 5.9 Programmable motion end criterion (SW 5.1 and higher) ............................................ 5-229 5.10 Programmable servo parameter block (SW 5.1 and higher) ........................................ 5-232 Frames 6-235 6.1 Coordinate transformation via frame variables ............................................................ 6-236 6.2 Frame variables/assigning values to frames................................................................ 6-241 6.3 Coarse/fine offset ......................................................................................................... 6-248 6.4 DRF offset .................................................................................................................... 6-249 6.5 External zero offset ...................................................................................................... 6-250 6.6 Programming PRESET offset, PRESETON ................................................................ 6-251 6.7 Deactivating frames ..................................................................................................... 6-252 6.8 Frame calculation from three measuring points in the area: MEAFRAME .................. 6-253 6.9 NCU-global frames (SW 5 and higher) ........................................................................ 6-256 6.9.1 Channel-specific frames ........................................................................................ 6-257 6.9.2 Frames active in the channel ................................................................................. 6-259 Transformations 7-265 7.1 Three, four and five axis transformation: TRAORI....................................................... 7-266 7.1.1 Programming tool orientation................................................................................ 7-269 7.1.2 Orientation axes reference – ORIWCS, ORIMCS ................................................. 7-274 7.1.3 Singular positions and how to handle them ........................................................... 7-275 7.1.4 Orientation axes (SW 5.2 and higher) ................................................................... 7-276 © Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 0-7 0 Contents 11.02 0 7.1.5 Cartesian PTP travel (from SW 5.2) ......................................................................7-279 7.1.6 Online tool length compensation (SW 6.4 and higher) ..........................................7-284 7.2 Milling turned parts: TRANSMIT...................................................................................7-287 7.3 Cylinder surface transformation: TRACYL ...................................................................7-290 7.4 Inclined axis: TRAANG.................................................................................................7-296 7.4.1 Inclined axis programming: G05, G07 (SW 5.3 and higher) ..................................7-300 7.5 Constraints when selecting a transformation ...............................................................7-302 7.6 Deselect transformation: TRAFOOF ............................................................................7-304 7.7 Chained transformations ..............................................................................................7-305 7.8 Switchable geometry axes, GEOAX.............................................................................7-308 Tool Offsets 8-313 8.1 Offset memory..............................................................................................................8-314 8.2 Language commands for tool management.................................................................8-316 8.3 Online tool offset PUTFTOCF, PUTFTOC, FTOCON, FTOCOF.................................8-319 8.4 Maintain tool radius compensation at constant level, CUTCONON (SW 4 and higher) ........................................................................................................8-325 8.5 Activate 3D tool offsets.................................................................................................8-328 8.6 Tool orientation.............................................................................................................8-336 8.7 Free assignment of D numbers, cutting edge number CE (SW 5 and higher).............8-341 8.7.1 Check D numbers (CHKDNO) ...............................................................................8-342 8.7.2 Renaming D numbers (GETDNO, SETDNO) ........................................................8-343 8.7.3 T numbers for the specified D number (GETACTTD) ...........................................8-344 8.7.4 Set final D numbers to invalid ................................................................................8-345 8.8 Toolholder kinematics ..................................................................................................8-346 Path Traversing Behavior 9-351 9.1 Tangential control TANG, TANGON, TANGOF, TANGDEL ........................................9-352 9.2 Coupled motion TRAILON, TRAILOF ..........................................................................9-358 9.3 Curve tables, CTABDEF, CTABEND, CTABDEL, CTAB, CTABINV, CTABSSV, CTABSEV ..................................................................................................9-362 9.4 Axial leading value coupling, LEADON, LEADOF ........................................................9-375 9.5 Feed characteristic, FNORM, FLIN, FCUB, FPO.........................................................9-381 9.6 Program run with preprocessing memory, STARTFIFO, STOPFIFO, STOPRE .........9-386 9.7 Repositioning on contour, REPOSA, REPOSL, REPOSQ, REPOSH..........................9-388 © Siemens AG, 2002. All rights reserved 0-8 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 0 11.02 Contents 0 Motion-Synchronous Action 10-393 10.1 Structure, basic information ....................................................................................... 10-395 10.1.1 Programming and command elements................................................................ 10-397 10.1.2 Validity range: Identification number ID ............................................................... 10-398 10.1.3 Vocabulary word .................................................................................................. 10-399 10.1.4 Actions ................................................................................................................. 10-402 10.1.5 Overview of synchronized actions........................................................................ 10-404 10.2 Basic modules for conditions and actions .................................................................. 10-406 10.3 Special real-time variables for synchronized actions ................................................. 10-409 10.3.1 Flags/counters $AC_MARKER[n] ........................................................................ 10-409 10.3.2 Timer variable $AC_TIMER[n], SW 4 and higher ................................................ 10-409 10.3.3 Synchronized action parameters $AC_PARAM[n]............................................... 10-410 10.3.4 Access to R parameters $Rxx ............................................................................. 10-411 10.3.5 Machine and setting data read/write (SW 4 and higher)...................................... 10-412 10.3.6 FIFO variable $AC_FIFO1[n] … $AC_FIFO10[n] (SW 4 and higher).................. 10-413 10.4 Actions within synchronized actions ........................................................................... 10-415 10.4.1 Auxiliary functions output ..................................................................................... 10-415 10.4.2 Set read-in disable RDISABLE ............................................................................ 10-416 10.4.3 Cancel preprocessing stop STOPREOF ............................................................. 10-417 10.4.4 Deletion of distance-to-go .................................................................................... 10-418 10.4.5 Delete distance-to-go with preparation, DELDTG, DELDTG ("Axis 1 to x") ........ 10-418 10.4.6 Polynomial definition, FCTDEF, block-synchronized ........................................... 10-420 10.4.7 Laser power control ............................................................................................. 10-422 10.4.8 Evaluation function SYNFCT ............................................................................... 10-423 10.4.9 Adaptive control (additive).................................................................................... 10-424 10.4.10 Adaptive control (multiplicative) ........................................................................... 10-425 10.4.11 Clearance control with limited compensation....................................................... 10-426 10.4.12 Online tool offset FTOC ....................................................................................... 10-428 10.4.13 Positioning movements........................................................................................ 10-430 10.4.14 Position axis POS ................................................................................................ 10-432 10.4.15 Start/stop axis MOV............................................................................................. 10-432 10.4.16 Axial feed FA........................................................................................................ 10-433 10.4.17 SW limit switch..................................................................................................... 10-434 10.4.18 Axis coordination.................................................................................................. 10-434 10.4.19 Set actual value.................................................................................................... 10-436 10.4.20 Spindle motions ................................................................................................... 10-437 10.4.21 Coupled-axis motion TRAILON, TRAILOF .......................................................... 10-438 10.4.22 Leading value coupling LEADON, LEADOF ........................................................ 10-439 10.4.23 Measurement ....................................................................................................... 10-441 10.4.24 Set/clear wait marks: SETM, CLEARM (SW 5.2 and higher) .............................. 10-441 10.4.25 Error responses ................................................................................................... 10-442 10.4.26 Travel to fixed stop FXS and FOCON/FOCOF.................................................... 10-442 © Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 0-9 0 Contents 11.02 0 10.5 Technology cycles ......................................................................................................10-445 10.5.1 Lock, unlock, reset: LOCK, UNLOCK, RESET ....................................................10-447 10.6 Cancel synchronized action: CANCEL .......................................................................10-449 10.7 Supplementary conditions ..........................................................................................10-450 Oscillation 11-455 11.1 Asynchronous oscillation ............................................................................................11-456 11.2 Oscillation controlled via synchronous actions ...........................................................11-463 Punching and Nibbling 12-475 12.1 Activation, deactivation ...............................................................................................12-476 12.1.1 Language commands...........................................................................................12-476 12.1.2 Use of M commands ............................................................................................12-479 12.2 Automatic path segmentation.....................................................................................12-480 12.2.1 Path segmentation for path axes .........................................................................12-481 12.2.2 Path segmentation for single axes .......................................................................12-482 12.2.3 Programming examples .......................................................................................12-484 Additional Functions 13-487 13.1 Axis functions AXNAME, SPI, ISAXIS, AXSTRING (SW 6 and higher).....................13-489 13.2 Function call ISVAR ( ) (SW 6.3 and higher)..............................................................13-491 13.3 Learn compensation characteristics: QECLRNON, QECLRNOF ..............................13-493 13.4 Synchronized spindle..................................................................................................13-495 13.5 EG: Electronic gear (SW 5 and higher) ......................................................................13-505 13.5.1 Define electronic gear: EGDEF............................................................................13-505 13.5.2 Activate electronic gear ........................................................................................13-506 13.5.3 Deactivate electronic gear....................................................................................13-510 13.5.4 Delete definition of an electronic gear..................................................................13-511 13.5.5 Revolutional feedrate (G95)/electronic gear (SW 5.2) .........................................13-511 13.5.6 Response of EG at Power ON, RESET, mode change, block search.................13-512 13.5.7 The electronic gear's system variables ................................................................13-512 13.6 Extended stopping and retract (SW 5 and higher) .....................................................13-513 13.6.1 Drive-independent reactions ................................................................................13-514 13.6.2 NC-controlled reactions........................................................................................13-515 13.6.3 Possible trigger sources.......................................................................................13-518 13.6.4 Logic gating functions: Source/reaction operation ...............................................13-518 13.6.5 Activation..............................................................................................................13-519 13.6.6 Generator operation/DC link backup....................................................................13-519 13.6.7 Drive-independent stop ........................................................................................13-520 © Siemens AG, 2002. All rights reserved 0-10 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 0 11.02 Contents 0 13.6.8 Drive-independent retract .................................................................................... 13-521 13.6.9 Example: Using the drive-independent reaction .................................................. 13-521 13.7 Link communication (SW 5.2 and higher) .................................................................. 13-522 13.8 Axis container (SW 5.2 and higher) ........................................................................... 13-526 13.9 Program execution time/Workpiece counter (SW 5.2 and higher) ............................ 13-528 13.9.1 Program runtime .................................................................................................. 13-528 13.9.2 Workpiece counter............................................................................................... 13-530 13.10 Interactive window call from parts program, command MMC (SW 4.4 and higher) ................................................................................................... 13-532 13.11 Influencing the motion control .................................................................................... 13-534 13.11.1 Percentage jerk correction: JERKLIM.................................................................. 13-534 13.11.2 Percentage velocity correction: VELOLIM ........................................................... 13-535 13.12 Master/slave grouping ................................................................................................ 13-536 User Stock Removal Programs 14-541 14.1 Supporting functions for stock removal ...................................................................... 14-542 14.2 Contour preparation: CONTPRON............................................................................. 14-543 14.3 Contour decoding: CONTDCON (SW 5.2 and higher)............................................... 14-550 14.4 Intersection of two contour elements: INTERSEC ..................................................... 14-554 14.5 Traversing a contour element from the table: EXECTAB .......................................... 14-556 14.6 Calculate circle data: CALCDAT ................................................................................ 14-557 Tables 15-559 15.1 List of instructions....................................................................................................... 15-561 15.2 List of system variables .............................................................................................. 15-591 15.2.1 R parameters ....................................................................................................... 15-591 15.2.2 Channel-specific synchronized action variables .................................................. 15-591 15.2.3 Frames 1.............................................................................................................. 15-592 15.2.4 Toolholder data .................................................................................................... 15-593 15.2.5 Channel-specific protection zones ....................................................................... 15-601 15.2.6 Tool parameters................................................................................................... 15-603 15.2.7 Cutting edge data OEM user ............................................................................... 15-609 15.2.8 Monitoring data for tool management .................................................................. 15-617 15.2.9 Monitoring data for OEM users ............................................................................ 15-618 15.2.10 Tool-related data.................................................................................................. 15-619 15.2.11 Tool-related grinding data .................................................................................... 15-621 15.2.12 Magazine location data ........................................................................................ 15-622 15.2.13 Magazine location data for OEM users................................................................ 15-623 © Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 0-11 0 Contents 11.02 0 15.2.14 Magazine description data for tool management .................................................15-624 15.2.15 Tool management magazine description data for OEM users.............................15-625 15.2.16 Magazine module parameter ...............................................................................15-626 15.2.17 Adapter data.........................................................................................................15-626 15.2.18 Measuring system compensation values .............................................................15-626 15.2.19 Quadrant error compensation ..............................................................................15-627 15.2.20 Interpolatory compensation..................................................................................15-629 15.2.21 NCK-specific protection zones .............................................................................15-630 15.2.22 Cycle parameterization.........................................................................................15-631 15.2.23 System data .........................................................................................................15-636 15.2.24 Frames 2 ..............................................................................................................15-636 15.2.25 Tool data ..............................................................................................................15-638 15.2.26 Magazines ............................................................................................................15-643 15.2.27 Programmed geometry axis values......................................................................15-646 15.2.28 G groups ..............................................................................................................15-647 15.2.29 Programmed values .............................................................................................15-647 15.2.30 Channel states .....................................................................................................15-651 15.2.31 Synchronized actions ...........................................................................................15-656 15.2.32 I/Os.......................................................................................................................15-657 15.2.33 Reading and writing PLC variables ......................................................................15-657 15.2.34 NCU link ...............................................................................................................15-658 15.2.35 Direct PLC I/O ......................................................................................................15-658 15.2.36 Tool management ................................................................................................15-659 15.2.37 Timers ..................................................................................................................15-662 15.2.38 Path movement ....................................................................................................15-663 15.2.39 Speeds/accelerations...........................................................................................15-665 15.2.40 Spindles................................................................................................................15-667 15.2.41 Polynomial values for synchronized actions.........................................................15-670 15.2.42 Channel states .....................................................................................................15-672 15.2.43 Measurement .......................................................................................................15-673 15.2.44 Positions...............................................................................................................15-677 15.2.45 Indexing axes .......................................................................................................15-679 15.2.46 Encoder values.....................................................................................................15-679 15.2.47 Axial measurement ..............................................................................................15-680 15.2.48 Offsets..................................................................................................................15-681 15.2.49 Axial paths............................................................................................................15-684 15.2.50 Oscillation.............................................................................................................15-685 15.2.51 Axial velocities......................................................................................................15-685 15.2.52 Drive data .............................................................................................................15-687 15.2.53 Axis statuses ........................................................................................................15-688 15.2.54 Master/slave links.................................................................................................15-689 15.2.55 Travel to fixed stop...............................................................................................15-690 15.2.56 Electronic gear .....................................................................................................15-691 15.2.57 Leading value coupling.........................................................................................15-692 © Siemens AG, 2002. All rights reserved 0-12 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 0 11.02 Contents 0 15.2.58 Synchronized spindle ........................................................................................... 15-693 15.2.59 Safety Integrated.................................................................................................. 15-696 Appendix A-701 A Index .................................................................................................................................A-702 B Commands, Identifiers......................................................................................................A-719 © Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 0-13 0 Preface 11.02Structure of documentation 0 Preface Overview of documentation The SINUMERIK documentation is organized in three parts: • General Documentation • User Documentation • Manufacturer/Service Documentation Target group This documentation is intended for the programmer. It provides detailed information for programming the SINUMERIK 840D/840Di/840Di/810D. Standard scope The Programming Guide describes the functionality included in the standard scope. Extensions or changes made by the machine tool manufacturer are documented by the machine tool manufacturer. You can obtain more detailed information on publications about SINUMERIK 840D/840Di/810D or publications that apply to all the SINUMERIK controls (e.g. universal interface, measurement cycles, etc.), from your Siemens branch. 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. © Siemens AG, 2002. All rights reserved 0-14 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 0 11.02 PrefaceStructure of documentation 0 Validity This Programming Guide is valid for the following controls: SINUMERIK 840D SW6 SINUMERIK 840DE (export version) SW6 SINUMERIK 840Di SW2 SINUMERIK 840DiE (export version) SW2 SINUMERIK 810D SW3 SINUMERIK 810DE (export version) SW3 with operator panel fronts OP 010, OP 010C, OP 010S, OP 12 or OP 15 (PCU 20 or PCU 50) SINUMERIK 840D powerline From 09.2001, the • SINUMERIK 840D powerline and the • SINUMERIK 840DE powerline will be available with improved performance. A list of the available powerline modules can be found in the Hardware Reference Manual /PHD/ in Section 1.1 SINUMERIK 810D powerline From 12.2001, the • SINUMERIK 810D powerline and the • SINUMERIK 810DE powerline will be available with improved performance. A list of the available powerline modules can be found in the Hardware Reference Manual /PHC/ in Section 1.1 © Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 0-15 0 Preface 11.02Structure of documentation 0 Hotline Should you have any questions, please consult the following Hotline: A&D Technical Support Tel.: ++49-(0)180-5050-222 Fax: ++49-(0)180-5050-223 E-mail: [email protected] If you have any questions about the documentation (suggestions, corrections) please send a fax to the following fax address, or e-mail us: Fax: ++49-(0)0131-98-2176 E-mail: [email protected] Fax form: see the feedback page at the back of this document. Internet address http://www.ad.siemens.de/sinumerik Export version The following functions are not available in the export version: Function 810DE 840DE Machining package for 5 axes − − Transformation package handling (5 axes) − − Multiple axes interpolation (> 4 axes) − − Helix interpolation 2D+6 − − Synchronized actions stage 2 − O1) Measurement stage 2 − O1) Adaptive control O1) O1) Continuous dressing O1) O1) Use of the compile cycles (OEM) − − Multidimensional sag compensation O1) O1) − Function not available 1) Limited functionality © Siemens AG, 2002. All rights reserved 0-16 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 0 11.02 PrefaceStructure of documentation 0 Structure of the descriptions All cycles and programming options have been described – where appropriate and possible – according to the same internal structure. The organization into different information levels allows you to find the information you need quickly. 1. At a glance Drilling cycles and drilling patterns 03.96 2 2.1 Drilling cycles 2 If you want to look up a seldom used command or the meaning of a parameter, you can see at a glance how 2.1.2 Drilling, centering – CYCLE81 to program the function together with an explanation of Programming CYCLE81 (RTP, RFP, SDIS, DP) the commands and parameters. RTP real Retraction plane (absolute) RFP real Reference plane (absolute) SDIS real Safety clearance (enter without sign) DP real Final drilling depth (absolute) DPR real Final drilling depth relative to reference plane (enter without sign) This information is always presented at the start of the page. Function Z The tool drills at the programmed spindle speed and feedrate to the programmed final drilling depth. Note: X To keep this documentation as compact as possible, it is not always possible to list all the types of representation available in the programming Operating sequence language for the individual commands and Position reached before the beginning of thecycle: The drilling position is the position in the two axes of parameters. The commands are therefore always the selected plane. The cycle implements the following motion programmed in the context most frequently used in sequence:• Approach of the reference plane brought forward by the safety clearance with G0 the workshop. • Travel to the final drilling depth at the feedrate programmed in the calling program (G1) • Retraction to retraction plane with G0  Siemens AG 1997 All rights reserved. 2-36 SINUMERIK 840D/810D/FM-NC Programming Guide, Cycles (PGZ) - 08.97 Edition. © Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 0-17 0 Preface 11.02Structure of documentation 0 2. Detailed explanations 03.96 Drilling cycles and drilling patterns 2 2.1 Drilling cycles 2 The theory part contains detailed information on the following: Explanation of parameters Z G1 RFP and RTP G0 Generally, the reference plane (RFP) and the What is the purpose of the command? retraction plane (RTP) have different values. In the cycle it is assumed that the retraction plane lies in front of the reference plane. The distance between RTP the retraction plane and the final drilling depth is RFP+SDIS therefore greater than the distance between the RFPX reference plane and the final drilling depth. What is the effect of the command? SDIS The safety clearance (SDIS) refers to the reference DP=RFP-DPR plane. which is brought forward by the safety clearance. The direction in which the safety clearance is active is automatically determined by What is the sequence of command? the cycle. DP and DPR The drilling depth can be defined either absolute (DP) or relative (DPR) to the reference plane. If it is entered as an absolute value, the value is What effect do the parameters have? traversed directly in the cycle. Additional notes If a value is entered both for the DP and the DPR, What else has to be taken into account? the final drilling depth is derived from the DPR. If theDPR deviates from the absolute depth programmed via the DP, the message "Depth: Corresponds to value for relative depth" is output in the dialog line. The theory parts are suitable primarily as a guide for NC beginners. Work through the manual carefully at least once to gain an overview of the performance scope and capabilities of your SINUMERIK control.  Siemens AG 1997 All rights reserved. SINUMERIK 840D/810D/FM-NC Programming Guide, Cycles (PGZ) - 08.97 Edition. 2-37 3. From theory to practice Drilling cycles and drilling patterns 083..976 2 2.1 Drilling cycles 2 The programming example shows you how to apply the commands in the program. If the values for the reference plane and the retraction plane are identical, a relative depth must not be programmed. The error message You will find an application example for practically all 61101 "Reference plane incorrectly defined" isoutput and the cycle is not executed. This error message is also output if the retraction plane lies behind the reference plane, i.e. the distance to the the commands after the theory part. final drilling depth is smaller. Programming example Drilling_centering Y Y A - B You can use this program to make 3 holes using the A drilling cycle CYCLE81, whereby this cycle is called with different parameter settings. The drilling axis is 120 always the Z axis. 30 0 B X Z 40 90 35 100 108 N10 G0 G90 F200 S300 M3 Specification of the technology values N20 D3 T3 Z110 Traverse to retraction plane N30 X40 Y120 Traverse to first drilling position N40 CYCLE81 (110, 100, 2, 35) Cycle call with absolute final drilling depth, safety clearance and incomplete parameter list N50 Y30 Traverse to next drilling position N60 CYCLE81 (110, 102, , 35) Cycle call without safety clearance N70 G0 G90 F180 S300 M03 Specification of the technology values N80 X90 Traverse to next position N90 CYCLE81 (110, 100, 2, , 65) Cycle call with relative final drilling depth and safety clearance N100 M30 End of program  Siemens AG 1997 All rights reserved. 2-38 SINUMERIK 840D/810D/FM-NC Programming Guide, Cycles (PGZ) - 08.97 Edition. © Siemens AG, 2002. All rights reserved 0-18 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 0 11.02 PrefaceStructure of documentation 0 Explanation of the symbols Sequence of operations Explanation Function Parameters Programming example Programming Additional notes Cross-references to other documentation and sections Important information and safety notices © Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 0-19 0 Preface 11.02Structure of documentation 0 For your information Your SINUMERIK 840D/840Di/810D is state of the art and is manufactured in accordance with recognized safety regulations, standards and specifications. Additional devices SIEMENS offers special add-on equipment, products and system configurations for the focused expansion of SIEMENS controls in your field of application. Personnel Only specially trained, authorized and experienced personnel should be allowed to work on the control. This applies at all times, even for short periods. It is necessary to clearly define the respective responsibilities of the personnel for setting up, operation and maintenance; it is necessary to supervise the compliance thereof. Actions It must be ascertained that the Instruction Manuals have been read and understood by the persons working on the control before installation and start-up of the control. In addition, operation must be conducted under constant supervision regarding the overall technical state (faults and damages visible from outside, as well as changes in operation behavior) of the control. © Siemens AG, 2002. All rights reserved 0-20 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 0 11.02 PrefaceStructure of documentation 0 Service Only qualified personnel specifically trained for this purpose should be allowed to perform repairs, and only in accordance with the contents of the maintenance guides. Hereby, all established safety regulations have to be complied with. Note The following are considered not compliant with the usage to the intended purposes and are therefore excluded from all liability of the manufacturer: Every usage not complying with or going beyond the abovementioned points. If the control is not operated in a technically faultless state, if proper safety precautions are not taken, or if the instructions in the Instruction Manual are not complied with. If faults which could influence safety of operation are not remedied before installation and start-up of the control. Each change, jumpering or shut-down of devices on the control which serve for proper functioning, universal usage and active and passive safety. Unforeseen dangers may result in: • personal injury and death, • damage to the control, machine and other property of the company and operator. © Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 0-21 0 Preface 11.02Structure of documentation 0 The following notes used in the documentation have a special significance: Notes This symbol always appears in the documentation if secondary information is given and there is an important fact to be considered. In this documentation, you will find the symbol shown with reference to an ordering data option. The function described can only be run if the control includes the designated option. Warnings The following warnings, of graduated significance, are used in the publication. Danger Indicates an imminently hazardous situation which, if not avoided, will result in death or serious injury or in substantial property damage. Notice Indicates a potentially hazardous situation which, if not avoided, could result in death or serious injury or in substantial property damage. Caution Used with the safety alert symbol indicates a potentially hazardous situation which, if not avoided, may result in minor or moderate injury or in property damage. Caution Used without safety alert symbol indicates a potentially hazardous situation which, if not avoided, may result in property damage. © Siemens AG, 2002. All rights reserved 0-22 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 0 11.02 PrefaceStructure of documentation 0 Notice Used without the safety alert symbol indicates a potential situation which, if not avoided, may result in an undesirable result or state. © Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 0-23 0 Preface 11.02Structure of documentation 0 © Siemens AG, 2002. All rights reserved 0-24 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 1 11.02 Flexible NC Programming 1 Flexible NC Programming 1.1 Variable and arithmetic parameters ................................................................................ 1-26 1.2 Variable definition............................................................................................................ 1-29 1.3 Array definition ................................................................................................................ 1-34 1.4 Indirect programming ...................................................................................................... 1-40 1.5 Assignments.................................................................................................................... 1-45 1.6 Arithmetic operations and functions ................................................................................ 1-46 1.7 Comparison and logic operators ..................................................................................... 1-48 1.8 Priority of operators ......................................................................................................... 1-53 1.9 Possible type conversions............................................................................................... 1-54 1.10 String operations ............................................................................................................. 1-55 1.10.1 Type conversion....................................................................................................... 1-56 1.10.2 Concatenation of strings .......................................................................................... 1-58 1.10.3 Conversion to lower/upper case .............................................................................. 1-59 1.10.4 Length of the string .................................................................................................. 1-60 1.10.5 Search for character/string in a string...................................................................... 1-60 1.10.6 Selection of a substring............................................................................................ 1-62 1.10.7 Selection of a single character................................................................................. 1-63 1.11 CASE instruction ............................................................................................................ 1-65 1.12 Control structures........................................................................................................... 1-67 1.13 Program coordination..................................................................................................... 1-72 1.14 Interrupt routine .............................................................................................................. 1-77 1.15 Axis transfer, spindle transfer......................................................................................... 1-85 1.16 NEWCONF: Setting machine data active (SW 4.3 and higher) ..................................... 1-90 1.17 WRITE: Write file (SW 4.3 and higher) .......................................................................... 1-91 1.18 DELETE: Delete file (SW 4.3 and higher) ...................................................................... 1-93 1.19 READ: Read lines in file (SW 5.2 and higher)................................................................ 1-94 1.20 ISFILE: File available in user memory NCK (SW 5.2 and higher).................................. 1-97 1.21 CHECKSUM: Creation of a checksum over an array (SW 5.2 and higher) ................... 1-98  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 1-25 1 Flexible NC Programming 11.021.1 Variable and arithmetic parameters 1 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 1.1 Variable and arithmetic parameters Function Using variables in place of constant values makes a program more flexible. You can respond to signals such as measured values or, by storing setpoints in the variables, you can use the same program for different geometries. With variable calculation and jump instructions a skilled programmer is able to create a very flexible program archive and save a lot of programming work. Variable classes The controller uses 3 classes of variable: User-defined variable Name and type of variable defined by the user, e.g. arithmetic parameter. Arithmetic parameter Special, predefined arithmetic variable whose address is R plus a number. The predefined arithmetic variables are of the REAL type. System variable Variable provided by the controller that can be processed in the program (write, read). System variables provide access to zero offsets, tool offsets, actual values, measured values on the axes, control states, etc. (See Appendix for the meaning of the system variables)  Siemens AG, 2002. All rights reserved 1-26 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 1 11.02 Flexible NC Programming1.1 Variable and arithmetic parameters 1 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Variable types Type Meaning Value range INT Integers with sign ±(231 - 1) REAL Real numbers (fractions with decimal point, LONG ±(10-300 … 10+300) REAL according to IEEE) BOOL Boolean values: TRUE (1) and FALSE (0) 1, 0 CHAR 1 ASCII character specified by the code 0 … 255 STRING Character string, number of characters in […], Sequence of values Max. 200 characters with 0 ... 255 AXIS Axis names (axis addresses) only All axis identifiers and spindles in the channel FRAME Geometric data for translation, rotation, scaling, mirroring, see Chapter 4. Arithmetic variable Address R provides 100 arithmetic variables of type REAL by default. The exact number of arithmetic variables (up to 1000) is defined in machine data. Example: R10=5 System variable The controller provides system variables that can be contained and processed in all running programs. System variable provide machine and controller states. Some of the system variables cannot be assigned values.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 1-27 1 Flexible NC Programming 11.021.1 Variable and arithmetic parameters 1 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Special identifiers of system variables always begin with a "$" sign followed by the specific names. Summary of system variable types 1st letter Meaning $M Machine data $S Setting data $T Tool management data $P Programmed values $A Current values $V Service data 2nd letter Meaning N NCK global C Channel-specific A Axis-specific Example: $AA_IM Means: Current axis-specific value in the machine coordinate system.  Siemens AG, 2002. All rights reserved 1-28 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 1 11.02 Flexible NC Programming1.2 Variable definition 1 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 1.2 Variable definition User-defined variables The programmer can define and assign values to variables in addition to using predefined variables. Local variables (LUD) are only valid in the program where they are defined. Global variables (GUD) are valid in all programs. SW 4.4 and higher: Machine data are used to redefine the local user variables (LUD) defined in the main program as program-global user variables (PUD). Machine manufacturer See machine manufacturer's specifications. If they are defined in the main program, they will also be valid at all levels of the subprograms called. They are created with parts program start and deleted with parts program end or reset. Example: $MN_LUD_EXTENDED_SCOPE=1 PROC MAIN ;Main program DEF INT VAR1 ;PUD definition ... SUB2 ;Subprogram call ... M30 PROC SUB2 ;Subprogram SUB2 DEF INT VAR2 ;LUD DEFINITION ... IF (VAR1==1) ;Read PUD VAR1=VAR1+1 ;Read & write PUD VAR2=1 ;Write LUD ENDIF SUB3 ;Subprogram call ... M17 PROC SUB3 ;Subprogram SUB3  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 1-29 1 Flexible NC Programming 11.021.2 Variable definition 1 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 ... IF (VAR1==1) ;Read PUD VAR1=VAR1+1 ;Read & write PUD VAR2=1 ;Error: LUD from SUB2 ;not known ENDIF ... M17 If machine data $MN_LUD_EXTENDED_SCOPE is set, it is not possible to define a variable with the same name in the main and subprograms. Variable names A variable name consists of up to 31 characters. The first two characters must be a letter or an underscore. The "$" sign can not be used for user-defined variables because it is used for system variables. Programming DEF INT name or DEF INT name=value DEF REAL name or DEF REAL name1,name2=3,name4 or DEF REAL name[array_index1,array_index2] DEF BOOL name DEF CHAR name or DEF CHAR name[array_index]=("A","B",…) DEF STRING[string_length] name DEF AXIS name or DEF AXIS name[array_index] DEF FRAME name  Siemens AG, 2002. All rights reserved 1-30 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 1 11.02 Flexible NC Programming1.2 Variable definition 1 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 If a variable is not assigned a value on definition, the system sets zero as the default. Variables must be defined at the beginning of the program before they are used. The definition must be made in a separate block; only one variable type can be defined per block. Explanation INT Variable type integer, i.e. whole number REAL Variable type real, i.e. factional number with decimal point BOOL Variable type Boolean, i.e. 1 or 0 (TRUE or FALSE) CHAR Variable type char, i.e. ASCII-coded character (0 to 255) STRING Variable type string, i.e. sequence of char AXIS Variable type axis, i.e. axis addresses and spindles FRAME Variable type frame, i.e. geometric data name Variable name Programming examples Variable type INT DEF INT NUMBER This creates a variable of type integer with the name NUMBER. The system initializes the variable with zero. DEF INT NUMBER= 7 This creates a variable of type integer with the name NUMBER. The system initializes the variable with zero. Variable type REAL DEF REAL DEPTH This creates a variable of type real with the name DEPTH. System initializes with zero (0.0). DEF REAL DEPTH=6.25 This creates a variable of type real with the name DEPTH. The variable is initialized with 6.25. DEF REAL DEPTH=3.1,LENGTH=2,NUMBER More than one variable can be defined in a line.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 1-31 1 Flexible NC Programming 11.021.2 Variable definition 1 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Variable type BOOL DEF BOOL IF_TOO_MUCH This creates a variable of type BOOL with the name IF_TOO_MUCH. System initializes with zero (FALSE). DEF BOOL IF_TOO_MUCH=1 or This creates a variable of type BOOL with DEF BOOL IF_TOO_MUCH=TRUE or the name IF_TOO_MUCH. DEF BOOL WENN_ZUVIEL=FALSE Variable type CHAR DEF CHAR GUSTAV_1=65 A code value for the corresponding ASCII character or the ASCII character itself DEF CHAR GUSTAV_1="A" can be assigned to a variable of type CHAR (code value 65 corresponds to letter "A"). Variable type STRING DEF STRING[6] MUSTER_1="BEGIN" Variables of type string can contain a string (sequence of characters). The maximum number of characters is enclosed in square brackets after the variable type. Variable type AXIS DEF AXIS AXIS_NAME=(X1) Variable of type AXIS are called AXIS_NAME and contain the axis identifier of a channel – here X1. (Axis names with an extended address are in parentheses.) Variable type FRAME DEF FRAME BEVEL_1 Variables of type FRAME have names like BEVEL_1.  Siemens AG, 2002. All rights reserved 1-32 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 1 11.02 Flexible NC Programming1.2 Variable definition 1 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Additional notes A variable of type AXIS can contain an axis identifier and a spindle identifier of a channel. Note: Axis names with an extended address must be in parentheses. Example of programming with program- local variables DEF INT COUNT LOOP: G0 X… ;Loop COUNT=COUNT+1 IF COUNT greater than < less than >= greater than or equal to =100 GOTOF DEST or R11=R10>=100 IF R11 GOTOF DEST The result of the R10>=100 comparison is first buffered in R11.  Siemens AG, 2002. All rights reserved 1-48 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 1 11.02 Flexible NC Programming1.7 Comparison and logic operators 1 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Precision correction on comparison errors T RUNC (R1*1000) T he TRUNC command truncates the operand multiplied by a precision factor Function Settable precision for comparison commands Program data of type REAL are displayed internally with 64 bits in IEEE format. This display format can cause decimal numbers to be displayed imprecisely and lead to unexpected results when compared with the ideally calculated values. Relative equality To prevent the imprecision caused by the display format from interfering with program flow, the comparison commands do not check for absolute equality but for relative equality. SW 6.3 and lower Relative equality considered 10-12 for • Equality (==) • Inequality () • Greater than or equal to (>=) • Less than or equal to () • Less than () and ( R3 GOTOF ERROR Jump executed (SW 6.3 and lower) N42 M30 End of program N43 ERROR: SETAL(66000) R1=61.01 R2=61.02 R3=0.01 Assignment of initial values R11=TRUNC(R1*1000) R12=TRUNC(R2*1000) Precision correction R13=TRUNC(R3*1000) IF ABS(R12-R11) > R13 GOTOF ERROR Jump not executed M30 End of program ERROR: SETAL(66000) Calculate and evaluate quotient of both operands R1=61.01 R2=61.02 R3=0.01 Assignment of initial values IF ABS((R2-R1)/R3)-1) > 10EX-5 GOTOF Jump not executed ERROR M30 End of program ERROR: SETAL(66000)  Siemens AG, 2002. All rights reserved 1-50 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 1 11.02 Flexible NC Programming1.7 Comparison and logic operators 1 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Logic operators Logic operators are used to link truth values. AND, OR, NOT, and XOR can only be applied to variables of type BOOL. However, they can also be applied to data types CHAR, INT, and REAL by implicit type conversion. Spaces must be left between BOOLEAN operands and operators. For the logic (Boolean) operations, the following applies to data types BOOL, CHAR, INT, and REAL: 0 means FALSE not equal to 0 means TRUE Meaning of logic operators 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. Programming example IF (R10=17.5) GOTOF ZIEL IF NOT R10 GOTOB START NOT is only applied to one operand.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 1-51 1 Flexible NC Programming 11.021.7 Comparison and logic operators 1 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Bit logic operators Logic operations can also be applied to single bits of types CHAR and INT. Type conversion is automatic. Meaning of bit logic operators B_AND Bit AND B_OR Bit OR B_NOT Bit negation B_XOR Bit exclusive OR The operator B_NOT refers to one operand only, it comes after the operator. Programming example IF $MC_RESET_MODE_MASK B_AND 'B10000' GOTOF ACT_PLANE  Siemens AG, 2002. All rights reserved 1-52 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 1 11.02 Flexible NC Programming1.8 Priority of operators 1 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 1.8 Priority of operators Priority of the operators Each operator is assigned a priority. When an expression is evaluated, the operators with the highest priority are always applied first. Where operators have the same priority, the evaluation is from left to right. In arithmetic expressions, the execution order of all the operators can be specified by parentheses, in order to override the normal priority rules. Order of operators (from the highest to lowest priority) 1. NOT, B_NOT Negation, bit negation 2. *, /, DIV, MOD Multiplication, division 3. +, – Addition, subtraction 4. B _AND B it AND 5. B _XOR Bit exclusive OR 6. B _OR B it OR 7. A ND A ND 8. XOR Exclusive OR 9. OR OR 10. , =, = 0.5 are rounded up, others rounded down (cf. ROUND function) 1) Value 0 corresponds to TRUE, value == 0 corresponds to FALSE 2) If the value is in the permissible range 3) If only 1 character 4) String length 0 = >FALSE, otherwise TRUE If conversion produces a value greater than the target range, an error message is output. Additional notes If mixed types occur in an expression, type conversion is automatic.  Siemens AG, 2002. All rights reserved 1-54 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 1 11.02 Flexible NC Programming1.10 String operations 1 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 1.10 String operations Overview Further string manipulations are provided in addition to the conventional operations "Assignment" and "Comparison" described in this section: Explanation Type conversion to STRING: 1) STRING_ERG = character. Example: EXTCALL (”/_N_WKS_DIR/_N_SHAFT_WPD/_N_SHAFT_SPF”) or EXTCALL (”SHAFT”) Function EXTCALL can be used to reload a program from the HMI in "Processing from external source" mode. All programs that can be accessed via the directory structure of HMI can be reloaded and run. External program path SD 42700: EXT_PROG_PATH permits flexible setting of the call path. SD 42700 contains a path definition that builds the absolute path name of the program to be called in conjunction with the programmed subprogram identifier. Call of an external subprogram An external subprogram is called up with parts program command EXTCALL. The • subprogram names programmed with EXTCALL and • setting data SD 42700: EXT_PROG_PATH  Siemens AG, 2002. All rights reserved 2-132 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 2 11.02 Subprograms, Macros2.15 Executing external subprogram: EXTCALL (SW 4.2 and higher) 2 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 result in the program path for the external subprogram call by character concatenation of • the content of SD 42700: EXT_PROG_PATH (e.g. /_N_WKS_DIR/_N_WKST1_WPD) • the character "/" as the separator (if a path was specified with SD 42700: EXT_PROG_PATH) • the subprogram path or subprogram identifier specified with EXTCALL. SD 42700: EXT_PROG_PATH has a blank as its default. If the external subprogram is called without an absolute path name, the same search path is executed on the HMI Advanced as for calling a subprogram from NCK memory. 1. current directory/ subprogram identifier 2. current directory/subprogram identifier_SPF 3. current directory/subprogram identifier_MPF 4. /_N_SPF_DIR/subprogram identifier_SPF 5. /_N_CUS_DIR/subprogram identifier_SPF 6. /_N_CMA_DIR/subprogram identifier_SPF 7. /_N_CST_DIR/subprogram identifier_SPF "current directory": stands for the directory in which the main program was selected. "subprogram identifier": stands for the subprogram name programmed with EXTCALL. Adjustable load memory (FIFO buffer) A load memory is required in the NCK in order to process a program in "Execution from external" mode (main program or subprogram). The default setting for the size of the load memory is 30 Kbytes. MD 18360: MM_EXT_PROG_BUFFER_SIZE sets the size of the reload buffer. MD 18362: MM_EXT_PROG_BUFFER_NUM sets the number of reload buffers. One reload buffer must be set for each program (main program or subprogram) to run concurrently in "Processing from external source" mode.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 2-133 2 Subprograms, Macros 11.022.15 Executing external subprogram: EXTCALL (SW 4.2 and higher) 2 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Programming examples 1. The program to be reloaded is located on the local hard disk of HMI Advanced: Setting data SD 42700: EXT_PROG_PATH contains the following path: "/_N_WKS_DIR/_N_WST1". The main program _N_MAIN_MPF is in the user memory and selected. N10 PROC MAIN N20 ... N30 EXTCALL "ROUGHING" ; Call of external subprogram ; ROUGHING N40 ... N50 M30 Subprogram "ROUGHING" (located in the HMI Advanced directory structure under workpieces ->WST1): N10 PROC ROUGHING N20 G1 F1000 N30 X=... Y=... Z=... N40 ... N90 M17 2. The program to be reloaded is located on the network drive or ATA card of HMI EXTCALL Windows path Call for network drive (HMI Embedded or Advanced) EXTCALL \\R4711\workpieces\contour1.spf Call for ATA card (HMI Embedded), e.g. EXTCALL C:\workpieces\contour2.spf F or HMI Embedded, an absolute path must always be specified. F or more information about operation, see / BEM/ HMI Embedded /BAD/ HMI Advanced  Siemens AG, 2002. All rights reserved 2-134 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 2 11.02 Subprograms, Macros2.15 Executing external subprogram: EXTCALL (SW 4.2 and higher) 2 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Additional notes External subprograms are not permitted to include jump commands such as GOTOF, GOTOB, CASE, FOR, LOOP, WHILE or REPEAT. Subprogram calls – even nested EXTCALL calls are possible. SW 6.3 and higher IF-ELSE-ENDIF constructions are possible. POWER ON, RESET Reset and power ON cause external subprogram calls to be interrupted and the associated load memory to be erased. F or more information about "Processing from external source", see: / FB/ K1, BAG, Channel, Program control  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 2-135 2 Subprograms, Macros 11.022.16 Subprogram call with M/T function 2 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 2.16 Subprogram call with M/T function Function The T/M function can be replaced with a subprogram call by making the appropriate setting in the machine data, for example, for calling the tool change routine. At block search subprogram calls with M/T functions behave like standard subprogram calls. F or more information about "Subprogram call with M/T functions", see: /FB/ K1, BAG, Channel, Program control Example 1: Tool change with M6 M function M6 is replaced by tool change routine TC_UP_M6 N10 PROC ROUGHING3 N20 G1 F1000 N30 X=... Y=... Z=... N40 T1234 M6 ; ; Call TC_UP_M6 M30 Associated subprogram TC_UP_M6: N110 PROC TC_UP_M6 ... N130 G53 D0 G0 X=... Y=... Z=... ; ; Approach tool change point N140 M6 ; ; Execute tool change ... N190 M17 Example 2: Tool change with T function programming T function is replaced by tool change routine TC_UP_T N10 PROC ROUGHING4 N20 G1 F1000 N30 X=... Y=... Z=... N40 T1234 ; ; Call TC_UP_T M30  Siemens AG, 2002. All rights reserved 2-136 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 2 11.02 Subprograms, Macros2.16 Subprogram call with M/T function 2 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Associated subprogram TC_UP_T: N310 PROC TC_UP_T ... N330 IF $C_T_PROG == 1 N340 G53 D0 G0 X=... Y=... Z=... ; Approach tool change point N350 T=$C_T ; Execute tool change N360 ENDIF ... N390 M17 Extension of T function substitution As from SW 6.4, T function substitution is extended to permit setting in machine data whether with programming of both: D numbers or DL numbers and T numbers • in one block, D or DL will be passed as parameters to the T substitution cycle as predefined (default) or • run before the T substitution cycle call. MD 10719: T_NO_FCT_CYCLE_MODE sets parameterization of the T function substitution as follows Value 0: the D or DL number is passed to the cycle, as previously, (default). Value 1: the D or DL number is calculated directly in the block. This function is only active if the tool change was configured with an M function (MD 22550: TOOL_CHANGE_MODE = 1), otherwise the D or DL values are always passed.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 2-137 2 Subprograms, Macros 11.022.17 Cycles: Setting parameters for user cycles 2 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 2.17 Cycles: Setting parameters for user cycles Files and paths Explanation cov.com Overview of cycles uc.com Cycle call description Function Customized cycles can be parameterized with these files. Sequence The cov.com file is included with the standard cycles at delivery and is to be expanded accordingly. The uc.com file is to be created by the user. Both files are to be loaded in the passive file system in the "User cycles" directory (or must be given the appropriate path specification in the program: ;$PATH=/_N_CUS_DIR Adaptation of cov.com – Overview of cycles The cov.com file supplied with the standard cycles has the following structure: %_N_COV_COM File name ;$PATH=/_N_CST_DIR) Path specification ;Vxxx 11.12.95 Sca cycle overview Comment line C1(CYCLE81) drilling, centering Call for 1st cycle C2(CYCLE82) Boring, counterboring Call for 2nd cycle ... C24(CYCLE98) Chaining of threads Call for last cycle M17 End of file  Siemens AG, 2002. All rights reserved 2-138 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 2 11.02 Subprograms, Macros2.17 Cycles: Setting parameters for user cycles 2 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 For each newly added cycle a line must be added with the following syntax: C () comment text Number: Any integer, must not have been used in the file before; Cycle name: The program name of the cycle to be included Comment text: Optionally a comment text for the cycle Example: C25 (MY_CYCLE_1) usercycle_1 C26 (SPECIAL CYCLE) Example of uc.com file User cycle description The explanation is based on the continuation of the example: For the following two cycles a cycle parameterization is to be newly created: PROC MY_CYCLE_1 (REAL PAR1, INT PAR2, CHAR PAR3, STRING[10] PAR4) ;The cycle has the following transfer parameters: ; ;PAR1: Real value in range -1000.001 $P_UIFR [$P_UIFRNUM] (settable frame) effective $P_ACTFRAME = $P_BFRAME : $P_IFRAME : $P_PFRAME Entered via program, e.g. Entered via program, e.g. $P_BFRAME=CTRANS(X,10) $P_PFRAME=CTRANS(X,10) or TRANS X10 Entered via program, e.g. $P_IFRAME=CTRANS(X,10) P redefined settable frames $P_UBFR T he base frame is programmed with $P_UBFR, but it is not simultaneously active in the parts program. The base frame programmed with $P_UBFR is included in the calculation if • Reset was activated and bits 0 and 14 are set in MD RESET_MODE_MASK and • instructions G500, G54...G599 were executed. Predefined settable frames $P_UIFR[n] The predefined frame variable $P_UIFR[n] can be used to read or write the settable zero offsets G54 to G599 from the parts program. T hese variables produce a one-dimensional array of type FRAME called $P_UIFR[n]. Assignment to G commands F ive predefined settable frames are set as standard $P_UIFR[0]...$P_UIFR[4] or 5 G commands with the same meaning – G500 and G54 to G57 – at whose addresses values can be stored.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 6-239 6 Frames 11.026.1 Coordinate transformation via frame variables 6 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 $ P_IFRAME=$P_UIFR[0] corresponds to G500 $P_IFRAME=$P_UIFR[1] corresponds to G54 $ P_IFRAME=$P_UIFR[2] corresponds to G55 $ P_IFRAME=$P_UIFR[3] corresponds to G56 $P_IFRAME=$P_UIFR[4] corresponds to G57 You can change the number of frames with machine data: $ P_IFRAME=$P_UIFR[5] corresponds to G505 … … … $P_IFRAME=$P_UIFR[99] corresponds to G599 T his allows you to generate up to 100 coordinate systems which can be called up globally in different programs, for example, as zero point for various fixtures. F rame variables must be programmed in a separate NC block in the NC program. Exception: programming of a settable frame with G54, G55, ...  Siemens AG, 2002. All rights reserved 6-240 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 6 11.02 Frames 6.2 Frame variables/assigning values to frames 6 840D 840D 810D 8 40Di NCU 571 NCU 572 NCU 573 6 .2 Frame variables/assigning values to frames V alues can be assigned directly, frames can be chained or frames can be assigned to other frames in the NC program. Direct value assignment Programming $P_PFRAME=CTRANS (X, axis value, Y, axis value, Z, axis value, …) $ P_PFRAME=CROT (X, angle, Y, angle, Z, angle, …) $ P_PFRAME=CSCALE (X, scale, Y, scale, Z, scale, …) $P_PFRAME=CMIRROR (X, Y, Z) P rogramming $P_BFRAME is carried out analog to $P_PFRAME. Explanation of the commands C TRANS Translation of specified axes CROT Rotation around specified axes C SCALE Scale change on specified axes C MIRROR Direction reversal on specified axis Function You can use these functions to assign frames or frame variables directly in the NC program. Sequence You can program several arithmetic rules in succession. Example: $P_PFRAME=CTRANS(…):CROT(…):CSCALE… P lease note that the commands must be connected CROTNS CTR A by the colon chain operator: (…):(…). This causes the commands firstly to be linked and secondly to be executed additively in the programmed sequence.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 6-241 CSCALE 6 Frames 11.026.2 Frame variables/assigning values to frames 6 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Additional notes T he values programmed with the above commands are assigned to the frames and stored. T he values are not activated until they are assigned to the frame of an active frame variable $P_BFRAME or $P_PFRAME. Programming example Z 2 T ranslation, rotation and mirroring are activated by value assignment to the current programmable Y frame. 3 Y Y Z X X 1 Y 1 CTRA NS 2 CROT 3 CM IRROR X N 10 $P_PFRAME=CTRANS(X,10,Y,20,Z,5):CROT(Z,45):CMIRROR(Y)  Siemens AG, 2002. All rights reserved 6-242 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 6 11.02 Frames 6.2 Frame variables/assigning values to frames 6 8 40D 840D 810D 8 40Di NCU 571 NCU 572 NCU 573 R eading and changing frame components Programming (examples) R10=$P_UIFR[$P_UIFRNUM, X, RT] Assign the angle of rotation RT around the X axis from currently valid settable zero offset $P_UIFRNUM to the variable R10. R12=$P_UIFR[25, Z, TR] Assign the offset value TR in Z from the data record of set frame no. 25 to the variable R12. R15=$P_PFRAME[Y, TR] Assign the offset value TR in Y of the current programmable frame to the variable R15. $P_PFRAME[X, TR]=25 Modify the offset value TR in X of the current programmable frame. X25 applies immediately. E xplanation of the commands $P_UIFRNUM T his command automatically establishes the reference to the currently valid settable zero offset. P_UIFR[n, …, …] Specify the frame number n to access the settable frame no. n. S pecify the component to be read or modified: TR TR translation, FI translation fine, RT rotation, SC scale change, FI MI mirroring. RT T he corresponding axis is also specified (see examples). S C M I  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 6-243 6 Frames 11.026.2 Frame variables/assigning values to frames 6 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Function T his feature allows you to access individual data of a frame, e.g. a specific offset value or angle of rotation. You can modify these values or assign them to another variable. Sequence Calling frame B y specifying the system variable $P_UIFRNUM you can access the current zero offset set with $P_UIFR or G54, G55, ... ($P_UIFRNUM contains the number of the currently set frame). A ll other stored settable $P_UIFR frames are called up by specifying the appropriate number $P_UIFR[n]. For predefined frame variables and user-defined frames, specify the name, e.g. $P_IFRAME. C alling data The axis name and the frame component of the value you want to access or modify are written in square brackets, e.g. [X, RT] or [Z, MI].  Siemens AG, 2002. All rights reserved 6-244 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 6 11.02 Frames 6 .2 Frame variables/assigning values to frames 6 8 40D 8 40D 8 10D 8 40Di NCU 571 NCU 572 NCU 573 Linking complete frames A complete frame can be assigned to another frame. Programming (examples) D EF FRAME SETTING1 Assign the values of the user frame SETTING1=CTRANS(X,10) SETTING1 to the current programmable $ P_PFRAME=SETTING1 frame. D EF FRAME SETTING4 T he current programmable frame is S ETTING4=$P_PFRAME stored temporarily and can be recalled. $P_PFRAME=SETTING4 Additional notes Value range for RT rotation Rotation around 1st geometry axis: –180° to +180° Rotation around 2nd geometry axis: –89.999° to +90° Rotation around 3rd geometry axis: –180° to +180° Frame chaining Programming (examples) $P_IFRAME=$P_UIFR[15]:$P_UIFR[16] $P_UIFR[15] contains, for example, data for zero offsets. The data of $P_UIFR[16], e.g. data for rotations, are subsequently processed additively. $P_UIFR[3]=$P_UIFR[4]:$P_UIFR[5] The settable frame 3 is created by chaining the settable frames 4 and 5.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 6-245 6 Frames 11.026.2 Frame variables/assigning values to frames 6 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Function F rame chaining is suitable for the description of Z Yseveral workpieces, arranged on a pallet, which are to be machined in the same process. G54 X Sequence T he frames are chained in the programmed sequence. The frame components (translations, rotations, etc.) are executed additively in succession. T he frame components can only contain intermediate values for the description of pallet tasks. These are chained to generate various workpiece zeroes. P lease note that the frames must be linked to one another by the colon chain operator : .  Siemens AG, 2002. All rights reserved 6-246 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 6 11.02 Frames 6.2 Frame variables/assigning values to frames 6 840D 8 40D 810D 840Di NCU 571 NCU 572 NCU 573 Definition of new frames Programming DEF FRAME PALLET1 PALETT1=CTRANS(…):CROT(…)… Function In addition to the predefined settable frames described above, you also have the option of creating new frames. T his is achieved by creating variables of type FRAME to which you can assign a name of your choice. Sequence You can use the functions CTRANS, CROT, CSCALE and CMIRROR to assign values to your frames in the NC program. You will find more information on this subject on the previous pages. Frame rotation definition Function Frame rotations can be used to define application- specific orientations in the area: • ROT: Individual rotations for all geometry axes • ROTS, AROTS, CROTS: Rotation by specifying a solid angle (max. 2); see description in /FB1/ K2: coordinate systems. • TOFRAME: Rotation by frame "TOFRAME", with Z axis pointing in the tool direction. • TOROT: Rotation by frame "TOROT", which only overwrites the rotation component of frames that have already been programmed.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 6-247 6 Frames 11.026.3 Coarse/fine offset 6 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 6.3 Coarse/fine offset Function Fine offset A fine offset of the base frames and of all other settable frames can be programmed with command CFINE(X, ..,Y, ...). Mirroring Scaling Rotation Coarse offset Fine offset The coarse offset is defined with CTRANS(...). Coarse offset Coarse and fine offset add up to the total offset. Frame structure with fine offset Programming $P_UBFR=CTRANS(x, 10) : CFINE(x, 0.1) : CROT(x, 45) ;chaining offset, fine offset and rotation $P_UIFR[1]=CFINE(x, 0.5, y, 1.0, z, 0.1) ;the total frame is overwritten with CFINE, incl. coarse offset. A ccess to the individual components of the fine offset is achieved through component specification FI. Programming DEF REAL FINEX ;Definition of variable FINEX FINEX=$P_UIFR[$P_UIFRNUM, x, FI] ;Readout the fine offset via variable FINEX F INEX=$P_UIFR[3, X, FI] ;Readout the fine offset of X axis in the 3rd frame via variable FINEX F ine offset can only take place if MD 18600: MM_FRAME_FINE_TRANS=1. A fine offset changed via operator input is only active after the corresponding frame is activated, i.e. activation is conducted via G500, G54...G599. An activated fine offset of a frame is active for as long as the frame is active.  Siemens AG, 2002. All rights reserved 6-248 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 6 11.02 Frames 6.4 DRF offset 6 8 40D 840D 8 10D 8 40Di NCU 571 NCU 572 NCU 573 T he programmable frame has no fine offset. If the programmable frame is assigned a frame with fine offset, then the total offset is established by adding the coarse and the fine offset. When reading the programmable frame the fine offset is always zero. Machine manufacturer S W 5 and higher T he fine offset can be configured by means of MD 18600 MM_FRAME_FINE_TRANS in the following variants: 0: Fine offset cannot be entered or programmed. G58 and G59 are not possible. 1: Fine offset for settable frames, base frames, programmable frames, G58 and G59 can be entered/programmed 6 .4 DRF offset Offset using handwheel, DRF I n addition to all the translations described in this Z BOS section, you can also define zero offsets with the Z handwheel (DRF offset). BCS Y Y BCSBOS The DRF offset acts on the basic coordinate system. See the diagram for the relationships. Base frame You will find more information in the Operator’s X Guide. BOS DRF, external ZO XBCS Clear DRF offset, DRFOF DRFOF clears the handwheel offset for all axes assigned to the channel. DRFOF is programmed in a separate NC block.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 6-249 6 Frames 11.026.5 External zero offset 6 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 6 .5 External zero offset External zero offset Y Y Y Y Y T his is another way of moving the zero point MCS MCS BCS BOS SZS between the basic and workpiece coordinate system. X SZSG54...G599 O nly linear translations can be programmed with the X external zero offset. BOSBasic frame External zero offset P rogramming offset values, $AA_ETRANS DRF offset The offset values are programmed by assigning the XBCS Kinematic transformation axis-specific system variables. X Preset offset MCS Assigning offset value $ AA_ETRANS[axis]=RI RI is the arithmetic variable of type REAL which contains the new value. T he external offset is generally set by the PLC and not specified in the parts program. T he value entered in the parts program only becomes active when the corresponding signal is enabled at the VDI interface (NCU-PLC interface).  Siemens AG, 2002. All rights reserved 6-250 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 6 11.02 Frames 6.6 Programming PRESET offset, PRESETON 6 8 40D 840D 8 10D 840Di NCU 571 NCU 572 NCU 573 6 .6 Programming PRESET offset, PRESETON Programming PRESETON(AXIS,VALUE,…) Explanation of the commands PRESETON Set actual value Axis Machine axis parameter Value New actual value to apply to the specified axis Function YMCS YMCS I n special applications, it can be necessary to assign a new programmed actual value to one or more axes at the current position (stationary). Kinematic transformation Note: Preset mode with synchronized actions should XMCS only be implemented the vocabulary word "WHEN" Preset offset or "EVEREY". Sequence T he actual values are assigned to the machine coordinate system – the values refer to the machine axes. E xample: N 10 G0 A760 N20 PRESETON(A1,60) Axis A travels to position 760. At position 760, machine axis A1 is assigned the new actual value 60. From this point, positioning is performed in the new actual value system. T he reference point becomes invalid with the function PRESETON. You should therefore only use this function for axes which do not require a reference point. If the original system is to be restored, the reference point must be approached with G74 – see Section 3.1.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 6-251 6 Frames 11.026.7 Deactivating frames 6 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 6 .7 Deactivating frames Explanation of the commands D RFOF Deactivate (clear) the handwheel offsets (DRF) G53 N on-modal deactivation of programmable and all settable frames G153 Non-modal deactivation of programmable frames, base frames and all settable frames SUPA Non-modal deactivation of all programmable frames, base frames, all settable frames and handwheel offsets (DRF) Additional notes The programmable frames are cleared by assigning a "zero frame" (without axis specification) to the programmable frame. Example: $P_PFRAME=TRANS( ) $P_PFRAME=ROT( ) $P_PFRAME=SCALE( ) $P_PFRAME=MIRROR( )  Siemens AG, 2002. All rights reserved 6-252 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 6 11.02 Frames 6.8 Frame calculation from 3 measuring points in the area: MEAFRAME 6 840D 840D 810D 8 40Di NCU 571 NCU 572 NCU 573 6 .8 Frame calculation from three measuring points in the area: MEAFRAME M EAFRAME is an extension of the 840D language used for supporting measuring cycles. This function is valid in SW 4.3 and higher. Function When a workpiece is positioned for machining, its position relative to the Cartesian machine coordinate system is generally both shifted and rotated referring to its ideal position. For exact machining or measuring either a costly physical adjustment of the part is required or the motions defined in the parts program must be changed. A frame can be determined by probing three points in the area for which the ideal positions are known. Probing is performed with a tactile or optical sensor touching special holes or spheres that are precisely fixed to the backing plate. T he function MEAFRAME calculates the frame from three ideal and the corresponding measured points. In order to map the measured coordinates onto the ideal coordinates using a rotation and a translation, the triangle formed by the measured points must be congruent to the ideal triangle. This is achieved by means of a compensation algorithm that minimizes the sum of squared deviations needed to reshape the measured triangle into the ideal triangle. Since the effective distortion can be used to judge the quality of the measurement, MEAFRAME returns it as an additional variable.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 6-253 6 Frames 11.026.8 Frame calculation from 3 measuring points in the area: MEAFRAME 6 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Programming MEAFRAME(IDEAL_POINT,MEAS_POINT,FIT_QUALITY) Explanation of the commands MEAFRAME Frame calculation of three measured points in space IDEAL_POINT 2 -dim. array of real data containing the three coordinates of the ideal points MEAS_POINT 2-dim. array of real data containing the three coordinates of the measured points F IT_QUALITY Variable of type real returning the following information: - 1: The ideal points are located approximately on a straight line: The frame could not be calculated. The frame variable returned contains a neutral frame. -2: The measured points are located approximately on a straight line: The frame could not be calculated. The frame variable returned contains a neutral frame. -4: The calculation of the rotation matrix failed for a different reason P ositive value: Sum of the distortions (distances between the points) needed to reshape the measured triangle into one that is congruent to the ideal triangle. Application example ; Parts program 1 ; D EF FRAME CORR_FRAME ; ; Setting measured points DEF REAL IDEAL_POINT[3,3] = SET(10.0,0.0,0.0, 0.0,10.0,0.0, 0.0,0.0,10.0) D EF REAL MEAS_POINT[3,3] = SET(10.1,0.2,-0.2, -0.2,10.2,0.1, -0.2,0.2, 9.8); for test DEF REAL FIT_QUALITY = 0 ; D EF REAL ROT_FRAME_LIMIT = 5; allows max. 5o rotation of the part position DEF REAL FIT_QUALITY_LIMIT = 3; allows max. 3 mm distortion between the ideal; and the measured triangle DEF REAL SHOW_MCS_POS1[3] DEF REAL SHOW_MCS_POS2[3] DEF REAL SHOW_MCS_POS3[3] ; ======================================================= ;  Siemens AG, 2002. All rights reserved 6-254 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 6 11.02 Frames 6.8 Frame calculation from 3 measuring points in the area: MEAFRAME 6 8 40D 8 40D 810D 8 40Di NCU 571 NCU 572 NCU 573 N100 G01 G90 F5000 N110 X0 Y0 Z0 ; N200 CORR_FRAME=MEAFRAME(IDEAL_POINT,MEAS_POINT,FIT_QUALITY) ; N230 IF FIT_QUALITY < 0 SETAL(65000) G OTOF NO_FRAME E NDIF , N240 IF FIT_QUALITY > FIT_QUALITY_LIMIT SETAL(65010) G OTOF NO_FRAME ENDIF ; N250 IF CORR_FRAME[X,RT] > ROT_FRAME_LIMIT; limiting the 1st RPY angle SETAL(65020) G OTOF NO_FRAME ENDIF ; N260 IF CORR_FRAME[Y,RT] > ROT_FRAME_LIMIT; limiting the 2nd RPY angle S ETAL(65021) G OTOF NO_FRAME ENDIF ; N270 IF CORR_FRAME[Z,RT] > ROT_FRAME_LIMIT; limiting the 3rd RPY angle S ETAL(65022) GOTOF NO_FRAME ENDIF ; N300 $P_IFRAME=CORR_FRAME; activate the probe frame via a settable frame ; ; check the frame by positioning the geometry axes at the ideal points ; N400 X=IDEAL_POINT[0,0] Y=IDEAL_POINT[0,1] Z=IDEAL_POINT[0,2] N410 SHOW_MCS_POS1[0]=$AA_IM[X] N420 SHOW_MCS_POS1[1]=$AA_IM[Y] N430 SHOW_MCS_POS1[2]=$AA_IM[Z] ; N500 X=IDEAL_POINT[1,0] Y=IDEAL_POINT[1,1] Z=IDEAL_POINT[1,2] N510 SHOW_MCS_POS2[0]=$AA_IM[X] N520 SHOW_MCS_POS2[1]=$AA_IM[Y] N530 SHOW_MCS_POS2[2]=$AA_IM[Z] ; N600 X=IDEAL_POINT[2,0] Y=IDEAL_POINT[2,1] Z=IDEAL_POINT[2,2] N610 SHOW_MCS_POS3[0]=$AA_IM[X] N620 SHOW_MCS_POS3[1]=$AA_IM[Y] N 630 SHOW_MCS_POS3[2]=$AA_IM[Z] ;  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 6-255 6 Frames 11.026.9 NCU-global frames (SW 5 and higher) 6 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 N 700 G500; Deactivate settable frame, as preset with zero frame (no value set) ; N O_FRAME: M0 M30 6.9 NCU-global frames (SW 5 and higher) Function NCU-global frames are only available once for all channels of each NCU. NCU-global frames can be written and read from all channels. The NCU-global frames are activated in the respective channel. C hannel axes and machine axes with offsets can be scaled and mirrored by means of global frames. W ith global frames there is no geometrical relationship between the axes. Therefore, it is not possible to perform rotations or program geometry axis identifiers. • It is not possible to use global frames for rotations. Programming a rotation is refused and alarm: "18310 channel %1 block %2 frame: rotation not allowed" is displayed. • Chaining of global frames and channel-specific frames is possible. The resulting frame contains all frame elements including rotations for all axes. If a frame with rotation elements is assigned to a global frame, it is rejected and alarm "Frame: rotation not allowed" is displayed. NCU-global base frames: $P_NCBFR[n] You can configure up to 8 NCU-global basic frames.  Siemens AG, 2002. All rights reserved 6-256 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 6 11.02 Frames 6.9 NCU-global frames (SW 5 and higher) 6 8 40D 8 40D 810D 840Di NCU 571 NCU 572 NCU 573 Machine manufacturer The number of global base frames is configured via machine data. (See /FB/ K2, Axes, Coordinate Systems, Frames) Channel-specific base frames can be present at the same time. G lobal frames can be written and read from all channels of an NCU. When writing global frames, the user must pay attention to channel coordination, for example, by using Wait marks (WAITMC). NCU-global settable frames: $P_UIFR[n] All settable frames G500, G54...G599 can be configured either NCU-global or channel-specific. Machine manufacturer A ll settable frames can be reconfigured as global frames via MD 18601 MM_NUM_GLOBAL_USER_FRAMES. See /FB/ K2, Axes, Coordinate Systems, Frames. C hannel axis identifiers and machine axis identifiers can be used as axis identifiers for the frame program commands. Programming of geometry identifiers is rejected with an alarm. 6.9.1 Channel-specific frames Function T he number of base frames can be configured in the channel via MD 28081 MM_NUM_BASE_FRAMES. The standard configuration provides at least one base frame per channel. A maximum of eight base frames are supported per channel. In addition to the eight base frames, there can also be eight NCU-global base frames in the channel.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 6-257 6 Frames 11.026.9 NCU-global frames (SW 5 and higher) 6 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 S ettable frames/base frames can be written and read from the control and the PLC • via the parts program and • via the OPI. Fine offset is also possible for global frames. Suppression of global frames also takes place, as is the case with channel-specific frames, via G53, G153, SUPA and G500. $P_CHBFR[n] The base frames can be read and written via system variable $P_CHBFR[n]. When writing a base frame, the chained total base frame is not activated; it is only activated when the G500, G54..G599 instruction is executed. The variable mainly serves as memory for writing processes to the MMC and PLC base frame. These frame variables are saved by data backup. First basic frame in the channel Writing to a predefined variable $P_UBFR will not activate the basic frame with array index 0 simultaneously, but it will be activated only after a G500, G54..G599 command is executed. The variable can also be written and read in the program. $P_UBFR $P_UBFR is identical to $P_CHBFR[0]. As standard, there is always a base frame in the channel making the system variable compatible with older versions. If there is no channel-specific base frame, an alarm is issued at read/write: "Frame: instruction not permissible".  Siemens AG, 2002. All rights reserved 6-258 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 6 11.02 Frames 6.9 NCU-global frames (SW 5 and higher) 6 8 40D 840D 8 10D 840Di NCU 571 NCU 572 NCU 573 6.9.2 Frames active in the channel Function SW 6.1 and higher Current system frames for $P_PARTFRAME TCARR and PAROT $P_SETFRAME preset actual value memory and scratching, $P_EXTFRAME zero offset external, You can read and write the current system frame in the parts program via these system variables. $P_NCBFRAME[n] Current NCU-global basic frames You can read and write the current global basic frame field elements via system variable $P_NCBFRAME[n]. The resulting total base frame is calculated by means of the write process in the channel. The modified frame is only active in the channel in which the frame was programmed. If the frame is to be changed for all channels of an NCU, both [n] and $P_NCBFRAME[n] have to be programmed. The other channels must then still activate the frame with, for example, G54. When writing a base frame, the total base frame is calculated again. $P_CHBFRAME[n] Current channel basic frames You can read and write the current channel basic frame field elements via system variable $P_CHBFRAME[n]. The resulting total base frame is calculated by means of the write process in the channel. When writing a base frame, the total base frame is calculated again.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 6-259 6 Frames 11.026.9 NCU-global frames (SW 5 and higher) 6 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 $P_BFRAME Current first basic frame in the channel You can read and write the current basic frame with array index 0, which applies for the channel, in the parts program via the predefined frame variable $P_BFRAME. The written basic frame is immediately included in the calculation. $P_BFRAME is identical to $P_CHBFRAME[0]. The default is for the system variable to always have a valid value. If there is no channel-specific base frame, an alarm is issued at read/write: "Frame: instruction not permissible". $P_ACTBFRAME Total basic frame Variable $P_ACTBFRAME determines the chained total basic frame. The variable can only be read. $P_ACTBFRAME corresponds to $P_NCBFRAME[0] : ... : $P_NCBFRAME[n] : $P_CHBFRAME[0] : ... : $P_CHBFRAME[n]. Y BCS Y Y BOS $P_ACTBFRAME BOS X BOS $P_CHBFRAME[n], n programmable via $MC_MM_NUM_BASE_FRAMES $P_CHBFRAME[0] = $P_BFRAME $P_NCBFRAME[n], n programmable via $MN_MM_NUM_GLOBAL_BASE_FRAMES X $P_NCBFRAME[0] X BCS BOS = Basic origin system BCS BCS = Basic coordinate system $P-ACTBFRAME = $P_NCBFRAME[0] : $P_NCBFRAME[n] : $P_CHBFRAME[0] : $P_CHBFRAME[n] $P_CHBFRMASK and $P_NCBFRMASK Total basic frame Via system variables $P_CHBFRMASK and $P_NCBFRMASK, the user can select the basic frames to be included in the calculation of the "total" basic frame. The variables can only be programmed in the program and read via OPI. The value of the variable is interpreted as bit mask and determines which base frame field element of $P_ACTBFAME is included in the calculation.  Siemens AG, 2002. All rights reserved 6-260 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 6 11.02 Frames 6.9 NCU-global frames (SW 5 and higher) 6 840D 8 40D 8 10D 840Di NCU 571 NCU 572 NCU 573 You can specify with $P_CHBFRMASK which channel- specific base frames, and with $P_NCBFRMASK which NCU-global base frames, are to be included in the calculation. By programming the variables the total base frame and the total frame are calculated again. After a Reset is performed, the basic setting value is $P_CHBFRMASK = $MC_CHBFRAME_RESET_MASK and $P_NCBFRMASK = $MN_NCBFRAME_RESET_MASK. e.g. $P_NCBFRMASK = 'H81' ; $P_NCBFRAME[0] : $P_NCBFRAME[7] $P_CHBFRMASK = 'H11' ; $P_CHBFRAME[0] : $P_CHBFRAME[4] $P_IFRAME Current settable frame You can read and write the current settable frame, which applies in the channel, in the parts program via the predefined frame variable $P_IFRAME. The written settable frame is immediately included in the calculation. With NCU-global settable frames, the modified frame is only active in the channel in which the frame was programmed. If the frame is to be changed for all channels of an NCU, both $P_UIFR[n] and $P_IFRAME have to be programmed. The other channels must then still activate the respective frame with, for example, G54. SW 6.1 and higher Current system frames for $P_TOOLFRAME TOROT and TOFRAME SW 6.3 and higher $P_WPFRAME Workpiece reference points You can read and write the current system frame in the parts program via these system variables.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 6-261 6 Frames 11.026.9 NCU-global frames (SW 5 and higher) 6 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 $P_PFRAME Current programmable frame $P_PFRAME is the programmable frame which results from programming TRANS/ATRANS, G58/G59, ROT/AROT, SCALE/ASCALE, MIRROR/AMIRROR or from assigning CTRANS, CROT, CMIRROR, CSCALE to the programmable frame. Current, programmable frame variable that establishes the reference between the settable zero system (SZS) and the workpiece coordinate system (WCS). SW 6.3 and higher Current system frame for $P_CYCFRAME Cycles You can read and write the current system frame in the parts program via this system variable. $P_ACTFRAME Current total frame The current resulting total frame $P_ACTFRAME now results from chaining all basic frames, the current settable frame and the programmable frame. The current frame is always updated if a frame element is modified. SW 6.3 and higher, $P_ACTFRAME corresponds to $P_SETFRAME : $P_EXTFRAME : $P_PARTFRAME : $P_ACTBFRAME : $P_IFRAME : $P_TOOLFRAME : $P_WPFRAME : $P_PFRAME : $P_CYCFRAME SW 6.4 and higher, $P_ACTFRAME corresponds to $P_PARTFRAME : $P_SETFRAME : $P_EXTFRAME: $P_ACTBFRAME : $P_IFRAME : $P_TOOLFRAME : $P_WPFRAME : $P_PFRAME : $P_CYCFRAME  Siemens AG, 2002. All rights reserved 6-262 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 6 11.02 Frames 6.9 NCU-global frames (SW 5 and higher) 6 8 40D 8 40D 810D 8 40Di NCU 571 NCU 572 NCU 573 Data management frames Input via program, e.g. Input via program, e.g. $P_CHBFR=CTRANS(Z,10) $P_NCBFR=CTRANS(X,10) $P_UIFR[n]=CTRANS(X,10) Channel-specific Input Input system frames $P_CYCTFR via MMC via MMC $P_WPFR $P_TOOLFR $P_PARTFR $P_CHBFR[n] $P_NCBFR[n] $P_EXTFR Channel-specific NCU-global $P_SETFR $P_UIFR[n] NCU basic frames : frames Activated via Activated via G500, G54...G599 G500, G54...G599 Active total frame $P_ACTFRAME = $P_PARTFRAM : $P_SETFRAME : : $P_EXTFRAME : $P_ACTRAME : Input via program, e.g. $P_NCBFRAME[1]=CTRANS(X,10) $P_IFRAME : $P_TOOLFR :AME : : $P_WPF R A : ME : $P_PFRAME : $P_CYCFRAME Input via program, e.g. Input via program, e.g. $P_PFRAME=CTRANS(X,10) $P_IFRAME=CTRANS(X,10) bzw. TRANS X10 Frame chaining The current frame consists of the total basic frame, the settable frame, the system frame and the programmable frame according to the current total frame mentioned above. Frame chain WCS Frame for cycles, programmable frame SZS System frame for TOROT (TOFRAME), workpieces G54 ... G599 settable frame, channel-specific or NCU-global BZS Chained filed of basic frames, channel-specific of NCU-global Chained system frames for actual value setting, scratching, external zero offset, PAROT Handwheel (DRF) offset, override motion, [external zero offset] BCS Kinematic transformation MCS Reference point offset MCS = Machine Coordniate System BCS = Basic Coordinate System WCS = Workpiece Coordinate System BZS = Basic Zero System SZS = Settable Zero System   Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 6-263 6 Frames 11.026.9 NCU-global frames (SW 5 and higher) 6 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573  Siemens AG, 2002. All rights reserved 6-264 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7 11.02 Transformations 7 Transformations 7.1 Three, four and five axis transformation: TRAORI........................................................ 7-266 7.1.1 Programming tool orientation ................................................................................. 7-269 7.1.2 Orientation axes reference – ORIWCS, ORIMCS .................................................. 7-274 7.1.3 Singular positions and how to handle them ............................................................ 7-275 7.1.4 Orientation axes (SW 5.2 and higher)..................................................................... 7-276 7.1.5 Cartesian PTP travel (from SW 5.2) ....................................................................... 7-279 7.1.6 Online tool length compensation (SW 6.4 and higher) ........................................... 7-284 7.2 Milling turned parts: TRANSMIT ................................................................................... 7-287 7.3 Cylinder surface transformation: TRACYL.................................................................... 7-290 7.4 Inclined axis: TRAANG ................................................................................................. 7-296 7.4.1 Inclined axis programming: G05, G07 (SW 5.3 and higher) ................................... 7-300 7.5 Constraints when selecting a transformation ................................................................ 7-302 7.6 Deselect transformation: TRAFOOF............................................................................. 7-304 7.7 Chained transformations ............................................................................................... 7-305 7.8 Switchable geometry axes, GEOAX.............................................................................. 7-308  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7-265 7 Transformations 11.027.1 Three, four and five axis transformation: TRAORI 7 840D 840Di NCU 572 NCU 573 7.1 Three, four and five axis transformation: TRAORI To obtain optimum cutting conditions when Tool axis machining surfaces with a three-dimensional curve, it must be possible to vary the setting angle of the tool. The machine design to achieve this is stored in the axis data. Cardanic tool head Three linear axes (X, Y, Z) and two orientation axes define the setting angle and the operating point of the tool here. One of the two orientation axes is created as an inclined axis, in our example A' - in many cases, placed at 45°. ϕ The axis sequence of the orientation axes and the orientation direction of the tool are set up via the , A machine data subject to the machine kinematics. In Z Y the examples shown here, you can see the C arrangements in the CA machine kinematics X example! Cardanic tool head, version 1  Siemens AG, 2002. All rights reserved 7-266 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7 11.02 Transformations7.1 Three, four and five axis transformation: TRAORI 7 840D 840Di NCU 572 NCU 573 There are the following possible relationships: A' is below angle ϕ to the X axis B' is below angle ϕ to the Y axis C' is below angle ϕ to the Z axis Angle ϕ can be configured in the range 0° to +89° , A via machine data. C Depending on the orientation direction selected for the tool, the active working plane (G17, G18, G19) ϕ must be set in the NC program in such a way that tool length compensation works in the direction of tool orientation. Cardanic tool head, version 2 Transformation with a swiveling linear axis This is an arrangement with a moving workpiece and a moving tool. Z The kinematics consists of three linear axes (X, Y, Z) and two orthogonally arranged rotary axes. A The first rotary axis is moved, for example, over a compound slide of two linear axes, the tool standing B Y parallel to the third linear axis. The second rotary axis turns the workpiece. The third linear axis (swivel axis) lies in the X compound slide plane. The axis sequence of the rotary axes and the orientation direction of the tool are set up via the machine data subject to the machine kinematics. There are the following possible relationships: Axes: Axis sequences: 1st rotary axis A A B B C C 2nd rotary axis B C A C A B Swiveled linear axis Z Y Z X Y X  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7-267 7 Transformations 11.027.1 Three, four and five axis transformation: TRAORI 7 840D 840Di NCU 572 NCU 573 3-axis and 4-axis transformations 3-axis and 4-axis transformations are special forms of 5-axis transformations. The user can configure two or three translatory axes and one rotary axis. The transformations assume that the rotary axis is orthogonal on the orientation plane. Tool orientation is only possible in the plane that is perpendicular to the rotary axis. Transformation supports machine types with a mobile tool and a mobile workpiece. Configuration and programming for 3-axis and 4-axis transformations are the same as for 5-axis transformations. Programming TRAORI(n) TRAFOOF Explanation of the commands TRAORI Activates the first specified orientation transformation TRAORI(n) Activates the orientation transformation specified by n n The number of the transformation (n = 1 or 2), TRAORI(1) corresponds to TRAORI TRAFOOF Disable transformation Additional notes When the transformation is enabled, the positional data (X, Y, Z) always relates to the tip of the tool. Changing the position of the rotary axes involved in the transformation causes so many compensating movements of the remaining machine axes that the position of the tool tip is unchanged.  Siemens AG, 2002. All rights reserved 7-268 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7 11.02 Transformations7.1 Three, four and five axis transformation: TRAORI 7 840D 840Di NCU 572 NCU 573 7.1.1 Programming tool orientation 5-axis programs are usually generated by CAD/CAM systems and not entered at the control. So the following explanations are directed mainly at the programmers of postprocessors. There are three options available when programming tool orientation: 1. Programming the motion of the rotary axes. The change of orientation always occurs in the basic or machine coordinate system. The orientation axes are traversed as synchronized axes. 2. Programming in Euler angles or RPY angles via A2, B2, C2 or Programming the direction vector via A3, B3, C3. The direction vector points from the tool tip towards the toolholder. 3. Programming via the lead angle LEAD and the tilt angle TILT (face milling). In all cases, orientation programming is only permissible if an orientation transformation is active. Without 5-axis transformation With 5-axis transformation Advantage: These programs can be transferred to any machine kinematics.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7-269 7 Transformations 11.027.1 Three, four and five axis transformation: TRAORI 7 840D 840Di NCU 572 NCU 573 Programming G1 X Y Z A B C Programming the motion of the rotary axes. G1 X Y Z A2= B2= C2= Programming in Euler angles G1 X Y Z A3= B3= C3= Programming the direction vector G1 X Y Z A4= B4= C4= Programming the surface normal vector at block start G1 X Y Z A5= B5= C5= Programming the surface normal vector at end of block LEAD Lead angle for programming tool orientation TILT Tilt angle for programming tool orientation Machine data can be used to switch between Euler and RPY angles. Programming in Euler angles Z Z The values programmed during orientation Z Y Z X programming with A2, B2, C2 are interpreted as Y Euler angles (in degrees). X YY With A2 = 90° The orientation vector results from turning a rotating around vector in the Z direction firstly with A2 around the the Z axis X Basic setting X Z axis, then with B2 around the new X axis and lastly Z with C2 around the new Z axis. Y Z X B2 In this case the value of C2 (rotation around the new Y With B2 = 45° Z axis) is meaningless and does not have to be rotating aroundrotating X axis programmed. X Y  Siemens AG, 2002. All rights reserved 7-270 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7 11.02 Transformations7.1 Three, four and five axis transformation: TRAORI 7 840D 840Di NCU 572 NCU 573 Programming in RPY angles Z Z The values programmed during orientation Z Z Y programming with A2, B2, C2 are interpreted as X RPY angles (in degrees). X Y B2 The orientation vector results from turning a vector in C2 Y the Z direction firstly with C2 around the Z axis, then X Basic setting with B2 around the new Y axis and lastly with A2 X YZ Z Y around the new X axis. With C2 = 90° rotating around X the Z axis In contrast to Euler angle programming, A2 with B2 = +45° all three values here have an effect on the With A2 = 30° rotating around rotating around rotating Y axis orientation vector the rotating X axis X Y Programming the direction vector Z The components of the direction vector are programmed with A3, B3, C3. The vector points towards the toolholder; the length of the vector is meaningless. Vector components that have not been programmed Direction vector are set equal to zero. C3 =... X Y B3 =... A3 =...  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7-271 7 Transformations 11.027.1 Three, four and five axis transformation: TRAORI 7 840D 840Di NCU 572 NCU 573 Face milling Face milling is used to machine curved surfaces of any kind. For this type of 3D milling, you require line-by-line definition of 3D paths on the workpiece surface. The tool shape and dimensions are taken into account in the calculations that are normally performed in CAM. The fully calculated NC blocks are then read into the control via postprocessors. Surface description The path curvature is described by surface normal vectors with the following components: A4, B4, C4 start vector at block start A5, B5, C5 end vector at block end If a block only contains the start vector, the surface normal vector will remain constant throughout the block. A4 If a block only contains the end vector, interpolation B4 C4 A5 will run from the end value of the previous block via B5 large circle interpolation to the programmed end C5 value. If both start and end vectors are programmed, interpolation runs between the two directions, also via large circle interpolation. This allows continuously smooth paths to be be created. In the initial setting, surface normal vectors – whatever the active G17 to G19 level – point in the Z direction. The length of a vector is meaningless. Vector components that have not been programmed are set to zero.  Siemens AG, 2002. All rights reserved 7-272 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7 11.02 Transformations7.1 Three, four and five axis transformation: TRAORI 7 840D 840Di NCU 572 NCU 573 With active ORIWCS (see following pages), the surface normal vectors relate to the active frame and also turn when the frame is turned. The surface normal vector must be perpendicular to the path tangent, within a limit value set via machine data, otherwise an alarm will be output. Programming the tool orientation with LEAD and TILT TILT The resultant tool orientation is determined from: − the path tangent, − the surface normal vector LEAD − the lead angle LEAD − the tilt angle TILT at end of block. Explanation of the commands LEAD Angle relative to the surface normal vector in the plane put up by the path tangent and the surface normal vector TILT Angle in the plane, perpendicular to the path tangent relative to the surface normal vector Behavior at inside corners (for 3D-tool compensation) If the block at an inside corner is shortened, the resultant tool orientation is also achieved at end of block.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7-273 7 Transformations 11.027.1 Three, four and five axis transformation: TRAORI 7 840D 840Di NCU 572 NCU 573 7.1.2 Orientation axes reference – ORIWCS, ORIMCS Programming N.. ORIMCS or N.. ORIWCS Explanation of the commands ORIMCS Rotation in the machine coordinate system ORIWCS Rotation in the workpiece coordinate system Function With orientation programming in the workpiece coordinate system via Euler or RPY angles or the orientation vector, ORIMCS/ORIWCS can be used to adjust the course of the rotary motion. Sequence With ORIMCS, the movement executed by the tool is dependent on the machine kinematics. With an orientation change with a fixed tool tip, interpolation between the rotary axis positions is linear. With ORIWCS, the tool movement is not dependent on the machine kinematics. With an orientation Plane created from starting and end change with a fixed tool tip, the tool moves in the vectors plane set up by the start and end vectors. Vector at beginning of block Vector at end of block  Siemens AG, 2002. All rights reserved 7-274 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7 11.02 Transformations7.1 Three, four and five axis transformation: TRAORI 7 840D 840Di NCU 572 NCU 573 Additional notes ORIWCS is the basic setting. If it is not immediately obvious with a 5-axis program which machine it should run on, always choose ORIWCS. Which movements the machine actually executes depend on the machine kinematics. With ORIMCS, you can program actual machine movements, for example, to avoid collisions with devices, etc. Machine data $MC_ORI_IPO_WITH_G_CODE specifies the active interpolation mode: ORIMCS/ORIWCS or ORIMACHAX/ORIVIRTAX (see Subsection 7.1.4). 7.1.3 Singular positions and how to handle them Notes on ORIWCS: Orientation movements in the singular setting area of the 5-axis machine require vast movements of the machine axes. (For example, with a rotary swivel head with C as the rotary axis and A as the swivel axis, all positions with A = 0 are singular.) To avoid overloading the machine axes, the velocity control vastly reduces the tool path velocity near the singular positions. With machine data $MC_TRAFO5_NON_POLE_LIMIT $MC_TRAFO5_POLE_LIMIT the transformation can be parameterized in such a way that orientation movements close to the pole are put through the pole and rapid machining is possible. Note on SW 5.2: As from SW5.2, singular positions will only be handled by MD $MC_TRAFO5_POLE_LIMIT (see Description of Functions Part 3, Sub- section 2.8.4).  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7-275 7 Transformations 11.027.1 Three, four and five axis transformation: TRAORI 7 840D 840Di NCU 572 NCU 573 7.1.4 Orientation axes (SW 5.2 and higher) Programming N.. ORIEULER or ORIRPY or N.. ORIVIRT1 or ORIVIRT2 N.. G1 X Y Z A2= B2= C2= Explanation of the commands ORIEULER Orientation programming using Euler angles ORIRPY Orientation programming using RPY angles ORIVIRT1 Orientation programming using virtual orientation axes (definition 1), definition according to MD $MC_ORIAX_TURN_TAB_1 ORIVIRT2 Orientation programming using virtual orientation axes (definition 2), definition according to MD $MC_ORIAX_TURN_TAB_2 G1 X Y Z A2= B2= C2= Angle programming of virtual axes Programming N.. ORIAXES or ORIVECT N.. G1 X Y Z A B C Explanation of the commands ORIAXES Linear interpolation of orientation axes ORIVECT Large circle interpolation ORIMCS Rotation in the machine coordinate system For description, see Subsection 7.1.2 ORIWCS Rotation in the workpiece coordinate system For description, see Subsection 7.1.2 G1 X Y Z A B C Programming the machine axis position Function The orientation axis function describes the orientation of the tool in space. This introduces an additional third degree of freedom that describes the rotation around itself. This is necessary for 6-axis transformations.  Siemens AG, 2002. All rights reserved 7-276 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7 11.02 Transformations7.1 Three, four and five axis transformation: TRAORI 7 840D 840Di NCU 572 NCU 573 MD $MC_ORI_DEF_WITH_G_CODE specifies how the programmed angles A2, B2, C2 are defined: The definition is made according to MD $MC_ORIENTATION_IS_EULER (default) or the definition is made according to G_group 50 (ORIEULER, ORIRPY, ORIVIRT1, ORIVIRT2). MD $MC_ORI_IPO_WITH_G_CODE specifies which interpolation mode is active: ORIWCS/ORIMCS or ORIAXES/ORIVECT. JOG mode Interpolation for orientation angles in this mode of operation is always linear. During continuous and incremental traversal via the traversing keys, only one orientation axis can be traversed. Orientation axes can be traversed simultaneously using the handwheels. For manual travel of the orientation axes, the channel-specific feed override switch or the rapid traverse override switch work at rapid traverse override. A separate velocity setting is possible with the following machine data: $MC_JOG_VELO_RAPID_GEO $MC_JOG_VELO_GEO $MC_JOG_VELO_RAPID_ORI $MC_JOG_VELO_ORI SW 6.3 and higher In JOG mode, the cartesian manual travel function can, for SINUMERIK 840D with the "Handling transformation package" and for Sinumerik 810D powerline from SW 6.1 set up separately the translation of the geometry axes in the reference systems MCS, WCS and TCS. Reference notes: SINUMERIK 840D/FM-NC Description of Functions (Part 3), "Handling transformation package". /FB/ F2, 3-axis to 5-axis transformations  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7-277 7 Transformations 11.027.1 Three, four and five axis transformation: TRAORI 7 840D 840Di NCU 572 NCU 573 Feed programming FORI1 Feed for swiveling the orientation vector on the large circle FORI2 Feed for the overlaid rotation around the swiveled orientation vector With orientation movements, the programmable feed corresponds to an angular velocity [degrees/min]. Effectiveness of the feed via G code: When programming ORIAXES, the feed for an orientation axis can be limited via the FL[ ] instruction (feed limit). When programming ORIVECT, the feed must be programmed with FORI1 or FORI2. FORI1 and FORI2 must only be programmed once in the NC block. Traversal always takes the shortest path during this programming. The smallest feed always operates for the overlaid motion of turning and swiveling. With orientation movements, the feed corresponds to an angular velocity [degrees/min]. If geometry axes and orientation axes traverse a common path, the traversing movement is determined from the smallest feed.  Siemens AG, 2002. All rights reserved 7-278 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7 11.02 Transformations7.1 Three, four and five axis transformation: TRAORI 7 840D 840Di NCU 572 NCU 573 7.1.5 Cartesian PTP travel (from SW 5.2) Programming N.. TRAORI N.. STAT=`B10` TU=`B100` PTP N.. CP Explanation of the commands PTP Point to Point (point to point movement) The movement is executed as a synchronized axis movement; the slowest axis involved in the movement is the dominating axis for the velocity. CP Continuous path (path motion) The movement is executed as cartesian path motion STAT= Position of the articulated joints; this value is dependent on the transformation. TU= TURN information This makes it possible to clearly approach axis angles between -360 degrees and +360 degrees. Function This function can be used to program a position in a cartesian coordinate system, however, the movement of the machine occurs in the machine coordinates. The function can be used, for example, when changing the position of the articulated joint, if the movement runs through a singularity. Note: The function is only useful in conjunction with an active transformation. Furthermore, "PTP travel" is only permissible in conjunction with G0 and G1. Sequence The commands PTP and CP effect the changeover between cartesian traversal and traversing the machine axes. These are modal. CP is the default setting.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7-279 7 Transformations 11.027.1 Three, four and five axis transformation: TRAORI 7 840D 840Di NCU 572 NCU 573 Programming the position (STAT=) A machine position is not uniquely determined just by positional data with cartesian coordinates and the orientation of the tool. Depending on the kinematics involved, there can by as many as eight different and crucial articulated joint positions. These are specific to the transformation. To be able to uniquely convert a cartesian position into the axis angle, the position of the articulated joints must be specified with the command STAT=. The "STAT" command contains a bit for each of the possible positions as a binary value. Reference notes: The various transformations are included in the document: SINUMERIK 840D/FM-NC Description of Functions (Part 3), "Handling transformation package". The positional bits to be programmed for "STAT" are included in the document: SINUMERIK 840D/FM-NC Description of Functions (Part 3), "3-axis to 5-axis transformation". Programming the axis angle (TU=) To be able to clearly approach by axis angles < ±360 degrees, this information must be programmed using the command "TU=". The command is non-modal. The axes traverse by the shortest path: • when no TU is programmed for a position • with axes that have a traversing range > ±360 degrees  Siemens AG, 2002. All rights reserved 7-280 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7 11.02 Transformations7.1 Three, four and five axis transformation: TRAORI 7 840D 840Di NCU 572 NCU 573 S tarting position Example: T he target position shown in the diagram can be approached in the negative or positive direction. The negative direction is programmed under the address A1. direction positive A 1=225°, TU=bit 0, → positive direction direction A1=−135°, TU=bit 1, → negative direction Target position Smoothing between CP and PTP motion A programmable transition rounding between the blocks is possible with G641. T he size of the rounding area is the path in mm or inch, from which or to which the block transition is to be rounded. The size must be specified as follows: • for G0 blocks with ADISPOS • for all the other motion commands with ADIS. T he path calculation corresponds to considering of the F addresses for non-G0 blocks. The feed is kept to the axes specified in FGROUP(..). F eed calculation: F or CP blocks, the cartesian axes of the basic coordinate system are used for the calculation. For PTP blocks, the corresponding axes of the machine coordinate system are used for the calculation.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7-281 7 Transformations 11.027.1 Three, four and five axis transformation: TRAORI 7 840D 840Di NCU 572 NCU 573 Additional notes Mode change The "Cartesian PTP travel" function is only useful in the AUTO and MDA modes of operation. When changing the mode to JOG, the current setting is retained. When the G code PTP is set, the axes will traverse in MCS. When the G code CP is set, the axes will traverse in WCS. P ower On / Reset After a power ON or after a Reset, the setting is dependent on the machine data $MC_GCODE_RESET_VALUES[48]. The default traversal mode setting is "CP". Repositioning I f the function "Cartesian PTP travel" was set during the interruption block, PTP can also be used for repositioning. O verlaid movements DRF offset or external zero offset are only possible to a limited extent in cartesian PTP travel. When changing from PTP to CP motion, there must be no overrides in the BCS.  Siemens AG, 2002. All rights reserved 7-282 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7 11.02 Transformations7.1 Three, four and five axis transformation: TRAORI 7 840D 840Di NCU 572 NCU 573 Programming example Elbow up A1 Y1 Z1 Elbow down X1 N10 G0 X0 Y-30 Z60 A-30 F10000 S tarting position → Elbow up N20 TRAORI(1) Transformation ON N30 X1000 Y0 Z400 A0 N40 X1000 Z500 A0 STAT=´B10´ TU=´B100´ PTP R eorientation without transformation → Elbow down N 50 X1200 Z400 CP Transformation active again N60 X1000 Z500 A20 N70 M30  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7-283 7 Transformations 11.027.1 Three, four and five axis transformation: TRAORI 7 840D 840Di NCU 572 NCU 573 7.1.6 Online tool length compensation (SW 6.4 and higher) Programming N.. TRAORI N.. TOFFON(X,25) N.. WHEN TRUE DO $AA_TOFF[X] Explanation of the commands TOFFON Tool Offset ON (activate online tool length compensation) When activating, an offset value can be specified for the relevant direction of compensation and this is immediately recovered. TOFFOF Tool Offset OF (reset online tool length compensation) The relevant compensation values are reset and a preprocessing stop is initiated. X, Y, Z, Direction of compensation for the specified offset value Function Use the system variable $AA_TOFF[ ] to overlay the effective tool lengths in accordance with the three tool directions three-dimensionally in real time. The three geometry axis identifiers are used as the index. This defines the number of active directions of compensation by the geometry axes active at the same time. All the overrides can be active simultaneously. Application T he online tool length compensation function can be used for: • orientation transformation TRAORI • orientable toolholder TCARR Note: Online tool length compensation is an option, that first has to be enabled. This function is only useful in conjunction with an active orientation transformation or an active orientable toolholder.  Siemens AG, 2002. All rights reserved 7-284 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7 11.02 Transformations7.1 Three, four and five axis transformation: TRAORI 7 840D 840Di NCU 572 NCU 573 Additional notes Block preparation During block preparation in preprocessing, the current tool length offset active in the main run is also taken into consideration. To allow extensive use to be made of the maximum permissible axis velocity, it is necessary to stop block preparation with a STOPRE preprocessing stop while a tool offset is set up. T he tool offset is then always known at the time of preprocessing if tool length compensations can no longer be changed after program startup, or if, following a change to the tool length compensations, more blocks were executed than the IPO buffer between preprocessing and main run can accept. V ariable $AA_TOFF_PREP_DIFF T he size of the difference between the current compensation active in the interpolator and the compensation active at the time the block was prepared, can be queried in the $AA_TOFF_PREP_DIFF[ ] variable. Adjusting machine data and setting data The following machine data is available for online tool length compensation: • MD 20610: ADD_MOVE_ACCEL_RESERVE Reserve for velocity planning • MD 21190: TOFF_MODE The content of the system variable $AA_TOFF[ ] is recovered or integrated as an absolute value. • MD 21194: TOFF_VELO Velocity of the online tool length compensation • MD 21196: TOFF_ACCEL Acceleration of the online tool length compensation Setting data for presetting limit values • SD 42970: TOFF_LIMIT Upper limit of the tool length compensation value  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7-285 7 Transformations 11.027.1 Three, four and five axis transformation: TRAORI 7 840D 840Di NCU 572 NCU 573 Programming example T ool length compensation selection MD 21190: TOFF_MODE =1 ; Absolute values are approached MD 21194: TOFF_VELO[0] =1000 M D 21196: TOFF_VELO[1] =1000 M D 21194: TOFF_VELO[2] =1000 MD 21196: TOFF_ACCEL[0] =1 MD 21196: TOFF_ACCEL[1] =1 MD 21196: TOFF_ACCEL[2] =1 N 5 DEF REAL XOFFSET N10 TRAORI(1) ; Transformation ON N 20 TOFFON(Z) ; Activation of online tool length offset ; for the Z tool direction N30 WHEN TRUE DO $AA_TOFF[Z] = 10 ; For the Z tool direction, a tool length G4 F5 ; offset of 10 is interpolated . .. N40 TOFFON(X) ; Activation of online tool length offset ; for the X tool direction N50 ID=1 DO $AA_TOFF[X] = $AA_IW[X2] ; For the X tool direction, an offset is G4 F5 ; executed subject to the position of axis ; X2 . .. N100 XOFFSET = $AA_TOFF_VAL[X] ; Assign current offset in X direction N120 TOFFON(X, -XOFFSET) ; For the X tool direction, the tool length G4 F5 ; offset will be returned to 0 again Tool length compensation deselection N10 TRAORI(1) ; Transformation ON N20 TOFFON(X) ; Activating the Z tool direction N 30 WHEN TRUE DO $AA_TOFF[X] = 10 ; For the X tool direction, a tool length G4 F5 ; offset of 10 is interpolated ... N80 TOFFOF(X) ; Positional offset of the X tool direction ; is deleted: ...$AA_TOFF[X] = 0 ; No axis is traversed ; To the current position in WCS, the ; positional offset is added in accordance ; with the current orientation References /FB/ F2, 3-axis to 5-axis transformations  Siemens AG, 2002. All rights reserved 7-286 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7 11.02 Transformations 7.2 Milling turned parts: TRANSMIT 7 840D 840D 810D 8 40Di NCU 571 NCU 572 NCU 573 7 .2 Milling turned parts: TRANSMIT Programming TRANSMIT or TRANSMIT(n) TRAFOOF Explanation of the commands T RANSMIT Activates the first specified Transmit function T RANSMIT(n) Activates the n-th specified Transmit function; the maximum for n is 2 (TRANSMIT(1) corresponds to TRANSMIT). TRAFOOF Disables an active transformation A n active TRANSMIT transformation is also disabled if one of the remaining transformations is activated in the particular channel (e.g. TRACYL, TRAANG, TRAORI). T he TRANSMIT function facilitates the following performance: • Machining the end face of turned parts clamped for turning (holes, contours). • A cartesian coordinate system can be used to program this machining. • The control transforms the programmed traversing movements of the cartesian coordinate system to the traversing movements of the real machine axes (default situation): – Rotary axis – Infeed axis perpendicular to the rotary axis – Longitudinal axis parallel to the rotary axis The linear axes are positioned perpendicular to one another. • Tool center offset relative to the turning center is permissible. • The velocity control considers the limitations defined for rotary motion.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7-287 7 Transformations 11.02 7.2 Milling turned parts: TRANSMIT 7 8 40D 8 40D 810D 8 40Di NCU 571 NCU 572 NCU 573 Rotary axis The rotary axis cannot be programmed, as it is assigned by a geometry axis and is thus not directly programmable as a channel axis. Pole SW 3.x and lower Traversing through the pole (the origin of the cartesian coordinate system) is prevented. A movement that runs through the pole stops at the pole and an alarm is output. With milling center offset, movement correspondingly stays at the edge of the area not to be approached. SW 4 and higher There are two options for traversing through the pole: 1. Traverse only the linear axis 2. Traverse to the pole, rotate the rotary axis at the pole and traveling away from the pole Make the selection using MD 24911 and 24951. References /FB/ M1 Kinematic transformations  Siemens AG, 2002. All rights reserved 7-288 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7 11.02 Transformations 7.2 Milling turned parts: TRANSMIT 7 840D 840D 810D 8 40Di NCU 571 NCU 572 NCU 573 Programming example Y Z N10 T1 D1 G54 G17 G90 F5000 G94 Tool selection N20 G0 X20 Z10 SPOS=45 Approach initial position N30 TRANSMIT Activate the Transmit function N40 ROT RPL=–45 Adjust the frame N50 ATRANS X–2 Y10 N60 G1 X10 Y–10 G41 OFFN=1 Square roughing; allowance 1mm N70 X–10 N80 Y10 N90 X10 N100 Y–10 N110 G0 Z20 G40 OFFN=0 Tool change N120 T2 D1 X15 Y–15 N130 Z10 G41 N140 G1 X10 Y–10 Square finishing N150 X–10 N160 Y10 N170 X10 N180 Y–10 N190 Z20 G40 Deselect frame N200 TRANS N210 TRAFOOF N220 G0 X20 Z10 SPOS=45 Approach initial position N230 M30  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7-289 X 7 Transformations 11.02 7.3 Cylinder surface transformation: TRACYL 7 8 40D 840D 8 10D 840Di NCU 571 NCU 572 NCU 573 7.3 Cylinder surface transformation: TRACYL Programming TRACYL(d) or TRACYL(d,t) TRAFOOF Explanation of the commands TRACYL(d) Activates the first TRACYL function specified in the channel machine data. d is the parameter for the working diameter. TRACYL(d,n) Activates the n-th TRACYL function specified in the channel machine data. The maximum for n is 2, TRACYL(d,1) corresponds to TRACYL(d). d Value for the working diameter. The working diameter is double the distance between the tool tip and the turning center. TRAFOOF Transformation OFF (BCS and MCS are once again identical). OFFN Offset contour normal: Distance of the groove side from the programmed reference contour An active TRACYL transformation is also disabled if one of the remaining transformations is activated in the particular channel (e.g. TRANSMIT, TRAANG, TRAORI). Function Cylinder peripheral curve transformation TRACYL X The TRACYL cylinder peripheral curve transformation facilitates the following performance: Machining • longitudinal grooves on cylindrical structures, Y • transverse grooves on cylindrical structures, • grooves in any direction on cylindrical structures. T he progression of the grooves is programmed in Z relation to the handled, even, peripheral surface of the cylinder. W orkpiece coordinate system  Siemens AG, 2002. All rights reserved 7-290 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7 11.02 Transformations 7.3 Cylinder surface transformation: TRACYL 7 840D 840D 8 10D 8 40Di NCU 571 NCU 572 NCU 573 T here are two instances of cylinder surface coordinate transformation: • without groove side offset (TRAFO_TYPE_n=512) • with groove side offset (TRAFO_TYPE_n=513) Y or CM Without groove side offset: ASM The control transforms the programmed traversing movements of the cylinder coordinate system to the Z or ZM traversing movements of the real machine axes: XM – Rotary axis – Infeed axis perpendicular to the rotary axis – Longitudinal axis parallel to the rotary axis. T he linear axes are positioned perpendicular to one another. The infeed axis cuts the rotary axis. Machine coordinate system W ith groove side offset: Kinematics as above, but in addition – longitudinal axis parallel to the peripheral direction. Y or CM The linear axes are positioned perpendicular to one Z or ZM another. YM ASM The velocity control considers the limitations defined X M for rotary motion. M achine coordinate system  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7-291 7 Transformations 11.02 7.3 Cylinder surface transformation: TRACYL 7 8 40D 8 40D 810D 8 40Di NCU 571 NCU 572 NCU 573 Groove cross section I n axis configuration 1, grooves alongside the rotary axis are only limited in parallel if the groove width corresponds exactly to the tool radius. Grooves parallel to the circumference (transverse grooves) are not parallel at the start and at the end. Longitudinal Transverse Longitudinal groove groove groove limited in parallel with groove wall compensation without groove wall TRAFO_TYPE_n = 513 compensation TRAFO_TYPE_n = 512 Offset contour normal OFFN (513) To mill grooves with TRACYL, in • the parts program the groove center line • is programmed via OFFN half the width of the groove. Programmed OFFN is only effective when tool radius compensation OFFN contour is selected, to avoid damaging the groove side. Furthermore, OFFN>=tool radius should also be the case to stop damage occurring to the opposite side of the groove. A parts program for milling a groove generally comprises the following steps: 1. Select tool 2. Select TRACYL 3. Select suitable coordinate offset (frame) 4. Position 5. Program OFFN 6. Select TRC 7. Approach block (position TRC and approach groove side) 8. Groove center line contour 9. Deselect TRC 10. Retraction block (retract TRC and move away from groove side) 11. Position 12. TRAFOOF 13. Re-select original coordinate shift (frame)  Siemens AG, 2002. All rights reserved 7-292 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7 11.02 Transformations 7.3 Cylinder surface transformation: TRACYL 7 8 40D 840D 8 10D 8 40Di NCU 571 NCU 572 NCU 573 Special features: • TRC selection: TRC is not programmed in relation to the groove side, but relative to to the programmed groove center line. To prevent the tool traveling to the left of the groove side, G42 is entered (instead of G41). You avoid this if in OFFN, the groove width is entered with a negative sign. • OFFN acts differently with TRACYL than it does without TRACYL. As, even without TRACYL, OFFN is included when TRC is active, OFFN should be reset to zero after TRAFOOF. • It is possible to change OFFN within a parts program. This could be used to shift the groove center line from the center (see diagram). • Guiding grooves: TRACYL does not create the same groove for guiding grooves as it would be with a tool with the diameter producing the width of the groove. It is basically not possible to create the same groove side geometry with a smaller cylindrical tool as it is with a larger one. TRACYL minimizes the error. To avoid problems of accuracy, the tool radius should only be slightly smaller than half the groove width. Note: OFFN and TRC • With TRAFO_TYPE_n = 512, the value acts under OFFN as an allowance for TRC. • With TRAFO_TYPE_n = 513, half the groove width is programmed in OFFN. The contour is retracted with OFFN-TRC.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7-293 7 Transformations 11.02 7 .3 Cylinder surface transformation: TRACYL 7 840D 8 40D 810D 8 40Di NCU 571 NCU 572 NCU 573 For cylinder peripheral curve transformation with groove side compensation, the axis used for compensation should be positioned at zero (y=0), so that the groove centric to the programmed groove center line is finished. Rotary axis The rotary axis cannot be programmed, as it is assigned by a geometry axis and is thus not directly programmable as a channel axis. Axis utilization T he following axes cannot be used as a positioning axis or a reciprocating axis: • the geometry axis in the peripheral direction of the cylinder peripheral surface (Y axis) • the additional linear axis for groove side compensation (Z axis). Tool definition The following example is suitable for testing the parameterization of the TRACYL cylinder transformation: Tool parameters Meaning Comment number (DP) $TC_DP1[1,1]=120 Tool type Milling cutter $TC_DP2[1,1]=0 Tool point direction For turning tools only Geometry Tool length compensation $TC_DP3[1,1]=8. Length compensation vector Calculation depending $TC_DP4[1,1]=9. on type and plane $TC_DP5[1,1]=7. Geometry Radius $TC_DP6[1,1]=6. Radius Tool radius $TC_DP7[1,1]=0 Slot width b for slotting saw, rounding radius for milling tools $TC_DP8[1,1]=0 Overhang k For slotting saw only $TC_DP9[1,1]=0 $TC_DP10[1,1]=0 $TC_DP11[1,1]=0 Angle for cone milling tools Wear Tool length and radius compensation $TC_DP12[1,1]=0 Remaining parameters to $TC_DP24=0 Base dimensions/ adapter  Siemens AG, 2002. All rights reserved 7-294 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7 11.02 Transformations 7.3 Cylinder surface transformation: TRACYL 7 8 40D 840D 8 10D 8 40Di NCU 571 NCU 572 NCU 573 Programming example X Y Z N 10 T1 D1 G54 G90 F5000 G94 T ool selection, clamping compensation N 20 SPOS=0 A pproach initial position N30 G0 X25 Y0 Z105 CC=200 N 40 TRACYL (40) Enable cylinder peripheral curve transformation N50 G19 Plane selection M aking a hook-shaped groove: N60 G1 X20 I nfeed tool to groove base N70 OFFN=12 Define 12mm groove side spacing relative to groove center line N80 G1 Z100 G42 Approach right side of groove N90 G1 Z50 Groove cut parallel to cylinder axis N 100 G1 Y10 Groove cut parallel to circumference N110 OFFN=4 G42 Approach left side of the groove; define 4mm groove side spacing relative to the groove center line N120 G1 Y70 G roove cut parallel to circumference N130 G1 Z100 Groove cut parallel to cylinder axis N140 G1 Z105 G40 Return from groove side N150 G1 X25 Retraction N160 TRAFOOF N170 G0 X25 Y0 Z105 CC=200 Approach initial position N180 M30  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7-295 7 Transformations 11.02 7 .4 Inclined axis: TRAANG 7 8 40 D 810D 840Di NCU 572 NCU 573 7 .4 Inclined axis: TRAANG Programming T RAANG(α) or TRAANG(α,n) TRAFOOF Explanation of the commands TRAANG If angle α is omitted or zero is entered, the transformation is activated with the parameterization of the previous selection. The default selection according to the machine data applies for the initial selection. TRAANG(α) Activates the first specified inclined axis transformation TRAANG(α,n) A ctivates the n-th specified transformation Inclined axis. the maximum for n is 2. TRAANG(α,1) corresponds to TRAANG(α). α Angle of the inclined axis TRAFOOF T ransformation OFF If α (angle) is omitted or zero is entered, the transformation is activated with the parameterization of the previous selection. The default selection according to the machine data applies for the initial selection. (response up to SW < 6.4, for later versions, see below). An active TRAANG transformation is also disabled if one of the remaining transformations is activated in the particular channel. (e.g. TRACYL, TRANSMIT, TRAORI).  Siemens AG, 2002. All rights reserved 7-296 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7 11.02 Transformations 7.4 Inclined axis: TRAANG 7 840D 810D 840Di NCU 572 NCU 573 ( response from SW < 6.4) If α (angle) is omitted (e.g. TRAANG(), TRAANG(,n)), the transformation is activated with the parameterization of the previous selection. The default selection according to the machine data applies for the initial selection. A n angle α = 0 (e.g. TRAANG(0), TRAANG(0,n)) is a valid parameter setting and no longer corresponds to omitting the parameter as it did in former versions. Permissible values for α are: -90 degrees < α < + 90 degrees Function The inclined axis function is intended for grinding MU α technology and facilitates the following performance: X • Machining with an oblique infeed axis • A cartesian coordinate system can be used for programming. Grinding wheel • The control transforms the programmed traversing movements of the cartesian coordinate Z MZ system to the traversing movements of the real C AS machine axes (default situation): inclined infeed Workpiece axis. The following machining operations are possible: 1. longitudinal grinding 3 2. face grinding 1 3. grinding a specific contour 2 4. oblique plunge-cut grinding 4  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7-297 7 Transformations 11.02 7.4 Inclined axis: TRAANG 7 840 D 8 10D 840Di NCU 572 NCU 573 The following settings are defined in machine data: • the angle between a machine axis and the oblique axis • the position of the zero point of the tool relative to the origin of the coordinate system specified by the "inclined axis" function • the velocity reserve held ready on the parallel axis for the compensating movement. • the axis acceleration reserve held ready on the parallel axis for the compensating movement. Axis configuration To be able to program in the cartesian coordinate system, the control must be told the relationship between this coordinate system and the actually existing machine axes (MU, MZ): • Geometry axes designation • Assignment of geometry axes to channel axes – general situation (inclined axis not active) – inclined axis active • Assignment of channel axes to machine axis numbers • Spindle identification • Machine axis name assignment. Apart from "inclined axis active", the procedure corresponds to the procedure for normal axis configuration.  Siemens AG, 2002. All rights reserved 7-298 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7 11.02 Transformations 7.4 Inclined axis: TRAANG 7 8 40D 810D 840Di NCU 572 NCU 573 Programming example MU α X Grinding wheel C Z AS MZ Workpiece N 10 G0 G90 Z0 MU=10 G54 F5000 -> Tool selection, clamping compensation - > G18 G64 T1 D1 P lane selection N20 TRAANG(45) Enable inclined axis transformation N30 G0 Z10 X5 Approach initial position N40 WAITP(Z) Enable axis for reciprocation N 50 OSP[Z]=10 OSP2[Z]=5 OST1[Z]=–2 -> Reciprocation, until dimension reached - > OST2[Z]=–2 FA[Z]=5000 (for reciprocation, see chapter 9) N60 OS[Z]=1 N70 POS[X]=4.5 FA[X]=50 N 80 OS[Z]=0 N90 WAITP(Z) Enable reciprocating axes as positioning axes N100 TRAFOOF Switch off transformation N110 G0 Z10 MU=10 Retraction N120 M30 -> program in a single block  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7-299 7 Transformations 11.02 7 .4 Inclined axis: TRAANG 7 840 D 810D 840Di NCU 572 NCU 573 7.4.1 Inclined axis programming: G05, G07 (SW 5.3 and higher) Programming G07 G05 Explanation of the commands G 07 Approach starting position G05 A ctivates oblique plunge-cutting The commands G07/G05 are used to make it easier to program the inclined axes. Positions can be programmed and displayed in the cartesian coordinate system. Tool compensation and zero offset are included in cartesian coordinates. After the angle for the inclined axis is programmed in the NC- program, the starting position can be approached (G07) and then the oblique plunge-cutting (G05) performed. In Jog-mode, the movement of the grinding wheel can either be cartesian or in the direction of the inclined axis (the display stays cartesian). All that moves is the real U-axis, the Z-axis display is updated. • In jog-mode, repos-offsets must be returned using cartesian coordinates. • In jog-mode with active "PTP-travel", the cartesian operating range limit is monitored for overtravel and the relevant axis is braked beforehand. If "PTP-travel" is not active, the axis can be traversed right up to the operating range limit. References: /FB2/ F2: 3-5-axis transformation, Chapter 2 "Cartesian PTP-travel".  Siemens AG, 2002. All rights reserved 7-300 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7 11.02 Transformations 7.4 Inclined axis: TRAANG 7 840D 810D 840Di NCU 572 NCU 573 Programming example U α X N50 N60 Grinding wheel C Z AS Workpiece N.. P rogram angle for inclined axis N20 G07 X70 Z40 F4000 A pproach starting position N30 G05 X70 F100 Oblique plunge-cutting N40 ...  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7-301 7 Transformations 11.02 7.5 Constraints when selecting a transformation 7 840 D 810D 8 40Di NCU 572 NCU 573 7.5 Constraints when selecting a transformation T ransformations can be selected via a parts program or MDA. Please note the following • No intermediate movement block is inserted (chamfer/radii). • Spline block sequences must be excluded; if not, a message is displayed. • Fine tool compensation must be deselected (FTOCOF); if not a message is displayed. • Tool radius compensation must be deselected (G40); if not a message is displayed. • The control adopts an activated tool length compensation into the transformation. • The control deselects the current frame active before the transformation. • The control deselects an active operating range limit for axes affected by the transformation (corresponds to WALIMOF). • Protection zone monitoring is deselected. • Continuous-path mode and smoothing are interrupted. • DRF offsets in the axes involved in the transformation must not change between processing in preprocessing and in main run (SW 3 and earlier). • All the axes specified in the machine data must be synchronized relative to a block. • Axes that are exchanged are exchanged back; if not, a message is displayed. • A message is output for dependent axes. Tool change A tool change is only permissible if tool radius compensation is deselected. A change of tool length compensation and a tool radius compensation selection/deselection must not be programmed in the same block.  Siemens AG, 2002. All rights reserved 7-302 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7 11.02 Transformations 7.5 Constraints when selecting a transformation 7 840D 810D 8 40Di NCU 572 NCU 573 F rame change All instructions that only relate to the basic coordinate system are legal (frame, tool radius compensation). However, a frame change with G91 (incremental dimension) – unlike with an inactive transformation – is not handled separately. The increment to be traveled is evaluated in the workpiece coordinate system of the new frame – regardless of which frame was effective in the previous block. Exclusions Axes affected by the transformation cannot be used • as the preset axis (alarm) • for approaching a checkpoint (alarm) • for referencing (alarm).  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7-303 7 Transformations 11.02 7 .6 Deselect transformation: TRAFOOF 7 840 D 810D 8 40Di NCU 572 NCU 573 7.6 Deselect transformation: TRAFOOF Programming T RAFOOF E xplanation of the commands TRAFOOF Disables all the active transformations/frames Function The TRAFOOF command disables all the active transformations and frames. F rames required after this must be activated by renewed programming. P lease note the following: T he same restrictions as for selection are applicable to deselecting the transformation (see previous section "Constraints when selecting a transformation").  Siemens AG, 2002. All rights reserved 7-304 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7 11.02 Transformations 7.7 Chained transformations 7 8 40D 810D 8 40Di NCU 572 NCU 573 7 .7 Chained transformations As from SW 5, two transformations can always be enabled in succession (chained), so that the motion components for the axes from the first transformation are the input data for the chained second transformation. The motion components from the second transformation act on the machine axes. • In SW 5, the chain can consist of two transformations. • The second transformation must be "inclined axis" (TRAANG). • Possible first transformations include: - orientation transformations (TRAORI), incl. universal milling head - TRANSMIT - TRACYL - TRAANG. Applications - Grinding contours that have been programmed as the surface line of a cylinder development (TRACYL) with an obliquely positioned grinding wheel, e.g. tool grinding. - Finishing a contour generated with TRANSMIT that is not round with an obliquely positioned grinding wheel. It is a condition of using the activate command for a chained transformation that the individual transformations to be chained and the chained transformation to be activated are defined by the machine data. The constraints and special cases specified in the individual descriptions for the transformations must also be observed when they are used within a chain.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7-305 7 Transformations 11.02 7.7 Chained transformations 7 840 D 8 10D 8 40Di NCU 572 NCU 573 Additional notes Information on configuring the machine data of the transformations can be found in the descriptions of the functions: M1 and F2. Machine manufacturer (MH7.1) Take note of information provided by the machine manufacturer on any transformations predefined by the machine data. Transformations and chained transformations are options. The current catalog always provides information about the availability of specific transformations in the chain in specific controls. The commands available for chained transformations are: TRACON to activate and TRAFOOF to deactivate. Activate Programming TRACON(trf, par) This activates a chained transformation. Explanation of the parameters trf The number of the chained transformation: 0 or 1 for the first/only chained transformation. If nothing is programmed in this position, this means the same as specifying the value 0 or 1, i.e. the first/only transformation is activated. 2 for the second chained transformation. (values not equal to 0–2 generate an error alarm).  Siemens AG, 2002. All rights reserved 7-306 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7 11.02 Transformations 7.7 Chained transformations 7 8 40D 8 10D 840Di NCU 572 NCU 573 par one or more parameters separated by a comma for the transformations in the chain expecting parameters. For example, the angle of the inclined axis. If parameters are not set, the defaults or the parameters last used take effect. Commas must be used to ensure that the specified parameters are evaluated in the sequence in which they are expected, if defaults are to act for previous parameters. It is particularly important when specifying at least one parameter that this is preceded by a comma, even if it is not necessary to specify trf, thus for example TRACON( , 3.7). Function This activates the chained transformation. A previously activated other transformation is implicitly disabled by TRACON(). A tool is always assigned to the first transformation of a chain. The subsequent transformation then behaves as if the active tool length were zero. Only the base lengths of a tool (_BASE_TOOL_) set via machine data are active for the first transformation of the chain. Deactivate Programming TRAFOOF Function The command deactivates the last active (chained) transformation.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7-307 7 Transformations 11.02 7.8 Switchable geometry axes, GEOAX 7 840 D 8 10D 8 40Di NCU 572 NCU 573 7.8 Switchable geometry axes, GEOAX Programming GEOAX(n,channel axis,n,channel axis,…) GEOAX() Explanation of the parameters GEOAX(n,channel axis,n,channel Switch the geometry axes. axis,…) GEOAX() Call the basic configuration of the geometry axes n Number of the geometry axis (n=1, 2 or 3) to be assigned to another channel axis. n=0: remove the specified channel axis from the geometry axis grouping without replacement. Channel axis Name of the channel axis to be accepted into the geometry axis grouping. Function The "switchable geometry axes" function allows the geometry axis grouping configured via machine data to be modified from the parts program. A channel Z1 Z2 axis defined as a synchronized special axis can replace any geometry axis. Y1 X1 Example: Y Z A tool carriage can be traversed over channel axes X X1, Y1, Z1, Z2. In the parts program, axes Z1 and Z2 should be used alternately as geometry axis Z. GEOAX is used in the parts program to switch between the axes. After activation, the connection X1, Y1, Z1 is effective (adjustable via MD). N100 GEOAX (3,Z2) Channel axis Z2 functions as the Z axis N110 G1 ..... N120 GEOAX (3,Z1) Channel axis Z1 functions as the Z axis  Siemens AG, 2002. All rights reserved 7-308 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7 11.02 Transformations 7.8 Switchable geometry axes, GEOAX 7 840D 8 10D 8 40Di NCU 572 NCU 573 Sequence Geometry axis number In the command GEOAX(n,channel axis...) the number n designates the geometry axis to which the subsequently specified channel axis is to be assigned. Geometry axis numbers 1 to 3 (X, Y, Z axis) are permissible for loading a channel axis. n = 0 removes an assigned channel axis from the geometry axis grouping without reassigning the geometry axis. After the transition, an axis replaced by switching in the geometry axis grouping is programmable as a special axis via its channel name. Switching over the geometry axes deletes all the frames, protection zones and operating range limits. Polar coordinates: As with a change of plane (G17–G19), replacing geometry axes with GEOAX sets the modal polar coordinates to the value 0. DRF, ZO: Any existing handwheel offset (DRF) or an external zero offset, will stay active after the switchover. Exchange axis positions It is also possible to change positions within the geometry axis grouping by reassigning the axis numbers to already assigned channel axes. N... GEOAX (1, XX, 2, YY, 3, ZZ) Channel axis XX is the first, YY the second and ZZ the third geometry axis, N... GEOAX (1, U, 2, V, 3, W) Channel axis U is the first, V the second and W the third geometry axis.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7-309 7 Transformations 11.02 7 .8 Switchable geometry axes, GEOAX 7 8 40 D 810D 840Di NCU 572 NCU 573 Prerequisites and restrictions 1. It is not possible to switch the geometry axes over during: - an active transformation, - an active spline interpolation, - an active tool radius compensation, (Programming Guide Fundamentals: - an active fine tool compensation Chapter 8) 2. If the geometry axis and the channel axis have (Programming Guide Fundamentals: the same name, it is not possible to change the Chapter 8) particular geometry axis. 3. None of the axes involved in the switchover can be involved in an action that might persist beyond the block limits, as is the case, for example, with positioning axes of type A or with following axes. 4. The GEOAX command can only be used to replace geometry axes that already existed at power ON (i.e. no newly defined ones). 5. Using GEOAX for axis replacement while preparing the contour table (CONTPRON, CONTDCON) produces an alarm. Deactivating switchover The command GEOAX() calls the basic configuration of the geometry axis grouping. After POWER ON and when switching over to reference point approach mode, the basic configuration is reset automatically. Additional notes Transition and tool length compensation An active tool length compensation is also effective after the transition. However, for the newly adopted or repositioned geometry axes, it counts as not retracted. So accordingly, at the first motion command for these geometry axes, the resultant travel path comprises the sum of the tool length compensation and the programmed travel path.  Siemens AG, 2002. All rights reserved 7-310 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7 11.02 Transformations 7.8 Switchable geometry axes, GEOAX 7 840D 810D 8 40Di NCU 572 NCU 573 Geometry axes that retain their position in the axis grouping during a switchover, also keep their status with regard to tool length compensation. Geometry axis configuration and transformation change The geometry axis configuration applicable in an active transformation (defined via the machine data) cannot be modified by using the "switchable geometry axes" function. If it is necessary to change the geometry axis configuration in connection with transformations, this is only possible via an additional transformation. A geometry axis configuration modified via GEOAX is deleted by activating a transformation. If the machine data settings for the transformation and for switching over the geometry axes contradict one another, the settings in the transformation take precedence. Example: A transformation is active. According to the machine data, the transformation should be retained during a RESET, however, at the same time, a RESET should produce the basic configuration of the geometry axes. In this case, the geometry axis configuration is retained as specified by the transformation.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 7-311 7 Transformations 11.02 7 .8 Switchable geometry axes, GEOAX 7 840 D 8 10D 8 40Di NCU 572 NCU 573 Programming example A machine has six channel axes called XX, YY, ZZ, U, V ,W. The basic setting of the geometry axis configuration via the machine data is: Channel axis XX = 1st geometry axis (X axis) Channel axis YY = 2nd geometry axis (Y axis) Channel axis ZZ = 3rd geometry axis (Z axis) N10 GEOAX() The basic configuration of the geometry axes is effective. N20 G0 X0 Y0 Z0 U0 V0 W0 All the axes in rapid traverse to position 0. N30 GEOAX(1,U,2,V,3,W) Channel axis U becomes the first (X), V the second (Y), W the third geometry axis (Z). N40 GEOAX(1,XX,3,ZZ) Channel axis XX becomes the first (X), ZZ the third geometry axis (Z). Channel axis V stays as the second geometry axis (Y). N50 G17 G2 X20 I10 F1000 Full circle in the X, Y plane. Channel axes XX and V traverse N60 GEOAX(2,W) Channel axis W becomes the second geometry axis (Y). N80 G17 G2 X20 I10 F1000 Full circle in the X, Y plane. Channel axes XX and W traverse. N90 GEOAX() Reset to initial state N100 GEOAX(1,U,2,V,3,W) Channel axis U becomes the first (X), V the second (Y), W the third geometry axis (Z). N110 G1 X10 Y10 Z10 XX=25 Channel axes U, V, W each traverse to position 10, XX as the special axis traverses to position 25. N120 GEOAX(0,V) V is removed from the geometry axis grouping. U and W are still the first (X) and third geometry axis (Z). The second geometry axis (Y) remains unassigned. N130 GEOAX(1,U,2,V,3,W) Channel axis U stays the first (X), V becomes the second (Y), W stays the third geometry axis (Z). N140 GEOAX(3,V) V becomes the third geometry axis (Z), which overwrites W and thus removes it from the geometry axis grouping. The second geometry axis (Y) is still unassigned.   Siemens AG, 2002. All rights reserved 7-312 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8 11.02 Tool Offsets 8 Tool Offsets 8.1 Offset memory............................................................................................................... 8-314 8.2 Language commands for tool management ................................................................. 8-316 8.3 Online tool offset PUTFTOCF, PUTFTOC, FTOCON, FTOCOF ................................. 8-319 8.4 Maintain tool radius compensation at constant level, CUTCONON (SW 4 and higher) ......................................................................................................... 8-325 8.5 Activate 3D tool offsets ................................................................................................. 8-328 8.6 Tool orientation.............................................................................................................. 8-336 8.7 Free assignment of D numbers, cutting edge number CE (SW 5 and higher) ............. 8-341 8.7.1 Check D numbers (CHKDNO) ............................................................................... 8-342 8.7.2 Renaming D numbers (GETDNO, SETDNO)........................................................ 8-343 8.7.3 T numbers for the specified D number (GETACTTD) ........................................... 8-344 8.7.4 Set final D numbers to invalid ................................................................................ 8-345 8.8 Toolholder kinematics ................................................................................................... 8-346  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8-313 8 Tool Offsets 11.028.1 Offset memory 8 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 8.1 Offset memory Structure of the offset memory Every data field can be invoked with a T and D number (except "Flat D No."); in addition to the geometrical data for the tool, it contains other information such as the tool type. SW 4 and higher The "Flat D No. structure" is used if tool management takes place outside the NCK. In this case, the D numbers are generated with the associated tool offset blocks without being assigned to tools. You can still program in the parts program using T. However, this T does not relate to the programmed D number. Several entries exist for the geometric variables (e.g. length 1 or radius). These are added together to produce a value (e.g. total length 1, total radius) which is then used for the calculations. Offset values not required must be assigned the value zero. The individual values of the offset memories P1 to P25 can be read from and written to the program via system variable.  Siemens AG, 2002. All rights reserved 8-314 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8 11.02 Tool Offsets8.1 Offset memory 8 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Tool parameters Meaning Comment Number (DP) $TC_DP 1 Tool type For overview see list $TC_DP 2 Tool point direction For turning tools only Geometry Tool length compensation $TC_DP 3 Length 1 Calculation depending $TC_DP 4 Length 2 on type and plane $TC_DP 5 Length 3 Geometry Radius $TC_DP 6 Radius $TC_DP 7 Slot width b for slotting saw, rounding radius for milling tools $TC_DP 8 Overhang k For slotting saw only $TC_DP 11 Angle for cone milling tools Wear Tool length and radius compensation $TC_DP 12 Length 1 $TC_DP 13 Length 2 $TC_DP 14 Length 3 $TC_DP 15 Radius $TC_DP 16 Slot width b for slotting saw, rounding radius for milling tools $TC_DP 17 Overhang k For slotting saw only $TC_DP 20 Angle for cone milling tools Base dimensions/ Tool length compensation adapter $TC_DP 21 Length 1 $TC_DP 22 Length 2 $TC_DP 23 Length 3 Technology $TC_DP 24 Clearance angle For turning tools Additional notes All other parameters are reserved. Machine manufacturer User cutting edge data can be configured via MD.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8-315 8 Tool Offsets 11.028.2 Language commands for tool management 8 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 8.2 Language commands for tool management Explanation of the commands T="WZ" Select tool with name NEWT("WZ",DUPLO_NO) Create new tool, duplo number optional DELT("WZ",DUPLO_NO) Delete tool, duplo number optional GETT("WZ",DUPLO_NO) Determine T number SETPIECE(x,y) Set piece number GETSELT(x) Read preselected tool number (T No.) "WZ" Tool name DUPLO_NO Quantity x Spindle number, entry optional If you use the tool manager you can create and call tools by name, e.g. T="DRILL" or T="123". NEWT function With the NEWT function you can create a new tool with name in the NC program. The function automatically returns the T number created, which can subsequently be used to address the tool. Return parameter=NEWT("WZ", DUPLO_NO) If no duplo number is specified, this is generated automatically by the tool manager. Example: DEF INT DUPLO_NO DEF INT T_NO DUPLO_NO = 7 T_NO=NEWT("DRILL", DUPLO_NO) Create new tool "DRILL" with duplo number 7. The T number created is stored in T_NO. DELT function The DELT function can be used to delete a tool without referring to the T number. DELT("WZ",DUPLO_NO)  Siemens AG, 2002. All rights reserved 8-316 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8 11.02 Tool Offsets8.2 Language commands for tool management 8 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 GETT function The GETT function returns the T number required to set the tool data for a tool known only by its name. Return parameter=GETT("WZ", DUPLO_NO) If several tools with the specified name exist, the T number of the first possible tool is returned. Return parameter = –1: The tool name or duplo number cannot be assigned to a tool. Examples: T="DRILL" R10=GETT("DRILL", DUPLO_NO) Return T number for DRILL with duplo number = DUPLO_NO The "DRILL" must first be declared with NEWT or $TC_TP1[ ]. $TC_DP1[GETT("DRILL", Write a tool parameter with tool name DUPLO_NO),1]=100 SETPIECE function This function is used to update the piece number monitoring data. The function counts all of the tool edges which have been changed since the last activation of SETPIECE for the stated spindle number. SETPIECE(x,y) x Number of completed workpieces y y spindle number, 0 stands for master spindle (default setting)  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8-317 8 Tool Offsets 11.028.2 Language commands for tool management 8 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 GETSELT function This function returns the T number of the tool preselected for the spindle. This function allows access to the tool offset data before M6 and thus establishes main run synchronization slightly earlier. Example for tool change with tool management T1 Preselect tool, i.e. the tool magazine can be brought into the tool position parallel to machining. M6 Load preselected tool (depending on the setting in the machine data you can also program without M6). Example: T1 M6 Load tool 1 D1 Select tool length compensation G1 X10 … Machining with T1 T="DRILL" Preselect drill D2 Y20 … Change cutting edge T1 X10 … Machining with T1 M6 Load tool drill SETPIECE(4) Number of completed workpieces D1 G1 X10 … Machining with drill A complete list of all variables required for tool management is given in the list of system variables in the Appendix.  Siemens AG, 2002. All rights reserved 8-318 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8 11.02 Tool Offsets8.3 Online tool offset PUTFTOCF, PUTFTOC, FTOCON, FTOCOF 8 840D 840Di NCU 572 NCU 573 8.3 Online tool offset PUTFTOCF, PUTFTOC, FTOCON, FTOCOF Programming: FCTDEF(Polynomial no., LLimit, ULimit,a0,a1,a2,a3) PUTFTOCF(Polynomial No., Ref_value, Length1_2_3, Channel, Spindle) PUTFTOC(Value, Length1_2_3, Channel, Spindle) FTOCON FTOCOF Explanation of the commands PUTFTOCF Write online tool offsets continuously FCTDEF Define parameters for PUTFTOCF function PUTFTOC Write online tool offsets discretely FTOCON Activate online tool offsets FTOCOF Deactivate online tool offsets Explanation of the parameters Polynomial_No. Values 1-3: A maximum of three polynomials can be programmed at the same time; polynomials up to 3rd degree Ref_value Reference value from which the offset is derived Length1_2_3 Wear parameter into which the tool offset value is added Channel Number of channel in which the tool offset is activated; specified only if the channel is different to the present one Spindle Number of the spindle on which the online tool offset acts; only needs to be specified for inactive grinding wheels LLimit Lower limit ULimit Upper limit a0,a1,a2,a3 Coefficients of polynomial function Value Value added in the wear parameter  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8-319 8 Tool Offsets 11.028.3 Online tool offset PUTFTOCF, PUTFTOC, FTOCON, FTOCOF 8 840D 840Di NCU 572 NCU 573 Function The function makes immediate allowance for tool offsets resulting from machining by means of online tool length compensation (e. g. CD dressing: The Dressing roll grinding wheel is dressed parallel to machining). The tool length compensation can be changed from the Dressing amount Grinding machining channel or a parallel channel (dresser wheel channel). Online tool offset can be applied only to grinding Workpiece tools. General information about online TO Depending on the timing of the dressing process, the following functions are used to write the online tool offsets: • Continuous write, non-modal: PUTFTOCF • Continuous write, modally: ID=1 DO FTOC (see section synchronized actions) • Discrete write: PUTFTOC In the case of a continuous write (for each interpolation pulse) following activation of the evaluation function each change is calculated additively in the wear memory in order to prevent setpoint jumps. I n both cases: T he online tool offset can act on each spindle and lengths 1, 2 or 3 of the wear parameters. The assignment of the lengths to the geometry axes is made with reference to the current plane. T he assignment of the spindle to the tool is made with reference to the tool data with GWPSON or TMON as long as it is not the active grinding wheel (see Programming Guide "Fundamentals").  Siemens AG, 2002. All rights reserved 8-320 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition Length 1 8 11.02 Tool Offsets8.3 Online tool offset PUTFTOCF, PUTFTOC, FTOCON, FTOCOF 8 840D 840Di NCU 572 NCU 573 A n offset is always applied for the wear parameters for the current tool side or for the left-hand tool side on inactive tools. W here the offset is identical for several tool sides, the values should be transferred automatically to the second tool side by means of a chaining rule (see Operator's Guide for description). I f online offsets are defined for a machining channel, you cannot change the wear values for the current tool on this channel from the machining program or by means of an operator action. T he online tool offset is also applied with respect to the constant grinding wheel peripheral speed (GWPS) in addition to tool monitoring (TMON) and centerless grinding (CLGON). Sequence PUTFTOCF = Continuous write T he dressing process is performed at the same time as machining: Dress across complete grinding wheel width with dresser roll or dresser diamond from one side of a grinding wheel to the other. M achining and dressing can be performed on different channels. If no channel is programmed, the offset takes effect in the active channel. PUTFTOCF(Polynomial_No., Ref_value, Length1_2_3, Channel, Spindle) T ool offset is changed continuously on the machining channel according to a polynomial function of the first, second or third degree, which must have been defined previously with FCTDEF. The offset, e.g. changing actual value, is derived from the "Reference value“ variable. I f a spindle number is not programmed, the offset applies to the active tool.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8-321 8 Tool Offsets 11.028.3 Online tool offset PUTFTOCF, PUTFTOC, FTOCON, FTOCOF 8 840D 840Di NCU 572 NCU 573 Set parameters for FCTDEF function The parameters are defined in a separate block: FCTDEF(Polynomial_NO., LLimit, ULimit,a0,a1,a2,a3) T he polynomial can be a 1st, 2nd or 3rd degree polynomial. The limit identifies the limit values (LLimit = lower limit, ULimit = upper limit). E xample: Straight line (y = a0 + a1x) with gradient 1 Y FCTDEF(1, -1000, 1000, -$AA_IW[X], 1) a1 1 Write online offset discretely: PUTFTOC T his command can be used to write an offset value a0 once. The offset is activated immediately on the X target channel. A pplication of PUTFTOC: The grinding wheel is dressed from a parallel channel, but not at the same time as machining. PUTFTOC(Value, Length1_2_3, Channel, Spindle) The online tool offset for the specified length 1, 2 or 3 is changed by the specified value, i.e. the value is added to the wear parameter. Include online tool offset: FTOCON, FTOCOF The target channel can only receive online tool offsets when FTOCON is active. • FTOCON must be written in the channel on which the offset is to be activated. With FTOCOF, the offset is no longer applied, however the complete value written with PUTFTOC is corrected in the tool edge-specific offset data. • FTOCOF is always the reset setting. • PUTFTOCF always acts on the subsequent traversing block. • The online tool offset can also be selected modally with FTOC. Please refer to Section "Motion- synchronized actions" for more information.  Siemens AG, 2002. All rights reserved 8-322 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8 11.02 Tool Offsets8.3 Online tool offset PUTFTOCF, PUTFTOC, FTOCON, FTOCOF 8 840D 840Di NCU 572 NCU 573 Programming example Y T ask On a surface grinding machine with the following Dressing roll parameters, the grinding wheel is to be dressed by the amount 0.05 after the start of the grinding movement at X100. The dressing amount is to be 0.05 Grinding wheel active with write online offset continuously. Y: Infeed axis for the grinding wheel V: Infeed axis for the dresser roll Workpiece X M achine: Channel 1 with axes X, Z, Y 100 Dress: Channel 2 with axis V M achining program in channel 1: %_N_MACH_MPF … N 110 G1 G18 F10 G90 Basic position N120 T1 D1 Select current tool N130 S100 M3 X100 Spindle on, travel to starting position N140 INIT (2, "DRESS", "S") Select dressing program on channel 2 N 150 START (2) S tart dressing program on channel 2 N160 X200 Travel to destination position N170 FTOCON A ctivate online offset N … G1 X100 Continue machining N…M30 D ressing program in channel 2: %_N_DRESS_MPF … N40 FCTDEF (1, –1000, 1000, –$AA_IW[V], 1) Define function: Straight line N50 PUTFTOCF (1, $AA_IW[V], 3, 1) Write online offset continuously: L ength 3 of the current grinding wheel is derived from the movement of the V axis and corrected in channel 1. N60 V–0.05 G1 F0.01 G91 Infeed movement for dressing, PUTFTOCF is only effective in this block … N… M30  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8-323 8 Tool Offsets 11.028.3 Online tool offset PUTFTOCF, PUTFTOC, FTOCON, FTOCOF 8 840D 840Di NCU 572 NCU 573 D ressing program, modal: %_N_DRESS_MPF FCTDEF(1,-1000,1000,-$AA_IW[V],1) Define function: ID=1 DO FTOC(1,$AA_IW[V],3,1) Select online tool offset: Actual value of the V axis is the input value for polynomial 1; the result is added length 3 of the active grinding wheel in channel 1 as the offset value. WAITM(1,1,2) Synchronization with machining channel G1 V-0.05 F0.01, G91 Infeed movement for dressing G1 V-0.05 F0.02 ... CANCEL(1) Deselect online offset ...  Siemens AG, 2002. All rights reserved 8-324 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8 11.02 Tool Offsets 8 .4 Maintain tool radius compensation at constant level, CUTCONON 8 8 40D 840Di NCU 572 NCU 573 8.4 Maintain tool radius compensation at constant level, CUTCONON (SW 4 and higher) Programming: CUTCONON CUTCONOF Explanation CUTCONON Activate the tool radius compensation constant function CUTCONOF Deactivate the constant function (default setting) Function The "tool radius compensation constant" function is used to suppress the tool radius compensation for a number of blocks while retaining the difference between the programmed and actual path of the tool center point accumulated in previous blocks as an offset. This can be practical, for example, if several motion blocks are required at the reversal points during line- by-line milling but the contours (bypass strategies) generated by the tool radius compensation are not desirable. It can be used according to the type of tool radius compensation (21/2D, 3D face milling, 3D circumferential milling). Sequence Tool radius compensation is normally active before the compensation suppression and is still active when the compensation suppression is deactivated again. The offset point at the end of block position is approached in the last motion block before CUTCONON. All following blocks in which the compensation suppression is active are executed without compensation.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8-325 8 Tool Offsets 11.02 8 .4 Maintain tool radius compensation at constant level, CUTCONON 8 8 40D 840Di NCU 572 NCU 573 They are displaced, however, by the vector from the end point of the last compensation block to its offset point. The interpolation type of these blocks (linear, circular, polynomial) is arbitrary. The deactivation block of the compensation suppression, i.e. the block containing CUTCONOF, is usually corrected; it begins at the offset point of the start point. A linear block is inserted between this point and the end point of the previous block, i.e. the last programmed motion block with active CUTCONON. Circle blocks in which the circle plane is perpendicular to the compensation plane (vertical circles) are treated as if CUTCONON had been programmed in the blocks. This implicit activation of compensation suppression is automatically canceled in the first motion block which is not a circle of this type but which contains a traversing movement in the compensation plane. Vertical circles of this type can only occur with circumferential milling. Example N10 ; D efinition of tool d1 N20 $TC_DP1[1,1]= 110 ; Type N30 $TC_DP6[1,1]= 10. ; Radius N40 N50 X0 Y0 Z0 G1 G17 T1 D1 F10000 N60 N70 X20 G42 NORM N80 X30 N90 Y20 N100 X10 CUTCONON; Activate compensation suppression N110 Y30 CONT ; I nsert bypass circle if necessary on deactivation of contour suppression N120 X-10 CUTCONOF N130 Y20 NORM ; N o bypass circle on deactivation of TRC N140 X0 Y0 G40 N150 M30  Siemens AG, 2002. All rights reserved 8-326 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8 11.02 Tool Offsets 8.4 Maintain tool radius compensation at constant level, CUTCONON 8 8 40D 840Di NCU 572 NCU 573 Y Contour without TRC N120 N110 N130 Contour with TRC N100 N90 N140 N70 N80 50 X -10 Additional notes 1. CUTCONON has no effect if tool radius compensation is not active (G40). An alarm is output. The G code remains active, however. This is significant if tool radius compensation is to be activated in a subsequent block with G41 or G42. 2. It is possible to change the G code in the 7th G code group (tool radius compensation; G40 / G41 / G42) when CUTCONON is active. A change to G40 is effective immediately. The offset with which the previous blocks were traversed is applied. 3. If CUTCONON or CUTCONOF is programmed in a block without a traversing movement in the active compensation plane, the change does not become effective until the next block with such a traversing movement. Further information: /FB/, W1 Tool Offset  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8-327 8 Tool Offsets 11.02 8.5 Activate 3D tool offsets 8 840D 8 40Di NCU 572 NCU 573 8.5 Activate 3D tool offsets Explanation CUT3DC Activation of 3D radius offset for circumferential milling CUT3DFS 3D tool offset for face milling with constant orientation. The tool orientation is determined by G17-G19 and is not influenced by Frames. C UT3DFF 3 D tool offset for face milling with constant orientation. The tool orientation is the direction determined by G17-G19 and possibly turned by a Frame. C UT3DF 3 D tool offset for face milling with orientation change (only with active 5-axes transformation). G 40 X Y Z T o deactivate: Linear block G0/G1 with geometry axes ISD=Value Insertion depth T he commands are modal and are in the same group as CUT2D and CUT2DF. T he command is not deselected until the next movement in the current plane is performed. This always applies to G40 and is independent of the CUT command. Function T ool orientation change is taken into account in tool radius compensation for cylindrical tools. The same programming commands apply to 3D tool radius compensation as to 2D tool radius compensation. With G41/G42, the left/right-hand compensation is specified in the direction of movement. The approach method is always NORM.  Siemens AG, 2002. All rights reserved 8-328 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8 11.02 Tool Offsets 8.5 Activate 3D tool offsets 8 840D 8 40Di NCU 572 NCU 573 Example N10 A0 B0 X0 Y0 Z0 F5000 N20 T1 D1 T ool call, call tool offset values N30 TRAORI(1) Transformation selection N 40 CUT3DC 3D tool radius compensation selection N50 G42 X10 Y10 Tool radius compensation selection N60 X60 N70 … Additional notes I ntermediate blocks are permitted with 3D tool radius compensation. The rules for 2 ½ D tool radius compensation apply. 3D tool radius compensation is only active when five-axis transformation is selected. A circle block is always inserted at outside corners. G450/G451 have no effect. The DISC command is ignored.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8-329 8 Tool Offsets 11.02 8 .5 Activate 3D tool offsets 8 8 40D 8 40Di NCU 572 NCU 573 D ifference between 2 ½ D and 3D tool radius compensation I n 3D tool radius compensation tool orientation can be changed. Workpiece contour 2 ½ D tool radius compensation assumes the use of a tool with constant orientation. Path of tool center point equidistant from contour 3 D tool radius compensation is also called 5D tool radius compensation, because in this case 5 L R degrees of freedom are available for the orientation of the tool in space. C ircumferential milling T he type of milling used here is implemented by Circumferential milling defining a path (guide line) and the corresponding A orientation. In this type of machining, the shape of B the tool on the path is not relevant. The only deciding factor is the radius at the tool insertion point. The 3D TRC function is limited to cylindrical tools. Z X Y  Siemens AG, 2002. All rights reserved 8-330 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition ISD 8 11.02 Tool Offsets 8.5 Activate 3D tool offsets 8 8 40D 840Di NCU 572 NCU 573 F ace milling For this type of 3D milling, you require line-by-line definition of 3D paths on the workpiece surface. The tool shape and dimensions are taken into account in the calculations that are normally performed in CAM. In addition to the NC blocks, the postprocessor writes the tool orientations (when five-axis transformation is active) and the G code for the desired 3D tool offset into the parts program. This feature offers the machine operator the option of using slightly smaller tools than that used to calculate the NC paths. Example: NC blocks have been calculated with a 10mm mill. In this case, the workpiece could also be machined with a mill diameter of 9.9mm, although this would result in a different surface profile.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8-331 8 Tool Offsets 11.02 8.5 Activate 3D tool offsets 8 840D 8 40Di NCU 572 NCU 573 M ill shapes, tool data T he table below gives an overview of the tool shapes R R which may be used in face milling operations as well as tool data limit values. The shape of the tool shaft is not taken into Cylindr. Ball end die-sinking mill consideration – the tools 120 and 155 are identical in cutter (type 111) (type 110) their effect. a If a different type number is used in the NC program than the one listed in the table, the system R R automatically uses tool type 110 die-sinking cutter. r An alarm is output if the tool data limit values are R violated. End mill End mill with Truncated cone mill (type 120, 130) corner round. (type 155)(type 121, 131) Milling tool type T ype No. R r a C ylindrical miller 1 10 >0 X X B all end mill 111 >0 >R X E nd mill, angle head cutter 1 20, 130 >0 X X E nd mill, angle head cutter with corner rounding 1 21, 131 >r >0 X T runcated cone mill 155 >0 X >0 X =is not evaluated T ool length compensation The tool tip is the reference point for length compensation (intersection longitudinal axis/surface).  Siemens AG, 2002. All rights reserved 8-332 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition r 8 11.02 Tool Offsets 8.5 Activate 3D tool offsets 8 8 40D 8 40Di NCU 572 NCU 573 3D tool offset, tool change A new tool with changed dimensions (R, r, a) or a different shape may be specified only through programming G41 or G42 (transition G40 to G41 or G42, reprogramming of G41 of G42). T his rule does not apply to any other tool data, e.g. tool lengths, so that tools to which such data apply can be fitted without reprogramming G41 or G42. Correction of the path With respect to face milling, it is advisable to examine what happens when the contact point "jumps" on the tool surface as shown in the example on the right where a convex surface is being machined with a vertically positioned tool. As a general rule, it is advisable to select a tool shape and tool orientation that are suitable for producing the required surface profile. The application shown in the example should therefore be regarded as a borderline case. Single point This borderline case is monitored by the control that detects abrupt changes in the machining point on the basis of angular approach motions between the tool and normal surface vectors. The control inserts linear blocks at these positions so that the motion can be executed. These linear blocks are calculated on the basis of permissible angular ranges for the side angle stored in the machine data. The system outputs an alarm if the limit values stored in the machine data are violated.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8-333 8 Tool Offsets 11.02 8 .5 Activate 3D tool offsets 8 840D 840Di NCU 572 NCU 573 P ath curvature P ath curvature is not monitored. In such cases, it is also advisable to use only tools of a type that do not violate the contour. I nsertion depth (ISD) Program command ISD (insertion depth) is used to program the tool insertion depth for peripheral milling operations. This makes it possible to change the position of the machining point on the outer surface of the tool. ISD specifies the distance between the cutter tip FH (FS) and the cutter reference point (FH). The point FH is produced by projecting the programmed machining point along the tool axis. ISD is only FS evaluated when 3D tool radius compensation is active. Inside corners/outside corners Inside and outside corners are handled separately. The term inside or outside corner depends on the tool orientation. When changes occur in the orientation at a corner, the corner type can change during machining. If this happens, machining stops and an error message is generated. Direction of machining  Siemens AG, 2002. All rights reserved 8-334 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition ISD 8 11.02 Tool Offsets 8.5 Activate 3D tool offsets 8 840D 840Di NCU 572 NCU 573 Intersection procedure for 3D compensation (SW 5 and higher) W ith 3D circumferential milling, G code G450/G451 is now evaluated at the outside corners; this means that the intersection of the offset curves can be approached. With SW 4 a circle was always inserted at the outside corners. The new functionality is particularly advantageous for typical CAD-generated 3D programs. They often consist of short straight blocks (to approximate smooth curves), where the transitions are almost tangential between adjacent blocks. U p to now, with tool radius compensation on the outside of the contour, circles were generally inserted to circumnavigate the outside corners. These blocks can be very short with almost tangential transitions, resulting in undesired drops in velocity. I n these cases, as with 2½ D radius compensation, both of the curves involved are lengthened and the intersection of both lengthened curves is approached. T he intersection is determined by extending the offset curves of both blocks and defining their intersection a the corner in the plane perpendicular to the tool orientation. If there is no such intersection, the corner is handled as previously, that is, a circle is inserted. F or more information about intersection procedure, see /FB/ W5, 3D Tool Radius Compensation  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8-335 8 Tool Offsets 11.02 8.6 Tool orientation 8 840D 840Di NCU 572 NCU 573 8.6 Tool orientation T ool orientation is the term given to the geometrical alignment of the tool in space. Z O n a 5-axis machine tool, the tool orientation can be controlled with program commands. Direction vector X Y P rogramming tool orientation A change in tool orientation can be programmed by: • Direct programming of the rotary axes Change in orientation • Euler or RPY angle • Direction vector • LEAD/TILT (face milling) T he reference coordinate system is either the machine coordinate system (ORIMCS) or the current workpiece coordinate system (ORIWCS). A change in orientation can be controlled by the following: ORIC Orientation and path movement in parallel O RID Orientation and path movement consecutively OSOF No orientation smoothing OSC Orientation constantly OSS Orientation smoothing only at beginning of block O SSE O rientation smoothing at beginning and end of block O RIS Speed of orientation change with active orientation smoothing in degrees per mm; valid for OSS and OSSE  Siemens AG, 2002. All rights reserved 8-336 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8 11.02 Tool Offsets 8.6 Tool orientation 8 8 40D 840Di NCU 572 NCU 573 B ehavior at outside corners A circle block is inserted A circle block with the radius of the cutter is always between block N1 and N2 inserted at an outside corner. The program commands ORIC and ORID can be N2 used to define whether changes in orientation programmed between blocks N1 and N2 are executed before the beginning of the inserted circle N1 block or at the same time. R I f an orientation change is required at outside corners, this can be performed either at the same time as interpolation or separately together with the path movement. With ORID, the inserted blocks are executed initially without a path movement. The circle block generating the corner is inserted immediately before the second of the two traversing blocks. I f several orientation blocks are inserted at an external corner and ORIC is selected, the circular movement is divided among the individual inserted blocks according to the values of the orientation changes.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8-337 8 Tool Offsets 11.02 8.6 Tool orientation 8 8 40D 8 40Di NCU 572 NCU 573 Programming example for ORIC If two or more blocks with orientation changes (e.g. N14 A2= B2= C2=) are programmed between traversing blocks N10 and N20 and ORIC is active, the inserted N12 N20 circle block is divided among these intermediate blocks according to the values of the angle changes. N10 ORIC N8 A2=… B2=… C2=… N10 X… Y… Z… N12 C2=… B2=… The circle block inserted at the external N14 C2=… B2=… corner is divided among N12 and N14 in accordance with the change in orientation. The circular movement and the orientation change are executed in parallel. N 20 X =…Y=… Z=… G1 F200  Siemens AG, 2002. All rights reserved 8-338 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8 11.02 Tool Offsets 8.6 Tool orientation 8 840D 8 40Di NCU 572 NCU 573 Programming example for ORID I f ORID is active, all the blocks between the two Execute N12 and N14 traversing blocks are executed at the end of the first traversing block. The circle block with constant N20 orientation is executed immediately before the second traversing block. N10 ORID N8 A2=… B2=… C2=… N10 X… Y… Z… N12 A2=… B2=… C2=… Blocks N12 and N14 are executed at the end of N10. The circle block with the current orientation is subsequently traversed. N14 M20 Auxiliary functions, etc. N20 X… Y… Z… T he program command which is active in the first traversing block of an external corner determines the type of orientation change.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8-339 8 Tool Offsets 11.02 8.6 Tool orientation 8 8 40D 8 40Di NCU 572 NCU 573 W ithout orientation change I f the orientation is not changed at the block boundary, the cross-section of the tool is a circle which touches both of the contours. Programming example Change the orientation at an internal corner N15 N12 N10 TRC O RIC N10 X …Y… Z… G1 F500 N12 X …Y… Z… A2=… B2=…, C2=… N15 X Y Z A2 B2 C2  Siemens AG, 2002. All rights reserved 8-340 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8 11.02 Tool Offsets 8 .7 Free assignment of D numbers, cutting edge number CE 8 8 40D 840Di NCU 572 NCU 573 8 .7 Free assignment of D numbers, cutting edge number CE (SW 5 and higher) A s of SW 5, you can use the D numbers as contour numbers. You can also address the number of the cutting edge via the address CE. Y ou can use the system parameter $TC_DPCE to describe the cutting edge number. Preset: Offset No. == Cutting edge No. References: FB, W1 (Tool Offset) Machine manufacturer (MH 8.12) The maximum number of D numbers (cutting edge numbers) and maximum number of cutting edges per tool are defined via the machine data. The following commands only make sense when the maximum number of cutting edges (MD 18105) is greater than the number of cutting edges per tool (MD 18106). Please refer to the data of the machine tool manufacturer. Additional notes Besides the relative D number, you can also assign D numbers al 'flat' or 'absolute' D numbers (1–32000) without assigning a reference to a T number (inside the function 'flat D number structure').  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8-341 8 Tool Offsets 11.02 8 .7 Free assignment of D numbers, cutting edge number CE 8 840D 840Di NCU 572 NCU 573 8.7.1 Check D numbers (CHKDNO) Programming: s tate=CHKDNO(Tno1,Tno2,Dno) Explanation of the parameters s tate TRUE: The D numbers are assigned uniquely to the checked areas. FALSE: There was a D number collision or the parameters are invalid. Tno1, Tno2 and Dno return the parameters that caused the collision. These data can now be evaluated in the parts program. C HKDNO(Tno1,Tno2) All D numbers of the part specified are checked. CHKDNO(Tno1) All D numbers of Tno1 are checked against all other tools. CHKDNO A ll D numbers of all tools are checked against all other tools. Function CKKDNO checks whether the available D numbers assigned are unique. The D numbers of all tools defined in a TO unit must only be present once. Replacement tools are not considered.  Siemens AG, 2002. All rights reserved 8-342 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8 11.02 Tool Offsets 8.7 Free assignment of D numbers, cutting edge number CE 8 840D 840Di NCU 572 NCU 573 8 .7.2 Renaming D numbers (GETDNO, SETDNO) Programming: d = GETDNO(t,ce) state = SETDNO(t,ce,d) Explanation of the parameters d D number of the cutting edge of the tool t T number of the tool ce Cutting edge number (CE number) of the tool s tate Indicates whether the command could be executed (TRUE or FALSE). Function GETDNO T his command returns the D number of a particular cutting edge (ce) of a tool with tool number t. If there is no D number for the specified parameters, d is set to 0. If the D number is invalid, a value greater than 32000 is returned. SETDNO This commands assigns the value d of the D number to a cutting edge ce of tool t. The result of this statement is returned via state (TRUE or FALSE) If there is no data block for the specified parameter, the value FALSE is returned. Syntax errors produce an alarm. The D number cannot be set to 0 explicitly. E xample: (renaming a D number) $TC_DP2[1,2] = 120 $ TC_DP3[1,2] = 5.5 $ TC_DPCE[1,2] = 3; cutting edge number CE . .. N10 def int DNoOld, DNoNew = 17 N 20 DNoOld = GETDNO(1,3) N30 SETDNO(1,3,DNoNew)  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8-343 8 Tool Offsets 11.02 8.7 Free assignment of D numbers, cutting edge number CE 8 840D 840Di NCU 572 NCU 573 T his assigns cutting edge CE=3 the new D value 17. Now, these data for the cutting edge are addressed via D-number 17; both via the system parameters and in the programming with the NC address. Additional notes You must assign unique D numbers. Two different cutting edges of a tool must not have the same D number. 8 .7.3 T numbers for the specified D number (GETACTTD) Programming: status = GETACTTD(Tno, Dno) Explanation of the parameters Dno D number to be looked for for the T number. Tno T number found status 0: The T number was found. Tno contains the value of the T number. -1: The specified D number does not have a T number; Tno=0. -2: The D number is not absolute. Tno contains the value of the first tool found that contains the D number with the value Dno. -5: Unable to perform the function for another reason. Function For an absolute D number, GETACTTD determines the associated T number. There is not check for uniqueness. If there are several identical D numbers within a TO unit, the T number of the first tool found is returned. If 'flat' D numbers are used, it does not make sense to use the command because the value 1 is always returned (no T number in database).  Siemens AG, 2002. All rights reserved 8-344 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8 11.02 Tool Offsets 8.7 Free assignment of D numbers, cutting edge number CE 8 840D 840Di NCU 572 NCU 573 8 .7.4 Set final D numbers to invalid Programming: D ZERO Explanation D ZERO M arks all D number of the TO unit as invalid Function T he command is used for support during upgrading. Offset block marked in this way are no longer checked by the language command CHKDNO. To regain access, you must set the D number to SETDNO again  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8-345 8 Tool Offsets 11.02 8 .8 Toolholder kinematics 8 840D 8 40Di NCU 572 NCU 573 8 .8 Toolholder kinematics T he toolholder kinematics with up to two rotary axes is programmed by means of 17 system variables $TC_CARR1[m] to $TC_CARR17[m]. The description l1 of the toolholder consists of: • The vectorial distance between the first rotary axis and the toolholder reference point l1, the vectorial V1 α 1 l2 distance between the first and the second rotary axis l2, the vectorial distance between the second rotary axis and the tool reference point l3. • The reference vectors of both rotary axes v1, v2. l3 • The rotation angles α1, α2 around both axes. The rotation angles are counted in viewing direction of α 2 V the rotary axis vectors, positive, in clockwise 2 direction of rotation. Resolved kinematics as of SW 5.3 For machines with resolved kinematics (both the tool and the part can rotate), the system variables have been extended to include the entries $TC_CARR18[m] to $TC_CARR23[m] are described as follows: The rotatable tool table consisting of: • The vector distance between the second rotary axis v2 and the reference point of a rotatable tool table l4 of the third rotary axis. The rotary axes consisting of: • The two channel identifiers for the reference to the rotary axes v1 and v2. These positions are accessed as required to determine the orientation of the orientable toolholder. The type of kinematics with one of the values T, P or M: • Type of kinematics T: Only tool can rotate. • Type of kinematics P: Only part can rotate. • Type of kinematics M: Tool and part can rotate.  Siemens AG, 2002. All rights reserved 8-346 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8 11.02 Tool Offsets 8.8 Toolholder kinematics 8 8 40D 8 40Di NCU 572 NCU 573 Function of the system parameter for orientable toolholders Designation x components y components z components l1 offset vector $TC_CARR1[m] $TC_CARR2[m] $TC_CARR3[m] l2 offset vector $TC_CARR4[m] $TC_CARR5[m] $TC_CARR6[m] v1 rotary axis $TC_CARR7[m] $TC_CARR8[m] $TC_CARR9[m] v2 rotary axis $TC_CARR10[m] $TC_CARR11[m] $TC_CARR12[m] α1 rotation angle $TC_CARR13[m] α2 rotation angle $TC_CARR14[m] l3 offset vector $TC_CARR15[m] $TC_CARR16[m] $TC_CARR17[m] l4 offset vector $TC_CARR18[m] $TC_CARR19[m] $TC_CARR20[m] Axis identifier Axis identifier for rotary axes v1 and v2 (default is zero) for rotary axis v1 $TC_CARR21[m] for rotary axis v2 $TC_CARR22[m] Type of $TC_CARR23[m] kinematics Type of kinematics T  Type of kinematics P  Type of Kinematics M Default T Only the Tool can be Only the Part can be Part and tool Mixed rotated rotated mode can be rotated Offset for Angle in degrees of rotary axes v1 and v2 when assuming the initial setting rotary axis v1 $TC_CARR24[m] rotary axis v2 $TC_CARR25[m] Angle offset for Offset of Hirth tooth system in degrees for rotary axes v1 and v2 rotary axis v1 $TC_CARR26[m] rotary axis v2 $TC_CARR27[m] Angle increment Increment of Hirth tooth system in degrees for rotary axes v1 and v2 v1 rotary axis $TC_CARR28[m] v2 rotary axis $TC_CARR29[m] Minimum position Software limit for minimum position for rotary axes v1 and v2 rotary axis v1 $TC_CARR30[m] rotary axis v2 $TC_CARR31[m] Maximum Software limits for maximum position for rotary axes v1 and v2 position $TC_CARR32[m] rotary axis v1 $TC_CARR33[m] rotary axis v2  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8-347 8 Tool Offsets 11.02 8 .8 Toolholder kinematics 8 8 40D 840Di NCU 572 NCU 573 Parameters of the rotary axes from SW 6.1 The system variables are extended by the entries $TC_CARR24[m] to $TC_CARR33[m] and described as follows: The offset of the rotary axes • Changing the position of rotary axis v1 or v2 during initial setting of the orientable toolholder. The angle offset/angle increment of the rotary axes • Offset or angle increment of Hirth tooth system of rotary axes v1 and v2. Programmed or calculated angle is rounded up to the next value that results from phi = s + n * d when n is an integer. The minimum position/maximum position of the rotary axis • Limit angle (software limit) for rotary axis v1 and v2. Additional notes The number of the respective toolholder to be programmed is specified with "m. The start/endpoints of the distance vectors on the axes can be freely selected. The rotation angles α1, α2 around the two axes are defined in the initial state of the toolholder by 0°. In this way, the kinematics of a toolholder can be programmed for any number of possibilities. Toolholders with only one or no rotary axis at all can be described by setting the direction vectors of one or both rotary axes to zero. With a toolholder without rotary axis the distance vectors act as additional tool offsets whose components cannot be affected by a change of machining plane (G17 to G19).  Siemens AG, 2002. All rights reserved 8-348 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8 11.02 Tool Offsets 8.8 Toolholder kinematics 8 8 40D 840Di NCU 572 NCU 573 Clearing the toolholder data The data of all toolholder data sets is cleared via $TC_CARR1[0] = 0. SW 5.3 and higher The type of kinematics $TC_CARR23[T] = T must be assigned one of the three permissible uppercase or lowercase letter (T,P,M) and should not be deleted. Changing the toolholder data Each of the described values can be modified by assigning a new value in the parts program. Any character other than T, P or M causes an alarm when you attempt to activate the orientable toolholder. Reading the toolholder data Each of the described values can be read by assigning it to a variable in the parts program. Supplementary conditions A toolholder can only orientate a tool in every possible direction in space if - two rotary axes v1 and v2 are available. - the rotary axes are positioned perpendicular to one another. - the tool length axis is perpendicular to the second rotary axis v2. SW 5.3 and higher In addition, the following requirement is applicable to machines for which all possible orientations have to be settable: - Tool orientation must be perpendicular to the first rotary axis v1.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 8-349 8 Tool Offsets 11.02 8.8 Toolholder kinematics 8 8 40D 840Di NCU 572 NCU 573 Programming example The toolholder used in the following example can be z fully described by a rotation around the Y axis. z Z Y Y Z X Y X X X N10 $TC_CARR8[1]=1 Definition of the Y components of the first rotary axis of toolholder 1 N20 $TC_DP1[1,1]=120 Definition of an end mill N30 $TC_DP3[1,1]=20 with length 20mm N40 $TC_DP6[1,1]=5 and with radius 5mm N50 ROT Y37 Frame definition with 37° rotation around the Y axis N60 X0 Y0 Z0 F10000 Approach initial position N70 G42 CUT2DF TCOFR TCARR=1 T1 D1 X10 Set radius compensation, tool length compensation in rotated frame, select toolholder 1, tool 1 N80 X40 Execute machining under a 37° rotation N90 Y40 N100 X0 N110 Y0 N120 M30 ■  Siemens AG, 2002. All rights reserved 8-350 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9 11.02 Path Traversing Behavior 9 Path Traversing Behavior 9.1 Tangential control TANG, TANGON, TANGOF, TANGDEL......................................... 9-352 9.2 Coupled motion TRAILON, TRAILOF ........................................................................... 9-358 9.3 Curve tables, CTABDEF, CTABEND, CTABDEL, CTAB, CTABINV, CTABSSV, CTABSEV...................................................................................................................... 9-362 9.4 Axial leading value coupling, LEADON, LEADOF......................................................... 9-375 9.5 Feed characteristic, FNORM, FLIN, FCUB, FPO.......................................................... 9-381 9.6 Program run with preprocessing memory, STARTFIFO, STOPFIFO, STOPRE.......... 9-386 9.7 Repositioning on contour, REPOSA, REPOSL, REPOSQ, REPOSH .......................... 9-388  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9-351 9 Path Traversing Behavior 11.029.1 Tangential control TANG, TANGON, TANGOF, TANGDEL 9 840D 810D 840Di NCU 572 NCU 573 9.1 Tangential control TANG, TANGON, TANGOF, TANGDEL Programming TANG (FAxisF,LAxis1,LAxis2,Coupling,CS) TANGON (FAxis,Angle) TANGOF (FAxis) TLIFT (FAxis) TANGDEL (FAxis) Explanation of the commands TANG Preparatory instruction for the definition of a tangential follow-up TANGON Activate tangential control specifying following axis and offset angle TANGOF Deactivate tangential control specifying following axis TLIFT Insert intermediate block at contour corners TANGDEL Delete definition of a tangential follow-up Explanation of the parameters FAxis Following axis: additional tangential following rotary axis LAxis1, LAxis2 Leading axes: path axes which determine the tangent for the following axis Coupling Coupling factor: relationship between the angle change of the tangent and the following axis. Parameter optional; default: 1 CS Identifier for coordinate system "B" = basic coordinate system; data optional; default ["W" = workpiece coordinate system] Angle Offset angle of following axis  Siemens AG, 2002. All rights reserved 9-352 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9 11.02 Path Traversing Behavior9.1 Tangential control TANG, TANGON, TANGOF, TANGDEL 9 840D 810D 840Di NCU 572 NCU 573 Function A rotary axis (= following axis) follows the programmed path of two leading axes. The following axis is located at a defined offset angle to the path tangent. Applications Tangential control can be used in applications such as: Y • Tangential positioning of a rotatable tool during nibbling • Follow-up of the tool orientation on a band saw • Positioning of a dresser tool on a grinding wheel (see diagram) • Positioning of a cutting wheel for glass or paper working Workpiece • Tangential infeed of a wire in five-axis welding Band saw X Sequence D efining following axis and leading axis T ANG is used to define the following and leading axes. A coupling factor specifies the relationship between an angle change on the tangent and the following axis. Its value is generally 1 (default). T he follow-up can be performed in the basic coordinate system "B" (default) or the workpiece coordinate system "W". Example: TANG(C,X,Y,1,"B") Meaning: R otary axis C follows geometry axes X and Y.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9-353 9 Path Traversing Behavior 11.029.1 Tangential control TANG, TANGON, TANGOF, TANGDEL 9 840D 810D 840Di NCU 572 NCU 573 Activating/deactivating tangential control: T ANGON, TANGOF T angential control is called with TANGON specifying the following axis and the desired offset angle of the following axis: TANGON(C,90) M eaning: Y C axis is the following axis. On every movement of the path axes, it is rotated into a position at 90° to the path tangent. T he following axis is specified in order to deactivate the tangential control: T ANGOF(C) X Angle limit through working area limitation Y For path movements which oscillate back and forth, the tangent jumps through 180° at the turning point ∝ on the path and the orientation of the following axis ∝ changes accordingly. This behavior is generally inappropriate: the return ∝ Unsuitable return movement should be traversed at the same negative movement X offset angle as the approach movement. Y This can be achieved by limiting the working area of -∝ the following axis (G25, G26). The working area limitation must be active at the instant of path Ideal return reversal (WALIMON). movement X If the offset angle lies outside the working area limit, an attempt is made to return to the permissible working area with the negative offset angle.  Siemens AG, 2002. All rights reserved 9-354 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9 11.02 Path Traversing Behavior9.1 Tangential control TANG, TANGON, TANGOF, TANGDEL 9 840D 810D 840Di NCU 572 NCU 573 Insert intermediate block at contour corners, TLIFT A t one corner of the contour the tangent changes and thus the setpoint position of the following axis. The axis normally tries to compensate this step change at its maximum possible velocity. However, this causes a deviation from the desired tangential position over a certain distance on the contour after the corner. If such a deviation is unacceptable for technological reasons, the instruction TILIFT can be used to force the control to stop at the corner and to turn the following axis to the new tangent direction in an automatically generated intermediate block. The axis is rotated at its maximum possible velocity. The TLIFT(...) instruction must be programmed immediately after the axis assignment with TANG(...). Example: TANG(C,X,Y…) T LIFT(C) Deactivate TLIFT To deactivate TLIFT, repeat the axis assignment TANG(...) without inserting TLIFT(...) afterwards. T he angular change limit at which an intermediate block is automatically inserted is defined via machine data $MA_EPS_TLIFT_TANG_STEP. Delete definition of a tangential follow-up An existing user-defined tangential follow-up must be deleted if a new tangential follow-up with the same following axis is defined in the preparation call TANG.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9-355 9 Path Traversing Behavior 11.029.1 Tangential control TANG, TANGON, TANGOF, TANGDEL 9 840D 810D 840Di NCU 572 NCU 573 TANGDEL (FAxis) Delete tangential follow-up Deletion is only possible if the coupling with TANGOF(Faxis) is deactivated. Programming example Example of plane change N10 TANG(A, X, Y,1) 1st definition of the tang. follow-up N20 TANGON(A) Activation of the coupling N30 X10 Y20 ... N80 TANGOF(A) Deactivate 1st coupling N90 TANGDEL(A) Delete 1st definition ... TANG(A, X, Z) 2nd definition of the tang. follow-up TANGON(A) ... Activation of the new coupling N200 M30 Programming example An alarm is output. With geometry axis switchover and TANGDEL N10 GEOAX(2,Y1) Y1 is geo axis 2 N20 TANG(A, X, Y) N30 TANGON(A, 90) N40 G2 F8000 X0 Y0 I0 J50 N50 TANGOF(A) Deactivation of follow-up with Y1 N60 TANGDEL(A) Delete 1st definition N70 GEOAX(2, Y2) Y2 is the new geo axis 2 N80 TANG(A, X, Y) 2nd definition of the tang. follow-up N90 TANGON(A, 90) ... Activation of the follow-up with 2nd def.  Siemens AG, 2002. All rights reserved 9-356 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9 11.02 Path Traversing Behavior9.1 Tangential control TANG, TANGON, TANGOF, TANGDEL 9 840D 810D 840Di NCU 572 NCU 573 Additional notes Influence on transformations The position of the following rotary axis can be an input value for a transformation. E xplicit positioning of the following axis If an axis which is following your lead axes is positioned explicitly the position is added to the programmed offset angle. All path definitions are possible: Path and positioning axis movements. C oupling status Y ou can query the status of the coupling in the NC program with the following system variable: $AA_COUP_ACT[Axis] 0 No coupling active 1 ,2,3 Tangential follow-up active  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9-357 9 Path Traversing Behavior 11.02 9.2 Coupled motion TRAILON, TRAILOF 9 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 9.2 Coupled motion TRAILON, TRAILOF Programming T RAILON(FAxis,LAxis,Coupling) T RAILOF(FAxis,LAxis,Axis2) Explanation of the commands and parameters TRAILON A ctivate and define coupled axes; modal TRAILOF Deactivate coupled axes F Axis Axis name of trailing axis LAxis Axis name of trailing axis C oupling C oupling factor = Path of coupled-motion axis/path of trailing axis Default = 1 Function W hen a defined leading axis is moved, the trailing axes (= following axes) assigned to it traverse through the distances described by the leading axis, allowing for a coupling factor. T ogether, the leading axis and following axis represent coupled axes. Applications • Traversing of an axis by a simulated axis. The Axis leading axis is a simulated axis and the trailing Y Axis Axis V axis is a real axis. The real axis can thus be Z traversed with allowance for the coupling factor. Axis W • Two-sided machining with 2 combined axis pairs: 1st leading axis Y, trailing axis V Axis 2nd leading axis Z, trailing axis W X  Siemens AG, 2002. All rights reserved 9-358 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9 11.02 Path Traversing Behavior 9.2 Coupled motion TRAILON, TRAILOF 9 840D 840D 810D 8 40Di NCU 571 NCU 572 NCU 573 Sequence Defining coupled-axis combinations, TRAILON The coupled axes are defined and activated simultaneously with the modal language command TRAILON. TRAILON(V,Y) V = trailing axis, Y = leading axis The number of coupled axes that can be activated simultaneously is restricted only by the possible combinations of axes on the machine. Coupled motion always takes place in the basic coordinate system (BCS). Coupled axis types A coupled-axis group can consist of any combination of linear and rotary axes. A simulated axis can also be defined as a leading axis. Coupled-motion axes Up to two leading axes can be assigned simultaneously to a trailing axis. The assignment is made in different combinations of coupled axes. A trailing axis can be programmed with all the available motion commands (G0, G1, G2, G3, ...). In addition to paths defined independently, the trailing axis also traverses the distances derived from its leading axes, allowing for the coupling factors. A trailing axis can also act as a leading axis for other trailing axes. Various combinations of coupled axes can be set up in this way.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9-359 9 Path Traversing Behavior 11.02 9 .2 Coupled motion TRAILON, TRAILOF 9 840D 8 40D 8 10D 840Di NCU 571 NCU 572 NCU 573 Coupling factor The coupling factor specifies the desired ratio of the paths of trailing axis and leading axis. Path of trailing axis Coupling factor = Path of leading axis If the coupling factor is not specified in the program, a coupling factor of 1 is automatically taken as the default. The factor is entered as a decimal fraction (type REAL). The input of a negative value causes opposite traversing movements on the leading and trailing axes. Deactivate coupled axes The following language command deactivates the coupling with a leading axis: TRAILOF(V,Y) V = trailing axis, Y = leading axis TRAILOF with 2 parameters deactivates the coupling to only 1 leading axis. If a trailing axis is assigned to 2 leading axes, e.g. V=trailing axis and X,Y=leading axes, TRAILOF can be called with 3 parameters to deactivate the coupling: TRAILOF(V,X,Y)  Siemens AG, 2002. All rights reserved 9-360 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9 11.02 Path Traversing Behavior 9.2 Coupled motion TRAILON, TRAILOF 9 840D 840D 8 10D 840Di NCU 571 NCU 572 NCU 573 Additional notes Acceleration and velocity The acceleration and velocity limits of the combined axes are determined by the "weakest axis" in the combined axis pair. Coupling status You can query the status of the coupling in the NC program with the following system variable: $AA_COUP_ACT[axis] 0 No coupling active 8 Coupled motion active Programming example The workpiece is to be machined on two sides with Axis the axis configuration shown in the diagram. To do Y Axis Axis V this, you create 2 combinations of coupled axes. Z Axis W Axis X … N100 TRAILON(V,Y) Activate 1st combined axis pair Activate 2nd combined axis pair, coupling N110 TRAILON(W,Z,–1) factor negative: trailing axis traverses in opposite direction to leading axis N120 G0 Z10 Infeed of Z and W axes in opposite axis directions N130 G0 Y20 Infeed of Y and V axes in same axis directions … N200 G1 Y22 V25 F200 Superimpose dependent and independent movement of trailing axis "V" … TRAILOF(V,Y) Deactivate 1st coupled axis TRAILOF(W,Z) Deactivate 2nd coupled axis  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9-361 9 Path Traversing Behavior 11.029.3 Curve tables, CTABDEF, CTABEND, CTABDEL, CTAB, CTABINV, 9 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 9.3 Curve tables, CTABDEF, CTABEND, CTABDEL, CTAB, CTABINV, CTABSSV, CTABSEV Programming The following modal NC commands work with curve tables: (You will find explanations of the parameters at the end of the list of functions.) A) Main functions Curve tables are defined in a parts program. CTABDEF(Faxis,Laxis,n,applim, memType) Define beginning of curve table CTABEND() Define end of curve table CTABDEL(n) Delete a curve table CTABDEL() Deletion of all curve tables, independently of memType CTABDEL(n, m) Deletion of a curve table range CTABDEL(n, m, memType) Deletion of the curve tables of the curve table range that are stored in memType CTABDEL( , , memType) Deletion of all curve tables in the specified memory R10=CTAB(LW,n,degrees,FAxis,LAxis) Following value for a leading value R10=CTABINV(FW,aproxLW,n,degrees,FAxis, Leading value to a following value LAxis) R10=CTABSSV(LV,n,degree,Faxis,Laxis) Starting value of the following axis in the segment belonging to the LV R10=CTABSEV(LV,n,degree,Faxis,Laxis) End value of the following axis in the segment belonging to the LV General form: Set a lock against deletion or CTABLOCK(n, m, memType) overwriting. CTABLOCK(n) Applications in the forms: Curve table with number n CTABLOCK(n, m) Curve tables in number range n to m CTABLOCK() All curve tables irrespective of memory type CTABLOCK(, , memType) All curve tables in the specified memory type  Siemens AG, 2002. All rights reserved 9-362 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9 11.02 Path Traversing Behavior9.3 Curve tables, CTABDEF, CTABEND, CTABDEL, CTAB, CTABINV, 9 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 General form: Cancel a lock against deletion or CTABUNLOCK(n, m, memType) overwriting. CTABUNLOCK enables the tables disabled with CTABLOCK. Tables that function in an active coupling remain disabled, i.e. they still cannot be deleted. But the CTABLOCK lock is canceled, i.e, as soon as locking via the active coupling is canceled by deactivating the coupling, this table can be deleted. It is not necessary to call CTABUNLOCK again. Applications in the forms: CTABUNLOCK(n) Curve table with number n CTABUNLOCK(n, m) Curve tables in number range n to m CTABUNLOCK() All curve tables irrespective of memory type CTABUNLOCK(, , memType) All curve tables in the specified memory type  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9-363 9 Path Traversing Behavior 11.029.3 Curve tables, CTABDEF, CTABEND, CTABDEL, CTAB, CTABINV, 9 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 For further information about leading and following values, see Section "Axial leading value coupling" and "Path leading value coupling" in this section. Additional functions exist for diagnostics and optimization of resource use. These are described in the M3 Description of Functions. Explanation FAxis Following axis: Axis that is programmed via the curve table. LAxis Leading axis Axis that is programmed with the leading value. n, m Number of the curve table; n < m in CTABDEL(n, m) The number of the curve table is unique and not dependent on the memory type. Tables with the same number can be in the SRAM and DRAM. p Entry location (in memory range memType) applim Identifier for table periodicity: 0 Table is not periodic 1 Table is periodic with regard to the leading axis 2 Table is periodic with regard to leading axis and following axis LW Leading value Positional value of the leading axis for which a following value is to be calculated. degrees Parameter name for gradient parameter FW Following value Positional value of the following axis for which a leading value is to be calculated. aproxLW Approximation solution for leading value if no specific leading value can be determined for a following value. FAxis,LAxis Optional specification of the following and/or leading axis memType Optional specification of memory type of the NC: "DRAM" / "SRAM" If no value is programmed for this parameter, the default memory type set in MD 20905: CTAB_DEFAULT_MEMORY_TYPE is used.  Siemens AG, 2002. All rights reserved 9-364 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9 11.02 Path Traversing Behavior9.3 Curve tables, CTABDEF, CTABEND, CTABDEL, CTAB, CTABINV, 9 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Function You can use curve tables to program position and velocity relationships between 2 axes. Y x y Example of substitution of mechanical cam: The 5 a0+a +a x21 2 ... 7 a +a x... curve table forms the basis for the axial leading 0 112 ...... value coupling by creating the functional relationship between the leading and the following value: X With appropriate programming, the control calculates a polynomial that corresponds to the cam plate from the relative positions of the leading and following axes. Additional notes To create curve tables the memory space must be reserved by setting the machine data. Definition of a curve table Following value CTABDEF, CTABEND = Intermediate positions A curve table represents a parts program or a section of a parts program which is enclosed by CTABDEF at the beginning and CTABEND at the end. Within this parts program section, unique following Curve definition axis positions are assigned to individual positions of the leading axis by traverse statements and used as Leading intermediate positions in calculating the curve Definition range value definition in the form of a polynomial up the 3rd Starting value End value order. As from SW 6, intermediate points for curve definitions can be calculated in the form of an up to 5th order polynomial.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9-365 9 Path Traversing Behavior 11.029.3 Curve tables, CTABDEF, CTABEND, CTABDEL, CTAB, CTABINV, 9 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Starting and end value of the curve table: The starting value for the beginning of the definition range of the curve table are the first associated axis positions specified (the first traverse statement) within the curve table definition. The end value of the definition range of the curve table is determined in accordance with the last traverse command. Within the definition of the curve table, you have use of the entire NC language. Additional notes The following are not permissible: • Preprocess stop • Jumps in the leading axis movement (e.g. on changing transformations) • Traverse statement for the following axis only • Reversal of the leading axis, i.e. position of the leading axis must always be unique • CTABDEF and CTABEND statement on various program levels. SW 6.3 Depending on MD 20900 CTAB_ENABLE_NO_LEADMOTION, jumps of the following axis can be tolerated if leading axis motion is missing. The other restrictions give in the notice still apply. Specification of the NC memory type can be used in table creation and deletion. A ll modal statements that are made within the curve table definition are invalid when the table definition is completed. The parts program in which the table definition is made is therefore located in front of and after the table definition in the same state. R parameter assignments are reset.  Siemens AG, 2002. All rights reserved 9-366 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9 11.02 Path Traversing Behavior9.3 Curve tables, CTABDEF, CTABEND, CTABDEL, CTAB, CTABINV, 9 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 E xample: ... R10=5 R11=20 ... CTABDEF G1 X=10 Y=20 F1000 R10=R11+5 ;R10=25 X=R10 CTABEND ... ;R10=5 Repeated use of curve tables The function relation between the leading axis and the following axis calculated through the curve table is retained under the table number beyond the end of the parts program and during power-off. The curve table created can be applied to any axis combinations of leading and following axes whatever axes were used to create the curve table.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9-367 9 Path Traversing Behavior 11.029.3 Curve tables, CTABDEF, CTABEND, CTABDEL, CTAB, CTABINV, 9 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 B ehavior at the edges of the curve table N on-periodic curve table Following value If the leading value is outside the definition range, the following value output is the upper or lower limit. F F Leading L Definition range L value Periodic curve table Following value If the leading value is outside the definition range, the leading value is evaluated modulo of the definition range and the corresponding following value is output. F Leading L value Definition range  Siemens AG, 2002. All rights reserved 9-368 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9 11.02 Path Traversing Behavior9.3 Curve tables, CTABDEF, CTABEND, CTABDEL, CTAB, CTABINV, 9 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Reading table positions, CTAB, CTABINV With CTAB you can read the following value for a leading value directly from the parts program or from Following value Following value synchronized actions (Chapter 10). degrees degrees W ith CTABINV, you can read the leading value for a FW FW following value. This assignment does not always have to be unique. CTABINV therefore requires an approximate value (aproxLW) for the expected leading value. CTABINV returns the leading value that is closest to the approximate value. The LW Leading LW Leading approximate value can be the leading value from the value value previous interpolation cycle. approx. B oth functions also output the gradient of the table function at the correct position to the gradient parameter (degrees). In this way, the you can calculate the speed of the leading or following axis at the corresponding position. Reading segment positions, CTABSSV, CTABSEV C TABSSV can be used to read the starting value of the curve segment belonging to the specified leading value directly from the parts program or from synchronous actions (Chapter 10). C TABSEV can be used to read the end value of the curve segment belonging to the specified leading value directly from the parts program or from synchronous actions (Chapter 10). Additional notes Optional specification of the leading or following axis for CTAB/CTABINV/CTABSSV/CTABSEV is important if the leading and following axes are configured in different length units.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9-369 9 Path Traversing Behavior 11.029.3 Curve tables, CTABDEF, CTABEND, CTABDEL, CTAB, CTABINV, 9 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Programming example Use of CTABSSV and CTABSEV N10 DEF REAL STARTPOS N20 DEF REAL ENDPOS N30 DEF REAL GRADIENT ... Beginning of table definitionN100 CTABDEF(Y,X,1,0) N110 X0 Y0 Starting position 1st table segment N120 X20 Y10 E nd position 1st table segment = start N130 X40 Y40 position 2nd table segment ... N140 X60 Y10 N150 X80 Y0 N 160 CTABEND End of table definition ... N 200 STARTPOS = CTABSSV(30.0, 1, S tart position Y in segment 2 = 10 GRADIENT) ... N 210 ENDPOS = CTABSEV(30.0, 1, End position Y in segment 2 = 40 GRADIENT) Segment 2 belongs to LV X = 30.0. Deleting curve tables, CTABDEL With CTABDEL you can delete the curve tables. Curve tables that are active in a coupling cannot be deleted. If at least one curve table is active out of a multiple delete command C TABDEL() or CTABDEL(n, m) in a coupling, none of the addressed curve tables will be deleted. As from SW 6.3, curve tables of a certain memory type can be deleted by optional memory type specification.  Siemens AG, 2002. All rights reserved 9-370 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9 11.02 Path Traversing Behavior9.3 Curve tables, CTABDEF, CTABEND, CTABDEL, CTAB, CTABINV, 9 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 O verwriting curve tables A curve table is overwritten as soon as is number is used in another table definition. Active tables cannot be overwritten. Additional notes N o warning is output when you overwrite curve tables! Additional notes With the system variable $P_CTABDEF it is possible to query from inside a parts program whether a curve table definition is active. The parts program section can be used as a curve table definition after excluding the statements and therefore as a real parts program again. Programming example A program section is to be used unchanged for defining a curve table. The command for preprocess stop STOPRE can remain and is active again immediately as soon as the program section is not used for table definition and CTABDEF and CTABEND have been removed: C TABDEF(Y,X,1,1) … … I F NOT ($P_CTABDEF) STOPRE ENDIF … … CTABEND  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9-371 9 Path Traversing Behavior 11.029.3 Curve tables, CTABDEF, CTABEND, CTABDEL, CTAB, CTABINV, 9 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 C urve tables and various operating states During active block search, calculation of curve tables is not possible. If the target block is within the definition of a curve table, an alarm is output when CTABEND is reached. Programming example 1 Y Definition of a curve table 6 5 4 3 2 1 X 5 20 100 150 180 N100 CTABDEF(Y,X,3,0) Beginning of the definition of a non-periodic curve table with number 3 N 110 X0 Y0 1. Traverse statement defines starting values and 1st intermediate point: Leading value: 5; Following value: 0 N120 X20 Y0 2 . Intermediate point: Leading value: 0...20; Following value: Starting value...0 N 130 X100 Y6 3 . Intermediate point: Leading value: 20...100; Following value: 0…6 N 140 X150 Y6 4. Intermediate point: Leading value: 100...150; Following value: 6…6 N150 X180 Y0 5. Intermediate point: Leading value: 150...180; Following value: 6…0 N200 CTABEND End of the definition; The curve table is generated in its internal representation as a polynomial up to the 3rd order;  Siemens AG, 2002. All rights reserved 9-372 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9 11.02 Path Traversing Behavior9.3 Curve tables, CTABDEF, CTABEND, CTABDEL, CTAB, CTABINV, 9 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 The calculation of the curve definition depends on the modally selected interpolation type (circle, linear, spline interpolation); The parts program state before the beginning of the definition is restored. Programming example 2 Definition of a periodic curve table with number 2, leading value range 0 to 360, following axis motion from 0 to 45 and back to 0: N 10 DEF REAL DEPPOS; N 20 DEF REAL GRADIENT; N 30 CTABDEF(Y,X,2,1) Beginning of definition N40 G1 X=0 Y=0 N50 POLY N 60 PO[X]=(45.0) N70 PO[X]=(90.0) PO[Y]=(45.0,135.0,- 90) N 80 PO[X]=(270.0) N90 PO[X]=(315.0) PO[Y]=(0.0,- 135.0,90) N 100 PO[X]=(360.0) N110 CTABEND End of definition T est of the curve by coupling Y to X: N120 G1 F1000 X0 N130 LEADON(Y,X,2) N140 X360 N150 X0 N160 LEADOF(Y,X) R ead the table function for leading value 75.0: N170 DEPPOS=CTAB(75.0,2,GRADIENT) P ositioning of the leading and the following axis: N180 G0 X75 Y=DEPPOS  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9-373 9 Path Traversing Behavior 11.029.3 Curve tables, CTABDEF, CTABEND, CTABDEL, CTAB, CTABINV, 9 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 A fter activating the coupling no synchronization of the following axis is required: N190 LEADON(Y,X,2) N200 G1 X110 F1000 N210 LEADOF(Y,X) N220 M30  Siemens AG, 2002. All rights reserved 9-374 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9 11.02 Path Traversing Behavior 9.4 Axial leading value coupling, LEADON, LEADOF 9 840D 8 40D 8 10D 8 40Di NCU 571 NCU 572 NCU 573 9.4 Axial leading value coupling, LEADON, LEADOF Programming LEADON(FAxis,LAxis,n) LEADOF(FAxis,LAxis,n) Explanation L EADON A ctivate leading value coupling LEADOF Deactivate leading value coupling F Axis Following axis L Axis Leading axis n Curve table number Function W ith the axial leading value coupling, a leading and Y a following axis are moved in synchronism. It is possible to assign the position of the following axis via a curve table or the resulting polynomial uniquely to a position of the leading axis – simulated if necessary. X Leading axis is the axis which supplies the input values for the curve table. Following axis is the axis which takes the positions calculated by means of the curve table. T he leading value coupling can be activated and deactivated both from the parts program and during the movement from synchronized actions (Chapter 10). The leading value coupling always applies in the basic coordinate system. F or information about creating curve table, see Chapter "Curve tables" in this chapter. For information about leading value coupling, see /FB/, M3, Coupled Motion and Leading Value Coupling.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9-375 9 Path Traversing Behavior 11.02 9.4 Axial leading value coupling, LEADON, LEADOF 9 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Sequence L eading value coupling requires synchronization of the leading and the following axes. This synchronization can only be achieved if the following axis is inside the tolerance range of the curve definition calculated from the curve table when the leading value coupling is activated. T he tolerance range for the position of the following axis is defined via machine data 37200 Y COUPLE_POS_TOL_COARSE. If the following axis is not yet at the correct position when the leading value coupling is activated, the s synchronization run is automatically initiated as soon axi ding win g cco r as the position setpoint value calculated for the ollo a leF sitio n ab o rve t following axis is approximately the real following axis pFollowing axis position to c u position. During the synchronization procedure the following axis is traversed in the direction that is defined by the setpoint speed of the following axis (calculated from master spindle and CTAB). Y Additional notes If the following axis position calculated moves away from the current following axis position when the leading value coupling is activated, it is not possible to establish synchronization. Actual value and setpoint coupling T he following can be used as the leading value, i.e. as the output values for position calculation of the following axis: • Actual values of the leading axis position: Actual value coupling • Setpoints of the leading axis position: Setpoint coupling  Siemens AG, 2002. All rights reserved 9-376 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9 11.02 Path Traversing Behavior 9 .4 Axial leading value coupling, LEADON, LEADOF 9 840D 8 40D 8 10D 8 40Di NCU 571 NCU 572 NCU 573 Additional notes S etpoint coupling provides better synchronization of the leading and following axis than actual value coupling and is therefore set by default. NCU Setpoint coupling is only possible if the leading and Setpoint coupling Ax1 Ax2 following axis are interpolated by the same NCU. Actual value coupling With an external leading axis, the following axis can only be coupled to the leading axis via the actual values. NCU 1 NCU 2 Ax1 Ax2 Actual value coupling Switchover between actual and setpoint coupling A switchover can be programmed via setting data $SA_LEAD_TYPE Y ou must always switch between the actual-value and setpoint coupling when the following axis stops. It is only possible to resynchronize after switchover when the axis is motionless. Application example: Y ou cannot read the actual values without error during large machine vibrations. If you use leading value coupling in press transfer, it might be necessary to switchover from actual-value coupling to setpoint coupling in the work steps with the greatest vibrations.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9-377 9 Path Traversing Behavior 11.02 9.4 Axial leading value coupling, LEADON, LEADOF 9 840D 8 40D 8 10D 8 40Di NCU 571 NCU 572 NCU 573 Leading value simulation with setpoint simulation V ia machine data, you can disconnect the interpolator for the leading axis from the servo. In this way you can generate setpoints for setpoint coupling without actually moving the leading axis. L eading values generated from a setpoint link can be read from the following variables so that they can be used, for example, in synchronized actions: - $AA_LEAD_P Leading value position - $AA_LEAD_V Leading value velocity Additional notes A s an option, leading values can be generated with other self-programmed methods. The leading values generated in this way are written into the variables - $AA_LEAD_SP Leading value position - $AA_LEAD_SV Leading value velocity a nd read from them. Before you use these variables, setting data $SA_LEAD_TYPE = 2 must be set. S tatus of coupling You can query the status of the coupling in the NC program with the following system variable: $AA_COUP_ACT[axis] 0 No coupling active 16 Leading value coupling active Deactivate leading value coupling, LEADOF W hen you deactivate the leading value coupling, the following axis becomes a normal command axis again! Axial leading value coupling and different operating states D epending on the setting in the machine data, the leading value couplings are deactivated with RESET.  Siemens AG, 2002. All rights reserved 9-378 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9 11.02 Path Traversing Behavior 9.4 Axial leading value coupling, LEADON, LEADOF 9 840D 840D 8 10D 840Di NCU 571 NCU 572 NCU 573 Programming example I n a pressing plant, an ordinary mechanical coupling between a leading axis (stanchion shaft) and axis of a transfer system comprising transfer axes and auxiliary axes is to be replaced by an electronic coupling system. I t demonstrates how a mechanical transfer system is replaced by an electronic transfer system. The coupling and decoupling events are implemented as static synchronized actions. F rom the leading axis LW (stanchion shaft), transfer axes and auxiliary axes are controlled as following axes that are defined via curve tables. F ollowing axes X Feed or longitudinal axis YL Closing or lateral axis ZL Stroke axis U Roller feed, auxiliary axis V Guiding head, auxiliary axis W Greasing, auxiliary axis Status management S witching and coupling events are managed via real- time variables: $AC_MARKER[i]=n i Marker number with: n Status value Actions T he actions that occur include, for example, the following synchronized actions: • Activate coupling, LEADON(following axis, leading axis, curve table number) • Deactivate coupling, LEADOF(following axis, leading axis) • Set actual value, PRESETON(axis, value) • Set marker, $AC_MARKER[i]=value • Coupling type: real/virtual leading value • Approaching axis positions, POS[axis]=value Conditions Fast digital inputs, real-time variables $AC_MARKER and position comparisons are linked using the Boolean operator AND for evaluation as conditions. N ote I n the following example, line change, indentation and bold type are used for the sole purpose of improving readability of the program. To the controller, everything that follows a line number constitutes a single line.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9-379 9 Path Traversing Behavior 11.02 9.4 Axial leading value coupling, LEADON, LEADOF 9 840D 8 40D 8 10D 8 40Di NCU 571 NCU 572 NCU 573 C omment ; Defines all static synchronized actions. ; **** Reset marker N2 $AC_MARKER[0]=0 $AC_MARKER[1]=0 $AC_MARKER[2]=0 $AC_MARKER[3]=0 $AC_MARKER[4]=0 $AC_MARKER[5]=0 $AC_MARKER[6]=0 $AC_MARKER[7]=0 ; **** E1 0=>1 Coupling transfer ON N10 IDS=1 EVERY ($A_IN[1]==1) AND ($A_IN[16]==1) AND ($AC_MARKER[0]==0) DO LEADON(X,LW,1) LEADON(YL,LW,2) LEADON(ZL,LW,3) $AC_MARKER[0]=1 ; **** E1 0=>1 Coupling roller feed ON N20 IDS=11 EVERY ($A_IN[1]==1) AND ($A_IN[5]==0) AND ($AC_MARKER[5]==0) DO LEADON(U,LW,4) PRESETON(U,0) $AC_MARKER[5]=1 ; **** E1 0->1 Coupling guide head ON N21 IDS=12 EVERY ($A_IN[1]==1) AND ($A_IN[5]==0) AND ($AC_MARKER[6]==0) DO LEADON(V,LW,4) PRESETON(V,0) $AC_MARKER[6]=1 ; **** E1 0->1 Coupling greasing ON N22 IDS=13 EVERY ($A_IN[1]==1) AND ($A_IN[5]==0) AND ($AC_MARKER[7]==0) DO LEADON(W,LW,4) PRESETON(W,0) $AC_MARKER[7]=1 ; **** E2 0=>1 Coupling OFF N30 IDS=3 EVERY ($A_IN[2]==1) DO LEADOF(X,LW) LEADOF(YL,LW) LEADOF(ZL,LW) LEADOF(U,LW) LEADOF(V,LW) LEADOF(W,LW) $AC_MARKER[0]=0 $AC_MARKER[1]=0 $AC_MARKER[3]=0 $AC_MARKER[4]=0 $AC_MARKER[5]=0 $AC_MARKER[6]=0 $AC_MARKER[7]=0 .... N110 G04 F01 N120 M30  Siemens AG, 2002. All rights reserved 9-380 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9 11.02 Path Traversing Behavior 9.5 Feed characteristic, FNORM, FLIN, FCUB, FPO 9 840D 840D 840Di NCU 571 NCU 572 NCU 573 9.5 Feed characteristic, FNORM, FLIN, FCUB, FPO Programming F … FNORM F… FLIN F… FCUB F=FPO(…,…,…) Explanation FNORM Basic setting. The feed value is specified as a function of the traverse path of the block and is then valid as a modal value. FLIN Path velocity profile linear: The feed value is approached linearly via the traverse path from the current value at the block beginning to the block end and is then valid as a modal value. FCUB Path velocity profile cubic: T he non-modally programmed F values are connected by means of a spline referred to the block end point. The spline begins and ends tangentially with the previous and the following feedrate specification. If the F address is missing from a block, the last F value to be programmed is used. F=FPO… Polynomial path velocity profile: The F address defines the feed characteristic via a polynomial from the current value to the block end. The end value is valid thereafter as a modal value. Function To permit flexible definition of the feed characteristic, the feed programming according to DIN 66205 has been extended by linear and cubic characteristics. The cubic characteristics can be programmed either directly or as interpolating splines. These additional characteristics make it possible to program continuously smooth velocity characteristics depending on the curvature of the workpiece to be machined. These additional characteristics make it possible to program continuously smooth velocity characteristics depending on the curvature of the workpiece to be machined.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9-381 9 Path Traversing Behavior 11.02 9.5 Feed characteristic, FNORM, FLIN, FCUB, FPO 9 840D 840D 8 40Di NCU 571 NCU 572 NCU 573 Sequence FNORM The feed address F defines the path feed as a Feedrate constant value according to DIN 66025. Please refer to Programming Guide "Fundamentals" for more detailed information on this subject. Path FLIN Feedrate T he feed characteristic is approached linearly from the current feed value to the programmed F value until the end of the block. Example: N30 F1400 FLIN X50 Path  Siemens AG, 2002. All rights reserved 9-382 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9 11.02 Path Traversing Behavior 9.5 Feed characteristic, FNORM, FLIN, FCUB, FPO 9 840D 840D 8 40Di NCU 571 NCU 572 NCU 573 F CUB Feedrate T he feed is approached according to a cubic characteristic from the current feed value to the programmed F value until the end of the block. The control uses splines to connect all the feed values programmed non-modally that have an active FCUB. The feed values act here as interpolation points for calculation of the spline interpolation. Example: N50 F1400 FCUB X50 N60 F2000 X47 Path N70 F3800 X52 … F=FPO(…,…,…) Feedrate T he feed characteristic is programmed directly via a polynomial. The polynomial coefficients are specified according to the same method used for polynomial interpolation. Example: F =FPO(endfeed, quadf, cubf) endfeed, quadf and cubf are previously defined variables. Path endfeed: Feed at block end quadf: Quadratic polynomial coefficient c ubf: Cubic polynomial coefficient W ith an active FCUB, the spline is linked tangentially to the characteristic defined via FPO at the block beginning and block end. Supplementary conditions The functions for programming the path traversing characteristics apply regardless of the programmed feed characteristic.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9-383 9 Path Traversing Behavior 11.02 9.5 Feed characteristic, FNORM, FLIN, FCUB, FPO 9 840D 8 40D 840Di NCU 571 NCU 572 NCU 573 T he programmed feed characteristic is always absolute regardless of G90 or G91. Additional notes Compressor W ith an active compressor COMPON the following applies when several blocks are joined to form a spline segment: FNORM: T he F word of the last block in the group applies to the spline segment. F LIN: The F word of the last block in the group applies to the spline segment. The programmed F value applies until the end of the segment and is then approached linearly. F CUB: T he generated feed spline deviates from the programmed end points by an amount not exceeding the value set in machine data $MC_COMPESS_VELO_TOL F=FPO(…,…,…) These blocks are not compressed. Feed optimization on curved path sections F eed polynomial F-FPO and feed spline FCUB should always be traversed at constant cutting rate CFC, thereby allowing a jerk-free setpoint feed profile to be generated. This enables creation of a continuous acceleration setpoint feed profile.  Siemens AG, 2002. All rights reserved 9-384 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9 11.02 Path Traversing Behavior 9 .5 Feed characteristic, FNORM, FLIN, FCUB, FPO 9 840D 840D 840Di NCU 571 NCU 572 NCU 573 Programming example T his example shows you the programming and Feedrate graphic representation of various feed profiles. 5000 4000 3000 2000 1000 Path N N N N N N N N N N N N N N N 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 N1 F1000 FNORM G1 X8 G91 G64 C onstant feed profile, incremental dimensioning N2 F2000 X7 S tep change in setpoint velocity N 3 F=FPO(4000, 6000, -4000) Feed profile via polynomial with feed 4000 at block end N 4 X6 P olynomial feed 4000 applies as modal value N5 F3000 FLIN X5 L inear feed profile N6 F2000 X8 L inear feed profile N7 X5 L inear feed applies as modal value N 8 F1000 FNORM X5 Constant feed profile with abrupt change in acceleration rate N9 F1400 FCUB X8 All subsequent, non-modally programmed F values are connected via splines N10 F2200 X6 N11 F3900 X7 N12 F4600 X7 N13 F4900 X5 D eactivate spline profile N14 FNORM X5 N15 X20  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9-385 9 Path Traversing Behavior 11.02 9.6 Program run with preprocessing memory, STARTFIFO, STOPFIFO, 9 840D 840D 8 10D 840Di NCU 571 NCU 572 NCU 573 9.6 Program run with preprocessing memory, STARTFIFO, STOPFIFO, STOPRE Explanation of the commands STOPFIFO Stop high-speed processing section, fill preprocessing memory, until STARTFIFO, "Preprocessing memory full" or "End of program" is detected. S TARTFIFO Start of high-speed processing section, in parallel to filling the preprocessing memory STOPRE P reprocessing stop Function Depending on its expansion level, the control system has a certain quantity of so-called preprocessing memory in which prepared blocks are stored prior to program execution and then output as high-speed NC program Preprocessing block sequences while machining is in progress. memory These sequences allow short paths to be traversed at a high velocity. P rovided that there is sufficient residual control time available, the preprocessing memory is always filled. STARTFIFO stops the machining process until the Machining in process preprocessing memory is full or until STOPFIFO or (blocks output in fast succession) STOPRE is detected. Sequence Mark processing section The high-speed processing section to be buffered in the preprocessing memory is marked at the beginning and end with STARTFIFO and STOPFIFO respectively. Example: N10 STOPFIFO N20… N100 N110 STARTFIFO Execution of these blocks does not begin until the preprocessing memory is full or command STARTFIFO is detected.  Siemens AG, 2002. All rights reserved 9-386 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9 11.02 Path Traversing Behavior 9.6 Program run with preprocessing memory, STARTFIFO, STOPFIFO, 9 840D 840D 8 10D 8 40Di NCU 571 NCU 572 NCU 573 Restrictions T he preprocessing memory is not filled or the filling process interrupted if the processing section contains commands that require unbuffered operation (reference point approach, measuring functions, ...). Stop preprocessing When STOPRE is programmed, the following block is not processed until all previously prepared and stored blocks have been fully executed. The previous block is halted with exact stop (as for G9). Example: N 10 … N30 MEAW=1 G1 F1000 X100 Y100 Z50 N40 STOPRE The control system initiates an internal preprocessing stop while status data of the machine ($A...) are accessed. Example: R10 = $AA_IM[X] ;Read actual value of X axis N ote When a tool offset or spline interpolations are active, you should not program the STOPRE command as this will lead to interruption in contiguous block sequences.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9-387 9 Path Traversing Behavior 11.02 9.7 Repositioning on contour, REPOSA, REPOSL, REPOSQ, REPOSH 9 8 40D 8 40D 8 10D 840Di NCU 571 NCU 572 NCU 573 9.7 Repositioning on contour, REPOSA, REPOSL, REPOSQ, REPOSH Programming R EPOSA RMI DISPR=… or REPOSA RMB or REPOSA RME R EPOSL RMI DISPR=… or REPOSL RMB or REPOSL RME R EPOSQ RMI DISPR=… DISR=… or REPOSQ RMB DISR=… or REPOSQ RME DISR=… or REPOSQA DISR=… REPOSH RMI DISPR=… DISR=… or REPOSH RMB DISR=… or REPOSH RME DISR=… or R EPOSHA DISR=… Explanation of the commands A pproach path REPOSA A pproach along line on all axes R EPOSL A pproach along line REPOSQ DISR=… Approach along quadrant with radius DISR REPOSQA DISR=… Approach on all axes along quadrant with radius DISR REPOSH DISR=… A pproach along semi-circle with diameter DISR R EPOSHA DISR=… Approach on all axes along semi-circle with diameter DISR R epositioning point RMI Approach interruption point RMI DISPR=… Entry point at distance DISPR in mm/inch in front of interruption point RMB Approach block start point RME DISPR=… A pproach block end point at distance DISPR in front of end point A0 B0 C0 Axes in which approach is to be made  Siemens AG, 2002. All rights reserved 9-388 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9 11.02 Path Traversing Behavior 9.7 Repositioning on contour, REPOSA, REPOSL, REPOSQ, REPOSH 9 840D 840D 8 10D 840Di NCU 571 NCU 572 NCU 573 Function If you interrupt the program run and retract the tool during the machining operation because, for example, the tool has broken or you wish to check a measurement, you can reposition at any selected point on the contour under control by the program. REPOS The REPOS command acts in the same way as a subprogram return jump (e.g. via M17). Blocks programmed after the command in the interrupt routine are not executed. For information about interrupting program runs, see also Section "Interrupt routine" in Programming Guide "Advanced". Sequence D efining repositioning point Y W ith reference to the NC block in which the program Block end point run has been interrupted, it is possible to select one Interruption point of three different repositioning points: RME Block start • RMI, interruption point RMI point RMB, block start point or last end point • RME, block end point RMB R MI DISPR=… or RME DISPR=… allows you to select a repositioning point which sits before the interruption point or the block end point. X D ISPR=... allows you to describe the contour distance in mm/inch between the repositioning point and the interruption before the end point. Even for high values, this point cannot be further away than the block start point. If no DISPR=… command is programmed, then DISPR=0 applies and with it the interruption point (with RMI) or the block end point (with RME). SW 5.2 and higher: The sign before DISPR is evaluated. In the case of a plus sign, the behavior is as previously.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9-389 9 Path Traversing Behavior 11.02 9.7 Repositioning on contour, REPOSA, REPOSL, REPOSQ, REPOSH 9 8 40D 8 40D 8 10D 8 40Di NCU 571 NCU 572 NCU 573 In the case of a minus sign, approach is behind the interruption point or, with RMB, behind the block start point. The distance between interruption point and approach point depends on the value of DISPR. Even for higher values, this point can lie in the block end point at the maximum. Application example: A sensor will recognize the approach to a clamp. An ASUB is initiated to bypass the clamp. Afterwards, a negative DISPR is repositioned on one point behind the clamp and the program is continued. A pproach with new tool T he following applies if you have stopped the Y program run due to tool breakage: When the new D number is programmed, the machining program is continued with modified tool offset values at the repositioning point. W here tool offset values have been modified, it may not be possible to reapproach the interruption point. In such cases, the point closest to the interruption point on the new contour is approached (possibly modified by DISPR). X Approach contour The motion with which the tool is repositioned on the contour can be programmed. Enter zero for the addresses of the axes to be traversed. Commands REPOSA, REPOSQA and REPOSHA automatically reposition all axes. Individual axis names need not be specified.  Siemens AG, 2002. All rights reserved 9-390 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9 11.02 Path Traversing Behavior 9.7 Repositioning on contour, REPOSA, REPOSL, REPOSQ, REPOSH 9 8 40D 840D 810D 840Di NCU 571 NCU 572 NCU 573 W hen commands REPOSL, REPOSQ and REPOSH are programmed, all geometry axes are traversed automatically, i.e. they need not be named in the command. All other axes to be repositioned must be specified in the commands. A pproach along a straight line, REPOSA, REPOSL Y Interruption point The tool approaches the repositioning point along a straight line. DI All axes are automatically traversed with command SPR REPOSA. With REPOSL you can specify which REPOSLRepositioning axes are to be moved. point E xample: REPOSL RMI DISPR=6 F400 or REPOSA RMI DISPR=6 F400 X Approach along quadrant, REPOSQ, REPOSQA The tool approaches the repositioning point along a Y IntermediateD quadrant with a radius of DISR=.... The control IS pointR system automatically calculates the intermediate point between the start and repositioning points. REPOSQ Repositioning Example: point R EPOSQ RMI DISR=10 F400 Start point X  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 9-391 9 Path Traversing Behavior 11.02 9.7 Repositioning on contour, REPOSA, REPOSL, REPOSQ, REPOSH 9 840D 8 40D 810D 8 40Di NCU 571 NCU 572 NCU 573 Approach along semi-circle, REPOSH, REPOSHA Intermediate The tool approaches the repositioning point along a Y point semi-circle with a diameter of DISR=.... The control R IS system automatically calculates the intermediate D point between the start and repositioning points. Start point Example: REPOSH RMI DISR=20 F400 Repositioning point X The following applies to circular motions REPOSH and REPOSQ: The circle is traversed in the specified working planes G17 to G19. I f you specify the third geometry axis (infeed direction) in the approach block, the repositioning point is approached along a helix in case the tool position and programmed position in the infeed direction do not coincide. I n the following cases, the control automatically switches over to linear approach REPOSL: Y ou have not specified a value for DISR. • No defined approach direction is available (program interruption in a block without travel information). • With an approach direction that is perpendicular to the current working plane.   Siemens AG, 2002. All rights reserved 9-392 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action 10 Motion-Synchronous Action 10.1 Structure, basic information ........................................................................................ 10-395 10.1.1 Programming and command elements................................................................ 10-397 10.1.2 Validity range: Identification number ID ............................................................... 10-398 10.1.3 Vocabulary word .................................................................................................. 10-399 10.1.4 Actions ................................................................................................................. 10-402 10.1.5 Overview of synchronized actions........................................................................ 10-404 10.2 Basic modules for conditions and actions ................................................................... 10-406 10.3 Special real-time variables for synchronized actions .................................................. 10-409 10.3.1 Flags/counters $AC_MARKER[n] ........................................................................ 10-409 10.3.2 Timer variable $AC_TIMER[n], SW 4 and higher ................................................ 10-409 10.3.3 Synchronized action parameters $AC_PARAM[n]............................................... 10-410 10.3.4 Access to R parameters $Rxx ............................................................................. 10-411 10.3.5 Machine and setting data read/write (SW 4 and higher)...................................... 10-412 10.3.6 FIFO variable $AC_FIFO1[n] … $AC_FIFO10[n] (SW 4 and higher).................. 10-413 10.4 Actions within synchronized actions............................................................................ 10-415 10.4.1 Auxiliary functions output ..................................................................................... 10-415 10.4.2 Set read-in disable RDISABLE ............................................................................ 10-416 10.4.3 Cancel preprocessing stop STOPREOF ............................................................. 10-417 10.4.4 Deletion of distance-to-go .................................................................................... 10-418 10.4.5 Delete distance-to-go with preparation, DELDTG, DELDTG ("Axis 1 to x") ........ 10-418 10.4.6 Polynomial definition, FCTDEF, block-synchronized ........................................... 10-420 10.4.7 Laser power control ............................................................................................. 10-422 10.4.8 Evaluation function SYNFCT ............................................................................... 10-423 10.4.9 Adaptive control (additive).................................................................................... 10-424 10.4.10 Adaptive control (multiplicative) ........................................................................... 10-425 10.4.11 Clearance control with limited compensation....................................................... 10-426 10.4.12 Online tool offset FTOC ....................................................................................... 10-428 10.4.13 Positioning movements........................................................................................ 10-430 10.4.14 Position axis POS ................................................................................................ 10-432 10.4.15 Start/stop axis MOV............................................................................................. 10-432 10.4.16 Axial feed FA........................................................................................................ 10-433 10.4.17 SW limit switch..................................................................................................... 10-434 10.4.18 Axis coordination.................................................................................................. 10-434 10.4.19 Set actual value.................................................................................................... 10-436 10.4.20 Spindle motions ................................................................................................... 10-437 10.4.21 Coupled-axis motion TRAILON, TRAILOF .......................................................... 10-438 10.4.22 Leading value coupling LEADON, LEADOF ........................................................ 10-439 10.4.23 Measurement ....................................................................................................... 10-441 10.4.24 Set/clear wait marks: SETM, CLEARM (SW 5.2 and higher) .............................. 10-441  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-393 10 Motion-Synchronous Action 11.02 10 10.4.25 Error responses....................................................................................................10-442 10.4.26 Travel to fixed stop FXS and FOCON/FOCOF....................................................10-442 10.5 Technology cycles .......................................................................................................10-445 10.5.1 Lock, unlock, reset: LOCK, UNLOCK, RESET ....................................................10-447 10.6 Cancel synchronized action: CANCEL ........................................................................10-449 10.7 Supplementary conditions ...........................................................................................10-450  Siemens AG, 2002. All rights reserved 10-394 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action 10.1 Structure, basic information 10 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 CCU2 10.1 Structure, basic information Function Synchronized actions allow you to start different actions from the current parts program and to execute Part program them synchronously. Block preparation The starting point of these actions can be defined with conditions evaluated in real time (in interpolation Prepared blocks cycles). The actions are therefore responses to real- Conditions Actions time events, execution of them is not limited by block NCK inputs NCK outputs Setpoints Positions boundaries. Actual values VelocitiesRealtime processing Polynomial A synchronized action also contains information Synchronous actionscoefficients NC functionsLogic operations Measuring about the effectiveness of the actions and about the Parameters Switch on link Flags M/H function frequency with which the programmed real-time Servo values output Change polynom. variables are scanned and therefore about the coefficients frequency with which the actions are started. In this way, an action can be triggered just once or cyclically in interpolation cycles. Programming DO Action1 Action2 … VOCABULARY_WORD condition DO action1 action2 ... ID=n VOCABULARY_WORD condition DO action1 action2 ... IDS=n VOCABULARY_WORD condition DO action1 action2 ... Explanation Identification number ID/IDS ID=n Modal synchronized actions in automatic mode, local to program; n = 1... 255 IDS=n Modal synchronized actions in each mode, static; n = 1... 255 Without ID/IDS Non-modal synchronized actions in automatic mode Vocabulary word No vocabulary word Execution of the action is not subject to any condition. The action is executed cyclically in any interpolation cycles.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-395 10 Motion-Synchronous Action 11.02 1 0.1 Structure, basic information 10 840 D 840 D 810 D 840Di NCU 571 NCU 572 NCU 573 WHEN The condition is tested until it is fulfilled once, the associated action is executed once. WHENEVER The condition is tested cyclically. The associated action is executed cyclically while the condition is fulfilled. FROM After the condition has been fulfilled once, the action is executed cyclically while the synchronized action is active. EVERY The action is initiated once when the condition is fulfilled and is executed again when the condition changes from the FALSE state to the TRUE state. The condition is tested cyclically. Every time the condition is fulfilled, the associated action is executed. Condition Gating logic for real-time variables, the conditions are checked in the interpolation cycle. In SW 5 and higher, the G codes can be programmed in synchronized actions for condition evaluation. DO Triggers the action if the condition is fulfilled. Action Action started if the condition is fulfilled, e.g. assign variable, activate axis coupling, set NCK outputs, output M and H functions, ... In SW 5 and higher, the G codes can be programmed in synchronized actions for actions/technology cycles. Coordination of synchronized actions/technology cycles CANCEL[n] Cancel synchronized action LOCK[n] Inhibit technology cycle UNLOCK[n] Enable technology cycle RESET Reset technology cycle Programming example WHEN $AA_IW[Q1]>5 DO M172 H510 ;If the actual value of axis Q1 exceeds 5 mm, auxiliary functions M172 and H510 are output to the PLC interface. If real-time variables occur in a parts program (e.g. actual value, position of a digital input or output etc.), preprocessing is stopped until the previous block has been executed and the values of the real-time variables obtained. The real-time variables used are evaluated in interpolation cycles. Advantages with synchronized actions: Preprocessing is not stopped.  Siemens AG, 2002. All rights reserved 10-396 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action 10.1 Structure, basic information 10 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 CCU2 Possible applications: • Optimization of runtime-critical applications (e.g. tool changing) • Fast response to an external event • Programming AC controls • Setting up safety functions • .... 10.1.1 Programming and command elements Function A synchronized action is programmed on its own in a separate block and triggers a machine function in the next executable block (e.g. traversing movement with G0, G1, G2, G3; block with auxiliary function output). S ynchronized actions consist of up to five command elements each with a different task: A c tio n ID n um b er: V o ca bu la ry w ord : C o nd ition D O S c op e o f va lid ity S ca n fre qu en cy Technology cycle Example: ID=1 WHENEVER $A_IN[1]==1 DO $A_OUT[1]=1 S ynchronized action no. 1: whenever input 1 is set t hen s et output 1  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-397 opt. G code for condition opt. G code for action/techno. c. 10 Motion-Synchronous Action 11.02 10.1 Structure, basic information 10 840 D 840 D 810 D 840Di NCU 571 NCU 572 NCU 573 10.1.2 Validity range: Identification number ID Function T he scope of validity of a synchronized action is defined by the identification number (modal ID): • No modal ID The synchronized action is active in automatic mode only. It applies only to the next executable block (block with motion instructions or other machine action), is non-modal. Example: WHEN $A_IN[3]==TRUE DO $A_OUTA[4]=10 G1 X20 ;Executable block • ID=n; n=1...255 The synchronized action applies modally in the following blocks and is deactivated by CANCEL(n) or by programming a new synchronized action with the same ID. The synchronized actions that apply in the M30 block are also still active (if necessary deactivate with the CANCEL command). ID synchronized actions only apply in automatic mode. Example: ID=2 EVERY $A_IN[1]==1 DO POS[X]=0 • IDS=n; n=1...255 These static synchronized actions apply modally in all operating modes. They can be defined not only for starting from a parts program but also directly after power-on from an asynchronous subprogram (ASUB) started by the PLC. In this way, actions can be activated that are executed regardless of the mode selected in the NC. Example: IDS=1 EVERY $A_IN[1]==1 DO POS[X]=100  Siemens AG, 2002. All rights reserved 10-398 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action 10.1 Structure, basic information 10 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 CCU2 A pplication: • AC loops in JOG mode • Logic operations for Safety Integrated • Monitoring functions, responses to machine states in all modes Sequence of execution S ynchronized actions that apply modally or statically are executed in the order of their ID(S) numbers (in the interpolation cycle). Non-modal synchronized actions (without ID number) are executed in the programmed sequence after execution of the modal synchronized actions. 1 0.1.3 Vocabulary word Function T he vocabulary word determines how many times the following condition is to be scanned and the associated action executed. • No vocabulary word: Example: If no vocabulary word is programmed, the condition is DO $A_OUTA[1]=$AA_IN[X] considered to be always fulfilled. The synchronous ;Output of actual value on analog commands are executed cyclically. output • WHEN The condition is scanned in each interpolation cycle until it is fulfilled once, whereupon the action is executed once. • WHENEVER The condition is scanned in each interpolation cycle. The action is executed in each interpolation cycle while the condition is fulfilled.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-399 10 Motion-Synchronous Action 11.02 10.1 Structure, basic information 10 840 D 840 D 810 D 840Di NCU 571 NCU 572 NCU 573 • FROM The condition is tested in each interpolation cycle until it is fulfilled once. The action is then executed while the synchronous action is active, i.e. even if the condition is no longer fulfilled. • EVERY E xample: The condition is scanned in each interpolation cycle. ID=1 EVERY $AA_IM[B]>75 DO POS[U]=IC(10) FA[U]=900; The action is executed once whenever the condition When the actual value of axis B is fulfilled. overshoots the value 75 in Pulse edge control: machine coordinates, the U axis The action is initiated again when the condition should move forwards by 10 with changes from FALSE to TRUE. an axial feed. Condition Defines whether an action is to be executed by comparing two real-time variables or one real-time variable with an expression calculated during preprocessing. SW 4 and higher: Results of comparisons can also be gated by Boolean operators in the condition (). The condition is tested in interpolation cycles. If it is fulfilled, the associated action is executed. SW 5 and higher: Conditions can be specified with a G code. This means that it is possible to have defined settings for condition evaluation and the action/technology cycle irrespective of the currently active parts program state. It is necessary to decouple synchronized actions from the programming environment because synchronized actions are to execute their actions in the defined initial state at any time when the trigger conditions are fulfilled. Application cases: Defining the measurement systems for condition assessment and action via G codes G70, G71, G700, G710.  Siemens AG, 2002. All rights reserved 10-400 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action 10.1 Structure, basic information 10 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 CCU2 I n SW 5 only these G codes are allowed. A specified G code for the condition applies for assessment of the condition as well as for the action if there is no separate G code specified for the action. Only one G code of the G code group may be programmed for each condition part. Programming example WHENEVER $AA_IM[X] > 10.5*SIN(45) DO … Comparison with an expression calculated during preprocessing WHENEVER $AA_IM[X] > $AA_IM[X1] DO … Comparison with other real-time variable W HENEVER ($A_IN[1]==1) OR ($A_IN[3]==0) DO Two logic-gated comparisons ... P ossible conditions: • Comparison of real-time variables (analog/digital inputs/outputs, etc.) • Boolean gating of comparison results • Computation of real-time expressions • Time/distance from beginning of block • Distance from block end • Measured values, measured results • Servo values • Velocities, axis status  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-401 10 Motion-Synchronous Action 11.02 1 0.1 Structure, basic information 10 840 D 840 D 810 D 840Di NCU 571 NCU 572 NCU 573 10.1.4 Actions Function I n each synchronized action, you can program one or more actions. All actions programmed in a block are started in the same interpolation cycle. In SW 5 and higher, actions can be used with a G code for the action/technology cycle. This G code specifies another G code from the one set for the condition for all actions in the block and technology cycles if necessary. If there are technology cycles in the action part, then after completion of the technology cycle the G code continues to apply modally for all subsequent actions until the next G code. Only a G code from the G code group (G70, G71, G700, G710) may be programmed. Possible actions: • Assign variables • Write setting data • Set control parameters • DELDTG: Delete fast distance-to-go • RDISABLE: Set read-in disable • Output M, S and H auxiliary functions • STOPREOF: Cancel preprocessing stop • FTOC: Online tool offset • Definition of evaluation functions (polynomials) • SYNFCT: Activate evaluation functions: AC control • Switchover between several feedrates in a programmed block depending on binary and analog signals • Feedrate overrides • Start/position/stop positioning axes (POS) and spindles (SPOS) • PRESETON: Set actual value  Siemens AG, 2002. All rights reserved 10-402 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action 10.1 Structure, basic information 10 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 CCU2 • Activate or deactivate coupled-axis motion/leading value coupling • Measurement • Set up additional safety functions • Output of digital and analog signals • ... Programming example Synchronized action with two actions WHEN $AA_IM[Y] >= 35.7 DO M135 $AC_PARAM=50 If the condition is fulfilled, M135 is output to the PLC and the override is set to 50%. A s the action, you can also specify a program (single-axis program, technology cycle). This must only comprise those actions that can also be programmed individually in synchronized actions. The individual actions of such a program are executed sequentially in interpolation cycles. N ote Actions can be executed whatever mode is selected. The following actions are only active in automatic mode when the program is active • STOPREOF, • DELDTG.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-403 10 Motion-Synchronous Action 11.02 10.1 Structure, basic information 10 840 D 840 D 810 D 840Di NCU 571 NCU 572 NCU 573 1 0.1.5 Overview of synchronized actions SW 3.x and lower • Programming of sequences in the interpolation cycle at the user level (parts program) • Response to events/statuses in the interpolation cycle • Gating logic in real time • Access to I/Os, control status and machine status • Programming of cyclic sequences that are executed in the interpolation cycle • Triggering of specific NC functions (read-in disable, axially overlaid motion, ... ) • Execution of technology functions in parallel with path motion • Triggering of technology functions regardless of block boundaries SW 4 and higher • Diagnosis possible for synchronized actions • Expansion of the main run variable used in synchronized actions • Complex conditions in synchronized actions • Expansion of expressions in synchronized actions: Combination of real-time variables with basic arith- metic operations and functions in the interpolation cycle, indirect addressing of main run variables via index can be changed online Setting data from synchronized actions can be modified and evaluated online • Configuration possibilities: Number of simultaneously ac- tive synchronized actions can be set via machine data. • Start positioning axis motion and spindles from synchronized actions (command axes) • Preset from synchronized actions • Activation, deactivation, parameterization of axis coupling: Leading value coupling, coupled-axis motion • Activation/deactivation of axial measuring function • Software cams  Siemens AG, 2002. All rights reserved 10-404 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action 10.1 Structure, basic information 10 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 CCU2 • Delete distance-to-go without stopping preprocessing • Single-axis programs, technology cycles • Synchronized actions active in JOG mode beyond the boundaries of the program • Synchronized actions that can be influenced from the PLC • Protected synchronized actions • Expansion for overlaid motion / clearance control SW 5.x and higher • Travel to fixed stop FXS: Synchronized actions, triggered with FXS, FXST and FXSW • Travel with limited moment/force FOC: Synchronized action is activated either modally or non-modally with FOCON and deactivated with FOCOF.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-405 10 Motion-Synchronous Action 11.02 1 0.2 Basic modules for conditions and actions 10 840 D 840 D 810 D 840Di NCU 571 NCU 572 NCU 573 10.2 Basic modules for conditions and actions R eal-time variables Real-time variables are evaluated and written in the interpolation cycle. The real-time variables are • $A… , main run variable, • $V... , servo variable. To identify them specially, these variables can be programmed with $$: $ AA_IM[X] is equivalent to $$AA_IM[X]. S etting and machine data must be identified with $$ when evaluation/assignment takes place in the interpolation cycle. A list of variables is given in the Appendix. Calculations in real time Calculations in real time are restricted to the data types INT, REAL and BOOL. Real-time expressions are calculations that can be executed in interpolation cycles that can be used in the condition and the action for assignment to NC addresses and variables. • Comparisons In conditions, variables or partial expressions of the same data type can be compared. The result is always of data type BOOL. All the usual comparison operators are permissible (==, , , =). • Boolean operators Variables, constants and comparisons can be gated using the usual Boolean operators (NOT, AND, OR, XOR)  Siemens AG, 2002. All rights reserved 10-406 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action 10.2 Basic modules for conditions and actions 10 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 CCU2 • Bit operators The bit operators B_NOT, B_AND, B_OR, B_XOR can be used. Operands are variables or constants of the INTEGER type. • Basic arithmetic operations Real-time variables of types INTEGER and REAL can be subjected to the basic arithmetic operations, with each other or with a constant (+, –, *, /, DIV, MOD). • Mathematical functions Mathematical functions cannot be applied to real- time variables of data type REAL (SIN, COS, TAN, ASIN, ACOS, ABS, TRUNC, ROUND, LN, EXP, ATAN2, ATAN, POT, SQRT, CTAB, CTABINV). Example: DO $AC_PARAM[3] = COS($AC_PARAM[1])  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-407 10 Motion-Synchronous Action 11.02 10.2 Basic modules for conditions and actions 10 840 D 840 D 810 D 840Di NCU 571 NCU 572 NCU 573 Notes Only variables of the same data type can be Correct: $R10=$AC_PARAM[1] gated. I ncorrect: $R10=$AC_MARKER[1] M ultiplication and division are performed before addition and subtraction and bracketing of expressions is permissible. T he operators DIV and MOD are permissible for the data type REAL (SW 4 and higher). Example: DO $AC_PARAM[3] = $A_INA[1]-$AA_IM[Z1] ; Subtraction of two real-time variables WHENEVER $AA_IM[x2] < $AA_IM[x1]-1.9 DO $A_OUT[5] = 1 ;Subtraction of a constant from real-time variable DO $AC_PARAM[3] = $INA[1]-4*SIN(45.7 $P_EP[Y])*R4 ;Constant expression, calculated during preprocessing • Indexation Real-time variables can be indexed with real-time variables. Notes Variables that are not formed in real time must not be indexed with real-time variables. Example: WHEN…DO $AC_PARAM[$AC_MARKER[1]] = 3 I llegal: $AC_PARAM[1] = $P_EP[$AC_MARKER] Programming example E xample of real-time expressions ID=1 WHENEVER ($AA_IM[Y]>30) AND ($AA_IM[Y]10) Output of the result of a comparison  Siemens AG, 2002. All rights reserved 10-408 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action 10.3 Special real-time variables for synchronized actions 10 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 CCU2 10.3 Special real-time variables for synchronized actions T he real-time variables listed below can be used in synchronized actions: 1 0.3.1 Flags/counters $AC_MARKER[n] Function F lag variablescan be read and written in synchronized actions. Channel-specific flags/counters $AC_MARKER[n] Data type: INTEGER A channel-specific flag variable exists under the same name once in each channel. Example: WHEN ... DO $AC_MARKER[0] = 2 WHEN ... DO $AC_MARKER[0] = 3 WHEN $AC_MARKER == 3 DO $AC_OVR=50 1 0.3.2 Timer variable $AC_TIMER[n], SW 4 and higher Function ( not 840D NCU 571, FM-NC) T he system variable $AC_TIMER[n] allows actions to be started following defined waiting times. Data type: REAL Units: s n: Number of the timer variable • Set timer A timer variable is incremented via value assignment $AC_TIMER[n]=value  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-409 10 Motion-Synchronous Action 11.02 1 0.3 Special real-time variables for synchronized actions 10 8 40 D 810 D 840Di NCU 572 NCU 573 CCU2 n: Number of the timer variable value: Starting value (usually 0) • Halt timer Incrementation of a timer variable is halted by assigning a negative value $AC_TIMER[n]=-1 • Read timer The current time value can be read when the timer is running or when it has stopped. When the timer is stopped by assigning the value -1, the most up-to-date timer value is retained and can be read. Example: Output of an actual value via analog output 500 ms after detection of a digital input WHEN $A_IN[1] == 1 DO $AC_TIMER[1]=0 ; Reset and start timer WHEN $AC_TIMER[1]>=0.5 DO $A_OUTA[3]=$AA_IM[X] $AC_TIMER[1]=-1 1 0.3.3 Synchronized action parameters $AC_PARAM[n] Function D ata type: REAL n : Number of parameter 0-n Synchronized action parameters $AC_PARAM[n] are used for calculations and as a buffer in the synchronized actions. The number of available AC parameter variables per channel are defined using machine data MD 28254: MM_NUM_AC_PARAM. T he parameters are available once per channel under the same name. The $AC_PARAM flags are stored in the dynamic memory.  Siemens AG, 2002. All rights reserved 10-410 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action 10.3 Special real-time variables for synchronized actions 10 8 40D 810D 8 40Di NCU 572 NCU 573 CCU2 10.3.4 Access to R parameters $Rxx Function D ata type: REAL T hese static variables are used for calculations in the parts program etc. They can be addressed in the interpolation cycle by appending $. E xamples: WHEN $AA_IM[X]>=40.5 DO $R10=$AA_MM[Y] Write access to the R parameter 10. WHEN $AA_IM[X]>=6.7 DO $R[$AC_MARKER[1]]=30.6 ;Read access to the R parameter whose number is given in flag 1 N otes Application: T he use of R parameters in synchronized actions permits • storage of values that you want to retain beyond the end of program, NC reset, and Power On. • display of stored value in the R parameter display • archiving of values determined for synchronized actions T he R parameters must be used either as "normal" arithmetic variables Rxx or as real-time variables $Rxx. I f you want the R parameter to be used as a "normal" arithmetic variable again after it has been used in a synchronized action, make sure that the preprocessing stop is programmed explicitly with STOPRE for synchronization of preprocessing and the main run: E xample: WHEN $AA_IM[X]>=40.5 DO $R10=$AA_MM[Y] Use of R10 in synchronized actions G01 X500 Y70 F1000 STOPRE P reprocessing stop IF R10>20 Evaluation of the arithmetic variable  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-411 10 Motion-Synchronous Action 11.02 10.3 Special real-time variable for synchronized actions 10 8 40 D 810 D 840Di NCU 572 NCU 573 CCU2 10.3.5 Machine and setting data read/write (SW 4 and higher) Function F rom SW 4 and higher, it is possible to read and write the machine and setting data (MD, SD) of synchronized actions. • Read fixed MD, SD They are addressed from within the synchronized action in the same manner as in normal parts program commands and are preceded by a $ character. Example: ID=2 WHENEVER $AA_IM[z]=TOTAL DO POS[Y]=-30 $R1=$AC_FIFO1[0] ;As soon as the sum of all product lengths and intervals between products is greater than or equal to the length between the placement and the removal position, remove the product from the conveyor belt at the removal position, read the product length out of the FIFO.  Siemens AG, 2002. All rights reserved 10-414 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action 10.4 Actions within synchronized actions 10 8 40 D 840D 8 10D 840Di NCU 571 NCU 572 NCU 573 CCU2 10.4 Actions within synchronized actions 10.4.1 Auxiliary functions output Function I f the conditions are fulfilled, up to 10 M, H and S functions can be output per machining block. Auxiliary function output is activated using the action codeword "DO". The auxiliary functions are output immediately in the interpolation cycle. The output timing defined in the machine data for auxiliary functions is not active. Example: The output timing is determined when the condition Switch on coolant at a specific axis position: WHEN $AA_IM[X]>=15 DO M07 is fulfilled. POS[X]=20 FA[X]=250 Sequence Auxiliary functions must only be programmed with the vocabulary words WHEN or EVERY in non modal synchronized actions (without model ID). Whether an auxiliary function is active or not is determined by the PLC, e.g. via NC start. Notes Not possible from a motion synchronized action: • M0, M1, M2, M17, M30: Program halt/end (M2, M17, M30 possible for technology cycle) • M70: Spindle function • M functions for tool change set with M6 or via machine data • M40, M41, M42, M43, M44, M45: Gear change Programming example WHEN $AA_IW[Q1]>5 DO M172 H510 I f the actual value of axis Q1 exceeds 5 mm, auxiliary functions M172 and H510 are output to the PLC.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-415 10 Motion-Synchronous Action 11.02 10.4 Actions within synchronized actions 10 840 D 8 40 D 810 D 8 40Di NCU 571 NCU 572 NCU 573 CCU2 10.4.2 Set read-in disable RDISABLE Function W ith RDISABLE further block execution is stopped in the main program if the condition is fulfilled. Programmed synchronized motion actions are still executed, the following blocks are still prepared. A t the beginning of the block with RDISABLE, exact positioning is always triggered whether RDISABLE is active or not. Programming example Start the program in interpolation cycles dependent on external inputs. ... WHENEVER $A_INA[2]50… Programming example Rapid axial delete distance-to-go Stopping a programmed positioning movement: I D=1 WHEN $A_IN[1]==1 DO MOV[V]=3 FA[V]=700 S tart axis WHEN $A_IN[2]==1 DO DELDTG(V) Delete distance-to-go, the axis is stopped using MOV=0 D elete distance-to-go depending on the input voltage: W HEN $A_INA[5]>8000 DO DELDTG(X1) ;As soon as voltage on input 5 exceeds 8V, delete distance-to-go for axis X1. Path motion continues. POS[X1]=100 FA[X1]=10 G1 Z100 F1000 Restriction P repared delete distance-to-go • cannot be used with active tool radius correction. • the action must only be programmed in non modal synchronized actions (without ID number).  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-419 10 Motion-Synchronous Action 11.0210.4 Actions within synchronized actions 10 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 10.4.6 Polynomial definition, FCTDEF, block-synchronized Programming FCTDEF(Polynomial_No.,LLIMIT,ULIMIT,a0,a1,a2,a3) Explanation Polynomial_No. Number of the 3rd degree polynomial LLIMIT Lower limit for function value ULIMIT Upper limit for function value a0,a1,a2,a3 Polynomial coefficient Function FCTDEF allows 3rd degree polynomials to be defined as y=a0+a x+a x 2+a 31 2 3x . These polynomials are used by the online tool offset FTOC and the evaluation function SYNFCT to calculate function values from the main run variables (real-time variables). The polynomials are defined either block- synchronized with the function FCTDEF or via system variables: $AC_FCTLL[n] Lower limit for function value $AC_FCTUL[n] Upper limit for function value $AC_FCT0[n] a0 $AC_FCT1[n] a1 $AC_FCT2[n] a2 $AC_FCT3[n] a3 n Number of the polynomial  Siemens AG, 2002. All rights reserved 10-420 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action10.4 Actions within synchronized actions 10 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Notes • The system variables can be written from the parts program or from a synchronized action. When writing from parts programs, program STOPRE to ensure that writing is block synchronized. • SW 4 and higher: The system variables $AC_FCTLL[n], $AC_FCTUL[n], $AC_FCT0[n] to $AC_FCTn[n] can be modified from within synchronized actions (not SINUMERIK FM-NC, not SINUMERIK 840D with NCU 571). W hen writing form synchronized actions, the polynomial coefficients and function value limits are active immediately. P rogramming example P olynomial for straight section: W ith upper limit 1000, lower limit -1000, ordinate section a0=$AA_IM[X] and linear gradient 1 the f (X) polynomial is: Upper limit 1000 a X 1 Lower limit -1000 a0 FCTDEF(1, -1000,1000,$AA_IM[X],1)  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-421 10 Motion-Synchronous Action 11.02 10.4 Actions within synchronized actions 10 8 40D 840Di NCU 572 NCU 573 1 0.4.7 Laser power control Programming example Polynomial definition using variables One of the possible applications of polynomial definition is the laser output control. L aser output control means: Influencing the analog output in dependence on, for $AC_FCTUL 1 [ ] 0.5 example, the path velocity. Block end $AC_FCTUO 1[ ] 0.35 1 1.5EX-5 $AC_FCT1 1[ 1 ] Block start $AC_FCTLL 1 [ ] 0.2 $AC_FCTLL[1]=0.2 Definition of the polynomial coefficient $AC_FCTUL[1]=0.5 $AC_FCT0[1]=0.35 $AC_FCT1[1]=1.5EX-5 STOPRE ID=1 DO $AC_FCTUL[1]=$A_INA[2]*0.1 +0.35 Changing the upper limit online. ID=2 DO SYNFCT(1,$A_OUTA[1],$AC_VACTW) ;In dependence on the path velocity (stored in $AC_VACTW) the laser output control is controlled via analog output 1 N ote The polynomial defined above is used with SYNFCT.  Siemens AG, 2002. All rights reserved 10-422 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action 10.4 Actions within synchronized actions 10 840D 8 40Di NCU 572 NCU 573 10.4.8 Evaluation function SYNFCT Programming S YNFCT(Polynomial_No., realtime variable output, real-time variable input) Explanation P olynomial_No. With polynomial defined with FCTDEF (see Subsection "Polynomial definition"). Real-time variable output Write real-time variable Real-time variable input R ead real-time variable Function SYNFCT reads real-time variables in synchronism with execution (e.g. analog input, actual value, ...) and uses them to calculate function values up to the 3rd degree (e.g. override, velocity, axis position, ...) using an evaluation polynomial (FCTDEF). The result is output in to real-time variables and subjected to upper and lower limits with FCTDEF (see Subsection 10.4.7). A s real-time variables, variables can be selected and directly included in the processing operation • with additive influencing • with multiplicative influencing • as position offset • directly. Application The evaluation function is used • in AC control (Adaptive Control) • in laser output control • with position feedforward  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-423 10 Motion-Synchronous Action 11.02 10.4 Actions within synchronized actions 10 840D 840Di NCU 572 NCU 573 10.4.9 Adaptive control (additive) Programming example A dditive influence on the programmed feedrate F [ m m / m i n ] A programmed feedrate is to be controlled by adding using the current of the X axis (infeed axis): Upper limit The feedrate should only vary by +/– 100 mm/min 100 and the current fluctuates by +/–1A around the working point of 5A. Ι 4 5 6 [A ] Lower limit -100 1 . Polynomial definition D etermination of the coefficients y = f(x) = a0 + a1x + a2x 2 + a3x 3 a1 = -100mm/1 min A a 0 = -(-100)*5 =500 a2 = a3 = 0 (not quadratic or cubic element) Upper limit = 100 Lower limit = -100 T herefore: FCTDEF(1,-100,100,500,-100,0,0) 2 . Activate AC control I D=1 DO SYNFCT(1,$AC_VC,$AA_LOAD[x]) ;Read the current axis load (% of the max. drive current) via $AA_LOAD[x], calculate the path feedrate override with the polynomial defined above.  Siemens AG, 2002. All rights reserved 10-424 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action 10.4 Actions within synchronized actions 10 840D 8 40Di NCU 572 NCU 573 10.4.10 Adaptive control (multiplicative) P rogramming example Influence the programmed feedrate by multiplication T he aim is to influence the programmed feedrate by multiplication. The feedrate must not exceed certain limits – depending on the load on the drive: OVR [ % ] • The feedrate is to be stopped at a drive load of 80%: Override = 0. 160 • At a drive load of 30% it is possible to traverse at Upper limit 120 programmed feedrate: Override = 100%. 100 • The feedrate can be exceeded by 20%: Max. override = 120%. Lower limit Load 30 80 [% ] 1 . Polynomial definition D etermination of the coefficients y = f(x) = a0 + a1x + a x 2 2 + a x 3 3 a1 = -100%/(80-30)% = -2 a0 = 100 + (2*30) = 160 a2 = a3 = 0 (not quadratic or cubic element) Upper limit = 120 Lower limit = 0 Therefore: FCTDEF(2,0,120,160,-2,0,0) 2 . Activate AC control I D=1 DO SYNFCT(2,$AC_OVR,$AA_LOAD[x]) ;Read the current axis load (% of the max. drive current) via $AA_LOAD[x], calculate the feedrate override with the polynomial defined above.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-425 10 Motion-Synchronous Action 11.02 10.4 Actions within synchronized actions 10 8 40D 810D 8 40Di NCU 572 NCU 573 10.4.11 Clearance control with limited compensation P rogramming example I ntegrating calculation of the distance values with Z Single-dimension distance control boundary check $AA_OFF_MODE = 1 Distance Important: sensor e.g. Metal sheet The loop gain of the overlying control loop depends 0.2...0.5mm on the setting for the interpolation cycle. X Remedy: Read MD for interpolation cycle and take it Overlaid velocity into account. Upper limit Note: Restriction of the velocity of the overlying interpolator 0.6 m/min -10V 1V with MD 32020: JOG_VELO with an interpolation cycle of 12 ms: +10V Velocity: 0.120mm Lower limit /mV = m0.6 /V 0.6ms min S ubroutine: Clearance control ON %_N_AON_SPF Subroutine for clearance control ON PROC AON $AA_OFF_LIMIT[Z]=1 Determine limiting value FCTDEF(1, -10, +10, 0, 0.6, 0.12) Polynomial definition ID=1 DO SYNFCT(1,$AA_OFF[Z],$A_INA[3]) Clearance control active ID=2 WHENEVER $AA_OFF_LIMIT[Z]0 D isable axis X when limit value is overshot DO $AA_OVR[X] = 0 RET ENDPROC S ubroutine: Clearance control OFF %_N_AOFF_SPF PROC AOFF Subroutine for clearance control OFF CANCEL(1) Cancel clearance control synchronized action CANCEL(2) Cancel off limits check RET ENDPROC  Siemens AG, 2002. All rights reserved 10-426 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action 10.4 Actions within synchronized actions 10 840D 810D 840Di NCU 572 NCU 573 Main program: %_N_MAIN_MPF AON Clearance control ON ... G1 X100 F1000 AOFF Clearance control OFF M30 Notes P osition offset in the basic coordinate system W ith the system variable $AA_OFF[axis] on overlaid movement of each axis in the channel is possible. It acts as a position offset in the basic coordinate system. T he position offset programmed in this way is overlaid immediately in the axis concerned, whether the axis is being moved by the program or not. F rom SW 4 upwards, it is possible to limit the absolute value to be corrected (real-time variable output) to the variable in setting data SD 43350: AA_OFF_LIMIT. T he manner of overlaying the distance is defined in machine data MD 36750: AA_OFF_MODE: 0 Proportional valuation 1 Integrating valuation W ith system variable $AA_OFF_LIMIT[axis] a directional scan to see whether the offset value is within the limits is possible. These system variables can be scanned from synchronized actions and, when a limit value is reached, it is possible to stop the axis or set an alarm. 0 Offset value not within limits 1 Limit of offset value reached in the positive direction -1 Limit of the offset value reached in the negative direction  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-427 10 Motion-Synchronous Action 11.02 1 0.4 Actions within synchronized actions 10 8 40D 840D 810D 8 40Di NCU 571 NCU 572 NCU 573 10.4.12 Online tool offset FTOC Programming FTOC(Polynomial_No., RV, Length1_2_3 or Radius4, channel, spindle) Explanation P olynomial_No. For polynomial defined with FCTDEF, see Subsection "Polynomial definition" in this Section. R V Real-time variable for which a function value for the specified polynomial is to be calculated. L ength1_2_3 L ength compensation ($TC_DP1 to 3) or radius compensation to Radius4 which the calculated function value is added. C hannel Number of the channel in which the offset is active. No specification is made here for an offset in the active channel. FTOCON must be activated in the target channel. S pindle Only specified if it is not the active spindle which is to be compensated. Function F TOC permits overlaid movement for a geometry axis after a polynomial programmed with FCTDEF depending on a reference value that might, for example, be the actual value of an axis. T his means that you can also program modal, Online tool compensations or clearance controls as synchronized actions. Application M achining of a workpiece and dressing of a grinding wheel in the same channel or in different channels (machining and dressing channel). T he supplementary conditions and specifications for dressing grinding wheels apply to FTOC in the same way that they apply to tool offsets using PUTFTOCF. For further information, please refer to Chapter 5 "Tool Offsets".  Siemens AG, 2002. All rights reserved 10-428 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action 10.4 Actions within synchronized actions 10 840D 840D 8 10D 8 40Di NCU 571 NCU 572 NCU 573 Programming example I n this example, we want to compensate for the length of the active grinding wheel. Dressing roll Dressing amount Grinding wheel Length to be compensated Workpiece %_N_DRESS_MPF FCTDEF(1,-1000,1000,-$AA_IW[V],1) Define function ID=1 DO FTOC(1,$AA_IW[V],3,1) Select online tool compensation: Actual value of the V axis is the input value for polynomial 1; the result is added length 3 of the active grinding wheel in channel 1 as the offset value. WAITM(1,1,2) Synchronization with machining channel G1 V-0.05 F0.01 G91 Infeed movement for dressing G1 V-0.05 F0.02 ... CANCEL(1) D eselect online offset . ..  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-429 10 Motion-Synchronous Action 11.02 10.4 Actions within synchronized actions 10 8 40D 840D 810D 8 40Di NCU 571 NCU 572 NCU 573 1 0.4.13 Positioning movements Function A xes can be positioned completely unsynchonized with respect to the parts program from synchronized actions. The programming of positioning axes from synchronized actions is advisable for cyclic sequences or operations that are strongly dependent on events. Axes programmed from synchronized actions are called command axes. I n SW 5 and higher, G codes G70/G71/G700/G710 can be programmed in synchronized actions. They can be used for defining the measuring system for positioning tasks in synchronized actions. R eferences: /PG/ Chapter 3 "Specifying paths” /FBSY/ "Starting Command Axes" T he measuring system is defined using G70/G71/ G700/G710. B y programming the G functions in the synchronized action, the INCH/METRIC evaluation for the synchronized action can be defined independently of the parts program context. E xample 1 T he program environment affects the positioning travel of the positioning axis (no G function in the action part of the synchronized action) N100 R1=0 N 110 G0 X0 Z0 N120 WAITP(X) N130 ID=1 WHENEVER $R==1 DO POS[X]=10 N 140 R1=1 N150 G71 Z10 F10 Z =10mm X=10mm N160 G70 Z10 F10 Z =254mm X=254mm N 170 G71 Z10 F10 Z =10mm X=10mm N180 M30  Siemens AG, 2002. All rights reserved 10-430 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action 10.4 Actions within synchronized actions 10 8 40D 8 40D 8 10D 840Di NCU 571 NCU 572 NCU 573 E xample 2 G 71 in the action part of the synchronized action clearly determines the positioning travel of the positioning axis (metric), whatever the program environment. N 100 R1=0 N 110 G0 X0 Z0 N120 WAITP(X) N130 ID=1 WHENEVER $R==1 DO G71 POS[X]=10 N140 R1=1 N150 G71 Z10 F10 Z =10mm X=10mm N 160 G70 Z10 F10 Z=254mm X=10mm (X is always positioned to 10mm) N170 G71 Z10 F10 Z =10mm X=10mm N180 M30 Programming example D isabling a programmed axis motion I f you do not want the axis motion to start at the beginning of the block, the override for the axis can be held at 0 until the appropriate time from a synchronized action. W HENEVER $A_IN[1]==0 DO $AA_OVR[W]=0 G01 X10 Y25 F750 POS[W]=1500 FA=1000 ;The positioning axis is halted as long as digital input 1 =0  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-431 10 Motion-Synchronous Action 11.02 1 0.4 Actions within synchronized actions 10 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 1 0.4.14 Position axis POS Function POS[axis]=value U nlike programming from the parts program, the positioning axis movement has no effect on execution of the parts program. Explanation Axis: Name of the axis to be traversed V alue: The value to traverse by (depending on traverse mode) Programming example ID=1 EVERY $AA_IM[B]>75 DO POS[U]=100 Axis U is moved incrementally from the control zero by 100 (inch/mm) or to position 100 (inch/mm) independently of the traversing mode. ID=1 EVERY $AA_IM[B]>75 DO POS[U]=$AA_MW[V]-$AA_IM[W]+13.5 ;Axis U moved by a path calculated from real-time variables. 1 0.4.15 Start/stop axis MOV Programming MOV [Axis]=value Explanation Axis: Name of the axis to be started Value: Start command for traverse/stop motion. The sign determines the direction of motion. The data type for the value is INTEGER. Value>0 (usually +1): Positive direction Value 75 DO POS[U]=100 FA[U]=990 ;Define fixed feedrate value ID=1 EVERY $AA_IM[B]>75 DO POS[U]=100 FA[U]=$AA_VACTM[W]+100 ;Calculate feedrate value from real-time variables  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-433 10 Motion-Synchronous Action 11.02 10.4 Actions within synchronized actions 10 8 40D 840D 8 10D 840Di NCU 571 NCU 572 NCU 573 1 0.4.17 SW limit switch Function T he working area limitation programmed with G25/G26 is taken into account for the command axes depending on the setting data SA_WORKAREA_PLUS_ENABLE. Switching the working area limitation on and off with G functions WALIMON/WALIMOF in the parts program has no effect on the command axes. 1 0.4.18 Axis coordination Function Typically, an axis is either moved from the parts program in the motion block or as a positioning axis from a synchronized action. I f the same axis is to be traversed alternately from the parts program as a path or positioning axis and from synchronized actions, however, a coordinated transfer takes place between both axis movements. If a command axis is subsequently traversed from the parts program, preprocessing must be reorganized. This, in turn, causes an interruption in the parts program processing comparable to a preprocessing stop.  Siemens AG, 2002. All rights reserved 10-434 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action 10.4 Actions within synchronized actions 10 840D 8 40D 8 10D 840Di NCU 571 NCU 572 NCU 573 Programming example Move the X axis from either the parts program or the synchronized actions: N 10 G01 X100 Y200 F1000 X axis programmed in the parts program … N20 ID=1 WHEN $A_IN[1]==1 DO Starting positioning from the synchronized POS[X]=150 FA[X]=200 action if a digital input is set … C ANCEL(1) D eselect synchronized action … N 100 G01 X240 Y200 F1000 ;X becomes the path axis; before motion, delay occurs because of axis transfer if digital input was 1 and X was positioned from the synchronized action. P rogramming example Change traverse command for the same axis: ID=1 EVERY $A_IN[1]>=1 DO POS[V]=100 FA[V]=560 ;Start positioning from the synchronized action if a digital input >= 1 ID=2 EVERY $A_IN[2]>=1 DO POS[V]=$AA_IM[V] FA[V]=790 Axis follows, 2nd input is set, i.e. end position and feed for axis V are continuously followed during a movement when two synchronized actions are simultaneously active.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-435 10 Motion-Synchronous Action 11.02 10.4 Actions within synchronized actions 10 840D 810D 8 40Di NCU 572 NCU 573 C CU2 10.4.19 Set actual value Function When PRESETON (axis, value) is executed, the current axis position is not changed but a new value is assigned to it. Notes P RESETON can be executed from within a synchronized action in the following cases: • Modulo rotary axes that have been started from the parts program • All command axes that have been started from the synchronized action R estriction: PRESETON is not possible for axes that participate in a transformation. Programming example WHEN $AA_IM[a] >= 89.5 DO PRESETON(a4,10.5) ;Offset control zero of axis a by 10.5 length units (inch or mm) in the positive axis direction. Restriction O ne and the same axis can by moved from the parts program and from a synchronized action, only at different times. For this reason, delays can occur in the programming of an axis from the parts program if the same axis has been program in a synchronized action first. I f the same axis is used alternately, transfer between the two axis movements is coordinated. Parts program execution must be interrupted for that.  Siemens AG, 2002. All rights reserved 10-436 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action 10.4 Actions within synchronized actions 10 8 40D 8 10D 840Di NCU 572 NCU 573 CCU2 10.4.20 Spindle motions Function Spindles can be positioned completely unsynchronized with respect to the parts program from synchronized actions. This type of programming is advisable for cyclic sequences or operations that are strongly dependent on events. Programming example S tart/stop/position spindles ID=1 EVERY $A_IN[1]==1 DO M3 S1000 S et direction and speed of rotation I D=2 EVERY $A_IN[2]==1 DO SPOS=270 P osition spindle Sequence of execution If conflicting commands are issued for a spindle via simultaneously active synchronized actions, the most recent spindle command takes priority. Programming example Set direction and speed of rotation/position spindle ID=1 EVERY $A_IN[1]==1 DO M3 S300 S et direction and speed of rotation ID=2 EVERY $A_IN[2]==1 DO M4 S500 Specify new direction and new speed of rotation I D=3 EVERY $A_IN[3]==1 DO S1000 S pecify new speed ID=4 EVERY ($A_IN[4]==1) AND Position spindle ($A_IN[1]==0) DO SPOS=0  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-437 10 Motion-Synchronous Action 11.02 10.4 Actions within synchronized actions 10 840D 8 10D 8 40Di NCU 572 NCU 573 C CU2 10.4.21 Coupled-axis motion TRAILON, TRAILOF Function DO TRAILON(following axis, leading axis, A ctivate coupled-axis motion coupling factor) D O TRAILOF(following axis, leading axis, Deactivate coupled-axis leading axis 2) motion When the coupling is activated from the synchronized action, the leading axis can be in motion. In this case the following axis is accelerated up to the set velocity. The position of the leading axis at the time of synchronization of the velocity is the starting position for coupled-axis motion. The functionality of coupled-axis motion is described in the Section "Path traversing behavior". A ctivate asynchronized coupled motion: ... DO TRAILON(FA, LA, CF) Where: FA: Following axis LA: Leading axis CF: Coupling factor D eactivate asynchronized coupled motion: ... DO TRAILOF(FA, LA, LA2) Where: FA: Following axis LA: Leading axis LA2: Leading axis 2, optional Programming example $A_IN[1]==0 DO TRAILON(Y,V,1) A ctivate 1st combined axis pair when digital input is 1 $A_IN[2]==0 DO TRAILON(Z,W,-1) Activate 2nd combined axis pair G0 Z10 I nfeed of Z and W axes in opposite axis directions G0 Y20 Infeed of Y and V axes in same axis directions ... G1 Y22 V25 Superimpose dependent and independent movement of coupled-motion axis "V" ... TRAILOF(Y,V) D eactivate 1st coupled axis TRAILOF(Z,W) Deactivate 2nd coupled axis  Siemens AG, 2002. All rights reserved 10-438 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action 10.4 Actions within synchronized actions 10 8 40D 840D 810D 8 40Di NCU 571 NCU 572 NCU 573 10.4.22 Leading value coupling LEADON, LEADOF Function The axial leading value coupling can be programmed in synchronized actions without restriction. Activate axial leading value coupling: ...DO LEADON(FA,LA,NR) Where: FA: Following axis LA: Leading axis NR: Number of stored curve table D eactivate axial leading value coupling: ...DO LEADOF(FA,LA) W here: FA: Following axis LA: Leading axis T he axis to be coupled is released for synchronized action access by invoking the RELEASE function for the axis. Example: RELEASE (XKAN) ID=1 every SR1==1 to LEADON(CACH,XKAN,1) Programming example On-the-fly parting A continuous material that runs continuously through the work area of parting device is to be separated into pieces of equal length. X axis: Axis in which the continuous material runs. WCS X1 axis: Machine axis of the continuous material, MCS Y axis: Axis in which the parting device "travels" with the continuous material It is assumed that the positioning and control of the parting tool is controlled by the PLC. The signals of the PLC interface can be evaluated for the purpose of determining the degree of synchronism between the continuous material and the parting tool. Actions Activate coupling, LEADON Deactivate coupling, LEADOF Set actual value, PRESETON  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-439 10 Motion-Synchronous Action 11.02 10.4 Actions within synchronized actions 10 8 40D 8 40D 8 10D 840Di NCU 571 NCU 572 NCU 573 % _N_SHEARS1_MPF ;$PATH=/_N_WCS_DIR/_N_DEMOFBE_WPD N 100 R3=1500 ; Length of a section to be parted N200 R2=100000 R13=R2/300 N300 R4=100000 N 400 R6=30 ; Start position Y axis N500 R1=1 ; Start condition for conveyor axis N600 LEADOF(Y,X) ; Delete any existing coupling N700 CTABDEF(Y,X,1,0) ; Table definition N 800 X=30 Y=30 ; Value pair N 900 X=R13 Y=R13 N1000 X=2*R13 Y=30 N1100 CTABEND ; End of table definition N1200 PRESETON(X1,0) ; PRESET to begin N1300 Y=R6 G0 ; Start pos. Y axis, axis is linear N1400 ID=1 WHENEVER $AA_IW[X]>$R3 DO PESETON(X1,0) ;PRESET after length R3, new start following parting N 1500 RELEASE(Y) N1800 ID=6 EVERY $AA_IM[X]$R3-30 DO EADOF(Y,X) ;> 30 before traversed parting distance, deactivate coupling N2000 WAITP(X) N2100 ID=7 WHEN $R1==1 DO MOV[X]=1 ;Place material axis in continuous motion FA[X]=$R4 N2200 M30  Siemens AG, 2002. All rights reserved 10-440 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action 10.4 Actions within synchronized actions 10 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 10.4.23 Measurement C ompared with use in traverse blocks of the parts program, the measuring function can be activated and deactivated as required. • Axial measurement without deletion of distance- to-go: MEAWA[axis]=(mode, trigger event_1, ..._4 • Continuous measurement without deletion of distance-to-go: MEAC[axis]=(mode, measurement memory, trigger event_1, ..._4 For further information on measuring: See Chapter 5, "Extended Measuring Function" 10.4.24 Set/clear wait marks: SETM, CLEARM (SW 5.2 and higher) Function SETM(MarkerNumber) Set wait marker for channel CLEARM(MarkerNumber) C lear wait marker for channel In synchronized actions, wait markers can be set or deleted for the purpose of coordinating channels, for example. S ETM T he SETM command can be written in the parts program and in the action part of a synchronized action. It sets the marker MarkerNumber for the channel in which the command executes. C LEARM T he CLEARM command can be written in the parts program and in the action part of a synchronized action. It resets the flag MarkerNumber for the channel in which the command executes.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-441 10 Motion-Synchronous Action 11.02 1 0.4 Actions within synchronized actions 10 8 40D 8 40D 8 10D 8 40Di NCU 571 NCU 572 NCU 573 10.4.25 Error responses Function Incorrect responses can be programmed with synchronized actions by scanning status variables and triggering the appropriate actions. S ome possible responses to error conditions are: • Stop axis: Override=0 • Set alarm: With SETAL it is possible to set cyclic alarms from synchronized actions. • Set output • All actions possible in synchronized actions Programming example ID=67 WHENEVER ($AA_IM[X1]-$AA_IM[X2]) 17 DO FXS[X]=1 ;If X reaches a position greater than 17mm N30 G1 F200 X100 Y110 ;FXS is activated S tatic and block-related synchronized actions: The same commands FXS, FXST and FXSW can be used in static and block-related synchronized actions as in normal parts program execution. The values that are assigned can be generated by calculation.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-443 10 Motion-Synchronous Action 11.02 10.4 Actions within synchronized actions 10 840D 840D 810D 8 40Di NCU 571 NCU 572 NCU 573 Programming example T ravel to fixed stop (FXS) T riggered by a synchronized action Y axis: ; Activate static synchronized actions: N10 IDS=1 WHENEVER (($R1==1) AND ; By setting $R1=1, FXS is activated for ($AA_FXS[y]==0)) DO ; axis Y, the effective torque is reduced to $R1=0 FXS[Y]=1 FXST[Y]=10 ; 10% and a traverse motion is initiated FA[Y]=200 POS[Y]=150 ; in the direction of the fixed stop. N 11 IDS=2 WHENEVER ($AA_FXS[Y]==4) DO ; As soon as the fixed stop is detected FXST[Y]=30 ; ($AA_FXS[Y]==4), torque is increased ; to 30% N12 IDS=3 WHENEVER ($AA_FXS[Y]==1) DO ; After the fixed stop is reached, torque FXST[Y]=$R0 ; is controlled by R0 N13 IDS=4 WHENEVER (($R3==1) AND ; Deselection according to ($AA_FXS[Y]==1)) DO ; R3 and FXS[Y]=0 ; return FA[Y]=1000 POS[Y]=0 N20 FXS[Y]=0 G0 G90 X0 Y0 ; Normal program run: axis Y for N30 RELEASE(Y) ; Enable motion in synchronized action N 40 G1 F1000 X100 ; Movement of another axis N 50 ...... ; N60 GET(Y) ; Put axis Y back in the path group Programming example A ctivate torque/force limitation (FOC) N10 FOCON[X] ; Modal activation of limitation N 20 X100 Y200 FXST[X]=15 ; X travels with reduced torque (15%) N30 FXST[X]=75 X20 ; Change the torque to 75%, X travels with ; this limited torque N 40 FOCOF[X] ; Deactivation of the torque limitation  Siemens AG, 2002. All rights reserved 10-444 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action 10.5 Technology cycles 10 840D 8 40D 810D 8 40Di NCU 571 NCU 572 NCU 573 10.5 Technology cycles Function A s an action in synchronized actions, you can invoke programs. These must consist only of functions that are permissible as actions in synchronized actions. Programs structured in this way are called technology cycles. T echnology cycles are stored in the control as subroutines. As far as the user is concerned, they are called up like subroutines. Parameter transfer is not possible. I t is possible to process several technology cycles or actions in parallel in one channel. T he program end is programmed with M02/M17/M30/RET. A maximum of one axis movement per block can be programmed. Application T echnology cycles as axis programs: Each technology cycle controls only one axis. In this way, different axis motions can be started in the same interpolation cycle under event control. The parts program is now only used for the management o f synchronized actions in extreme cases.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-445 10 Motion-Synchronous Action 11.02 10.5 Technology cycles 10 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Programming example A xis programs are started by setting digital inputs. ID = 1 ID = 2 ID = 3 ID = 4 IPO cycle BCeodnideintiuonng BCeodniednituionng BCedoinedniutionng BCedoinedniutinogn IPO cycle $AA_OVR [Y] = 0 POS [Y] = 10 $AA_OVR [Y] = 0 $AA_OVR [X] = 0 IPO cycle M100 POS [Z] = 90 IPO cycle POS [X] = 100 POS [Y] = 10 IPO cycle POS [Z] = -90 IPO cycle M17 M17 M17 M ain program: I D=1 EVERY $A_IN[1]==1 DO AXIS_X I f input 1 is at 1, axis program X starts ID=2 EVERY $A_IN[2]==1 DO AXIS_Y I f input 2 is at 1, axis program Y starts I D=3 EVERY $A_IN[3]==1 DO $AA_OVR[Y]=0 I f input 3 is at 1, the override for axis Y is at 0 I D=4 EVERY $A_IN[4]==1 DO AXIS_Z I f input 4 is at 1, axis program Z starts M30 T echnology cycle AXIS_X: $AA_OVR[Y]=0 M 100 POS[X]=100 FA[X]=300 M 17 T echnology cycle AXIS_Y: P OS[Y]=10 FA[Y]=200 POS[Y]=-10 M17 T echnology cycle AXIS_Z: $AA_OVR[X]=0 POS[Z]=90 FA[Z]=250 POS[Z]=-90 M17  Siemens AG, 2002. All rights reserved 10-446 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action 10.5 Technology cycles 10 840D 840D 8 10D 8 40Di NCU 571 NCU 572 NCU 573 T echnology cycles are started as soon as their conditions are fulfilled. With positioning axes, several IPO cycles are required for execution. Other functions (OVR) are executed in one cycle. I n the technology cycle, blocks are executed in sequence. Notes If actions are called in the same interpolation cycle that are mutually exclusive, the action is started that is called from the synchronized action with the higher ID number. 1 0.5.1 Lock, unlock, reset: LOCK, UNLOCK, RESET Programming L OCK (n, n, ...) Lock technology cycle, the active action is interrupted UNLOCK (n, n, ...) U nlock technology cycle R ESET (n, n, ...) Reset technology cycle, the active action is interrupted n Identification number of the synchronized action Function E xecution of a technology cycle can be locked, unlocked or reset from within a synchronized action or from a technology cycle. Lock technology cycle, LOCK T echnology cycles can be locked using LOCK from another synchronized action or from a technology cycle. E xample: N100 ID=1 WHENEVER $A_IN[1]==1 DO M130 ... N200 ID=2 WHENEVER $A_IN[2]==1 DO LOCK(1)  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-447 10 Motion-Synchronous Action 11.02 10.5 Technology cycles 10 840D 840D 8 10D 840Di NCU 571 NCU 572 NCU 573 Unlock technology cycle, UNLOCK L ocked technology cycles can be unlocked again from another synchronized action/technology cycle with UNLOCK. With UNLOCK, this is continued at the current position, this also applies to an interrupted positioning procedure. E xample: N100 ID=1 WHENEVER $A_IN[1]==1 DO M130 ... N200 ID=2 WHENEVER $A_IN[2]==1 DO LOCK(1) ... N250 ID=3 WHENEVER $A_IN[3]==1 DO UNLOCK(1) Reset technology cycle, RESET T echnology cycles can be reset using RESET from another synchronized action or from a technology cycle. Example: N100 ID=1 WHENEVER $A_IN[1]==1 DO M130 ... N200 ID=2 WHENEVER $A_IN[2]==1 DO RESET(1) Locking on the PLC side M odal synchronized actions can be interlocked from the PLC with the ID numbers n=1 ... 64. The associated condition is no longer evaluated and execution of the associated function is locked in the NCK. All synchronized actions can be locked indiscriminately with one signal in the PLC interface. Notes A programmed synchronized action is active as Application: standard and can be protected against It should not be possible for end overwriting/locking by a machine data setting. customers to modify synchronized actions defined by the machine manufacturer.  Siemens AG, 2002. All rights reserved 10-448 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action 10.6 Cancel synchronized action: CANCEL 10 840D 8 40D 810D 840Di NCU 571 NCU 572 NCU 573 10.6 Cancel synchronized action: CANCEL Programming CANCEL(n,n,...) Cancel synchronized action n I dentification number of the synchronized action Explanation M odal synchronized actions with the identifier ID(S)=n can only be canceled directly from the parts program with CANCEL. Example: N100 ID=2 WHENEVER $A_IN[1]==1 DO M130 ... N200 CANCEL(2) Cancel synchronized action No. 2 Notes I ncomplete movements originating from a canceled synchronized action are completed as programmed.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-449 10 Motion-Synchronous Action 11.02 1 0.7 Supplementary conditions 10 8 40D 840D 810D 8 40Di NCU 571 NCU 572 NCU 573 1 0.7 Supplementary conditions • Power ON With power ON no synchronized actions are active. However, static synchronized actions can be activated on power ON with an asynchronized subroutine (ASUB) started by the PLC. • Mode change Synchronized actions activated with the vocabulary word IDS remain active following a changeover in operating mode. All other synchronized actions become inactive following operating mode changeover (e.g. axis positioning) and become active again following repositioning and a return to automatic mode. • Reset With NC reset, all actions started by synchronized actions are stopped. Static synchronized actions remain active. They can start new actions. The RESET command can be used from the synchronized action or from a technology cycle to reset a modally active synchronized action. If a synchronized action is reset while the positioning axis movement that was activated from it is still active, the positioning axis movement is interrupted. Synchronized actions of the WHEN type that have already been executed are not executed again following RESET.  Siemens AG, 2002. All rights reserved 10-450 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action 10.7 Supplementary conditions 10 8 40D 840D 8 10D 840Di NCU 571 NCU 572 NCU 573 Response following RESET Synchronized action / Modal / non-modal Static (IDS) technology cycle Active actions are reset, synchronized Active action is canceled, actions are canceled technology cycle is reset Axis / positioning spindle Movement is reset Movement is reset Speed-controlled spindle $MA_SPIND_ACTIVE_AFTER_RESET==1: $MA_SPIND_ACTIVE_AFTER_RES Spindle remains active ET==1: Spindle remains active $MA_SPIND_ACTIVE_AFTER_RESET==0: $MA_SPIND_ACTIVE_AFTER_RES Spindle is stopped. ET==0: Spindle is stopped. Leading value coupling $MC_RESET_MODE_MASK, Bit13 == 1: $ MC_RESET_MODE_MASK, Leading value coupling remains active Bit13 == 1: Leading value coupling remains active $MC_RESET_MODE_MASK, Bit13 == 0: $MC_RESET_MODE_MASK, Leading value coupling is disconnected Bit13 == 0: Leading value coupling is disconnected Measuring procedures Measurements started from synchronized M easurements started from static actions are canceled. synchronized actions are canceled. • NC Stop Static synchronized actions remain active on NC stop. Movements started from static synchronized actions are not canceled. Synchronized actions that are local to the program and belong to the active block remain active, movements started from them are stopped. • End of program End of program and synchronized action do not influence one another. Current synchronized actions are completed even after end of program. Synchronized actions active in the M30 block remain active. If you do not want them to remain active, cancel the synchronized action before end of program by pressing CANCEL (see preceding section).  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-451 10 Motion-Synchronous Action 11.02 10.7 Supplementary conditions 10 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 R esponse following end of program Synchronized action / Modal and non-modal Static (IDS) technology cycle are reset remain active Axis / positioning spindle M30 is delayed until the axis/spindle is M ovement continues stationary. Speed-controlled spindle E nd of program: S pindle remains active $MA_SPIND_ACTIVE_AFTER_RESET==1: Spindle remains active $MA_SPIND_ACTIVE_AFTER_RESET==0: Spindle is stopped Spindle remains active following a change in operating mode Leading value coupling $MC_RESET_MODE_MASK, Bit13 == 1: A coupling started from a static Leading value coupling remains active synchronized action remains $MC_RESET_MODE_MASK, Bit13 == 0: Leading value coupling is disconnected Measuring procedures M easurements started from synchronized M easurements started from actions are canceled. static synchronized actions remain active. • Block search Synchronized actions found during a block search are collected and evaluated on NC Start; the associated actions are then started if necessary. Static synchronized actions are active during block search. If polynomial coefficients programmed with FCTDEF are found during a block search, they are written directly to the setting data. • Program interruption by asynchronized subroutine ASUB start: Modal and static motion-synchronized actions remain active and are also active in the asynchronized subroutine. A SUB end: If the asynchronized subroutine is not resumed with Repos, modal and static motion- synchronized actions that were modified in the asynchronized subroutine remain active in the main program.  Siemens AG, 2002. All rights reserved 10-452 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10 11.02 Motion-Synchronous Action 10.7 Supplementary conditions 10 840D 8 40D 810D 8 40Di NCU 571 NCU 572 NCU 573 • Repositioning On repositioning REPOS, the synchronized actions that were active in the interrupted block are reactivated. Modal synchronized actions changed from the asynchronized subroutine are not active after REPOS when the rest of the block is executed. Polynomial coefficients programmed with FCTDEF are not affected by asynchronized subroutines and REPOS. No matter where they were programmed, they can be used at any time in the asynchronized subroutine and in the main program after execution of REPOS. • Deselection with CANCEL If an active synchronized action is deselected with CANCEL, this does not affect the active action. Positioning movements are terminated in accordance with programming. The CANCEL command is used to interrupt a modally or statically active synchronized action. If a synchronized action is canceled while the positioning axis movement that was activated from it is still active, the positioning axis movement is interrupted. If this is not required, the axis movement can be decelerated before the CANCEL command with axial deletion of distance-to-go: Example: ID=17 EVERY $A_IN[3]==1 DO POS[X]=15 FA[X]=1500 ;Start positioning axis movement ... WHEN ... DO DELDTG(X) ;End positioning axis movement CANCEL(1) ▀  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 10-453 10 Motion-Synchronous Action 11.02 1 0.7 Supplementary conditions 10 840D 8 40D 8 10D 840Di NCU 571 NCU 572 NCU 573  Siemens AG, 2002. All rights reserved 10-454 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 11 11.02 Oscillation 11 Oscillation 11.1 Asynchronous oscillation............................................................................................. 11-456 11.2 Oscillation controlled via synchronous actions............................................................ 11-463  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 11-455 11 Oscillation 11.0211.1 Asynchronous oscillation 11 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 11.1 Asynchronous oscillation Explanation of the commands OSP1[axis]= Position of reversal point 1 OSP2[axis]= Position of reversal point 2 OST1[axis]= Stopping time at reversal points in seconds OST2[axis]= FA[axis]= Feed for oscillating axis OSCTRL[axis]= (Set, reset options) OSNSC[axis]= Number of spark-out strokes OSE[axis]= End position OS[axis]= 1 = activate oscillation; 0 = deactivate oscillation Function An oscillating axis travels back and forth between two reversal points 1 and 2 at a defined feedrate, until the oscillating motion is deactivated. Other axes can be interpolated as desired during the oscillating motion. A path movement or a positioning axis can be used to achieve a constant infeed, however, there is no relationship between the oscillating movement and the infeed movement.  Siemens AG, 2002. All rights reserved 11-456 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 11 11.02 Oscillation11.1 Asynchronous oscillation 11 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 The oscillating axis For the oscillating axis, the following applies: • Any axis can be used as an oscillating axis. • Several oscillating axes can be active simultaneously (maximum: number of positioning axes). • Linear interpolation G1is always active for the oscillating axis – irrespective of the G command currently valid in the program. The oscillating axis can • act as an input axis for a dynamic transformation • act as a guide axis for gantry and combined- motion axes • be traversed – without jerk limitation (BRISK) or – with jerk limitation (SOFT) or – with acceleration curve with a knee (as for positioning axes). O scillation reversal points The current offsets must be taken into account when oscillation positions are defined: • Absolute specification OSP1[Z]=value Position of reversal point = sum of offsets + programmed value • Relative specification OSP1[Z]=IC(value) Position of reversal point = reversal point 1 + programmed value E xample: N 10 OSP1[Z]=100 OSP2[Z]=110 . . N40 OSP1[Z]=IC(3)  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 11-457 11 Oscillation 11.0211.1 Asynchronous oscillation 11 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Properties of asynchronized oscillation • Asynchronized oscillation is active beyond block limits on an axis-specific basis. • Block-oriented activation of the oscillation movement is ensured by the parts program. • Combined interpolation of several axes and superimposing of oscillation paths are not possible. Setting data The setting data necessary for asynchronized oscillation can be set in the parts program. If the setting data are described directly in the program, the change takes effect during preprocessing. A synchronized response can be achieved by means of a STOPRE. E xample: Oscillation with online change of reversal position $SA_OSCILL_REVERSE_POS1[Z]=-10 $ SA_OSCILL_REVERSE_POS2[Z]=10 G0 X0 Z0 W AITP(Z) I D=1 WHENEVER $AA_IM[Z] < $$AA_OSCILL_REVERSE_POS1[Z] DO $AA_OVR[X]=0 I D=2 WHENEVER $AA_IM[Z] < $$AA_OSCILL_REVERSE_POS2[Z] DO $AA_OVR[X]=0 ;If the actual value of the oscillation axis ; has exceeded the reversal point, ; the infeed axis is stopped. OS[Z]=1 FA[X]=1000 POS[X]=40 ;Switch on oscillation O S[Z]=0 ; Switch off oscillation M30  Siemens AG, 2002. All rights reserved 11-458 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 11 11.02 Oscillation11.1 Asynchronous oscillation 11 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Notes on individual functions T he following addresses allow asynchronized oscillation to be activated and controlled from the parts program. T he programmed values are entered in the corresponding setting data with block synchronization during the main run and remain active until changed again. Activate, deactivate oscillation: OS O S[axis] = 1: Activate O S[axis] = 0: Deactivate W AITP (axis): • If oscillation is to be performed with a geometry axis, you must enable this axis for oscillation with WAITP. • When oscillation has finished, this command is used to enter the oscillating axis as a positioning axis again for normal use. Stopping times at reversal points: OST1, OST2 Hold time Movement in exact stop area at reversal point -2 Interpolation is continued without waiting for exact stop -1 Wait for exact stop coarse 0 Wait for exact stop fine >0 Wait for exact stop fine and then wait for stopping time The unit for the stopping time is identical to the stopping time programmed with G4. Note Oscillation with motion-synchronous action and stopping times "OST1/OST2”. When the stopping times have elapsed, the internal block change takes place during oscillation (visible at the new residual paths of the axes). When block change has been completed, the deactivation function is checked. During checking, the deactivation function is defined according to the control setting for the "OSCTRL" sequence of motions.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 11-459 11 Oscillation 11.0211.1 Asynchronous oscillation 11 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 This timing is affected by the feedrate override. Under certain circumstances, an oscillating stroke is performed before the spark out strokes are started or the end position approached. The impression created is that the deactivation response changes. However, this is not the case. Setting feed FA The feedrate is the defined feedrate of the positioning axis. If no feedrate is defined, the value stored in the machine data applies. Defining the sequence of motions: OSCTRL The control settings for the movement are set with enable and reset options. Reset options These options are deactivated (only if they have previously been activated as setting options). Set options These options are switched over. When OSE (end position) is programmed, option 4 is implicitly activated.  Siemens AG, 2002. All rights reserved 11-460 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 11 11.02 Oscillation11.1 Asynchronous oscillation 11 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Option value Meaning 0 When the oscillation is deactivated, stop at the next reversal point (default) only possible by resetting values 1 and 2 1 When the oscillation is deactivated, stop at reversal point 1 2 When the oscillation is deactivated, stop at reversal point 2 3 When the oscillation is deactivated, do not approach reversal point if no spark-out strokes are programmed 4 Approach end position after spark-out 8 If the oscillation movement is canceled by deletion of the distance-to-go: then execute spark-out strokes and approach end position if appropriate 16 If the oscillation movement is canceled by deletion of the distance-to-go: reversal position is approached as with deactivation 32 New feed is only active after the next reversal point 64 FA = 0: Path overlay is active FA 0: Speed overlay is active 128 For rotary axis DC (shortest path) 256 0=The sparking out stroke is a dual stroke.(default) 1=single stroke. Several options are appended with plus characters. Example: OSCTRL[Z] = (1+4,16+32+64)  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 11-461 11 Oscillation 11.0211.1 Asynchronous oscillation 11 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Programming example Oscillating axis Z is to oscillate between 10 and 100. Approach reversal point 1 with exact stop fine, reversal point 2 with exact stop coarse. Machining takes place with feedrate 250 for the oscillating axis. At the end of the machining operation, 3 spark-out strokes must be executed and end position 200 approached with the oscillating axis. The feed for the infeed axis is 1, the end of the infeed in the X direction is at 15. WAITP(X,Y,Z) Starting position G0 X100 Y100 Z100 Switch over in positioning axis operation N40 WAITP(X,Z) N50 OSP1[Z]=10 OSP2[Z]=100 -> Reversal point 1, reversal point 2 -> OSE[Z]=200 -> End position -> OST1[Z]=0 OST2[Z]=–1 -> Stopping time at U1: exact stop fine Stopping time at U2: exact stop coarse -> FA[Z]=250 FA[X]=1 -> Feed for oscillating axis, infeed axis -> OSCTRL[Z]=(4,0) -> Setting options -> OSNSC[Z]=3 -> Three spark-out strokes N60 OS[Z]=1 Start oscillation N70 WHEN $A_IN[3]==TRUE -> Deletion of distance-to-go -> DO DELDTG(X) N80 POS[X]=15 Starting position X axis N90 POS[X]=50 N100 OS[Z]=0 Stop oscillation M30 -> can be programmed in a single block.  Siemens AG, 2002. All rights reserved 11-462 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 11 11.02 Oscillation11.2 Oscillation controlled via synchronous actions 11 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 11.2 Oscillation controlled via synchronous actions Programming: 1. Define parameters for oscillation 2. Define motion-synchronous actions 3. Assign axes, define infeed Parameters for oscillation OSP1[oscillating axis]= Position of reversal point 1 OSP2[oscillating axis]= Position of reversal point 2 OST1[oscillating axis]= Stopping time at reversal point 1 in seconds OST2[oscillating axis]= Stopping time at reversal point 2 in seconds FA[OscillationAxis]= Feed for oscillating axis OSCTRL[OscillationAxis]= Set or reset options OSNSC[oscillating axis]= Number of spark-out strokes OSE[OscillationAxis]= End position WAITP(OscillationAxis) Enable axis for oscillation Axis assignment, infeed OSCILL[OscillationAxis] = (InfeedAxis1, InfeedAxis2, InfeedAxis3) POSP[InfeedAxis] = (Endpos, Partial length, Mode) OSCILL Assign infeed axis or axes for oscillating axis POSP Define complete and partial infeeds (see Chapter 3) Endpos End position for the infeed axis after all partial infeeds have been traversed. Partial length Length of the partial infeed at reversal point/reversal area Mode Division of the complete infeed into partial infeeds 0 = Two residual steps of equal size (default); 1 = All partial infeeds of equal size Motion-synchronized actions WHEN… … DO when ... , do ... WHENEVER … DO whenever ... , do ...  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 11-463 11 Oscillation 11.0211.2 Oscillation controlled via synchronous actions 11 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Control oscillation via synchronized actions With this mode of oscillation, an infeed motion may only be executed at the reversal points or within defined reversal areas. Depending on requirements, the oscillation movement can be • continued or • stopped until the infeed has been finished executing. Sequence 1. Define oscillation parameters The parameters for oscillation should be defined before the movement block containing the assignment of infeed and oscillating axes and the infeed definition (see "Asynchronized oscillation"). 2. Define motion-synchronized actions The following synchronization conditions can be defined: • Suppress infeed until the oscillating axis is within a reversal area (ii1, ii2) or at a reversal point (U1, U2). • Stop oscillation motion during infeed at reversal point. • Restart oscillation movement on completion of partial infeed. • Define start of next partial infeed. 3. Assign oscillating and infeed axes as well as partial and complete infeed.  Siemens AG, 2002. All rights reserved 11-464 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 11 11.02 Oscillation11.2 Oscillation controlled via synchronous actions 11 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Assignment of oscillating and infeed axes OSCILL OSCILL[oscillating axis] = (infeed axis1, infeed axis2, infeed axis3) The axis assignments and the start of the oscillation movement are defined with the OSCILL command. Up to 3 infeed axes can be assigned to an oscillating axis. Before oscillation starts, the synchronization conditions must be defined for the behavior of the axes. Define infeeds: POSP POSP[InfeedAxis] = (EndPosition, Part, Mode) The following are declared to the control with the POSP command: • Complete infeed (with reference to end position) • The length of the partial infeed at the reversal point or in the reversal area • The partial infeed response when the end position is reached (with reference to mode) Mode = 0 The distance-to-go to the destination point for the last two partial infeeds is divided into 2 equal steps (default setting). Mode = 1 All partial infeeds are of equal size. They are calculated from the complete infeed.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 11-465 11 Oscillation 11.0211.2 Oscillation controlled via synchronous actions 11 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 The synchronized actions The synchronized motion actions listed below are used for general oscillation. You are given example solutions for individual tasks which you can use as modules for creating user- specific oscillation movements. In individual cases, the synchronization conditions can be programmed differentially. Vocabulary words WHEN … DO … when ... , do ... WHENEVER … DO whenever ... , do ... You can implement the following functions with the language resources described in detail below: 1. Infeed at reversal point 2. Infeed at reversal area. 3. Infeed at both reversal points. 4. Stop oscillation movement at reversal point. 5. Restart oscillation movement 6. Do not start partial infeed too early. The following assumptions are made for all examples of synchronized actions presented here: • Reversal point 1 < reversal point 2 • Z = oscillating axis • X = infeed axis You will find more information on synchronized motion actions in Section 11.3.  Siemens AG, 2002. All rights reserved 11-466 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 11 11.02 Oscillation11.2 Oscillation controlled via synchronous actions 11 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Infeed in reversal area The infeed motion must start within a reversal area before the reversal point is reached. These synchronized actions inhibit the infeed movement until the oscillating axis is within the reversal area. The following instructions are used subject to the above assumptions: Reversal area 1: WHENEVER $AA_IM[Z]>$SA_OSCILL_REVERSE_POS1[Z]+ii1 DO $AA_OVR[X]=0 Whenever the current position of oscillating axis in the MCS is greater than the start of reversal area 1 then set the axial override of the infeed axis to 0%. Reversal area 2: WHENEVER $AA_IM[Z] -> $AA_OVR[Z]=100 Whenever the current position of oscillating axis Z in the MCS is greater or less than the position of reversal point 1 then set the axial override of infeed axis X to 0% and set the axial override of oscillating axis Z to 100%. Reversal point 2: For reversal point 2: WHENEVER $AA_IM[Z]$SA_OSCILL_REVERSE_POS2[Z] DO $AA_OVR[X]=0 -> -> $AA_OVR[Z]=100 Whenever the current position of oscillating axis Z in the MCS is greater or less than the position of reversal point 2 then set the axial override of infeed axis X to 0% and set the axial override of oscillating axis Z to 100%.  Siemens AG, 2002. All rights reserved 11-468 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 11 11.02 Oscillation11.2 Oscillation controlled via synchronous actions 11 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Stop oscillation motion at reversal point The oscillation axis is stopped at the reversal point, the infeed motionstarts at the same time. The oscillating motion is continued when the infeed movement is complete. This synchronized action can also be used to start the infeed movement if this has been stopped by a previous synchronized action which is still active. The following instructions are used subject to the above assumptions: Reversal point 1: WHENEVER $SA_IM[Z]==$SA_OSCILL_REVERSE_POS1[Z]DO $AA_OVR[Z]=0 -> -> $AA_OVR[X] = 100 Whenever the current position of oscillating axis in the MCS is equal to the position of reversal point 1 then set the axial override of the oscillating axis to 0% and set the axial override of the infeed axis to 100%. Reversal point 2: WHENEVER $SA_IM[Z] ==$SA_OSCILL_REVERSE_POS2[Z]DO $AA_OVR[Z]= 0 -> -> $AA_OVR[X]=100 Whenever the current position of oscillating axis in the MCS is equal to the position of reversal point 2 then set the axial override of the oscillating axis to 0% and set the axial override of the infeed axis to 100%.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 11-469 11 Oscillation 11.0211.2 Oscillation controlled via synchronous actions 11 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Online evaluation of reversal point If there is a main run variable coded with $$ on the right of the comparison, then the two variables are evaluated and compared with one another continuously in the IPO cycle. Please refer to Section "Motion-synchronized actions" for more information. Restart oscillation movement This synchronized action is used to continue the oscillating movement when the partial infeed movement is complete. The following instructions are used subject to the above assumptions: WHENEVER $AA_DTEPW[X]==0 DO $AA_OVR[Z]= 100 Whenever the distance-to-go for the partial infeed on infeed axis X in the WCS is equal to zero then set the axial override of the oscillating axis to 100%.  Siemens AG, 2002. All rights reserved 11-470 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 11 11.02 Oscillation11.2 Oscillation controlled via synchronous actions 11 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Next partial infeed When infeed is complete, a premature start of the next partial infeed must be inhibited. A channel-specific marker ($AC_MARKER[Index]) is used for this purpose. It is enabled at the end of the partial infeed (partial distance-to-go ≡ 0) and deleted when the axis leaves the reversal area. A synchronized action is then used to inhibit the next infeed movement. On the basis of the given assumptions, the following instructions apply for reversal point 1: 1. Set marker WHENEVER $AA_DTEPW[X] == 0 DO $AC_MARKER[1]=1 Whenever the distance-to-go for the partial infeed on infeed axis X in the WCS is equal to zero then set the marker with index 1 to 1. 2. Clear marker WHENEVER $AA_IM[Z]$SA_OSCILL_REVERSE_POS1[Z] D0 $AC_MARKER[1]=0 Whenever the current position of oscillating axis Z in the MCS is greater or less than the position of reversal point 1 then set marker 1 to 0. 3. Inhibit infeed WHENEVER $AC_MARKER[1]==1 DO $AA_OVR[X]=0 Whenever marker 1 is equal to 1, then set the axial override of the infeed axis to 0%.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 11-471 11 Oscillation 11.0211.2 Oscillation controlled via synchronous actions 11 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Programming example No infeed is to take place at reversal point 1. At 0 10 20 30 40 50 60 70 reversal point 2, the infeed is to start at a distance of Z ii2 before reversal point 2 and the oscillating axis is 1.0 not to wait at the reversal point for the end of the 2.0 partial infeed. Axis Z is the oscillating axis and axis X the infeed axis. 3.0 4.0 5.0 Approach reversal point 1 Approach and 3 sparking-out strokes end position X Program extract 1. Define parameters for oscillation DEF INT ii2 Define variable for reversal area 2 OSP1[Z]=10 OSP2[Z]=60 Define reversal points 1 and 2 OST1[Z]=0 OST2[Z]=0 Reversal point 1: exact stop fine Reversal point 2: exact stop fine FA[Z]=150 FA[X]=0.5 Oscillating axis Z feedrate, infeed axis X feedrate OSCTRL[Z]=(2+8+16,1) Deactivate oscillating motion at reversal point 2; after delete DTG spark-out and approach end position; after delete DTG approach reversal position OSNC[Z]=3 3 spark-out strokes OSE[Z]=70 End position = 70 ii2=2 Set reversal area WAITP(Z) Enable oscillation for Z axis  Siemens AG, 2002. All rights reserved 11-472 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 11 11.02 Oscillation11.2 Oscillation controlled via synchronous actions 11 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 2. Motion-synchronized actions WHENEVER $AA_IM[Z] -> $AA_OVR[X]=0 $AC_MARKER[0]=0 Whenever the current position of oscillating axis Z in the MCS is less than the start of reversal area 2 then set the axial override of infeed axis X to 0% and set the marker with index 0 to value 0. WHENEVER $AA_IM[Z]>=$SA_OSCILL_REVERSE_POS2[Z] DO $AA_OVR[Z]=0 Whenever the current position of oscillating axis Z in the MCS is greater or equal to the position of reversal point 2 then set the axial override of oscillating axis Z to 0%. WHENEVER $AA_DTEPW[X]==0 DO $AC_MARKER[0]=1 Whenever the distance-to-go of the partial infeed is equal to 0, then set the marker with index 0 to value 1. WHENEVER $AC_MARKER[0]==1 DO $AA_OVR[X]=0 $AA_OVR[Z]=100 Whenever the marker with index 0 is equal to 1, then set the axial override of infeed axis X to 0% in order to inhibit premature infeed (oscillating axis Z has not yet left reversal area 2 but infeed axis X is ready for a new infeed) set the axial override of oscillating axis Z to 100% (this cancels the 2nd synchronized action). -> must be programmed in a separate block 3. Start oscillation OSCILL[Z]=(X) POSP[X]=(5,1,1) Start axes Assign axis X as the infeed axis for oscillating axis Z. Axis X is to travel to end position 5 in steps of 1. M30 End of program   Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 11-473 11 Oscillation 11.0211.2 Oscillation controlled via synchronous actions 11 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Notes  Siemens AG, 2002. All rights reserved 11-474 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 12 11.02 Punching and Nibbling 12 Punching and Nibbling 12.1 Activation, deactivation................................................................................................ 12-476 12.1.1 Language commands .......................................................................................... 12-476 12.1.2 Use of M commands............................................................................................ 12-479 12.2 Automatic path segmentation...................................................................................... 12-480 12.2.1 Path segmentation for path axes ......................................................................... 12-481 12.2.2 Path segmentation for single axes....................................................................... 12-482 12.2.3 Programming examples....................................................................................... 12-484  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 12-475 12 Punching and Nibbling 11.0212.1 Activation, deactivation 12 840 D 840Di NCU 572 NCU 573 12.1 Activation, deactivation 12.1.1 Language commands Programming PDELAYON PON G... X... Y... Z... PONS G... X... Y... Z... PDELAYOF SON G... X... Y... Z... SONS G... X... Y... Z... SPOF PUNCHACC(Smin, Amin, Smax, Amax) Explanation of the parameters PON Punching on PONS Punching with leader on SON Nibbling on SONS Nibbling with leader on SPOF Punching, nibbling Off PDELAYON Punching with delay On PDELAYOF Punching with delay Off PUNCHACC Travel dependent acceleration PUNCHACC (Smin, Amin, Smax, Amax) • "Smin" Minimum hole spacing • "Smax" Maximum hole spacing • "Amin" The initial acceleration Amin can be greater than Amax • "Amax" The end acceleration Amin can be less than Amax Function Punching and Nibbling, activate/deactivate, PON/SON The punching and nibbling functions are activated with PON and SON respectively. SPOF terminates all functions specific to punching and nibbling operations. Modal commands PON and SON are mutually exclusive, i.e. PON deactivates SON and vice versa.  Siemens AG, 2002. All rights reserved 12-476 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 12 11.02 Punching and Nibbling12.1 Activation, deactivation 12 840 D 840Di NCU 572 NCU 573 Punching and nibbling with leader, PONS/SONS The SONS and PONS commands also activate the punching or nibbling functions. In contrast to SON/PON - stroke control on interpolation level - PONS and SONS control stroke initiation on the basis of signals on servo level. This means that you can work with higher stroke frequencies and thus with an increased punching capacity. While signals are evaluated in the leader, all functions that cause the nibbling or punching axes to change position are inhibited. Example: Handwheel mode, changes to frames via PLC, measuring functions. Otherwise PONS and SONS work in exactly the same way as PON and SON. Punching with delay PDELAYON effects a delay in the output of the punching stroke. The command is modal and has a preparatory function. It is thus generally programmed before PON. Punching continues normally after PDELAYOF. Travel-dependent acceleration PUNCHACC The NC command PUNCHACC(Smin, Amin, Smax, Amax) specifies an acceleration characteristic that defines different accelerations (A), depending on the hole spacing (S). Example for PUNCHACC(2, 50, 10, 100) Hole spacing less than 2mm: Traversal acceleration is 50% of maximum acceleration. Hole spacing from 2mm to 10mm: Acceleration is increased to 100%, proportional to the spacing. Hole spacing greater than 10mm: Traverse at an acceleration of 100%.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 12-477 12 Punching and Nibbling 11.0212.1 Activation, deactivation 12 840 D 840Di NCU 572 NCU 573 Initiation of stroke Initiation of the first stroke The instant at which the first stroke is initiated after Y activation of the function differs depending on whether nibbling or punching is selected: PON PON/PONS: • All strokes – even the one in the first block after activation – are executed at the block end. SON S ON/SONS: • The first stroke after activation of the nibbling function is executed at the start of the block. X Positioning • Each of the following strokes is initiated at the Positioning and stroke initiation block end. Punching and nibbling on the spot A stroke is initiated only if the block contains traversing information for the punching or nibbling axes (axes in active plane). However, if you wish to initiate a stroke at the same position, you can program one of the punching/nibbling axes with a traversing path of 0. Additional notes Machining with rotatable tools Use the tangential control function if you wish to position rotatable tools at a tangent to the programmed path.  Siemens AG, 2002. All rights reserved 12-478 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 12 11.02 Punching and Nibbling12.1 Activation, deactivation 12 840 D 840Di NCU 572 NCU 573 12.1.2 Use of M commands By using macro technology, you can also use M commands instead of language commands: DEFINE M22 AS SON Nibbling on DEFINE M122 AS SONS Nibbling with leader on DEFINE M25 AS PON Punching on DEFINE M125 AS PONS Punching with leader on DEFINE M26 AS PDELAYON Punching on with delay DEFINE M20 AS SPOF Punching, nibbling off DEFINE M23 AS SPOF Punching, nibbling off  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 12-479 12 Punching and Nibbling 11.0212.2 Automatic path segmentation 12 840 D 840Di NCU 572 NCU 573 12.2 Automatic path segmentation Programming SPP= SPN= Explanation SPP Size of path section (maximum distance between strokes); modal SPN Number of path sections per block; non-modal Function Path segmentation When punching or nibbling is active, SPP and SPN cause the total traversing distance programmed for the path axes to be divided into a number of path sections of equal length (equidistant path segmentation). Each path segment corresponds internally to a block. Number of strokes When punching is active, the first stroke is executed at the end of the first path segment. In contrast, the first nibbling stroke is executed at the start of the first path segment. The number of punching/nibbling strokes over the total traversing path is thus as follows: Punching: Number of strokes = number of path segments Nibbling: Number of strokes = number of path segments + 1 Auxiliary functions Auxiliary functions are executed in the first of the generated blocks.  Siemens AG, 2002. All rights reserved 12-480 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 12 11.02 Punching and Nibbling12.2 Automatic path segmentation 12 840 D 840Di NCU 572 NCU 573 12.2.1 Path segmentation for path axes Sequence Length of SPP path segment With the SPP command, you specify the maximum distance between strokes and thus the maximum length of the path segments into which the total traversing distance is to be divided. The command is deactivated with SPOF or SPP=0. Example: N10 G1 SON X0 Y0 N20 SPP=2 X10 In this example, the total traversing distance of 10mm is divided into 5 path segments of 2mm (SPP=2) each. The path segments effected by SPP are always Y equidistant, i.e. all segments are equal in length. In other words, the programmed path segment size (SPP setting) is valid only if the quotient of the total traversing distance and the SPP value is an integer. If this is not the case, the size of the path segment is Y2 reduced internally such as to produce an integer E1 quotient. E1 Example: N10 G1 G91 SON X10 Y10 X2 X N20 SPP=3.5 X15 Y15 X2/Y2 Programmed path (nibbling or punching block) E1 Programmed path segment E1' Automatically rounded path segment length When the total traversing distance is 15mm and the path segment length 3.5mm, the quotient is not an integer value (4.28). In this case, the SPP value is reduced down to the next possible integer quotient. The result in this example would be a path segment length of 3mm.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 12-481 12 Punching and Nibbling 11.0212.2 Automatic path segmentation 12 840 D 840Di NCU 572 NCU 573 Number of SPN path segments Y SPN defines the number of path segments to be generated from the total traversing distance. The length of the segments is calculated automatically. Since SPN is non-modal, punching or nibbling must Y2 be activated beforehand with PON or SON respectively. Y1 SPP and SPN in the same block X1 X X2 If you program both the path segment length (SPP) X2/Y2 Programmed traversing distance and the number of path segments (SPN) in the X1 Automatically calculated segment in X same block, then SPN applies to this block and SPP Y1 Automatically calculated segment in Y to all the following blocks. If SPP was activated before SPN, then it takes effect again after the block with SPN. Additional notes Provided that punching/nibbling functions are available in the control, then it is possible to program the automatic path segmentation function with SPN or SPP even when the punching/nibbling functions are not in use. 12.2.2 Path segmentation for single axes If single axes are defined as punching/nibbling axes in addition to path axes, then the automatic path segmentation function can be activated for them. Response of single axis to SPP The programmed path segment length (SPP) basically refers to the path axes. For this reason, the SPP value is ignored in blocks which contain a single axis motion and an SPP value, but not a programmed path axis.  Siemens AG, 2002. All rights reserved 12-482 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 12 11.02 Punching and Nibbling12.2 Automatic path segmentation 12 840 D 840Di NCU 572 NCU 573 If both a single axis and a path axis are programmed in the block, then the single axis responds according to the setting of the appropriate machine data. 1. Default setting The path traversed by the single axis is distributed evenly among the intermediate blocks generated by SPP. 100 80 100 60 Example: 40 N10 G1 SON X10 A0 20 N20 SPP=3 X25 A100 As a result of the programmed distance between strokes of 3mm, five blocks are generated for the total traversing distance of the X axis (path axis) of 15mm. 1 2 The A axis thus rotates through 20° in every block. 2. Single axis without path segmentation The single axis traverses the total distance in the first of the generated blocks. 3. With/without path segmentation The response of the single axis depends on the interpolation of the path axes: • Circular interpolation: With path segmentation • Linear interpolation: Without path segmentation Response to SPN The programmed number of path segments is applicable even if a path axis is not programmed in the same block. Precondition: The single axis is defined as a punching/nibbling axis.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 12-483 12 Punching and Nibbling 11.0212.2 Automatic path segmentation 12 840 D 840Di NCU 572 NCU 573 12.2.3 Programming examples Programming example 1 The programmed nibbling paths must be divided 4 1 X automatically into equidistant path segments. 62.5 75 75 Y 0 DO $AN_ESR_TRIGGER=1 • and also dependent on EU synchronized operation (if, for example, Y is defined as EU following axis and if the max. allowed deviation of synchronized operation shall be 100 µml): IDS=03 WHENEVER ABS($VA_EG_SYNCDIFF[Y])>0.1 DO $AN_ESR_TRIGGER=1 13.7 Link communication (SW 5.2 and higher) Function The NCU link, which connects several NCU units from an installation, is used in configurations with a distributed system design. When there is a high demand for axes and channels, e.g. with revolving machines and multi-spindle machines, computing capacity, configuration options and memory areas can reach their limits when only one NCU is used.  Siemens AG, 2002. All rights reserved 13-522 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 13 11.02 Additional Functions13.7 Link communication (SW 5.2 and higher) 13 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Several networked NCUs connected by means of an NCU link module represent an open, scalable solution that meets all the requirements of this type of machine tool. The NCU link module (hardware) provides high-speed NCU-to-NCU communication. Options providing this functionality can be ordered separately. Function Several NCUs linked via link modules can have read and write access to a global NCU memory area via the system variables described in the following. • Each NCU linked via a link module can use global link variables. These link variables are addressed in the same way by all connected NCUs. • Link variables can be programmed as system variables. As a rule, the machine manufacturer defines and documents the meaning of these variables. • Applications for link variables: - Global machine states - Workpiece clamping open/closed - Etc. • Relatively small data volume • Very high transfer speed, therefore: Use is intended for time-critical information. • These system variables can be accessed from the parts program and from synchronized actions. The size of the memory area for global NCU system variables configurable. When a value is written in a global system variable, it can be read by all the NCUs connected after one interpolation cycle.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 13-523 13 Additional Functions 11.0213.7 Link communication (SW 5.2 and higher) 13 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Link variables are global system data that can be addressed by the connected NCUs as system variables. The - contents of these variables, - their data type, - use, and - position (access index) in the link memory are defined by the user (in this case generally the machine manufacturer). Link variables are stored in the link memory. After power-up, the link memory is initialized with 0. The following link variables can be addressed within the link memory: • INT $A_DLB[i] ; data byte (8 bits) • INT $A_DLW[i] ; data word (16 bits) • INT $A_DLD[i] ; double data word (32 bits) • REAL $A_DLR[i] ; real data (64 bits) According to the type in question, 1, 2, 4 or 8 bytes are addressed when the link variables are written/read. Index i defines the start of the respective variable in relation to the start of the configured link memory. The index is counted from 0 up. Value ranges The different data types have the following value ranges: BYTE: 0 to 255 WORD: –32768 to 32767 DWORD: –2147483648 to 2147483647 REAL: –4.19e-308 to 4.19e-307 The various NCU applications sharing access to the link memory at the same time must use the link memory in a uniform manner. When the process is completely separate in time, the link memory can be occupied differently.  Siemens AG, 2002. All rights reserved 13-524 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 13 11.02 Additional Functions13.7 Link communication (SW 5.2 and higher) 13 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Warning A link variable write process is only then completed when the written information is also available to all the other NCUs. Approximately two interpolation cycles are necessary for this process. Local writing to the link memory is delayed by the same time for purposes of consistency. For more information, please refer to the Description of Functions B3 (SW 5) Programming example $A_DLB[5]=21 The 5th byte in the shared link memory is assigned value 21.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 13-525 13 Additional Functions 11.0213.8 Axis container (SW 5.2 and higher) 13 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 13.8 Axis container (SW 5.2 and higher) Function With revolving machines/multi-spindle machines the axes holding the workpiece move from one machining station to the next. As the machining stations are controlled by different NCU channels, atstation/position change the axes holding the workpiece must be dynamically reassigned to the appropriate NCU channel. The axis container is provided for this purpose. Only one workpiece clamping axis/spindle can be active at any one time at the local machining station. The axis container compiles the possible connections with all clamping axes/spindles, of which only exactly one is always activated for the machining station. The following can be assigned via axis containers: • Local axes and/or • Link axes (see Fundamentals) The available axes that are defined in the axis container can be changed by switching the entries in the axis container. This switching function can be triggered from the parts program. The axis containers with link axes are a tool that is valid across NCUs (NCU global) and is coordinated by the control. It is also possible to have axis containers in which only local axes are managed. Detailed information on configuring axis containers can be found in /FB/, B3 (SW 5.2) The entries in the axis container can be switched by increment n via the commands: Programming AXCTSWE (CT ) i AXIS CONTAINER SWITCH ENABLE AXCTSWED(CT ) i AXIS CONTAINER SWITCH ENABLE DIRECT  Siemens AG, 2002. All rights reserved 13-526 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 13 11.02 Additional Functions13.8 Axis container (SW 5.2 and higher) 13 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Explanation CT or Number of the axis container whose contents i are to be switched or e.g. A_CONT1 individual name of axis container set via MD. Function AXCTSWE () Each channel whose axes are contained in the specified container issues an enable for a container rotation, if it has finished machining the position/station. Once the control receives the enables from all channels for the axes in the container, the container is rotated with the increment specified in the SD. Channel axis Logical machine axis image name X 1 AX2 1 Local machine axis 2 Y 2 AX3 2 Local machine axis 3 Z 6 S1 7 CT1_SL1 Axis container 1 entry 1 (slot 1) No. in the logical machine axis image Axis container 1 Axis container 1 NC1_AX1 NC1_AX5 NC2_AX2 NC1_AX1 NC2_AX1 AXCTSWE(CT1) NC2_AX2 ... NC2_AX1 ... ... ... ... NC1_AX5 ... Axis container entries displaced by increments of 1 In the preceding example, after axis container rotation by 1, axis AX5 on NCU1 is assigned to channel axis Z instead of axis AX1 on NCU1. The command variant AXCTSWED(CTi) can be used to simplify startup. Under the sole effect of the active channel, the axis container rotates around the increment stored in the SD.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 13-527 13 Additional Functions 11.0213.9 Program execution time/Workpiece counter (SW 5.2 and higher) 13 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 This call may only be used if the other channels, which have axes in the container are in the RESET state. After an axis container rotation, all NCUs whose channels refer to the rotated axis container via the logical machine axis image are affected by the new axis assignment. 13.9 Program execution time/Workpiece counter (SW 5.2 and higher) Function Information on the program execution time and on the workpiece count are provided to support the person working at the machine tool. This information is specified in the respective machine data and can be edited as a system variable in the NC and/or PLC program. This information is also available to the MMC at the operator panel front interface. 13.9.1 Program runtime Function Under this function, timers are provided as system variables, which can be used to monitor technological processes. These timers can only be read. They can be accessed at any time by the MMC in read mode. Explanation The following two timers are defined as NCK- specific system variables and always active. $AN_SETUP_TIME Time in minutes since the last setup; is reset with SETUP  Siemens AG, 2002. All rights reserved 13-528 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 13 11.02 Additional Functions13.9 Program execution time/Workpiece counter (SW 5.2 and higher) 13 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 $AN_POWERON_TIME Time in minutes since the last PowerOn; is reset with POWERON The following three timers are defined as channel-specific system variables and can be activated via machine data. $AC_OPERATING_TIME Total execution time in seconds of NC programs in the automatic mode $AC_CYCLE_TIME Execution time in seconds of the selected NC program $AC_CUTTING_TIME Tool operation time in seconds $MC_RUNTIMER_MODE Tool operation time in seconds All timers are reset with default values when the control is powered up, and can be read independent of their activation. Programming example 1. Activate runtime measurement for the active NC program; no measurement with active dry run feedrate and program testing: $MC_PROCESSTIMER_MODE = 'H2' 2. Activate measurement for the tool operating time; measurement also with active dry run feedrate and program testing: $MC_PROCESSTIMER_MODE= 'H34' 3. Activate measurement for the total runtime and tool operating time; measurement also during program testing: $MC_PROCESSTIMER_MODE= 'H25'  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 13-529 13 Additional Functions 11.0213.9 Program execution time/Workpiece counter (SW 5.2 and higher) 13 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 13.9.2 Workpiece counter Function The "Workpiece counter" function can be used to prepare counters, e.g. for internal counting of workpieces on the control. These counters exist as channel-specific system variables with read and write access within a value range from 0 to 999 999 999. Machine data can be used to control counter activation, counter reset timing and the counting algorithm. Explanation The following counters are provided: $AC_REQUIRED_PARTS Number of workpieces required In this counter you can define the number of workpieces at which the actual workpiece counter $AC_ACTUAL_PARTS is reset to zero. Machine data can be used to configure the generation of the display alarm "Required number of workpieces reached" and the channel VDI signal "Required number of workpieces reached". $AC_TOTAL_PARTS Total number of workpieces actually produced (total actual) The counter indicates the total number of workpieces produced since the starting time. The counter is automatically reset with default values only when the control is powered up. $AC_ACTUAL_PARTS Number of actual workpieces. This counter records the number of all workpieces produced since the starting time. The counter is automatically reset to zero (on condition that $AC_REQUIRED_PARTS is not equal to 0) when the required number of workpieces ($AC_REQUIRED_PARTS) has been reached. $AC_SPECIAL_PARTS Number of workpieces specified by the user This counter allows user-defined workpiece counting. Alarm output can be defined for the case of identity with $AC_REQUIRED_PARTS (workpiece target). The user must reset the counter The "Workpiece counter" function operates independently of the tool management functions. All counters can be read and written from the MMC. All counters are reset with default values when the control is powered up, and can be read/written independent of their activation.  Siemens AG, 2002. All rights reserved 13-530 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 13 11.02 Additional Functions13.9 Program execution time/Workpiece counter (SW 5.2 and higher) 13 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Programming example 1. Activate workpiece counter $AC_REQUIRED_PARTS: $MC_PART_COUNTER='H3' $AC_REQUIRED_PARTS is active, display alarm on $AC_REQUIRED_PARTS == $AC_SPECIAL_PARTS 2. Activate workpiece counter $AC_TOTAL_PARTS: $MC_PART_COUNTER='H10' $AC_TOTAL_PARTS is active, the counter is $MC_PART_COUNTER_MCODE[0]=80 incremented by 1 on each M02, $MC_PART_COUNTER_MCODE[0] is irrelevant 3. Activate workpiece counter $AC_ACTUAL_PARTS: $MC_PART_COUNTER='H300' $AC_TOTAL_PARTS is active, the counter is $MC_PART_COUNTER_MCODE[1]=17 incremented by 1 on each M17 4. Activate workpiece counter $AC_SPECIAL_PARTS: $MC_PART_COUNTER='H3000' $AC_SPECIAL_PARTS is active, the counter $MC_PART_COUNTER_MCODE[2]=77 is incremented by 1 on each M77 5. Deactivate workpiece counter $AC_ACTUAL_PARTS: $MC_PART_COUNTER='H200' $AC_TOTAL_PARTS is not active, rest $MC_PART_COUNTER_MCODE[1]=50 irrelevant 6. Activate all counters, examples 1-4: $MC_PART_COUNTER ='H3313' $AC_REQUIRED_PARTS is active $MC_PART_COUNTER_MCODE[0] =80 Display alarm on $AC_REQUIRED_PARTS $MC_PART_COUNTER_MCODE[1] =17 == $AC_SPECIAL_PARTS $MC_PART_COUNTER_MCODE[2] =77 $AC_TOTAL_PARTS is active, the counter is incremented by 1 on each M02 $MC_PART_COUNTER_MCODE[0] is irrelevant $AC_ACTUAL_PARTS is active, the counter is incremented by 1 on each M17 $AC_SPECIAL_PARTS is active, the counter is incremented by 1 on each M77  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 13-531 13 Additional Functions 11.0213.10 Interactive window call from parts program, command MMC 13 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 13.10 Interactive window call from parts program, command MMC (SW 4.4 and higher) Programming MMC ("CYCLES, PICTURE_ON, T_SK.COM, PICTURE, MGUD.DEF, PICTURE_3.AWB, TEST_1, A1","S") Explanation CYCLES Operating area in which the configured user dialog boxes are implemented. PICTURE_ON or PICTURE_OFF Command: display selection or display deselection T_SK.COM Com file: Name of the dialog display file (user cycles). The dialog display design is defined here. The dialog displays can show user variables and/or comments. DISPLAY Name of dialog display: The individual displays are selected via the names of the dialog displays. MGUD.DEF User data definition file, which is addressed while reading/writing variables. PICTURE_3.AWB Graphics file TEST_1 Display time or acknowledgement variable A1 Text variables...", "S" Acknowledgement mode: synchronous, acknowledgement via "OK" soft key Function With the MMC command, user-defined dialog windows (dialog displays) can be displayed on the MMC/HMI from the parts program. The dialog window design is defined in pure text configuration (COM file in cycles directory), while the MMC/HMI system software remains unchanged. User-defined dialog windows cannot be called simultaneously in different channels.  Siemens AG, 2002. All rights reserved 13-532 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 13 11.02 Additional Functions13.10 Interactive window call from parts program, command MMC 13 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Please see the detailed notes on how to program the MMC command (incl. programming examples) in /IAM/ in the manuals IM1 through IM4 depending on the MMC/HMI software used.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 13-533 13 Additional Functions 11.0213.11 Influencing the motion control 13 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 13.11 Influencing the motion control 13.11.1 Percentage jerk correction: JERKLIM Programming JERKLIM[axis]= ... Explanation of the command Percentage change for the greatest permissible jerk relative to JERKLIM the value set in the machine data for the axis Machine axis whose jerk limit has to adapted Axis Function In critical program sections, it may be necessary to limit the jerk to below maximum value, for example, to reduce mechanical stress. The acceleration mode SOFT must be active. The function only effects path axes. Sequence In the AUTOMATIC modes, the jerk limit is limited to the percentage of the jerk limit stored in the machine data. Example: N60 JERKLIM[X]=75 Meaning: The axis carriage in the X direction must be accelerated/decelerated with only 75% of the jerk permissible for the axis. Value range: 1 ... 200 100 corresponds to: no effect on jerk. 100 is applied after RESET and parts program start.  Siemens AG, 2002. All rights reserved 13-534 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 13 11.02 Additional Functions13.11 Influencing the motion control 13 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Additional notes A further example will follow at the end of the next subsection. 13.11.2 Percentage velocity correction: VELOLIM Programming VELOLIM[axis]= ... Explanation of the command Percentage change for the greatest permissible velocity relative VELOLIM to the value set in the machine data for the axis Machine axis whose velocity limit has to adapted Axis Function In critical program sections, it may be necessary to limit the velocity to below maximum values, for example, to reduce mechanical stress or enhance finish. The function only effects path and positioning axes. Sequence In the AUTOMATIC modes, the velocity limit is limited to the percentage of the velocity limit stored in the machine data. Example: N70 VELOLIM[X]=80 Meaning: The axis carriage in the X direction must travel at only 80% of the velocity permissible for the axis.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 13-535 13 Additional Functions 11.0213.12 Master/slave grouping 13 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Value range: 1 ... 100 100 corresponds to: no effect on velocity. 100 is applied after RESET and parts program start. Programming example N1000 G0 X0 Y0 F10000 SOFT G64 N1100 G1 X20 RNDM=5 ACC[X]=20 ACC[Y]=30 N1200 G1 Y20 VELOLIM[X]=5 JERKLIM[Y]=200 N1300 G1 X0 JERKLIM[X]=2 N1400 G1 Y0 M30 13.12 Master/slave grouping Programming: MASLDEF(Slv1, Slv2, ..., master axis) For dynamic configuration (SW 6.4 and higher) MASLDEL(Slv1, Slv2, ..., ) For dynamic configuration (SW 6.4 and higher) MASLON(Slv1, Slv2, ..., ) MASLOF(Slv1, Slv2, ..., ) MASLOFS(Slv1, Slv2, ..., ) (SW 6.4 and higher) Explanation of the parameters Slv1, Slv2, ... Slave axes led by a master axis Master axis Axis leading slave axes defined in a master/slave grouping  Siemens AG, 2002. All rights reserved 13-536 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 13 11.02 Additional Functions13.12 Master/slave grouping 13 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Function The master/slave coupling in SW 6.4 and lower permitted coupling of the slave axes to their master axis only while the axes involved are stopped. Extension of SW 6.4 permits coupling and uncoupling of rotating, speed-controlled spindles and dynamic configuration. Dynamic configuration MASLDEF (SW 6.4 and higher) Definition of a master/slave grouping from the parts program. In SW 6.4 and lower, definition as in the machine data only. MASLDEL (SW 6.4 and higher) The instruction cancels assignment of the slave axes to the master axis and simultaneously uncouples the current coupling, like MASLOF. The master/slave definitions declared in the machine data are retained. General MASLON Enable a temporary coupling MASLOF This instruction uncouples an active coupling. (SW 6.4 and higher) For spindles in speed control mode, this instruction is executed immediately. The slave spindles rotating at this time retain their speeds until next speed programming.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 13-537 13 Additional Functions 11.0213.12 Master/slave grouping 13 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 MASLOFS (SW 6.4 and higher) The MASLOFS instruction can be used to decelerate slave spindles automatically on uncoupling. For axes and spindles in positioning mode, uncoupling is only possible while stopped. More information (SW 6.4 and higher) For MASLOF/MASLOFS, the implicit preprocessing stop is not required. Because of the missing preprocessing stop, the $P system variables for the slave axes do not provide updated values until next programming. Programming example Dynamic configuration of a master/slave coupling from the parts program: The axis relevant after axis container rotation must become the master axis. MASLDEF(AUX,S3) ; S3 master for AUX MASLON(AUX) ; Coupling ON for AUX M3=3 S3=4000 ; Clockwise rotation MASLDEL(AUX) ; Clear configuration and ; uncoupling AXCTSWE(CT1) ; Container rotation  Siemens AG, 2002. All rights reserved 13-538 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 13 11.02 Additional Functions13.12 Master/slave grouping 13 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 To enable coupling with another spindle after container rotation, the previous coupling must be uncoupled, the configuration cleared, and a new coupling configured. Example of a coupling sequence Position 3 / Container CT1 Original situation See /FB/, B3 Section 2.6 Axis container After rotation by one slot ▀  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 13-539 13 Additional Functions 11.0213.12 Master/slave grouping 13 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573  Siemens AG, 2002. All rights reserved 13-540 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 14 11.02 User Stock Removal Programs 14 User Stock Removal Programs 14.1 Supporting functions for stock removal ...................................................................... 14-542 14.2 Contour preparation: CONTPRON............................................................................. 14-543 14.3 Contour decoding: CONTDCON (SW 5.2 and higher)............................................... 14-550 14.4 Intersection of two contour elements: INTERSEC ..................................................... 14-554 14.5 Traversing a contour element from the table: EXECTAB .......................................... 14-556 14.6 Calculate circle data: CALCDAT ................................................................................ 14-557  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 14-541 14 User Stock Removal Programs 11.0214.1 Supporting functions for stock removal 14 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 14.1 Supporting functions for stock removal User stock removal programs Preprogrammed stock removal programs are provided for stock removal. You can also use the following functions to develop your own stock removal programs. CONTPRON Activate tabular contour preparation (11 columns) CONTDCON Activate tabular contour decoding (6 columns) INTERSEC Calculate intersection of two contour elements. (Only for tables created by CONTPRON). EXECTAB Block-by-block execution of contour elements of a table (Only for tables created by CONTPRON). CALCDAT Calculate radii and center points You can use these functions universally, not just for stock removal.  Siemens AG, 2002. All rights reserved 14-542 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 14 11.02 User Stock Removal Programs14.2 Contour preparation: CONTPRON 14 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 14.2 Contour preparation: CONTPRON Programming CONTPRON (TABNAME, MACH, NN, MODE) EXECUTE (ERROR) Explanation of the parameters CONTPRON Activate contour preparation TABNAME Name of contour table MACH Parameters for type of machining: "G": Longitudinal turning: Inside machining "L": Longitudinal turning: External machining "N": Face turning: Inside machining "P": Face turning: External machining NN Number of relief cuts in result variable of type INT MODE (SW 4.4 and Direction of machining, type INT higher) 0 = Contour preparation forward (SW 4.3 and lower, default value) 1 = Contour preparation in both directions EXECUTE Terminate contour preparation ERROR Variable for error checkback, type INT 1 = error; 0 = no error Function The blocks executed after CONTPRON describe the contour to be prepared. The blocks are not processed but are filed in the contour table. Each contour element corresponds to one row in the two-dimensional array of the contour table. The number of relief cuts is returned. EXECUTE deactivates the contour preparation and switches back to the normal execution mode. Example: N30 CONTPRON(…) N40 G1 X… Z… N50… N100 EXECUTE(…)  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 14-543 14 User Stock Removal Programs 11.0214.2 Contour preparation: CONTPRON 14 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Additional notes Preconditions for the call Before CONTPRON is called • a starting point must be approached which permits collision-free machining, • tool edge radius compensation with G40 must be deactivated. Permitted traversing commands, coordinate system Only G commands G0 to G3 are permitted for contour programming in addition to rounding and chamfer. SW 4.4 and higher supports circular-path programming via CIP and CT. The functions Spline, Polynomial, thread produce errors. It is not permitted to change the coordinate system by activating a frame between CONTPRON and EXECUTE. The same applies to a change between G70 and G71/ G700 and G710. Changing the geometry axes with GEOAX while preparing the contour table produced an alarm. Terminate contour preparation When you call the predefined subroutine EXECUTE (variable), contour preparation is terminated and the system switches back to normal execution when the contour has been described. The variable then indicates: 1 = error 0 = no error (the contour is error free). Relief cut elements The contour description for the individual relief cut elements can be performed either in a subroutine or in individual blocks. Stock removal irrespective of the programmed contour direction (SW 4.4 and higher) In SW 4.4 and higher, contour preparation has been expanded. Now when CONTPRON is called, the contour table is available irrespective of the programmed direction.  Siemens AG, 2002. All rights reserved 14-544 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 14 11.02 User Stock Removal Programs14.2 Contour preparation: CONTPRON 14 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Programming example 1 X Create a contour table with (20,150)150 • name KTAB, • up to 30 contour elements (circles, straight lines), (30,110) • a variable for the number of relief cut elements, 100 • a variable for error messages (30,65) (70,50) 50 (45,50) (85,40) (90,30) (90,0) Z 50 100 150 NC parts program N10 DEF REAL KTAB[30,11] Contour table named KTAB and, for example, a maximum of 30 contour elements Parameter value 11 is a fixed size N20 DEF INT ANZHINT Variable for number of relief cut elements with name ANZHINT N30 DEF INT ERROR Variable for acknowledgment 0 = no error, 1 = error N40 G18 N50 CONTPRON (KTAB,"G",ANZHINT) Contour preparation call N60 G1 X150 Z20 N60 to N120 contour description N70 X110 Z30 N80 X50 RND=15 N90 Z70 N100 X40 Z85 N110 X30 Z90 N120 X0 N130 EXECUTE(ERROR) Terminate filling of contour table, switch to normal program execution N140 … Continue processing table  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 14-545 14 User Stock Removal Programs 11.0214.2 Contour preparation: CONTPRON 14 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Table KTAB (0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) 7 7 11 0 0 20 150 0 82.40535663 0 0 0 2 11 20 150 30 110 - 104.0362435 0 0 1111 1 3 11 30 110 30 65 0 90 0 0 2 4 13 30 65 45 50 0 180 45 65 3 5 11 45 50 70 50 0 0 0 0 4 6 11 70 50 85 40 0 146.3099325 0 0 5 7 11 85 40 90 30 0 116.5650512 0 0 6 0 11 90 30 90 0 0 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Explanation of column contents (0) Pointer to next contour element (to the row number of that column) (1) Pointer to previous contour element (2) Coding of contour mode for the movement Possible values for X = abc a = 102 G90 = 0 G91 = 1 b = 101 G70 = 0 G71 = 1 c = 100 G0 = 0 G1 = 1 G2 = 2 G3 = 3 (3), (4) Starting point of contour elements (3) = abscissa, (4) = ordinate in current plane (5), (6) Starting point of contour elements (5) = abscissa, (6) = ordinate in current plane (7) Max/min indicator: Identifies local maximum and minimum values on the contour (8) Maximum value between contour element and abscissa (for longitudinal machining) or ordinate (for transverse machining). The angle depends on the type of machining programmed. (9), (10) Center point coordinates of contour element, if it is a circle block. (9) = abscissa, (10) = ordinate  Siemens AG, 2002. All rights reserved 14-546 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 14 11.02 User Stock Removal Programs14.2 Contour preparation: CONTPRON 14 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Programming example 2 X Create a contour table with 150 • name KTAB, • up to 92 contour elements (circles, straight lines), • mode: Longitudinal turning, external machining (100,100) 100 • preparation forwards and backwards. (-30,80) (-40,80) 50 (0,45) (20,45) (-30,30) (-15,30) (20,20) Z -50 50 100 NC parts program N10 DEF REAL KTAB[92,11] Contour table named KTAB and, for example, a maximum of 92 contour elements Parameter value 11 is a fixed size N20 CHAR BT="L" Mode for CONTPRON: Longitudinal turning, external machining N30 DEF INT HE=0 Number of relief cut elements=0 N40 DEF INT MODE=1 Preparation forwards and backwards N50 DEF INT ERR=0 Error checkback message ... N100 G18 X100 Z100 F1000 N105 CONTPRON (KTAB, BT, HE, MODE) Contour preparation call N110 G1 G90 Z20 X20 N120 X45 N130 Z0 N140 G2 Z-15 X30 K=AC(-15) I=AC(45) N150 G1 Z-30 N160 X80 N170 Z-40 N180 EXECUTE(ERR) Terminate filling of contour table, switch to normal program execution ...  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 14-547 14 User Stock Removal Programs 11.0214.2 Contour preparation: CONTPRON 14 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Table KTAB After contour preparation is finished, the contour is available in both directions. Row Column (0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) 0 61) 72) 11 100 100 20 20 0 45 0 0 1 03) 2 11 20 20 20 45 –3 90 0 0 2 1 3 11 20 45 0 45 0 0 0 0 3 2 4 12 0 45 –15 30 5 90 –15 45 4 3 5 11 –15 30 –30 30 0 0 0 0 5 4 7 11 –30 30 –30 45 –1111 90 0 0 6 7 04) 11 –30 80 –40 80 0 0 0 0 7 5 6 11 –30 45 –30 80 0 90 0 0 8 15) 26) 0 0 0 0 0 0 0 0 0 ... 83 84 07) 11 20 45 20 80 0 90 0 0 84 90 83 11 20 20 20 45 –1111 90 0 0 85 08) 86 11 –40 80 –30 80 0 0 0 0 86 85 87 11 –30 80 –30 30 88 90 0 0 87 86 88 11 –30 30 –15 30 0 0 0 0 88 87 89 13 –15 30 0 45 –90 90 –15 45 89 88 90 11 0 45 20 45 0 0 0 0 90 89 84 11 20 45 20 20 84 90 0 0 91 839) 8510) 11 20 20 100 100 0 45 0 0 Explanation of column contents (0) Pointer to next contour element (to the row number of that column) (1) Pointer to previous contour element (2) Coding of contour mode for the movement Possible values for X = abc a = 102 G90 = 0 G91 = 1 b = 101 G70 = 0 G71 = 1 c = 100 G0 = 0 G1 = 1 G2 = 2 G3 = 3 (3), (4) Starting point of contour elements (3) = abscissa, (4) = ordinate in current plane (5), (6) Starting point of contour elements (5) = abscissa, (6) = ordinate in current plane (7) Max/min indicator: Identifies local maximum and minimum values on the contour (8) Maximum value between contour element and abscissa (for longitudinal machining) or ordinate (for transverse machining) The angle depends on the type of machining programmed.  Siemens AG, 2002. All rights reserved 14-548 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 14 11.02 User Stock Removal Programs14.2 Contour preparation: CONTPRON 14 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 (9), (10) Center point coordinates of contour element, if it is a circle block. (9) = abscissa, (10) = ordinate Explanation of comment in columns Always in table line 0: 1) Previous: Line n contains the contour end forwards 2) Following: Line n is the contour table end forwards Once each within the contour elements forwards: 3) Previous: Contour start (forwards) 4) Following: Contour end (forwards) Always in line contour table end (forwards) +1: 5) Previous: Number of relief cuts forwards 6) Following: Number of relief cuts backwards Once each within the contour elements backwards: 7) Following: Contour end (backwards) 8) Previous: Contour start (backwards) Always in last line of table: 9) Previous: Line n is the contour table start (backwards) 10) Following: Line n contains the contour start (backwards)  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 14-549 14 User Stock Removal Programs 11.0214.3 Contour decoding: CONTDCON (SW 5.2 and higher) 14 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 14.3 Contour decoding: CONTDCON (SW 5.2 and higher) Programming CONTDCON (TABNAME,MODE) EXECUTE (ERROR) Explanation of the parameters CONTDCON Activate contour preparation TABNAME Name of contour table MODE Direction of machining, type INT 0 = Contour preparation (default) according to the contour block sequence EXECUTE Terminate contour preparation ERROR Variable for error checkback, type INT 1 = error; 0 = no error Function The blocks executed after CONTPRON describe the contour to be decoded. The blocks are not processed but stored, memory- optimized, in a 6-column contour table. Each contour element corresponds to one row in the contour table. When familiar with the coding rules specified below, you can combine DIN code programs from the tables to produce applications (e.g. cycles). The data for the starting point are stored in the table cell with the number 0. The G codes permitted for CONTDCON in the program section to be included in the table are more comprehensive than for the CONTPRON function. In addition, feedrates and feed type are also stored for each contour section. EXECUTE deactivates the contour preparation and switches back to the normal execution mode. Example: N30 CONTDCON(…) N40 G1 X… Z… N50… N100 EXECUTE(…)  Siemens AG, 2002. All rights reserved 14-550 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 14 11.02 User Stock Removal Programs14.3 Contour decoding: CONTDCON (SW 5.2 and higher) 14 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Additional notes Preconditions for the call Before CONTDCON is called • a starting point must be approached which permits collision-free machining, • tool edge radius compensation with G40 must be deactivated. Permitted traversing commands, coordinate system The following G groups and specified commands are permissible for contour programming: G group 1: G0, G1, G2, G3 G group 10: G9 G group 11: G60, G44, G641, G642 G group 13: G70, G71, G700, G710 G group 14: G90, G91 G group 15: G93, G94, G95, G96 also corner and chamfer. Circular-path programming is possible via CIP and CT. The functions Spline, Polynomial, thread produce errors. It is not permitted to change the coordinate system by activating a frame between CONDCRON and EXECUTE. The same applies to a change between G70 and G71/ G700 and G710. Changing the geometry axes with GEOAX while preparing the contour table produced an alarm.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 14-551 14 User Stock Removal Programs 11.0214.3 Contour decoding: CONTDCON (SW 5.2 and higher) 14 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Terminate contour preparation When you call the predefined subroutine EXECUTE (ERROR), contour preparation is terminated and the system switches back to normal execution when the contour has been described. The associated variable ERROR gives the return value: 0 = no error (contour produced no errors) 1 = error Impermissible commands, incorrect initial conditions, CONTDCON call repeated without EXECUTE( ), too few contour blocks or table definitions too small produce additional alarms. Stock removal in the programmed contour direction The contour table produced using CONTDCON is used for stock removal in the programmed direction of the contour. Programming example X Create a contour table with 150 • name KTAB, • contour elements (circles, straight lines), • mode: Turning (100,100) 100 • preparation forward (-30,80) (-40,80) 50 (0,45) (20,45) (-30,30) (-15,30) (20,20) Z -50 50 100  Siemens AG, 2002. All rights reserved 14-552 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 14 11.02 User Stock Removal Programs14.3 Contour decoding: CONTDCON (SW 5.2 and higher) 14 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 NC parts program N10 DEF REAL KTAB[9,6] Contour table with name KTAB and 9 table cells. These allow 8 contour sets. Parameter value 6 (column number in table) is fixed. N20 DEF INT MODE = 0 Default value 0: Only in programmed contour direction. Value 1 is not permitted. N30 DEF INT ERROR = 0 Error checkback message ... N100 G18 G64 G90 G94 G710 N101 G1 Z100 X100 F1000 N105 CONTDCON (KTAB, MODE) Call contour decoding MODE may be omitted (see above) N110 G1 Z20 X20 F200 Contour description N120 G9 X45 F300 N130 Z0 F400 N140 G2 Z-15 X30 K=AC(-15) I=AC(45)F100 N150 G64 Z-30 F600 N160 X80 F700 N170 Z-40 F800 N180 EXECUTE(ERROR) Terminate filling of contour table, switch to normal program execution ... Column index 0 1 2 3 4 5 Line index Contour End point End point Center point Center point Feed mode abscissa ordinate Abscissa ordinate 0 30 100 100 0 0 7 1 11031 20 20 0 0 200 2 111031 20 45 0 0 300 3 11031 0 45 0 0 400 4 11032 –15 30 –15 45 100 5 11031 –30 30 0 0 600 6 11031 –30 80 0 0 700 7 11031 –40 80 0 0 800 8 0 0 0 0 0 0  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 14-553 14 User Stock Removal Programs 11.0214.4 Intersection of two contour elements: INTERSEC 14 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Explanation of column contents Line 0: Coding for starting point: Column 0: 100 (ones): G0 = 0 101 (tens): G70 = 0, G71 = 1, G700 = 2, G710 = 3 Column 1: starting point of abscissa Column 2: starting point of ordinate Column 3-4: 0 Column 5 Line index of last contour piece in the table Lines 1-n: Entries for contour pieces: Column 0: 100 (ones): G0 = 0, G1 = 1, G2 = 2, G3 = 3 101 (tens): G70 = 0, G71 = 1, G700 = 2, G710 = 3 102 (hundreds): G90 = 0, G91 = 1 103 (thousands): G93 = 0, G94 = 1, G95 = 2, G96 = 3 104 (ten thousands): G60 = 0, G44 = 1, G641 = 2, G642 = 3 105 (hundred thousands): G9 = 1 Column 1: End point abscissa Column 2: End point ordinate Column 3: Center point Abscissa for circular interpolation Column 4: Center point ordinate for circular interpolation Column 5: Feedrate 14.4 Intersection of two contour elements: INTERSEC Programming VARIB=INTERSEC (TABNAME1[n1], TABNAME2[n2], TABNAME3) Explanation of the parameters VARIB Variable for status TRUE: Intersection found FALSE: No intersection found TABNAME1[n1] Table name and n1st contour element of the first table TABNAME2[n2] Table name and n2nd contour element of the second table TABNAME3 Table name for the intersection coordinates in the active plane G17–G19  Siemens AG, 2002. All rights reserved 14-554 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 14 11.02 User Stock Removal Programs14.4 Intersection of two contour elements: INTERSEC 14 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Function INTERSEC calculates the intersection of two normalized contour elements from the contour table generated with CONTPRON. The indicated status specifies whether or not an intersection exists (TRUE = intersection, FALSE = no intersection). Additional notes Please note that variables must be defined before they are used. Programming example Calculate the intersection of contour element 3 in table KTAB1 and contour element 7 in table KTAB2. The intersection coordinates in the active plane are stored in CUT (1st element = abscissa, 2nd element = ordinate). If no intersection exists, the program jumps to NOCUT (no intersection found). DEF REAL KTAB1 [12, 11] Contour table 1 DEF REAL KTAB2 [10, 11] Contour table 2 DEF REAL CUT [2] Intersection table DEF BOOL ISPOINT Variable for status … N10 ISPOINT=INTERSEC (KTAB1[3],KTAB2[7],CUT) Call intersection of contour elements N20 IF ISPOINT==FALSE GOTOF NOCUT Jump to NOCUT …  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 14-555 14 User Stock Removal Programs 11.0214.5 Traversing a contour element from the table: EXECTAB 14 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 14.5 Traversing a contour element from the table: EXECTAB Programming EXECTAB (TABNAME[n]) Explanation of the parameter TABNAME[n] Name of table with number n of the element Function You can use command EXECTAB to traverse contour elements block by block in a table generated, for example, with the CONTPRON command. Programming example The contour elements stored in Table KTAB are traversed non-modally by means of subroutine EXECTAB. Elements 0 to 2 are passed in consecutive calls. N10 EXECTAB (KTAB[0]) Traverse element 0 of table KTAB N20 EXECTAB (KTAB[1]) Traverse element 1 of table KTAB N30 EXECTAB (KTAB[2]) Traverse element 2 of table KTAB  Siemens AG, 2002. All rights reserved 14-556 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 14 11.02 User Stock Removal Programs14.6 Calculate circle data: CALCDAT 14 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 14.6 Calculate circle data: CALCDAT Programming VARIB = CALCDAT(PT[n,2],NO,RES) Explanation of the parameters VARIB Variable for status TRUE = circle, FALSE = no circle PT[n,2] Points for calculation n = number of points (3 or 4); 2 = point coordinates NO. Number of points used for calculation: 3 or 4 RES[3] Variable for result: specification of circle center point coordinates and radius; 0 = abscissa, 1 = ordinate of circle center point; 2 = radius Function Calculation of radius and circle center point coordinates from three or four known circle points. The specified points must be different. Where 4 points do not lie directly on the circle an average value is taken for the circle center point and the radius.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 14-557 14 User Stock Removal Programs 11.0214.6 Calculate circle data: CALCDAT 14 840D 840D 810D 840Di NCU 571 NCU 572 NCU 573 Programming example Y The program determines whether the three points lie along the arc of a circle. 60 (20,50) 50 (50,40) 40 30 (65,20) 20 ERG [1] 10 X 10 20 30 40 50 60 70 ERG [0] N10 DEF REAL Point definition PT[3,2]=(20,50,50,40,65,20) N20 DEF REAL RES[3] Result N30 DEF BOOL STATUS Variable for status N40 STATUS = CALCDAT(PT,3,RES) Call calculated circle data N50 IF STATUS == FALSE GOTOF ERROR Jump to error ■  Siemens AG, 2002. All rights reserved 14-558 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition ERG[2] 15 11.02 Tables 15 Tables 15.1 List of instructions ....................................................................................................... 15-561 15.2 List of system variables ............................................................................................... 15-591 15.2.1 R parameters ....................................................................................................... 15-591 15.2.2 Channel-specific synchronized action variables .................................................. 15-591 15.2.3 Frames 1.............................................................................................................. 15-592 15.2.4 Toolholder data .................................................................................................... 15-593 15.2.5 Channel-specific protection zones ....................................................................... 15-601 15.2.6 Tool parameters................................................................................................... 15-603 15.2.7 Cutting edge data OEM user ............................................................................... 15-609 15.2.8 Monitoring data for tool management .................................................................. 15-617 15.2.9 Monitoring data for OEM users ............................................................................ 15-618 15.2.10 Tool-related data.................................................................................................. 15-619 15.2.11 Tool-related grinding data .................................................................................... 15-621 15.2.12 Magazine location data ........................................................................................ 15-622 15.2.13 Magazine location data for OEM users................................................................ 15-623 15.2.14 Magazine description data for tool management ................................................. 15-624 15.2.15 Tool management magazine description data for OEM users ............................ 15-625 15.2.16 Magazine module parameter ............................................................................... 15-626 15.2.17 Adapter data ........................................................................................................ 15-626 15.2.18 Measuring system compensation values............................................................. 15-626 15.2.19 Quadrant error compensation.............................................................................. 15-627 15.2.20 Interpolatory compensation.................................................................................. 15-629 15.2.21 NCK-specific protection zones............................................................................. 15-630 15.2.22 Cycle parameterization ........................................................................................ 15-631 15.2.23 System data ......................................................................................................... 15-636 15.2.24 Frames 2.............................................................................................................. 15-636 15.2.25 Tool data .............................................................................................................. 15-638 15.2.26 Magazines............................................................................................................ 15-643 15.2.27 Programmed geometry axis values ..................................................................... 15-646 15.2.28 G groups .............................................................................................................. 15-647 15.2.29 Programmed values............................................................................................. 15-647 15.2.30 Channel states ..................................................................................................... 15-651 15.2.31 Synchronized actions ........................................................................................... 15-656 15.2.32 I/Os ...................................................................................................................... 15-657 15.2.33 Reading and writing PLC variables ...................................................................... 15-657 15.2.34 NCU link............................................................................................................... 15-658 15.2.35 Direct PLC I/O...................................................................................................... 15-658 15.2.36 Tool management................................................................................................ 15-659 15.2.37 Timers .................................................................................................................. 15-662 15.2.38 Path movement.................................................................................................... 15-663 15.2.39 Speeds/accelerations........................................................................................... 15-665  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-559 15 Tables 11.02 15 15.2.40 Spindles................................................................................................................15-667 15.2.41 Polynomial values for synchronized actions.........................................................15-670 15.2.42 Channel states .....................................................................................................15-672 15.2.43 Measurement .......................................................................................................15-673 15.2.44 Positions...............................................................................................................15-677 15.2.45 Indexing axes .......................................................................................................15-679 15.2.46 Encoder values.....................................................................................................15-679 15.2.47 Axial measurement ..............................................................................................15-680 15.2.48 Offsets..................................................................................................................15-681 15.2.49 Axial paths............................................................................................................15-684 15.2.50 Oscillation.............................................................................................................15-685 15.2.51 Axial velocities......................................................................................................15-685 15.2.52 Drive data .............................................................................................................15-687 15.2.53 Axis statuses ........................................................................................................15-688 15.2.54 Master/slave links.................................................................................................15-689 15.2.55 Travel to fixed stop...............................................................................................15-690 15.2.56 Electronic gear .....................................................................................................15-691 15.2.57 Leading value coupling.........................................................................................15-692 15.2.58 Synchronized spindle ...........................................................................................15-693 15.2.59 Safety Integrated ..................................................................................................15-696  Siemens AG, 2002. All rights reserved 15-560 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.1 List of instructions 15 15.1 List of instructions Legend: 1 Default setting at start of program (in delivery state of control system provided that another setting is not programmed). 2 The group numbers correspond to the table ”List of G functions/Preparatory functions” in /PG/, Programming Guide Fundamentals, Section 12.3 3 Absolute end points: Modal; incremental end points: Non-modal; otherwise modal/non-modal depending on syntax of G function 4 IPO parameters act incrementally as arc centers. They can be programmed in absolute mode with AC. When they have other meanings (e.g. pitch), the address modification is ignored. 5 Vocabulary word does not apply to SINUMERIK FM-NC/810D 6 Vocabulary word does not apply to SINUMERIK FM-NC/810D/NCU571 7 Vocabulary word does not apply to SINUMERIK 810D 8 The OEM user can incorporate two extra interpolation types and modify their names. 9 Vocabulary word applies only to SINUMERIK FM-NC 10 The extended address block format may not be used for these functions. 2 Name Meaning Value Description, Syntax Modal/ Group assignment comment non- modal : Block number - main block (see N) 0 ... Special code for e.g. :20 9999 9999 blocks - instead of integer N... ; this block values only, should contain all no sign instructions for a following complete machining section A Axis Real m,s3 A2 5 Tool orientation: Euler angle Real s A3 5 Tool orientation: Direction vector Real s component A4 5 Tool orientation for block beginning Real s A5 5 Tool orientation for block end; Real s Normal vector component ABS Absolute value Real AC Dimension input, absolute 0, ..., X=AC(100) s 359.9999° ACC 5 Axial acceleration Real, m without sign ACN Absolute dimension setting for rotary axes, A=ACN(...) B=ACN(...) s approach position in negative direction C=ACN(...)  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-561 15 Tables 11.0215.1 List of instructions 15 ACP Absolute dimension setting for rotary axes, A=ACP(...) B=ACP(...) s approach position in positive direction C=ACP(...) ACOS Arc cosine (trigon. function) Real ADIS Resurfacing distance for path functions G1, Real, without m G2, G3, ... sign ADISPOS Resurfacing distance for rapid traverse G0 Real, without m sign ADISPOSA Size of the tolerance window for IPOBRKA Integer, real, ADISPOSA=.. or m ADISPOSA([,REAL]) ALF Angle lift fast Integer, m without sign AMIRROR Programmable mirroring (additive mirror) AMIRROR X0 Y0 Z0 s 3 ; separate block AND Logical AND ANG Contour definition angle Real AP Polar angle (Angle Polar) 30, ..., ± 360° m,s APR Read/display access protection Integer, (access protection read) without sign APW Write access protection Integer, (access protection write) without sign AR Aperture angle (angle circular) 30, ..., 360° m,s AROT Programmable rotation Rotation AROT X... Y... Z... s 3 (additive rotation) around 1st ;separate geom. axis: AROT RPL= block -180o .. 180° 2nd geom. axis: -89.999° .. 90° 3rd geo. axis: -180° .. 180° AROTS programmable frame rotations with solid angles (additive AROT X... Y... s 3 rotation) AROT Z... X... AROT Y... Z... ;own AROT RPL= block AS Macro definition String ASCALE Programmable scaling (additive scale) ASCALE X... Y... Z... s 3 ; separate block ASIN Arc sine (trigon. function) Real ASPLINE Akima spline m 1 ATAN2 Arc tangent 2 Real ATRANS Additive programmable offset ATRANS X... Y... Z... s 3 (additive translation) ; separate block AX Integer without sign Real m,s3  Siemens AG, 2002. All rights reserved 15-562 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.1 List of instructions 15 AXCSWAP Switch container axis AXCSWAP(CTn,CTn+1,...) 25 AXIS Data type: Axis name Name of file can be added AXNAME Converts the input string to an axis name String An alarm is (get axname) generated if the input string does not contain a valid axis name AXSTRING Up to SW 5, axis identifier is converted to Up to SW 5 Name of file can AXSTRING( SPI(n) ) string (get axis as string) AXIS be added With SW 6 and higher, the spindle number From SW 6 from SW 6 converts the string (get string) AXSTRING[ SPI(n) ] string B Axis Real m,s3 B_AND Bit AND B_NOT Bit negation B_OR Bit OR B_XOR Bit exclusive OR B2 5 Tool orientation: Real s Euler angle B3 5 Tool orientation: Real s Direction vector component B4 5 Tool orientation for block beginning Real s B5 5 Tool orientation for block end; Real s Normal vector component BAUTO Definition of first spline segment by means of following 3 m 19 points (begin not a knot) BLSYNC Processing of interrupt routine is only to start with the next block change BNAT 1 Natural transition to first spline block m 19 (begin natural) BOOL Data type: Boolean value TRUE / FALSE or 0 / 1 BRISK 1 Brisk path acceleration m 21 BRISKA Activate brisk axis acceleration for the programmed axes BSPLINE B spline m 1 BTAN Tangential transition to first spline block m 19 (begin tangential) C Axis Real m,s3 C2 5 Tool orientation: Euler angle Real s C3 5 Tool orientation: Real s Direction vector component C4 5 Tool orientation for block beginning Real s  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-563 15 Tables 11.0215.1 List of instructions 15 C5 5 Tool orientation for block end; Real s Normal vector component CAC Absolute approach of position Coded value is (coded position: absolute coordinate) table index; table value is approached CACN Absolute approach in negative direction of value stored in Permissible for table. programming rotary (coded position absolute negative) 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 VAR Real The points must be from 3 or 4 points [3] different. (calculate circle data) CALL Indirect subroutine call CALL PROGVAR CALLPATH Programmable search path for subprogram calls A path can be CALLPATH(/_N_WKS programmed to the _DIR/ existing NCK file _N_MYWPD/subprogram system with _ID_SPF) CALLPATH. CANCEL Cancel modal synchronized action INT Cancel with specified ID. Without parameter: All modal synchronized actions are deselected. CASE Conditional program branch CDC Direct approach of position See CAC (coded position: direct coordinate) CDOF 1 Collision detection OFF m 23 CDON Collision detection ON m 23 CDOF2 Collision detection OFF For CUT3DC only m 23 CFC 1 Constant feed on contour m 16 CFIN Constant feed at internal radius only, m 16 not at external radius CFTCP Constant feed at tool center point (center-point path) m 16 (constant feed in tool-center-point) CHAN Specify validity range for data once per channel  Siemens AG, 2002. All rights reserved 15-564 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.1 List of instructions 15 CHANDATA Set channel number for channel data INT Only permissible in access the initialization module CHAR Data type: ASCII character 0, ..., 255 CHF Chamfer; value = length of chamfer in Real, s SW 3.5 direction of movement (chamfer) without sign and higher Chamfer; value = length of chamfer CHR CHKDNO D number check CIC Incremental approach of position See CAC (coded position: incremental coordinate) CIP Circular interpolation through intermediate points CIP X... Y... Z... m 1 I1=... J1=... K1=... CLEARM Reset one/several markers for channel INT, Does not influence coordination 1 - n machining in own channel CLGOF Const. workpiece speed for centerless grinding OFF CLGON Const. workpiece speed for centerless grinding ON CLRINT Deselect interrupt: INT Parameter: Interrupt number CMIRROR Mirror on a coordinate axis FRAME COARSEA Motion end when "Exact stop coarse" reached COARSEA=.. or m COARSEA[n]=.. 1,6 COMPOF Compressor OFF m 30 6 COMPON Compressor ON m 30 COMPCURV Compressor ON constant curve polynomials m 30 COMPCAD Compressor ON optimized surface finish m 30 CONTPRON Activate contour preparation (contour preparation ON) m 49 COS Cosine (trigon. function) Real COUPDEF Definition ELG group / synchronous spindle String Block change (soft- group ware) response: (couple definition) NOC: no software control, FINE/COARSE: software on ”Syn- chronization fine / coarse”, IPOSTOP: software on setpoint-depen- dent termination of overlaid movement COUPDEL Delete ELG group (couple delete) COUPOF ELG group / synchronous spindle pair OFF (couple OFF) COUPON ELG group / synchronous spindle pair ON (couple ON)  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-565 15 Tables 11.0215.1 List of instructions 15 COUPRE Reset ELG group Programmed S (couple reset) values invalid; machine data values valid CP Path movement (continuous path) m 49 CPRECOF Programmable contour precision OFF m 39 1,6 6 CPRECON Programmable contour precision ON m 39 CPROT Channel-specific protection zone ON/OFF CPROTDEF Channel specific protection area definition CR Circle radius Real, s without sign CROT Rotation of the current coordinate system. FRAME Maximum number of parameters: 6 CROTS programmable frame rotations with solid angles (rotations CROT X... Y... s in the indicated axes) CROT Z... X... CROT Y... Z... ;own CROT RPL= block CSCALE Scale factor for multiple axes. FRAME Maximum number of parameters: 2 * axis numbermax CSPLINE Cubic spline m 1 CTAB Define following axis position according to Real If parameter 4/5 leading axis position from curve table not programmed: Standard scaling CTABDEF Table definition ON CTABDEL Clear curve table CTABEND Table definition OFF CTABINV Define leading axis position according to Real See CTAB following axis position from curve table CT Circle with tangential transition CT X... Y.... Z... m 1 CTRANS Zero offset for multiple axes FRAME Max. of 8 axes CUT2D 1 2 ½D tool offset (cutter compensation type m 22 2-dimensional) CUT2DF 2 ½D tool offset (cutter compensation type 2-dimensional m 22 frame); The tool offset acts in relation to the current frame (inclined plane) CUT3DC 5 3D cutter compensation type 3-dimensional m 22 circumference milling 5 CUT3DCC Cutter compensation type 3-dimensional circumference m 22 milling with limit surfaces  Siemens AG, 2002. All rights reserved 15-566 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.1 List of instructions 15 CUT3DCCD Cutter compensation type 3-dimensional circumference m 22 5 milling with limit surfaces with differential tool CUT3DF 5 3D tool offset face milling (cutter compensation type m 22 3-dimensional face) 5 CUT3DFF 3D tool offset face milling with constant tool orientation as m 22 a function of active frame (cutter compensation type 3-dimensional face frame) 5 CUT3DFS 3D tool offset face milling with constant tool orientation m 22 irrespective of active frame (cutter compensation type 3-dimensional face frame) CUTCONO1 Constant radius compensation OFF m 40 CUTCONON Constant radius compensation ON m 40 D Tool offset number 1, ..., 9 includes D... compensation data SW 3.5 and for a certain tool higher T... ; D0 → 1, ... 32 000 compensation values for a tool DC Absolute dimension setting for rotary axes, A=DC(...) B=DC(...) s approach position directly C=DC(...) SPOS=DC(...) DEF Variable definition Integer, without sign DEFAULT Branch in CASE branch Jump to if expression does not fulfill any of the specified values DEFINE Define macro DELDTG Delete distance-to-go DELT Delete tool Duplo number can be omitted DIAMCYOF Radius programming for G90/91: ON. The G-code of this Radius pro- m 29 group that was last active remains active for display gramming last active G-code DIAMOF1 Diametral programming: OFF Radius pro- m 29 gramming for G90/G91 DIAMON Diametral programming: ON Diameter progr. for m 29 G90/G91 DIAM90 Diameter program for G90, radius progr. for G91 m 29 DILF Rapid lift length m DISABLE Interrupt OFF  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-567 15 Tables 11.0215.1 List of instructions 15 DISC Transition circle overshoot in tool radius 0, ..., 100 m compensation DISPLOF Suppress current block display (display OFF) DISPR Distance path for repositioning Real, s without sign DISR Distance for repositioning Real, s without sign DITE Thread run-out path Real m DITS Thread run-in path Real m DIV Integer division DL Tool sum compensation INT m DRFOF Deactivate the handwheel offsets (DRF) m DRIVE 9 Velocity-dependent path acceleration m 21 DRIVEA Switch on bent acceleration characteristic curve for the programmed axes DZERO Set D number of all tools of the TO unit assigned to the channel invalid EAUTO Definition of last spline segment by last 3 points (end not m 20 a knot) EGDEF Definition of an electronic gear for 1 following axis (Electronic gear define) with up to 5 leading axes EGDEL Delete coupling definition for the following axis Triggers (Electronic gear delete) preprocessing stop EGOFC Switch off electronic gear continuous (Electronic gear OFF continuous) EGOFS Switch off electronic gear selectively (Electronic gear OFF selective) EGON Switch on electronic gear without (electronic gear ON) synchronization EGONSYN Switch on electronic gear with (electronic gear ON synchronized) synchronization EGONSYN Switch on electronic gearing, stating approach mode with E (electronic gear ON synchronized) synchronization ELSE Program branch, if IF condition not fulfilled ENABLE Interrupt ON ENAT 1,7 Natural curve transition to next traversing block m 20 (end natural) ENDFOR End line of FOR counter loop ENDIF End line of IF branch ENDLOOP End line of endless program loop LOOP  Siemens AG, 2002. All rights reserved 15-568 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.1 List of instructions 15 ENDPROC End line of program with start line PROC ENDWHILE End line of WHILE loop ETAN Tangential curve transition to next traversing block at m 20 beginning of spline (end tangential) EVERY Execute synchronized action if condition changes from FALSE to TRUE EXECSTR Transfer of a string variable with the parts program line to Indirect parts EXECSTRING(MFCT1 ING run program line address programmed as incremental bit = 0 -> address programmed as absolute $C_TYP_PROG INT $C_TYP_PROG R W 6 Bit pattern of all the programmed addresses with the value INT . or REAL 4 bit0 = address "A" .... bit25 = address "Z" Bit = 1 -> address programmed with real value Bit = 0 -> address programmed with int value $C_I_NUM INT $C_I_NUM R W 6 $C_I_NUM contains the number of I addresses programmed in . the block. 1 For cycle programming, this value is always 1 whenever bit 0 in $C_I_PROG is set. In the case of macro programming with G65/G66, this contains the number of "I" addresses programmed in the block, (max. 10). $C_J_NUM INT $C_J_NUM R W 6 $C_J_NUM contains the number of "J" addresses programmed . in the block. 1 For cycle programming, this value is always 1 whenever bit 0 in $C_J_PROG is set. In the case of macro programming with G65/G66, this contains the number of "J" addresses programmed in the block, (max. 10). $C_K_NUM INT $C_K_NUM R W 6 $C_K_NUM contains the number of I addresses programmed in . the block. 1 For cycle programming, this value is always 1 whenever bit 0 in $C_K_PROG is set. In the case of macro programming with G65/G66, this contains the number of "K" addresses programmed in the block, (max. 10).  Siemens AG, 2002. All rights reserved 15-634 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Syn O S $C_I_ORDER INT $C_I_ORDER[] R W 6 Number of the IJK block, in which I has been programmed . For macro programming with G65/G66, up to 10 entries are 4 possible in the block with address I. These can be used to evaluate the IJK sequence. A note is always made of which IJK go together. $C_J_ORDER INT $C_J_ORDER[] R W 6 Number of the IJK block, in which J has been programmed . For macro programming with G65/G66, up to 10 entries are 4 possible in the block with address J. These can be used to evaluate the IJK sequence. from the parts program. A note is always made of which IJK go together. $C_K_ORDER INT $C_K_ORDER[] R W 6 Number of the IJK block, in which K has been programmed . For macro programming with G65/G66, up to 10 entries are 4 possible in the block with address K. These can be used to evaluate the IJK sequence from the parts program. A note is always made of which IJK go together. $C_ME INT $C_ME R W 6 Address extension for address M in the case of a subroutine . call by M function 1 $C_TE INT $C_TE R W 6 Address extension for address T in the case of a subroutine call . by T function 1 $C_MACPAR REAL $MAC_PAR[n] R W 6 Macro variable in ISO2/3 mode programmed in the original . program with 3 # The max. number of ISO macro parameters is 33  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-635 15 Tables 11.0215.2 List of system variables 15 15.2.23 System data Identifier Type Description: System variable/value range/index Parts pr. Syn O S $AN_SETUP_ REAL IF $AN_SETUP_TIME > 60000 GOTOF MARK01 RS WS R W 6 TIME Time since last power up of control with default values . (in minutes) 1 $AN_POWERON_ REAL IF $AN_POWERON_TIME == 480 GOTOF MARK02 RS WS R W 6 TIME Time since last power-on of control . (in minutes) 1 $AN_NCK_VER REAL NCK version: RS R 6 SION NCK version: only the part of the floating-point number prior . to the decimal point is evaluated, the part after the decimal 1 point can contain identification for intermediate states within development. The part prior to the decimal point contains the official software version identifier of the NCK: For example, if 20.00.00 is for the NCK version, the value of the variable is 200000.0 compare OPI N/Y nckVersion 15.2.24 Frames 2 $P_UBFR FRAME $P_UBFR R W 4 1st base frame in channel activated after G500, G54..G599. Corresponds to $P_CHBFR[0]. Axes: (geometry axis, channel axis, machine axis) $P_SETFRAME FRAME $P_SETFRAME R W 6 Current system frame for preset actual value memory and . scratching. 1 Axes: (geometry axis, channel axis, machine axis) $P_EXTFRAME FRAME $P_EXTFRAME R W 6 Current system frame for zero offset external. . Axes: (geometry axis, channel axis, machine axis) 1 $P_PARTFRAME FRAME $P_PARTFRAME R 6 Current system frame for TCARR and PAROT. . Axes: (geometry axis, channel axis, machine axis) 1 $P_TOOLFRAME FRAME $P_TOOLFRAME R 6 Current system frame for TOROT and TOFRAME. . Axes: (geometry axis, channel axis, machine axis) 1 $P_WPFRAME FRAME $P_WPFRAME R W 6 Current system frame for part reference points. . Axes: (geometry axis, channel axis, machine axis) 3 $P_CYCFRAME FRAME $P_CYCFRAME R W 6 Current system frame for cycles. . Axes: (geometry axis, channel axis, machine axis) 3  Siemens AG, 2002. All rights reserved 15-636 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Syn O S $P_CHBFRAME FRAME $P_CHBFRAME[n] R W 5 Current base frames in the channel. Configurable via MD $MC_MM_NUM_BASE_FRAMES. The dimension is checked on variable access. Axes: (geometry axis, channel axis, machine axis) $P_NCBFRAME FRAME $P_NCBFRAME[n] R W 5 Current NCU base frames. Configurable via MD $MN_MM_NUM_GLOBAL_BASE_FRAMES. The dimension is checked on variable access. Axes: (geometry axis, channel axis, machine axis) $P_ACTBFRAME FRAME $P_ACTBFRAME R 5 Current chained total basic frame Axes: (geometry axis, channel axis, machine axis) $P_BFRAME FRAME $P_BFRAME R W 4 Current 1st base frame in the channel. Corresponds to $P_CHBFRAME[0]. Axes: (geometry axis, channel axis, machine axis) $P_IFRAME FRAME $P_IFRAME R W 2 Current settable frame Axes: (geometry axis, channel axis, machine axis) $P_PFRAME FRAME $P_PFRAME R W 2 Current programmable frame Axes: (geometry axis, channel axis, machine axis) $P_ACTFRAME FRAME $P_ACTFRAME R 2 Current total frame Axes: (geometry axis, channel axis, machine axis) $P_UIFRNUM INT $P_UIFRNUM R 2 Number of the active $P_UIFR $P_NCBFRMASK INT $P_NCBFRMASK R W 5 Bit screenform is used for definition of the NCU global base frames that are included in the calculation of the total base frame. $P_CHBFRMASK INT $P_CHBFRMASK R W 5 Bit screenform is used for definition of channel-specific base frames that are included in the calculation of the total base frame.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-637 15 Tables 11.0215.2 List of system variables 15 15.2.25 Tool data Identifier Type Description: System variable/value range/index Parts pr. Syn O S $P_AD REAL $P_AD[n] R W 2 Active tool offsets n: Parameter number 1–31 n = 1-25 $TC_DP1 to $TC_DP25 n = 26 $TC_DPCE n = 27 $TC_DPH n = 28 $TC_DPV n = 29 $TC_DPV3 n = 30 $TC_DPV4 n = 31 $TC_DPV5 $P_ADT REAL $P_ADT[n] R W 6 With an active tool adapter, the transformed compensation . values of the tool adapter transformation are returned when 1 reading the values tool compensations are transformed n: Parameter number 1–31 n = 1-25 $TC_DP1 to $TC_DP25 n = 26 $TC_DPCE n = 27 $TC_DPH n = 28 $TC_DPV n = 29 $TC_DPV3 n = 30 $TC_DPV4 n = 31 $TC_DPV5 $P_DLNO INT $P_DLNO R 6 Active cumulative compensation number DL=0 - DL='max.'; . 'max'= value of 1 $MN_MM_MAX_SUMCORR_PER_CUTTEDGE $P_TOOL INT $P_TOOL R 2 Active tool cutting edge D0 - D'max.'; 'max'= value of $MN_MM_MAX_CUTTING_EDGE_NO  Siemens AG, 2002. All rights reserved 15-638 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Syn O S $P_TOOLNO INT $P_TOOLNO R 2 Active tool number T0 - T32000; with active function 'flat D number' T can have 8 digits The command should generally not be used when magazine management is active. When magazine management is active, GETEXET should be used instead. (The programming is only ever reliable in a situation where $MC_CUTTING_EDGE_DEFAULT=-1, > 0 applies. The wrong tool number can be determined for $MC_CUTTING_EDGE_DEFAULT=0, or =-2. If programming takes place after programming D > 0, it is also always reliable. NOTICE: Especially for $MC_CUTTING_EDGE_DEFAULT=- 2, $P_TOOLNO (the tool no. of the active tool with which the currently effective D offset was being calculated) and GETEXET (the changed tool) can return different tool numbers. ->also see $P_MTHSDC and documentation on the topic of more than one tool holder/spindle. $P_TOOLP INT $P_TOOLP R 6 Last programmed tool number T0 - T32000 (for operation . without magazine management). 1 The command cannot be used when magazine management is active. When magazine management is active, GETSELT must be used instead. $P_TOOLL REAL $P_TOOLL[n] R 2 Active total tool length n: Length 1–3 $P_TOOLO REAL $P_TOOLO[n] R 6 Active tool orientation. . n: Component 1–3 1 $AC_TOOLO_A REAL $AC_TOOLO_ACT[n] RS R 6 CT Active setpoint orientation. . n: Component 1–3 4 $AC_TOOLO_E REAL $AC_TOOLO_END[n] RS R 6 ND End orientation of the active block . n: Component 1–3 4 $AC_TOOLO_DI REAL $AC_TOOLO_DIFF RS R 6 FF Residual angle of tool orientation in the active block . 4 $VC_TOOLO REAL $VC_TOOLO[n] RS R 6 Actual orientation . n: Component 1–3 4  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-639 15 Tables 11.0215.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Syn O S $VC_TOOLO_DI REAL $VC_TOOLO_DIFF RS R 6 FF Angle between setpoint orientation and actual orientation . 4 $VC_TOOLO_S INT $VC_TOOLO_STAT RS R 6 TAT Status of the calculation of actual orientation . 4 $P_TC INT $P_TC R 6 Active tool carrier . 1 $AC_TC INT $AC_TC RS R 6 Active tool carrier . 4 $P_TCANG REAL $P_TCANG[n] R 5 Active angle of toolholder axis n: Angle 1–2 $P_TCDIFF REAL $P_TCDIFF[n] R 6 The difference between the calculated and the used angle of . a toolholder axis when incrementing (Hirth tooth system) the 1 angle n: Angle 1–2 $P_TCSOL INT $P_TCSOL R 6 Number of solutions when specifying the axis of rotation angle . of an orientable toolholder from a frame 1 With 0 to 2 solutions, the corresponding value is returned. With an infinite number of solutions, the return value is 3. If the angles are specified (TCOABS), the number of solutions is always 1. $P_TCSTAT INT $P_TCSTAT R 6 Specifies the status of an orientable toolholder. . The variable is bit-coded with the following significance: 4 0x1 The first rotary axis is available 0x2 The second rotary axis is available 0x4 The angles used for the calculation come from an orientation in the frame direction 0x8 The angles used for the calculation have been specified as absolute 0x10 The pole axis angle is indeterminate for orientation in the frame direction 0x1000 Only the tool can be rotated (kinematics type T) 0x2000 Only the workpiece can be rotated (kinematics type P) 0x4000 Tool and workpiece can be rotated (kinematics type M) Bits not designated here are currently unassigned. $P_TOOLR REAL $P_TOOLR R 2 Active tool radius (total)  Siemens AG, 2002. All rights reserved 15-640 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Syn O S $P_TOOLND INT $P_TOOLND[t] R 4 Number of cutting edges of tool t t: Tool number 1–32000 $P_TOOLEXIST BOOL $P_TOOLEXIST[t] R 4 Tool with T No. t exists t: Tool number 1–32000 $P_D INT $P_D R 6 Current D number in ISO_2-language mode . 1 $P_H INT $P_H R 6 Current H number in ISO_2-language mode . 1 $A_TOOLMN INT $A_TOOLMN[t] R 4 Magazine number of tool t t: Tool number 1–32000 $A_TOOLMLN INT $A_TOOLMLN[t] R 4 Magazine location number of tool t t: Tool number 1–32000 $A_MYMN INT $A_MYMN[t] R 6 Owner magazine number of the tool with T number t. . Result value = 0 = tool is not loaded (if $A_TOOLMN 1 > 0, then manual tool). Result value = -1 = tool management is not active Result value = -2 = tool with T number t does not exist. t: Tool number 1–32000 $A_MYMLN INT $A_MYMLN[t] R 6 Owner magazine location number of the tool with T number t. . Result value = 0 = tool is not loaded (if $A_TOOLMLN > 0, 1 then manual tool). Result value = -1 = tool management is not active Result value = -2 = tool with T number t does not exist. t: Tool number 1–32000 $A_MONIFACT REAL $A_MONIFACT R WS R W 4 Factor for tool length monitoring  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-641 15 Tables 11.0215.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Syn O S $P_TOOLNG INT $P_TOOLNG R 6 Number of defined tool groups assigned to the channel . OPI module type = TM 1 $P_TOOLNT INT $P_TOOLNT R 6 Number of defined tools assigned to the channel . OPI module type = TV 1 $P_TOOLT INT $P_TOOLT[i] R 6 i-th tool number T . OPI module type = TV 1 i= 1,..., $P_TOOLNT $P_TOOLD INT $P_TOOLD[t,i] R 6 i-th D-no of the tool with T number t; i=1,2... . if t is the value of a non-defined tool, -2 is returned 1 If i is a value outside the permitted range, 0 is returned. OPI module type = TO t = 1, ...., 32000 i = 1,......., $P_TOOLND $P_USEKT INT $P_USEKT (= USE Kind of Tool) R W 6 Is a bit-coded value . All the tools whose parameter $TC_TP11 has set one of the bits 1 of $P_USEKT, are available to the following tool changes. The value zero has the same content as 'all bits set' OPI module = C/S $P_TOOLNDL INT $P_TOOLNDL[t,d] R 6 Number of DL offsets of the D offset given by T number t and . D number d 1 >0 Number of DL offsets 0 no DL offset for this D offset -1 sum offset function not active -2 t is the value of a non-defined tool -3 d is the value of a non-defined D offset OPI module type = TO memory; TO unit t = 1, ...., 32000 d = 1,......., 32000  Siemens AG, 2002. All rights reserved 15-642 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 15.2.26 Magazines Identifier Type Description: System variable/value range/index Parts pr. Syn O S $P_MAGN INT $P_MAGN R 6 Number of defined magazines assigned to the channel . > 0 successful read access 1 0 no magazines defined -1 TMMG not active OPI module = TM $P_MAG INT $P_MAG[ i ] R 6 i-th magazine number . > 0 successful read access 1 0 i is outside the permitted range -1 TMMG not active OPI module = TM i= 1,..., $P_MAGN $P_MAGNDIS INT P_MAGNDIS[ n, m ] R 6 Number of magazines interconnected with location m of the . internal magazine n. 1 > 0 successful read access 0 no magazine interconnected with the buffer location -1 TMMG not active -2 n is not the number of an internal magazine -3 m is not the number of an internal magazine location OPI module = TPM n= must be the number of the buffer magazine or of the loading magazine m= 1,..., max. number of a location in the internal magazine mentioned $P_MAGDISS INT P_MAGDISS[ l, i ] R 6 Number of the i-th magazine interconnected with location l . of the buffer magazine. 1 > 0 successful read access 0 i is outside the permitted range -1 TMMG not active -2 m is not the number of a buffer location -3 no buffer magazine defined OPI module = TPM l= 1,..., max. number of a location in the buffer magazine i= 1,..., $P_MAGNDIS[ no. of the buffer magazine, refLoc ]  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-643 15 Tables 11.0215.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Syn O S $P_MAGDISL INT P_MAGDISL[ l, i ] R 6 Number of the i-th magazine interconnected with location l of . the loading magazine. 1 > 0 successful read access 0 i is outside the permitted range -1 TMMG not active -2 m is not the number of a loading magazine location -3 no loading magazine defined OPI module = TPM l= 1,..., max. number of a location in the loading magazine i= 1,..., $P_MAGNDIS[ no. of the loading magazine, refLoc ] $P_MAGNS INT $P_MAGNS R 6 Number of spindle locations / toolholder locations in the buffer . assigned to the channel. 1 > 0 successful read access 0 no spindle locations defined -1 TMMG not active -3 no buffer magazine defined $P_MAGS INT $P_MAGS[ n ] R 6 nth number of the spindle / of the toolholder in the buffer . > 0 successful read access 1 0 n is outside the permitted range -1 TMMG not active -3 no buffer magazine defined n= 1,..., max. toolholder number $P_MAGNREL INT $P_MAGNREL[ n ] R 6 Number of the buffer assigned to the spindle number / . toolholder number n 1 > 0 successful read access 0 spindle location has no buffer location assigned -1 TMMG not active -2 n is not the number of a spindle location -3 no buffer magazine defined n= 1,..., max. toolholder number $P_MAGREL INT P_MAGREL[ n, m ] R 6 m-th buffer number of the n-th spindle number / toolholder . number 1 > 0 successful read access 0 m is outside the permitted range -1 TMMG not active -2 n is not the number of a spindle location -3 no buffer magazine defined n= 1,..., max. toolholder number m= 1,..., $P_MAGNREL  Siemens AG, 2002. All rights reserved 15-644 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Syn O S $P_MAGNH INT $P_MAGNH R 6 Number of defined magazine location type hierarchies assigned . to the channel. 1 > 0 successful read access 0 no location type hierarchies are defined -1 TMMG not active OPI module = TT $P_MAGNHLT INT $P_MAGNHLT[ n ] R 6 Number of defined location types in the nth defined hierarchy . > 0 successful read access 1 0 n is outside the defined range -1 TMMG not active OPI module = TT n= 1,..., $P_MAGNH $P_MAGHLT INT P_MAGHLT[ n, m ] R 6 m-th location type of hierarchy n; n= 1,..., $P_MAGNH; m= 1,..., . $P_MAGNHLT 1 > 0 successful read access 0 m is outside the defined range -1 TMMG not active -2 hierarchy n has no defined location types OPI module = TT n= 1,..., $P_MAGNH m= 1,..., $P_MAGNHLT $P_MAGNA INT $P_MAGNA R 6 Number of defined adapters assigned to the channel . > 0 successful read access 1 0 no adapters defined -1 TMMG or 'Adapter' function not active OPI module = AD $P_MAGA INT $P_MAGA[ i ] R 6 i-th adapter number . > 0 successful read access 1 0 i is outside the permitted range -1 TMMG or 'Adapter' function not active OPI module = AD i= 1,..., $P_MAGNA $P_MTHSDC INT $P_MTHSDC R 6 Master toolholder no. or master spindle no. relative to that of the . active tool 4 for which the next D offset selection is specified. > 0 successful read access 0 No master toolholder or master spindle available. The next D offset works with T0. -1 TMMG not available  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-645 15 Tables 11.0215.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Syn O S $AC_MONMIN REAL $AC_MONMIN R WS R W 6 Ratio between tool monitoring actual value and setpoint. . Threshold for tool search strategy "load only tools 1 with actual value greater than threshold" $P_VDITCP INT $P_VDITCP[n] R W 2 Available parameters for magazine management on VDI interface n: Index 1–3 $A_DNO INT $A_DNO[i] R 4 Read a D number defined by the PLC via VDI interface i: Index 1–9 for table location in D number table $P_ATPG REAL $P_ATPG[n] R W 2 Current tool-related grinding data n: Parameter number 1–9 $P_TOOLENV STRING $P_TOOLENV[i] R 6 Returns the name of the tool environment stored under . (internal) 3 index i. If i refers to a non-defined data block, the zero string is returned. If index i is invalid, in other words, if i is less than 1 or more than the maximum number of data blocks for tool environments ($MN_MM_NUM_TOOLENV), an alarm is output. A maximum number of tool environments is configurable via MD $MN_MM_NUM_TOOLENV. 2nd dimension for TYPE_STRING is automatically MAXSTRINGLEN $P_TOOLENVN INT $P_TOOLENVN R 6 Indicates the number of defined data blocks for describing . tool environments. 3 $P_AP REAL $P_AP R 6 Programmed angle for polar coordinates . 1 15.2.27 Programmed geometry axis values $P_AXN1 AXIS $P_AXN1 R 3 Current address of the geometry axis - abscissa $P_AXN2 AXIS $P_AXN2 R 3 Current address of the geometry axis - ordinate  Siemens AG, 2002. All rights reserved 15-646 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Syn O S $P_AXN3 AXIS $P_AXN3 R 3 Current address of the geometry axis - applicate $P_ACTGEOAX AXIS $P_ACTGEOAX[1] R 4 Current geometry axis assignment, dependent on plane Returns the current geometry axis assignment programmed with geometry axis(1,X,2,Y,3,Z) Array index 1–3 for 1st to 3rd geometry axis n: Number of input 1 - ... 15.2.28 G groups $P_GG INT $P_GG[n] R 2 Current G function of a G group (index as PLC interface) n: Number of the G group $P_EXTGG INT $P_EXTGG[n] R 5 Can only be used in Siemens mode: Current G function of a G group with external NC languages (index as PLC interface) n: Number of the G group $A_GG INT $A_GG[n] R 5 Read current G function of a G group from SA (index like PLC interface) n: Number of the G group 15.2.29 Programmed values $P_SEARCH BOOL $P_SEARCH R 2 Block search is active if TRUE (1) $P_SEARCH1 BOOL $P_SEARCH1 R 2 Block search with calculation is active if TRUE (1) $P_SEARCH2 BOOL $P_SEARCH2 R 2 The last selected search type was block search without calculation, if TRUE (1)  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-647 15 Tables 11.0215.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Syn O S $P_SEARCHL INT R1 = $P_SEARCHL R 5 Returns the last selected search type: (coding analogous to PI service _N_FINDBL) 0 : No block search 1 : Block search without calculation 2 : Block search with calculation on contour 3 : Reserved 4 : Block search with calculation at end of block position 5 : Block search in extended program test $P_SUBPAR BOOL $P_SUBPAR[n] R 5 Query whether during subroutine call with parameter transfer parameter n was actually programmed (TRUE) or whether the system has set a default parameter (FALSE). n: Parameter number 1 to n corresponding to the definition in the PROC instruction $P_CTABDEF BOOL $P_CTABDEF R 4 Definition of curve tables is active if TRUE (1) $P_MC INT $P_MC R 2 Status of modal subprogram call FALSE (0) -> Subprogram call not modal TRUE (1) -> Subprogram call modal $P_REPINF INT $P_REPINF R 4 Status info for repositioning with REPOS command (0) -> Repositioning with REPOS not possible for following reasons - Call is not executed in an ASUB - Call is executed in an ASUB, which was started in the reset state JOG mode - Call is executed in an ASUB, which was started in JOG mode (1) -> Repositioning with REPOS possible $P_SIM BOOL $P_SIM R 2 Simulation runs if TRUE (1)  Siemens AG, 2002. All rights reserved 15-648 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Syn O S $P_DRYRUN BOOL $P_DRYRUN R 2 Dry run on if TRUE, else FALSE $P_OFFN REAL $P_OFFN R 5 Programmed offset contour normal . 1 $PI REAL $PI R 2 Circle constant PI = 3.1415927 $P_PROG_EVE INT The system variable $P_PROG_EVENT can be used to query R 6 NT whether the program was implicitly activated by an event . configured by $MC_PROG_EVENT_MASK or by 1 $MN_SEARCH_RUN_MODE. $P_PROG_EVENT returns an integer value between 0 and 5 with the following significance: 0 : explicit activation via NC Start or ASUB Start over the VDI or ASUB interface 1 : Implicit activation via event "Parts program start” 2 : Implicit activation via event "Parts program end" 3 : Implicit activation via event "Operator panel front reset" 4 : Implicit activation via event "Booting" 5 : Implicit activation subsequent to last action block display after block search $P_PROGPATH STRING PCALL ($P_PROGPATH deflected n: Number of probe $AC_MEA INT $AC_MEA[n] R 2 Probe has been triggered if TRUE (1) n: Number of probe 1 - MAXNUM_PROBE $AC_TRAFO INT $AC_TRAFO RS R 3 Code number of the active transformation corresponding to machine data $MC_TRAFO_TYPE_n $P_TRAFO INT $P_TRAFO R 6 Code number of the programmed transformation . corresponding to machine data $MC_TRAFO_TYPE_n 1 $AC_TRAFO_P REAL $AC_TRAFO_PAR[n] RS R 6 AR Parameter of the active transformation . n: Number of the parameter 1 $P_TRAFO_PAR REAL $P_TRAFO_PAR[n] R 6 Parameter of the programmed transformation . n: Number of the parameter 1 $AC_TRAFO_P INT $AC_TRAFO_PARSET RS R 6 ARSET Number of the active transformation record . Variable is '0' if no transformer active 3 $P_TRAFO_PA INT $P_TRAFO_PARSET R 6 RSET Number of the programmed transformation record . Variable is '0' if no transformer active 3 $AC_LIFTFAST INT $AC_LIFTFAST RS WS R W 4 Information about execution of liftfast. 0: Initial state. 1: Liftfast has been executed. At the start of the liftfast operation, the NC sets the value of the variable internally to "1". The evaluating program (if available) must reset the variable to its initial setting ($AC_LIFTFAST=0) to enable a subsequent liftfast to be detected.  Siemens AG, 2002. All rights reserved 15-652 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Syn O S $P_LIFTFAST INT $P_LIFTFAST R 6 Information about execution of liftfast. . 0: Initial state. 3 1: Liftfast has been executed. At the start of the liftfast operation, the NC sets the value of the variable internally to "1". The evaluating program (if available) must reset the variable to its initial setting to enable a subsequent liftfast to be detected. The reset is initiated by writing $AC_LIFTFAST! $AC_ASUB INT $AC_ASUB RS R 4 Code number for the cause of the ASUB activation. The reasons are bit-coded and have the following significance: BIT0: Activation due to: User interrupt "ASUB with Blsync" Activation by: VDI signal, digital/analog interface Continuation by: user-selectable Reorg or Ret BIT1: Activation due to: User interrupt "ASUB" For program continuation with Repos, the position, after which the stop occurred is stored. Activation by: VDI signal, digital/analog interface Continuation by: user-selectable BIT2: Activation due to: User interrupt "ASUB from Ready channel status" Activation by: VDI signal, digital/analog interface Continuation by: user-selectable BIT3: Activation due to: User interrupt "ASUB not READY in a manual mode and channel status" Activation by: VDI signal, digital/analog interface Continuation by: user-selectable BIT4: Activation due to: Activation due to: User interrupt "ASUB" For program continuation with Repos, the actual position when the interrupt occurred is stored. Activation by: VDI signal, digital/analog interface Continuation by: user-selectable  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-653 15 Tables 11.0215.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Syn O S $AC_ASUB INT BIT5: RS R 4 (continuation) Activation due to: Cancelation of subprogram repetition Activation by: VDI signal Continuation by: using system ASUB REPOS BIT6: Activation due to: Activation of decoding single block Activation by: VDI signal (+OPI) Continuation by: using system ASUB REPOS BIT7: Activation due to: Activation of delete distance to go Activation by: VDI signal Continuation by: using system ASUB Ret BIT8: Activation due to: Activation of axis synchronization Activation by: VDI signal Continuation by: using system ASUB REPOS BIT9: Activation due to: Mode change Activation by: VDI signal Continuation by: using system ASUB REPOS or RET (see MD.) BIT10: Activation due to: Program continuation with teach-in or after teach-in deactivation Activation by: VDI signal Continuation by: using system ASUB Ret BIT11: Activation due to: Overstore selection Activation by: Pi selection Continuation by: using system ASUB REPOS BIT12: Activation due to: Alarm with reaction of compensation block with Repos (COMPBLOCKWITHREORG) Activation by: Internal Continuation by: using system ASUB REPOS BIT13: Activation due to: Retraction movement on G33 and Stop Activation by: Internal Continuation by: using system ASUB Ret BIT14: Activation due to: Activation of dry run feedrate Activation by: VDI Continuation by: using system ASUB REPOS BIT15: Activation due to: Deactivation of dry run feedrate Activation by: VDI Continuation by: using system ASUB REPOS  Siemens AG, 2002. All rights reserved 15-654 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Syn O S ASUB BIT16: RS R 4 (continuation) Activation due to: Activation of block suppression Activation by: VDI Continuation by: using system ASUB REPOS BIT17: Activation due to: Deactivation of block suppression Activation by: VDI Continuation by: using system ASUB REPOS BIT18: Activation due to: Set machine data active Activation by: Pi Continuation by: using system ASUB REPOS BIT19: Activation due to: Set tool offset active Activation by: Pi "_N_SETUDT" Continuation by: using system ASUB REPOS BIT20: Activation due to: System ASUB after search type SERUPRO has reached the search target. Activation by: Pi "_N_FINDBL" Parameter == 5 Continuation by: using system ASUB REPOS $P_ISTEST BOOL $P_ISTEST R 4 Check test mode in parts program TRUE = Program test active FALSE = Program test not active $P_MMCA STRING $P_MMCA R W 2 MMC task acknowledgment 2nd dimension for TYPE_STRING is automatically MAXSTRINGLEN $A_PROTO BOOL $A_PROTO RS WS R W 4 Activate / disable Logging function for the first user $A_PROTOC BOOL $A_PROTOC RS WS R W 6 Activate / disable Logging function for a user . 0–9, USER 1  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-655 15 Tables 11.0215.2 List of system variables 15 15.2.31 Synchronized actions Identifier Type Description: System variable/value range/index Parts pr. Syn O S $AC_FIFO1 REAL $AC_FIFO1[n] RS W R W + 4 FIFO for motion-synchronized actions and cyclic measurements n: Parameter number 0 - max. FIFO element Special meaning: n=0: On write accesses with index 0, a new value is stored in the FIFO, On read accesses with index 0, the oldest element is read and deleted from the FIFO n=1: Read access to oldest element n=2: Read access to latest element n=3: Sum of all the elements located in the FIFO when in MD $MC_MM_MODE_FIFO, bit0 is set n=4: Read access to current number of FIFO elements n=5-m: Read access to individual FIFO elements 5 is the oldest element 6 is the second-oldest, etc. $AC_FIFO2 REAL $AC_FIFO2[n] RS W R W + 4 FIFO for motion-synchronized actions and cyclic measurements n: Parameter number 0 - max. FIFO element Special meaning: n=0: On write accesses with index 0, a new value is stored in the FIFO, On read accesses with index 0, the oldest element is read and deleted from the FIFO n=1: Read access to oldest element n=2: Read access to latest element n=3: Sum of all the elements located in the FIFO when in MD $MC_MM_MODE_FIFO, bit0 is set n=4: Read access to current number of FIFO elements n=5-m: Read access to individual FIFO elements 5 is the oldest element 6 is the second-oldest, etc. ... $AC_FIFO10 REAL $AC_FIFO10[n] RS W R W + 4 as $AC_FIFO01 ...  Siemens AG, 2002. All rights reserved 15-656 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 15.2.32 I/Os Identifier Type Description: System variable/value range/index Parts pr. Syn O S $A_IN BOOL $A_IN[n] RS R 2 Digital input NC n: Number of input 1 - ... The max. input number results from MD $MN_FASTIO_DIG_NUM_INPUTS $A_OUT BOOL $A_OUT[n] RS W R W 2 Digital output NC n: Number of output 1 - ... The max. input number results from MD $MN_FASTIO_DIG_NUM_OUTPUTS $A_INA REAL $A_INA[n] RS R 2 Analog input NC n: Number of input 1 - ... The max. input number results from MD $MN_FASTIO_ANA_NUM_INPUTS $A_OUTA REAL $A_OUTA[n] RS W R W 2 Analog output NC When writing, the value does not become active until the next IPO cycle at which point it is read back. n: Number of output 1 - ... The max. input number results from MD $MN_FASTIO_ANA_NUM_OUTPUTS $A_INCO BOOL $A_INCO[n] RS R 2 Comparator input n: Number of output 1 - ... The max. input number results from the MD 15.2.33 Reading and writing PLC variables $A_DBB INT $A_DBB[n] RS W R W + 4 Read/write data byte (8 bits) from/to PLC n: Position offset within I/O area 0 - ... $A_DBW INT $A_DBW[n] RS W R W + 4 Read/write data word (16 bits) from/to PLC n: Position offset within I/O area 0 - ... $A_DBD INT $A_DBD[n] RS W R W + 4 Read/write double data word (32 bits) from/to PLC n: Position offset within I/O area 0 - ... $A_DBR REAL $A_DBR[n] RS W R W + 4 Read/write Real data (32 bits) from/to PLC n: Position offset within I/O area 0 - ...  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-657 15 Tables 11.0215.2 List of system variables 15 15.2.34 NCU link Identifier Type Description: System variable/value range/index Parts pr. Syn O S $A_DLB INT $A_DLB[n] RS W R W + 5 Read/write data byte (8 bits) from/to NCU link n: Position offset within the link memory area 0 - ... $A_DLW INT $A_DLW[n] RS W R W + 5 Read/write data word (16 bits) from/to NCU link n: Position offset within the link memory area 0 - ... synchronized with main run $A_DLD INT $A_DLD[n] RS W R W + 5 Read/write data double word (32 bits) from/to NCU link n: Position offset within the link memory area 0 - ... synchronized with main run $A_DLR REAL $A_DLR[n] RS W R W + 5 Read/write Real data (32 bits) from/to NCU link n: Position offset within the link memory area 0 - ... synchronized with main run $A_LINK_TRAN INT $A_LINK_TRANS_RATE R 5 S_RATE Number of bytes that can still be transferred via NCU link Communication in the current IPO cycle. 15.2.35 Direct PLC I/O $A_PBB_IN INT $A_PBB_IN[n] RS R 5 Read data byte (8 bits) directly from PLC I/O n: Position offset within PLC input area 0 - ... $A_PBW_IN INT $A_PBW_IN[n] RS R 5 Read data word (16 bits) directly from PLC I/O n: Position offset within PLC input area 0 - ... $A_PBD_IN INT $A_PBD_IN[n] RS R 5 Read data double word (32 bits) directly from PLC I/O n: Position offset within PLC input area 0 - ... $A_PBR_IN REAL $A_PBR_IN[n] RS R 6 Read Real data (32 bits) directly from PLC I/O . n: Position offset within PLC input area 0 - ... 1  Siemens AG, 2002. All rights reserved 15-658 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Syn O S $A_PBB_OUT INT $A_PBB_OUT[n] RS W R W 5 Write data byte (8 bits) directly to PLC I/O n: Position offset within PLC output area 0 - ... synchronized with main run $A_PBW_OUT INT $A_PBW_OUT[n] RS W R W 5 Write data word (16 bits) directly to PLC I/O n: Position offset within PLC output area 0 - ... synchronized with main run $A_PBD_OUT INT $A_PBD_OUT[n] RS W R W 5 Write data double word (32 bits) directly to PLC I/O n: Position offset within PLC output area 0 - ... synchronized with main run $A_PBR_OUT REAL $A_PBR_OUT[n] RS W R W 5 Write Real data (32 bits) directly to PLC I/O n: Position offset within PLC output area 0 - ... synchronized with main run $C_IN BOOL $C_IN[n] RS R 6 Signal from PLC to Cycle . reserved for SIEMENS applications 1 n: Number of input 1 - ... $C_OUT BOOL $C_OUT[n] RS W R W 6 Signal from Cycle to PLC . reserved for SIEMENS applications 1 n: Number of output 1 - ... 15.2.36 Tool management These system variables have value –1 if no tool management command is active at time of reading. $AC_TC_CMDT INT $AC_TC_CMDT RS R 6 Trigger variable: $AC_TC_CMDT (CoMmandTrigger) then . always takes on the value 1 for an interpolation cycle when a 1 new magazine management command is output to the PLC. $AC_TC_ACKT INT $AC_TC_ACKT RS R 6 Trigger variable: $AC_TC_ACKT (ACKnowledgeTrigger) then . always takes on a value of 1 for an interpolation cycle 1 when the PLC acknowledges a tool management command.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-659 15 Tables 11.0215.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Syn O S $AC_TC_CMDC INT $AC_TC_CMDC RS WS R W 6 Counter variable: $AC_TC_CMDC (CoMmandCounter) is . incremented by 1 for each tool management command 1 output to the PLC. synchronized with main run $AC_TC_ACKC INT $AC_TC_ACKC RS WS R W 6 Counter variable: $AC_TC_CMDC (ACKnowledgeCounter) . on acknowledging a tool management command is 1 incremented by 1 via the PLC. synchronized with main run $AC_TC_FCT INT $AC_TC_FCT RS R 5 Command number. Specifies which action is desired. -1: No tool management command is active at the time of reading. $AC_TC_STATUS INT $AC_TC_STATUS RS R 5 Status enjoyed by the command to read via $AC_TC_FCT. -1: No tool management command is active at the time of reading. $AC_TC_THNO INT $AC_TC_THNO RS R 5 Number of the toolholder (spec. the spindle no.) where the new tool is to be changed. -1: No tool management command is active at the time of reading. $AC_TC_TNO INT $AC_TC_TNO RS R 5 NCK-internal T number of new tool (to be changed). 0: There is no new tool. -1: No tool management command is active at the time of reading. $AC_TC_MMYN INT $AC_TC_MMYN RS R 6 Owner magazine number of old tool (to be changed). . 0: There is no new tool, or the new tool (if $AC_TC_TNO > 4 0) is not loaded (manual tool). -1: No tool management command is active at the time of reading. $AC_TC_LMYN INT $AC_TC_LMYN RS R 6 Owner location number of old tool (to be changed). . 0: There is no new tool, or the new tool (if $AC_TC_TNO > 4 0) is not loaded (manual tool). -1: No tool management command is active at the time of reading. $AC_TC_MFN INT $AC_TC_MFN RS R 5 Source magazine number of new tool. 0: There is no new tool. -1: No tool management command is active at the time of reading. $AC_TC_LFN INT $AC_TC_LFN RS R 5 Source location number of new tool. 0: There is no new tool. -1: No tool management command is active at the time of reading.  Siemens AG, 2002. All rights reserved 15-660 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Syn O S $AC_TC_MTN INT $AC_TC_MTN RS R 5 Target magazine number of new tool. 0: There is no new tool. -1: No tool management command is active at the time of reading. $AC_TC_LTN INT $AC_TC_LTN RS R 5 Target location number of new tool. 0: There is no new tool. -1: No tool management command is active at the time of reading. $AC_TC_MFO INT $AC_TC_MFO RS R 5 Source magazine number of old tool (to be changed). 0: There is no old tool. -1: No tool management command is active at the time of reading. $AC_TC_LFO INT $AC_TC_LFO RS R 5 Source location number of old tool (to be changed). 0: There is no old tool. -1: No tool management command is active at the time of reading. $AC_TC_MTO INT $AC_TC_MTO RS R 5 Target magazine number of old tool (to be changed). 0: There is no old tool. -1: No tool management command is active at the time of reading. $AC_TC_LTO INT $AC_TC_LTO RS R 5 Target location number of old tool (to be changed). 0: There is no old tool. -1: No tool management command is active at the time of reading.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-661 15 Tables 11.0215.2 List of system variables 15 15.2.37 Timers Identifier Type Description: System variable/value range/index Parts pr. Syn O S $A_YEAR INT $A_YEAR RS R 3 System time, year $A_MONTH INT $A_MONTH RS R 3 System time, month $A_DAY INT $A_DAY RS R 3 System time, day $A_HOUR INT $A_HOUR RS R 3 System time, hour $A_MINUTE INT $A_MINUTE RS R 3 System time, minute $A_SECOND INT $A_SECOND RS R 3 System time, second $A_MSECOND INT $A_MSECOND RS R 3 System time, millisecond $AC_TIME REAL $AC_TIME RS R 2 Time from the beginning of block in seconds This variable can only be accessed from synchronized actions $AC_TIMEC REAL $AC_TIMEC RS R 3 Time from the beginning of block in IPO clock cycles This variable can only be accessed from synchronized actions $AC_TIMER REAL $AC_TIMER[n] RS WS R W + 4 Timer - unit in seconds Time is counted internally in multiples of the interpolation cycle; Counting for the time variable is started by assigning the value $AC_TIMER[n]= To stop the counter variable, assign a negative value: $AC_TIMER[n]=-1 The current time can be read while the counter is active or stopped. Stopping the time variable, by assigning - 1 stops the last current time value which can then be read The dimension is defined in MD $MC_MM_NUM_AC_TIMER.  Siemens AG, 2002. All rights reserved 15-662 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Syn O S $AC_PRTIME_M REAL $AC_PRTIME_M "ProgramRunTIME-Main" W 4 Set (initialize) the accumulated program runtime (main time) $AC_PRTIME_A REAL $AC_PRTIME_A "ProgramRunTIME-Auxiliary" W 4 Set (initialize) the accumulated program runtime (auxiliary time) $AC_PRTIME_M REAL $AC_PRTIME_M_INC "ProgramRunTIME-Main- W 4 _INC INCrement" Increment the accumulated program runtime (main time) $AC_PRTIME_A REAL $AC_PRTIME_A_INC "ProgramRunTIME-Auxiliary- W 4 _INC INCrement" Increment the accumulated program runtime (auxiliary time) 15.2.38 Path movement Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AC_PATHN REAL $AC_PATHN RS R 2 Normalized path parameter value between 0=start of block and 1=end of block This variable can only be accessed from synchronized actions $AC_DTBW REAL $AC_DTBW RS R 2 Geometric distance from start of block in workpiece coordinate system The programmed position is decisive for computing the distance; if the axis is a coupling axis, the position part that results from axis coupling is not considered here. This variable can only be accessed from synchronized actions  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-663 15 Tables 11.0215.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AC_REPOS_P INT $AC_REPOS_PATH_MODE RS R 6 ATH_MODE REPOS mode type . 0 not defined. 4 1 == RMB Repositioning approach to start of interrupted block 2 == RMI Repositioning approach to interruption point of interrupted block 3 == RME Repositioning approach to end of interrupted block 4 == RMN Repositioning approach to geometrically nearest point of interrupted block The variable is defined just as REPOS is being executed, or if a a new REPOS mode has been specified via VDI. $AC_DTBB REAL $AC_DTBB RS R 2 Geometric distance from start of block in basic coordinate system The programmed position is decisive for computing the distance; if the axis is a coupling axis, the position part that results from axis coupling is not considered here. This variable can only be accessed from synchronized actions $AC_DTEW REAL $AC_DTEW RS R 2 Geometric distance from end of block in workpiece coordinate system The programmed position is decisive for computing the distance; if the axis is a coupling axis, the position part that results from axis coupling is not considered here. This variable can only be accessed from synchronized actions $AC_DTEB REAL $AC_DTEB RS R 2 Geometric distance from end of block in basic coordinate system The programmed position is decisive for computing the distance; if the axis is a coupling axis, the position part that results from axis coupling is not considered here. This variable can only be accessed from synchronized actions $AC_PLTBB REAL $AC_PLTBB RS R 3 Path distance from start of block in basic coordinate system This variable can only be accessed from synchronized actions $AC_PLTEB REAL $AC_PLTEB RS R 3 Path distance from end of block in basic coordinate system This variable can only be accessed from synchronized actions  Siemens AG, 2002. All rights reserved 15-664 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AC_DELT REAL $AC_DELT R 3 Stored distance-to-go path in the workpiece coordinate system subsequent to deletion of the residual distance during synchronized motion actions $P_APDV BOOL $P_APDV R 4 Returns True if the position values readable with $P_APR[X] and $P_AEP[X] (approach and depart starting point and contour point when smoothing) are valid. 15.2.39 Speeds/accelerations Identifier Type Description: System variable/value range/index Parts pr. Sync O S $P_F REAL $P_F R 2 Path feed F last programmed $AC_F REAL $AC_F R 6 Programmed path feed F . 3 $AC_OVR REAL $AC_OVR: R W 2 Path override for synchronized actions Multiplicative override component, works in addition to operation OV, programmed OV and transformation OV. However, the overall factor remains limited to the maximum value defined by machine data $MN_OVR_FACTOR_LIMIT_BIN and $MN_OVR_FACTOR_FEEDRATE[31]. If a value of < 0.0 is entered, 0 is assumed and alarm 14756 reported. Must be rewritten in every interpolator cycle, otherwise the value is 100%. This variable can only be accessed from synchronized actions  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-665 15 Tables 11.0215.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AC_VC REAL $AC_VC R W 2 Additive path feed compensation for synchronized actions The compensation value does not work with G0, G33, G331, G332 and G63. It must be rewritten in every interpolator cycle, otherwise the value is 0. With an override of 0, the compensation value has no effect, otherwise the override has no impact on the compensation value. The compensation value cannot make the total feedrate negative. The upper value is limited such that the maximum axis velocities and accelerations are not exceeded. The computation with different feedrate components is not affected by $AC_VC. The override defined by machine data $MN_OVR_FACTOR_LIMIT_BIN, $MN_OVR_FACTOR_FEEDRATE[30], $MN_OVR_FACTOR_AX_SPEED[30] and $MN_OVR_FACTOR_SPIND_SPEED Override values cannot be exceeded. The additive feedrate override is limited such that the resulting feedrate does not exceed the maximum override value of the programmed feedrate. This variable can only be accessed from synchronized actions $AC_PATHACC REAL $AC_PATHACC RS WS R W 6 Specification of an increased path acceleration for override . changes and Stop/Start events. 3 $AC_PATHACC is only considered when the value is greater than the prepared acceleration limitation. The value 0 deselects the function. Values that lead to machine axis accelerations that are twice as high as that parameterized in $MA_MAX_AX_ACCEL[..], are accordingly restricted internally. $AC_PATHJERK REAL $AC_PATHJERK RS WS R W 6 Specification of an increased path jerk for override changes . and Stop/Start events. 3 $AC_PATHJERK is only considered when the value is greater than the prepared jerk limitation. The value 0 deselects the function. $AC_VACTB REAL $AC_VACTB RS R 2 Path velocity in the base coordinate system This variable can only be accessed from synchronized actions $AC_VACTW REAL $AC_VACTW RS R 2 Path velocity in workpiece coordinate system This variable can only be accessed from synchronized actions  Siemens AG, 2002. All rights reserved 15-666 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 15.2.40 Spindles Identifier Type Description: System variable/value range/index Parts pr. Sync O S $P_S REAL $P_S[n] R 2 Last programmed spindle speed n: Spindle number 0 ... max. spindle number $AA_S REAL $AA_S[n] RS R 4 Spindle actual speed. The sign corresponds to the direction of rotation. n: Spindle number 0 ... max. spindle number $P_CONSTCUT REAL $P_CONSTCUT_S[n] R 6 _S Last programmed constant cutting speed. . n: Spindle number 1 0 ... max. spindle number $AC_CONSTCU REAL $AC_CONSTCUT_S[n] RS R 6 T_S Current constant cutting speed. . n: Spindle number 1 0 ... max. spindle number $P_SEARCH_S REAL $P_SEARCH_S[n] R 6 The last programmed spindle speed or cutting rate picked . up during search mode 1 n: Spindle number 0 ... max. spindle number $P_SDIR INT $P_SDIR[n] R 3 Last direction of spindle rotation to be programmed. 3: Clockwise spindle rotation, 4: Counterclockwise spindle rotation, 5: Spindle stop n: Spindle number 0 ... max. spindle number $AC_SDIR INT $AC_SDIR[n] RS R 3 Current direction of spindle rotation 3: Clockwise spindle rotation, 4: Counterclockwise spindle rotation, 5: Spindle stop n: Spindle number 0 ... max. spindle number $P_SEARCH_S INT $P_SEARCH_SDIR[n] R 6 DIR The last programmed spindle programming picked up . during search mode: 1 3: M3 Clockwise spindle rotation 4: M4 Counterclockwise spindle rotation 5: M5 Spindle stop -19: M19, SPOS, SPOSA spindle positioning, position and approach mode are read from SEARCH variables 70: M70 Switch over to axis mode -5: No direction of spindle rotation programmed, no output. n: Spindle number 0 ... max. spindle number  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-667 15 Tables 11.0215.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $P_SMODE INT $P_SMODE[n] R 3 Last programmed spindle mode: 0: No spindle in the channel or spindle is active in another channel or is being used by the PLC (FC18) or by synchronized actions. 1: Speed control mode 2: Positioning mode 3: synchronized mode 4: Axis mode n: Spindle number 0 ... max. spindle number $AC_SMODE INT $AC_SMODE[n] RS R 3 Spindle mode currently active 0: No spindle in the channel 1: Speed control mode 2: Positioning mode 3: synchronized mode 4: Axis mode n: Spindle number 0 ... max. spindle number $P_SGEAR INT $P_SGEAR[n] R 6 Spindle gear stage last programmed or requested during . M40 by S programming 1 1: 1st gear stage requested .... 5: 5th gear stage requested n: Spindle number 0 ... max. spindle number $AC_SGEAR INT $AC_SGEAR[n] RS R 6 Active spindle gear stage . 1: 1st gear stage is active 1 .... 5: 5th gear stage is active n: Spindle number 0 ... max. spindle number $P_SAUTOGEAR INT $P_SAUTOGEAR[n] R 6 Automatic gear stage change (M40) is programmed. . 0: Gear stages are requested by M41..M45 1 1: The gear stage is calculated and requested (M40 Automatic gear stage change is active) to fit the programmed speed (S) n: Spindle number 0 ... max. spindle number  Siemens AG, 2002. All rights reserved 15-668 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $P_SEARCH_S INT $P_SEARCH_SGEAR[n] R 6 GEAR The last programmed gear stages M function picked up . during search mode. 1 40: M40 Automatic gear stage change 41: M41 1st gear stage requested ... 45: M45 5th gear stage requested n: Spindle number 0 ... max. spindle number $P_SEARCH_S REAL $P_SEARCH_SPOS[n] R W 6 POS The last spindle position or travel path programmed by M19, . SPOS or SPOSA 1 picked up during search mode. Position: 0...359.999, when the value in MD 30330 MODULO_RANGE is 360.0 degrees Path: -100000000 ... 100000000 degrees. The sign indicates the traversing direction. n: Spindle number 0 ... max. spindle number $P_SEARCH_S INT $P_SEARCH_SPOSMODE[n] R W 6 POSMODE The last position approach mode programmed by M19, . SPOS or SPOSA picked up during search mode. 1 0: DC 1: AC 2: IC 3: DC 4: ACP 5: ACN n: Spindle number 0 ... max. spindle number $P_NUM_SPIND INT $P_NUM_SPINDLES R 6 LES Calculates the maximum number of spindles in the channel . 0: No spindle in the channel. 1 1..n: Number of spindles in the channel $P_MSNUM INT $P_MSNUM R 6 Returns the number of the master spindle. . 0: No spindle in the channel 1 1..n: Number of the master spindle $AC_MSNUM INT $AC_MSNUM RS R 3 Returns the number of the current master spindle. 0: No spindle exists 1..n: Number of the master spindle $P_MTHNUM INT $P_MTHNUM - only useful with active magazine R 6 management . Returns the number of the master tool carrier: 1 0: No master tool carrier 1..n: Number of master tool carrier  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-669 15 Tables 11.0215.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AC_MTHNUM INT $AC_MTHNUM - only useful with active magazine RS R 6 management . Returns the number of the current master tool carrier: 1 0: No master tool carrier 1..n: Number of master tool carrier $P_GWPS BOOL $P_GWPS[n] R 2 Constant grinding wheel surface speed on if TRUE n: Spindle number 15.2.41 Polynomial values for synchronized actions $AC_FCT1LL REAL $AC_FCT1LL RS WS R W + 2 Lower limit value for evaluation function FCTDEF 1 $AC_FCT2LL REAL $AC_FCT2LL RS WS R W + 2 Lower limit value for evaluation function FCTDEF 2 $AC_FCT3LL REAL $AC_FCT3LL RS WS R W + 2 Lower limit value for evaluation function FCTDEF 3 $AC_FCT1UL REAL $AC_FCT1UL RS WS R W + 2 Upper limit value for evaluation function FCTDEF 1 $AC_FCT2UL REAL $AC_FCT2UL RS WS R W + 2 Upper limit value for evaluation function FCTDEF 2 $AC_FCT3UL REAL $AC_FCT3UL RS WS R W + 2 Upper limit value for evaluation function FCTDEF 3 $AC_FCT1C REAL $AC_FCT1C[n] RS WS R W + 2 Polynomial coefficient a0–a3 for evaluation function FCTDEF 1 n: Degree of coefficient 0–3 $AC_FCT2C REAL $AC_FCT2C[n] RS WS R W + 2 Polynomial coefficient a0–a3 for evaluation function FCTDEF 2 n: Degree of coefficient 0–3 $AC_FCT3C REAL $AC_FCT3C[n] RS WS R W + 2 Polynomial coefficient a0–a3 for evaluation function FCTDEF 3 n: Degree of coefficient 0–3 $AC_FCTLL REAL $AC_FCTLL[n] RS WS R W + 4 Lower limit of polynomial for synchronized actions (SYNFCT) n: Number of polynomial, limited by machine data $AC_FCTUL REAL $AC_FCTUL[n] RS WS R W + 4 Upper limit of polynomial for synchronized actions (SYNFCT) n: Number of polynomial, limited by machine data  Siemens AG, 2002. All rights reserved 15-670 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AC_FCT0 REAL $AC_FCT0[n] RS WS R W + 4 a0 coefficient of polynomial for synchronized actions (SYNFCT) n: Number of polynomial, limited by machine data $AC_FCT1 REAL $AC_FCT1[n] RS WS R W + 4 a1 coefficient of polynomial for synchronized actions (SYNFCT) n: Number of polynomial, limited by machine data $AC_FCT2 REAL $AC_FCT2[n] RS WS R W + 4 a2 coefficient of polynomial for synchronized actions (SYNFCT) n: Number of polynomial, limited by machine data $AC_FCT3 REAL $AC_FCT3[n] RS WS R W + 4 a3 coefficient of polynomial for synchronized actions (SYNFCT) n: Number of polynomial, limited by machine data  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-671 15 Tables 11.0215.2 List of system variables 15 15.2.42 Channel states Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AC_ALARM_S INT $AC_ALARM_STAT RS R 5 TAT (Selected) alarm reactions for synchronized actions (SYNFCT) $AN_ESR_TRIG BOOL $AN_ESR_TRIGGER = 1 R W 5 GER Trigger "Extended stop and retract" $AN_BUS_FAIL BOOL $AN_BUS_FAIL_TRIGGER = 1 R W 6 _TRIGGER Simulation of a drive bus failure for test purposes . 4 $AC_ESR_TRIG BOOL $AC_ESR_TRIGGER = 1 R W 6 GER Triggering "NC controlled ESR" . 1 $AC_OPERATIN REAL IF $AC_OPERATING_TIME < 12000 GOTOB RS WS R W 6 G_TIME STARTMARK . Total execution time ( in seconds ) of NC programs in 1 automatic mode $AC_CYCLE_TI REAL IF $AC_CYCLE_TIME > 2400 GOTOF ALARM01 RS WS R W 6 ME Execution time of the selected NC program . ( in seconds ) 1 $AC_CUTTING_ REAL IF $AC_CUTTING_TIME > 6000 GOTOF ACT_M06 RS WS R W 6 TIME Tool operation time . ( in seconds ) 1 $AC_REQUIRE REAL $AC_REQUIRED_PARTS = ACTUAL_LOS RS WS R W 6 D_PARTS Definition of number of parts required, . e.g. for definition of a batch size, daily production target, 1 etc. $AC_TOTAL_PA REAL IF $AC_TOTAL_PARTS > SERVICE_COUNT GOTOF RS WS R W 6 RTS MARK_END . Total number of all parts produced 1 $AC_ACTUAL_ REAL IF $AC_ACTUAL_PARTS == 0 GOTOF NEW_RUN RS WS R W 6 PARTS Actual number of parts produced . For $AC_ACTUAL_PARTS == $AC_REQUIRED_PARTS, 1 $AC_ACTUAL_PARTS = 0 automatically. $AC_SPECIAL_ REAL $AC_SPECIAL_PARTS = R20 RS WS R W 6 PARTS Number of parts counted according to a user strategy. . without internal impact. 1  Siemens AG, 2002. All rights reserved 15-672 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AC_G0MODE INT $AC_G0MODE R 6 0: G0 not active . 1: G0 and linear interpolation active 1 2: G0 and nonlinear interpolation active The response of the path axes at G0 is dependent on machine data $MC_G0_LINEAR_MODE (Siemens mode) or $MC_EXTERN_G0_LINEAR_MODE (ISO mode): with linearer interpolation, the path axes traverse together, with non-linear interpolation, the path axes traverse as positioning axes. 15.2.43 Measurement Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AC_MEAS_SE INT $AC_MEAS_SEMA = 1 R W 6 MA Assigning the measuring interface. . 1 $AC_MEAS_LA INT $AC_MEAS_LATCH[0] = 1 R WS R W 6 TCH Writing the actual axis values to the 1st measuring point. . 0: 1st measuring point, 1 .. , 3: 4th measuring point $AC_MEAS_P1_ INT $AC_MEAS_P1_COORD = R W 6 COORD 0: WCS . 1: BCS 4 2: MCS Coordinate system of the 1st measuring point. $AC_MEAS_P2_ INT $AC_MEAS_P2_COORD = R W 6 COORD 0: WCS . 1: BCS 4 2: MCS Coordinate system of the 2nd measuring point. $AC_MEAS_P3_ INT $AC_MEAS_P3_COORD = R W 6 COORD 0: WCS . 1: BCS 4 2: MCS Coordinate system of the 3rd measuring point. $AC_MEAS_P4_ INT $AC_MEAS_P4_COORD = R W 6 COORD 0: WCS . 1: BCS 4 2: MCS Coordinate system of the 4th measuring point. $AC_MEAS_SE INT $AC_MEAS_SET_COORD = R W 6 T_COORD 0: WCS . 1: BCS 4 2: MCS Coordinate system of the setpoint.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-673 15 Tables 11.0215.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AC_MEAS_WP REAL $AC_MEAS_WP_SETANGLE = 0.0 R W 6 _SETANGLE Setpoint angle of the part position for part gauging. . 1 $AC_MEAS_CO REAL $AC_MEAS_CORNER_SETANGLE = 90.0 R W 6 RNER_SETANG Setpoint cutting angle of the corner for part gauging. . LE 1 $AC_MEAS_DIR INT $AC_MEAS_DIR_APPROACH = R W 6 _APPROACH 0: +x . 1: -x 1 2: +y 3: -y 4: +z 5: -z Direction of approach to the part. $AC_MEAS_AC INT $AC_MEAS_ACT_PLANE = R W 6 T_PLANE 0: G17 . 1: G18 1 2: G19 Setting the plane for calculation and measuring. $AC_MEAS_FIN INT $AC_MEAS_FINE_TRANS = R W 6 E_TRANS 0: Offset in Trans . 1: Offset in Fine Trans 3 Setting the fine offset for calculation and measuring. $AC_MEAS_FR INT $AC_MEAS_FRAME_SELECT = R W 6 AME_SELECT 0: $P_SETFRAME . 10..25: $P_CHBFRAME[0..15] 1 50..65: $P_NCBFRAME[0..15] 100..199: $P_IFRAME 1010..1025: $P_CHBFRAME[0..15], with active G500 1050..1065: $P_NCBFRAME[0..15], with active G500 2000: $P_SETFR 2010..2025: $P_CHBFR[0..15] 2050..2065: $P_NCBFR[0..15] 2100..2199: $P_UIFR[0..99] 3010..3025: $P_CHBFR[0..15], with active G500 3050..3065: $P_NCBFR[0..15], with active G500 Selecting the frames for part gauging. $AC_MEAS_CH INT $AC_MEAS_CHSFR = 'B1001' R W 6 SFR System frame bit mask in accordance with . $MC_MM_SYSTEM_FRAME_MASK 4 $AC_MEAS_NC INT $AC_MEAS_NCBFR = 'B1' R W 6 BFR Global basic frame mask to set up the new frame. . 4 $AC_MEAS_CH INT $AC_MEAS_CHBFR = 'B1' R W 6 BFR Channel basic frame mask to set up the new frame. . 4 $AC_MEAS_UIFR INT $AC_MEAS_UIFR = 1 R W 6 Adjustable data management frame to set up the new . frame. 4  Siemens AG, 2002. All rights reserved 15-674 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AC_MEAS_PF INT $AC_MEAS_PFRAME = 1 R W 6 RAME Programmable frame not included. . 4 $AC_MEAS_T_ INT $AC_MEAS_T_NUMBER = 1 R W 6 NUMBER Selecting the tool for calculation and measuring. . 1 $AC_MEAS_TO INT $AC_MEAS_TOOL_MASK = 'B1' R W 6 OL_MASK Setting the tool for calculation and measuring. . 4 $AC_MEAS_D_ INT $AC_MEAS_D_NUMBER = 1 R W 6 NUMBER Selecting the cutting edge for calculation and measuring. . 1 $AC_MEAS_TY INT $AC_MEAS_TYPE = R W 6 PE 0: default . 1: x edge 1 2: y edge 3: z edge 4: corner 1 5: corner 2 6: corner 3 7: corner 4 8: bore hole 9: shaft 10: tool length 11: tool diameter 12: groove 13: bar 14: preset actual value memory for geometry and special axes 15: preset actual value memory for special axes only 16: oblique edge 17: Plane_Angles (2 solid angles of a plane) 18: Plane_Normal (3 solid angles of a plane with setpoint input) 19: Dimension_1 (1-dimensional setpoint input) 20: Dimension_2 (2-dimensional setpoint input) 21: Dimension_3 (3-dimensional setpoint input) 22: ToolMagnifier (ShopTurn: Measuring tool lengths with a zoom-in function) 23: ToolMarkedPos (ShopTurn: Measuring a tool length with a marked position) 24: coordinate transformation of a position 25: rectangle Specification of the measuring type.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-675 15 Tables 11.0215.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AC_MEAS_VA INT $AC_MEAS_VALID = 0 R W 6 LID Validity bits of the measuring variables. The value should . be set to 0 prior to all measuring processes. The individual 1 bits are set implicitly when writing to the corresponding variables. Bit 0: $AA_MEAS_POINT1[axis] Bit 1: $AA_MEAS_POINT2[axis] Bit 2: $AA_MEAS_POINT3[axis] Bit 3: $AA_MEAS_POINT4[axis] Bit 4: $AA_MEAS_SETPOINT[axis] Bit 5: $AC_MEAS_WP_SETANGLE Bit 6: $AC_MEAS_CORNER_SETANGLE Bit 7: $AC_MEAS_T_NUMBER Bit 8: $AC_MEAS_D_NUMBER Bit 9: $AC_MEAS_DIR_APPROACH Bit 10 :$AC_MEAS_ACT_PLANE Bit 11: $AC_MEAS_FRAME_SELECT Bit 12: $AC_MEAS_TYPE Bit 13: $AC_MEAS_FINE_TRANS Bit 14: $AA_MEAS_SETANGLE[axis] Bit 15: $AC_MEAS_SCALEUNIT Bit 16: $AC_MEAS_TOOL_MASK Bit 17: $AC_MEAS_P1_COORD Bit 18: $AC_MEAS_P2_COORD Bit 19: $AC_MEAS_P3_COORD Bit 20: $AC_MEAS_P4_COORD Bit 21: $AC_MEAS_SET_COORD Bit 22: $AC_MEAS_CHSFR Bit 23: $AC_MEAS_NCBFR Bit 24: $AC_MEAS_CHBFR Bit 25: $AC_MEAS_UIFR Bit 26: $AC_MEAS_PFRAME $AC_MEAS_FR FRAME $AC_MEAS_FRAME R W 6 AME Result frame for part gauging. . 1 $AC_MEAS_WP REAL $AC_MEAS_WP_ANGLE R 6 _ANGLE Calculated part position angle for part gauging. . 1 $AC_MEAS_CO REAL $AC_MEAS_CORNER_ANGLE R 6 RNER_ANGLE Calculated cutting angle of the corner for part gauging. . 1 $AC_MEAS_DIA REAL $AC_MEAS_DIAMETER R 6 METER Calculated diameter for part and tool gauging. . 1 $AC_MEAS_TO REAL $AC_MEAS_TOOL_LENGTH R 6 OL_LENGTH Calculated tool length for tool gauging. . 1  Siemens AG, 2002. All rights reserved 15-676 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AC_MEAS_RE REAL R0 = $AC_MEAS_RESULTS[0] R 6 SULTS Measured results . 3 $AC_MEAS_SC INT Unit of measurement in accordance with the configuration R W 6 ALEUNIT $AC_MEAS_SCALEUNIT = 0 . Unit of measurement relative to the active G code 4 G70/G700/G71/G710 $P_CHANNO INT Query the current channel number. R 6 . 4 $AC_SERUPRO INT $AC_SERUPRO R 6 Query whether search run type SERUPRO is active. . (SERUPRO: "Search run via program testing") 4 Possible to use in SYNACTs and in the parts program $AC_SERUPRO == 0 SERUPRO search run type not active $AC_SERUPRO == 1 SERUPRO search run type is active 15.2.44 Positions $P_EP REAL $P_EP[X] R 2 The system variable $P_EP always returns the current WCS setpoint position in the interpreter. The numerical value is not inevitably the same as the programmed value in the parts program. In the following situations there are differences - during incremental programming - when changing the WCS by frame or tool selection If an ASUB starts after a block search with calculation, this event will synchronize positions in the interpreter. $P_EP then returns in ASUB the position at which the axes actually are. The search run position that is picked up can be queried via system variable $AC_RETPOINT. Axes: channel axis  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-677 15 Tables 11.0215.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $P_EPM REAL $P_EPM[X] R 6 Current MCS position in the interpreter (also see $P_EP). . Axes: channel axis 1 $P_APR REAL $P_APR[X] R 4 Position of axis in the workpiece coordinate system at the start of the approach motion for soft approach to the contour. Axes: channel axis $P_AEP REAL $P_AEP[X] R 4 Approach point: first contour point in the workpiece coordinate system for soft approach to contour. Axes: channel axis $P_POLF REAL $P_POLF[X] R 6 X: Axis . returns the programmed return position of the axis 4 Axes: geometry axis, channel axis, machine axis $P_POLF_VALID INT $P_POLF_VALID[X] R 6 X: Axis . 0: no axis return programmed 4 1: return programmed in abs. position 2: return programmed as distance Axes: geometry axis, channel axis, machine axis $AA_IW REAL $AA_IW[X] RS R 2 Actual value in workpiece coordinate system (WCS) Axes: channel axis $AA_REPOS_D BOOL $AA_REPOS_DELAY[X] RS R + 6 ELAY TRUE: For this axis REPOS suppression is just active. . FALSE: otherwise 4 Axes: channel axis $AA_IEN REAL $AA_IEN[X] RS R 5 Actual value in the settable origin system (SOS). Axes: channel axis $AA_IBN REAL $AA_IBN[X] RS R 5 Actual value in the basic origin system (BOS). Axes: channel axis $AA_IB REAL $AA_IB[X] RS R 2 Actual value in basic coordinate system (BCS) Axes: channel axis $AA_IM REAL $AA_IM[X] RS R 2 Actual value in machine coordinate system (MCS). Axes: geometry axis, channel axis, machine axis  Siemens AG, 2002. All rights reserved 15-678 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 15.2.45 Indexing axes Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AA_ACT_INDE INT $AA_ACT_INDEX_AX_POS_NO[X] RS R 5 X_AX_POS_NO 0: No indexing axis, therefore no indexing position available. > 0: Number of indexing position last reached or crossed Axes: geometry axis, channel axis, machine axis $AA_PROG_INDE INT $AA_PROG_INDEX_AX_POS_NO[X] RS R 5 X_AX_POS_NO 0: No indexing axis, thus no indexing position available or indexing axis currently not approaching an indexing position > 0: Number of programmed indexing position Axes: geometry axis, channel axis, machine axis 15.2.46 Encoder values $AA_ENC_ACTI BOOL $AA_ENC_ACTIVE[X] RS R 4 VE Active measuring system is operating below encoder limit frequency Axes: geometry axis, channel axis, machine axis $AA_ENC1_ACT BOOL $AA_ENC1_ACTIVE[X] RS R 4 IVE Encoder 1 is operating below encoder limit frequency Axes: geometry axis, channel axis, machine axis $AA_ENC2_ACT BOOL $AA_ENC2_ACTIVE[X] RS R 4 IVE Encoder 2 is operating below encoder limit frequency Axes: geometry axis, channel axis, machine axis $VA_IM REAL $VA_IM[X] RS R 4 Encoder actual value in machine coordinate system (measured on active measuring system), actual value compensations are corrected (leadscrew error compensation, backlash compensation, quadrant error compensation) With active spindle/axis disable, the default return is the current setpoint. If the actual value is then returned, BIT3 must be set in $MA_MISC_FUNCTION_MASK.  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-679 15 Tables 11.0215.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $VA_IM1 REAL $VA_IM1[X] RS R 4 Actual value in the machine coordinate system (measured Encoder 1), compensations are corrected With active spindle/axis disable the default return is the current setpoint. If the actual value is then returned, BIT3 must be set in $MA_MISC_FUNCTION_MASK. $VA_IM2 REAL $VA_IM2[X] RS R 4 Actual value in the machine coordinate system (measured Encoder 2), compensations are corrected With active spindle/axis disable the default return is the current setpoint. If the actual value is then returned, BIT3 must be set in $MA_MISC_FUNCTION_MASK. $AA_MW REAL $AA_MW[X] R WS R W 2 Measured value in workpiece coordinate system Axes: channel axis $AA_MM REAL $AA_MM[X] R WS R W 2 Measured value in machine coordinate system $AA_MW1 REAL $AA_MW1[X] R WS R W 4 Measurement result of axial measurement Trigger event 1 in WCS Axes: channel axis $AA_MW2 REAL $AA_MW2[X] R WS R W 4 Measurement result of axial measurement Trigger event 2 in WCS Axes: channel axis $AA_MW3 REAL $AA_MW3[X] R WS R W 4 Measurement result of axial measurement Trigger event 3 in WCS Axes: channel axis $AA_MW4 REAL $AA_MW4[X] R WS R W 4 Measurement result of axial measurement Trigger event 4 in WCS Axes: channel axis 15.2.47 Axial measurement Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AA_MM1 REAL $AA_MM1[X] R WS R W 4 Measurement result of axial measurement Trigger event 1 in MCS $AA_MM2 REAL $AA_MM2[X] R WS R W 4 Measurement result of axial measurement Trigger event 2 in MCS $AA_MM3 REAL $AA_MM3[X] R WS R W 4 Measurement result of axial measurement Trigger event 3 in MCS  Siemens AG, 2002. All rights reserved 15-680 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AA_MM4 REAL $AA_MM4[X] R WS R W 4 Measurement result of axial measurement Trigger event 4 in MCS $AA_MEAACT BOOL $AA_MEAACT[X] R 4 Value is TRUE if axial measurement is active for X Axes: geometry axis, channel axis, machine axis 15.2.48 Offsets Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AC_DRF REAL $AC_DRF[X] RS R 2 DRF offset Axes: channel axis $AC_PRESET REAL $AC_PRESET[X] RS R 2 Last given PRESET value Axes: channel axis $AA_ETRANS REAL $AA_ETRANS[X] R W 2 External zero offset Axes: channel axis $AA_MEAS_P1_ INT $AA_MEAS_P1_VALID[X] = 1 R WS R W 6 VALID Writing the actual axis value to the 1st measuring point. . Axes: geometry axis, channel axis, machine axis 1 $AA_MEAS_P2_ INT $AA_MEAS_P2_VALID[X] = 1 R WS R W 6 VALID Writing the actual axis value to the 2nd measuring point. . Axes: geometry axis, channel axis, machine axis 1 $AA_MEAS_P3_ INT $AA_MEAS_P3_VALID[X] = 1 R WS R W 6 VALID Writing the actual axis value to the 3rd measuring point. . Axes: geometry axis, channel axis, machine axis 1 $AA_MEAS_P4_ INT $AA_MEAS_P4_VALID[X] = 1 R WS R W 6 VALID Writing the actual axis value to the 4th measuring point. . Axes: geometry axis, channel axis, machine axis 1 $AA_MEAS_POI REAL $AA_MEAS_POINT1[x] = $AA_IW[x] R W 6 NT1 $AA_MEAS_POINT1[y] = $AA_IW[y] . $AA_MEAS_POINT1[z] = $AA_IW[z] 1 First measuring point for part and tool gauging. Axes: geometry axis, channel axis, machine axis $AA_MEAS_POI REAL $AA_MEAS_POINT2[x] = $AA_IW[x] R W 6 NT2 $AA_MEAS_POINT2[y] = $AA_IW[y] . $AA_MEAS_POINT2[z] = $AA_IW[z] 1 Second measuring point for part and tool gauging. Axes: geometry axis, channel axis, machine axis  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-681 15 Tables 11.0215.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AA_MEAS_POI REAL $AA_MEAS_POINT3[x] = $AA_IW[x] R W 6 NT3 $AA_MEAS_POINT3[y] = $AA_IW[y] . $AA_MEAS_POINT3[z] = $AA_IW[z] 1 Third measuring point for part and tool gauging. Axes: geometry axis, channel axis, machine axis $AA_MEAS_POI REAL $AA_MEAS_POINT4[x] = $AA_IW[x] R W 6 NT4 $AA_MEAS_POINT4[y] = $AA_IW[y] . $AA_MEAS_POINT4[z] = $AA_IW[z] 1 Fourth measuring point for part and tool gauging. Axes: geometry axis, channel axis, machine axis $AA_MEAS_SP INT $AA_MEAS_SP_VALID[X] = 0 R W 6 _VALID Invalidating the x-axis setpoint for part and tool gauging. . Axes: geometry axis, channel axis, machine axis 1 $AA_MEAS_SE REAL $AA_MEAS_SETPOINT[X] = 0.0 R W 6 TPOINT $AA_MEAS_SETPOINT[y] = 0.0 . $AA_MEAS_SETPOINT[z] = 0.0 1 Setpoint position for part and tool gauging. Axes: geometry axis, channel axis, machine axis $AA_MEAS_SE REAL $AA_MEAS_SETANGLE[x] = 0.0 R W 6 TANGLE $AA_MEAS_SETANGLE[y] = 0.0 . $AA_MEAS_SETANGLE[z] = 0.0 4 Setpoint angle for part and tool gauging. Axes: geometry axis, channel axis, machine axis $AA_OFF REAL $AA_OFF[X] RS W R W 3 Overlaid motion for programmed axis Axes: geometry axis, channel axis, machine axis $AA_OFF_LIMIT INT $AA_OFF_LIMIT[axis] RS R 4 Limit value for axial offset $AA_OFF[axis] 0: Limit value not reached 1: Limit value reached in positive axis direction -1: Limit value reached in negative axis direction Axes: geometry axis, channel axis, machine axis $AA_OFF_VAL REAL $AA_OFF_VAL[axis] RS R 6 Integrated value of the overlaid movement for one axis. . An overlaid movement can be undone by using the negative 1 value of these variables. For example $AA_OFF[axis] = -$AA_OFF_VAL[axis] Axes: geometry axis, channel axis, machine axis  Siemens AG, 2002. All rights reserved 15-682 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AC_RETPOINT REAL $AC_RETPOINT[X] RS R 2 $AC_RETPOINT[] returns the WCS position of an axis at which an ASUB was started. Then repositioning to this position can take place in the ASUB. If an ASUB is started up directly after a block search with calculation, $AC_RETPOINT returns the search run position that has been picked up. Axes: channel axis $AA_TOFF REAL $AA_TOFF[geometry axis] RS W R W 6 Overlaid value in the tool coordinate system. . Axes: geometry axis 4 $AA_TOFF_VAL REAL $AA_TOFF_VAL[geometry axis] RS R 6 Overlaid value in the tool coordinate system (integrated). . Axes: geometry axis 4 $AA_TOFF_LIMIT INT $AA_TOFF_LIMIT[geo axis] RS R 6 Limit value for axial offset $AA_TOFF[geo axis] . 0: Limit value not reached 4 1: Limit value reached in positive axis direction -1: Limit value reached in negative axis direction Axes: geometry axis $AA_TOFF_PRE REAL $AA_TOFF_PREP_DIFF[geometry axis] RS R 6 P_DIFF Difference value of the override in the tool coordinate . system between the main run and preprocessing. 4 Axes: geometry axis $AA_SOFTENDP REAL $AA_SOFTENDP[X] RS R 2 Software end position, positive direction Axes: geometry axis, channel axis, machine axis $AA_SOFTENDN REAL $AA_SOFTENDN[X] RS R 2 Software end position, negative direction Axes: geometry axis, channel axis, machine axis  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-683 15 Tables 11.0215.2 List of system variables 15 15.2.49 Axial paths Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AA_DTBW REAL $AA_DTBW[X] RS R 2 axial path from start of block in the workpiece coordinate system for positioning and synchronized axes for motion synchronized action The programmed position is decisive for computing the path; if the axis is a coupling axis, the position part that results from axis coupling is not considered here. This variable can only be accessed from synchronized actions Axes: channel axis $AA_DTBB REAL $AA_DTBB[X] RS R 2 Axial distance from start of block in basic coordinate system for positioning and synchronized axes with motion- synchronized actions The programmed position is decisive for computing the path; if the axis is a coupling axis, the position part that results from axis coupling is not considered here. This variable can only be accessed from synchronized actions Axes: channel axis $AA_DTEW REAL $AA_DTEW[X] RS R 2 Axial distance to end of block in workpiece coordinate system for positioning and synchronized axes with motion- synchronized actions The programmed position is decisive for computing the path; if the axis is a coupling axis, the position part that results from axis coupling is not considered here. This variable can only be accessed from synchronized actions Axes: channel axis $AA_DTEB REAL $AA_DTEB[X] RS R 2 Axial distance to end of block in basic coordinate system for positioning and synchronized axes with motion- synchronized actions The programmed position is decisive for computing the path; if the axis is a coupling axis, the position part that results from axis coupling is not considered here. This variable can only be accessed from synchronized actions Axes: channel axis  Siemens AG, 2002. All rights reserved 15-684 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 15.2.50 Oscillation Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AA_DTEPW REAL $AA_DTEPW[X] RS R 2 Axial distance-to-go for infeed oscillation in workpiece coordinate system This variable can only be accessed from synchronized actions Axes: channel axis $AA_DTEPB REAL $AA_DTEPB[X] RS R 2 Axial distance-to-go for infeed oscillation in basic coordinate system This variable can only be accessed from synchronized actions Axes: channel axis $AA_OSCILL_R REAL $AA_OSCILL_REVERSE_POS1[X] RS R 3 EVERSE_POS1 Current reversal position 1 for oscillation In synchronized actions, the setting data value $SA_OSCILL_REVERSE_POS1 is evaluated online This variable can only be accessed from synchronized actions Axes: channel axis $AA_OSCILL_R REAL $AA_OSCILL_REVERSE_POS2[X] RS R 3 EVERSE_POS2 Current reversal position 2 for oscillation In synchronized actions, the setting data value $SA_OSCILL_REVERSE_POS2 is evaluated online This variable can only be accessed from synchronized actions Axes: channel axis $AA_DELT REAL $AA_DELT[X] R 2 Stored axial distance-to-go path in the workpiece coordinate system subsequent to deletion of the residual distance during synchronized motion actions Axes: geometry axis, channel axis, machine axis 15.2.51 Axial velocities $P_FA REAL $P_FA[X] R 2 Last programmed axial feedrate Axes: channel axis  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-685 15 Tables 11.0215.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AA_OVR REAL $AA_OVR[X] R W 2 Axial override for motion-synchronized actions Multiplicative override component acting in addition to the user OV, programmed OV and transformation OV. The value is limited to max. 200%. If a value < 0.0 is entered, 0 is assumed and alarm 14756 reported. Must be rewritten in every interpolator cycle, otherwise the value is 100%. The spindle override is changed with $AA_OVR[S1]. This variable can only be accessed from motion- synchronized actions Axes: channel axis $AA_VC REAL $AA_VC[X] R W 2 Additive axial feed compensation for motion-synchronized actions It must be rewritten in every interpolator cycle, otherwise the value is 0. With an override of 0, the compensation value has no effect, otherwise the override has no impact on the compensation value. The compensation value cannot make the total feedrate negative. The upper value is limited such that the maximum axis velocities and accelerations are not exceeded. The computation of the other feedrate components is not affected by $AA_VC. The override defined by machine data $MN_OVR_FACTOR_LIMIT_BIN, $MN_OVR_FACTOR_FEEDRATE[30], $MN_OVR_FACTOR_AX_SPEED[30] and $MN_OVR_FACTOR_SPIND_SPEED Override values cannot be exceeded. The additive feedrate override is limited such that the resulting feedrate does not exceed the maximum override value of the programmed feedrate. This variable can only be accessed from synchronized actions Axes: channel axis $AA_VACTB REAL $AA_VACTB[X] RS R 2 Axis velocity in the base coordinate system This variable can only be accessed from synchronized actions Axes: channel axis $AA_VACTW REAL $AA_VACTW[X] RS R 2 Axis velocity in workpiece coordinate system This variable can only be accessed from synchronized actions Axes: channel axis  Siemens AG, 2002. All rights reserved 15-686 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AA_VACTM REAL $AA_VACTM[X] RS R 4 Axis velocity, setpoint-related in machine coordinate system Can also be read for replacement and PLC axes This variable can only be accessed from synchronized actions Axes: channel axis $VA_VACTM REAL $VA_VACTM[X] RS R 4 Axis velocity, actual value-related in machine coordinate system The variable returns an undefined value if the encoder limit frequency is exceeded This variable can only be accessed from synchronized actions Axes: channel axis 15.2.52 Drive data Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AA_LOAD REAL $AA_LOAD[X] RS R 2 Drive capacity utilization as % (for 611D or PROFIBUS only) Axes: channel axis, machine axis $VA_LOAD REAL $VA_LOAD[X] RS R 5 Drive capacity utilization as % (for 611D or PROFIBUS . only) 1 Axes: channel axis, machine axis $AA_TORQUE REAL $AA_TORQUE[X] RS R 2 Drive torque setpoint in Nm (for 611D only) Force actual value in N (611D-HLA only) Axes: channel axis, machine axis $VA_TORQUE REAL $VA_TORQUE[X] RS R 5 Drive torque setpoint in Nm (for 611D only) . Force actual value in N (611D-HLA only) 1 Axes: channel axis, machine axis AA_POWER REAL $AA_POWER[x] RS R 2 Drive active power in W (for 611D only) Axes: channel axis, machine axis $VA_POWER REAL $VA_POWER[x] RS R 5 Drive active power in W (for 611D only) . Axes: channel axis, machine axis 1 $AA_CURR REAL $AA_CURR[X] RS R 2 Actual current value of axis or spindle in A (for 611D only) Axes: channel axis, machine axis  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-687 15 Tables 11.0215.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $VA_CURR REAL $VA_CURR[X] RS R 5 Actual current value of axis or spindle in A (for 611D only) . Axes: channel axis, machine axis 1 $VA_DIST_TOR REAL $VA_DIST_TORQUE[X] RS R 6 QUE Disturbing torque/max. motor torque (output of disturbance . torque observer) 3 Axes: channel axis, machine axis $VA_VALVELIFT REAL $VA_VALVELIFT[X] RS R 5 Actual valve stroke in mm (for 611D hydraulics only) . Axes: channel axis, machine axis 1 $VA_PRESSUR REAL $VA_PRESSURE_A[X] RS R 5 E_A Pressure on A side of cylinder in bar (for 611D hydraulics . only) 1 Axes: channel axis, machine axis $VA_PRESSUR REAL $VA_PRESSURE_B[X] RS R 5 E_B Pressure on B side of cylinder in bar (for 611D hydraulics . only) 1 Axes: channel axis, machine axis $VA_DP_ACT_T INT $VA_DP_ACT_TEL[b,a] RS R 6 EL b: Word index (16-bit access) in PROFIBUS frame . a: Machine axis 4 b: Word index in PROFIBUS actual value frame Axes: geometry axis, channel axis, machine axis 15.2.53 Axis statuses Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AA_STAT INT $AA_STAT[X] RS R 4 Axis status: 0: No axis status available 1: Traversing motion in progress 2: Axis has reached IPO end applies only to axes in the channel 3: Axis in position (exact stop coarse)for all axes 4: Axis in position (exact stop fine)for all axes Axes: geometry axis, channel axis, machine axis  Siemens AG, 2002. All rights reserved 15-688 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AA_SNGLAX_ INT $AA_SNGLAX_STAT[X] RS R 6 STAT Axis status: . 0: Axis is not a single axis 4 1: Single axis in reset 2: Single axis is ended 3: Single axis is interrupted 4: Single axis is active 5: Single axis alarm pending Axes: geometry axis, channel axis, machine axis $AA_REF INT $AA_REF[X] RS R 5 Axis status: 0: Axis is not referenced 1: Axis is referenced Axes: geometry axis, channel axis, machine axis $AA_TYP INT $AA_TYP[X] RS R 4 Axis type: 0: Axis on other channel 1: Channel axis of local channel 2: Neutral axis 3: PLC axis 4: Oscillating axis 5: Neutral axis currently traversing in JOG mode 6: Master value linked following axis 7: Coupled motion following axis 8: Command axis 9: Compile cycle axis 10: Linked slave axis (master/slave function) Axes: geometry axis, channel axis 15.2.54 Master/slave links $AA_MASL_ST INT The current status of a master/slave link. RS R 6 AT Value 0: Axis is no slave axis, or no active link. . Value > 0: Active link; the associated machine axis number 1 of the master axis is returned. $AA_MASL_STAT[X] Axes: geometry axis, channel axis, machine axis $P_SEARCH_M INT $P_SEARCH_MASLC[axis identifier] R 6 ASLC The current status of a master/slave link was changed in . search mode. 1 Axes: geometry axis, channel axis, machine axis  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-689 15 Tables 11.0215.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $P_SEARCH_M REAL $P_SEARCH_MASLD[axis identifier] R 6 ASLD In search mode, the positional offset determined when . closing the link between the master and the slave axis. 1 Axes: geometry axis, channel axis, machine axis 15.2.55 Travel to fixed stop $AA_FXS INT $AA_FXS[X] RS WS R W 2 Setpoint status state "travel to fixed stop" 0: Axis not at fixed stop 1: Fixed stop successfully approached 2: Fixed stop approach has failed 3: Travel to fixed stop selection active 4: Fixed stop detected 5: Travel to fixed stop deselection active Axes: geometry axis, channel axis, machine axis $VA_FXS INT $VA_FXS[X] RS R 6 Actual status state "travel to fixed stop" . 0: Axis not at fixed stop 3 1: Fixed stop successfully approached 2: Fixed stop approach has failed 3: Travel to fixed stop selection active 4: Fixed stop detected 5: Travel to fixed stop deselection active Axes: geometry axis, channel axis, machine axis $VA_FXS_INFO INT $VA_FXS_INFO[X] RS R 6 Additional information for "travel to fixed stop" when . $VA_FXS[]=2 3 0: No additional information available 1: No approach motion programmed 2: Programmed end position reached, motion ended 3: Abort caused by NC reset (pushbutton reset) 4: Exit fixed stop window 5: Drive has refused torque reduction 6: PLC has canceled enabling Axes: geometry axis, channel axis, machine axis $VA_TORQUE_ INT $VA_TORQUE_AT_LIMIT[X] RS R 6 AT_LIMIT Status "Torque limit reached" . 0: Torque limit not yet reached 1 1: Torque limit reached In the digital 611D systems, the drive returns the status indicating whether the programmed torque limit has been reached. Axes: geometry axis, channel axis, machine axis  Siemens AG, 2002. All rights reserved 15-690 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AA_FOC INT $AA_FOC[X] RS WS R W 6 Setpoint status state "ForceControl" . 0: ForceControl not active 1 1: ForceControl modal active 2: Block-related ForceControl active Axes: geometry axis, channel axis, machine axis $VA_FOC INT $VA_FOC[X] RS R 6 Actual status state "ForceControl" . 0: ForceControl not active 3 1: ForceControl modal active 2: Block-related ForceControl active Axes: geometry axis, channel axis, machine axis $AA_COUP_ACT INT $AA_COUP_ACT[SPI(2)] RS R 2 Current coupling status of following spindle/following axis: 0: Axis/spindle is not coupled to a leading spindle/leading axis 3: Tangential follow-up of axis 4: synchronized spindle coupling 8: Axis is trailing 16: Following axis of master value coupling The respective values apply to one coupling. If several couplings are active for a following axis, this is represented by the sum of the relevant numerical values. Axes: geometry axis, channel axis, machine axis 15.2.56 Electronic gear AA_EG_SYNFA REAL $AA_EG_SYNFA[a] RS R 5 a: Following axis Synchronized position of the following axis Axes: geometry axis, channel axis, machine axis $P_EG_BC STRING $P_EG_BC[a] R 6 Block change condition for EGONSYN, EGON, WAITC. . 2nd dimension for TYPE_STRING is automatically 1 MAXSTRINGLEN $AA_EG_NUM_ INT $AA_EG_NUM_LA[a] RS R 5 LA a: Following axis Number of leading axes specified with EGDEF Axes: geometry axis, channel axis $VA_EG_SYNC REAL $VA_EG_SYNCDIFF[a] RS R 5 DIFF a: Following axis Synchronized run difference Axes: geometry axis, channel axis, machine axis  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-691 15 Tables 11.0215.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $VA_EG_SYNC REAL $VA_EG_SYNCDIFF_S[a] RS R 6 DIFF_S a: Following axis . Synchronized run difference with sign 4 Axes: geometry axis, channel axis, machine axis $AA_EG_AX AXIS $AA_EG_AX[n,a] RS R 6 n: Index for leading axis . a: Following axis 1 Identifier for nth leading axis n: Index for leading axis (nth leading axis) Axes: geometry axis, channel axis, machine axis 15.2.57 Leading value coupling Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AA_LEAD_SP REAL $AA_LEAD_SP[LW] RS WS R W 4 Simulated master value - position $AA_LEAD_SV REAL $AA_LEAD_SV[LW] RS WS R W 4 Simulated master value - velocity $AA_LEAD_P_T REAL $AA_LEAD_P_TURN[LW] RS R 4 URN current leading value position parts lost through modulo reduction. The actual master value position (which the control uses for internal calculation) is $AA_LEAD_P[LW] + $AA_LEAD_P_TURN[LW] If MV is a modulo axis, $AA_LEAD_P_TURN is an integral multiple of $MA_MODULO_RANGE. If MV is not a modulo axis, $AA_LEAD_P_TURN is always 0. Example_1: $MA_MODULO_RANGE[LW]=360 $AA_LEAD_P[LW] =290 $AA_LEAD_P_TURN[LW] =720 The actual master value position (used internally by the control in calculations) is 1010. Example_2: $MA_MODULO_RANGE[LW]=360 $AA_LEAD_P[LW] =290 $AA_LEAD_P_TURN[LW] =-360 The actual master value position (used internally by the control in calculations) is -70. $AA_LEAD_P REAL $AA_LEAD_P[LW] RS R 4 Current master value - position (modulo-reduced) If MV is a modulo axis, the following always applies: 0 Coarse synchronism 2 => Fine synchronism 3 => Synchronized run coarse and fine Axes: geometry axis, channel axis, machine axis $AA_IN_SYNC INT $AA_IN_SYNC[FA] RS R 6 Synchronization status of the following axis for master value . coupling and ELG 4 1 => Synchronization in progress, i.e. following axis is synchronized out Axes: geometry axis, channel axis, machine axis 15.2.58 Synchronized spindle Identifier Type Description: System variable/value range/index Parts pr. Sync O S $P_COUP_OFFS REAL $P_COUP_OFFS[S2] R 6 Programmed positional offset for the synchronous spindle . (following spindle) 3 $AA_COUP_OF REAL $AA_COUP_OFFS[S2] RS R 2 FS Positional offset for synchronous spindle (following spindle) setpoint value viewpoint $VA_COUP_OF REAL $VA_COUP_OFFS[SPI(2)] RS R 2 FS Positional offset for synchronous spindle (following spindle) actual value viewpoint $AA_SCTRACE BOOL $AA_SCTRACE[X] = 1 RS WS R W 4 Write: Initiate IPO trigger for servo trace 0: No action !0: Initiate trigger Read: Always 0, as the trigger cannot be read back Axes: geometry axis, channel axis, machine axis $VA_DPE BOOL $VA_DPE[X1] RS R 5 Status of power enable of a machine axis Axes: Machine axis $AA_ACC REAL $AA_ACC RS R 5 Current acceleration value of axis with 1-axis interpolation. $AA_ACC = $MA_MAX_AX_ACCEL * progr. acceleration correction  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-693 15 Tables 11.0215.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $PA_ACCLIMA INT $PA_ACCLIMA R 6 Acceleration override set in preprocessing with ACCLIMA . Axes: geometry axis, channel axis, machine axis 4 $PA_VELOLIMA INT $PA_VELOLIMA R 6 Velocity override set in preprocessing with VELOLIMA . Axes: geometry axis, channel axis, machine axis 4 $PA_JERKLIMA INT $PA_JERKLIMA R 6 Jerk override set in preprocessing with JERKLIMA . Axes: geometry axis, channel axis, machine axis 4 $AA_ACCLIMA INT $AA_ACCLIMA RS R 6 Acceleration override set in main run with ACCLIMA . Axes: geometry axis, channel axis, machine axis 4 $AA_VELOLIMA INT $AA_VELOLIMA RS R 6 Velocity override set in main run with VELOLIMA . Axes: geometry axis, channel axis, machine axis 4 $AA_JERKLIMA INT $AA_JERKLIMA RS R 6 Jerk override set in main run with JERKLIMA . Axes: geometry axis, channel axis, machine axis 4 $AA_MOTEND INT $AA_MOTEND RS R 5 Current motion end criterion at 1-axis interpolation 1 = Motion end at exact stop FINE 2 = Motion end at exact stop COARSE 3 = Motion end at exact stop, IPO stop 4 = Block change in braking ramp of axis motion 5 = Block change in braking ramp of axis motion with tolerance window with regard to setpoint 6 = Block change in braking ramp of axis motion with tolerance window with regard to actual value Axes: geometry axis, channel axis, machine axis $AA_SCPAR INT $AA_SCPAR RS R 5 Read current servo parameter set Axes: geometry axis, channel axis, machine axis $AA_ESR_STAT INT $AA_ESR_STAT[X] RS R 5 Status of "Extended stop and retract", bit-coded: BIT0: Generator operation triggered BIT1: Retraction triggered BIT2: Ext. stop triggered BIT3: DC link undervoltage BIT4: Generator minimum speed Axes: geometry axis, channel axis, machine axis $AA_ESR_ENA BOOL $AA_ESR_ENABLE[X] = 1 RS WS R W 5 BLE Enable "Extended stop and retract" Axes: geometry axis, channel axis, machine axis  Siemens AG, 2002. All rights reserved 15-694 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AA_ESR_TRIG BOOL $AA_ESR_TRIGGER = 1 R W 6 GER Trigger "NC-driven ESR" for PLC controlled axis . Axes: channel axis 4 $AA_POLFA REAL $AA_POLFA[X] RS R 6 X: Single axis . returns the programmed return position of the single axis 4 Axes: geometry axis, channel axis, machine axis $AA_POLFA_VA INT $AA_POLFA_VALID[X] RS R 6 LID X: Retraction programmed for this single axis, returns . 0: Single axis retraction not programmed 4 1: Retraction programmed as position 2: Retraction programmed as distance Axes: geometry axis, channel axis, machine axis $AA_ALARM_S INT $AA_ALARM_STAT RS R 6 TAT (Selected) alarm reactions for synchronized actions . (SYNFCT) 4 Axes: channel axis $AN_AXCTSWA BOOL EVERY $AN_AXCTSWA[n] == TRUE DO M99 R 5 Read: TRUE: an axis container rotation is currently being executed on the container with the axis container name n FALSE: No active axis container rotation is active $AN_AXCTAS INT Read: R 5 Axis container rotation current rotation: The number of slots the axis container has currently been advanced is indicated for the axis container with axis container name n. The value range is from 0 to the maximum number of assigned slots in axis container -1 $AC_AXCTSWA BOOL IF $AC_AXCTSWA[n] == TRUE GOTOB MARK1 R 5 Read: TRUE: The channel has enabled axis container rotation for the axis container name n and the rotation has not yet been completed. FALSE: The axis container rotation is terminated. $AA_EG_TYPE INT $AA_EG_TYPE[a,b] RS R 6 a: Following axis . b: Leading axis 1 Type of coupling for leading axis b 0: Actual-value coupling 1: Setpoint linkage Axes: geometry axis, channel axis, machine axis $AA_EG_NUME REAL $AA_EG_NUMERA[a,b] RS R 6 RA a: Following axis . b: Leading axis 1 Numerator of coupling factor for leading axis b Axes: geometry axis, channel axis, machine axis  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-695 15 Tables 11.0215.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $AA_EG_DENOM REAL $AA_EG_DENOM[a,b] RS R 6 a: Following axis . b: Leading axis 1 Denominator of coupling factor for leading axis b Axes: geometry axis, channel axis, machine axis $AA_EG_SYN REAL $AA_EG_SYN[a,b] RS R 6 a: Following axis . b: Leading axis 1 Synchronized position of leading axis b Axes: geometry axis, channel axis, machine axis $AA_EG_ACTIVE BOOL $AA_EG_ACTIVE[a,b] RS R 6 a: Following axis . b: Leading axis 1 Coupling for leading axis b is active, i.e. switched on Axes: geometry axis, channel axis, machine axis 15.2.59 Safety Integrated Identifier Type Description: System variable/value range/index Parts pr. Sync O S $A_STOPESI INT Current Safety Integrated Stop E for any axis: RS R 6 Value 0: no Stop E . Value not equal to 0: There is currently a Stop E at one of 4 the axes $A_INSE BOOL $A_INSE[n] RS R 6 Image of a Safety input signal (ext. NCK interface) . n: Number of input 1 - ... 3 $A_INSED INT $A_INSED[n] RS R 6 Image of Safety input signals (ext. NCK interface) . n: Number of input word 1 - ... 3 $A_INSEP BOOL $A_INSEP[n] RS R 6 Image of a Safety input signal (ext. PLC interface) . n: Number of input 1 - ... 4 $A_INSEPD INT $A_INSEPD[n] RS R 6 Image of Safety input signals (ext. PLC interface) . n: Number of input word 0 - ... 3 $A_OUTSE BOOL $A_OUTSE[n] RS WS R W 6 Image of a Safety output signal (ext. NCK interface) . n: Number of output 1 - ... 4 $A_OUTSED INT $A_OUTSED[n] RS WS R W 6 Image of Safety output signals (ext. NCK interface) . n: Number of output word 1 - ... 3 $A_OUTSEP BOOL $A_OUTSEP[n] RS R 6 Image of a Safety output signal (ext. PLC interface) . n: Number of output 1 - ... 3  Siemens AG, 2002. All rights reserved 15-696 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $A_OUTSEPD INT $A_OUTSEPD[n] RS R 6 Image of Safety output signals (ext. PLC interface) . n: Number of output word 0 - ... 4 $A_INSI BOOL $A_INSI[n] RS R 6 Image of a Safety input signal (int. NCK interface) . n: Number of input 1 - ... 3 $A_INSID INT $A_INSID[n] RS R 6 Image of Safety input signals (int. NCK interface) . n: Number of input word 1 - ... 4 $A_INSIP BOOL $A_INSIP[n] RS R 6 Image of a Safety input signal (int. PLC interface) . n: Number of input word 1 - ... 4 $A_INSIPD INT $A_INSIPD[n] RS R 6 Image of Safety input signals (int. PLC interface) . n: Number of input word 1 - ... 4 $A_OUTSI BOOL $A_OUTSI[n] RS WS R W 6 Image of a Safety output signal (int. NCK interface) . n: Number of output 1 - ... 4 $A_OUTSID INT $A_OUTSID[n] RS WS R W 6 Image of Safety output signals (int. NCK interface) . n: Number of output word 1 - ... 3 $A_OUTSIP BOOL $A_OUTSIP[n] RS R 6 Image of a Safety output signal (int. PLC interface) . n: Number of output 1 - ... 3 $A_OUTSIPD INT $A_OUTSIPD[n] RS R 6 Image of Safety output signals (int. PLC interface) . n: Number of output word 1 - ... 3 $A_MARKERSI BOOL $A_MARKERSI[n] RS WS R W + 6 Markers for Safety programming . n: Number of marker 1 - ... 3 $A_MARKERSID INT $A_MARKERSID[n] RS WS R W + 6 Marker word (32 bits) for Safety programming . n: Number of marker word 1 - ... 3 $A_MARKERSIP BOOL $A_MARKERSIP[n] RS R + 6 Image of PLC Safety markers . n: Number of marker 1 - ... 3 $A_MARKERSI INT $A_MARKERSIPD[n] RS R + 6 PD Image of PLC Safety marker words . n: Number of marker word 1 - ... 3  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-697 15 Tables 11.0215.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $A_TIMERSI REAL $A_TIMERSI[n] RS WS R W + 6 Safety timer - unit in seconds . Time is counted internally in multiples of the interpolation 3 cycle; Counting for the time variable is started by assigning the value $A_TIMERSI[n]= To stop the counter variable, assign a negative value: $A_TIMERSI[n]=-1 The current time can be read while the counter is active or stopped. Stopping the counter variable, by assigning -1 stops the last current time value which can then be read n: Number of timer 1 - ... $A_STATSID INT $A_STATSID RS R 6 Safety: Status of cross-checking between NCK and PLC. . If value is not equal to zero, there is a cross-checking error 3 $A_CMDSI BOOL $A_CMDSI[n] RS WS R W + 6 Safety: Control word for cross-checking between NCK and . PLC. 3 Array index n = 1: Increase timer for signal change monitoring to 10s n: Number of control signal for cross-checking NCK - PLC $A_LEVELSID INT $A_LEVELSID RS R 6 Safety: Display of signal change monitoring level. Indicates . the current number of signals marked for cross-checking. 3 $A_XFAULTSI INT Information on Safety Integrated Stop F for an axis: RS R 6 Bit 0 is set: . During crosschecking between NCK and 611D, an actual 4 value error has been discovered on an axis. Bit 1 is set: During crosschecking between NCK and 611D, an error has been discovered on an axis and the wait time before Stop B is triggered is running or has expired ($MA_SAFE_STOP_SWITCH_TIME_F). $A_PLCSIIN BOOL $A_PLCSIIN[n] Communication from PLC-SPL to NCK-SPL RS R + 6 n: Number of signal 1 - ... from the PLC . 4 $A_PLCSIOUT BOOL $A_PLCSIOUT[n] Communication from NCK-SPL to PLC- RS WS R W + 6 SPL . n: Number of signal 1 - ... to the PLC 4  Siemens AG, 2002. All rights reserved 15-698 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15 11.02 Tables15.2 List of system variables 15 Identifier Type Description: System variable/value range/index Parts pr. Sync O S $VA_IS REAL $VA_IS[X] RS R 6 Reliable actual position (SISITEC) . Axes: geometry axis, channel axis, machine axis 4 $VA_STOPSI INT $VA_STOPSI[X] RS R 6 Current Safety Integrated Stop for the particular axis . Value Meaning 4 -1 No stop 0 Stop A 1 Stop B 2 Stop C 3 Stop D 4 Stop E 5 Stop F 10 Test stop NC 11 Test ext. pulse suppression Axes: geometry axis, channel axis, machine axis $VA_XFAULTSI INT Information on Safety Integrated Stop F for this axis: R 6 Bit 0 is set: . During crosschecking between NCK and 611D, an actual 4 value error has been discovered. Bit 1 is set: During crosschecking between NCK and 611D, an error has been discovered and the wait time before Stop B ($MA_SAFE_STOP_SWITCH_TIME_F) is triggered is running or has expired Axes: geometry axis, channel axis, machine axis ▀  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition 15-699 15 Tables 11.0215.2 List of system variables 15  Siemens AG, 2002. All rights reserved 15-700 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition A 11.02 Appendix A Appendix A Index ..............................................................................................................................A-702 B Commands, Identifiers....................................................................................................A-719  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition A-701 A Appendix 11.02Index A A Index $A_OUTA 15-657 $ $A_OUTSE 15-696 $A_OUTSED 15-696 $A_CMDSI 15-698 $A_OUTSEP 15-696 $A_DAY 15-662 $A_OUTSEPD 15-697 $A_DBB 15-657 $A_OUTSI 15-697 $A_DBD 15-657 $A_OUTSID 15-697 $A_DBR 15-657 $A_OUTSIP 15-697 $A_DBW 15-657 $A_OUTSIPD 15-697 $A_DLB 15-658 $A_PBB_IN 15-658 $A_DLD 15-658 $A_PBB_OUT 15-659 $A_DLR 15-658 $A_PBD_IN 15-658 $A_DLW 15-658 $A_PBD_OUT 15-659 $A_DNO 15-646 $A_PBR_IN 15-658 $A_GG 15-647 $A_PBR_OUT 15-659 $A_HOUR 15-662 $A_PBW_IN 15-658 $A_IN 15-657 $A_PBW_OUT 15-659 $A_INA 15-657 $A_PLCSIIN 15-698 $A_INCO 15-657 $A_PLCSIOUT 15-698 $A_INSE 15-696 $A_PROBE 15-652 $A_INSED 15-696 $A_PROTO 15-655 $A_INSEP 15-696 $A_PROTOC 15-655 $A_INSEPD 15-696 $A_SECOND 15-662 $A_INSI 15-697 $A_STATSID 15-698 $A_INSID 15-697 $A_STOPESI 15-696 $A_INSIP 15-697 $A_TIMERSI 15-698 $A_INSIPD 15-697 $A_TOOLMLN 15-641 $A_LEVELSID 15-698 $A_TOOLMN 15-641 $A_LINK_TRANS_RATE 15-658 $A_XFAULTSI 15-698 $A_MARKERSI 15-697 $A_YEAR 15-662 $A_MARKERSID 15-697 $AA_ACC 15-693 $A_MARKERSIP 15-697 $AA_ACCLIMA 15-694 $A_MARKERSIPD 15-697 $AA_ACT_INDEX_AX_POS_NO 15-679 $A_MINUTE 15-662 $AA_ALARM_STAT 15-695 $A_MONIFACT 15-641 $AA_COUP_ACT 9-361, 9-378, 13-503, 15-691 $A_MONTH 15-662 $AA_COUP_OFFS 13-503, 15-693 $A_MSECOND 15-662 $AA_CURR 15-687 $A_MYMLN 15-641 $AA_DELT 15-685 $A_MYMN 15-641 $AA_DTBB 15-684 $A_OUT 15-657 $AA_DTBW 15-684  Siemens AG, 2002. All rights reserved A-702 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition A 11.02 AppendixIndex A $AA_DTEB 15-684 $AA_MEAS_P4_VALID 15-681 $AA_DTEPB 15-685 $AA_MEAS_POINT1 15-681 $AA_DTEPW 15-685 $AA_MEAS_POINT2 15-681 $AA_DTEW 15-684 $AA_MEAS_POINT3 15-682 $AA_EG_ACTIVE 15-696 $AA_MEAS_POINT4 15-682 $AA_EG_AX 15-692 $AA_MEAS_SETANGLE 15-682 $AA_EG_DENOM 15-696 $AA_MEAS_SETPOINT 15-682 $AA_EG_NUM_LA 15-691 $AA_MEAS_SP_VALID 15-682 $AA_EG_NUMERA 15-695 $AA_MM 15-680 $AA_EG_SYN 15-696 $AA_MM1 15-680 $AA_EG_SYNFA 15-691 $AA_MM2 15-680 $AA_EG_TYPE 15-695 $AA_MM3 15-680 $AA_ENC_ACTIVE 15-679 $AA_MM4 15-681 $AA_ENC_COMP 15-626 $AA_MOTEND 5-230, 15-694 $AA_ENC_COMP_IS_MODULO 15-627 $AA_MW 15-680 $AA_ENC_COMP_MAX 15-627 $AA_MW1 15-680 $AA_ENC_COMP_MIN 15-627 $AA_MW2 15-680 $AA_ENC_COMP_STEP 15-626 $AA_MW3 15-680 $AA_ENC1_ACTIVE 15-679 $AA_MW4 15-680 $AA_ENC2_ACTIVE 15-679 $AA_OFF 15-682 $AA_ESR_ENABLE 15-694 $AA_OFF_LIMIT 15-682 $AA_ESR_STAT 15-694 $AA_OFF_VAL 15-682 $AA_ESR_TRIGGER 15-695 $AA_OSCILL_REVERSE_POS1 15-685 $AA_ETRANS 15-681 $AA_OSCILL_REVERSE_POS2 15-685 $AA_FOC 15-691 $AA_OVR 15-686 $AA_FXS 15-690 $AA_POLFA 15-695 $AA_IB 15-678 $AA_POLFA_VALID 15-695 $AA_IBN 15-678 $AA_POWER 15-687 $AA_IEN 15-678 $AA_PROG_INDEX_AX_POS_NO 15-679 $AA_IM 15-678 $AA_QEC 15-627 $AA_IN_SYNC 15-693 $AA_QEC_ACCEL_1 15-627 $AA_IW 15-678 $AA_QEC_ACCEL_2 15-628 $AA_JERKLIMA 15-694 $AA_QEC_ACCEL_3 15-628 $AA_LEAD_P 15-692 $AA_QEC_COARSE_STEPS 15-627 $AA_LEAD_P_TURN 15-692 $AA_QEC_DIRECTIONAL 15-628 $AA_LEAD_SP 9-378, 15-692 $AA_QEC_FINE_STEPS 15-627 $AA_LEAD_SV 9-378, 15-692 $AA_QEC_LEARNING_RATE 15-628 $AA_LEAD_V 15-693 $AA_QEC_MEAS_TIME_1 15-628 $AA_LOAD 15-687 $AA_QEC_MEAS_TIME_2 15-628 $AA_MASL_STAT 15-689 $AA_QEC_MEAS_TIME_3 15-628 $AA_MEAACT 15-681 $AA_QEC_TIME_1 15-628 $AA_MEAS_P1_VALID 15-681 $AA_QEC_TIME_2 15-628 $AA_MEAS_P2_VALID 15-681 $AA_REF 15-689 $AA_MEAS_P3_VALID 15-681 $AA_REPOS_DELAY 15-678  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition A-703 A Appendix 11.02Index A $AA_S 15-667 $AC_FCT3 15-671 $AA_SCPAR 5-232, 15-694 $AC_FCT3C 15-670 $AA_SCTRACE 15-693 $AC_FCT3LL 15-670 $AA_SNGLAX_STAT 15-689 $AC_FCT3UL 15-670 $AA_SOFTENDN 15-683 $AC_FCTLL 15-670 $AA_SOFTENDP 15-683 $AC_FCTUL 15-670 $AA_STAT 15-688 $AC_FIFO1 15-656 $AA_SYNC 15-693 $AC_FIFO2 15-656 $AA_TOFF 15-683 $AC_FIFO3 15-656 $AA_TOFF_LIMIT 15-683 $AC_G0MODE 15-673 $AA_TOFF_PREP_DIFF 15-683 $AC_IPO_BUF 15-651 $AA_TOFF_VAL 15-683 $AC_IW_STAT 15-651 $AA_TORQUE 15-687 $AC_IW_TU 15-651 $AA_TYP 15-689 $AC_JOG_COORD 15-652 $AA_VACTB 15-686 $AC_LIFTFAST 15-652 $AA_VACTM 15-687 $AC_MARKER 15-591 $AA_VACTW 15-686 $AC_MEA 15-652 $AA_VC 15-686 $AC_MEAS_ACT_PLANE 15-674 $AA_VELOLIMA 15-694 $AC_MEAS_CHBFR 15-674 $AC_ACTUAL_PARTS 15-672 $AC_MEAS_CHSFR 15-674 $AC_ALARM_STAT 15-672 $AC_MEAS_CORNER_ANGLE 15-676 $AC_ASUB 15-654 $AC_MEAS_CORNER_SETANGLE 15-674 $AC_AXCTSWA 15-695 $AC_MEAS_D_NUMBER 15-675 $AC_BLOCKTYPE 15-651 $AC_MEAS_DIAMETER 15-676 $AC_CONSTCUT_S 15-667 $AC_MEAS_DIR_APPROACH 15-674 $AC_CUTTING_TIME 15-672 $AC_MEAS_FINE_TRANS 15-674 $AC_CYCLE_TIME 15-672 $AC_MEAS_FRAME 15-676 $AC_DELT 15-665 $AC_MEAS_FRAME_SELECT 15-674 $AC_DRF 15-681 $AC_MEAS_LATCH 15-673 $AC_DTBB 15-664 $AC_MEAS_NCBFR 15-674 $AC_DTBW 15-663 $AC_MEAS_P1_COORD 15-673 $AC_DTEB 15-664 $AC_MEAS_P2_COORD 15-673 $AC_DTEW 15-664 $AC_MEAS_P3_COORD 15-673 $AC_ESR_TRIGGER 15-672 $AC_MEAS_P4_COORD 15-673 $AC_F 15-665 $AC_MEAS_PFRAME 15-675 $AC_FCT0 15-671 $AC_MEAS_RESULTS 15-677 $AC_FCT1 15-671 $AC_MEAS_SCALEUNIT 15-677 $AC_FCT1C 15-670 $AC_MEAS_SEMA 15-673 $AC_FCT1LL 15-670 $AC_MEAS_SET_COORD 15-673 $AC_FCT1UL 15-670 $AC_MEAS_T_NUMBER 15-675 $AC_FCT2 15-671 $AC_MEAS_TOOL_LENGTH 15-676 $AC_FCT2C 15-670 $AC_MEAS_TOOL_MASK 15-675 $AC_FCT2LL 15-670 $AC_MEAS_TYPE 15-675 $AC_FCT2UL 15-670 $AC_MEAS_UIFR 15-674  Siemens AG, 2002. All rights reserved A-704 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition A 11.02 AppendixIndex A $AC_MEAS_VALID 15-676 $AC_TC_LTO 15-661 $AC_MEAS_WP_ANGLE 15-676 $AC_TC_MFN 15-660 $AC_MEAS_WP_SETANGLE 15-674 $AC_TC_MFO 15-661 $AC_MONMIN 15-646 $AC_TC_MMYN 15-660 $AC_MSNUM 15-669 $AC_TC_MTN 15-661 $AC_MTHNUM 15-670 $AC_TC_MTO 15-661 $AC_OPERATING_TIME 15-672 $AC_TC_STATUS 15-660 $AC_OVR 15-665 $AC_TC_THNO 15-660 $AC_PARAM 15-591 $AC_TC_TNO 15-660 $AC_PATHACC 15-666 $AC_TIME 15-662 $AC_PATHJERK 15-666 $AC_TIMEC 15-662 $AC_PATHN 15-663 $AC_TIMER 15-662 $AC_PLTBB 15-664 $AC_TOOLO_ACT 15-639 $AC_PLTEB 15-664 $AC_TOOLO_DIFF 15-639 $AC_PRESET 15-681 $AC_TOOLO_END 15-639 $AC_PROG 15-651 $AC_TOTAL_PARTS 15-672 $AC_PRTIME_A 15-663 $AC_TRAFO 15-652 $AC_PRTIME_A_INC 15-663 $AC_TRAFO_PAR 15-652 $AC_PRTIME_M 15-663 $AC_TRAFO_PARSET 15-652 $AC_PRTIME_M_INC 15-663 $AC_TRANS_SYS 15-651 $AC_REPOS_PATH_MODE 15-664 $AC_VACTB 15-666 $AC_REQUIRED_PARTS 15-672 $AC_VACTW 15-666 $AC_RETPOINT 15-683 $AC_VC 15-666 $AC_ROT_SYS 15-652 $AN_AXCTAS 15-695 $AC_SDIR 15-667 $AN_AXCTSWA 15-695 $AC_SERUPRO 15-677 $AN_BUS_FAIL_TRIGGER 15-672 $AC_SGEAR 15-668 $AN_CEC 15-629 $AC_SMODE 15-668 $AN_CEC_DIRECTION 15-629 $AC_SPECIAL_PARTS 15-672 $AN_CEC_INPUT_AXIS 15-629 $AC_STAT 15-651 $AN_CEC_IS_MODULO 15-629 $AC_SYNA_MEM 15-651 $AN_CEC_MAX 15-629 $AC_SYSTEM_MARKER 15-592 $AN_CEC_MIN 15-629 $AC_SYSTEM_PARAM 15-591 $AN_CEC_MULT_BY_TABLE 15-629 $AC_TANEB 15-651 $AN_CEC_OUTPUT_AXIS 15-629 $AC_TC 15-640 $AN_CEC_STEP 15-629 $AC_TC_ACKC 15-660 $AN_ESR_TRIGGER 15-672 $AC_TC_ACKT 15-659 $AN_NCK_VERSION 15-636 $AC_TC_CMDC 15-660 $AN_POWERON_TIME 15-636 $AC_TC_CMDT 15-659 $AN_SETUP_TIME 15-636 $AC_TC_FCT 15-660 $C_A 15-631 $AC_TC_LFN 15-660 $C_A_PROG 15-633 $AC_TC_LFO 15-661 $C_ALL_PROG 15-634 $AC_TC_LMYN 15-660 $C_B 15-631 $AC_TC_LTN 15-661 $C_B_PROG 15-633  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition A-705 A Appendix 11.02Index A $C_DL 15-632 $P_CHBFRMASK 15-637 $C_DL_PROG 15-633 $P_CONSTCUT_S 15-667 $C_H 15-631 $P_COUP_OFFS 15-693 $C_I 15-632 $P_CTABDEF 15-648 $C_I_NUM 15-634 $P_CYCFR 15-592 $C_I_ORDER 15-635 $P_CYCFRAME 15-636 $C_IN 15-659 $P_D 15-641 $C_INC_PROG 15-634 $P_DLNO 15-638 $C_J 15-632 $P_DRYRUN 15-649 $C_J_NUM 15-634 $P_EG_BC 15-691 $C_J_ORDER 15-635 $P_EP 15-677 $C_K 15-632 $P_EPM 15-678 $C_K_NUM 15-634 $P_EXTFR 15-592 $C_K_ORDER 15-635 $P_EXTFRAME 15-636 $C_L 15-632 $P_EXTGG 15-647 $C_M 15-632 $P_F 15-665 $C_MACPAR 15-635 $P_FA 15-685 $C_ME 15-635 $P_GG 15-647 $C_OUT 15-659 $P_GWPS 15-670 $C_TE 15-635 $P_H 15-641 $C_TS 15-632 $P_IFRAME 15-637 $C_TS_PROG 15-634 $P_ISTEST 15-655 $C_TYP_PROG 15-634 $P_LIFTFAST 15-653 $C_Z 15-632 $P_MAG 15-643 $C_Z_PROG 15-633 $P_MAGA 15-645 $MC_COMPESS_VELO_TOL. 9-384 $P_MAGDISL 15-644 $P_ACTBFRAME 15-637 $P_MAGDISS 15-643 $P_ACTFRAME 15-637 $P_MAGHLT 15-645 $P_ACTGEOAX 15-647 $P_MAGN 15-643 $P_ACTID 15-650 $P_MAGNA 15-645 $P_AD 15-638 $P_MAGNDIS 15-643 $P_ADT 15-638 $P_MAGNH 15-645 $P_AEP 15-678 $P_MAGNHLT 15-645 $P_AP 15-646 $P_MAGNREL 15-644 $P_APDV 15-665 $P_MAGNS 15-644 $P_APR 15-678 $P_MAGREL 15-644 $P_ATPG 15-646 $P_MAGS 15-644 $P_AXN1 15-646 $P_MC 15-648 $P_AXN2 15-646 $P_MMCA 15-655 $P_AXN3 15-647 $P_MSNUM 15-669 $P_BFRAME 15-637 $P_MTHNUM 15-669 $P_CHANNO 15-677 $P_MTHSDC 15-645 $P_CHBFR 15-592 $P_NCBFR 15-593 $P_CHBFRAME 15-637 $P_NCBFRAME 15-637  Siemens AG, 2002. All rights reserved A-706 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition A 11.02 AppendixIndex A $P_NCBFRMASK 15-637 $P_TOOLFRAME 15-636 $P_NUM_SPINDLES 15-669 $P_TOOLL 15-639 $P_OFFN 15-649 $P_TOOLND 15-641 $P_PARTFR 15-592 $P_TOOLNDL 15-642 $P_PARTFRAME 15-636 $P_TOOLNG 15-642 $P_PFRAME 15-637 $P_TOOLNO 15-639 $P_POLF 15-678 $P_TOOLNT 15-642 $P_POLF_VALID 15-678 $P_TOOLO 15-639 $P_PROG 15-649 $P_TOOLP 15-639 $P_PROG_EVENT 15-649 $P_TOOLR 15-640 $P_PROGPATH 15-649 $P_TOOLT 15-642 $P_REPINF 15-648 $P_TRAFO 15-652 $P_S 15-667 $P_TRAFO_PAR 15-652 $P_SAUTOGEAR 15-668 $P_TRAFO_PARSET 15-652 $P_SDIR 15-667 $P_TRAFR 15-593 $P_SEARCH 15-647 $P_UBFR 15-636 $P_SEARCH_MASLC 15-689 $P_UIFR 15-592 $P_SEARCH_MASLD 15-690 $P_UIFRNUM 15-637 $P_SEARCH_S 15-667 $P_USEKT 15-642 $P_SEARCH_SDIR 15-667 $P_VDITCP 15-646 $P_SEARCH_SGEAR 15-669 $P_WPFR 15-592 $P_SEARCH_SPOS 15-669 $P_WPFRAME 15-636 $P_SEARCH_SPOSMODE 15-669 $PA_ACCLIMA 15-694 $P_SEARCH1 15-647 $PA_JERKLIMA 15-694 $P_SEARCH2 15-647 $PA_VELOLIMA 15-694 $P_SEARCHL 15-648 $PI 15-649 $P_SETFR 15-592 $SA_LEAD_TYPE 9-377, 9-378 $P_SETFRAME 15-636 $SC_PA_ACTIV_IMMED 15-601 $P_SGEAR 15-668 $SC_PA_CENT_ABS 15-603 $P_SIM 15-648 $SC_PA_CENT_ORD 15-603 $P_SMODE 15-668 $SC_PA_CONT_ABS 15-603 $P_STACK 15-649 $SC_PA_CONT_NUM 15-602 $P_SUBPAR 15-648 $SC_PA_CONT_ORD 15-602 $P_TC 15-640 $SC_PA_CONT_TYP 15-602 $P_TCANG 15-640 $SC_PA_LIM_3DIM 15-602 $P_TCDIFF 15-640 $SC_PA_MINUS_LIM 15-602 $P_TCSOL 15-640 $SC_PA_ORI 15-602 $P_TCSTAT 15-640 $SC_PA_PLUS_LIM 15-602 $P_TOOL 15-638 $SC_PA_T_W 15-601 $P_TOOLD 15-642 $SN_PA_ACTIV_IMMED 15-630 $P_TOOLENV 15-646 $SN_PA_CENT_ABS 15-631 $P_TOOLENVN 15-646 $SN_PA_CENT_ORD 15-631 $P_TOOLEXIST 15-641 $SN_PA_CONT_ABS 15-631 $P_TOOLFR 15-592 $SN_PA_CONT_NUM 15-630  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition A-707 A Appendix 11.02Index A $SN_PA_CONT_ORD 15-631 $TC_CARR37 15-601 $SN_PA_CONT_TYP 15-631 $TC_CARR38 15-601 $SN_PA_LIM_3DIM 15-630 $TC_CARR39 15-601 $SN_PA_MINUS_LIM 15-630 $TC_CARR4 15-594 $SN_PA_ORI 15-630 $TC_CARR40 15-601 $SN_PA_PLUS_LIM 15-630 $TC_CARR5 15-594 $SN_PA_T_W 15-630 $TC_CARR6 15-594 $TC_ADPT1 15-626 $TC_CARR7 15-594 $TC_ADPT2 15-626 $TC_CARR8 15-594 $TC_ADPT3 15-626 $TC_CARR9 15-594 $TC_ADPTT 15-626 $TC_DP1 15-603 $TC_CARR1 15-593 $TC_DP10 15-604 $TC_CARR1...14 8-346 $TC_DP11 15-605 $TC_CARR10 15-594 $TC_DP12 15-605 $TC_CARR11 15-594 $TC_DP13 15-605 $TC_CARR12 15-595 $TC_DP14 15-605 $TC_CARR13 15-595 $TC_DP15 15-605 $TC_CARR14 15-595 $TC_DP16 15-605 $TC_CARR15 15-595 $TC_DP17 15-606 $TC_CARR16 15-595 $TC_DP18 15-606 $TC_CARR17 15-595 $TC_DP19 15-606 $TC_CARR18 15-595 $TC_DP2 15-603 $TC_CARR18[m] 8-346 $TC_DP20 15-606 $TC_CARR19 15-595 $TC_DP21 15-606 $TC_CARR2 15-593 $TC_DP22 15-606 $TC_CARR20 15-595 $TC_DP23 15-607 $TC_CARR21 15-596 $TC_DP24 15-607 $TC_CARR22 15-596 $TC_DP25 15-607 $TC_CARR23 15-596 $TC_DP3 15-603 $TC_CARR24 15-596 $TC_DP4 15-604 $TC_CARR24[m] 8-348 $TC_DP5 15-604 $TC_CARR25 15-596 $TC_DP6 15-604 $TC_CARR26 15-596 $TC_DP7 15-604 $TC_CARR27 15-597 $TC_DP8 15-604 $TC_CARR28 15-597 $TC_DP9 15-604 $TC_CARR29 15-598 $TC_DPC1 15-609 $TC_CARR3 15-594 $TC_DPC10 15-609 $TC_CARR30 15-598 $TC_DPC2 15-609 $TC_CARR31 15-598 $TC_DPC3 15-609 $TC_CARR32 15-599 $TC_DPCE 15-607 $TC_CARR33 15-599 $TC_DPCS1 15-610 $TC_CARR34 15-600 $TC_DPCS10 15-610 $TC_CARR35 15-600 $TC_DPCS2 15-610 $TC_CARR36 15-600 $TC_DPCS3 15-610  Siemens AG, 2002. All rights reserved A-708 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition A 11.02 AppendixIndex A $TC_DPH 15-607 $TC_MLSR 15-624 $TC_DPV 15-607 $TC_MOP1 15-617 $TC_DPV3 15-608 $TC_MOP11 15-617 $TC_DPV4 15-608 $TC_MOP13 15-617 $TC_DPV5 15-608 $TC_MOP15 15-617 $TC_ECP13 15-614 $TC_MOP2 15-617 $TC_ECP14 15-614 $TC_MOP3 15-617 $TC_ECP21 15-614 $TC_MOP4 15-617 $TC_ECP23 15-614 $TC_MOP5 15-617 $TC_ECP24 15-614 $TC_MOP6 15-617 $TC_ECP31 15-614 $TC_MOPC1 15-618 $TC_ECP33 15-615 $TC_MOPC10 15-618 $TC_ECP34 15-615 $TC_MOPC2 15-618 $TC_ECP41 15-615 $TC_MOPCS1 15-618 $TC_ECP43 15-615 $TC_MOPCS10 15-618 $TC_ECP44 15-615 $TC_MOPCS2 15-618 $TC_ECP51 15-615 $TC_MPP1 15-622 $TC_ECP53 15-616 $TC_MPP2 15-622 $TC_ECP54 15-616 $TC_MPP3 15-622 $TC_ECP61 15-616 $TC_MPP4 15-622 $TC_ECP63 15-616 $TC_MPP5 15-622 $TC_ECP64 15-616 $TC_MPP6 15-622 $TC_ECP71 15-616 $TC_MPP66 15-622 $TC_MAMP1 15-626 $TC_MPP7 15-622 $TC_MAMP2 15-626 $TC_MPPC1 15-623 $TC_MAMP3 15-626 $TC_MPPC10 15-623 $TC_MAP1 15-624 $TC_MPPC2 15-623 $TC_MAP10 15-625 $TC_MPPCS1 15-623 $TC_MAP2 15-624 $TC_MPPCS10 15-623 $TC_MAP3 15-624 $TC_MPPCS2 15-623 $TC_MAP4 15-624 $TC_MPTH 15-624 $TC_MAP5 15-624 $TC_SCP13 15-611 $TC_MAP6 15-624 $TC_SCP14 15-611 $TC_MAP7 15-625 $TC_SCP21 15-611 $TC_MAP8 15-625 $TC_SCP23 15-611 $TC_MAP9 15-625 $TC_SCP24 15-611 $TC_MAPC1 15-625 $TC_SCP31 15-611 $TC_MAPC10 15-625 $TC_SCP33 15-612 $TC_MAPC2 15-625 $TC_SCP34 15-612 $TC_MAPCS1 15-625 $TC_SCP41 15-612 $TC_MAPCS10 15-625 $TC_SCP43 15-612 $TC_MAPCS2 15-625 $TC_SCP44 15-612 $TC_MDP1 15-623 $TC_SCP51 15-612 $TC_MDP2 15-623 $TC_SCP53 15-613  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition A-709 A Appendix 11.02Index A $TC_SCP54 15-613 $VA_IS 15-699 $TC_SCP61 15-613 $VA_LOAD 15-687 $TC_SCP63 15-613 $VA_POWER 15-687 $TC_SCP64 15-613 $VA_PRESSURE_A 15-688 $TC_SCP71 15-613 $VA_PRESSURE_B 15-688 $TC_TP1 15-619 $VA_STOPSI 15-699 $TC_TP10 15-619 $VA_TORQUE 15-687 $TC_TP11 15-619 $VA_TORQUE_AT_LIMIT 15-690 $TC_TP2 15-619 $VA_VACTM 15-687 $TC_TP3 15-619 $VA_VALVELIFT 15-688 $TC_TP4 15-619 $VA_XFAULTSI 15-699 $TC_TP5 15-619 $VC_TOOLO 15-639 $TC_TP6 15-619 $VC_TOOLO_DIFF 15-640 $TC_TP7 15-619 $VC_TOOLO_STAT 15-640 $TC_TP8 15-619 $TC_TP9 15-619 $TC_TPC1 15-619 $TC_TPC10 15-620 $TC_TPC2 15-620 $TC_TPCS1 15-620 $TC_TPCS10 15-620 $TC_TPCS2 15-620 $TC_TPG1 15-621 $TC_TPG2 15-621 $TC_TPG3 15-621 $TC_TPG4 15-621 $TC_TPG5 15-621 $TC_TPG6 15-621 $TC_TPG7 15-621 $TC_TPG8 15-621 $TC_TPG9 15-621 $VA_COUP_OFFS 15-693 $VA_CURR 15-688 $VA_DIST_TORQUE 15-688 $VA_DP_ACT_TEL 15-688 $VA_DPE 15-693 $VA_EG_SYNCDIFF 15-691 $VA_EG_SYNCDIFF_S 15-692 $VA_FOC 15-691 $VA_FXS 15-690 $VA_FXS_INFO 15-690 $VA_IM 15-679 $VA_IM1 15-680 $VA_IM2 15-680  Siemens AG, 2002. All rights reserved A-710 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition A 11.02 AppendixIndex A B A Backlash 13-493 Actual value and setpoint coupling 9-376 Block display 2-121, 2-125 Actual-value coupling 13-495 Block search 10-452 Adaptive control, additive 10-424 Adaptive control, multiplicative 10-425 C Angle of rotation α1, α2 8-346 Calculate circle data 14-557 Angle offset/angle increment of the rotary axes Calculate intersection of two contour elements 8-348 14-542 Angle reference 13-501 Calling frame 6-244 Approaching coded positions 5-186 Calling up a program in ISO language indirectly Arithmetic functions 1-46 with ISOCALL 2-121 Arithmetic operations/functions 1-46 CANCEL 10-453 Arithmetic parameter 1-26 Cancel synchronized action 10-449 Array definition 1-34 CASE instruction 1-65 Array definition, value lists 1-36 Channel-specific frames 6-257 Array index 1-35 CHECKSUM 1-98 Assign and start interrupt routine 1-79 Circular interpolation 5-212 Assignments 1-45 Circumferential milling 8-328 ASUB 10-452 Clamping axis/spindle 13-526 Asynchronized oscillation 11-456 Clearance control 10-426 Automatic "GET" 1-87 Coarse offset 6-248 Automatic path segmentation 12-480 Command axes 10-430 Auxiliary functions 10-415 Command elements 10-397 Auxiliary functions 12-480 Comparison and logic operators 1-48 Axial feed 10-433 Priority of operators 1-53 Axial leading value coupling 9-375 Compressor 5-196, 5-211 Axis Compressor for orientations Container 13-526 COMPON, COMPCURV 5-197 Local 13-526 Computing capacity 13-522 Axis container 13-526, 13-528 Concatenation of strings 1-58 Axis coordination 10-434 Constraints for transformations 7-302 Axis functions 13-489 Contour element 14-546, 14-548 Axis transfer Contour elements, intersection 14-554 Release axis 1-86 Contour preparation Axis transfer Relief cut elements 14-544 GET 1-85 Contour preparation 14-543, 14-550 Get axis 1-86 Contour table 14-543, 14-550 RELEASE 1-85 Control structures 1-67 Coupled motion 9-358 Coupled-motion axes 9-359 Coupling factor 9-360 Coupled-axis combinations 9-359  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition A-711 A Appendix 11.02Index A Coupled-axis motion 10-438 Deactivating frames 6-252 Coupling 9-352, 9-358 Deactivation position 13-501 Coupling 13-495 Defining user data 3-156 Cov.com, user cycles 2-138 Degrees 9-364 Create interrupt routine as subprogram 1-78 DELETE 1-93 CS 9-352 Delete couplings 13-502 CTAB 9-369 Delete distance-to-go 5-221 CTABDEF 9-365 Delete distance-to-go with preparation 10-418 CTABEND 9-365 Deletion of distance-to-go 10-418, 11-462 CTABINV 9-369 Denominator polynomial 5-209 Current Deselect transformation: TRAFOOF 7-304 Angular offset 13-503 Direct axis transfer: GETD 1-87 Coupling status following spindle 13-503 Displaying the block number programmed last Current block display 2-125 2-121 Current channel basic frames 6-259 DRF offset 6-249 Current first basic frame in the channel 6-260 Drive-independent reactions 13-514 Current NCU-global basic frames 6-259 Drive-independent retract 13-521 Current programmable frame 6-262 Drive-independent stop 13-520 Current settable frame 6-261 Dwell time 1-76 Current system frames 6-259, 6-261, 6-262 Current total frame 6-262 E Curve parameter 5-211 Curve tables 9-362 EG CUT 14-555 Electronic gear 13-505 Cutter EGONSYNE 13-508 Reference point (FH) 8-334 Electronic gear 13-505 Tip (FS) 8-334 End of program 10-451 Cutting edge number 8-341 Endless program 1-70 Cycles Error checkback 14-543, 14-550 Setting parameters for user cycles 2-136, Error responses 10-442 2-138 Euler angle 8-336 Cylinder peripheral curve transformation 7-290, Evaluation function 10-423 7-294 EXECTAB 14-542 Offset contour normal OFFN 7-292 EXECUTE 4-176 Executing external subprogram 2-132 EXTCALL 2-132 D Extended measuring function 5-218, 7-279 D numbers Extended stopping and retract 13-513 Check 8-342 External zero offset 6-250 Determine T number 8-344 Free assignment 8-341 Rename 8-343 DC link backup 13-519 Deactivate/reactivate interrupt routine 1-79  Siemens AG, 2002. All rights reserved A-712 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition A 11.02 AppendixIndex A F I F word polynomial 5-212 Identification number 10-398 Face milling 7-272 Inclined axis programming Face turning G05, G07 7-300 External machining 14-543 Inclined axis transformation 7-296 Internal machining 14-543 Inclined axis, TRAANG 7-276, 7-297 FAxis 9-352, 9-358, 9-364, 9-375 Indirect G code programming 1-42 Feed Indirect programming 1-40 Axial 10-433 Indirect subprogram call 1-41 FGROUP Infeed Axes 5-211 Axis 11-472 FIFO variable 10-413 Motion 11-467, 11-469 Fine offset 6-248 Suppress 11-464 First basic frame in the channel 6-258 Initialization program 3-153 Flag variables 10-409 Generating an initialization program 3-154 Following axis 9-375 Loading initialization program 3-154 FOR 1-68 Saving initialization program 3-154 Frame calculation 6-253 User data definition 3-156 Frame chaining 6-245, 6-263 Initiation of stroke 12-478 Frame rotation definition 6-247 Interpolation cycle 13-523 Frame variable Interrupt routine 1-77 Coordinate transformation call 6-236 Define the priority 1-79 Frame variables 6-236 Programmable traverse direction 1-77 Assigning values 6-241 Rapid lift from contour 1-80 Definition of new frames 6-247 Save interrupt position 1-78 Predefined frame variables 6-237 Intersection procedure for 3D compensation Reading or changing frame components 6-243 8-335 Friction 13-493 IPO cycle 11-470 ISD (Insertion Depth) 8-328 G ISFILE 1-97 G code 5-211 J Group 5-213 G643 5-212 Jump instruction Generator operation 13-519 CASE instruction 1-65 GUD Automatic activation 3-162 L Laser power control 10-422 H LAxis 9-352, 9-358, 9-364, 9-375 Hold time 11-459 Lead angle 7-270 Leading axis 9-375 Leading value coupling 10-439 Leading value simulation 9-378  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition A-713 A Appendix 11.02Index A Learn compensation characteristics 13-493 Mode change 10-450 Linear interpolation 5-211, 5-212 Motion control 13-534 Link axis 13-526 Motion-synchronized actions Link communication 13-522 Actions 10-402 Link module 13-523 Overview 10-404 Link variable Motion-synchronous actions Global 13-523 Programming 10-395 Logic operators 1-51 Longitudinal turning N External machining 14-543 Internal machining 14-543 N 9-364 Lower/upper case 1-59 NC Stop 10-451 NCU Link 13-523 M NCU-global basic frames 6-256 M commands 12-479 NCU-global settable frames 6-257 M function NCU-to-NCU communication 13-523 Three-digit 2-143 Nesting depth 1-69 M6 Networked NCUs 13-523 Subprogram call 2-136 NEWCONF 1-90 MAC Nibbling 12-476 Automatic activation 3-162 Nibbling on 12-476 MACH 14-543 Machine O State, global 13-523 Machine and setting data 10-412 OEM addresses 5-228 Macro technology 12-479 OEM functions 5-228 Macros 2-142 OEM interpolations 5-228 Max/min indicator 14-546, 14-548 Offset contour normal OFFN 7-292 MEAFRAME 6-253, 6-256 Offset of the rotary axes 8-348 Measured value recording 5-217 Online tool length compensation 7-284 Measurement 10-441 Online tool offset 10-428 Measurement results 5-221 Operating mode 5-220 Measurements with touch trigger probe Orientation axes 7-269, 7-274, 7-276 Programming measuring blocks 5-216 Oscillating axis 11-457 Status variable 5-216 Oscillation Measuring probe status 5-222 Activate, deactivate oscillation 11-459 Memory Asynchronized oscillation 11-456, 11-458 Memory structure 3-146 Control via synchronized action 11-464 Program memory 3-146 Defining the sequence of motions 11-460 User memory 3-146 Synchronized oscillation 11-463 Minimum position/maximum position of the rotary Oscillation reversal points 11-457 axis 8-348 Override 11-470 Mode 11-463  Siemens AG, 2002. All rights reserved A-714 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition A 11.02 AppendixIndex A P Program run with preprocessing memory 9-386 Program runtime 13-528 Parameterizable subprogram return 2-113 Programmable motion end criterion 5-229 Parameters of the rotary axes 8-348 Programmable search path for subprogram calls Parts program 13-523, 13-526 2-123 Partial infeed 11-464 Programming search paths for subprogram call Partial length 11-463 3-152 Path Protection levels for user data 3-160 Absolute 1-73 Protection zones 4-175 Relative 1-73 Activating/deactivating protection zones 4-180 Path axes 5-211 Contour definition of protection zones 4-178 Path feed 5-211 Define channel-specific protection zones 4-176 Path section 12-480 Define machine-specific protection zones 4-176 Path segmentation 12-482 Defining protection zones 4-177 Path segmentation for path axes 12-481 Punching 12-476, 12-480 Path segmentation for single axes 12-482 Punching on 12-476 Polynomial Punching with delay Off 12-476 Interpolation 5-211 Punching with delay On 12-476 Polynomial coefficient 5-205 Punching, nibbling Off 12-476 Polynomial definition 10-420 Polynomial interpolation 5-204 Denominator polynomial 5-209 Q Position axis 10-432 Quadrant error compensation Position synchronism 13-496 Activate learning process 13-494 Positioning movements 10-430 Deactivate learning process 13-494 Power On 10-450 Subsequent learning 13-494 Preprocessing memory 9-386 Quantity of parts, fixed 1-71 Preprocessing stop 10-417 Preset offset 6-251 R Program coordination 1-72 Example 1-75 R 15-591 Instructions for program coordination 1-73 R parameters 10-411 Program end 1-76 READ 1-94 Program memory 3-146 Read-in disable 10-416 Creating workpiece directories 3-150 Real-time variables 10-406 Directories 3-148 Relief cut 14-543 File types 3-148 Relief cut elements 14-544 Overview 3-147 REPEAT 1-69 Programming a search path for a subprogram Repeating program sections with indirect call 3-152 Programming CALL 2-120 Search path with subprogram call 3-151 Repositioning 10-453 Selecting workpiece 3-151 Repositioning on contour 9-388 Workpiece directory 3-149 Approach along a straight line 9-391 Program repetition 2-117 Approach along quadrant 9-391  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition A-715 A Appendix 11.02Index A Approach along semi-circle 9-392 Station/position change 13-526 Approach with new tool 9-390 Status of coupling 9-378 Repositioning point 9-389 Stock removal 14-542 Reset 10-450 Stopping and retract Resolved kinematics 8-346 Extended 13-513 Reversal String length 1-60 Area 11-464 String operations 1-55 Point 11-464 Structuring instruction for the Step editor 3-173 Rotary axes Subprogram call Distance vectors l1, l2 8-346 Indirect 1-41 Rotary axis Subprogram call with M/T function 2-136 Direction vectors V1, V2 8-346 Subprogram call, search path 3-151 RPY angle 8-336 Subprogram with path specification and Run string as parts program line 1-44 parameters 2-122 Runtime response 1-69 Subprogram, external 2-132 Subprograms 2-102 S Indirect subprogram call 2-119 Modal subprogram call 2-118 SBLON 2-126 Nesting 2-103 Search for character 1-60 Program repetition 2-117 Selecting a substring 1-62 SAVE mechanism 2-104 Selection of a single character 1-63 Subprogram call 2-109 Servo parameter block programmable 5-232 Subprogram with parameter transfer 2-109 Set actual value 10-436 Subprograms with parameter transfer Set up variable axis transfer response 1-89 Array definition 2-108 Setpoint coupling 13-495 Parameter transfer between main program and Settable path reference 5-211 subprogram 2-105 Setting data 11-458 Supplementary conditions 1-70, 5-212, 10-450 Single axis motion 12-482 SW limit switch 10-434 Single block suppression 2-126 Switchable geometry axes 7-308 Singular positions 7-275 Synchronization run Sparking-out stroke 11-462 Coarse 13-495 Speed ratio 13-499 Fine 13-495 Spindle motions 10-437 Setpoint synchronization 13-495 Spindle transfer Synchronized action parameters 10-410 GET 1-85 Synchronized actions 13-523 RELEASE 1-85 Static 9-379 Spline grouping 5-193 Synchronized oscillation Spline interpolation 5-187, 5-211 Assignment of oscillating and infeed axes A spline 5-188 11-465 B spline 5-189 Definition of infeed 11-465 C spline 5-190 Infeed in reversal area 11-467 Compressor 5-193 Stop at reversal point 11-469 Start/stop axis 10-432 Synchronized action 11-466  Siemens AG, 2002. All rights reserved A-716 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition A 11.02 AppendixIndex A Synchronized spindle 13-495 Tool orientation 8-336 Activate synchronized mode 13-501 Toolholder 8-348 Block change behavior 13-500 Clear/edit/read data 8-349 Coupling type 13-500 Kinematics 8-346 Deactivate synchronized mode 13-501 Torsion 13-493 Define pair 13-497 Total basic frame 6-260 Delete coupling 13-502 TRACYL transformation 7-290 Pair 13-496 TRAFOOF 7-304 Speed ratio 13-499 Transformation TRAORI 7-268 Synchronized spindle Transformation with a swiveling linear axis 7-267 System variable 1-27 Transformation, 3/4-axis 7-268 System variables 1-26, 13-523 Transformation, 5-axis Global 13-523 Programming in Euler angles 7-270 Programming in RPY angles 7-271 T Programming the direction vector 7-271 Tool orientation 7-269 TANG 9-353 Transformation, 5-axis, face milling 7-272 Tangential control Transformation, 5-xis, programming via Angle limit through working area limitation LEADITILT 7-269 9-354 TRANSMIT transformation 7-287 Defining following axis and leading axis 9-353 TRAORI 7-266 Tangential control, activation, TANGON 9-354 Travel to fixed stop FXS and FOCON/FOCOF Tangential control, deactivation 9-354 10-442 Technology cycles 10-445 Travel-dependent acceleration PUNCHACC Thread blocks 5-212 12-476, 12-477 Three-digit M/G function 2-143 Traversing a contour element 14-556 Tilt angle 7-270 Trigger events 5-220 Timer variable 10-409 Type conversion 1-56 Tool management 8-316 Type of kinematics 8-349 Tool monitoring, grinding-specific 8-321 Type of kinematics M 8-346 Tool offset Type of kinematics P 8-346 3D face milling 8-331 Type of kinematics T 8-346 Offset memory 8-314 Online 8-319 U Tool offsets Face milling 8-328 Uc.com, user cycles 2-139 Tool orientation 7-269, 8-336 User memory 3-153 with LEAD and TILT 7-273 Data areas 3-153 Tool radius compensation, 3D 8-328 Initialization programs 3-153 Behavior at outside corners 8-337 Reserved module names 3-156 Circumferential milling 8-330, 8-331 Insertion depth (ISD) 8-334 Inside corners/outside corners 8-334 Programming tool orientation 8-336  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition A-717 A Appendix 11.02Index A V W Variable 1-26 Wait marks 10-441 Arithmetic variable 1-27 WCS 3-149 Array definition 1-34 WHEN-DO 11-466 Assignments 1-45 WHILE 1-68 Indirect programming 1-40 Workpiece clamping 13-523 System variable 1-27 Workpiece counter 13-530 Type conversion 1-54 Workpiece directory 3-149 User-defined 1-26 WPD 3-149 User-defined variable 1-29 WRITE 1-91 Variable classes 1-26 Variable types 1-27 Z Variable definition 1-29 Variable type 1-31 Zero frame 6-252 Variables Zero offset NCK-specific global variables 1-76 Deactivating transformations 6-252 Vocabulary word 10-399 External zero offset 6-250 Offset using handwheel 6-249 PRESETON 6-251  Siemens AG, 2002. All rights reserved A-718 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition A 11.02 AppendixCommands, Identifiers A A5 7-236 B Commands, Identifiers ABS 1-41 ACC 13-453 - ACOS 1-41 ACTFRAME 6-204 - 1-41 ALF 1-70 Amax 12-434 * Amin 12-434 * 1-41 AND 1-44 ANZHINT 14-493, 14-495 applim 9-325 / aproxLW 9-325 / 1-41 APW 3-139 AROTS 6-213 : AS 2-122 ASIN 1-41 : 1-41 ASPLINE 5-155 ATAN2 1-41 + AV 13-455 AX 13-446 + 1-41 AXCTSWE 13-480 AXIS 1-29 < AXNAME 1-50, 13-446 < 1-43 AXSTRING 1-50, 13-446 1-43 B5 7-236 >= 1-43 BAUTO 5-159 BFRAME 6-203 A BNAT 5-159 BOOL 1-29 A 7-259 BRISK 11-415 A1, A2 8-310, 8-312 BSPLINE 5-155 A2 7-236 BTAN 5-159 A3 7-236 A4 7-236  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition A-719 A Appendix 11.02Commands, Identifiers A C CTABDEL 9-325 CTABEND 9-325 C2 7-236 CTABINV 9-325 C3 7-236 CTRANS 6-207 C4 7-236 CUT3DC 8-292 C5 7-236 CUT3DF 8-292 CAC 5-154 CUT3DFF 8-292 CACN 5-154 CUT3DFS 8-292 CACP 5-154 CUTCONOF 8-289 CALCDAT 14-490, 14-505 CUTCONON 8-289 CALL 2-107 CANCEL 10-354 CASE 1-58 D CDC 5-154 DEF 1-29 CFINE 6-214 DEFAULT 1-58 CHANDATA 3-134 DEFINE 2-122 CHAR 1-29 DELDTG 5-194 CHKDNO 8-306 DELT 8-280 CIC 5-154 DISABLE 1-70 CLEARM 1-67 DISPLOF 2-109 CLRINT 1-70 DISPR 9-346 CMIRROR 6-207 DIV 1-41 COARSE 13-450, 13-454, 13-455 DO 10-354, 11-421 COARSEA 5-197 DRFOF 6-218 COMPLETE 3-132, 3-133 DUPLO_NR 8-280 COMPOF 5-169, 5-179 DV 13-455 COMPON 5-179, 9-342 DZERO 8-309 CONTDCON 14-498 CONTPRON 14-490, 14-491, 14-503, 14-504 E COS 1-41 COUPDEF 13-450, 13-452, 13-454 EAUTO 5-159 COUPDEL 13-450, 13-452, 13-457 ELSE 1-60 COUPOF 13-450, 13-456, 13-457 ENABLE 1-70 COUPON 13-450, 13-456, 13-457 ENAT 5-159 COUPRES 13-450, 13-457 ENDFOR 1-60 CP 7-245 ENDIF 1-60 CPROT 4-148 ENDLOOP 1-60 CPROTDEF 4-144, 4-146 ENDPOS 11-421 CROT 6-207 ENDPROC 10-384 CROTS 6-213 ENDWHILE 1-60 CSCALE 6-207 ERG 14-505 CSPLINE 5-155 ERROR 14-491, 14-498 CTAB 9-325 ETAN 5-159 CTABDEF 9-325 EVERY 10-354  Siemens AG, 2002. All rights reserved A-720 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition A 11.02 AppendixCommands, Identifiers A EXECTAB 14-504 GOTOB 1-58 EXECUTE 4-144, 4-146, 14-491, 14-498 GOTOF 1-58 EXP 1-41 GUD 3-128, 3-132, 3-137, 3-139 EXTCALL 2-113 EXTERN 2-101 I I1,I2 8-310 F ID 10-353 FA 11-418, 13-453 IDS 10-353 FALSE 1-25 IF 1-60 FCTDEF 8-283 IF-ELSE-ENDIF 1-60 FCUB 9-339 IFRAME 6-204 FINE 13-450, 13-455 II1,II2 11-422 FINEA 5-197 INDEX 1-53 FLIN 9-339 INIT 1-66 FMA 15-517 INITIAL 3-133 FNORM 9-339 INT 1-29 FOR 1-60 INTERSEC 14-490, 14-503 FPO 9-339 IPOENDA 5-197 FRAME 1-29 IPOSTOP 13-450, 13-453, 13-455 FRC 15-518 ISAXIS 13-446 FRCM 15-518 ISD 8-292, 8-298 FROM 10-354 ISNUMBER 1-50 FS 13-450 FTOC 8-283 K FTOCOF 8-283 FTOCON 8-283 KTAB 14-493, 14-495, 14-501, 14-504 FW 9-325 L G LEAD 7-236, 8-300 G05 7-263 LEADOF 9-333 G07 7-263 LEADON 9-333 G1 11-415 LIFTFAST 1-70 G153 6-218 LOCK 10-354 G25,G26 9-318 LOOP 1-60 G4 11-417 LOOP-ENDLOOP 1-61 GEOAX 7-271 LS 13-450 GET 1-78 LW 9-325 GETACTTD 8-308 GETD 1-78 M GETDNO 8-307 M 8-312 GETSELT 8-280 M17 2-97 GETT 8-280 MATCH 1-53  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition A-721 A Appendix 11.02Commands, Identifiers A MCALL 2-106 OSCTRL 11-414, 11-418 MEAC 5-186, 5-194 OSE 11-414, 11-418 MEAFRAME 6-220 OSNSC 11-414, 11-421 MEAS 5-183 OSO2 11-414 MEASA 5-186 OSOF 8-300 MEAW 5-183 OSP 11-415 MEAWA 5-186 OSP1 11-414, 11-421 MI 6-209 OSP2 11-421 MIRROR 6-204 OSS 8-300 MMC 13-486 OSSE 8-300 MOD 1-41 OST 11-417 MOV 10-390 OST1 11-414, 11-421 MPF 3-128 OST2 11-414, 11-421 MU 7-261 OVRA 13-453 MZ 7-261 P N PDELAYOF 12-434 NEWT 8-280 PDELAYON 12-434 Nibbling 12-438 PFRAME 6-204 NN 14-491 PKT 14-505 NO. 14-505 PL 5-158, 5-175 NOC 13-455 PO 5-175 NOT 1-44 POLY 5-175 NPROT 4-148 POLYNOMIAL 14-492, 14-499 NPROTDEF 4-144, 4-146 POLYPATH 5-175 NUMBER 1-50 PON 12-434, 12-440 PONS 12-434 O POS 13-456 POSP 11-421 OEMIPO1/2 5-196 POT 1-41 OF 1-59 PRESETON 6-217, 6-220 OFFN 7-252, 7-253 PRIO 1-70 OR 1-44 PROC 2-97 ORIC 8-300 PUNCHACC 12-434 ORID 8-300 PUTFTOC 8-283 ORIMCS 8-300 PUTFTOCF 8-283 ORIMKS 7-240, 7-242 PW 5-157 ORIS 8-300 ORIWCS 8-300 Q ORIWKS 7-240, 7-242 OS 11-414, 11-417 QEC 13-448 OSC 8-300 QECDAT.MPF 13-449 OSCILL 11-421, 11-423 QECLRN.SPF 13-449  Siemens AG, 2002. All rights reserved A-722 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition A 11.02 AppendixCommands, Identifiers A QECLRNOF 13-448 Smin 12-434 QECLRNON 13-448 SOFT 11-415 QECTEST.MPF 13-449 SON 12-434, 12-439, 12-440 SONS 12-434 R SPI 13-446, 13-453 SPIF1 15-530 RDISABLE 10-374 SPIF2 15-530 REAL 1-29 SPLINE 14-492, 14-499 RELEASE 1-78 SPLINEPATH 5-161 REP 1-36 SPN 12-438 REPEAT 1-60 SPOF 12-434 REPOS 1-70, 1-77 SPOS 13-453 REPOSA 9-346 SPP 12-438 REPOSH 9-346 SQRT 1-41 REPOSHA 9-346 SR 15-531 REPOSL 1-77, 9-346 SRA 15-531 REPOSQ 9-346 ST 15-531 REPOSQA 9-346 STA 15-531 RET 2-97 START 1-66 RINDEX 1-53 STARTFIFO 9-344 RMB 9-346 STOPFIFO 9-344 RME 9-346 STOPRE 5-183, 5-190, 5-192, 9-344, 11-416 RMI 9-346 STOPREOF 10-375 ROTS 6-213 STRING 1-29 ROUND 1-41 STRINGFELD 1-48 RPY 8-300 STRINGVAR 1-48 RT 6-209 STRLEN 1-53 SUBSTR 1-55 S SUPA 6-218 SYNFCT 10-381 S1,S2 13-452, 13-457 SYNR 3-137 SAVE 1-71, 2-96 SYNRW 3-137 SBLOF 2-110 SBLON 2-110 SC 6-209 T SCPARA 5-198 TABNAME 14-491, 14-498, 14-502, 14-504 SD 5-157 TAN 1-41 SET 1-34 TANG 9-316 SETDNO 8-307 TANGOF 9-316 SETINT 1-70 TANGON 9-316 SETM 1-67 TE 5-186 SETPIECE 8-280 THREAD 14-492, 14-499 SIN 1-41 TILT 7-236, 8-300 Smax 12-434 TLIFT 9-316  Siemens AG, 2002. All rights reserved SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition A-723 A Appendix 11.02Commands, Identifiers A TOLOWER 1-52 X TOUPPER 1-52 x 8-280 TR 6-209 XOR 1-44 TRAANG 7-253, 7-259 TRACYL 7-250, 7-253 TRAFOOF 7-232, 7-250, 7-253, 7-259, 7-267 TRAILOF 9-321 TRAILON 9-321 TRANSMIT 7-250 TRAORI 7-234 TRUE 1-25 TRUNC 1-41 U U1,U2 11-422 UNLOCK 10-354 UNTIL 1-60, 1-62 V V1,V2 8-310 VAR 2-99 VARIB 14-502, 14-505 W WAIT 1-67 WAITC 13-450, 13-453 WAITE 1-67 WAITM 1-66 WAITMC 1-67 WAITP 11-417 WALIMON 9-318 WCS 11-428 WHEN 10-354 WHEN-DO 11-421 WHENEVER 10-354 WHENEVER-DO 11-421, 11-424 WHILE 1-60 WZ 8-280  Siemens AG, 2002. All rights reserved A-724 SINUMERIK 840D/840Di/810D Programming Guide Advanced (PGA) – 11.02 Edition To Suggestions SIEMENS AG Corrections A&D MC BMS For publication/manual: P.O. Box 3180 SINUMERIK 840D/840Di/810D Programming Guide D-91050 Erlangen, Germany Advanced Phone: ++49-(0)180-5050-222 [Hotline] Fax: ++49-(0)9131-98-2176 [Documentation] User Documentation Email: [email protected] From Name Order No.: 6FC5298-6AB10-0BP2 Edition: 11.02 Company/Dept. Should you come across any printing errors when Address: reading this publication, please notify us on this sheet. Suggestions for improvement are also welcome. Zip code: Phone: / Fax: / Suggestions and/or corrections Overview of SINUMERIK 840D/840Di/810D Documentation (11.2002) General Documentation User Documentation SINUMERIK SIROTEC SINUMERIK SINUMERIK SIMODRIVE SINUMERIK SINUMERIK SINUMERIK SINUMERIK 840D/810D 840D/840Di/ Accessories 840D/810D/ 840D/840Di/ 840D/840Di/ 840D/840Di/ 810D/ FM-NC 810D 810D 810D Brochure Catalog Catalog AutoTurn Operator’s Guide Diagnostics Operator’s Guide *) Ordering Info. Accessories – Short Guide – HT 6 Guide *) – Short Guide NC 60 *) NC-Z – Programming/ – HMI Embedded Setup – HMI Advanced User Documentation Manufacturer/Service Documentation SINUMERIK SINUMERIK SINUMERIK SINUMERIK SINUMERIK SINUMERIK SINUMERIK 840D/840Di/ 840D/810D 840Di 840D/840Di/ 840D/810D 840D/840Di/ 810D 810D 810D Program. Guide Operator’s Guide System Overview Configuring Operator Description of Description of – Short Guide – ManualTurn (HW) *) Components Functions Functions – Fundamentals *) – Short Guide ManualTurn – 810D (HW) *) – ManualTurn Synchronized – Advanced *) – ShopMill – 840D – ShopMill Actions – Cycles – Short Guide ShopMill – ShopTurn – Measuring Cycles – ShopTurn – ISO Turning/Milling – Short Guide ShopTurn Manufacturer/Service Documentation SINUMERIK SIMODRIVE SINUMERIK SINUMERIK SINUMERIK SINUMERIK SINUMERIK 611D 840D/840Di/ 840D/840Di/ 840D/810D 840D/810D 840D/810D 840D/810D 810D 810D Description of Description of Description of Configuring Kit Description of IT Solutions Functions Functions Functions HMI Embedded Functions – Computer Link Drive Functions *) – Basic Machine *) Tool Manage- Operator Interface – Tool Data Information System – Extended Functions ment OP 030 – NC Data Management – Special Functions – NC Data Transfer – Tool Data Communication Manufacturer/Service Documentation SINUMERIK SINUMERIK SINUMERIK SINUMERIK SINUMERIK SINUMERIK SIMODRIVE SIMODRIVE SINUMERIK SIMODRIVE SIMODRIVE SIMODRIVE SIMODRIVE SIROTEC 840D 840D/840Di 840D 840D 810D 611D 611D 611D Description of Description of Installation & Lists *) Description of Description of Functions EMC Functions Functions Start-Up Guide *) Functions – Hydraulics Module Guidelines SINUMERIK Digitizing – 810D Linear Motor – Analog Module Safety Integrated – 840D/611D – HMI Manufacturer/Service Documentation Electronic Documentation SINUMERIK SINUMERIK SINUMERIK SINUMERIK SINUMERIK SIMODRIVE 840D/840Di/ 840Di 840D/810D 840D/840Di/ 840D/840Di/ 810D 810D 810D 611, Motors DOC ON CD *) Description of Manual Description of Manual The SINUMERIK System Functions (HW + Installation Functions @ Event ISO Dialects for and Start-Up) Remote Diagnosis SINUMERIK *) These documents are a minimum requirement Siemens AG Automation & Drives Motion Control Systems P.O. Box 3180, D-91050 Erlangen © Siemens AG, 2002 Subject to change without prior notice Germany Order No.: 6FC5298-6AB10-0BP2 www.ad.siemens.de Printed in Germany