Siemens SINUMERIK 840D sl Programming Manual

Siemens SINUMERIK 840D sl Programming Manual

Job planning
Hide thumbs Also See for SINUMERIK 840D sl:
Table of Contents

Quick Links

SINUMERIK 840D sl/840Di sl/840D/840Di/810D Job planning
SINUMERIK 840D sl/
840Di sl/840D/840Di/810D
Job planning
Programming Manual
Valid for
Control
SINUMERIK 840D sl/840DE sl
SINUMERIK 840Di sl/840DiE sl
SINUMERIK 840D powerline/840DE powerline
SINUMERIK 840Di powerline/840DiE powerline
SINUMERIK 810D powerline/810DE powerline
Software
NCU system software for 840D sl/840DE sl
NCU system software for 840Di sl/DiE sl
NCU system software for 840D/840DE
NCU system software for 840Di/840DiE
NCU system software for 810D/810DE
03/2006 Edition
6FC5398-2BP10-1BA0
Preface
______________
Flexible NC programming
______________
Subroutines, Macros
File and Program
______________
Management
______________
Protection zones
______________
Special Motion Commands
______________
Frames
______________
Transformations
______________
Tool offsets
______________
Path traversing behavior
______________
Motion synchronous actions
______________
Oscillation
______________
Punching and nibbling
______________
Version
Additional functions
1.3
User stock removal
______________
1.0
programs
7.4
3.3
______________
7.4
______________
List of abbreviations
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A
Table of Contents
loading

Summary of Contents for Siemens SINUMERIK 840D sl

  • Page 1 Preface SINUMERIK 840D sl/840Di sl/840D/840Di/810D Job planning ______________ Flexible NC programming ______________ Subroutines, Macros SINUMERIK 840D sl/ 840Di sl/840D/840Di/810D File and Program ______________ Management Job planning ______________ Protection zones ______________ Special Motion Commands Programming Manual ______________ Frames ______________ Transformations ______________...
  • Page 2 Trademarks All names identified by ® are registered trademarks of the Siemens AG. The remaining trademarks in this publication may be trademarks whose use by third parties for their own purposes could violate the rights of the owner.
  • Page 3 The Internet version of DOConCD (DOConWEB) is available at: http://www.automation.siemens.com/doconweb Information about training courses and FAQs (Frequently Asked Questions) can be found at the following website: http://www.siemens.com/motioncontrol under menu option "Support" Target group This publication is intended for: • Programmers •...
  • Page 4 Europe and Africa time zone A&D Technical Support Tel.: +49 (0) 180 / 5050 - 222 Fax: +49 (0) 180 / 5050 - 223 Internet: http://www.siemens.com/automation/support-request E-mail: mailto:[email protected] Asia and Australia time zone A&D Technical Support Tel.: +86 1064 719 990...
  • Page 5 The EC Declaration of Conformity for the EMC Directive can be found/obtained from: • the internet: http://www.ad.siemens.de/csinfo under product/order no. 15257461 • the relevant branch office of the A&D MC group of Siemens AG. Job planning Programming Manual, 03/2006 Edition, 6FC5398-2BP10-1BA0...
  • Page 6 The Programming Guide "Job Planning" is intended for use by technicians with in-depth, comprehensive programming knowledge. By virtue of a special programming language, the SINUMERIK 840D sl/840Di sl/840D/840Di/810D control enables the user to program complex workpiece programs (e.g., for free-form surfaces, channel coordination, etc.) and greatly facilitates the programming of complicated operations.
  • Page 7: Table Of Contents

    Table of contents Preface ..............................iii Flexible NC programming ........................1-1 Variables and arithmetic parameters (user-defined variables, arithmetic parameters, system variables) ........................1-1 Variable definition (DEF user-defined variables LUD, GUD, PUD) ........... 1-3 Array definitions (DEF, SET, REP) .................... 1-7 Indirect programming .......................
  • Page 8 Table of contents 1.23 CHECKSUM: Form the checksum over an array..............1-69 1.24 ROUNDUP: Round up ......................1-70 Subroutines, Macros..........................2-1 Using subroutines ........................2-1 Subroutines with SAVE mechanism ..................2-3 Subroutines with parameter transfer (PROC, VAR) ..............2-5 Call subroutines (L or EXTERN) ....................2-9 Parameterized subroutine return (RET)...................
  • Page 9 Table of contents Spline interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN) ......5-3 Spline grouping (SPLINEPATH) ....................5-11 Compressor (COMPOF/ON, COMPCURV, COMPCAD) ............5-12 Polynomial interpolation (POLY, POLYPATH) ................ 5-16 Settable path reference (SPATH, UPATH)................5-22 Measurements with touch trigger probe (MEAS, MEAW) ............5-24 Extended measuring function (MEASA, MEAWA, MEAC) (option).........
  • Page 10 Table of contents Orientation polynomials (PO[angle], PO[coordinate]).............. 7-33 Rotations of the tool orientation (ORIROTA, ORIROTR/TT, ORIROTC, THETA)....7-35 Orientations relative to the path ....................7-37 7.5.1 Orientation types relative to the path ..................7-37 7.5.2 Rotation of the tool orientation relative to the path (ORIPATH, ORIPATHS, angle of rotation) ................
  • Page 11 Table of contents Coupled motion (TRAILON, TRAILOF) ..................9-8 Curve tables (CTAB)........................ 9-12 9.3.1 Curve tables: general relationships ..................9-12 9.3.2 Principal functions curve tables (CTABDEF, CTABEND, CTABDEL) ........9-13 9.3.3 Curve table forms (CTABDEL, CTABNOMEM, CTABFNO, CTABID, CTABLOCK, CTABUNLOCK) ........................9-18 9.3.4 Behavior at the edges of curve tables (CTABTSV, CTABTSP, CTABMIN, CTABMAX)..
  • Page 12 Table of contents 10.4.17 Software limit switch....................... 10-51 10.4.18 Axis coordination........................10-52 10.4.19 Set actual values (PRESETON) .................... 10-53 10.4.20 Spindle motions........................10-54 10.4.21 Coupled motion (TRAILON, TRAILOF).................. 10-54 10.4.22 Leading value coupling (LEADON, LEADOF)................ 10-56 10.4.23 Measuring (MEAWA, MEAC) ....................10-58 10.4.24 Initialization of array variables with SET, REP...............
  • Page 13 Table of contents 13.7 Extended stop and retract...................... 13-30 13.7.1 Drive-independent responses to ESR ................... 13-32 13.7.2 NC-controlled reactions to retraction ..................13-34 13.7.3 NC-controlled reactions to stoppage ..................13-38 13.7.4 Generator operation/DC link backup ..................13-38 13.7.5 Drive-independent stopping ....................13-39 13.7.6 Drive-independent retraction....................
  • Page 14 Table of contents Job planning Programming Manual, 03/2006 Edition, 6FC5398-2BP10-1BA0...
  • Page 15: Flexible Nc Programming

    Flexible NC programming Variables and arithmetic parameters (user-defined variables, arithmetic parameters, system variables) 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.
  • Page 16 Flexible NC programming 1.1 Variables and arithmetic parameters (user-defined variables, arithmetic parameters, system variables) BOOL Boolean values: TRUE (1) and FALSE (0) CHAR ASCII character specified by the 0 … 255 code STRING Character string, number of Sequence of values with 0 ... 255 characters in [...], maximum of 200 characters AXIS...
  • Page 17: Variable Definition (Def User-Defined Variables Lud, Gud, Pud)

    Flexible NC programming 1.2 Variable definition (DEF user-defined variables LUD, GUD, PUD) Variable definition (DEF user-defined variables LUD, GUD, PUD) Function In addition to the predefined variables, programmers can define and initialize their own variables. Local variables (LUD) are only valid in the program where they are defined. Global variables (GUD) are valid in all programs.
  • Page 18 Flexible NC programming 1.2 Variable definition (DEF user-defined variables LUD, GUD, PUD) Note 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;...
  • Page 19 Flexible NC programming 1.2 Variable definition (DEF user-defined variables LUD, GUD, PUD) 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 the name IF_TOO_MUCH.
  • Page 20 Flexible NC programming 1.2 Variable definition (DEF user-defined variables LUD, GUD, PUD) Example: Redefine local (LUD) and program-global user variables (PUD) If they are defined in the main program, they will also be valid at all levels of the subroutines called.
  • Page 21: Array Definitions (Def, Set, Rep)

    Flexible NC programming 1.3 Array definitions (DEF, SET, REP) Example: Program-local variables DEF INT COUNTER LOOP: G0 X… ;Loop COUNT=COUNT+1 IF COUNT<50 GOTOB LOOP Example: Querying existing geometry axes DEF AXIS ABSCISSA; ;1. geometry axis IF ISAXIS(1) == FALSE GOTOF CONTINUE ABSCISSA = $P_AXN1 CONTINUE: Example: Indirect spindle programming...
  • Page 22 Flexible NC programming 1.3 Array definitions (DEF, SET, REP) Programming DEF CHAR NAME[n,m] DEF INT NAME[n,m] DEF REAL NAME[n,m] DEF AXIS NAME[n,m] DEF FRAME NAME[n,m] DEF STRING[string_length] NAME[m] DEF BOOL[n,m] • Initialization with value lists; SET Array definition options DEF Type VARIABLE = SET(VALUE) DEF Type ARRAY[n,m] = SET(VALUE, value, …) DEF Type VARIABLE = Value DEF Type ARRAY[n,m] = (value, value, …)
  • Page 23 Flexible NC programming 1.3 Array definitions (DEF, SET, REP) Note Variables of type FRAME are permissible and can be initialized very simply in this way. Parameters DEF Variable type Array definition SET VALUE or expression Initialization with value lists for the array definition or in the program execution REP VALUE or expression Initialization with the same values for the array...
  • Page 24 Flexible NC programming 1.3 Array definitions (DEF, SET, REP) Memory requirements Variable type Memory requirement per element BOOL 1 byte CHAR 1 byte 4 bytes REAL 8 bytes STRING String length + 1 FRAME ∼ 400 bytes, depending on the number of axes AXIS 4 bytes Note...
  • Page 25 Flexible NC programming 1.3 Array definitions (DEF, SET, REP) Example: Initialization of complete variable arrays The current assignment is shown in the drawing. N10 DEF REAL ARRAY1[10,3] = SET(0, 0, 0, 10, 11, 12, 20, 20, 20, 30, 30, 30, 40, 40, 40,) N20 ARRAY1[0,0] = REP(100) N30 ARRAY1[5,0] = REP(-100)
  • Page 26 Flexible NC programming 1.3 Array definitions (DEF, SET, REP) Initialization with value lists in the program execution, SET • Initialization is the same as in array definition. • Expressions are possible values in this case too. • Initialization starts at the programmed array indexes. Values can also be assigned selectively to subarrays.
  • Page 27: Indirect Programming

    Flexible NC programming 1.4 Indirect programming Indirect programming Function Indirect programming permits general-purpose use of programs. The extended address (index) is substituted by a variable of suitable type. Indirect G code programming Indirect programming of G codes using variables facilitates effective cycle programming. Two parameters G code groups with integer constants G code numbers with integer/real type variables...
  • Page 28: Tables

    Flexible NC programming 1.4 Indirect programming If it is necessary to calculate the G code number, this must be done in a separate parts program line before the indirect G code programming. Note All the valid G codes are shown in the PG, in the "List of G functions/preparatory functions" section in various groups.
  • Page 29 Flexible NC programming 1.4 Indirect programming Note R parameters can also be considered 1-dimensional arrays with abbreviated notation (R10 is equivalent to R[10]). Example: Indirect G code programming Settable zero offset G code group 8 N1010 DEF INT INT_VAR N1020 INT_VAR = 2 N1090 G[8] = INT_VAR G1 X0 Y0 ;...
  • Page 30: Run String As Parts Program Line (Execstring)

    Flexible NC programming 1.4 Indirect programming 1.4.1 Run string as parts program line (EXECSTRING) Function Parts program command EXECSTRING passes a string as a parameter that already contains the parts program line to run. Programming EXECSTRING () Parameters EXECSTRING Transfer of a string variable with the parts program line to run () Parameters with the parts program line actually to be...
  • Page 31: Assignments

    Flexible NC programming 1.5 Assignments Assignments Function Values of a suitable type can be assigned to the variables/arithmetic parameters in the program. Programming Assignments to axis addresses (traversing instructions) always require a separate block to variable assignments. Assignment to axis addresses (traverse instructions) must be in a separate block from the variable assignments.
  • Page 32: Arithmetic Operations/Functions

    Flexible NC programming 1.6 Arithmetic operations/functions Arithmetic operations/functions Function The arithmetic functions are primarily for R parameters and variables (or constants and functions) of type REAL. The types INT and CHAR are also permitted. Arithmetic function ATAN2( , ) The function calculates the angle of the total vector from two mutually orthogonal vectors. The result is in one of four quadrants (–°...
  • Page 33 Flexible NC programming 1.6 Arithmetic operations/functions Parameters Operators/Mathematical functions Addition Subtraction Multiplication Division Caution: (type INT)/(type INT)=(type REAL) ;example: 3/4 = 0.75 Division, for variable type INT and REAL Caution: (type INT)DIV(type INT)=(type INT) ;example: 3 DIV 4 = 0 Modulo division (INT or REAL) produces remainder of INT division, e.g., 3 MOD 4=3...
  • Page 34: Comparison And Logical Operations

    Flexible NC programming 1.7 Comparison and logical operations Comparison and logical operations Function Comparison operations can be used, for example, to formulate a jump condition. Complex expressions can also be compared. The comparison operations are applicable to variables of type CHAR, INT, REAL and BOOL. The code value is compared with the CHAR type.
  • Page 35 Flexible NC programming 1.7 Comparison and logical operations Spaces must be left between BOOLEAN operands and operators. Bit-by-bit logic operators B_AND B_OR B_NOT B_XOR Parameters Meaning of relational operators equal to <> not equal to > greater than < less than >= greater than or equal to <=...
  • Page 36: Precision Correction On Comparison Errors (Trunc)

    Flexible NC programming 1.7 Comparison and logical operations Example: relational operators IF R10>=100 GOTOF DEST R11=R10>=100 IF R11 GOTOF DEST The result of the R10>=100 comparison is first buffered in R11. Example: logic operators IF (R10<50) AND ($AA_IM[X]>=17.5) GOTOF DESTINATION IF NOT R10 GOTOB START NOT is only applied to one operand.
  • Page 37 Flexible NC programming 1.7 Comparison and logical operations Parameters TRUNC() Truncate decimal places Relative equality considered 10 • Equality: (==) • Inequality: (<>) • Greater than or equal to: (>=) • Less than or equal to: (<=) • Greater/less than: (><) with absolute equality •...
  • Page 38: Priority Of The Operations

    Flexible NC programming 1.8 Priority of the operations Example: calculate and evaluate the 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 ;End of program ERROR: SETAL(66000) Priority of the operations Function Each operator is assigned a priority.
  • Page 39: Possible Type Conversions

    Flexible NC programming 1.9 Possible type conversions Possible type conversions Function Type conversion on assignment The constant numeric value, the variable, or the expression assigned to a variable must be compatible with the variable type. If this is this case, the type is automatically converted when the value is assigned.
  • Page 40: String Operations

    Flexible NC programming 1.10 String operations 1.10 String operations 1.10 Overview Further string manipulations are provided in addition to the conventional operations "Assignment" and "Comparison" described in this section: Parameters Type conversion to STRING: STRING_ERG = <
  • Page 41: Type Conversion To String

    Flexible NC programming 1.10 String operations Example DEF STRING[20] STRG = "Axis . stopped" STRG[6] = "X" ;Returns the message "Axis X stopped" MSG(STRG) STRG[6] = 0 MSG(STRG) ;Returns the message "Axis" 1.10.1 Type conversion to STRING Function This enables use of variables of different types in a message (MSG). Performed implicitly with use of the operator <<...
  • Page 42: Type Conversion Of String

    Flexible NC programming 1.10 String operations 1.10.2 Type conversion of STRING Function The NUMBER function converts from STRING to REAL. If ISNUMBER returns the value FALSE, the CALL of NUMBER with the same parameter will issue an alarm. The AXNAME function converts a string to data type AXIS. An alarm is output if the string cannot be assigned to any configured axis identifier.
  • Page 43 Flexible NC programming 1.10 String operations The chaining function is implemented via operator: <<. This operator has STRING as the target type for all combinations of basic types CHAR, BOOL, INT, REAL, and STRING. Any conversion that may be required is carried out according to existing rules. Programming Syntax any type <<...
  • Page 44: Conversion To Lower/Upper Case

    Flexible NC programming 1.10 String operations 1.10.4 Conversion to lower/upper case Function This functionality permits conversion of all letters of a string to standard capitalization. Syntax STRING_ERG = TOUPPER (STRING) Result type: STRING STRING_ERG = TOLOWER (STRING) Result type: STRING Semantics All lower case letters are converted to either upper or lower case letters.
  • Page 45: Look For Character/String In The String

    Flexible NC programming 1.10 String operations 1.10.6 Look for character/string in the string Function This functionality searches for single characters or a string within a string. The function results specify where the character/string is positioned in the string that has been searched. Programming Syntax INT_ERG = INDEX...
  • Page 46: Selection Of A Substring

    Flexible NC programming 1.10 String operations Example: separating an input string into path and module names: DEF INT PATHIDX, PROGIDX DEF STRING[26] INPUT DEF INT LISTIDX INPUT = "/_N_MPF_DIR/_N_EXECUTE_MPF" LISTIDX = MINDEX (EINGABE, "M,N,O,P") + 1 The value returned in LISTIDX is 3 because "N"...
  • Page 47: Selection Of A Single Character

    Flexible NC programming 1.10 String operations 1.10.8 Selection of a single character Function This functionality selects a single character from a string. This applies both to read access and write access operations. Programming Syntax CHAR_ERG = STRINGVAR [IDX] Result type: CHAR CHAR_ERG = STRINGARRAY [IDX_FELD, IDX_CHAR] Result type: CHAR semantics...
  • Page 48: Case Statement

    Flexible NC programming 1.11 CASE statement Example: single character access in call-by-reference parameter: DEF STRING [50] STRG DEF CHAR CHR1 EXTERN UP_CALL (VAR CHAR1) ;Call-by-reference parameter! … CHR1 = STRG [5] UP_CALL (CHR1) ;Call-by-reference STRG [5] = CHR1 1.11 CASE statement 1.11 Function The CASE statement enables various branches to be executed according to a value of...
  • Page 49 Flexible NC programming 1.11 CASE statement Note For more information on the GOTO commands, see Chapter 10, Arithmetic parameters and program jumps In cases where the constant matches none of the predefined values, the DEFAULT statement can be used to determine the branch destination. If the DEFAULT statement is not programmed, the jump destination is the block following the CASE statement.
  • Page 50: Control Structures

    Flexible NC programming 1.12 Control structures 1.12 Control structures 1.12 Function The control processes the NC blocks as standard in the programmed sequence. In addition to the program branches described in this chapter, these commands can be used to define additional alternatives and program loops. These commands enable the user to produce well-structured and easily legible programs.
  • Page 51 Flexible NC programming 1.12 Control structures Parameters Selection between 2 alternatives LOOP Endless loop Count loop WHILE Loop with condition at beginning of loop REPEAT Loop with condition at end of loop Example: endless program %_N_LOOP_MPF LOOP IF NOT $P_SEARCH ;No block search G01 G90 X0 Z10 F1000 WHILE $AA_IM[X] <= 100...
  • Page 52 Flexible NC programming 1.12 Control structures Restrictions Blocks with control structure elements cannot be suppressed. Labels may not be used in blocks of this type. Control structures are processed interpretively. When a loop end is detected, a search is made for the loop beginning, allowing for the control structures found in the process. For this reason, the block structure of a program is not checked completely in interpreter mode.
  • Page 53: Program Coordination

    Flexible NC programming 1.13 Program coordination 4. Program loop with condition at start of loop WHILE The WHILE program loop is executed for as long as the condition is fulfilled. WHILE expression NC blocks ENDWHILE 5. Program loop with condition at end of loop REPEAT The REPEAT loop is executed once and repeated continuously until the condition is fulfilled.
  • Page 54 Flexible NC programming 1.13 Program coordination Program coordination statements • Specification with absolute path The absolute path is programmed according to the following rules: INIT (n,"/_HUGO_DIR/_N_name_MPF" ) - Current directory/_N_name_MPF "current directory" stands for the selected workpiece directory or the standard directory /_N_MPF_DIR.
  • Page 55 Flexible NC programming 1.13 Program coordination Parameters Variables, which all channels can access (NCK-specific global variables), can be used for data exchange between programs. Otherwise separate programs must be written for each channel. INIT(n, path name, acknowledgement Instruction for execution in a channel. mode) Selection of a particular program with an absolute or relative path name.
  • Page 56 Flexible NC programming 1.13 Program coordination Channel numbers Up to 10 channels can be specified as channel numbers for the channels requiring coordination. Channel names Channel names must be converted into numbers using variables (see "Variables and arithmetic parameters"). Alternatively, the channel names defined using $MC_CHAN_NAME can also be programmed rather than channel numbers.
  • Page 57 Flexible NC programming 1.13 Program coordination Channel 2: %_N_MPF200_MPF ;$PATH=/_N_MPF_DIR ;Processing in channel 2 N70 WAITM(1,1,2) ;Wait for WAIT mark 2 in channel 1 and ;in channel 2 and execution continued in channel 1 N270 WAITM(2,1,2) ;Wait for WAIT mark 2 in channel 2 and ;in channel 2 and execution continued in channel 1 N400 M30...
  • Page 58 Flexible NC programming 1.13 Program coordination Example of channel name and channel number with integer variable $MC_CHAN_NAME[0]= "CHAN_X" $MC_CHAN_NAME[1]= "CHAN_Y" START(1, 2) ;Run start in 1st and 2nd channel Similar to this, programming with the channel identifiers: START(CHAN_X, CHAN_Y) ;Run start in 1st and 2nd channel ;The channel_X and channel_Y identifiers represent $MC_CHAN_NAME internally due to the machine data, channel numbers 1 and 2 also run...
  • Page 59: Interrupt Routine (Setint, Disable, Enable, Clrint)

    Flexible NC programming 1.14 Interrupt routine (SETINT, DISABLE, ENABLE, CLRINT) 1.14 Interrupt routine (SETINT, DISABLE, ENABLE, CLRINT) 1.14 Function The relationships concerned with programming an interrupt routine will be illustrated using a typical example: The tool breaks during machining. This triggers a signal that stops the current machining process and simultaneously starts a subroutine –...
  • Page 60 Flexible NC programming 1.14 Interrupt routine (SETINT, DISABLE, ENABLE, CLRINT) Parameters SETINT(n) Start interrupt routine if input n is enabled, n (1...8) stands for the number of the input PRIO=1 Define priority 1 to 128 (1 has top priority) LIFTFAST Fast retraction from contour NAME Name of the subroutine to be executed...
  • Page 61 Flexible NC programming 1.14 Interrupt routine (SETINT, DISABLE, ENABLE, CLRINT) Example In this example, a broken tool is to be replaced automatically by an alternate tool. Machining is continued with the new tool. Machining is then continued with the new tool. Main program N10 SETINT(1) PRIO=1 W_CHANGE ->...
  • Page 62 Flexible NC programming 1.14 Interrupt routine (SETINT, DISABLE, ENABLE, CLRINT) Note SETINT statements can be programmed within the interrupt routine and used to activate additional interrupt routines. They are triggered via the input. You will find more information on how to create subroutines in Chapter "Subroutines, Macros".
  • Page 63 Flexible NC programming 1.14 Interrupt routine (SETINT, DISABLE, ENABLE, CLRINT) Assign and start interrupt routine, SETINT The control has signals (inputs 1 to 8) to interrupt the program run and start the corresponding interrupt routine. The assignment of input to program is made in the main program. Example: N10 SETINT(3) PRIO=1 LIFT_Z When input 3 is enabled, routine LIFT_Z is started immediately.
  • Page 64 Flexible NC programming 1.14 Interrupt routine (SETINT, DISABLE, ENABLE, CLRINT) Deactivate/reactivate interrupt routine, DISABLE, ENABLE You can deactivate interrupt routines in the NC program with DISABLE(n) and reactive them with ENABLE(n) (n stands for the input number). The input/routine assignment is retained with DISABLE and reactivated with ENABLE. Reassign interrupt routines If a new routine is assigned to an assigned input, the old assignment is automatically canceled.
  • Page 65 Flexible NC programming 1.14 Interrupt routine (SETINT, DISABLE, ENABLE, CLRINT) If the SETINT instruction includes an interrupt routine as well as LIFTFAST , the liftfast is executed before the interrupt routine. Example: N10 SETINT(2) PRIO=1 LIFTFAST N30 SETINT(2) PRIO=1 LIFT_Z LIFTFAST In both cases, the liftfast is executed when input 2 with top priority is enabled.
  • Page 66 Flexible NC programming 1.14 Interrupt routine (SETINT, DISABLE, ENABLE, CLRINT) Programmable traversing direction, ALF=... You enter the direction in which the tool is to travel on liftfast in the NC program. The possible traversing directions are stored in special code numbers on the control and can be called up using these numbers.
  • Page 67 Flexible NC programming 1.14 Interrupt routine (SETINT, DISABLE, ENABLE, CLRINT) The reference plane is derived from the longitudinal tool axis (infeed direction) and a vector positioned perpendicular to this axis and perpendicular to the tangent at the point of application of the tool. Code number with traversing directions summarized The code numbers and the traversing directions in relation to the reference plane are shown in the diagram on the right.
  • Page 68: Axis Replacement, Spindle Replacement (Release, Get, Getd)

    Flexible NC programming 1.15 Axis replacement, spindle replacement (RELEASE, GET, GETD) Caution If tool radius compensation is activated, the codings 2, 3, 4 and the codings 6, 7, 8 should not be used for G41 and for G42, respectively. In these cases, the tool would approach the contour and collide with the workpiece. 1.15 Axis replacement, spindle replacement (RELEASE, GET, GETD) 1.15...
  • Page 69 Flexible NC programming 1.15 Axis replacement, spindle replacement (RELEASE, GET, GETD) Parameters RELEASE (axis name, axis name, …) Release the axis (axes) GET (axis name, axis name, …) Accept the axis (axes) GETD (axis name, axis name, …) Directly accept the axis (axes) Axis name Axis assignment in system: AX1, AX2, ...
  • Page 70 Flexible NC programming 1.15 Axis replacement, spindle replacement (RELEASE, GET, GETD) Program "Replace2" in channel 2 %_N_TRANSFER2_MPF N… RELEASE (AX2) N160 WAITM (1,1,2) ;Wait for WAIT marker in channel 1 and 2 ;for synchronizing in both channels N150 GET (AX2) ;Accept axis AX2 N…...
  • Page 71 Flexible NC programming 1.15 Axis replacement, spindle replacement (RELEASE, GET, GETD) Requirements Preconditions for axis replacement • The axis must be defined in all channels that use the axis in the machine data. • It is necessary to define to which channel the axis will be assigned after POWER ON in the axis-specific machine data.
  • Page 72: Transfer Axis To Another Channel (Axtochan)

    Flexible NC programming 1.16 Transfer axis to another channel (AXTOCHAN) Varying the axis replacement behavior The transfer point of axes can be set as follows using machine data: • Automatic axis replacement between two channels then also takes place when the axis has been brought to a neutral state by WAITP (response as before) •...
  • Page 73 Flexible NC programming 1.16 Transfer axis to another channel (AXTOCHAN) Note Competing positioning axis and PLC controlled axis exclusively A PLC axis cannot replace the channel as a competing positioning axis. An axis controlled exclusively by the PLC cannot be assigned to the NC program. References /FB2/ Function Manual, Extended Functions;...
  • Page 74: Newconf: Setting Machine Data Effective

    Flexible NC programming 1.17 NEWCONF: Setting machine data effective 1.17 NEWCONF: Setting machine data effective 1.17 Function All machine data of the effectiveness level "NEW_CONFIG" are set active by means of the NEWCONF language command. The function can also be activated in the HMI user interface by pressing the "MD data effective"...
  • Page 75: Write: Write File

    Flexible NC programming 1.18 WRITE: Write file 1.18 WRITE: Write file 1.18 Function Using the WRITE command, data (e.g., measurement results for measuring cycles) can be appended to the end of the specified file. The files created can • be read, edited, and deleted by all users, •...
  • Page 76 Flexible NC programming 1.18 WRITE: Write file filename Name of file in which the string is to be written. If the filename contains spaces or control characters (characters with decimal ASCII code <= 32), the WRITE command will be terminated with error code 1, "path not permitted". The file name can be specified with path and file identifier.
  • Page 77: Delete: Delete File

    Flexible NC programming 1.19 DELETE: Delete file 1.19 DELETE: Delete file 1.19 Function All files can be deleted by means of the DELETE command, irrespective of whether these were created using the WRITE command or not. Files that were created using a higher access authorization can also be deleted with DELETE.
  • Page 78: Read: Read Lines In The File

    Flexible NC programming 1.20 READ: Read lines in the file 1.20 READ: Read lines in the file 1.20 Function The READ command reads one or several lines in the file specified and stores the information read in an array of type STRING. In this array, each read line occupies an array element.
  • Page 79 Flexible NC programming 1.20 READ: Read lines in the file result Array of type STRING, where the read text is stored (call-by-reference parameter with a length of 255). If the number of lines specified in the parameter "number" is smaller than the array length of "result", the other array elements are not altered.
  • Page 80: Isfile: File Present In The Nck User Memory

    Flexible NC programming 1.21 ISFILE: File present in the NCK user memory 1.21 ISFILE: File present in the NCK user memory 1.21 Function With the ISFILE command you check whether a file exists in the user memory of the NCK (passive file system).
  • Page 81: Filedate/Time/Size/Stat/Info: File Information

    Flexible NC programming 1.22 FILEDATE/TIME/SIZE/STAT/INFO: File information 1.22 FILEDATE/TIME/SIZE/STAT/INFO: File information 1.22 Function The FILEDATE, FILETIME, FILESIZE, FILESTAT and FILEINFO commands can be used to read particular pieces of file information, such as date, time, current file size, file status or the sum of this information from the user memory of the NCK (passive file system).
  • Page 82 Flexible NC programming 1.22 FILEDATE/TIME/SIZE/STAT/INFO: File information result Variable with the result in which the file information is saved (Call-by-reference parameter) of a STRING type for: FILEDATE, the length must be 8, format is "dd.mm.yy" FILETIME, the length must be 8, format is "hh:mm.ss" FILESTAT, the length must be 5, format is "rwxsd"...
  • Page 83: Checksum: Form The Checksum Over An Array

    Flexible NC programming 1.23 CHECKSUM: Form the checksum over an array 1.23 CHECKSUM: Form the checksum over an array 1.23 Function With CHECKSUM you form a checksum over an array. Application: Check to see whether the initial contour has changed during stock removal. Programming error=CHECKSUM(VAR STRING[16] chksum, STRING[32]array, INT first, INT last)
  • Page 84: Roundup: Round Up

    Flexible NC programming 1.24 ROUNDUP: Round up Example N10 DEF INT ERROR N20 DEF STRING[16] MY_CHECKSUM N30 DEF INT MY_VAR[4,4] N40 MY_VAR=... N50 ERROR=CHECKSUM (CHECKSUM;"MY_VAR", 0, 2) returns in MY_CHECKSUM the value "A6FC3404E534047C" 1.24 ROUNDUP: Round up 1.24 Function The ROUNDUP function returns for •...
  • Page 85: Subroutines, Macros

    Subroutines, Macros Using subroutines Function In principle, a subroutine has the same structure as a parts program. It consists of NC blocks with traversing and switching commands. Basically, there is no difference between a main program and a subroutine. The subroutine contains either machining operations or sequences of operations that are to be performed several times.
  • Page 86 Subroutines, Macros 2.1 Using subroutines Application Machining sequences that recur are only programmed once in a subroutine. Examples include certain contour shapes, which occur repeatedly, and machining cycles. The subroutine can be called and executed in any main program. Structure of a subroutine The structure of a subroutine is identical to that of the main program.
  • Page 87: Subroutines With Save Mechanism

    For SIEMENS machining and measuring cycles you require three levels. If you call a cycle from a subroutine you must do this no deeper than level 5 (if four levels are reserved for interrupt routines).
  • Page 88 Subroutines, Macros 2.2 Subroutines with SAVE mechanism Programming In the subroutine PROC subroutine name SAVE The SAVE attribute sets modal G functions to the same value at the end of subroutines that they had at the beginning. If this action results in a change to the G function group 8 (settable zero offset) G function group 52 (frame rotations of a rotational workpiece) G function group 53 (frame rotation in direction of tool),...
  • Page 89: Subroutines With Parameter Transfer (Proc, Var)

    Subroutines, Macros 2.3 Subroutines with parameter transfer (PROC, VAR) Subroutines with parameter transfer (PROC, VAR) Function Program start, PROC A subroutine that is to take over parameters from the calling program when the program runs is designated with the keyword PROC. Subroutine end M17, RET The command M17 designates the end of subroutine and is also an instruction to return to the calling main program.
  • Page 90 Subroutines, Macros 2.3 Subroutines with parameter transfer (PROC, VAR) Note The definition statement with PROC must be programmed in a separate NC block. A maximum of 127 parameters can be declared for parameter transfer. Example: parameter transfer between main program and subroutine N10 DEF REAL LENGTH,WIDTH N20 LENGTH=12 WIDTH=10 N30 BORDER(LENGTH,WIDTH)
  • Page 91 Subroutines, Macros 2.3 Subroutines with parameter transfer (PROC, VAR) Second method of parameter transfer: • Values are only transferred (call-by-value) If the parameters transferred are changed as the subroutine runs this does not have any effect on the main program. The parameters remain unchanged in it (see Fig.). •...
  • Page 92 Subroutines, Macros 2.3 Subroutines with parameter transfer (PROC, VAR) Example: creating a drilling pattern using a transferred variable-length position table %_N_DRILLING_PATTERN_SPF Subroutine PROC DRILLING_PATTERN(VAR REAL ARRAY[,2],-> ;Parameter delivery -> INT NUMBER) DEF INT COUNTER STEP: G1 X=ARRAY[COUNTER,0]-> ;Machining sequence -> Y=ARRAY[COUNTER,1] F100 Z=IC(-5) Z=IC(5) COUNT=COUNT+1...
  • Page 93: Call Subroutines (L Or Extern)

    Subroutines, Macros 2.4 Call subroutines (L or EXTERN) Call subroutines (L or EXTERN) Function Calling subroutines without parameter transfer In the main program, you call the subroutine either • with the L address and the subroutine number or • with the program name. Example: N10 L47 or N10 SPIGOT_2...
  • Page 94 Subroutines, Macros 2.4 Call subroutines (L or EXTERN) Parameters L address Subroutine number EXTERN Broadcast a subroutine with specified parameters. You only have to specify EXTERN if the subroutine is in the workpiece or in the global subroutine directory. You do not have to declare cycles as EXTERN .
  • Page 95 Subroutines, Macros 2.4 Call subroutines (L or EXTERN) Example: Subroutine call with parameter transfer N10 DEF REAL LENGTH,WIDTH,DEPTH N20… N30 LENGTH=15.3 WIDTH=20.2 DEPTH=5 N40 BORDER(LENGTH,WIDTH,DEPTH) N40 BORDER(15.3,20.2,5) Example: subroutine PROC SUB1 (INT VAR1, DOUBLE VAR2) IF $P_SUBPAR[1]==TRUE ;Parameter VAR1 was programmed in the subroutine call ELSE ;Parameter VAR1 was not programmed in the subroutine call ;and initialized by the system with the default value 0...
  • Page 96 Subroutines, Macros 2.4 Call subroutines (L or EXTERN) Description Caution Subroutine definition corresponds to subroutine call Both the variable types and the sequence of transfer must match the definitions declared under PROC in the subroutine name. The parameter names can be different in the main program and subroutines.
  • Page 97 Subroutines, Macros 2.4 Call subroutines (L or EXTERN) The system variable $P_SUBPAR returns • TRUE, if the transfer parameter was programmed • FALSE, if no value was set as transfer parameter. If an impermissible parameter number was specified, parts program processing is aborted with alarm output.
  • Page 98: Parameterized Subroutine Return (Ret)

    Subroutines, Macros 2.5 Parameterized subroutine return (RET) Parameterized subroutine return (RET) Function Usually, a RET or M17 end of subroutine returns to the calling program and execution of the parts program continues with the lines following the subroutine call. However, some applications may require program resumption at another position: •...
  • Page 99 Subroutines, Macros 2.5 Parameterized subroutine return (RET) Subroutine end (use instead of M17) Parameter: Block number or label as STRING (constant or variable) of the block at which to resume execution. Execution is resumed in the calling program at the block with the "Block number/label".
  • Page 100 Subroutines, Macros 2.5 Parameterized subroutine return (RET) Description 1. Execution is resumed in the calling program (main program) at the block with the . 2. The subroutine return goes back to the block with . Job planning 2-16 Programming Manual, 03/2006 Edition, 6FC5398-2BP10-1BA0...
  • Page 101 Subroutines, Macros 2.5 Parameterized subroutine return (RET) 3. The program is resumed in the current program level minus . Impermissible return levels If, for the number of return levels, • a negative value or •...
  • Page 102: Subroutine With Program Repetition (P)

    Subroutines, Macros 2.6 Subroutine with program repetition (P) Caution The user must always ensure that execution continues with the correct modal settings on return over two or more program levels. This is done, for example, by programming an appropriate main block. Subroutine with program repetition (P) Function If a subroutine is to be executed several times in succession, the desired number of program...
  • Page 103: Modal Subroutine (Mcall)

    Subroutines, Macros 2.7 Modal subroutine (MCALL) Example N40 FRAME P3 The subroutine FRAME must be executed 3 times in succession. Modal subroutine (MCALL) Function This function causes the subroutine to be called and executed automatically after each block that contains traversing movement. In this way you can automate the calling of subroutines that are to be executed at different positions on the workpiece;...
  • Page 104 Subroutines, Macros 2.7 Modal subroutine (MCALL) Caution In a program run, only one MCALL call can apply at any one time. Parameters are only transferred once with an MCALL. In the following situations the modal subroutine is also called without motion programming: When programming the addresses S and F if G0 or G1 is active.
  • Page 105: Indirect Subroutine Call (Call)

    Subroutines, Macros 2.8 Indirect subroutine call (CALL) Indirect subroutine call (CALL) Function Depending on the prevailing conditions at a particular point in the program, different subroutines can be called. The name of the subroutine is stored in a variable of type STRING.
  • Page 106: Repeating Program Sections With Indirect Programming (Call)

    Subroutines, Macros 2.9 Repeating program sections with indirect programming (CALL) Repeating program sections with indirect programming (CALL) Function CALL is used to call up subroutines indirectly in which the program section repetitions defined with BLOCK are run according to the start label and end label. Programming CALL ...
  • Page 107: Indirect Call Of A Program Programmed In Iso Language (Isocall)

    The indirect program call ISOCALL is used to call up a program in ISO language. The ISO mode set in the machine data is activated. At the end of the program, the original mode is reactivated. If no ISO mode is set in the machine data, the subroutine is called in Siemens mode.
  • Page 108: Calling Subroutine With Path Specification And Parameters (Pcall)

    Subroutines, Macros 2.11 Calling subroutine with path specification and parameters (PCALL) 2.11 Calling subroutine with path specification and parameters (PCALL) 2.11 Function With PCALL you can call subroutines with the absolute path and parameter transfer. Programming PCALL (parameter 1, …, parameter n) Parameters PCALL Keyword for subroutine call with absolute path name...
  • Page 109 Subroutines, Macros 2.12 Extend search path for subroutine calls with CALLPATH Programming Adding subroutines stored outside the existing NCK file system to the existing NCK file system. CALLPATH Parameters CALLPATH Keyword for programmable search path extension. The CALLPATH command is programmed in a separate parts program line. ...
  • Page 110: Search Path Adaptation Of The Subroutines Prepared During Startup

    Subroutines, Macros 2.13 Search path adaptation of the subroutines prepared during startup 2.13 Search path adaptation of the subroutines prepared during startup 2.13 Function Machine data can be used to set a situation where the PROC instructions of the NC programs saved in the cycle directories are read prepared with parameters for the subroutine call during startup.
  • Page 111: Execute External Subroutine (Extcall)

    Subroutines, Macros 2.14 Execute external subroutine (EXTCALL) 2.14 Execute external subroutine (EXTCALL) 2.14 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.
  • Page 112 Subroutines, Macros 2.14 Execute external subroutine (EXTCALL) Example: HMI Advanced The program to be reloaded is stored on the local hard disk of HMI Advanced. In the setting data SD 42700: EXT_PROG_PATH is stored in the following path: "/_N_WKS_DIR/_N_WST1". The _N_MAIN_MPF main program is present in user memory and has been selected.
  • Page 113 Subroutines, Macros 2.14 Execute external subroutine (EXTCALL) Call of external subroutine for SINUMERIK with HMI Advanced An external subroutine is called by means of parts program command EXTCALL. From the • subroutine names programmed with EXTCALL and • setting data SD 42700: EXT_PROG_PATH provides the program path for the external subroutine call by the concatenation of •...
  • Page 114 Subroutines, Macros 2.14 Execute external subroutine (EXTCALL) Execution from external program saving There are differences between how an external program is reloaded from an available memory. These depend on the HMI operating panel used. The following memory variants are available for SINUMERIK powerline and solution line systems: •...
  • Page 115: Subroutine Call With M, T And D Functions

    Subroutines, Macros 2.15 Subroutine call with M, T and D functions 2.15 Subroutine call with M, T and D functions 2.15 Function T, M and D functions can be replaced with a subroutine call by making the appropriate machine data settings. This method can be used, for example, to call the tool change routine.
  • Page 116: Suppress Individual Block (Sblof, Sblon)

    Subroutines, Macros 2.16 Suppress individual block (SBLOF, SBLON) 2.16 Suppress individual block (SBLOF, SBLON) 2.16 Function Program-specific single block suppression For all single block types, the programs marked with SBLOF are executed in their entirety like one block. SBLOF is written in the PROC line and is valid until the end of the subroutine or until it is aborted.
  • Page 117 Subroutines, Macros 2.16 Suppress individual block (SBLOF, SBLON) Example: cycle is to act like a command for a user Main program N10 G1 X10 G90 F200 N20 X-4 Y6 N30 CYCLE1 N40 G1 X0 N50 M30 Program cycle:1 N100 PROC CYCLE1 DISPLOF SBLOF ;Suppress single block N110 R10=3*SIN(R20)+5 N120 IF (R11 <= 0)
  • Page 118 Subroutines, Macros 2.16 Suppress individual block (SBLOF, SBLON) Example: use MD 10702 IGNORE_SINGLEBLOCK_MASK, bit 12 = 1 to prevent stopping In single block type SBL2 (stop at each parts program line) in the SBLON statement. ;SBL2 is active ;$MN_IGNORE_SINGLEBLOCK_MASK = 'H1000' ;In the MD 10702: set bit 12 = 1 ;Stop at this parts program line N10 G0 X0...
  • Page 119 Subroutines, Macros 2.16 Suppress individual block (SBLOF, SBLON) Restrictions • The current block display can be suppressed in cycles using DISPLOF. • If DISPLOF is programmed together with SBLOF, the cycle call continues to be displayed on single block stops within the cycle. •...
  • Page 120: Suppress Current Block Display (Displof)

    Subroutines, Macros 2.17 Suppress current block display (DISPLOF) Single block suppression for program nesting If SBLOF is programmed in the PROC statement in a subroutine, stopping is performed on the subroutine return jump with M17. That prevents the next block in the calling program from already running.
  • Page 121: Cycles: Setting Parameters For User Cycles

    Subroutines, Macros 2.18 Cycles: Setting parameters for user cycles 2.18 Cycles: Setting parameters for user cycles 2.18 Function You can use the cov.com and uc.com files to parameterize your own cycles. The cov.com file is included with the standard cycles at delivery and is to be expanded accordingly.
  • Page 122 Subroutines, Macros 2.18 Cycles: Setting parameters for user cycles Example: 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 <= PAR2 <= 123.456, default with 100...
  • Page 123 Subroutines, Macros 2.18 Cycles: Setting parameters for user cycles Example: both cycles Display screen for cycle MY_CYCLE_1 Display screen for cycle SPECIAL CYCLE Syntax description for the uc.com file - user cycle description Header line for each cycle: as in the cov.com file preceded by "//" //C ...
  • Page 124 Subroutines, Macros 2.18 Cycles: Setting parameters for user cycles Minimum value, maximum value (can be omitted) Limitations of the entered values which are checked at input; values outside this range cannot be entered. It is possible to specify an enumeration of values which can be operated via the toggle key;...
  • Page 125: Macro Technique (Define

    Subroutines, Macros 2.19 Macro technique (DEFINE...AS) 2.19 Macro technique (DEFINE...AS) 2.19 Function A macro is a sequence of individual statements, which have together been assigned a name of their own. G, M and H functions or L subroutine names can also be used as macros. When a macro is called during a program run, the statements programmed under the program name are executed one after the other.
  • Page 126 Subroutines, Macros 2.19 Macro technique (DEFINE...AS) Three-digit M/G function Supports programming of three-digit M and G functions. Example: N20 DEFINE M100 AS M6 N80 DEFINE M999 AS M6 Note Macros can also be declared in the NC program. Only identifiers are permissible as macro names.
  • Page 127: File And Program Management

    File and Program Management Program memory Function The files and programs are stored in the program memory and are thus permanently stored (passive file system). Example: Main programs and subroutines, macro definitions. Main programs and subroutines are stored in the main memory. A number of file types are also stored here temporarily and these can be transferred to the working memory as required (e.g., for initialization purposes on machining of a specific workpiece).
  • Page 128 File and Program Management 3.1 Program memory Directories Its standard complement of directories is as follows: 1. _N_DEF_DIR Data modules and macro modules 2. _N_CST_DIR Standard cycles 3. _N_CMA_DIR Manufacturer cycles 4. _N_CUS_DIR User cycles 5. _N_WKS_DIR Workpieces 6. _N_SPF_DIR Global subroutines 7.
  • Page 129 File and Program Management 3.1 Program memory File types The following file types can be stored in the main memory: name_MPF Main program name_SPF Subroutine name_TEA Machine data name_SEA Setting data name_TOA Tool offsets name_UFR Zero offsets/frames name_INI Initialization files name_GUD Global user data name_RPA...
  • Page 130 File and Program Management 3.1 Program memory Creating workpiece directories on an external PC The steps described below are performed on an external data station. Please refer to your Operator's Guide for file and program management (from PC to control system) directly on the control.
  • Page 131 File and Program Management 3.1 Program memory Search paths for subroutine call If the search path is not specified explicitly in the parts program when a subroutine (or initialization file) is called, the calling program searches in a fixed search path. Example of subroutine call with absolute path specification: CALL"/_N_CST_DIR/_N_CYCLE1_SPF"...
  • Page 132: Working Memory

    File and Program Management 3.2 Working memory Working memory Function The working memory contains the current system and user data with which the control operates (active file system). Example: Active machine data, tool offset data, zero offsets. Parameters Initialization programs These are programs with which the working memory data are initialized.
  • Page 133 File and Program Management 3.2 Working memory Example: procedure for multi-channel controls CHANDATA (channel number) for multiple channels is permitted only in the N_INITIAL_INI file. N_INITIAL_INI is the installation file with which all data of the control is initialized. %_N_INITIAL_INI CHANDATA(1) ;Channel 1 machine axis assignment $MC_AXCONF_MACHAX_USED[0]=1...
  • Page 134: Defining User Data

    File and Program Management 3.3 Defining user data Loading initialization programs INI programs can also be selected and called as parts programs if they only use the data of a single channel. It is thus also possible to initialize program-controlled data. Information on file types is given in the Operator's Guide.
  • Page 135 REP (w1), SET(w1, W2, ...), (w1, w2, ...) Initialization values are not possible for type Frame. Example: definition file, global data (Siemens) %_N_SGUD_DEF ;$PATH=/_N_DEF_DIR DEF NCK REAL RTP ;Retraction plane DEF CHAN INT SDIS ;Safety clearance...
  • Page 136 (Siemens system applications) _N_MMAC_DEF contains macro definitions (machine manufacturer) _N_UMAC_DEF contains macro definitions (user) _N_SGUD_DEF contains definitions for global data (Siemens system applications) _N_MGUD_DEF contains definitions for global data (machine manufacturer) _N_UGUD_DEF contains definitions for global data (user)
  • Page 137 File and Program Management 3.3 Defining user data 8. Activate definition files and re-activate their content When the GUD definition file is loaded into the NC ("Load" soft key), it becomes active. See "Automatic activation ..." If the content of a particular GUD definition file is re- activated, the old GUD data block in the active file system is deleted and the new parameters reset.
  • Page 138: Protection Levels For User Data, Md, Sd And Nc Commands

    (Read) Protection level n from 0 or 10 (highest level) to 7 or 17 (lowest level) Meaning of the protection levels n: 0 or 10 SIEMENS 1 or 11 OEM_HIGH 2 or 12 OEM_LOW 3 or 13 End user...
  • Page 139 File and Program Management 3.4 Protection levels for user data, MD, SD and NC commands Note To protect a complete file, the commands must be placed before the first definitions in the file. In other cases, they go into the REDEF instruction of the relevant data, see section "Protection levels for NC commands".
  • Page 140: Automatic Activation Of Guds And Macs

    File and Program Management 3.4 Protection levels for user data, MD, SD and NC commands 3.4.2 Automatic activation of GUDs and MACs Function Definition files for GUD and macro definitions for HMI Advanced are edited in the Services operating area. If a definition file is edited in the NC, when exiting the Editor you are prompted whether the definitions are to be set active.
  • Page 141: Change The Protection Data For The Machine And Setting Data (Redef Md, Sd)

    File and Program Management 3.4 Protection levels for user data, MD, SD and NC commands 3.4.3 Change the protection data for the machine and setting data (REDEF MD, SD) Function The user can change the protection levels. Only protection levels of lower priority can be assigned to the machine data, setting data can also be assigned protection levels of higher priority.
  • Page 142: Protection Levels For Nc Commands (Redef)

    File and Program Management 3.4 Protection levels for user data, MD, SD and NC commands Example: resetting rights in individual MDs to the original values %_N_SGUD_DEF ;$PATH=/_N_DEF_DIR REDEF $MA_CTRLOUT_SEGMENT_NR APR 7 APW 2 REDEF $MA_ENC_SEGMENT_NR APR 0 APW 0 REDEF $SN_JOG_CONT_MODE_LEVELTRIGGRD APR 7 APW 7 3.4.4 Protection levels for NC commands (REDEF) Function...
  • Page 143 File and Program Management 3.4 Protection levels for user data, MD, SD and NC commands Parameters The REDEF command acts globally for all channels and mode groups REDEF Effect and application of the REDEF command NC language element Language element to which a protection level is to be assigned for execution: 1.
  • Page 144 Like for the GUD definitions, separate definition files exist that are evaluated on control start- End user: /_N_DEF_DIR/_N_UACCESS_DEF Manufacturer: /_N_DEF_DIR/_N_MACCESS_DEF Siemens: /_N_DEF_DIR/_N_SACCESS_DEF Subroutine call in definition files It is possible to call subroutines containing REDEF statements from the above definition files.
  • Page 145: Redef Changing The Attributes Of The Nc Language Elements

    Machine/setting data Access right during read For machine and setting data you can overwrite the preset access authorization subsequently. The permissible values range from '0' (Siemens password) to '7' (keyswitch setting 0) Job planning 3-19 Programming Manual, 03/2006 Edition, 6FC5398-2BP10-1BA0...
  • Page 146 File and Program Management 3.5 REDEF Changing the attributes of the NC language elements Optional parameters Value (optional) Optional parameters for attributes INIPO, INIRE, INICF, PRLOC: Subsequent start value(s) forms: Single value e.g. 5 value list e.g. (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) for variable with 10 elements with REP (w1) w1: the value list to be repeated...
  • Page 147 File and Program Management 3.5 REDEF Changing the attributes of the NC language elements Programmable setting data and the writable system variables from the parts program The following SD can be initialized with the REDEF instruction: Number Name of identifier GCODE 42000 $SC_THREAD_START_ANGLE...
  • Page 148 File and Program Management 3.5 REDEF Changing the attributes of the NC language elements Example: modal speed limitation in the parts program (setting data) /_N_DEF_DIR/_N_SGUD_DEF REDEF $SA_SPIND_MAX_VELO_LIMS PRLOC ;Setting data for limit speed /_N_MPF_DIR/_N_MY_MPF N10 SETMS (3) N20 G96 S100 LIMS=2500 Let the limit speed defined in setting data ($SA_SPIND_MAX_VELO_LIMS) speed limitation be 1200 rpm.
  • Page 149 File and Program Management 3.5 REDEF Changing the attributes of the NC language elements • Attributes of arrays cannot be set for individual elements but only always for the entire array: DEF CHAN INT _MYGUD[10,10] REDEF _MYGUD INIRE // ok REDEF _MYGUD[1,1] INIRE // not possible, alarm is output // (array value)
  • Page 150: Seform Structuring Statement In The Step Editor

    File and Program Management 3.6 SEFORM structuring statement in the Step editor SEFORM structuring statement in the Step editor Function The SEFORM statement is evaluated in the Step editor to generate the step view for HMI Advanced. The step view available in the HMI Advanced improves the readability of the NC subroutine.
  • Page 151: Protection Zones

    Protection zones Definition of the protection zones (CPROTDEF, NPROTDEF) Function You can use protection zones to protect various elements on the machine, their components and the workpiece against incorrect movements. Tool-oriented protection zones: For parts that belong to the tool (e.g. tool, toolholder) Workpiece-oriented protection zones: For parts that belong to the workpiece (e.g.
  • Page 152 Protection zones 4.1 Definition of the protection zones (CPROTDEF, NPROTDEF) EXECUTE(NOT_USED) Parameters DEF INT NOT_USED Define local variable, data type integer (see Motion- synchronous action section) CPROTDEF Define channel-specific protection zones (for NCU 572/573 only) NPROTDEF Defining machine-specific protection zones EXECUTE End definition Number of defined protection zone...
  • Page 153 Protection zones 4.1 Definition of the protection zones (CPROTDEF, NPROTDEF) Plane The required plane is selected before CPROTDEF and NPROTDEF with G17, G18, G19 and must not be altered before EXECUTE. The applicate must not be programmed between CPROTDEF or NPROTDEF and EXECUTE. Contour elements The following is permissible: •...
  • Page 154: Activating, Deactivating Protection Zones (Cprot, Nprot)

    Protection zones 4.2 Activating, deactivating protection zones (CPROT, NPROT) During definition of the protection zones • no cutter or tool nose radius compensation, • no transformation, • no frame must be active. Nor must reference point approach (G74), fixed point approach (G75), block search stop or program end be programmed.
  • Page 155 Protection zones 4.2 Activating, deactivating protection zones (CPROT, NPROT) Example of milling Possible collision of a milling cutter with the measuring probe is to be monitored on a milling machine. The position of the measuring probe is to be defined by an offset when the function is activated.
  • Page 156 Protection zones 4.2 Activating, deactivating protection zones (CPROT, NPROT) NPROTDEF(2,FALSE,3,5,–5) Protection zone n–SB2 G01 X40 Y–5 Y–5 EXECUTE(PROTECTB) CPROTDEF(1,TRUE,3,0,–100) Protection zone c–SB1 G01 X–20 Y–20 X–20 Y–20 EXECUTE(PROTECTB) CPROTDEF(2,TRUE,3,–100,–150) Protection zone c–SB2 G01 X0 Y–10 G03 X0 Y10 J10 X0 Y–10 J–10 EXECUTE(PROTECTB) CPROTDEF(3,TRUE,3,–150,–170) Protection zone c–SB3...
  • Page 157: Checking For Protection Zone Violation, Working Area Limitation And Software Limits

    Protection zones 4.3 Checking for protection zone violation, working area limitation and software limits Movement of protection zones for (pre)activating The offset can take place in 1, 2, or 3 dimensions. The offset refers to: • the machine zero in workpiece-specific protection zones, •...
  • Page 158 Protection zones 4.3 Checking for protection zone violation, working area limitation and software limits Parameters Status 0: Function OK; the defined path can be traversed completely. –: In _DLIMIT at least one component is negative –: An error occurred in a transformation calculation. If the defined path cannot be traversed completely, a positive, decimally coded value is returned: Units digit (type of violated limit):...
  • Page 159 Protection zones 4.3 Checking for protection zone violation, working area limitation and software limits _DLIMIT [0] - [2]: Minimum clearances assigned to the geometry axes. [3]: Minimum clearance assigned to a linear machine axis for a non-linear transformation, if no geometry axis can be uniquely assigned.
  • Page 160 Protection zones 4.3 Checking for protection zone violation, working area limitation and software limits N10 def real _STARTPOS[3] N20 def real _MOVDIST[3] N30 def real _DLIMIT[5] N40 def real _MAXDIST[3] N50 def int _SB N60 def int _STATUS N70 cprotdef(2, true, 0) ;Tool-related protection zone N80 g17 g1 x–y0 N90 g3 i2 x2...
  • Page 161 Protection zones 4.3 Checking for protection zone violation, working area limitation and software limits N230 x10 N240 y5 N250 execute(_SB) N260 cprot(2,2,0,0,0) ;activate/deactivate ;protection zones N270 cprot(4,1,0,0,0) N280 nprot(3,2,0,0,0) N290 g25 XX=–YY=– ;define working area limitations N300 g26 xx= 20 yy= 21 N310 _STARTPOS[0] = 0.
  • Page 162 Protection zones 4.3 Checking for protection zone violation, working area limitation and software limits Results of the tests in the example: Block no. _STATUS _MAXDIST _MAXDIST Comments N... [0] (= X) [1] (= Y) 3123 8.040 4.594 Protection zone N3 violated. 1122 20.000 11.429...
  • Page 163 Protection zones 4.3 Checking for protection zone violation, working area limitation and software limits For certain kinematic transformations (e.g. TRANSMIT), the position of the machine axes cannot be determined uniquely from the positions in the workpiece coordinate system (WCS) (non-uniqueness). In the normal traversing operation, the uniqueness normally results from the previous history and the condition that a continuous movement in the WCS must correspond to a continuous movement in the machine axes.
  • Page 164 Protection zones 4.3 Checking for protection zone violation, working area limitation and software limits Job planning 4-14 Programming Manual, 03/2006 Edition, 6FC5398-2BP10-1BA0...
  • Page 165: Special Motion Commands

    Special Motion Commands Approaching coded positions (CAC, CIC, CDC, CACP, CACN) Function The machine data can be used to enter for two axes a maximum of 60 (0 to 59) positions for each in the position tables. Programming CAC (n) CIC (n) CACP (n) CACN (n)
  • Page 166 Special Motion Commands 5.1 Approaching coded positions (CAC, CIC, CDC, CACP, CACN) Example: positioning table for linear axis and rotary axis Note If an axis is situated between two positions, it does not traverse in response to an incremental position command with CIC (...). It is always advisable to program the first travel command with an absolute position value.
  • Page 167: Spline Interpolation (Aspline, Bspline, Cspline, Bauto, Bnat, Btan)

    Special Motion Commands 5.2 Spline interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN) Spline interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN) Function The spline interpolation function can be used to link series of points along smooth curves. Splines can be applied, for example, to create curves using a sequence of digitized points. There are several types of spline with different characteristics, each producing different interpolation effects.
  • Page 168 Special Motion Commands 5.2 Spline interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN) Parameters ASPLINE The Akima spline passes as tangent through the intermediate points. BSPLINE The B spline does not pass directly through the control points but only near them. The programmed positions are not interpolation points but only control points.
  • Page 169 Special Motion Commands 5.2 Spline interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN) Note Parameters for B-SPLINE The programmed restrictions (see A- or C-spline) do not have any affect on the B-spline. The B spline is always tangential to the check polygon at its start and end points. Point weight: PW = n The weight details can be programmed as a so-called point-...
  • Page 170 Special Motion Commands 5.2 Spline interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN) Example: B spline All weights 1 Different weights Check polygon N10 G1 X0 Y0 F300 G64 N10 G1 X0 Y0 F300 G64 N10 G1 X0 Y0 F300 G64 N20 BSPLINE N20 BSPLINE N20 ;omitted...
  • Page 171 Special Motion Commands 5.2 Spline interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN) Example: C spline, zero curvature at start and end N10 G1 X0 Y0 F300 N15 X10 N20 BNAT ENAT ;C spline, zero curvature at start and end N30 CSPLINE X20 Y10 N40 X30 N50 X40 Y5 N60 X50 Y15...
  • Page 172 Special Motion Commands 5.2 Spline interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN) A-Spline The A spline (Akima spline) passes exactly through the intermediate points. While it produces virtually no undesirable oscillations, it does not create a continuous curve in the interpolation points.
  • Page 173 Special Motion Commands 5.2 Spline interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN) C spline In contrast to the akima spine, the cubic spline is continuously curved in the intermediate points. It tends to have unexpected fluctuations however. It can be used in cases where the interpolation points lie along an analytically calculated curve.
  • Page 174 Special Motion Commands 5.2 Spline interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN) Comparison of three spline types with identical interpolation points: A spline (akima spline) B spline (Bezier spline) C spline (cubic spline) Settings for splines The G codes ASPLINE, BSPLINE and CSPLINE link block endpoints with splines. For this purpose, a series of blocks (endpoints) must be simultaneously calculated.
  • Page 175: Spline Grouping (Splinepath)

    Special Motion Commands 5.3 Spline grouping (SPLINEPATH) Spline grouping (SPLINEPATH) Function The SPLINEPATH command is used to select the axes to be interpolated in the spline grouping. Up to eight path axes can be involved in a spline interpolation grouping. The SPLINEPATH statement defines which axes are to be involved in the spline.
  • Page 176: Compressor (Compof/On, Compcurv, Compcad)

    Special Motion Commands 5.4 Compressor (COMPOF/ON, COMPCURV, COMPCAD) N10 G1 X10 Y20 Z30 A40 B50 F350 N11 SPLINEPATH(1,X,Y,Z) ;Spline grouping N13 CSPLINE BAUTO EAUTO X20 Y30 Z40 A50 B60 ;C spline N14 X30 Y40 Z50 A60 B70 ;Interpolation points … N100 G1 X…...
  • Page 177 Special Motion Commands 5.4 Compressor (COMPOF/ON, COMPCURV, COMPCAD) Parameters COMPON/ / Compressor on, continuous in the velocity COMPOF Compressor OFF COMPCURV Compressor on, with constant curvature polynomial (continuous acceleration) COMPCAD Compressor on, optimized surface quality (velocity-optimized) Example COMPON N10 COMPON ;or COMPCURV, compressor ON N11 G1 X0.37 Y2.9 F600 ;G1 must be programmed before the...
  • Page 178 Special Motion Commands 5.4 Compressor (COMPOF/ON, COMPCURV, COMPCAD) Example COMPCAD G00 X30 Y6 Z40 G1 F10000 G642 SOFT COMPCAD ;Compressor interface optimization ON STOPFIFO N24050 Z32.499 N24051 X41.365 Z32.500 N24052 X43.115 Z32.497 N24053 X43.365 Z32.477 N24054 X43.556 Z32.449 N24055 X43.818 Z32.387 N24056 X44.076 Z32.300 COMPOF ;Compressor OFF...
  • Page 179 Special Motion Commands 5.4 Compressor (COMPOF/ON, COMPCURV, COMPCAD) Description CAD/CAM systems normally produce linear blocks, which meet the configured accuracy specifications. In the case of complex contours, a large volume of data and short path sections can result. The short path sections restrict the processing rate. The compressor allows a certain number (max.
  • Page 180: Polynomial Interpolation (Poly, Polypath)

    Special Motion Commands 5.5 Polynomial interpolation (POLY, POLYPATH) Orientation transformation TRAORI The "Compressor for orientation" function requires the availability of the Orientation transformation option. The restrictions mentioned above under "Conditions of usage" have been relieved to allow position values via parameter settings now also. NC block structure in general: N10 G1 X=<...>...
  • Page 181 Special Motion Commands 5.5 Polynomial interpolation (POLY, POLYPATH) Parameters POLY Activation of polynomial interpolation with a block containing POLY POLYPATH Polynomial interpolation can be selected for both the AXIS or VECT axis groups PO [axis identifier/variable]=(…,…,…) End points and polynomial coefficients X, Y, Z Axis identifier Specification of end position for...
  • Page 182 Special Motion Commands 5.5 Polynomial interpolation (POLY, POLYPATH) POLPATH ( ) Deactivates the polynomial interpolation for all axes Example N10 G1 X… Y… Z… F600 N11 POLY PO[X]=(1,2.5,0.7) -> ;Polynomial interpolation ON -> PO[Y]=(0.3,1,3.2) PL=1.5 N12 PO[X]=(0,2.5,1.7) PO[Y]=(2.3,1.7) PL=3 … N20 M8 H126 …...
  • Page 183 Special Motion Commands 5.5 Polynomial interpolation (POLY, POLYPATH) N9 X0 Y0 G90 F100 N10 POLY PO[Y]=(2) PO[X]=(4,0.25) PL=4 Description The control system is capable of traveling curves (paths) in which each selected path axis follows a function (polynomial, max. 3rd degree) or (polynomial, max. 5th degree) The equation used to express the polynomial function is generally as follows: f(p)= a p + a...
  • Page 184 Special Motion Commands 5.5 Polynomial interpolation (POLY, POLYPATH) By assigning concrete values to these coefficients, it is possible to generate a wide variety of curve shapes such as line, parabola and power functions. For setting the coefficients a = 0 or a = 0 yields, for example, a straight line with: f(p) = a...
  • Page 185 Special Motion Commands 5.5 Polynomial interpolation (POLY, POLYPATH) The constant coefficient (a ) of the denominator polynomial is always assumed to be 1, the specified end point is not dependent on G90/G91. The result obtained from the above example is as follows: X(p)=10(1)/(1+p2) and Y(p)=20p/(1+p2) where 0<=p<=1 As a result of the programmed start points, end points, coefficient a and PL=1, the...
  • Page 186: Settable Path Reference (Spath, Upath)

    Special Motion Commands 5.6 Settable path reference (SPATH, UPATH) Settable path reference (SPATH, UPATH) Function During polynomial interpolation the user may require two different relationships between the velocity-determining FGROUP axes and the other path axes: The latter are to be controlled •...
  • Page 187 Special Motion Commands 5.6 Settable path reference (SPATH, UPATH) Example 1 The example below shows a square with 20 mm side lengths and corners rounded with G643. The maximum deviations from the exact contour are specified by the machine data MD 33100: COMPRESS_POS_TOL[...] when a contour is smoothed with G643.
  • Page 188: Measurements With Touch Trigger Probe (Meas, Meaw)

    Special Motion Commands 5.7 Measurements with touch trigger probe (MEAS, MEAW) Restrictions The path reference set is of no importance with • linear and circular interpolation, • in thread blocks and • if all path axes are contained in FGROUP. Description During polynomial interpolation - and thus the polynomial interpolation is always understood •...
  • Page 189 Special Motion Commands 5.7 Measurements with touch trigger probe (MEAS, MEAW) Read measurement result The measurement result is available for the axes acquired with probes in the following variables: • Under $AA_MM[axis] in the machine coordinate system • Under $AA_MW[axis] in the workpiece coordinate system No internal preprocessing stop is generated when these variables are read.
  • Page 190 Special Motion Commands 5.7 Measurements with touch trigger probe (MEAS, MEAW) Parameters MEAS=±1 Measurement with probe 1 at measuring input 1 MEAS=±2* Measurement with probe 2 at measuring input 2 MEAW=±1 Measurement with probe 1 at measuring input 1 MEAW=±2* Measurement with probe 2 at measuring input 2 G...
  • Page 191: Extended Measuring Function (Measa, Meawa, Meac) (Option)

    Special Motion Commands 5.8 Extended measuring function (MEASA, MEAWA, MEAC) (option) Extended measuring function (MEASA, MEAWA, MEAC) (option) Function Several probes and several measuring systems can be used for the axial measuring. When MEASA, MEAWA is programmed, up to four measured values are acquired for the programmed axis in each measuring run and stored in system variables in accordance with the trigger event.
  • Page 192 Special Motion Commands 5.8 Extended measuring function (MEASA, MEAWA, MEAC) (option) Parameters MEASA Measurement with deletion of distance-to-go MEAWA Measurement without deletion of distance-to-go MEAC Continuous measurement without deleting distance-to-go Axis Name of channel axis used for measurement Mode Two-digit setting for operating mode consisting of Measuring mode (ones decade) and 0: Mode 0: Cancel measuring job 1: Mode 1: Up to 4 different trigger events can be activated...
  • Page 193 Special Motion Commands 5.8 Extended measuring function (MEASA, MEAWA, MEAC) (option) Example of measuring with delete distance-to-go in mode 1 b) with 2 measuring systems N200 MEASA[X] = (31,1-1) G01 X100 F100 ;Measurement in mode 1 with both ;measuring systems. Wait for measuring ;signal with rising/falling edge from ;probe 1 on travel path to X = 100.
  • Page 194 Special Motion Commands 5.8 Extended measuring function (MEASA, MEAWA, MEAC) (option) Example of continuous measuring in mode 1 (evaluation in chronological sequence) a) Measurement of up to 100 measured values N110 DEF REAL MEASVALUE[100] N120 DEF INT loop = 0 N130 MEAC [X] = (1,1,-1) G01 X1000 F100 ;Measure in mode 1 with active ;measuring system, store measured...
  • Page 195 Special Motion Commands 5.8 Extended measuring function (MEASA, MEAWA, MEAC) (option) Note The feed must be adjusted to suit the measuring task in hand. In the case of MEASA and MEAWA, the correctness of results can be guaranteed only at feed rates with which no more than one trigger event of the same type and no more than four trigger events occur in each position controller cycle.
  • Page 196 Special Motion Commands 5.8 Extended measuring function (MEASA, MEAWA, MEAC) (option) Measurement with and without delete distance-to-go, MEASA, MEAWA When command MEASA is programmed, the distance-to-go is not deleted until all required measured values have been recorded. The MEAWA function is employed in the case of special measuring tasks where a programmed position must always be approached.
  • Page 197 Special Motion Commands 5.8 Extended measuring function (MEASA, MEAWA, MEAC) (option) • In workpiece coordinate system: Measured value of programmed measuring system on trigger $AA_WM1[axis] event 1 Measured value of programmed measuring system on trigger $AA_WM4[axis] event 4 Note No internal preprocessing stop is generated when these variables are read. A preprocessing stop must be programmed with STOPRE ("List of Instructions"...
  • Page 198 Special Motion Commands 5.8 Extended measuring function (MEASA, MEAWA, MEAC) (option) Measuring job status for MEASA, MEAWA If the probe switching state needs to be evaluated in the program, then the measuring job status can be interrogated via $AC_MEA[n], with n = number of probe. Once all the trigger events of probe "n"...
  • Page 199 Special Motion Commands 5.8 Extended measuring function (MEASA, MEAWA, MEAC) (option) Recognized programming errors The following programming errors are detected and indicated appropriately: • If MEASA/MEAWA is programmed with MEAS/MEAW in the same block. Example: N01 MEAS=1 MEASA[X]=(1,1) G01 F100 POS[X]=100 •...
  • Page 200: Special Functions For Oem Users (Oemipo1, Oemipo2, G810 To G829)

    Special Motion Commands 5.9 Special functions for OEM users (OEMIPO1, OEMIPO2, G810 to G829) Special functions for OEM users (OEMIPO1, OEMIPO2, G810 to G829) Function OEM addresses The meaning of OEM addresses is determined by the OEM user. Their functionality is incorporated by means of compile cycles.
  • Page 201 Special Motion Commands 5.10 Feed reduction with corner deceleration (FENDNORM, G62, G621) Default value FENDNORM deactivates the function of the automatic corner override. Note This function is not part of the standard scope of SINUMERIK and must be activated for the relevant software versions.
  • Page 202: Programmed End-Of-Motion Criterion (Finea, Coarsea, Ipoenda, Ipobrka, Adisposa)

    Special Motion Commands 5.11 Programmed end-of-motion criterion (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA) 5.11 Programmed end-of-motion criterion 5.11 (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA) Function Similar to the block change criterion for continuous-path interpolation (G601, G602 and G603), the end-of-motion criterion can be programmed in a parts program for single axis interpolation or in synchronized action for the command/PLC.
  • Page 203 Special Motion Commands 5.11 Programmed end-of-motion criterion (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA) Example of end-of-motion on reaching the interpolator stop N110 G01 POS[X]=100 FA[X]=1000 ACC[X]=90 IPOENDA[X] Traversing to position X100 when input 1 is active, with a path velocity of 1000 rpm, an acceleration value of 90% and end-of-motion on reaching the interpolator stop N120 EVERY $A_IN[1] DO POS[X]=50 FA[X]=2000 ACC[X]=140 IPOENDA[X] Traversing to position X50 when input 1 is active, with a path velocity of...
  • Page 204 Special Motion Commands 5.11 Programmed end-of-motion criterion (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA) Description $AA_MOTEND system variable The set end-of-motion criterion can be scanned by system variable $AA_MOTEND[axis] End-of-motion with "Exact stop fine" $AA_MOTEND[Axis] = 1 End-of-motion with "Exact stop coarse" $AA_MOTEND[Axis] = 2 End-of-motion with "IPO–Stop"...
  • Page 205: Programmable Servo Parameter Set (Scpara)

    Special Motion Commands 5.12 Programmable servo parameter set (SCPARA) 5.12 Programmable servo parameter set (SCPARA) 5.12 Function Using SCPARA, it is possible to program the parameter block (consisting of MDs) in the parts program and in synchronized actions (previously only via PLC). DB3n DBB9 bit3 To ensure no conflicts occur between PLC and NC, an additional bit is defined on the PLC–>NCK interface:...
  • Page 206 Special Motion Commands 5.12 Programmable servo parameter set (SCPARA) Job planning 5-42 Programming Manual, 03/2006 Edition, 6FC5398-2BP10-1BA0...
  • Page 207: Frames

    Frames Coordinate transformation via frame variables Function In addition to the programming options already described in the Programming Guide "Fundamentals", you can also define coordinate systems with predefined frame variables. The following coordinate systems are defined: MCS: Machine coordinate system BCS: Basic coordinate system BZS: Basic origin system SZS: Settable zero system...
  • Page 208 Frames 6.1 Coordinate transformation via frame variables Possible frame variable: • Basic frame (basic offset) • Settable frames • Programmable frame Value assignments and reading the actual values Frame variable/frame relationship A coordinate transformation can be activated by assigning the value of a frame to a frame variable.
  • Page 209: Predefined Frame Variable ($P_Bframe, $P_Iframe, $P_Pframe, $P_Actframe)

    Frames 6.1 Coordinate transformation via frame variables 6.1.1 Predefined frame variable ($P_BFRAME, $P_IFRAME, $P_PFRAME, $P_ACTFRAME) $P_BFRAME Current basic frame variable that establishes the reference between the basic coordinate system (BCS) and the basic origin system (BOS). For the basic frame described via $P_UBFR to be immediately active in the program, either •...
  • Page 210 Frames 6.1 Coordinate transformation via frame variables $P_IFRAME Current, settable frame variable that establishes the reference between the basic origin system (BOS) and the settable zero system (SZS). • $P_IFRAME corresponds to $P_UIFR[$P_IFRNUM] • After G54 is programmed, for example, $P_IFRAME contains the translation, rotation, scaling and mirroring defined by G54.
  • Page 211 Frames 6.1 Coordinate transformation via frame variables $P_PFRAME Current, programmable frame variable that establishes the reference between the settable zero system (SZS) and the workpiece coordinate system (WCS). $P_PFRAME contains the resulting frame, that results • from the programming of TRANS/ATRANS, ROT/AROT, SCALE/ASCALE, MIRROR/AMIRROR or •...
  • Page 212 Frames 6.1 Coordinate transformation via frame variables $P_ACTFRAME Current, resulting complete frame that results from chaining • the current basic frame variable $P_BFRAME, • the currently settable frame variable $P_IFRAME with system frames and • the currently programmable frame variable $P_IFRAME with system frames. System frames, see Section "Frames that Act in the Channel"...
  • Page 213 Frames 6.1 Coordinate transformation via frame variables If $P_IFRAME, $P_BFRAME or $P_PFRAME are changed, $P_ACTFRAME is recalculated. $P_ACTFRAME corresponds to $P_BFRAME:$P_IFRAME:$P_PFRAME Basic frame and settable frame are effective after Reset if MD 20110 RESET_MODE_MASK is set as follows: Bit0=1, bit14=1 --> $P_UBFR (basic frame) acts Bit0=1, bit5=1 -->...
  • Page 214 Frames 6.1 Coordinate transformation via frame variables 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. These variables produce a one-dimensional array of type FRAME called $P_UIFR[n]. Assignment to G commands As standard, five settable frames $P_UIFR[0]...
  • Page 215: Frame Variables / Assigning Values To Frames

    Frames 6.2 Frame variables / assigning values to frames Frame variables / assigning values to frames 6.2.1 Assigning direct values (axis value, angle, scale) Function You can directly assign values to frames or frame variables in the NC program. Programming $P_PFRAME=CTRANS (X, axis value, Y, axis value, Z, axis value, …) $P_PFRAME=CROT (X, angle, Y, angle, Z, angle, …) $P_UIFR[..]=CROT (X, angle, Y, angle, Z, angle, …)
  • Page 216 Frames 6.2 Frame variables / assigning values to frames Example Translation, rotation and mirroring are activated by value assignment to the current programmable frame. N10 $P_PFRAME=CTRANS(X,10,Y,20,Z,5):CROT(Z,45):CMIRROR(Y) Frame-red components are pre-assigned other values With CROT, pre-assign all three UIFR components with values $P_UIFR[5] = CROT(X, 0, Y, 0, Z, 0) N100 $P_UIFR[5, y, rt]=0 N100 $P_UIFR[5, x, rt]=0...
  • Page 217 Frames 6.2 Frame variables / assigning values to frames Description You can program several arithmetic rules in succession. Example: $P_PFRAME=CTRANS(…):CROT(…):CSCALE… Please note that the commands must be connected by the colon chain operator: (...):(...). This causes the commands firstly to be linked and secondly to be executed additively in the programmed sequence.
  • Page 218: Reading And Changing Frame Components (Tr, Fi, Rt, Sc, Mi)

    Frames 6.2 Frame variables / assigning values to frames 6.2.2 Reading and changing frame components (TR, FI, RT, SC, MI) Function This 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. Programming Assign the angle of rotation RT around the X axis R10=$P_UIFR[$P_UIFNUM, X, RT]...
  • Page 219: Linking Complete Frames

    Frames 6.2 Frame variables / assigning values to frames Description Calling frame By 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). All other stored settable $P_UIFR frames are called up by specifying the appropriate number $P_UIFR[n].
  • Page 220 Frames 6.2 Frame variables / assigning values to frames Programming Assigning frames DEF FRAME SETTING1 Assign the values of the user frame SETTING1=CTRANS(X,10) SETTING1 to the current programmable $P_PFRAME=SETTING1 frame. DEF FRAME SETTING4 The current programmable frame is SETTING4=$P_PFRAME stored temporarily and can be $P_PFRAME=SETTING4 recalled.
  • Page 221: Defining New Frames (Def Frame)

    Frames 6.2 Frame variables / assigning values to frames 6.2.4 Defining new frames (DEF FRAME) Function In addition to the predefined settable frames described above, you also have the option of creating new frames. This is achieved by creating variables of type FRAME to which you can assign a name of your choice.
  • Page 222: Coarse And Fine Offsets (Cfine; Ctrans)

    Frames 6.3 Coarse and fine offsets (CFINE; CTRANS) Coarse and fine offsets (CFINE; CTRANS) Function Fine offset A fine offset of the basic frames and of all other settable frames can be programmed with command CFINE (X, ..,Y, ...). Fine offset can only take place if MD 18600: MM_FRAME_FINE_TRANS=1. Coarse offset The coarse offset is defined with CTRANS(...).
  • Page 223 Frames 6.3 Coarse and fine offsets (CFINE; CTRANS) Programming ;Chaining of offset, $P_UBFR=CTRANS(x, 10) : CFINE(x, 0.1) : CROT(x, 45) ;fine offset and rotation ;The complete frame will be $P_UIFR[1]=CFINE(x, 0.5 y, 1.0, z, 0.1) ;overwritten with CFINE ;including the coarse offset Access to the individual components of the fine offset is achieved through component specification FI (Translation Fine).
  • Page 224: Drf Offset

    Frames 6.4 DRF offset DRF offset Offset using the handwheel, DRF In addition to all the translations described in this section, you can also define zero offsets with the handwheel (DRF offset). In the basic coordinate system, DRF offset affects geometry axes and special axes: However, a handwheel assignment must be made for the machine axis (e.g., via "Activate handwheel"...
  • Page 225: External Zero Offset

    Frames 6.5 External zero offset External zero offset Function This is another way of moving the zero point between the basic and workpiece coordinate system. Only linear translations can be programmed with the external zero offset. Programming The $AA_ETRANS offset values are programmed by assigning the axis-specific system variables.
  • Page 226: Preset Offset (Preseton)

    Frames 6.6 Preset offset (PRESETON) Preset offset (PRESETON) Function In special applications, it can be necessary to assign a new programmed actual value to one or more axes at the current position (stationary). Caution The reference point becomes invalid with the function PRESETON. You should therefore only use this function for axes which do not require a reference point.
  • Page 227: Deactivating Frames (Drfof, G53, G153, And Supa)

    Frames 6.7 Deactivating frames (DRFOF, G53, G153, and SUPA) Example The actual values are assigned to the machine coordinate system – the values refer to the machine axes. N10 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.
  • Page 228: Frame Calculation From Three Measuring Points In Space (Meaframe)

    Frames 6.8 Frame calculation from three measuring points in space (MEAFRAME) Frame calculation from three measuring points in space (MEAFRAME) Function MEAFRAME is an extension of the 840D language used for supporting measuring cycles. The function MEAFRAME calculates the frame from three ideal and the corresponding measured points.
  • Page 229 Frames 6.8 Frame calculation from three measuring points in space (MEAFRAME) Note Quality of the measurement 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.
  • Page 230 Frames 6.8 Frame calculation from three measuring points in space (MEAFRAME) N200 CORR_FRAME=MEAFRAME(IDEAL_POINT,MEAS_POINT,FIT_QUALITY) N230 IF FIT_QUALITY < 0 SETAL(65000) GOTOF NO_FRAME ENDIF N240 IF FIT_QUALITY > FIT_QUALITY_LIMIT SETAL(65010) GOTOF NO_FRAME ENDIF N250 IF CORR_FRAME[X,RT] > ROT_FRAME_LIMIT ;limitation of the 1st RPY ;angle SETAL(65020) GOTOF NO_FRAME...
  • Page 231 Frames 6.8 Frame calculation from three measuring points in space (MEAFRAME) 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] N630 SHOW_MCS_POS3[2]=$AA_IM[Z] N700 G500 ;Deactivate settable frame, because zero frame preset (no value set) NO_FRAME: Example of concatenating frames Chaining of MEAFRAME for offsets The MEAFRAME( ) function provides an offset frame.
  • Page 232: Ncu Global Frames

    Frames 6.9 NCU global frames NCU global frames Function Only one set of NCU global frames is used for all channels on each NCU. NCU global frames can be read and written from all channels. The NCU global frames are activated in the respective channel.
  • Page 233: Channel-Specific Frames ($P_Chbfr, $P_Ubfr)

    Frames 6.9 NCU global frames 6.9.1 Channel-specific frames ($P_CHBFR, $P_UBFR) Function Settable frames or basic frames can be read and written by an operator action or from the PLC: • via the parts program, or • via the operator panel interface. The fine offset can also be used for global frames.
  • Page 234: Frames Active In The Channel

    Frames 6.9 NCU global frames 6.9.2 Frames active in the channel Function Frames active in the channel are entered from the parts program via the associated system variables of these frames. System frames also belong here. The current system frame can be read and written via these system variables in the parts program.
  • Page 235 Frames 6.9 NCU global frames $P_CHBFRAME[n] Current channel basic frames System variable $P_CHBFRAME[n] can be used to read and write the current channel basic frame field elements. The resulting complete basic frame is calculated in the channel as a result of the write operation. Whenever a basic frame is written, the complete basic frame is calculated again.
  • Page 236 Frames 6.9 NCU global frames $P_CHBFRMASK can be used to define which channel-specific basic frames are included, and $P_NCBFRMASK can be used to define which NCU-global basic frames are included in the calculation. When the variables are programmed, the total basic frame and the total frame are calculated again.
  • Page 237 Frames 6.9 NCU global frames Job planning 6-31 Programming Manual, 03/2006 Edition, 6FC5398-2BP10-1BA0...
  • Page 238 Frames 6.9 NCU global frames 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. Job planning 6-32 Programming Manual, 03/2006 Edition, 6FC5398-2BP10-1BA0...
  • Page 239: Transformations

    Transformations General programming of transformation types General function You can choose to program transformation types with suitable parameters in order to adapt the control to various machine kinematics. These parameters can be used to declare both the orientation of the tool in space and the orientation movements of the rotary axes accordingly for the selected transformation.
  • Page 240 Transformations 7.1 General programming of transformation types Orientation transformation Three, four and five axis transformations (TRAORI) For the optimum machining of surfaces configured in space in the working area of the machine, machine tools require other axes in addition to the three linear axes X, Y and Z. The additional axes describe the orientation in space and are called orientation axes in subsequent sections.
  • Page 241 Transformations 7.1 General programming of transformation types Kinematic transformations TRANSMIT and TRACYL For milling on turning machines, either 1. Face machining in the turning clamp with TRANSMIT or 2. Machining of grooves with any path on cylindrical bodies with TRACYL can be programmed for the transformation declared.
  • Page 242: Orientation Movements For Transformations

    Transformations 7.1 General programming of transformation types 7.1.1 Orientation movements for transformations Travel movements and orientation movements The traversing movements of the programmed orientations are determined primarily by the type of machine. For three-, four-, and five-axis type transformations with TRAORI, the rotary axes or pivoting linear axes describe the orientation movements of the tool.
  • Page 243 Transformations 7.1 General programming of transformation types Machine type Programming of orientation Three-axis transformation Programming of tool orientation only in the plane, which is machine types 1 and 2 vertical to the rotary axis. There are two translatory axes (linear axes) and one axis of rotation (rotary axis).
  • Page 244 Transformations 7.1 General programming of transformation types TRACYL Activation of the cylinder surface transformation Machining of grooves with A rotary axis any path on cylindrical An infeed axis vertical to the axis of rotation bodies A longitudinal axis parallel to the axis of rotation TRAANG Activation of the inclined axis transformation Machining with an oblique...
  • Page 245: Overview Of Orientation Transformation Traori

    Transformations 7.1 General programming of transformation types 7.1.2 Overview of orientation transformation TRAORI Programming types available in conjunction with TRAORI Machine type Programming with active transformation TRAORI Machine types 1, 2, or 3 The axis sequence of the orientation axes and the orientation two-axis swivel head or direction of the tool can either be configured on a two-axis rotary table or a...
  • Page 246 Transformations 7.1 General programming of transformation types Machine type Programming with active transformation TRAORI - ORICONTO on the peripheral surface of a taper, tangential transition Changes in orientation in relation to a path with - ORICURVE specification of the movement of two contact points using PO[XH]=(xe, x2, x3, x4, x5) orientation polynomials up to the fifth degree...
  • Page 247: Three, Four And Five Axis Transformation (Traori)

    Transformations 7.2 Three, four and five axis transformation (TRAORI) Three, four and five axis transformation (TRAORI) 7.2.1 General relationships of universal tool head Function To obtain optimum cutting conditions when 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.
  • Page 248 Transformations 7.2 Three, four and five axis transformation (TRAORI) In the examples shown here, you can see the arrangements as illustrated by the CA machine kinematics with the Cardanic tool head! Machine manufacturer The axis sequence of the orientation axes and the orientation direction of the tool can be set up using the machine data as appropriate for the machine kinematics.
  • Page 249 Transformations 7.2 Three, four and five axis transformation (TRAORI) The following possible relations are generally valid: A' lies below the angle φ to the X axis B' lies below the angle φ to the Y axis C' lies below the angle φ to the Z axis Angle φ...
  • Page 250: Three, Four And Five Axis Transformation (Traori)

    Transformations 7.2 Three, four and five axis transformation (TRAORI) 7.2.2 Three, four and five axis transformation (TRAORI) Function 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. Orientation of the tool is possible only in the plane perpendicular to the rotary axis.
  • Page 251: Variants Of Orientation Programming And Initial Setting (Otireset)

    Transformations 7.2 Three, four and five axis transformation (TRAORI) Orientation transformation always points from the tool tip to the tool adapter. Example of generic transformations The basic orientation of the tool is indicated as follows: TRAORI(1,0,0,1) Z direction TRAORI(1,0,1,0) Y direction TRAORI(1,0,1,1) Y/Z direction (corresponds to the position -45°) Offset for orientation axes When orientation transformation is activated an additional offset can be programmed directly...
  • Page 252 Transformations 7.2 Three, four and five axis transformation (TRAORI) Note Variants of orientation programming for three- to five-axis transformation In respect of three- to five-axis transformation, the following variants: 1. A, B, C direct entry of machine axis positions 2. A2, B2, C2 angular programming of virtual axes using Euler angle or RPY angle 3.
  • Page 253: Programming Of The Tool Orientation (A

    Transformations 7.2 Three, four and five axis transformation (TRAORI) Programming LEAD, TILT and THETA rotations In respect of three- to five-axis transformation, tool orientation rotations are programmed with the LEAD and TILT angles. In respect of a transformation with third rotary axis, additional programming settings for C2 (rotations of the orientation vector) are permitted for both orientation with vector components and with entry of the LEAD, TILT angles.
  • Page 254 Transformations 7.2 Three, four and five axis transformation (TRAORI) Note Machine manufacturer Machine data can be used to switch between Euler or RPY angles. If the machine data is set accordingly, changeovers are possible both depending on the active G code of group 50 and irrespective of this.
  • Page 255 Transformations 7.2 Three, four and five axis transformation (TRAORI) Parameters G..Details of the rotary axis motion X Y Z Details of the linear axes A B C Details of the machine axis positions of the rotary axes A2 B2 C2 Angle programming (Euler or RPY angle) of virtual axes or orientation axes A3 B3 C3...
  • Page 256 Transformations 7.2 Three, four and five axis transformation (TRAORI) ORIVIRT1 via virtual orientation axes (definition 1) ORIVIRT2 via virtual orientation axes (definition 2) ORIAXPOS via virtual orientation axes with round axis positions ORIPY2 via RPY angle (rotation sequence XYZ) Machine manufacturer The machine manufacturer can use machine data to define various variants.
  • Page 257 Transformations 7.2 Three, four and five axis transformation (TRAORI) Programming in RPY angles ORIRPY The values programmed with A2, B2, C2 for orientation programming are interpreted as an RPY angle (in degrees). Note In contrast to Euler angle programming, all three values here have an effect on the orientation vector.
  • Page 258 Transformations 7.2 Three, four and five axis transformation (TRAORI) Programming of directional vector The components of the direction vector are programmed with A3, B3, C3. The vector points towards the tool adapter; the length of the vector is of no significance. Vector components that have not been programmed are set equal to zero.
  • Page 259 Transformations 7.2 Three, four and five axis transformation (TRAORI) Programming the tool orientation with LEAD= and TILT= The resultant tool orientation is determined from: • Path tangent • Surface normal vector at the start of the block A4, B4, C4 and at the end of the block A5, B6, C5 •...
  • Page 260: Face Milling (3D-Milling A4, B4, C4, A5, B5, C5)

    Transformations 7.2 Three, four and five axis transformation (TRAORI) 7.2.5 Face milling (3D-milling A4, B4, C4, A5, B5, C5) Function 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.
  • Page 261: Orientation Axis Reference (Oriwks, Orimks)

    Transformations 7.2 Three, four and five axis transformation (TRAORI) Regardless of the active G17 to G19 level, in the initial setting, surface normal vectors point in the Z direction. The length of a vector is meaningless. Vector components that have not been programmed are set to zero. With active ORIWKS (see "Reference of the orientation axes (ORIWKS, ORIMKS)") , the surface normal vectors relate to the active frame and rotate when the frame rotates.
  • Page 262 Transformations 7.2 Three, four and five axis transformation (TRAORI) Parameters ORIMKS Rotation in the machine coordinate system ORIWKS Rotation in the workpiece coordinate system Note ORIWKS is the basic setting. In the case of a 5-axis program, if it is not immediately obvious on which machine it is to run, always choose ORIWKS.
  • Page 263: Programming The Orientation Axes (Oriaxes, Orivect, Orieuler, Orirpy)

    Transformations 7.2 Three, four and five axis transformation (TRAORI) Singular positions Note ORIWKS 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.) Machine manufacturer To avoid overloading the machine axes, the velocity control vastly reduces the tool path...
  • Page 264 Transformations 7.2 Three, four and five axis transformation (TRAORI) Programming Axis identifiers A2, B2 and C2 are used to program the orientation axes. N... ORIAXES or ORIVECT Linear or large-radius circular interpolation N... G1 X Y Z A B C orientation interpolation of the plane N...
  • Page 265: Orientation Programming Along The Peripheral Surface Of A Taper (Oriplane, Oriconxx)

    Transformations 7.2 Three, four and five axis transformation (TRAORI) Description Machine manufacturer MD $MC_ORI_DEF_WITH_G_CODE specifies how the programmed angles A2, B2, C2 are defined: The definition is made using MD $MC_ORIENTATION_IS_EULER (standard) or the definition is made using G group 50 (ORIEULER, ORIRPY, ORIVIRT1, ORIVIRT2). MD $MC_ORI_IPO_WITH_G_CODE specifies which interpolation mode is active: ORIWKS/ORIMKS or ORIAXES/ORIVECT.
  • Page 266 Transformations 7.2 Three, four and five axis transformation (TRAORI) Programming The end orientation is either defined by specifying the angle programming in the Euler or RPY angle using A2, B2, C2 or by programming the rotary axis positions using A, B, C. Further programming details are needed for orientation axes along the peripheral surface of a taper: •...
  • Page 267 Transformations 7.2 Three, four and five axis transformation (TRAORI) Extended orientation interpolation on the peripheral surface of a taper N... ORICONCW or ORICONCCW Interpolation on the outside of a taper with N... A6= B6= C6= A3= B3= C3= direction vector in the N...
  • Page 268 Transformations 7.2 Three, four and five axis transformation (TRAORI) Example of different changes to orientation … N10 G1 X0 Y0 F5000 N20 TRAORI(1) ;Orientation transformation ON N30 ORIVECT ;Interpolate tool orientation as a vector … ;Tool orientation in the plane N40 ORIPLANE ;Select large-radius circular interpolation N50 A3=0 B3=0 C3=1...
  • Page 269: Specification Of Orientation For Two Contact Points (Oricurve, Po[Xh]=, Po[Yh]=, Po[Zh]=)

    Transformations 7.2 Three, four and five axis transformation (TRAORI) Orientation programming Interpolation of the orientation vector on the peripheral surface of a taper ORICONxx Four different types of interpolation from G-code group 51 can be selected for interpolating orientations on the peripheral surface of a taper: 1.
  • Page 270 Transformations 7.2 Three, four and five axis transformation (TRAORI) Extended orientation interpolation with additional curve in space and polynomials for coordinates Specification of the motion of the second N... ORICURVE N... PO[XH]=(xe, x2, x3, x4, x5) contact point of the tool and additional N...
  • Page 271: Orientation Polynomials (Po[Angle], Po[Coordinate])

    Transformations 7.3 Orientation polynomials (PO[angle], PO[coordinate]) Orientation polynomials (PO[angle], PO[coordinate]) Function Irrespective of the polynomial interpolation from G-code group 1 that is currently active, two different types of orientation polynomial can be programmed up to the 5th degree for a 3-axis to 5-axis transformation.
  • Page 272 Transformations 7.3 Orientation polynomials (PO[angle], PO[coordinate]) Parameters PO[PHI] Angle in the plane between start and end orientation PO[PSI] Angle describing the tilt of the orientation from the plane between start and end orientation PO[THT] Angle of rotation created by rotating the rotation vector of one of the G codes of group 54 that is programmed using THETA Lead angle LEAD...
  • Page 273: Rotations Of The Tool Orientation (Orirota, Orirotr/Tt, Orirotc, Theta)

    Transformations 7.4 Rotations of the tool orientation (ORIROTA, ORIROTR/TT, ORIROTC, THETA) Rotations of the tool orientation (ORIROTA, ORIROTR/TT, ORIROTC, THETA) Function If you also want to be able to change the orientation of the tools on machine types with movable tools, program each block with end orientation. Depending on the machine kinematics you can either program the orientation direction of the orientation axes or the direction of rotation of orientation vector THETA.
  • Page 274 Transformations 7.4 Rotations of the tool orientation (ORIROTA, ORIROTR/TT, ORIROTC, THETA) Parameters ORIROTA Angle of rotation to an absolute direction of rotation. ORIROTR Angle of rotation relative to the plane between the start and end orientation. ORIROTT Angle of rotation as a tangential rotation vector to the change of orientation ORIROTC Angle of rotation as a tangential rotation vector to the path...
  • Page 275: Orientations Relative To The Path

    Transformations 7.5 Orientations relative to the path ORIROTT The angle of rotation THETA is interpreted relative to the change in orientation. For THETA=0 the rotation vector is interpolated tangentially to the change in orientation and only differs from ORIROTR if at least one polynomial has been programmed for "tilt angle PSI" for the orientation.
  • Page 276 Transformations 7.5 Orientations relative to the path ORIPATH/ORIPATHS can be used to program various references to the path tangent via the three angles • LEAD= Specification of lead angle relative to the path and surface • TILT= Specification of tilt angle relative to the path and surface •...
  • Page 277: Rotation Of The Tool Orientation Relative To The Path (Oripath, Oripaths, Angle Of Rotation)

    Transformations 7.5 Orientations relative to the path 7.5.2 Rotation of the tool orientation relative to the path (ORIPATH, ORIPATHS, angle of rotation) Function With a 6-axis transformation, the tool can be rotated about itself with a third rotary axis to orientate the tool as desired in space.
  • Page 278 Transformations 7.5 Orientations relative to the path Parameters Tool orientation relative to the path ORIPATH Tool orientation relative to the path ORIPATHS Tool orientation relative to the path; blip in orientation characteristic is smoothed LEAD Angle relative to the surface normal vector in the plane that is defined by the path tangent and the surface normal vector TILT...
  • Page 279: Interpolation Of The Tool Rotation Relative To The Path (Orirotc, Theta)

    Transformations 7.5 Orientations relative to the path 7.5.3 Interpolation of the tool rotation relative to the path (ORIROTC, THETA) Function Interpolation with rotation vectors The rotation vector of the tool rotation, programmed with ORIROTC, relative to the path tangent can also be interpolated with an offset that can be programmed using the THETA angle of rotation.
  • Page 280 Transformations 7.5 Orientations relative to the path Orientation direction of the tool for 3-axis to 5-axis transformation The orientation direction of the tool can be programmed via Euler angles, RPY angles or direction vectors as with 3-axis to 5-axis transformations. Orientation changes of the tool in space can also be achieved by programming the large-radius circular interpolation ORIVECT, linear interpolation of the orientation axes ORIAXES, all interpolations on the peripheral surface of a taper ORICONxx, and interpolation in addition to the curve in space...
  • Page 281: Smoothing Of Orientation Characteristic (Oripaths A8=, B8=, C8=)

    Transformations 7.5 Orientations relative to the path 7.5.4 Smoothing of orientation characteristic (ORIPATHS A8=, B8=, C8=) Function Changes of orientation that take place with constant acceleration on the contour can cause unwanted interruptions to the path motions, particularly at the corner of a contour. The resulting blip in the orientation characteristic can be smoothed by inserting a separate intermediate block.
  • Page 282: Compression Of The Orientation Compon (A

    Transformations 7.6 Compression of the orientation COMPON (A..., B..., C..., THETA) Compression of the orientation COMPON (A..., B..., C..., THETA) Function NC programs in which the orientation is programmed by means of direction vectors can be compressed if kept within specified limits. The compressor can only be used for orientations in conjunction with an orientation transformation.
  • Page 283 Transformations 7.6 Compression of the orientation COMPON (A..., B..., C..., THETA) On a machine with 6-axis transformation , the rotation of the tool can be programmed in addition to the tool orientation. N... X... Y... Z... A3=... B3=... C3=... THETA=... F=... or N...
  • Page 284 Transformations 7.6 Compression of the orientation COMPON (A..., B..., C..., THETA) Example: "Compressor for orientations" In the example program below, a circle approached by a polygon definition is compressed. The tool orientation moves on the outside of the taper at the same time. Although the programmed orientation changes are executed one after the other, but in an unsteady way, the compressor generates a smooth motion of the orientation.
  • Page 285 Transformations 7.6 Compression of the orientation COMPON (A..., B..., C..., THETA) Description Accuracy You can only compress NC blocks if you allow the contour to deviate from the programmed contour. You can set the maximum deviation as a compressor tolerance in the setting data. The higher the tolerances, the more blocks can be compressed.
  • Page 286: Online Tool Length Compensation (Toffon, Toffof)

    Transformations 7.7 Online tool length compensation (TOFFON, TOFFOF) Online tool length compensation (TOFFON, TOFFOF) 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.
  • Page 287 Transformations 7.7 Online tool length compensation (TOFFON, TOFFOF) Example of tool length offset selection MD 21190: TOFF_MODE =1 ;Absolute values are approached MD 21194: TOFF_VELO[0] =1000 MD 21196: TOFF_VELO[1] =1000 MD 21194: TOFF_VELO[2] =1000 MD 21196: TOFF_ACCEL[0] =1 MD 21196: TOFF_ACCEL[1] =1 MD 21196: TOFF_ACCEL[2] =1 N5 DEF REAL XOFFSET N10 TRAORI(1)
  • Page 288 Transformations 7.7 Online tool length compensation (TOFFON, TOFFOF) Description 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.
  • Page 289: Kinematic Transformation

    Transformations 7.8 Kinematic transformation Kinematic transformation 7.8.1 Milling on turned parts (TRANSMIT) Function The TRANSMIT function enables the following: • Face machining on turned parts in the turning clamp (drill-holes, contours). • A cartesian coordinate system can be used to program these machining operations. •...
  • Page 290 Transformations 7.8 Kinematic transformation TRANSMIT transformation types The TRANSMIT machining operations have two parameterizable forms: • TRANSMIT in the standard case with (TRAFO_TYPE_n = 256) • TRANSMIT with additional Y linear axis (TRAFO_TYPE_n = 257) The extended transformation type 257 can be used, for example, to compensate clamping compensations of a tool with real Y axis.
  • Page 291 Transformations 7.8 Kinematic transformation Example N10 T1 D1 G54 G17 G90 F5000 G94 ;Tool selection N20 G0 X20 Z10 SPOS=45 ;Approach start position N30 TRANSMIT ;Activate TRANSMIT function N40 ROT RPL=–45 ;Set frame N50 ATRANS X–2 Y10 N60 G1 X10 Y–10 G41 OFFN=1 ;Square roughing;...
  • Page 292 Transformations 7.8 Kinematic transformation Description Pole There are two ways of passing through the pole: • Traversal along linear axis • 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. TRANSMIT with additional Y linear axis (transformation type 257): This transformation variant of the polar transformation makes use of the redundancy for a machine with another linear axis in order to perform an improved tool compensation.
  • Page 293: Cylinder Surface Transformation (Tracyl)

    Transformations 7.8 Kinematic transformation 7.8.2 Cylinder surface transformation (TRACYL) Function The TRACYL cylinder surface transformation function can be used to: Machine • longitudinal grooves on cylindrical bodies, • Transverse grooves on cylindrical objects, • grooves with any path on cylindrical bodies. The path of the grooves is programmed with reference to the unwrapped, level surface of the cylinder.
  • Page 294 Transformations 7.8 Kinematic transformation 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. Axis utilization The following axes cannot be used as a positioning axis or a reciprocating axis: •...
  • Page 295 Transformations 7.8 Kinematic transformation Example of the definition of a tool The following example is suitable for testing the parameterization of the TRACYL cylinder transformation: Tool parameters Meaning Remarks Number (DP) $TC_DP1[1,1]=120 Tool type Milling tool $TC_DP2[1,1]=0 Tool point direction only for turning tools Geometry Length offset...
  • Page 296 Transformations 7.8 Kinematic transformation Example of making a hook-shaped groove: Activate cylinder surface transformation N10 T1 D1 G54 G90 F5000 G94 ;Tool selection, clamping compensation N20 SPOS=0 ;Approach start position N30 G0 X25 Y0 Z105 CC=200 N40 TRACYL (40) ;Enable cylinder peripheral curve ;transformation N50 G19 ;Plane selection...
  • Page 297 Transformations 7.8 Kinematic transformation Description Without groove wall offset (transformation type 512): The control transforms the programmed traversing movements of the cylinder coordinate system to the traversing movements of the real machine axes: • Rotary axis • Infeed axis perpendicular to rotary axis •...
  • Page 298 Transformations 7.8 Kinematic transformation The velocity control makes allowance for the limits defined for the rotations. Groove traversing-section In the case of axis configuration 1, longitudinal grooves along the rotary axis are subject to parallel limits only if the groove width corresponds exactly to the tool radius. Grooves in parallel to the periphery (transverse grooves) are not parallel at the beginning and end.
  • Page 299 Transformations 7.8 Kinematic transformation With additional linear axis and groove wall offset (transformation type 514): On a machine with a second linear axis, this transformation variant makes use of redundancy in order to perform improved tool compensation. The following conditions then apply to the second linear axis: •...
  • Page 300 Transformations 7.8 Kinematic transformation A parts program for milling a groove generally comprises the following steps: 1. Selecting a 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.
  • Page 301: Inclined Axis (Traang)

    Transformations 7.8 Kinematic transformation 7.8.3 Inclined axis (TRAANG) Function The inclined axis function is intended for grinding technology and facilitates the following performance: • Machining with an oblique infeed axis • A Cartesian coordinate system can be used for programming purposes. •...
  • Page 302 Transformations 7.8 Kinematic transformation Parameters TRAANG( ) or Activate transformation with the TRAANG( ,n) parameterization of the previous selection. TRAANG(α) Activates the first specified inclined axis transformation TRAANG(α,n) Activates the nth agreed inclined axis transformation. The maximum value of n is 2.
  • Page 303 Transformations 7.8 Kinematic transformation N10 G0 G90 Z0 MU=10 G54 F5000 -> ;Tool selection, ;clamping compensation, -> G18 G64 T1 D1 ;Plane selection N20 TRAANG(45) ;Enable inclined axis transformation N30 G0 Z10 X5 ;Approach start position N40 WAITP(Z) ;Enable axis for reciprocation N50 OSP[Z]=10 OSP2[Z]=5 OST1[Z]=–2 ->...
  • Page 304: Inclined Axis Programming (G05, G07)

    Transformations 7.8 Kinematic transformation Machine manufacturer 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"...
  • Page 305 Transformations 7.8 Kinematic transformation Programming 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.
  • Page 306: Cartesian Ptp Travel

    Transformations 7.9 Cartesian PTP travel Cartesian PTP travel 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.
  • Page 307 Transformations 7.9 Cartesian PTP travel Parameters The PTP and CP commands act in a modal manner. CP is the default setting. If modal applies when programming the STAT value, TU programming is = <...> non-modal. Another difference is that programming a STAT value only has an effect during vector interpolation, while programming TU is also evaluated during active round axis interpolation.
  • Page 308 Transformations 7.9 Cartesian PTP travel Example PTP transversal at generic 5-axis transformation Assumption: This is based on a right-angled CA kinematics. TRAORI ;Transformation CA kinematics ON ;Activate PTP traversal N10 A3 = 0 B3 = 0 C3 = 1 ;Round axis positions C = 0 A = 0 N20 A3 = 1 B3 = 0 C3 = 1 ;Round axis positions C = 90 A = 45 N30 A3 = 1 B3 = 0 C3 = 0...
  • Page 309 Transformations 7.9 Cartesian PTP travel Example: The target position shown in the diagram can be approached in the negative or positive direction. The direction is programmed under address A1. A1=225°, TU=Bit 0, → positive direction A1=−135°, TU=Bit 1, → negative direction Example of evaluation of TU for generic 5/6-axis transformation and target positions Variable TU contains a bit, which indicates the traversing direction for every axis involved in the transformation.
  • Page 310: Ptp For Transmit

    Transformations 7.9 Cartesian PTP travel Overlaid movements DRF offset or external zero offset are only possible to a limited extent in Cartesian PTP travel. When changing from PTP to CP movement, there must be no overrides in the BCS. Smoothing between CP and PTP motion A programmable transition rounding between the blocks is possible with G641.
  • Page 311 Transformations 7.9 Cartesian PTP travel Parameters TRANSMIT Activates the first declared TRANSMIT function (see section "Milling on turned parts: TRANSMIT") Point to Point G0 (point-to-point motion automatic at each G0 block and PTPG0 then set CP again) Because STAT and TU are modal, the most recently programmed value always acts.
  • Page 312 Transformations 7.9 Cartesian PTP travel Example of the retraction from the pole with PTP and TRANSMIT N070 X20 Y2 N060 X0 Y0 N050 X10 Y0 N001 G0 X90 Z0 F10000 T1 D1 G90 ;Initial setting N002 SPOS=0 N003 TRANSMIT ;TRANSMIT transformation N010 PTPG0 ;Automatic for each G0 block ;PTP and then CP again...
  • Page 313 Transformations 7.9 Cartesian PTP travel Caution Restrictions With regard to tool motions and collision, a number of restrictions and certain function exclusions apply, such as: no tool radius compensation (TRC) may be active with PTP. With PTPG0 , for active tool radius compensation (TRC), is traversed by CP. PTP does not permit smooth approach and retraction (SAR).
  • Page 314: Constraints When Selecting A Transformation

    Transformations 7.10 Constraints when selecting a transformation 7.10 Constraints when selecting a transformation 7.10 Function Transformations can be selected via a parts program or MDA. Please note: • No intermediate movement block is inserted (chamfer/radii). • Spline block sequences must be excluded; if not, a message is displayed. •...
  • Page 315: Deselect Transformation (Trafoof)

    Transformations 7.11 Deselect transformation (TRAFOOF) 7.11 Deselect transformation (TRAFOOF) 7.11 Function The TRAFOOF command disables all the active transformations and frames. Note Frames required after this must be activated by renewed programming. Please note: The same restrictions as for selection are applicable to deselecting the transformation (see section "Constraints when selecting a transformation").
  • Page 316: Chained Transformations (Tracon, Trafoof)

    Transformations 7.12 Chained transformations (TRACON, TRAFOOF) 7.12 Chained transformations (TRACON, TRAFOOF) 7.12 Function Two transformations can be chained so that the motion components for the axes from the first transformation are used as input data for the chained second transformation. The motion parts from the second transformation act on the machine axes.
  • Page 317 Transformations 7.12 Chained transformations (TRACON, TRAFOOF) Parameters TRACON This activates the chained transformation. If another transformation was previously activated, it is implicitly disabled by means of TRACON(). TRAFOOF The most recently activated (chained) transformation will be disabled. Number of the chained transformation: 0 or 1 for first/single chained transformation.
  • Page 318: Replaceable Geometry Axes (Geoax)

    Transformations 7.13 Replaceable geometry axes (GEOAX) 7.13 Replaceable geometry axes (GEOAX) 7.13 Function The "Replaceable geometry axes" function allows the geometry axis grouping configured via machine data to be modified from the parts program. Here any geometry axis can be replaced by a channel axis defined as a synchronous special axis.
  • Page 319 Transformations 7.13 Replaceable geometry axes (GEOAX) Example: two geometry axes changing over alternately A tool carriage can be traversed over channel axes 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.
  • Page 320 Transformations 7.13 Replaceable geometry axes (GEOAX) Example: geometry axis configurations for 6 channel axes 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)
  • Page 321 Transformations 7.13 Replaceable geometry axes (GEOAX) Prerequisites and restrictions 1. It is not possible to switch the geometry axes over during: – an active transformation, – an active spline interpolation, – active tool radius compensation (see PG Fundamentals, section "Tool compensation") –...
  • Page 322 Transformations 7.13 Replaceable geometry axes (GEOAX) 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...
  • Page 323: Tool Offsets

    Tool offsets Offset memory Function 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. Flat D number structure The "Flat D No.
  • Page 324 Tool offsets 8.1 Offset memory Tool parameter Meaning of system variables Comment number (DP) $TC_DP1 Tool type For overview see list $TC_DP2 Tool point direction Only for turning tools Geometry Length compensation $TC_DP3 Length 1 Allocation to $TC_DP4 Length 2 Type and level $TC_DP5 Length 3...
  • Page 325 Tool offsets 8.1 Offset memory Tool parameters $TC-DP1 to $TC-DP23 with contour tools Note The tool parameters not listed in the table, such as $TC_DP7, are not evaluated, i.e. their content is meaningless. Tool parameter number Meaning Cutting Dn Comment (DP) $TC_DP1 Tool type...
  • Page 326: Language Commands For Tool Management

    Tool offsets 8.2 Language commands for tool management Language commands for tool management Function The tool management can be used to change and update the tool data. You can use predefined functions to perform the following tasks in the NC program: •...
  • Page 327 Tool offsets 8.2 Language commands for tool management Example of the 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.
  • Page 328 Tool offsets 8.2 Language commands for tool management Example of the 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.
  • Page 329: Online Tool Compensation (Putftocf, Putftoc, Ftocon, Ftocof)

    Tool offsets 8.3 Online tool compensation (PUTFTOCF, PUTFTOC, FTOCON, FTOCOF) Online tool compensation (PUTFTOCF, PUTFTOC, FTOCON, FTOCOF) Function The function makes immediate allowance for tool offsets resulting from machining by means of online tool length offset (e.g., CD dressing: The grinding wheel is dressed parallel to machining).
  • Page 330 Tool offsets 8.3 Online tool compensation (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 Parameters PUTFTOCF Write online tool offset continuously FCTDEF Define parameters for PUTFTOCF function PUTFTOC Write online tool offset discretely FTOCON Activation of online tool offset FTOCOF...
  • Page 331 Tool offsets 8.3 Online tool compensation (PUTFTOCF, PUTFTOC, FTOCON, FTOCOF) Example On a surface grinding machine with the following 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 active with write online offset continuously.
  • Page 332 Tool offsets 8.3 Online tool compensation (PUTFTOCF, PUTFTOC, FTOCON, FTOCOF) Dressing program in channel 2: %_N_DRESS_MPF … N40 FCTDEF (1, –1000, 1000, –$AA_IW[V], ;Define function: Straight N50 PUTFTOCF (1, $AA_IW[V], 3, 1) ;Write online offset continuously: ;Length 3 of the current grinding wheel ;is derived from the movement of the ;V axis and corrected in channel 1.
  • Page 333 Tool offsets 8.3 Online tool compensation (PUTFTOCF, PUTFTOC, FTOCON, FTOCOF) Description 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 •...
  • Page 334 Tool offsets 8.3 Online tool compensation (PUTFTOCF, PUTFTOC, FTOCON, FTOCOF) Set parameters for FCTDEF function The parameters are defined in a separate block: FCTDEF(Polynomial_no., LLimit, ULimit,a0,a1,a2,a3) The polynomial can be a 1st, 2nd or 3rd order polynomial. The limit identifies the limit values (LLimit = lower limit, ULimit = upper limit).
  • Page 335: Keep Tool Radius Compensation Constant (Cutconon)

    Tool offsets 8.4 Keep tool radius compensation constant (CUTCONON) Keep tool radius compensation constant (CUTCONON) Function The "Keep tool radius compensation constant" function is used to suppress the tool radius compensation for a number of blocks, whereby a difference between the programmed and the actual tool center path traveled set up by the tool radius compensation in the previous blocks is retained as the offset.
  • Page 336 Tool offsets 8.4 Keep tool radius compensation constant (CUTCONON) Description Tool radius compensation is normally active before the compensation suppression and is still active when the compensation suppression is deactivated again. In the last traversing block before CUTCONON, the offset point in the block end point is approached. All following blocks in which offset suppression is active are traversed without offset.
  • Page 337: Activate 3D Tool Offsets (Cut3Dc

    Tool offsets 8.5 Activate 3D tool offsets (CUT3DC..., CUT3DF...) Activate 3D tool offsets (CUT3DC..., CUT3DF...) 8.5.1 Activate 3D tool offsets (CUT3DC, CUT3DF, CUT3DFS, CUT3DFF) Function Tool 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.
  • Page 338 Tool offsets 8.5 Activate 3D tool offsets (CUT3DC..., CUT3DF...) Programming CUT3DC CUT3DFS CUT3DFF CUT3DF The commands are modal and are in the same group as CUT2D and CUT2DF. The 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.
  • Page 339: Tool Radius Compensation: Peripheral Milling, Face Milling

    Tool offsets 8.5 Activate 3D tool offsets (CUT3DC..., CUT3DF...) 8.5.2 3D tool radius compensation: peripheral milling, face milling Peripheral milling The type of milling used here is implemented by defining a path (guide line) and the corresponding orientation. In this type of machining, the shape of the tool on the path is not relevant.
  • Page 340 Tool offsets 8.5 Activate 3D tool offsets (CUT3DC..., CUT3DF...) Face 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.
  • Page 341: Tool Types/Tool Change With Changed Dimensions (G40, G41, G42)

    Tool offsets 8.5 Activate 3D tool offsets (CUT3DC..., CUT3DF...) 8.5.3 Tool types/tool change with changed dimensions (G40, G41, G42) Function Mill shapes, tool data The table below gives an overview of the tool shapes, which may be used in face milling operations, as well as tool data limit values.
  • Page 342 Tool offsets 8.5 Activate 3D tool offsets (CUT3DC..., CUT3DF...) Tool data Tool parameters X = is not evaluated Tool dimensions Geometry Wear $TC_DP6 $TC_DP15 R = shank radius (tool radius) $TC_DP7 $TC_DP16 r = corner radius $TC_DP11 $TC_DP20 a = angle between tool longitudinal axes and upper end of torus surface Tool length offset The tool tip is the reference point for length offset...
  • Page 343: Compensation On The Path, Path Curvature, And Insertion Depth Isd And Tool Status (Cut3Dc)

    Tool offsets 8.5 Activate 3D tool offsets (CUT3DC..., CUT3DF...) 8.5.4 Compensation on the path, path curvature, and insertion depth ISD and tool status (CUT3DC) Function Compensation on path With respect to face milling, it is advisable to examine what happens when the contact point "jumps"...
  • Page 344 Tool offsets 8.5 Activate 3D tool offsets (CUT3DC..., CUT3DF...) Programming Insertion depth (ISD) ISD is only evaluated when 3D tool radius compensation is active. 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.
  • Page 345: Inside Corners/Outside Corners And Intersection Procedure (G450/G451)

    Tool offsets 8.5 Activate 3D tool offsets (CUT3DC..., CUT3DF...) Description Pocket milling with inclined side walls for circumferential milling with CUT3DC In this 3D tool radius compensation, a deviation of the mill radius is compensated by infeed toward the normals of the surface to be machined. The plane in which the face end of the mill is located remains unchanged if the insertion depth ISD has remained the same.
  • Page 346 Tool offsets 8.5 Activate 3D tool offsets (CUT3DC..., CUT3DF...) Programming G450 G451 Parameters G450 Transition circle (tool travels round workpiece corners on a circular path). G451 Intersection of equidistant paths (tool backs off from the workpiece corner). Description Intersection procedure for 3D compensation With 3D circumferential milling, G code G450/G451 is now evaluated at the outside corners;...
  • Page 347: Circumferential Milling With Limitation Surfaces General Use

    Tool offsets 8.5 Activate 3D tool offsets (CUT3DC..., CUT3DF...) 8.5.6 3D circumferential milling with limitation surfaces general use Function Adaptations of 3D circumferential milling to the conditions for CAD programs NC programs generated by CAD systems usually approximate the center path of a standard tool with a large number of short linear blocks.
  • Page 348: Consideration Of A Limitation Surface (Cut3Dcc, Cut3Dccd)

    Tool offsets 8.5 Activate 3D tool offsets (CUT3DC..., CUT3DF...) 8.5.7 Consideration of a limitation surface (CUT3DCC, CUT3DCCD) Function 3D circumferential milling with real tools In 3D circumferential milling with a continuous or constant change in tool orientation, the tool center point path is frequently programmed for a defined standard tool. Because in practice suitable standard tools are often not available, a tool that does not deviate too much from a standard tool can be used.
  • Page 349 Tool offsets 8.5 Activate 3D tool offsets (CUT3DC..., CUT3DF...) Example Tool dimensions of a toroidal miller with reduced radius as compared with the standard tool. Tool type R = shank radius r = corner radius Standard tool with corner rounding R = $TC_TP6 r = $TC_TP7 Real tool with corner rounding:...
  • Page 350 Tool offsets 8.5 Activate 3D tool offsets (CUT3DC..., CUT3DF...) Description Tool center point path with infeed up to the limitation surface CUT3DCCD If a tool with a smaller radius than the suitable standard tool is used machining is continued with a milling cutter that is infed in the longitudinal direction until it reaches the bottom of the pocket.
  • Page 351 Tool offsets 8.5 Activate 3D tool offsets (CUT3DC..., CUT3DF...) 3D radius compensation with CUT3DCC, contour on the machining surface If CUT3DCC is active with a toroidal miller the programmed path refers to a fictitious cylindrical mill with the same diameter. The resulting path reference point is shown in the following figure for a toroidal miller.
  • Page 352: Tool Orientation (Oric, Orid, Osof, Osc, Oss, Osse, Osd, Ost)

    Tool offsets 8.6 Tool orientation (ORIC, ORID, OSOF, OSC, OSS, OSSE, OSD, OST) Tool orientation (ORIC, ORID, OSOF, OSC, OSS, OSSE, OSD, OST) Function The term tool orientation describes the geometric alignment of the tool in space. The tool orientation on a 5-axis machine tool can be set by means of program commands. Orientation rounding movements activated with OSD and OST are formed differently depending on the type of interpolation for tool orientation.
  • Page 353 Tool offsets 8.6 Tool orientation (ORIC, ORID, OSOF, OSC, OSS, OSSE, OSD, OST) Programming A change in tool orientation can be programmed by: • Direct programming of round axes A, B, C (round axis interpolation) • Euler or RPY angle •...
  • Page 354 Tool offsets 8.6 Tool orientation (ORIC, ORID, OSOF, OSC, OSS, OSSE, OSD, OST) ORIC example If two or more blocks with orientation changes are programmed between the traversing blocks N10 and N20 (e.g., A2= B2= C2=) and ORIC is active, the inserted circle block is divided according to the size of the angle changes on these intermediate blocks.
  • Page 355 Tool offsets 8.6 Tool orientation (ORIC, ORID, OSOF, OSC, OSS, OSSE, OSD, OST) ORID example If ORID is active, all the blocks between the two traversing blocks are executed at the end of the first traversing block. The circle block with constant orientation is executed immediately before the second traversing block.
  • Page 356 Tool offsets 8.6 Tool orientation (ORIC, ORID, OSOF, OSC, OSS, OSSE, OSD, OST) Example for the change in orientation at an inner corner ORIC N10 X …Y… Z… G1 F500 N12 X …Y… Z… A2=… B2=…, C2=… N15 X Y Z A2 B2 C2 Job planning 8-34 Programming Manual, 03/2006 Edition, 6FC5398-2BP10-1BA0...
  • Page 357 Tool offsets 8.6 Tool orientation (ORIC, ORID, OSOF, OSC, OSS, OSSE, OSD, OST) Behavior at outer corners A circle block with the radius of the cutter is always inserted at an outside corner. The program commands ORIC or ORID can be used to define whether changes in orientation programmed between blocks N1 and N2 are executed before the beginning of the inserted circle block or at the same time.
  • Page 358: Free Assignment Of D Numbers, Cutting Edge Numbers

    Tool offsets 8.7 Free assignment of D numbers, cutting edge numbers Note Unlike the process of rounding the contour (and orientation characteristics) with G642, when rounding the orientation with OSD and/or OST, a separate block is not formed, instead the rounding movement is added directly to the programmed original blocks.
  • Page 359: Checking D Numbers (Chkdno)

    Tool offsets 8.7 Free assignment of D numbers, cutting edge numbers 8.7.2 Checking D numbers (CHKDNO) Function CKKDNO checks whether the available D numbers assigned are unique. The D numbers of all tools defined within a TO unit may not occur more than once. No allowance is made for replacement tools.
  • Page 360: Renaming D Numbers (Getdno, Setdno)

    Tool offsets 8.7 Free assignment of D numbers, cutting edge numbers 8.7.3 Renaming D numbers (GETDNO, SETDNO) Function You must assign unique D numbers. Two different cutting edges of a tool must not have the same D number. GETDNO This command returns the D number of a particular cutting edge (ce) of a tool with tool number t.
  • Page 361: Deriving The T Number From The Specified D Number (Getacttd)

    Tool offsets 8.7 Free assignment of D numbers, cutting edge numbers 8.7.4 Deriving the T number from the specified D number (GETACTTD) Function For an absolute D number, GETACTTD determines the associated T number. There is not check for uniqueness. If several D numbers within a TO unit are the same, the T number of the first tool found in the search is returned.
  • Page 362: Tool Holder Kinematics

    Tool offsets 8.8 Tool holder kinematics Tool holder kinematics Function The toolholder kinematics with a maximum of two rotary axes v or v are defined using the 17 system variables $TC_CARR1[m] to $TC_CARR17[m]. The description of the toolholder consists of: •...
  • Page 363 Tool offsets 8.8 Tool holder kinematics Function of the system variables for orientable toolholders α angle of $TC_CARR13[m] rotation $TC_CARR14[m] α angle of rotation offset vector $TC_CARR15[m] $TC_CARR16[m] $TC_CARR17[m] Extensions of the system variables for orientable toolholders Designation x component y component y component offset vector...
  • Page 364 Tool offsets 8.8 Tool holder kinematics Note Explanations of parameters "m" specifies the number of the toolholder to be programmed. $TC_CARR47 to $TC_CARR54 and $TC_CARR61 to $TC_CARR63 are not defined and produce an alarm if read or write access is attempted. The start/endpoints of the distance vectors on the axes can be freely selected.
  • Page 365 Tool offsets 8.8 Tool holder kinematics Example The toolholder used in the following example can be fully described by a rotation around the Y axis. 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...
  • Page 366 Tool offsets 8.8 Tool holder kinematics • the tool longitudinal axis is perpendicular to the second rotary axis V In addition, the following requirement is applicable to machines for which all possible orientations have to be settable: • the tool longitudinal axis must be perpendicular to the first rotary axis V Description Resolved kinematics For machines with resolved kinematics (both the tool and the part can rotate), the system...
  • Page 367: Path Traversing Behavior

    Path traversing behavior Tangential control (TANG, TANGON, TANGOF, TANGDEL) Function The following axis follows the path of the leading axis along the tangent. This allows alignment of the tool parallel to the contour. The tool can be positioned relative to the tangent with the angle programmed in the TANGON statement.
  • Page 368 Path traversing behavior 9.1 Tangential control (TANG, TANGON, TANGOF, TANGDEL) Programming TANG (Faxis,Laxis1,Laxis2,Coupling,CS,Opt) TANGON (Faxis,Angle, Dist, Angletol) TANGOF (Faxis) TLIFT (Faxis) TANGDEL (FAxis) Simplified programming: A coupling factor of 1 does not have to be programmed explicitly. TANG(C, X, Y, 1, "B", "P") can be abbreviated to TANG(C, X, Y, , , "P"). As before, TANG(C, X, Y, 1, "B", "S") can be written as TANG(C, X, Y).
  • Page 369 Path traversing behavior 9.1 Tangential control (TANG, TANGON, TANGOF, TANGDEL) TANGDEL 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. Deletion is only possible if the coupling with TANGOF(Faxis) is deactivated.
  • Page 370 Path traversing behavior 9.1 Tangential control (TANG, TANGON, TANGOF, TANGDEL) Example for plane change N10 TANG(A, X, Y,1) ;1. definition of the tang. follow-up N20 TANGON(A) ;Activation of the coupling N30 X10 Y20 ;Radius N80 TANGOF(A) ;Deactivate 1st coupling N90 TANGDEL(A) ;Delete 1st definition TANG(A, X, Z) ;2.
  • Page 371 Path traversing behavior 9.1 Tangential control (TANG, TANGON, TANGOF, TANGDEL) Example of the tangential follow-up with automatic optimization Automatic optimization using Dist and angle tolerance N80 G0 C0 ;Y1 is geometry axis 2 N100 F=50000 N110 G1 X1000 Y500 N120 TRAORI ;Rounding with axial tolerance N130 G642 N171 TRANS X–Y–...
  • Page 372 Path traversing behavior 9.1 Tangential control (TANG, TANGON, TANGOF, TANGDEL) Insert intermediate block at contour corners, TLIFT At 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.
  • Page 373 Path traversing behavior 9.1 Tangential control (TANG, TANGON, TANGOF, TANGDEL) Set velocity profile of the following axis C Rounded velocity profile 2 * Dact Defining the angle change The angular change limit at which an intermediate block is automatically inserted is defined via machine data $MA_EPS_TLIFT_TANG_STEP.
  • Page 374: Coupled Motion (Trailon, Trailof)

    Path traversing behavior 9.2 Coupled motion (TRAILON, TRAILOF) Coupled motion (TRAILON, TRAILOF) Function When 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. Together, the leading axis and following axis represent coupled axes.
  • Page 375 Path traversing behavior 9.2 Coupled motion (TRAILON, TRAILOF) Parameters TRAILON Activating and defining a coupled-axis grouping Example: V = trailing axis, Y = leading axis TRAILON(V,Y) TRAILOF Deactivate coupled axes Example:V = trailing axis, Y = leading axis TRAILOF(V,Y) TRAILOF with 2 parameters deactivates the coupling to only 1 leading axis.
  • Page 376 Path traversing behavior 9.2 Coupled motion (TRAILON, TRAILOF) Example The workpiece is to be machined on two sides with the axis configuration shown in the diagram. To do this, you create two combinations of coupled axes. … N100 TRAILON(V,Y) ;Activate 1st coupled axis grouping N110 TRAILON(W,Z,–1) ;Activate 2nd combined axis pair, coupling factor negative: ;Trailing axis traverses in opposite direction to leading...
  • Page 377 Path traversing behavior 9.2 Coupled motion (TRAILON, TRAILOF) Coupling factor The coupling factor specifies the desired relationship between the paths of the coupled axis and the leading axis. Formula: Coupling factor = Path of coupled-motion axis/path of trailing axis If a coupling factor is not programmed, then coupling factor 1 automatically applies. The factor is entered as a fraction with decimal point (of type REAL).
  • Page 378: Curve Tables (Ctab)

    Path traversing behavior 9.3 Curve tables (CTAB) Curve tables (CTAB) 9.3.1 Curve tables: general relationships Function The Curve tables section contains the program commands that can be used to program the relationships between two axes (leading and following axis). A following variable can be assigned uniquely to each master value within a defined master value range.
  • Page 379: Principal Functions Curve Tables (Ctabdef, Ctabend, Ctabdel)

    Path traversing behavior 9.3 Curve tables (CTAB) 9.3.2 Principal functions curve tables (CTABDEF, CTABEND, CTABDEL) Function You can use curve tables to program position and velocity relationships between two axes. Curve tables are defined in a parts program. Example of substitution of mechanical cam: The curve table forms the basis for the axial master value coupling by creating the functional relationship between the leading and the following value: With appropriate programming, the control calculates a polynomial that corresponds to the...
  • Page 380 Path traversing behavior 9.3 Curve tables (CTAB) Parameters Principal functions CTABDEF ( ) Define beginning of curve table. CTABEND () Define end of curve table. Deleting all curve tables, irrespective of the memory type. CTABDEL () Faxis Following axis Axis that is programmed via the curve table. Laxis Leading axis Axis that is programmed with the master value.
  • Page 381 Path traversing behavior 9.3 Curve tables (CTAB) Example of the definition of a curve table N100 CTABDEF(Y,X,3,0) ;Begin of the definition of a non-periodic ;curve table with the number 3 definition ;of the curve table N110 X0 Y0 ;1. traverse statement defines starting ;values and 1st intermediate point: ;Master value: 0;...
  • Page 382 Path traversing behavior 9.3 Curve tables (CTAB) Example of the definition of a periodic curve table Definition of a periodic curve table with number 2, master value range 0 to 360, following axis motion from 0 to 45 and back to 0: N10 DEF REAL DEPPOS N20 DEF REAL GRADIENT N30 CTABDEF(Y,X,2,1)
  • Page 383 Path traversing behavior 9.3 Curve tables (CTAB) 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.
  • Page 384: Curve Table Forms (Ctabdel, Ctabnomem, Ctabfno, Ctabid, Ctablock, Ctabunlock)

    Path traversing behavior 9.3 Curve tables (CTAB) Activating ASPLINE, BSPLINE, CSPLINE If an ASPLINE, BSPLINE or CSPLINE is activated within a curve table CTABDEF( ) ... CTABEND, at least a start point should be programmed before this spline activation. An immediate activation after CTABDEF must be avoided as otherwise the spline will depend on the current axis position before the curve table definition.
  • Page 385 Path traversing behavior 9.3 Curve tables (CTAB) Programming Modal language commands with curve tables CTABDEL(n, m, memType) CTABNOMEM (memType) CTABFNO(memType) CTABID(n, memType) CTABLOCK(n, m, memType) or CTABUNLOCK(n, m, memType) CTABDEL(n) or CTABDEL(n, m) CTABLOCK(n) or CTABLOCK(n, m) or CTABLOCK() or CTABLOCK(, , memType) CTABUNLOCK(n) or CTABUNLOCK(n, m) or CTABUNLOCK() or CTABUNLOCK(, , memType)
  • Page 386 Path traversing behavior 9.3 Curve tables (CTAB) Parameters General form in static or dynamic NC memory: CTABDEL(n, m, Deletion of the curve tables of the curve table range that memType) are stored in memType. CTABNOMEM (memType) Number of defined curve tables. CTABFNO(memType) Number of possible tables.
  • Page 387 Path traversing behavior 9.3 Curve tables (CTAB) CTABFSEG(memType) Number of possible curve segments. Maximum possible number of curve segments. CTABMSEG(memType) Number used by curve table number n. Curve table polynomials CTABPOLID(n) Number of type "L" or "P" curve segments used in the memory CTABSEG(memTyp, segType) type.
  • Page 388: Behavior At The Edges Of Curve Tables (Ctabtsv, Ctabtsp, Ctabmin, Ctabmax)

    Path traversing behavior 9.3 Curve tables (CTAB) Note No warning is output when you overwrite curve tables! 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.
  • Page 389 Path traversing behavior 9.3 Curve tables (CTAB) Parameters CTABTSV Read the start value of the curve table from a following axis. CTABTEV () Read the end value of the curve table from a following axis. CTABTSP () Read the start value of the curve table from a leading axis. CTABTEP () Read the end value of the curve table from a leading axis.
  • Page 390 Path traversing behavior 9.3 Curve tables (CTAB) Example of the assignments to R parameters R10=5 R11=20 CTABDEF G1 X=10 Y=20 F1000 R10=R11+5 ;R10=25 X=R10 CTABEND ;R10=5 Example of using CTABTSV, CTABTEV, CTABTSP, CTABTEP, CTABTMIN, CTABMAX Determining the minimum and maximum value of a curve table. N10 DEF REAL STARTVAL N20 DEF REAL ENDVAL N30 DEF REAL STARTPARA...
  • Page 391 Path traversing behavior 9.3 Curve tables (CTAB) Non-periodic curve table If the master value is outside the definition range, the following value output is the upper or lower limit. Job planning 9-25 Programming Manual, 03/2006 Edition, 6FC5398-2BP10-1BA0...
  • Page 392 Path traversing behavior 9.3 Curve tables (CTAB) Periodic curve table If the master value is outside the definition range, the master value is evaluated modulo of the definition range and the corresponding following value is output. Note CTABTSV, CTABTEV, CTABTSP, CTABTEP, CTABTMIN, CTABTMAX The language commands can be used •...
  • Page 393: Access To Curve Table Positions And Table Segments (Ctab, Ctabinv, Ctabssv, Ctabsev)

    Path traversing behavior 9.3 Curve tables (CTAB) Read in synchronized actions When using commands CTABINV( ) or CTABTMIN( ) and CTABTMAX( ) in synchronized actions, the user must ensure that at the instant of execution • either sufficient NC power is available or •...
  • Page 394 Path traversing behavior 9.3 Curve tables (CTAB) Parameters CTAB Read a following value directly from a master value. CTABINV Read the master value for a following value. CTABSSV Read the start value of the curve segment for a following axis. CTABSEV Read the end value of the curve segment for a following axis.
  • Page 395 Path traversing behavior 9.3 Curve tables (CTAB) Example of the use of CTABSSV and CTABSEV Determining the curve segment belonging to master value X = 30. N10 DEF REAL STARTPOS N20 DEF REAL ENDPOS N30 DEF REAL GRADIENT N100 CTABDEF(Y,X,1,0) ;Begin of the table definition N110 X0 Y0 ;Starting position 1st table segment...
  • Page 396 Path traversing behavior 9.3 Curve tables (CTAB) Both 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. Note CTAB, CTABINV, CTABSSV and CTABSEV The language commands CTAB, CTABINV, and...
  • Page 397: Axial Leading Value Coupling (Leadon, Leadof)

    Path traversing behavior 9.4 Axial leading value coupling (LEADON, LEADOF) Axial leading value coupling (LEADON, LEADOF) Function With the axial master value coupling, a leading and 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 –...
  • Page 398 Path traversing behavior 9.4 Axial leading value coupling (LEADON, LEADOF) Programming LEADON(FAxis,LAxis,n) LEADOF(FAxis,LAxis) or deactivate without details of leading axis LEADOF(FAxis) The master value coupling can be activated and deactivated both from the parts program and during the movement from synchronized actions, see section "Motion synchronous actions"...
  • Page 399 Path traversing behavior 9.4 Axial leading value coupling (LEADON, LEADOF) Actions The 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) •...
  • Page 400 Path traversing behavior 9.4 Axial leading value coupling (LEADON, LEADOF) ; **** E2 0=>1 coupling OFF N30 IDS=3 EVERY ($A_IN[2]==1) DO LEADOF(X,LV) LEADOF(YL,LV) LEADOF(ZL,LV) LEADOF(U,LV) LEADOF(V,LV) LEADOF(W,LV) $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 Description Master value coupling requires synchronization of the leading and the following axes.
  • Page 401 Path traversing behavior 9.4 Axial leading value coupling (LEADON, LEADOF) Actual value and setpoint coupling Setpoint coupling provides better synchronization of the leading and following axis than actual value coupling and is therefore set by default. Setpoint coupling is only possible if the leading and following axis are interpolated by the same NCU.
  • Page 402 Path traversing behavior 9.4 Axial leading value coupling (LEADON, LEADOF) Create master value As an option, master values can be generated with other self-programmed methods. The master values generated in this way are written to and read from variables - $AA_LEAD_SP Master value position - $AA_LEAD_SV Master value velocity...
  • Page 403: Feedrate Response (Fnorm, Flin, Fcub, Fpo)

    Path traversing behavior 9.5 Feedrate response (FNORM, FLIN, FCUB, FPO) Feedrate response (FNORM, FLIN, FCUB, FPO) 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.
  • Page 404 Path traversing behavior 9.5 Feedrate response (FNORM, FLIN, FCUB, FPO) Example of various feed profiles This example shows you the programming and graphic representation of various feed profiles. N1 F1000 FNORM G1 X8 G91 G64 ;Constant feed profile, incremental dimensioning N2 F2000 X7 ;Step change in setpoint velocity N3 F=FPO(4000, 6000, -4000)
  • Page 405 Path traversing behavior 9.5 Feedrate response (FNORM, FLIN, FCUB, FPO) FLIN The 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 Job planning 9-39 Programming Manual, 03/2006 Edition, 6FC5398-2BP10-1BA0...
  • Page 406 Path traversing behavior 9.5 Feedrate response (FNORM, FLIN, FCUB, FPO) FCUB The 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.
  • Page 407 Path traversing behavior 9.5 Feedrate response (FNORM, FLIN, FCUB, FPO) Restrictions The functions for programming the path traversing characteristics apply regardless of the programmed feed characteristic. The programmed feed characteristic is always absolute regardless of G90 or G91. Feed response FLIN and FCUB are active with G93 and G94.
  • Page 408: Program Run With Preprocessing Memory (Startfifo, Stopfifo, Stopre)

    Path traversing behavior 9.6 Program run with preprocessing memory (STARTFIFO, STOPFIFO, STOPRE) Program run with preprocessing memory (STARTFIFO, STOPFIFO, STOPRE) 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 block sequences while machining is in progress.
  • Page 409 Path traversing behavior 9.6 Program run with preprocessing memory (STARTFIFO, STOPFIFO, STOPRE) Note STOPFIFO stops the machining until the preprocessing memory has been filled or STARTFIFO or STOPRE is detected. Example of marking a processing section The high-speed processing section to be buffered in the preprocessing memory is marked at the beginning and end with STARTFIFO or STOPFIFO respectively.
  • Page 410: Conditionally Interruptible Program Sections (Delayfston, Delayfstof)

    Path traversing behavior 9.7 Conditionally interruptible program sections (DELAYFSTON, DELAYFSTOF) Conditionally interruptible program sections (DELAYFSTON, DELAYFSTOF) Function Conditionally interruptible parts program sections are called stop delay sections. No stopping should occur and the feed should not be changed within certain program sections. This essentially means that short program sections used, for example, to machine a thread, should be protected from stop events.
  • Page 411 Path traversing behavior 9.7 Conditionally interruptible program sections (DELAYFSTON, DELAYFSTOF) Selection of a number of stop events, which induce at least short stopping. Event name Response interruption parameters RESET immediate IS: DB21,… DBX7.7 and DB11, … DBX20.7 PROG_END Alarm 16954 NC prog.: M30 INTERRUPT delayed...
  • Page 412 Path traversing behavior 9.7 Conditionally interruptible program sections (DELAYFSTON, DELAYFSTOF) Example of the nesting of stop delay sections in two program levels N10010 DELAYFSTON() ;blocks with N10xxx program level 1 N10020 R1 = R1 + 1 N10030 G4 F1 ;stop delay section starts. N10040 subroutine2 ;interpretation of subroutine 2 N20010 DELAYFSTON()
  • Page 413 Path traversing behavior 9.7 Conditionally interruptible program sections (DELAYFSTON, DELAYFSTOF) As shown in the illustration, the user presses "Stop" in the stop delay section and the NC starts deceleration outside the stop delay section, i.e., in block N100. That causes the NC to stop at the beginning of N100.
  • Page 414 Path traversing behavior 9.7 Conditionally interruptible program sections (DELAYFSTON, DELAYFSTOF) The following features regulate the interaction between NC commands DELAYFSTON and DELAYFSTOF with nesting and end of subroutine: 1. DELAYFSTOF is activated implicitly at the end of the subroutine in which DELAYFSTON is called.
  • Page 415: Preventing Program Position For Serupro (Iptrlock, Iptrunlock)

    Path traversing behavior 9.8 Preventing program position for SERUPRO (IPTRLOCK, IPTRUNLOCK) Preventing program position for SERUPRO (IPTRLOCK, IPTRUNLOCK) Function For some complicated mechanical situations on the machine it is necessary to the stop block search SERUPRO. By using a programmable interruption pointer it is possible to intervene before an untraceable point with "Search at point of interruption".
  • Page 416 Path traversing behavior 9.8 Preventing program position for SERUPRO (IPTRLOCK, IPTRUNLOCK) The interruption pointer then produces an interruption at 100 again. Acquiring and finding untraceable sections Non-searchable program sections are identified with language commands IPTRLOCK and IPTRUNLOCK . Command IPTRLOCK freezes the interruption pointer at a single block executable in the main run (SBL1).
  • Page 417: Repositioning At Contour (Reposa/L, Reposq/H, Rmi, Rmn, Rmb, Rme)

    Path traversing behavior 9.9 Repositioning at contour (REPOSA/L, REPOSQ/H, RMI, RMN, RMB, RME) Repositioning at contour (REPOSA/L, REPOSQ/H, RMI, RMN, RMB, RME) 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.
  • Page 418 Path traversing behavior 9.9 Repositioning at contour (REPOSA/L, REPOSQ/H, RMI, RMN, RMB, RME) Parameters Approach path REPOSA Approach along line on all axes REPOSL Approach along line REPOSQ DISR=… Approach along quadrant with radius DISR REPOSQA DISR=… Approach on all axes along quadrant with radius DISR REPOSH DISR=…...
  • Page 419 Path traversing behavior 9.9 Repositioning at contour (REPOSA/L, REPOSQ/H, RMI, RMN, RMB, RME) Example of approaching in the quadrant, REPOSQ, REPOSQA The tool approaches the repositioning point along a quadrant with a radius of DISR=…. The control system automatically calculates the intermediate point between the start and repositioning points.
  • Page 420 Path traversing behavior 9.9 Repositioning at contour (REPOSA/L, REPOSQ/H, RMI, RMN, RMB, RME) Example of approaching tool along the semi-circle, REPOSH, REPOSHA The tool approaches the repositioning point along a semi-circle with a diameter of DISR=…. The control system automatically calculates the intermediate point between the start and repositioning points.
  • Page 421 Path traversing behavior 9.9 Repositioning at contour (REPOSA/L, REPOSQ/H, RMI, RMN, RMB, RME) Specifying the repositioning point (not for SERUPRO approaching with RMN) With reference to the NC block in which the program run has been interrupted, it is possible to select one of three different repositioning points: •...
  • Page 422 Path traversing behavior 9.9 Repositioning at contour (REPOSA/L, REPOSQ/H, RMI, RMN, RMB, RME) DISPR sign The sign DISPR is evaluated. In the case of a plus sign, the behavior is as previously. In the case of a minus sign, approach is behind the interruption point or, with RMB, behind the block start point.
  • Page 423 Path traversing behavior 9.9 Repositioning at contour (REPOSA/L, REPOSQ/H, RMI, RMN, RMB, RME) Approach from the nearest path point RMN When REPOSA is interpreted, the repositioning block with RMN is not started again in full after an interruption, but only the distance-to-go processed. The nearest path point of the interrupted block is approached.
  • Page 424 Path traversing behavior 9.9 Repositioning at contour (REPOSA/L, REPOSQ/H, RMI, RMN, RMB, RME) Approaching with a new tool The following applies if you have stopped the 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.
  • Page 425 Path traversing behavior 9.9 Repositioning at contour (REPOSA/L, REPOSQ/H, RMI, RMN, RMB, RME) 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. The REPOSA, REPOSQA and REPOSHA commands automatically reposition all axes.
  • Page 426 Path traversing behavior 9.9 Repositioning at contour (REPOSA/L, REPOSQ/H, RMI, RMN, RMB, RME) Job planning 9-60 Programming Manual, 03/2006 Edition, 6FC5398-2BP10-1BA0...
  • Page 427: Motion Synchronous Actions

    Motion synchronous actions 10.1 Structure, basic information 10.1 Function Synchronized actions allow actions to be executed such that they are synchronized to machining blocks. The time at which the actions are executed can be defined by conditions. The conditions are monitored in the interpolation cycle.
  • Page 428 Motion synchronous actions 10.1 Structure, basic information • Setting up safety functions • ..Programming DO action1 action2 … KEYWORD condition DO action1 action2 … ID=n KEYWORD condition DO action1 action2 … IDS=n KEYWORD condition DO action1 action2 … Command elements Identification number ID/IDS: Modal synchronized actions in automatic mode, ID=n...
  • Page 429: Programming And Command Elements

    Motion synchronous actions 10.1 Structure, basic information 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 as of the next executable block (e.g. traversing movement with G0, G1, G2, G3). Synchronized actions consist of up to five command elements each with a different task: Programming ID=n keyword condition DO action 1 action 2 ...
  • Page 430: Validity Range: Identification Number Id

    Motion synchronous actions 10.1 Structure, basic information 10.1.2 Validity range: Identification number ID Function The scope of validity of a synchronized action is defined by the identification number: • no modal ID: Non-modal synchronized actions in automatic mode • ID=n modal synchronized actions in automatic mode at end of program •...
  • Page 431: Cyclic Checking Of The Condition

    Motion synchronous actions 10.1 Structure, basic information • IDS=n; n=1..255 The static synchronized actions act modally in all modes. They even remain active beyond the end of the program and can be activated directly after Power On using an ASUB. In this way, actions can be activated that are executed regardless of the mode selected in the NC.
  • Page 432 Motion synchronous actions 10.1 Structure, basic information Example No keyword DO $A_OUTA[1]=$AA_IN[X] ;output the actual value at the analog output EVERY ID=1 EVERY $AA_IM[B]>75 DO POS[U]=IC(10) FA[U]=900 ; always when the actual value of axis B exceeds the value 75 in machine coordinates, the U axis should move forwards by 10 with an axial feed.
  • Page 433: Actions

    Motion synchronous actions 10.1 Structure, basic information Possible conditions • Comparison of main run 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 •...
  • Page 434: Operators For Conditions And Actions

    Motion synchronous actions 10.2 Operators for conditions and actions 10.2 Operators for conditions and actions 10.2 Comparison Variables or partial expressions can be (==, <>, <, >, <=, >=) compared in conditions. The result is always of data type BOOL. All the usual comparison operators are permissible.
  • Page 435: Main Run Variables For Synchronized Actions

    Motion synchronous actions 10.3 Main run variables for synchronized actions 10.3 Main run variables for synchronized actions 10.3 10.3.1 General information on system variables Function NC data can be read and written with the help of system variables. A distinction is made between preprocessing and main run system variables.
  • Page 436: Implicit Type Conversion

    Motion synchronous actions 10.3 Main run variables for synchronized actions Data types Main run variables can feature the following data types: Integer for whole values with prefix signs REAL Real for rational counting BOOL Boolean TRUE and FALSE CHAR ASCII character STRING Character string with alpha-numerical characters AXIS...
  • Page 437: Gud Variables For Synchronous Actions

    Motion synchronous actions 10.3 Main run variables for synchronized actions Results Type conversion from REAL or INTEGER to BOOL if the REAL or INTEGER value does not equal zero Result BOOL = TRUE if the REAL or INTEGER value equals zero Result BOOL = FALSE Type conversion from BOOL to REAL or INTEGER...
  • Page 438 Motion synchronous actions 10.3 Main run variables for synchronized actions The parameters are available during the next control power up once the corresponding machine data has been set. To configure the related machine data, refer to the machine manufacturer's specifications. Default variable Note Even if no GUD definition files are active, machine data can be used to read defined new...
  • Page 439: Default Axis Identifier (No_Axis)

    Motion synchronous actions 10.3 Main run variables for synchronized actions Note STRING type variables in synchronized actions have a fixed length of 32 characters. • Array size corresponding to of machine data • Predefined names in accordance with previous list of predefined variable names. •...
  • Page 440: Synchronized Action Marker $Ac_Marker[N]

    Motion synchronous actions 10.3 Main run variables for synchronized actions Programming PROC UP(AXIS PAR1=NO_AXIS, AXIS PAR2=NO_AXIS) IF PAR1 <>NO_AXIS… Subroutine definition PROC Subroutine definition Subroutine name for recognition PARn Parameter n NO_AXIS Initialization of formula parameter with default axis identifier Example of the definition of an axis variable in the main program DEF AXIS AXVAR UP( , AXVAR)
  • Page 441: Synchronized Action Parameters $Ac_Param[N]

    Motion synchronous actions 10.3 Main run variables for synchronized actions 10.3.6 Synchronized action parameters $AC_PARAM[n] Function The synchronized action parameter $AC_PARAM[n] is used for calculations and as intermediate memory in synchronized actions. These variables can either be saved in the memory of the active or passive file system.
  • Page 442 Motion synchronous actions 10.3 Main run variables for synchronized actions Arithmetic parameters Using arithmetic parameters allows for: • 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. Examples WHEN $AA_IM[X]>=40.5 DO $R10=$AA_MM[Y] ;Use of R10 in synchronized actions...
  • Page 443: Read And Write Nc Machine And Nc Setting Data

    Motion synchronous actions 10.3 Main run variables for synchronized actions 10.3.8 Read and write NC machine and NC setting data Function It is also possible to read and write NC machine / setting data of synchronized actions. When reading and writing machine data array elements, an index can be left out during programming.
  • Page 444: Timer-Variable $Ac_Timer[N]

    Motion synchronous actions 10.3 Main run variables for synchronized actions 10.3.9 Timer-Variable $AC_Timer[n] Function System variable $AC_TIMER[n] permits actions to be started after defined periods of delay. Timer variable: Data type:REAL $AC_TIMER[n] Channel-specific timer of data type REAL Unit in seconds Index of timer variable Setting timers A timer variable is incremented via value assignment...
  • Page 445: Fifo Variable $Ac_Fifo1[N]

    Motion synchronous actions 10.3 Main run variables for synchronized actions 10.3.10 FIFO variable $AC_FIFO1[n] ... $AC_FIFO10[n] Function 10 FIFO variables (circulating buffer store) are available to store associated data sequences. Data type: REAL Application: • Cyclical measurement • Pass execution Each element can be accessed in read or write FIFO variables The number of available FIFO variables is programmed in machine data...
  • Page 446 Motion synchronous actions 10.3 Main run variables for synchronized actions Example of the circulating stack During a production run, a conveyor belt is used to transport products of different lengths (a, b, c, d). The conveyor belt of transport length therefore carries a varying number of products depending on the lengths of individual products involved in the process.
  • Page 447: Information About The Block Types In The Interpolator

    Motion synchronous actions 10.3 Main run variables for synchronized actions 10.3.11 Information about the block types in the interpolator Function The following system variables are available for synchronized actions to provide information about a block current executing in the main run: $AC_BLOCKTYPE $AC_BLOCKTYPEINFO $AC_SPLITBLOCK...
  • Page 448 Motion synchronous actions 10.3 Main run variables for synchronized actions $AC_BLOCKTYPE $AC_BLOCKTYPEINFO Value: Value: Not equal to 0 Meaning: Original Intermediate block Trigger for intermediate block: block Corner rounding with: G641 G642 G643 G644 TLIFT block with: linear movement of tangential axis and without lift motion nonlinear movement of tangential axis (polynomial) and without lift motion...
  • Page 449: Actions In Synchronized Actions

    Motion synchronous actions 10.4 Actions in synchronized actions $AC_SPLITBLOCK Value: Meaning: Unchanged programmed block (a block generated by the compressor is also dealt with as a programmed block) There is an internally generated block or a shortened original block The last block in a chain of internally generated blocks or shortened original blocks is available Example of counting corner rounding blocks $AC_MARKER[0]=0...
  • Page 450 Motion synchronous actions 10.4 Actions in synchronized actions The following applications are possible: • Calculations of complex expressions in the IPO cycle • Axis movements and spindle controls • Change and evaluate online setting data from synchronized actions, such as positions, and output times of software cams to PLC or NC peripherals •...
  • Page 451 Motion synchronous actions 10.4 Actions in synchronized actions Applications for motion-synchronous actions DO POS[Axis]= FA [Axis]= Axial feed FA DO $A_WORAREA_PLUS_ENABLE]= Working area limitation ID=1 ... DO POS[Axis]= FA [Axis]= Position from synchronized actions ID=2 ... DO POS[Axis]= $AA_IM[Axis] FA [Axis]= DO PRESETON(axis, value) Set actual value (preset from synchronized actions) ID=1 EVERY $A_IN[1]=1 DO M3 S….
  • Page 452: Output Of Auxiliary Functions

    Motion synchronous actions 10.4 Actions in synchronized actions 10.4.2 Output of auxiliary functions Function Auxiliary functions are output directly in the synchronized action at the output time of the action. The output timing defined in the machine data for auxiliary functions is not active. The output timing is given when the condition is fulfilled.
  • Page 453: Cancel Preprocessing Stop (Stopreof)

    Motion synchronous actions 10.4 Actions in synchronized actions In path control mode, an exact stop is always triggered at the beginning of the block with RDISABLE in synchronized actions, regardless of whether RDISABLE is active or not. Example Start the program in interpolation cycles dependent on external inputs. WHENEVER $A_INA[2]<7000 DO RDISABLE ;If the voltage 7V is not reached at ;input 2, the program is stopped...
  • Page 454: Delete Distance-To-Go (Deldtg)

    Motion synchronous actions 10.4 Actions in synchronized actions 10.4.5 Delete distance-to-go (DELDTG) Function Delete distance-to-go can be triggered for a path and for specified axes depending on a condition. The possibilities are: • Fast, prepared delete distance-to-go • Unprepared delete distance-to-go Prepared delete distance-to-go with DELDTG permits a fast response to the triggering event and is therefore used for time-critical applications, e.g.
  • Page 455 Motion synchronous actions 10.4 Actions in synchronized actions Example of fast axial deletion of distance-to-go Cancelation of a positioning movement: ID=1 WHEN $A_IN[1]==1 DO MOV[V]=3 FA[V]=700 ;Start axis WHEN $A_IN[2]==1 DO DELDTG(V) ;Delete distance-to-go, the axis is stopped ;using MOV=0 Delete distance-to-go depending on the input voltage: WHEN $A_INA[5]>8000 DO DELDTG(X1)
  • Page 456: Polynomial Definition (Fctdef)

    Motion synchronous actions 10.4 Actions in synchronized actions 10.4.6 Polynomial definition (FCTDEF) Function FCTDEF can be used to define 3rd order polynomials in the form y=a These polynomials are used by the online tool offset (FTOC) and the evaluation function (SYNFCT).
  • Page 457 Motion synchronous actions 10.4 Actions in synchronized actions Example of a polynomial for straight section: With upper limit 1000, lower limit -1000, ordinate section a =$AA_IM[X] and linear gradient 1 the polynomial is: FCTDEF(1, -1000,1000,$AA_IM[X],1) Job planning 10-31 Programming Manual, 03/2006 Edition, 6FC5398-2BP10-1BA0...
  • Page 458 Motion synchronous actions 10.4 Actions in synchronized actions Example of laser output control One of the possible applications of polynomial definition is the laser output control. Laser output control means: Influencing the analog output in dependence on, for example, the path velocity. $AC_FCTLL[1]=0.2 ;Definition of the polynomial ;coefficient...
  • Page 459: Synchronized Function (Synfct)

    Motion synchronous actions 10.4 Actions in synchronized actions 10.4.7 Synchronized function (SYNFCT) Function SYNFCT calculates the output value of a polynomial 3 grade weighted using the input variables. The result is in the output variables and has maximum and minimum limits. The evaluation function is used •...
  • Page 460 Motion synchronous actions 10.4 Actions in synchronized actions Example of adaptive control (additive) Additive influence on the programmed feedrate A programmed feedrate is to be controlled additive using the current of the X axis (infeed axis): The feedrate should only vary by +/- 100 mm/min and the current fluctuates by +/-1A around the working point of 5A.
  • Page 461 Motion synchronous actions 10.4 Actions in synchronized actions Example of adaptive control (multiplicative) Influence the programmed feedrate by multiplication The aim is to influence the programmed feedrate by multiplication. The feedrate must not exceed certain limits – depending on the load on the drive: •...
  • Page 462: Clearance Control With Limited Compensation $Aa_Off_Mode

    Motion synchronous actions 10.4 Actions in synchronized actions 10.4.8 Clearance control with limited compensation $AA_OFF_MODE Function The integrating calculation of the distance values is performed with boundary check $AA_OFF_MODE = 1 Notice The loop gain of the overlying control loop depends on the setting for the interpolation cycle. Remedy: Read MD for interpolation cycle and take it into account.
  • Page 463 Motion synchronous actions 10.4 Actions in synchronized actions Note Limitation of the speed of the overlaid interpolator using MD 32020: JOG_VELO for IPO cycle 12 ms. Formula for speed: Example Subroutine: clearance control ON %_N_AON_SPF ;Subroutine for clearance control ON PROC AON $AA_OFF_LIMIT[Z]=1 ;Determine limiting value...
  • Page 464 Motion synchronous actions 10.4 Actions in synchronized actions Position offset in the basic coordinate system With 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. The position offset programmed in this way is overlaid immediately in the axis concerned, whether the axis is being moved by the program or not.
  • Page 465: Online Tool Offset (Ftoc)

    Motion synchronous actions 10.4 Actions in synchronized actions 10.4.9 Online tool offset (FTOC) Function FTOC 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.
  • Page 466 Motion synchronous actions 10.4 Actions in synchronized actions Example In this example, we want to compensate for the length of the active grinding wheel. %_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;...
  • Page 467: Online Tool Length Offset ($Aa_Toff[Tool Direction])

    Motion synchronous actions 10.4 Actions in synchronized actions 10.4.10 Online tool length offset ($AA_TOFF[tool direction]) 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. Thus, the number of active directions of offset is determined by the geometry axes that are active at the same time.
  • Page 468: Positioning Movements

    Motion synchronous actions 10.4 Actions in synchronized actions Example of tool length offset deselection N10 TRAORI(1) ;Transformation ON N20 TOFFON(X) ;Activation of Z tool direction N30 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)
  • Page 469: Position Axis (Pos)

    Motion synchronous actions 10.4 Actions in synchronized actions 10.4.12 Position axis (POS) Function Unlike programming from the parts program, the positioning axis movement has no effect on execution of the parts program. Programming POS[axis]=value Parameter DO POS Start/position command axis Axis Name of the axis to be traversed Value...
  • Page 470 Motion synchronous actions 10.4 Actions in synchronized actions Example The program environment affects the positioning travel of the positioning axis (no G function in the action part of the synchronized action) N100 R1=0 N110 G0 X0 Z0 N120 WAITP(X) N130 ID=1 WHENEVER $R==1 DO POS[X]=10 N140 R1=1 N150 G71 Z10 F10 ;Z=10 mm X=10 mm...
  • Page 471: Position In Specified Reference Range (Posrange)

    Motion synchronous actions 10.4 Actions in synchronized actions 10.4.13 Position in specified reference range (POSRANGE) Function The POSRANGE( ) function can be used to determine whether the current interpolated setpoint position of an axis is in a window around a specified reference position. The position specifications can refer to coordinates systems which can be specified.
  • Page 472: Start/Stop Axis (Mov)

    Motion synchronous actions 10.4 Actions in synchronized actions 10.4.14 Start/stop axis (MOV) Function With MOV[axis]=value it is possible to start a command axis without specifying an end position. The axis is moved in the programmed direction until another movement is set by another motion or positioning command or until the axis is stopped with a stop command.
  • Page 473: Axis Replacement (Release, Get)

    Motion synchronous actions 10.4 Actions in synchronized actions 10.4.15 Axis replacement (RELEASE, GET) Function For a tool change, the corresponding command axes can be requested as an action of a synchronized action using GET(axis). The axis type assigned to this channel and the interpolation right thus linked to this time can be queried using the $AA_AXCHANGE_TYPE system variable.
  • Page 474 Motion synchronous actions 10.4 Actions in synchronized actions Program sequence in the second channel: WHEN TRUE DO GET(Z) ;Move Z axis to second channel WHENEVER($AA_TYP[Z]==0) DO ;Read-in disable as long as Z axis is in RDISABLE ;other channel N210 G4 F0.1 WHEN TRUE DO GET(Z) ;Z axis is NC program axis WHENEVER($AA_TYP[Z]<>1) DO...
  • Page 475 Motion synchronous actions 10.4 Actions in synchronized actions Sequence The axis that is requested at the time the action GET (axis) is activated can be read with respect to axis type for an axis replacement via the system variable ($AA_AXCHANGE_TYP[]: •...
  • Page 476 Motion synchronous actions 10.4 Actions in synchronized actions Axis already assigned to requested channel Assignment as NC program axis with reorganize: If the requested axis has already been assigned to the requesting channel at the point of activation, and its status is that of a neutral axis (not controlled by the PLC) ($AA_AXCHANGE_TYP[]==3), it is assigned to the NC program ($AA_AXCHANGE_TYP[]==0).
  • Page 477: Axial Feed (Fa)

    Motion synchronous actions 10.4 Actions in synchronized actions 10.4.16 Axial feed (FA) Function The axial feed for command axes acts modal. Programming FA[axis]=feedrate Example ID=1 EVERY $AA_IM[B]>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 main run variables 10.4.17 Software limit switch...
  • Page 478: Axis Coordination

    Motion synchronous actions 10.4 Actions in synchronized actions 10.4.18 Axis coordination Function Typically, an axis is either moved from the parts program or as a positioning axis from a synchronized action. If 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.
  • Page 479: Set Actual Values (Preseton)

    Motion synchronous actions 10.4 Actions in synchronized actions 10.4.19 Set actual values (PRESETON) Function When PRESETON (axis, value) is executed, the current axis position is not changed but a new value is assigned to it. PRESETON from synchronized actions can be programmed for •...
  • Page 480: Spindle Motions

    Motion synchronous actions 10.4 Actions in synchronized actions 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. If conflicting commands are issued for a spindle via simultaneously active synchronized actions, the most recent spindle command takes priority.
  • Page 481 Motion synchronous actions 10.4 Actions in synchronized actions Parameters Activate unsynchronized coupled motion: ... DO TRAILON(FA, LA, Kf) with: FA: Following axis LA: Leading axis Kf: Coupling factor Deactivate unsynchronized coupled motion: ... DO TRAILOF(FA, LA, LA2) with: FA: Following axis LA: Leading axis, optional LA2: Leading axis 2, option ...
  • Page 482: Leading Value Coupling (Leadon, Leadof)

    Motion synchronous actions 10.4 Actions in synchronized actions 10.4.22 Leading value coupling (LEADON, LEADOF) Function The axial leading value coupling can be programmed in synchronized actions without restriction. The changing of a curve table for an existing coupling without a previous resynchronization is optionally possible only in synchronized actions.
  • Page 483 Motion synchronous actions 10.4 Actions in synchronized actions Example of on-the-fly parting An extruded material which passes continuously through the operating area of a cutting tool must be cut into parts of equal length. X axis: Axis in which the extruded material moves. WCS X1 axis: Machine axis of extruded material, MCS Y axis: Axis in which cutting tool "tracks"...
  • Page 484: Measuring (Meawa, Meac)

    Motion synchronous actions 10.4 Actions in synchronized actions 10.4.23 Measuring (MEAWA, MEAC) Function Compared with use in traverse blocks of the parts program, the measuring function can be activated and deactivated as required. For further information concerning measuring, see special motion commands "Extended measuring function"...
  • Page 485: Initialization Of Array Variables With Set, Rep

    Motion synchronous actions 10.4 Actions in synchronized actions 10.4.24 Initialization of array variables with SET, REP Function Array variables can be initialized or described with particular values in synchronized actions. Programming DO ARRAY[n,m]=SET(value1, value2, ...) DO ARRAY[n,m] = REP(value) Initialization starts at the programmed array indexes. For 2D arrays, the second index is incremented first.
  • Page 486: Set/Delete Wait Markers With Setm, Clearm

    Motion synchronous actions 10.4 Actions in synchronized actions 10.4.25 Set/delete wait markers with SETM, CLEARM Function In synchronized actions, wait markers can be set or deleted for the purpose of coordinating channels, for example. Programming DO SETM(MarkerNumber) DO CLEARM(MarkerNumber) Set/delete wait markers for the channel SETM(MarkerNumber) Set wait marker for channel CLEARM(MarkerNumber)
  • Page 487: Travel To Fixed Stop (Fxs And Focon/Focof)

    Motion synchronous actions 10.4 Actions in synchronized actions Example ID=67 WHENEVER ($AA_IM[X1]-$AA_IM[X2])<4.567 DO $AA_OVR[X2]=0 ;If the safety distance between axes X1 and X2 is too small, stop axis X2. ID=67 WHENEVER ($AA_IM[X1]-$AA_IM[X2])<4.567 DO SETAL(61000) ;If the safety distance between axes X1 and X2 is too small, set an alarm. 10.4.27 Travel to fixed stop (FXS and FOCON/FOCOF) Function...
  • Page 488 Motion synchronous actions 10.4 Actions in synchronized actions Example of travel to fixed stop (FXS) Triggered by a synchronized action Y axis: ;Static synchronized actions Activate: N10 IDS=1 WHENEVER (($R1==1) AND ;By setting of $R1=1, ($AA_FXS[y]==0)) DO ;axis Y FXS will be activated, the $R1=0 FXS[Y]=1 FXST[Y]=10 ;effective torque is reduced to 10% and FA[Y]=200 POS[Y]=150...
  • Page 489: Determining The Path Tangent In Synchronized Actions

    Motion synchronous actions 10.4 Actions in synchronized actions Block-related synchronized actions By programming a block-related synchronized action, travel to fixed stop can be connected during an approach motion. Example: N10 G0 G90 X0 Y0 N20 WHEN $AA_IW[X] > 17 DO FXS[X]=1 ;If X reaches a position greater than ;17 mm N30 G1 F200 X100 Y110...
  • Page 490: Determining The Current Override

    Motion synchronous actions 10.4 Actions in synchronized actions 10.4.29 Determining the current override Function The current override (NC component) can be read and written with system variables: $AA_OVR Axial override $AC_OVR Path override in synchronized actions. The override defined by the PLC is provided for synchronized actions to read in the system variables: $AA_PLC_OVR Axial override $AC_PLC_OVR Path override...
  • Page 491: Time Use Evaluation Of Synchronized Actions

    Motion synchronous actions 10.4 Actions in synchronized actions 10.4.30 Time use evaluation of synchronized actions Function In a interpolation cycle, synchronized actions have to be both interpreted and motions calculated by the NC. The system variables presented below provide synchronized actions with information about the current time shares that synchronized actions have of the interpolation cycle and about the computation time of the position controllers.
  • Page 492 Motion synchronous actions 10.4 Actions in synchronized actions Parameters The variables only have valid values if machine data $MN_IPO_MAX_LOAD is greater than 0. Otherwise the variables for both SINUMERIK powerline and solution line systems always specify the net computing time during which the interrupts caused by HMI are no longer taken into account.
  • Page 493: Technology Cycles

    Motion synchronous actions 10.5 Technology cycles 10.5 Technology cycles 10.5 Function As 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. Technology cycles are stored in the control as subroutines.
  • Page 494 Motion synchronous actions 10.5 Technology cycles If actions that are mutually exclusive are called up in the same interpolation cycle, the action that is called up from the synchronized action with the higher ID number becomes active. Example Axis programs are started by setting digital inputs. Main program: ID=1 EVERY $A_IN[1]==1 DO AXIS_X ;input 1 is at 1, start axis program X...
  • Page 495 Motion synchronous actions 10.5 Technology cycles Examples of different program sequences in the technology cycle PROC CYCLE N10 DEF REAL "value"=12.3 N15 DEFINE ABC AS G01 Both blocks are read over without alarms and without the variable and/or macro being applied PROC CYCLE N10 DEF REAL...
  • Page 496: Context Variable ($P_Teccycle)

    Motion synchronous actions 10.5 Technology cycles 10.5.1 Context variable ($P_TECCYCLE) Function The $P_TECCYCLE variable can be used to divide programs into synchronized action programs and preprocessing programs. It is then possible to process blocks or program sequences that are written correctly (in terms of syntax) or alternatively process them as the parts program cycle.
  • Page 497: Call By Value Parameters

    Motion synchronous actions 10.5 Technology cycles 10.5.2 Call by value parameters Function Technology cycles can be defined using call by value parameters. Simple data types such as INT, REAL, CHAR, STRING, AXIS and BOOL can be used as parameters. Note Formal parameters that are transferred to call by values cannot be arrays.
  • Page 498: Control Processing Of Technology Cycles (Icycof, Icycon)

    Motion synchronous actions 10.5 Technology cycles 10.5.4 Control processing of technology cycles (ICYCOF, ICYCON) Function The ICYCOF and ICYCON language commands are used to control the time processing of technology cycles. All blocks of a technology cycle are processed in just one interpolation cycle using ICYCOF. All actions which require several cycles result in parallel processes with ICYCOF.
  • Page 499: Cascading Technology Cycles

    Motion synchronous actions 10.5 Technology cycles 10.5.5 Cascading technology cycles Function Up to 8 technology cycles can be processed switched in line. Several technology cycles can then be programmed in one synchronized action. Programming ID=1 WHEN $AA_IW[X]>50 DO TEC1($R1) TEC2 TEC3(X) Sequence of execution The technology cycles are processed in order (in a cascade) working from left to right in accordance with the aforementioned programming.
  • Page 500: If Check Structures

    Motion synchronous actions 10.5 Technology cycles 10.5.7 IF check structures Function IF check structures can be used in synchronized actions for branches in the processing sequence of technology cycles. Programming IF $R1=1 [ELSE] ;optional $R1=0 ENDIF 10.5.8 Jump instructions (GOTO, GOTOF, GOTOB) Function Jump instructions (GOTO, GOTOF, GOTOB) are possible in technology cycles.
  • Page 501: Lock, Unlock, Reset (Lock, Unlock, Reset)

    Motion synchronous actions 10.5 Technology cycles Jump instructions and jump destinations GOTO Firstly jump forwards and then backwards GOTOF Jump forwards GOTOB Jump backwards Label: Jump marker Block number Jump destination for this block N100 Block number is subblock :100 Block number is main block 10.5.9 Lock, unlock, reset (LOCK, UNLOCK, RESET)
  • Page 502 Motion synchronous actions 10.5 Technology cycles Example Lock synchronized actions, LOCK N100 ID=1 WHENEVER $A_IN[1]==1 DO M130 N200 ID=2 WHENEVER $A_IN[2]==1 DO LOCK(1) Unlock synchronized actions, UNLOCK 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) Interrupt technology cycle, RESET N100 ID=1 WHENEVER $A_IN[1]==1 DO M130 N200 ID=2 WHENEVER $A_IN[2]==1 DO RESET(1)
  • Page 503: Delete Synchronized Action (Cancel)

    Motion synchronous actions 10.6 Delete synchronized action (CANCEL) 10.6 Delete synchronized action (CANCEL) 10.6 Function Modal synchronized actions with the identifier ID(S)=n can only be canceled directly from the parts program with CANCEL. Note Incomplete movements originating from a canceled synchronized action are completed as programmed.
  • Page 504: Restrictions

    Motion synchronous actions 10.7 Restrictions 10.7 Restrictions 10.7 Function Boundary conditions apply for when the following events arise: • Power on • Mode change • Reset • NC Stop • End of program • Block search • Program interruption by the asynchronous subroutine ASUB •...
  • Page 505 Motion synchronous actions 10.7 Restrictions • Reset All non-modal and modal synchronized actions are ended by a NC reset. Static synchronized actions remain active. They can start new actions. If a command axis movement is active during RESET, this is aborted. Completed synchronized actions of the WHEN type are not processed again after RESET.
  • Page 506 Motion synchronous actions 10.7 Restrictions • 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).
  • Page 507 Motion synchronous actions 10.7 Restrictions • Repositioning REPOS After repositioning REPOS, the synchronized actions that were active in the interrupted block are reactivated. After REPOS, the modal synchronized actions changed from the asynchronous subroutine no longer act for the machining of the remaining block. Polynomial coefficients programmed with FCTDEF are not affected by asynchronous subroutines and REPOS.
  • Page 508 Motion synchronous actions 10.7 Restrictions Job planning 10-82 Programming Manual, 03/2006 Edition, 6FC5398-2BP10-1BA0...
  • Page 509: Oscillation

    Oscillation 11.1 Asynchronous oscillation 11.1 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 continuous infeed can be achieved via a path movement or with a positioning axis, however, there is no relationship between the oscillating movement and the infeed movement.
  • Page 510 Oscillation 11.1 Asynchronous oscillation Parameters OSP1 [axis]= Position of reversal point 1 (oscillating: left reversal point) OSP2 [axis]= Position of reversal point 2 (oscillating: right reversal point) OST1 [axis]= Stopping time at reversal points in seconds OST2 [axis]= FA[axis]= Feed for oscillating axis OSCTRL [axis]= (Set, reset options) OSNSC [axis]=...
  • Page 511 Oscillation 11.1 Asynchronous oscillation Example of oscillation with online change of the reversal position Setting data The setting data necessary for asynchronous oscillation can be set in the parts program. If the setting data are described directly in the program, the change takes effect during preprocessing.
  • Page 512 Oscillation 11.1 Asynchronous oscillation Oscillation reversal points The current offsets must be taken into account when oscillation positions are defined: • Absolute specification OSP1[Z]=value 1 Position of reversal point = sum of offsets + programmed value • Relative specification OSP1[Z]=IC(value) Position of reversal point = reversal point 1 + programmed value Example: N10 OSP1[Z]=100 OSP2[Z]=110...
  • Page 513 Oscillation 11.1 Asynchronous oscillation Defining the sequence of motions, OSCTRL The control settings for the movement are set with enable and reset options. OSCTRL[oscillating axis] = (set-option, reset-option) The set options are defined as follows (the reset options deselect the settings): Reset options These options are deactivated (only if they have previously been activated as setting options).
  • Page 514: Control Oscillation Via Synchronized Actions

    Oscillation 11.2 Control oscillation via synchronized actions 11.2 Control oscillation via synchronized actions 11.2 Function 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 •...
  • Page 515 Oscillation 11.2 Control oscillation via synchronized actions Motion-synchronous actions WHEN… … DO when ... , do ... WHENEVER … DO whenever ... , do ... Example No infeed must take place at reversal point 1. At reversal point 2, the infeed is to start at a distance of ii2 before reversal point 2 and the oscillating axis is not to wait at the reversal point for the end of the partial infeed.
  • Page 516 Oscillation 11.2 Control oscillation via synchronized actions 2. Motion-synchronous action WHENEVER $AA_IM[Z]<$SA_OSCILL_REVERSE_POS2[Z]DO -> -> $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% set the marker with index 0 to value 0.
  • Page 517 Oscillation 11.2 Control oscillation via synchronized actions Define oscillation parameters Assignment of oscillating and infeed axes: OSCILL OSCILL[oscillation axis] = (infeed axis1, infeed axis2, infeed axis3) The axis assignments and the start of the oscillation movement are defined with the OSCILL command.
  • Page 518 Oscillation 11.2 Control oscillation via synchronized actions Functions 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.
  • Page 519 Oscillation 11.2 Control oscillation via synchronized actions Infeed at reversal point As long as the oscillation axis has not reached the reversal point, the infeed axis does not move. The following instructions are used subject to the above assumptions: Reversal point range 1: WHENEVER $AA_IM[Z]<>$SA_OSCILL_RESERVE_POS1[Z] DO $AA_OVR[X] = 0 →...
  • Page 520 Oscillation 11.2 Control oscillation via synchronized actions 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. Note Please refer to Section "Motion-synchronized actions"...
  • Page 521: Punching And Nibbling

    Punching and nibbling 12.1 Activation, deactivation 12.1 12.1.1 Punching and nibbling On or Off (SPOF, SON, PON, SONS, PONS, PDELAYON/OF) 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.
  • Page 522 Punching and nibbling 12.1 Activation, deactivation Programming PONS G... X... Y... Z... SON G... X... Y... Z... SONS G... X... Y... Z... SPOF PDELAYON PDELAYOF PUNCHACC(S Parameters Punching ON PONS Punching with leader on Nibbling ON SONS Nibbling with leader on SPOF Punching, nibbling off PDELAYON...
  • Page 523 Punching and nibbling 12.1 Activation, deactivation Punching and nibbling with leader, PONS/SONS Punching and nibbling with a leader is not possible in more than one channel simultaneously. PONS or SONS can only be activated in one channel at a time. If PONS or SONS is activated in more than one channel at a time, alarm 2200 "Channel %1 fast punching/nibbling not possible in several channels"...
  • Page 524 Punching and nibbling 12.1 Activation, deactivation Initiation of the first stroke The instant at which the first stroke is initiated after activation of the function differs depending on whether nibbling or punching is selected: • PON/PONS: – All strokes – even the one in the first block after activation – are executed at the block end.
  • Page 525: Automatic Path Segmentation

    Punching and nibbling 12.2 Automatic path segmentation 12.2 Automatic path segmentation 12.2 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).
  • Page 526 Punching and nibbling 12.2 Automatic path segmentation Example 1 The programmed nibbling paths must be divided automatically into equidistant path segments. N100 G90 X130 Y75 F60 SPOF ;Position at starting point 1 N110 G91 Y125 SPP=4 SON ;Nibbling on, maximum path segment length ;for automatic path segmentation: 4 mm N120 G90 Y250 SPOF ;Nibbling off, position at...
  • Page 527 Punching and nibbling 12.2 Automatic path segmentation Example 2 Automatic path segmentation is to be used to create the individual rows of holes. The maximum path segment length (SPP value) is specified in each case for segmentation purposes. N100 G90 X75 Y75 F60 PON ;Position at starting point 1;...
  • Page 528: Path Segmentation For Path Axes

    Punching and nibbling 12.2 Automatic path segmentation 12.2.1 Path segmentation for path axes Length of SPP path segment SPP is used to specify the maximum distance between strokes and thus the maximum length of the path segments in which the total traversing distance is to be divided. The command is deactivated with SPOF or SPP=0.
  • Page 529 Punching and nibbling 12.2 Automatic path segmentation Example: N10 G1 G91 SON X10 Y10 N20 SPP=3.5 X15 Y15 When the total traversing distance is 15 mm and the path segment length 3.5 mm, the quotient is not an integer value (4.28). In this case, the SPP value is reduced down to the next possible integer quotient.
  • Page 530: Path Segmentation For Single Axes

    Punching and nibbling 12.2 Automatic path segmentation 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.
  • Page 531 Punching and nibbling 12.2 Automatic path segmentation 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: •...
  • Page 532 Punching and nibbling 12.2 Automatic path segmentation Job planning 12-12 Programming Manual, 03/2006 Edition, 6FC5398-2BP10-1BA0...
  • Page 533: Additional Functions

    Additional functions 13.1 Axis functions (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING) 13.1 Function AXNAME is used, for example, to create generally applicable cycles when the name of the axes are not known (see also the "String functions" section). SPI is used, for example, when axis functions are used for a spindle, e.g. the synchronized spindle.
  • Page 534 Additional functions 13.1 Axis functions (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING) Parameter AXNAME Converts an input string into axis identifiers; the input string must contain a valid axis name. Variable axis identifier Converts the spindle number into an axis identifier; the transfer parameter must contain a valid spindle number.
  • Page 535: Check Scope Of Nc Language Present (Stringis)

    Check scope of NC language present (STRINGIS) 13.2 Function The scope of NC language generated by a SINUMERIK 840D sl, including the active GUD/macro definitions and the installed and active cycle programs, can be checked for actual availability and their program-specific characteristics using the STRINGIS command.
  • Page 536 Additional functions 13.2 Check scope of NC language present (STRINGIS) Scope of NC language All available language commands and in particular all those not needed and active language commands are still known for SINUMERIK powerline. The scope of language to be checked for SINUMERIK solution line depends on the pre-configured machine data and either includes all known / just the approved options or active functions in the current scope of NC language.
  • Page 537 Additional functions 13.2 Check scope of NC language present (STRINGIS) 2xx value ranges of the detailed information Detailed Information Significance of the test result: Interpretation not possible A DIN address or NC address is defined, i.e. whether names have recognized the address letters from this, see comments (1) G codes from the existing groups of G code have been recognized.
  • Page 538 Additional functions 13.2 Check scope of NC language present (STRINGIS) Valid NC addresses without address extension with the fixed value of 400 NC addressed D, F, G, H, R and L, M, N, O, P, S, T are valid. Then D as tool correction, cutting edge number (D function) F as feed (F function) G is defined as G code (not the path condition in this case)
  • Page 539 Additional functions 13.2 Check scope of NC language present (STRINGIS) Examples of other checks for the programmable scope of NC language 2xx Xis defined as axis ;Axis is a liner axis X 201 = STRINGIS("X") ;Return value of linear axis X 201 = STRINGIS("X1") ;Return value of linear axis X1 A2 is an NC address with extension...
  • Page 540: Isvar ( ) Function Call And Read Machine Array Index

    Additional functions 13.3 ISVAR ( ) function call and read machine array index 13.3 ISVAR ( ) function call and read machine array index 13.3 Function The ISVAR command is a function as defined in the NC language that has a •...
  • Page 541 Additional functions 13.3 ISVAR ( ) function call and read machine array index Example of the ISVAR function call DEF INT VAR1 ;Transfer parameter is a general variable DEF BOOL IS_VAR=FALSE N10 IS_VAR=ISVAR("VAR1") ;IS_VAR is TRUE in this case DEF REAL VARARRAY[10,10] DEF BOOL IS_VAR=FALSE ;Different syntax variations N20 IS_VAR=ISVAR("VARARRAY[,]")
  • Page 542: Learn Compensation Characteristics (Qeclrnon, Qeclrnof)

    Additional functions 13.4 Learn compensation characteristics (QECLRNON, QECLRNOF) 13.4 Learn compensation characteristics (QECLRNON, QECLRNOF) 13.4 Function Quadrant error compensation (QEC) reduces contour errors that occur on reversal of the traversing direction due to mechanical non-linearities (e.g. friction, backlash) or torsion. On the basis of a neural network, the optimum compensation data can be adapted by the control during a learning phase in order to determine the compensation characteristics automatically.
  • Page 543 Additional functions 13.4 Learn compensation characteristics (QECLRNON, QECLRNOF) Parameters QECLRNON (axis.1,…4) Activate "Learn quadrant error compensation" function QECLRNOF Deactivate "Learn quadrant error compensation" function QECLRN.SPF Learning cycle QECDAT.MPF Sample NC program for assigning system variables and the parameters for the learning cycle QECTEST.MPF Sample NC program for circle shape test Description...
  • Page 544: Synchronous Spindle

    Additional functions 13.5 Synchronous spindle 13.5 Synchronous spindle 13.5 Function Synchronous operation involves a following spindle (FS) and a leading spindle (LS), referred to as the synchronous spindle pair. The following spindle imitates the movements of the leading spindle when a coupling is active (synchronous operation) in accordance with the defined functional interrelationship.
  • Page 545 Additional functions 13.5 Synchronous spindle Specification of a speed ratio SR between the main spindle and a "tool spindle" provides the prerequisite conditions for multi-edge machining (polygon turning). Job planning 13-13 Programming Manual, 03/2006 Edition, 6FC5398-2BP10-1BA0...
  • Page 546 Additional functions 13.5 Synchronous spindle Programming COUPDEF(FS, LS, T , block behavior, coupling type) COUPON(FS, LS, POS COUPONC(FS, LS) COUPOF(FS, LS, POS COUPOFS(FS, LS) COUPOFS(FS, LS, POS COUPRES (FS, LS) COUPDEL (FS, LS) WAITC(FS, block behavior, LS, block behavior) The reduced specification without the main spindle is also possible for: COUPOF(FS), COUPOFS(FS), COUPRES(FS), COUPDEL(FS) Note The following spindle and main spindle must be programmed for each COUPDEF, COUPON...
  • Page 547 Additional functions 13.5 Synchronous spindle Optional parameters Designation of main spindle; Specification with spindle number: e.g. S2, S1 Speed ratio parameters for FS = numerator and LS = denominator Default setting = 1.0; specification of denominator optional Block change Block change method; Block change is implemented: behavior: "NOC"...
  • Page 548 Additional functions 13.5 Synchronous spindle N350 COUPOF (S2, S1) ;Decouple on-the-fly, S=S2=3000 N355 SPOSA[2] = 0 ;Stop slave spindle at zero degrees N360 G0 X0 Y0 N365 WAITS(2) ;Wait for spindle 2 N370 M5 ;Stop slave spindle N375 M30 Example of programming of difference in speed ;Leading spindle = master spindle = ;spindle 1 ;Following spindle = spindle 2...
  • Page 549 Additional functions 13.5 Synchronous spindle 3. Activate coupling with following spindle stationary with COUPON ;Leading spindle = master spindle = ;spindle 1 ;Following spindle = spindle 2 N05 SPOS=10 SPOS[2]=20 ;Following spindle S2 in positioning mode N15 COUPDEF (S2, S1, 1) ;Speed ratio of following spindle to ;main spindle is 1.0 (presetting) N20 COUPON (S2, S1)
  • Page 550 Additional functions 13.5 Synchronous spindle Speed ratio SR The speed ratio is defined with parameters for FS (numerator) and LS (denominator). Options: • Following and leading spindle rotate at the same speed (n ; SR positive • Rotation in the same or opposite direction (SR negative) between LS and FS •...
  • Page 551 Additional functions 13.5 Synchronous spindle Block change behavior NOC, FINE, COARSE, IPOSTOP The following options can be selected during definition of the coupling to determine when the block change takes place: "NOC" immediate (default) "FINE" for "fine synchronism" "COARSE" for "coarse synchronism" "IPOSTOP"...
  • Page 552 Additional functions 13.5 Synchronous spindle Positioning SPOS The following spindle can be interpolated with SPOS=…. Please refer to Programming Manual "Fundamentals" for more information about SPOS. Example: N30 SPOS[2]=IC(-90) Difference in speed M3 S... or M4 S... A difference in speed results from signed superimposition of two sources of speed and is programmed again for the following spindle e.g.
  • Page 553 Additional functions 13.5 Synchronous spindle FA, ACC, OVRA, VELOLIMA: Velocity, acceleration FA[SPI] (Sn)] or FA[Sn], ACC[SPI(Sn)] or ACC[Sn] and OVRA[SPI(n)] or OVRA[Sn] as well as VELOLIMA[Sn] can be used to program the positioning speeds and acceleration values for following spindles (refer to the Programming Manual, Fundamentals). "n"...
  • Page 554 Additional functions 13.5 Synchronous spindle Deactivate synchronous mode COUPOF Three variants are possible: • For the fast possible activation of the coupling and immediate enabling of the block change: COUPOF(S2, S1)or COUPOF(S2); without specification of the main spindle • After the deactivation positions have been crossed; the block change is not enabled until the deactivation positions POS and, where appropriate, POS have been crossed.
  • Page 555 Additional functions 13.5 Synchronous spindle System variables Current coupling status following spindle The current coupling status of the following spindle can be read in the NC parts program with the following axial system variable: $AA_COUP_ACT[FS] FS = axis name of the following spindle with spindle number, e.g., S2. The value read has the following significance for the following spindle: 0: No coupling active 4: Synchronous spindle coupling active...
  • Page 556: Electronic Gear (Eg)

    Additional functions 13.6 Electronic gear (EG) 13.6 Electronic gear (EG) 13.6 Function The "Electronic gear" function allows you to control the movement of a following axis according to linear traversing block as a function of up to five leading axes. The relationship between each leading axis and the following axis is defined by the coupling factor.
  • Page 557: Activate Electronic Gear (Egon)

    Additional functions 13.6 Electronic gear (EG) Programming B, Z, Y influence C via setpoint EGDEF(C, B, 1, Z, 1, Y, 1) The coupling type does not need to be the same for all leading axes and must be programmed separately for each individual master. The coupling factors are preset to zero when the EG axis grouping is defined.
  • Page 558 Additional functions 13.6 Electronic gear (EG) Parameters Variant 1: Following axis Block change mode The following modes can be used: "NOC" block change takes place immediately "FINE" block change is performed for "synchronism fine" "COARSE" block change is performed for "synchronism coarse"...
  • Page 559 Additional functions 13.6 Electronic gear (EG) Variant 3 only affects modulo following axes that are coupled to modulo leading axes. Time optimization takes account of velocity limits of the following axis. Description Variant 1: The positions of the leading axes and following axis at the instant the grouping is switched on are stored as "Synchronized positions".
  • Page 560: Deactivate Electronic Gear (Egofs)

    Additional functions 13.6 Electronic gear (EG) Response of the Electronic gear at Power ON, RESET, mode change, block search • No coupling is active after POWER ON. • The status of active couplings is not affected by RESET or operating mode switchover. •...
  • Page 561: Revolutional Feedrate (G95)/Electronic Gear (Fpr)

    Additional functions 13.6 Electronic gear (EG) Variant 3: The electronic gear is deactivated. The EGOFC(following spindle1) following spindle continues to traverse at the speed/velocity that applied at the instant of deactivation. This call triggers a preprocessing stop. Note This function is only allowed for spindles. Deleting the definition of an electronic gear An EG axis grouping must be switched off before its definition can be deleted.
  • Page 562: Extended Stop And Retract

    Additional functions 13.7 Extended stop and retract 13.7 Extended stop and retract 13.7 Function The "Extended stop and retract" function ESR provides a means to react flexibly to selective error sources while preventing damage to the workpiece. Available part reactions "Extended stop and retract"...
  • Page 563 Additional functions 13.7 Extended stop and retract Axial sources • Emergency retraction threshold of the following axis (synchronization of electronic coupling, $VC_EG_SYNCDIFF[following axis]) • Drive: DC link warning threshold (pending undervoltage), $AA_ESR_STAT[axis] • Drive: Generator minimum velocity threshold (no more regenerative rotation energy available), $AA_ESR_STAT[axis].
  • Page 564: Drive-Independent Responses To Esr

    Additional functions 13.7 Extended stop and retract 13.7.1 Drive-independent responses to ESR Function Independent drive reactions are defined axially, that is, if activated each drive processes its stop and retract request independently. There is no interpolatory coupling of axes or coupling adhering to the path at stop/retract, the reference to the axes is time-controlled.
  • Page 565 Additional functions 13.7 Extended stop and retract Example of the use of drive-independent response Example configuration • Axis A is to operate as generator drive, • in the event of an error, axis X must retract by 10 mm at maximum speed, and •...
  • Page 566: Nc-Controlled Reactions To Retraction

    Additional functions 13.7 Extended stop and retract 13.7.2 NC-controlled reactions to retraction Function NC-controlled reactions require certain initial conditions listed below as restrictions. If these prerequisites for retraction are satisfied, fast retraction will be activated. The retraction position POLF must be programmed in the parts program. The activate signals must be set for the retraction movement and remain set.
  • Page 567 Additional functions 13.7 Extended stop and retract Parameters geo | mach Geometry axis or channel/machine axis that retracts. Axis Axis designations of the valid single axes. Type Position values of the single axes of the type: Invalidate the position value Position value is absolute Position value is incremental (distance) Value...
  • Page 568 Additional functions 13.7 Extended stop and retract Caution The positions programmed with POLF and the activation by POLFMASK or POLFMLIN are deleted when the parts program is started. This means that the user must reprogram in each part program the values for POLF and the selected axes in POLFMASK or POLFMLIN. For more information on changing the coordinate system, the effect on modulo rotary axes, etc.
  • Page 569 Additional functions 13.7 Extended stop and retract • POLFA(axis) must be a single axis at the time of triggering. • POLFA(type) either type=1 or type=2. The activate signals must be set for the retraction movement and remain set. • The retracting movement configured with LFPOS, POLF for the axes selected with POLFMASK or POLFMLIN replaces the path motion defined for these axes in the parts program.
  • Page 570: Nc-Controlled Reactions To Stoppage

    Additional functions 13.7 Extended stop and retract 13.7.3 NC-controlled reactions to stoppage Function Stop The sequence for extended stop (NC-controlled) is specified in the following machine data: MD 21380: ESR_DELAY_TIME1 and MD 21381: ESR_DELAY_TIME2. This axis continues interpolating as programmed for the time duration set in MD 21380. After the time delay specified in MD 21380 has lapsed, controlled braking is initiated by interpolation.
  • Page 571: Drive-Independent Stopping

    Additional functions 13.7 Extended stop and retract 13.7.5 Drive-independent stopping Function The drives of a previously coupled grouping can be stopped by means of time-controlled cutout delay with minimum deviations from each other, if this cannot be performed by the control.
  • Page 572: Drive-Independent Retraction

    Additional functions 13.7 Extended stop and retract 13.7.6 Drive-independent retraction Function Axes with digital SIMODRIVE 611Digital drives can (if configured and enabled) • when the control fails (sign-of-life failure detection), • when the DC link voltage drops below a warning threshold, •...
  • Page 573: Link Communication

    Additional functions 13.8 Link communication 13.8 Link communication 13.8 Function The NCU link, the link between several NCU units of an installation, is used in distributed system configurations. 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.
  • Page 574: Access To A Global Ncu Memory Area

    Additional functions 13.8 Link communication Time behavior for accessing applications The various NCU applications that access the link memory jointly at any one time must use the link memory in a uniform way. The link memory can have different assignments for processes that are completely separated in time.
  • Page 575 Additional functions 13.8 Link communication Parameters 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) •...
  • Page 576: Axis Container (Axctwe, Axctwed)

    Additional functions 13.9 Axis container (AXCTWE, AXCTWED) 13.9 Axis container (AXCTWE, AXCTWED) 13.9 Function On rotary indexing machines/multi-spindle machines, the work-holding axes move from one machining unit to the next. Since the machining units are subject to different NCU channels, the axes holding the workpiece must be dynamically reassigned to the corresponding NCU channel if there is a change in station/ position.
  • Page 577 Additional functions 13.9 Axis container (AXCTWE, AXCTWED) Axis container The following can be assigned via the axis container: • 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.
  • Page 578 Additional functions 13.9 Axis container (AXCTWE, AXCTWED) 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. AXCTSWED () The command variant AXCTSWED(CT ) 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.
  • Page 579: Program Runtime/Workpiece Counter

    Additional functions 13.10 Program runtime/Workpiece counter 13.10 Program runtime/Workpiece counter 13.10 13.10.1 General Information about the program runtime is provided to assist the operator on 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.
  • Page 580: Workpiece Counter

    Additional functions 13.10 Program runtime/Workpiece counter 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.
  • Page 581 Additional functions 13.10 Program runtime/Workpiece counter Note The "workpiece counter" function is independent of the tool management functions. All counters can be read and written from the HMI. All counters are reset with default values when the control is powered up, and can be read/written independent of their activation.
  • Page 582: Interactive Window Call From Parts Program, Command

    Additional functions 13.11 Interactive window call from parts program, command: 13.11 Interactive window call from parts program, command: 13.11 Function You can use the MMC command to display user-defined dialog windows (dialog displays) on the HMI from the parts program. The dialog window appearance is defined in a pure text configuration (COM file in cycles directory), while the HMI system software remains unchanged.
  • Page 583: Influencing The Motion Control

    Additional functions 13.12 Influencing the motion control 13.12 Influencing the motion control 13.12 13.12.1 Percentage jerk correction (JERKLIM) 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.
  • Page 584: Percentage Velocity Correction (Velolim)

    Additional functions 13.12 Influencing the motion control 13.12.2 Percentage velocity correction (VELOLIM) 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.
  • Page 585: Master/Slave Grouping (Masldef, Masldel, Maslof, Maslof, Maslofs)

    Additional functions 13.13 Master/slave grouping (MASLDEF, MASLDEL, MASLOF, MASLOF, MASLOFS) 13.13 Master/slave grouping (MASLDEF, MASLDEL, MASLOF, MASLOF, 13.13 MASLOFS) 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.5 permits coupling and uncoupling of rotating, speed-controlled spindles and dynamic configuration.
  • Page 586 Additional functions 13.13 Master/slave grouping (MASLDEF, MASLDEL, MASLOF, MASLOF, MASLOFS) Example of the dynamic configuration of a master/slave coupling 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)
  • Page 587 Additional functions 13.13 Master/slave grouping (MASLDEF, MASLDEL, MASLOF, MASLOF, MASLOFS) After rotation by one slot: Direction of Mechanical rotation of the infeed container References: /FB2/ Function Manual, Extension Functions; Several Operator Panel Fronts and NCUs (B3), Section "Axis container " Description General MASLOF...
  • Page 588 Additional functions 13.13 Master/slave grouping (MASLDEF, MASLDEL, MASLOF, MASLOF, MASLOFS) Note For the slave axis, the actual value can be synchronized to the same value of the master axis with PRESETON. For this purpose, permanent master/slave coupling must be deactivated briefly to set the actual value of the unreferenced slave axis to the value of the master axis with Power On.
  • Page 589: User Stock Removal Programs

    User stock removal programs 14.1 Supporting function for stock removal 14.1 Function Preprogrammed stock removal programs are provided for stock removal. You can also use the following functions to develop your own stock removal programs. Note You can use these functions universally, not just for stock removal. Prerequisite Before CONTPRON or CONTDCON is called •...
  • Page 590: Contour Preparation (Contpron)

    User stock removal programs 14.2 Contour preparation (CONTPRON) Parameters CONTDCON Activate tabular contour decoding (6 columns) CONTPRON Activate tabular contour preparation (11 columns) INTERSEC Calculate the intersection of two contour elements. (Only for tables created by CONTPRON). ISPOINTS Calculate the possible intersections of two contour elements. (Only for tables created by CONTPRON).
  • Page 591 User stock removal programs 14.2 Contour preparation (CONTPRON) Parameters CONTPRON Activate contour preparation TABNAME Name of the 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 Number of relief cuts in result variable of type INT MODE...
  • Page 592 User stock removal programs 14.2 Contour preparation (CONTPRON) 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 quantity N20 DEF INT ANZHINT ;Variable for number of relief cut elements ;with name ANZHINT N30 DEF INT ERROR ;Variable for acknowledgment...
  • Page 593 User stock removal programs 14.2 Contour preparation (CONTPRON) Explanation of column contents Pointer to next contour element (to the row number of that column) Pointer to previous contour element Coding of contour mode for the movement Possible values for X = abc a = 10 G90 = 0 G91 = 1...
  • Page 594 User stock removal programs 14.2 Contour preparation (CONTPRON) Example 2: Creating curve table Create a contour table with • name KTAB, • up to 92 contour elements (circles, straight lines), • mode: Longitudinal turning, external machining, • preparation forwards and backwards. NC parts program N10 DEF REAL KTAB[92,11] ;Contour table named KTAB and, for example,...
  • Page 595 User stock removal programs 14.2 Contour preparation (CONTPRON) Table KTAB After contour preparation is finished, the contour is available in both directions. Index Column Line (10) -1111 -1111 Explanation of column contents and comments for lines 0, 1, 6, 8, 83, 85 and 91 The explanations of the column contents given in example 1 apply.
  • Page 596: Contour Decoding (Contdcon)

    User stock removal programs 14.3 Contour decoding (CONTDCON) Always in last line of table: 9) Predecessor: Line n is the contour table start (backwards) 10) Successor: Line n contains the contour start (backwards) Permitted traversing commands, coordinate system The following G commands can be used for the contour programming: G group 1: G0, G1, G2, G3 also corner and chamfer.
  • Page 597 User stock removal programs 14.3 Contour decoding (CONTDCON) applications (e.g., cycles). The data for the starting point are stored in the table cell with the number 0. Programming CONTDCON (TABNAME, MODE) Deactivate contour preparations and at the same time switch back to the normal execution mode: EXECUTE (ERROR) Parameters...
  • Page 598 User stock removal programs 14.3 Contour decoding (CONTDCON) 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 a fixed size N20 DEF INT MODE = 0 ;Default value 0: Only in programmed ;contour direction.
  • Page 599 User stock removal programs 14.3 Contour decoding (CONTDCON) Explanation of column contents Line 0 Coding for the starting point: Column 0: (units digit): G0 = 0 (tens digit): G70 = 0, G71 = 1, G700 = 2, G710 = 3 Column 1: starting point of abscissa Column 2:...
  • Page 600: Intersection Of Two Contour Elements (Intersec)

    User stock removal programs 14.4 Intersection of two contour elements (INTERSEC) 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 errors (the contour could be prepared successfully) 1 = error Invalid commands, incorrect initial conditions, CONTDCON call repeated without...
  • Page 601 User stock removal programs 14.4 Intersection of two contour elements (INTERSEC) Note Please note that variables must be defined before they are used. The values defined with CONTPRON must be observed when transferring the contours: Parameter 2 Coding of contour mode for the movement Parameter 3 Contour start point abscissa Parameter 4...
  • Page 602: Traversing A Contour Element From The Table (Exectab)

    User stock removal programs 14.5 Traversing a contour element from the table (EXECTAB) 14.5 Traversing a contour element from the table (EXECTAB) 14.5 Function You can use command EXECTAB to traverse contour elements block by block in a table generated, for example, with the CONTPRON command. Programming EXECTAB (TABNAME[n]) Parameters...
  • Page 603: Calculate Circle Data (Calcdat)

    User stock removal programs 14.6 Calculate circle data (CALCDAT) 14.6 Calculate circle data (CALCDAT) 14.6 Function Calculation of radius and circle center point coordinates from three or four known circle points. The specified points must be different. Where four points do not lie directly on the circle an average value is taken for the circle center point and the radius.
  • Page 604 User stock removal programs 14.6 Calculate circle data (CALCDAT) Example The program determines whether the three points lie along the arc of a circle. N10 DEF REAL PT[3,2]=(20,50,50,40,65,20) ;Points definition N20 DEF REAL RES[3] ;Result N30 DEF BOOL STATUS ;Variable for the status N40 STATUS = CALCDAT(PT,3,RES) ;Call calculated circle data N50 IF STATUS == FALSE GOTOF ERROR...
  • Page 605: Tables

    Tables 15.1 List of statements 15.1 The list of statements summarizes all programming commands and G codes available in the job planning. Legend: Default setting at beginning of program (factory settings of the control, if nothing else programmed). The groups are numbered according to the table in section "List of G functions/preparatory functions". Absolute end points: modal;...
  • Page 606 Tables 15.1 List of statements Tool orientation: Direction vector Real component Tool orientation for start of block Real Tool orientation for end of block; Real normal vector component Absolute value Real Input of absolute dimensions 0 ..., X=AC(100) 359.9999 ° Axial acceleration Real, w/o signs...
  • Page 607 Tables 15.1 List of statements AROT Programmable rotation Rotation AROT X... Y... Z... (additive rotation) about AROT RPL= 1st geom. ;separate block axis: -180 180° 2nd geom. axis: -89.999° ... 90° 3rd geom. axis: -180° .. 180° AROTS Programmable frame rotations with solid AROT X...
  • Page 608 Tables 15.1 List of statements B_OR Bit OR B_XOR Bit exclusive OR Tool orientation: Real Euler angles Tool orientation: Real Direction vector component Tool orientation for start of block Real Tool orientation for end of block; Real normal vector component BAUTO Definition of first spline segment by the following 3 points (begin not a knot)
  • Page 609 Tables 15.1 List of statements CALCDAT Calculate radius and center point VAR Real The points or circle from 3 or 4 points must be (calculate circle data) different. CALL Indirect subroutine call CALL PROGVAR CALLPATH Programmable search path for subroutine calls A path can be CALLPATH(/_N_W programmed to KS_DIR/...
  • Page 610 Tables 15.1 List of statements CHKDNO Check for unique D numbers Incremental approach of position See CAC (coded position: incremental coordinate) Circular interpolation through intermediate CIP X... Y... Z... point I1=... J1=... K1=... CLEARM Reset one/several markers for INT, Does not channel coordination 1 - n influence...
  • Page 611 Tables 15.1 List of statements COUPONC Transfer activation of ELG COUPONC(FS,LS) assembly/synchronized spindle pair with previous programing COUPRES Reset ELG group Programmed COUPRES(FS,LS) (couple reset) values invalid; machine data values valid Path movement (continuous path) CPRECOF Programmable contour precision OFF CPRECON Programmable contour precision ON CPROT...
  • Page 612 Tables 15.1 List of statements CTABINV Define leading axis position Real See CTAB according to following axis position from curve table CTABISLOCK Returns the lock state of the curve table with Parameter n number n CTABLOCK Set lock against deletion and overwriting Parameters n, m, and memType...
  • Page 613 Tables 15.1 List of statements CTABTSV Returns the value of the following axis at curve Following value R10 = CTABTSV(n, table start at start of curve degree, Faxis) table CTABUNLOCK Cancel locking against deletion and Parameters n, overwriting m, and memType CTRANS Zero offset for multiple axes...
  • Page 614 Tables 15.1 List of statements DEFAULT Branch in CASE branch Jump to if expression does not fulfill any of the specified values DEFINE Define macro DELAYFSTON Define start of a stop delay range Implied if (DELAY feed stop ON) G331/G332 active DELAYFSTOF Define end of a stop delay range...
  • Page 615 Tables 15.1 List of statements DRIVE Velocity-dependent path acceleration DRIVEA Switch on bent acceleration characteristic curve for the programmed axes DYNFINISH Dynamics for smooth-finishing Technology G DYNFINISH G1 X10 group Y20 Z30 F1000 DYNNORM Normal dynamics as previous DYNNORM G1 X10 m DYNPOS Dynamics for positioning mode, tapping DYNPOS G1 X10...
  • Page 616 Tables 15.1 List of statements ENDPROC End line of program with start line PROC ENDWHILE End line of WHILE loop ETAN Tangential transition to next traversing block at spline end (end tangential) EVERY Execute synchronized action if condition changes from FALSE to TRUE EXECSTRING Transfer of a string variable with the parts Indirect parts...
  • Page 617 Tables 15.1 List of statements FALSE Logical constant: Incorrect BOOL Can be replaced with integer constant 0 FCTDEF Define polynomial function Is evaluated in SYFCT or PUTFTOCF. FCUB Feedrate variable according to cubic spline Acts on feed (feed cubic) with G93 and Path feed for handwheel Real, w/o override...
  • Page 618 Tables 15.1 List of statements FOCON Activate travel with limited moment/force Counter loop with fixed number of passes Fixed point: number of fixed Integer, w/o G75 FP=1 point to be approached signs Feed characteristic programmed Real Quadratic, via a polynomial cubic (feed polynomial) polynomial...
  • Page 619 Tables 15.1 List of statements G Functions G function (preparatory Only G... function) integer, predefined The G functions are divided values into G groups. Only one G function from one group can be written in one block. A G function can either be modal (until canceled by another function from the same group), or non-modal...
  • Page 620 Tables 15.1 List of statements Thread interpolation with 0.001, ..., Motion command G33 Z... K... SF=... constant pitch 2000.00 ;cylindrical thread mm/rev G33 X... I... SF=... ;face thread G33 Z... X... K... SF=... ;taper thread (in Z axis;path larger than in the X axis) G33 Z...
  • Page 621 Tables 15.1 List of statements Inverse-time feedrate rpm Execution of a G93 G01 X... F... block: Time Linear feedrate F in mm/min or inch/min and °/min Revolutional feedrate F in mm/rev or inches/rev Constant cutting speed ON G96 S... LIMS=... F... Constant cutting speed OFF G110 Pole programming relative to the last...
  • Page 622 Tables 15.1 List of statements G505 5..99. Settable zero offset ..G599 G601 Block change at exact stop fine Only effective with active G60 G602 Block change at exact stop coarse G603 Block change at IPO - end of block G9 with G641 Exact stop - continuous-path mode...
  • Page 623 Tables 15.1 List of statements GETACTT Get active tool from a group of tools with the same name GETSELT Get selected T number GETT50 Get T number for tool name GOTO Jump statement first forward then Parts program GOTO (label, block no.) backward (direction initially to end of and can also be Labels must be present in...
  • Page 624 Tables 15.1 List of statements H... Auxiliary function output to the Real/INT settable via H100 or H2=100 machine data (machine manufacturer) Interpolation parameters Real Intermediate point coordinate Real Incremental dimensioning 0, ..., X=IC(10) ±99999.99 9° ICYCOF All blocks of a technology cycle are only within the processed in one IPO cycle following program level...
  • Page 625 Tables 15.1 List of statements ISNUMBER Check whether the input string BOOL Convert input can be converted to a number string to number ISPOINTS Possible intersections MODE machining STATE=ISPOINTS calculated by ISTAB between type (optional) (KTAB1[n1], KTAB2[n2], two contours on the current ISTAB, [MODE]) plane.
  • Page 626 Tables 15.1 List of statements LOOP Introduction of an endless loop Structure: LOOP- ENDLOOP M... Switching operations 0, ..., 9999 Up to 5 9999 unassigned M functions can be assigned by the machine manufacturer Programmed stop Optional stop End of main program with return to beginning of program Direction of spindle rotation clockwise for master spindle...
  • Page 627 Tables 15.1 List of statements MINDEX Define index of character in 0, ..., String: 1. input string parameter, character: 2. par. MIRROR Mirroring, programmable MIRROR X0 Y0 Z0 ;separate block Calling the dialog window STRING interactively from the parts program on the HMI Modulo division Start positioning axis Real...
  • Page 628 Tables 15.1 List of statements ORIC Orientation changes at outside corners are superimposed on the circle block to be inserted (orientation change continuously) ORID Orientation changes are performed before the circle block (orientation change discontinuously) ORIAXPOS Orientation angle via virtual orientation axes with rotary axis positions ORIEULER Orientation angle via Euler angle...
  • Page 629 Tables 15.1 List of statements ORIVIRT1 Orientation angle via virtual orientation axes (definition 1) ORIVIRT2 Orientation angle via virtual orientation axes (definition 1) ORIMKS Tool orientation in the workpiece coordinate system ORIRESET Initial setting of tool orientation with up to 3 Parameter ORIRESET(A,B,C) orientation axes...
  • Page 630 Tables 15.1 List of statements Number of subroutine passes 1, ..., e.g., L781 P... 9999, ;separate block integers w/o signs PCALL Call subroutines with the absolute path and No absolute path parameter transfer response like CALL PDELAYOF Punch with delay OFF PDELAYON Punch with delay ON Parameter interval length...
  • Page 631 Tables 15.1 List of statements PRESETON Sets the actual value for programmed axes One axis PRESETON(X,10,Y,4.5) identifier is programmed at a time, with its respective value in the next parameter. Up to 8 axes possible PRIO Keyword for setting the priority for interrupt processing PROC First instruction in a program...
  • Page 632 Tables 15.1 List of statements R... Arithmetic variables ±0.000000 Number of R R10=3 ;R parameter also as settable address 1, ..., parameters can assignment identifier and 9999 9999 be set by MD X=R10 ;axis value with numerical extension R[R10]=6 ;indirect progr. RDISABLE Read-in disable READ...
  • Page 633 Tables 15.1 List of statements RESET Reset technology cycle One or several IDs can be programmed Subroutine end Use in place of M17 – without function output to RINDEX Define index of character in 0, ..., String: input string 1st parameter, character: 2.
  • Page 634 Tables 15.1 List of statements Spindle speed or 0.1, ..., Spindle speed in S...: Speed for m, s (with G4, G96/G961) other 99999999. master spindle meaning G4: Dwell time in S1...: Speed for spindle 1 spindle revolutions G96/G961: cutting speed in m/min SAVE Attribute for saving information at...
  • Page 635 Tables 15.1 List of statements Starting point offset for thread 0.0000,..., cutting (spline offset) 359.999° Sine (trigon. function) Real SOFT Soft smoothed path acceleration SOFTA Switch on soft axis acceleration for the programmed axes Nibbling ON (stroke ON) SONS Nibbling ON in IPO cycle (stroke ON slow) SPATH Path reference for FGROUP axes is arc length...
  • Page 636 Tables 15.1 List of statements Sparking out time axial for synchronized action START Start selected programs simultaneously in ineffective for the START(1,1,2) or several channels from current program local channel START(CH_X, CH_Y) STAT Position of joints Integer STARTFIFO Execute; simultaneously fill preprocessing memory STOPFIFO Stop machining;...
  • Page 637 Tables 15.1 List of statements SYNRW The variable is read and written synchronously, i.e., at execution time (synchronous read-write) SYNW The variable is written synchronously, i.e., at execution time (synchronous write) Call tool 1 ... 32 Call using T-no.: e.g., T3 or T=3 (only change if specified in or with tool machine data;...
  • Page 638 Tables 15.1 List of statements Defines the end value in a FOR counter loop TOFFOF Deactivate on-line tool offset TOFFON Activate online tool length compensation Specify a 3D TOFFON (Z, 25) with (Tool Offset ON) offset direction offset direction Z offset value 25 TOFRAME Set current programmable frame to tool...
  • Page 639 Tables 15.1 List of statements TRACEON Circularity test: Transfer of values ON TRACON Transformation concatenated TRACYL Cylinder: Peripheral surface transformation see TRAANG TRAFOOF Deactivate transformation TRAFOOF( ) TRAILOF Synchronous coupled motion of axes OFF (trailing OFF) TRAILON Synchronous coupled motion of axes ON (trailing ON) TRANS Programmable translation...
  • Page 640 Tables 15.1 List of statements WALCS0 WORK-working area limitation deselected WALCS1 WORK-working-area-limitation group 1 active WALCS2 WORK-working-area-limitation group 2 active WALCS3 WORK-working-area-limitation group 3 active WALCS4 WORK-working-area-limitation group 4 active WALCS5 WORK-working-area-limitation group 5 active WALCS6 WORK-working-area-limitation group 6 active WALCS7 WORK-working-area-limitation group 7 active...
  • Page 641 List of abbreviations Output Automation system ASCII American Standard Code for Information Interchange: American coding standard for the exchange of information ASIC Application Specific Integrated Circuit: User switching circuit ASUB Asynchronous subroutine AuxF Auxiliary function Job planning Operating mode Ready to run Binary Coded Decimals: Decimal numbers encoded In binary code Basic Coordinate System Binary files (Binary Files)
  • Page 642: List Of Abbreviations

    List of abbreviations Direct Control: Movement of the rotary axis via the shortest path to the absolute position within one revolution Data Carrier Detect Dynamic Data Exchange Deutsche Industrie Norm (German Industry Standard) Data Input/Output: Data transfer display Directory: Directory Dynamic Link Library Data transmission equipment Disk Operating System...
  • Page 643 List of abbreviations High-resolution Measuring System Hardware Input/Output Infeed/regenerative-feedback unit (power supply) of the SIMODRIVE 611digital Startup Drive module pulse enable IK (GD) Implicit communication (global data) Interpolative Compensation: Interpolatory compensation Interface Module Interconnection module Interface Module Receive: Interconnection module for receiving data Interface Module Send: Interconnection module for sending data Increment: Increment Initializing Data: Initializing data...
  • Page 644 List of abbreviations Numerical Control Kernel: NC kernel with block preparation, traversing range, etc. Numerical Control Unit: Hardware unit of the NCK Name for the operating system of the NCK NURBS Non-Uniform Rational B-Spline Organization block in the PLC Original Equipment Manufacturer Operator Panel Operator Panel: Operating setup Operator Panel Interface...
  • Page 645 List of abbreviations Serial Synchronous Interface: Synchronous serial interface Statement list Software System Files System files Tool Tool change Testing Data Active: Identifier for machine data Tool length compensation TNRC Tool Nose Radius Compensation Tool offset Tool Offset: Tool offset Tool Offset Active: Identifier (file type) for tool offsets TRANSMIT TRANSform Milling Into Turning: Coordinate conversion on turning machine for...
  • Page 646 List of abbreviations Job planning Programming Manual, 03/2006 Edition, 6FC5398-2BP10-1BA0...
  • Page 647: Glossary

    Glossary Absolute dimensions A destination for an axis movement is defined by a dimension that refers to the origin of the currently active coordinate system. See -> incremental dimension. Acceleration with jerk limitation In order to optimize the acceleration response of the machine whilst simultaneously protecting the mechanical components, it is possible to switch over in the machining program between abrupt acceleration and continuous (jerk-free) acceleration.
  • Page 648 Glossary Automatic Operating mode of the control (block sequence operation according to DIN): Operating Mode in NC systems in which a -> parts program is selected and continuously executed. Auxiliary functions Auxiliary functions can be used to transfer -> parameters to the -> PLC in -> parts programs, where they trigger reactions which are defined by the machine manufacturer.
  • Page 649 Glossary Backup battery A backup battery ensures that the → user program is stored retentively in the → CPU along with specified data areas and bit memory, timers, and counters. Back-up memory The backup memory enables buffering of memory areas of the -> CPU without a buffer battery.
  • Page 650 Glossary C axis Axis around which the tool spindle describes a controlled rotational and positioning movement. C spline The C-spline is the most well-known and widely used spline. The transitions at the interpolation points are continuous, both tangentially and in terms of curvature. 3rd order polynomials are used.
  • Page 651 Glossary Connecting cable Connecting cables are pre-assembled or user-assembled 2-wire cables with a connector at each end. This connecting cable connects the → CPU to a → programming device or to other CPUs by means of a → multi-point interface (MPI). Continuous-path mode The purpose of continuous-path mode is to prevent excessive deceleration of the ->...
  • Page 652 Glossary Diagnosis 1. Control operating area 2. The control has both a self-diagnostics program and testing aids for service. Status, alarm and service indicators. Digital input/output module Digital modules are signal formers for binary process signals. Dimensions in metric units and inches Position and gradient values can be entered in the machining program in inches.
  • Page 653 Glossary Exact stop limit When all path axes reach their exact stop limits, the control responds as if it had reached its destination point precisely. The -> part program continues execution at the next block. External zero offset Zero offset specified by the -> PLC. Fast retraction from contour When an interrupt occurs, a motion can be initiated via the CNC machining program, enabling the tool to be quickly retracted from the workpiece contour that is currently being...
  • Page 654 Glossary Global main program/subroutine Every global main program/subroutine can only appear once under its own name in the directory, and it is not possible to have the same program name in different directories with different contents as a global program. Ground Ground is taken as the total of all linked inactive parts of a device which will not become live with a dangerous contact voltage even in the event of a malfunction.
  • Page 655 Glossary Inclined surface machining Drilling and milling operations on workpiece surfaces that do not lie in the coordinate planes of the machine can be performed easily using the "inclined-surface machining" function. Increment Traversed distance information via the number of increments. The number of increments can be stored as →...
  • Page 656 Glossary Interrupts All alarms and -> messages are output on the operator panel in plain text with the date and time and a symbol indicating the cancel criterion. The display is divided into alarms and messages. 1. Alarms and messages in the part program: Alarms and messages can be displayed in plain text directly from the part program.
  • Page 657 Glossary Linear axis The linear axis is an axis which, in contrast to a rotary axis, describes a straight line. Linear interpolation The tool travels along a straight line to the destination point while machining the workpiece. Load memory For the CPU 314 of the -> PLC, the load memory is equal to the -> Work memory . Look ahead With the look ahead function, a configurable number of traversing blocks is read in advance in order to calculate the optimum machining velocity.
  • Page 658 Glossary Main block A block prefixed by ":" containing all the parameters required to start execution of a -> parts program. Main program Parts program identified by a number or identifier in which further main programs, subroutines or -> cycles may be called. Mains The term "network"...
  • Page 659 Glossary The parameter block "Multipoint Interface MPI" of the CPU contains the -> parameters which define the properties of the multipoint interface. Name of identifier The words according to DIN 66025 are supplemented by the identifiers (names) for variables (computer variable, system variable, user variable), for subroutines, for keywords and words with several address letters.
  • Page 660 Glossary Operating mode An operating concept on a SINUMERIK control. The operating modes -> Jog, -> MDA and -> Automatic are defined. Oriented spindle stop Stops the workpiece spindle with a specified orientation angle, e.g. to perform an additional machining operation at a specific position. Oriented tool retraction RETTOOL: If machining is interrupted (because of tool breakage, for example), a program command can be used retract the tool with a defined orientation by a defined path.
  • Page 661 Glossary Path feed Path feed acts on -> path axes. It represents the geometrical sum of the feeds on the participating -> geometry axes. Path velocity The maximum programmable path velocity depends on the input resolution. For example, with a resolution of 0.1 mm the maximum programmable path velocity is 1000 m/min. Programmable Logic Control: Component of →...
  • Page 662 Glossary Programmable frames Programmable → frames enable dynamic definition of new coordinate system output points while the part program is being executed. A distinction is made between absolute definition using a new frame and additive definition with reference to an existing starting point. Programmable Logic Controller Programmable logic controllers (PLC) are electronic controls, the function of which is stored as a program in the control unit.
  • Page 663 Glossary Rotary axis Rotary axes rotate a workpiece or tool to a defined angular position. Rotation Component of a → frame that defines a rotation of the coordinate system around a particular angle. Rounding axis Rounding axes rotate a workpiece or tool to an angular position corresponding to an indexing grid.
  • Page 664 Glossary Software limit switch Software limit switches limit the traversing range of an axis and prevent an abrupt stop of the slide at the hardware limit switch. Two value pairs can be specified for each axis and activated separately by means of the → PLC. Spline interpolation With spline interpolation, the controller can generate a smooth curve characteristic from only a few specified interpolation points of a set contour.
  • Page 665 Glossary For time-critical switching functions, the acknowledgement times for the → auxiliary functions can be minimized and unnecessary hold points in the machining process can be avoided. Synchronized axes Synchronized axes take the same time to traverse as geometry axes take for their path. System memory The system memory is a memory in the CPU in which the following data are stored: •...
  • Page 666 Glossary Tool Nose Radius Compensation Contour programming assumes that the tool is pointed. Because this is not actually the case in practice, the curvature radius of the utilized tool must be communicated to the control which then takes it into account. The curvature center is maintained equidistantly around the contour offset by the radius of curvature.
  • Page 667 Glossary Variable definition A variable definition includes the specification of a data type and a variable name. The variable names can be used to access the value of the variables. Velocity control In order to be able to achieve an acceptable traversing velocity on very short traverse movements within a single block, predictive velocity control can be set over several blocks (->...
  • Page 668 Glossary Workpiece contour Set contour of the → workpiece to be created or machined. Workpiece coordinate system The workpiece coordinate system has its starting point in the → workpiece zero. In machining operations programmed in the workpiece coordinate system, the dimensions and directions refer to this system.
  • Page 669: Index

    Index Access to curve table positions and curve table segments, 9-27 ACOS, 1-19 Acquiring and finding untraceable sections, 9-50 $AA_COUP_ACT, 9-11, 9-36, 13-23 ACTFRAME, 6-6 $AA_COUP_OFFS, 13-23 Actual value coupling, 13-15 $AA_LEAD_SP, 9-36 Adaptive control, additive, 10-34 $AA_LEAD_SV, 9-36 Adaptive control, multiplicative, 10-35 $AA_MOTEND, 5-40 ADISPOSA, 5-38 $AC_MARKER[n], 10-14...
  • Page 670 Index Axial feed, 10-51 C5, 7-16, 7-22 Axial master value coupling, 9-31 CAC, 5-1 Axis CACN, 5-1 Local, 13-45 CACP, 5-1 AXIS, 1-4 CALCDAT, 14-2, 14-15 Axis container, 13-44, 13-47 Calculate circle data, 14-15 Axis coordination, 10-52 Calculate intersection of two contour elements, 14-2 Axis positioning, 10-43 CALL, 2-21, 2-22 Specified reference position, 10-45...
  • Page 671 Index Contour elements, intersection, 14-12 CTABMSEG, 9-21 Contour preparation, 14-3, 14-9 CTABNOMEM, 9-20 Relief cut elements, 14-8 CTABPERIOD, 9-20 Contour table, 14-3, 14-9 CTABPOLID, 9-21 CONTPRON, 14-2, 14-3, 14-12, 14-14 CTABSEG, 9-20 Control structures, 1-36 CTABSEGID, 9-20 Restrictions, 1-38 CTABSEV, 9-27, 9-28 Runtime response, 1-37 CTABSSV, 9-27, 9-28 Conversion routines, 10-10...
  • Page 672 Index Determining the T number, 8-39 Electronic gear, 13-24 Freely assigned, 8-36 ELSE, 1-37 Renaming, 8-38 ENABLE, 1-46 DC link backup, 13-38 ENAT, 5-4 Deactivate/reactivate interrupt routine, 1-50 End angle, 7-36 Deactivation position, 13-22 ENDFOR, 1-37 DEF, 1-4, 1-9, 3-8, 10-67 ENDIF, 1-37 DEFAULT, 1-34 ENDLOOP, 1-37...
  • Page 673 Index FILEINFO, 1-67 G05, 7-67 FILESIZE, 1-67 G07, 7-67 FILESTAT, 1-67 G1, 11-3 FILETIME, 1-67 G153, 6-21 FINE, 13-15, 13-19 G25, G26, 9-5 Fine offset, 6-16 G4, 11-2 FINEA, 5-38 G450, 8-24 First basic frame in the channel, 6-27 G451, 8-24 FLIN, 9-37 G53, 6-21 FMA, 15-13...
  • Page 674 Index Indirect G code programming, 1-13 Indirect programming, 1-13 Laser power control, 10-32 Indirect subroutine call, 1-14 Laxis, 9-3, 9-9, 9-14, 9-23, 9-28, 9-32 INIT, 1-41 LEAD, 7-16, 8-31 Initial tool orientation setting ORIRESET, 7-14 Lead angle, 7-16 Initialization of array variables, 10-59 Leading axis, 9-31 Initialization program, 3-6 Leading value coupling, 10-56...
  • Page 675 Index Actual value and setpoint coupling, 9-31, 9-35 Overview, 10-24 from static synchronized actions, 9-32 Programming, 10-2 Synchronization of leading and following axis, 9-34 MOV, 10-46 Master value simulation, 9-35 MPF, 3-3 MATCH, 1-31 MU, 7-66 Mathematical function MZ, 7-66 *, 1-19 /, 1-19 +, 1-19...
  • Page 676 Index Orientation interpolation, 7-29, 7-42 OSE, 11-2, 11-5 Orientation programming, 7-26, 7-42 OSNSC, 11-2, 11-6 Orientation relative to the path OSOF, 8-31 Inserting intermediate blocks, 7-43 OSP, 11-4 Rotation of the orientation vector, 7-41 OSP1, 11-2, 11-6 Rotation of the tool orientation, 7-40 OSP2, 11-2, 11-6 Rotations of the tool, 7-39 OSS, 8-31...
  • Page 677 Index PO, 5-17 Search path for subroutine call, 3-5 PO[PHI], 7-34, 7-40 Selecting a workpiece, 3-4 PO[PSI], 7-34 Workpiece directories, 3-3 PO[THT], 7-34, 7-40 Workpiece directory, 3-3 PO[XH], 7-34 Program repetition, 2-18 PO[YH], 7-34 Program run with preprocessing memory, 9-42 PO[ZH], 7-34 Program runtime, 13-47 Polar transformation, 7-5...
  • Page 678 Index QECLRNOF, 13-11 Reversal QECLRNON, 13-11 Point, 11-6 QECTEST.MPF, 13-11 RINDEX, 1-31 Quadrant error compensation RMB, 9-52 Activate the learning process, 13-10 RME, 9-52 Deactivate the learning process, 13-10 RMI, 9-52 Relearning, 13-11 Rotary axes Quantity of parts, fixed, 1-37 Direction vectors V1, V2, 8-40 Distance vectors l1, l2, 8-40 ROTS, 6-15...
  • Page 679 Index Sparking-out stroke, 11-2 STRINGVAR, 1-26 SPATH, 5-22 STRLEN, 1-30 Speed coupling, 13-15 Structuring statement for the Step editor, 3-24 Speed ratio, 13-18 Subroutine call SPF, 3-3 indirect, 1-14 SPI, 13-1, 13-2, 13-21 Subroutine call with M/T function, 2-31 SPIF1, 15-31 Subroutine call, search path, 3-5 SPIF2, 15-31 Subroutine with path specification and parameters, 2-...
  • Page 680 Index Define pair, 13-17 TOFFOF, 7-48, 10-41 Delete coupling, 13-22 TOFFON, 7-48, 10-41 Pair, 13-12 TOFRAME, 6-15 Speed ratio SRT, 13-18 TOLOWER, 1-30 System variables, 1-2 Tool management, 8-5 SYNFCT, 10-33 Tool monitoring, grinding-specific, 8-11 SYNFCT() evaluation function, 10-33 Tool offset System variables, 1-1, 10-9, 13-42 3D face milling, 8-18 Global, 13-42...
  • Page 681 Index Transformation types user-defined, 1-1 General function, 7-1 User-defined variable, 1-3 Transformation with a swiveling linear axis, 7-11 Variable types, 1-1 Transformation, five-axis Variable definition, 1-3, 10-11 Programming in Euler angles, 7-18 Variable type, 1-4 Programming in RPY angles, 7-19 VARIB, 14-15 Programming of path curve in surface normal VELOLIM, 13-52...
  • Page 682 Index Job planning Index-14 Programming Manual, 03/2006 Edition, 6FC5398-2BP10-1BA0...
  • Page 683 Suggestions SIEMENS AG Corrections For Publication/Manual: A&D MC MS1 Postfach 3180 SINUMERIK 840D sl/840Di sl/ 840D/840Di/810D D-91050 Erlangen Job Planning Tel.: +49 (0) 180 5050 – 222 [Hotline] Fax: +49 (0) 9131 98 – 63315 [Documentation] User Documentation mailto:[email protected] Programming Manual From Order No.:...
  • Page 685 Overview of SINUMERIK 840D sl/840Di sl Documentation (03/2006) General Documentation SINAMICS SINUMERIK SINUMERIK S120 840D sl 840Di sl Brochure Catalog NC 61 *) Catalog D21.2 Servo Control *) User Documentation SINUMERIK SINUMERIK SINUMERIK SINUMERIK SINUMERIK 840D sl 840D sl 840D sl...
  • Page 687 Overview of SINUMERIK 840D/840Di/810D Documentation (03/2006) General Documentation Saftey Integrated SINUMERIK SINUMERIK 840D 840Di 810D Brochure Catalog NC 61 *) Saftey Integrated Application Manual User Documentation SINUMERIK SINUMERIK SINUMERIK SINUMERIK SINUMERIK SINUMERIK 840D sl 840D sl 840D sl 840D sl 840D 840Di 840D...

Table of Contents