Siemens SINUMERIK 828D Function Manual

Siemens SINUMERIK 828D Function Manual

Synchronized actions
Hide thumbs Also See for SINUMERIK 828D:
Table of Contents

Advertisement

Synchronized actions

SINUMERIK
SINUMERIK 840D sl / 828D
Synchronized actions
Function Manual
Valid for
Controls
SINUMERIK 840D sl / 840DE sl
SINUMERIK 828D
Software Version
CNC software 4.5 SP1
07/2012
6FC5397-5BP40-3BA0

___________________
Preface
___________________
Brief description
___________________
Detailed description
___________________
Examples
___________________
Data lists
___________________
Appendix
1
2
3
4
A

Advertisement

Table of Contents
loading

Summary of Contents for Siemens SINUMERIK 828D

  • Page 1 Brief description ___________________ Detailed description SINUMERIK ___________________ Examples SINUMERIK 840D sl / 828D ___________________ Synchronized actions Data lists ___________________ Appendix Function Manual Valid for Controls SINUMERIK 840D sl / 840DE sl SINUMERIK 828D Software Version CNC software 4.5 SP1 07/2012 6FC5397-5BP40-3BA0...
  • Page 2 Note the following: WARNING Siemens products may only be used for the applications described in the catalog and in the relevant technical documentation. If products and components from other manufacturers are used, these must be recommended or approved by Siemens. Proper transport, storage, installation, assembly, commissioning, operation and maintenance are required to ensure that the products operate safely and without any problems.
  • Page 3: Preface

    Training For information about the range of training courses, refer under: ● www.siemens.com/sitrain SITRAIN - Siemens training for products, systems and solutions in automation technology ● www.siemens.com/sinutrain SinuTrain - training software for SINUMERIK FAQs You can find Frequently Asked Questions in the Service&Support pages under Product Support.
  • Page 4 Preface SINUMERIK You can find information on SINUMERIK under the following link: www.siemens.com/sinumerik Target group This publication is intended for: ● Project engineers ● Technologists (from machine manufacturers) ● System startup engineers (Systems/Machines) ● Programmers Benefits The function manual describes the functions so that the target group knows them and can select them.
  • Page 5: Table Of Contents

    Contents Preface ..............................3 Brief description ............................9 Detailed description ..........................11 Definition of a synchronized action ....................11 Components of synchronized actions..................12 2.2.1 Validity, identification number (ID, IDS) ..................12 2.2.2 Frequency (WHENEVER, FROM, WHEN, EVERY)..............13 2.2.3 G function (condition)........................14 2.2.4 Condition ............................15 2.2.5 G function (action)........................16...
  • Page 6 Contents 2.7.6 Cancel preprocessing stop (STOPREOF) .................. 80 2.7.7 Delete distance-to-go (DELDTG)....................81 2.7.8 Traversing command axes (POS)....................83 2.7.9 Setting the measuring system (G70, G71, G700, G710)............87 2.7.10 Position in specified reference range (POSRANGE)..............89 2.7.11 Starting/stopping axes (MOV) ..................... 90 2.7.12 Axial feedrate (FA) ........................
  • Page 7 Contents 3.3.3 Control velocity as a function of normalized path ..............147 Monitoring a safety clearance between two axes ..............149 Store execution times in R parameters..................150 "Centering" with continuous measurement................151 Axis couplings via synchronized actions..................155 3.7.1 Coupling to leading axis......................155 3.7.2 Non-circular grinding via master value coupling ................156 3.7.3 On-the-fly parting ........................160...
  • Page 8 Contents Synchronized actions Function Manual, 07/2012, 6FC5397-5BP40-3BA0...
  • Page 9: Brief Description

    Brief description General A synchronized action consists of a series of related statements within a part program that is called cyclically in the interpolation cycle synchronously to the machining blocks. A synchronized action is essentially divided into two parts, the optional condition and the obligatory action part.
  • Page 10 Brief description Examples of non-permissible actions ● Traversing of path axes Schematic diagram of synchronized actions Synchronized actions Function Manual, 07/2012, 6FC5397-5BP40-3BA0...
  • Page 11: Detailed Description

    Detailed description Definition of a synchronized action A synchronized action is defined in a block of a part program. Any further commands that are not part of the synchronized action, must not be programmed within this block. Components of a synchronized action A synchronized action consists of the following components: Condition part Action part...
  • Page 12: Components Of Synchronized Actions

    Detailed description 2.2 Components of synchronized actions Components of synchronized actions 2.2.1 Validity, identification number (ID, IDS) Validity The validity defines when and where the synchronized action will be processed: Validity Meaning "No specification" Non-modal synchronized action A non-modal synchronized action applies: As long as the main run block following the synchronized action is active •...
  • Page 13: Frequency (Whenever, From, When, Every)

    Detailed description 2.2 Components of synchronized actions Identification numbers If several synchronized actions are to be active in parallel in a channel, their identification numbers must be different. Synchronized actions with the same identification number replace each other within a channel. Sequence of execution Modal and static synchronized actions are executed in the order of their identification numbers...
  • Page 14: G Function (Condition)

    Detailed description 2.2 Components of synchronized actions 2.2.3 G function (condition) Defined initial state With regard to the part program sequence, synchronized actions can be executed at any time depending on fulfillment of the condition. It is therefore recommended that the measuring system (inch or metric) be defined in a synchronized action before the condition and/or in the action part.
  • Page 15: Condition

    Detailed description 2.2 Components of synchronized actions 2.2.4 Condition Execution of the action can be made dependent on the fulfillment of a condition. As long as the synchronized action is active, the condition is checked cyclically in the interpolation cycle. If no condition is specified, the action is executed cyclically in every interpolation cycle. All operations that return a truth value (TRUE/FALSE) as the result can be programmed as a condition: ●...
  • Page 16: G Function (Action)

    Detailed description 2.2 Components of synchronized actions 2.2.5 G function (action) Defined initial state With regard to the part program sequence, synchronized actions can be executed at any time depending on fulfillment of the condition. Therefore, it is advisable to define the required measuring system (inch or metric) in the action part in a synchronized action.
  • Page 17: System Variables For Synchronized Actions

    Detailed description 2.3 System variables for synchronized actions System variables for synchronized actions The system variables of the NCK are listed in the "System Variables" Parameter Manual with their respective properties. System variables that can be read or written in synchronized actions, are marked with an "X"...
  • Page 18 Detailed description 2.3 System variables for synchronized actions System variables Generally, all system variables that can be used in synchronized actions are read/written in the main run. These system variables are marked with an "X" in the "Read" and/or "Write" line of the "SA"...
  • Page 19: Operators And Arithmetic Functions

    Detailed description 2.3 System variables for synchronized actions 2.3.2 Operators and arithmetic functions Operators Arithmetic operators System variables of the REAL and INT type can be linked by the following operators: Operator Meaning Addition Subtraction Multiplication Division, caution: INT/INT = REAL Integer division, caution: INT/INT = INT Modulo division (only for type INT) supplies remainder of an INT division Example: 3 MOD 4 = 3...
  • Page 20 Detailed description 2.3 System variables for synchronized actions Boolean operators Operator Meaning Exclusive OR Bit logic operators Operator Meaning B_OR Bit-by-bit OR B_AND Bit-by-bit AND B_XOR Bit-by-bit exclusive OR B_NOT Bit-by-bit negation Priority of the operators The operators have the following priorities for execution in the synchronized action (highest priority: 1): Prio.
  • Page 21 Detailed description 2.3 System variables for synchronized actions Example of a condition with an expression with several operators: Program code ... WHEN ($AA_IM[X] > VALUE) AND ($AA_IM[Y] > VALUE1) DO ... Arithmetic functions Operator Meaning Sin() Sine COS() Cosine TAN() Tangent ASIN() Arc sine...
  • Page 22: Type Conversions

    Detailed description 2.3 System variables for synchronized actions 2.3.3 Type conversions An implicit type conversion is performed between the following data types for value assignments and parameter transfers with different data types: ● REAL ● INT ● BOOL Note Conversion REAL to INT For the conversion from REAL to INT, a decimal place value ≧...
  • Page 23 Detailed description 2.3 System variables for synchronized actions Conversion: INT $AC_MARKER → BOOL $A_OUT Program code $AC_MARKER[1]=561 ID=1 WHEN $A_IN[1] == TRUE DO $A_OUT[0]=$AC_MARKER[1] Conversion: REAL $R401 → BOOL $A_OUT Program code R401 = 100.542 WHEN $A_IN[0] == TRUE DO $A_OUT[2]=$R401 Conversion: BOOL $A_OUT →...
  • Page 24: Marker/Counter ($Ac_Marker)

    Detailed description 2.3 System variables for synchronized actions 2.3.4 Marker/counter ($AC_MARKER) The $AC_MARKER[<index>] variables are channel-specific arrays of system variables for use as markers or counters. Data type: INT (integer) <Index>: Array index: 0, 1, 2, ... (max. number - 1) Number per channel The maximum number of $AC_MARKER variables per channel can be set via the machine data:...
  • Page 25: Parameters ($Ac_Param)

    Detailed description 2.3 System variables for synchronized actions 2.3.5 Parameters ($AC_PARAM) The $AC_PARAM[<index>] variables are channel-specific arrays of system variables for use as general buffers. Data type: REAL <Index>: Array index: 0, 1, 2, ... (max. number - 1) Number per channel The maximum number of $AC_PARAM variables per channel can be set via the machine data: MD28254 $MC_MM_NUM_AC_PARAM = <maximum number>...
  • Page 26: R Parameters ($R)

    Detailed description 2.3 System variables for synchronized actions 2.3.6 R parameters ($R) Whether R-parameters are treated as preprocessing or main run variables depends on whether they are written with or without $ characters. In principle, the notation is freely selectable. For use in synchronized actions, R parameters should be used as main run variables, i.e.
  • Page 27: Machine And Setting Data ($$M, $$S)

    Detailed description 2.3 System variables for synchronized actions 2.3.7 Machine and setting data ($$M, $$S) Reading and writing MD and SD When machine and setting data is used in synchronized actions, a distinction must be made as to whether this remains unchanged during the execution of the synchronized action, or is changed through parallel processes.
  • Page 28: Timer ($Ac_Timer)

    Detailed description 2.3 System variables for synchronized actions Writing during the main run The following requirements must be satisfied for writing during the main run: ● The access authorization at the time of writing must be sufficient for writing. ● The machine or setting data must have the property "Effective immediately". Program code ;...
  • Page 29 Detailed description 2.3 System variables for synchronized actions Function Starting A timer is started by assigning a value ≥ 0: $AC_TIMER[<index>] = <starting value>; with starting value ≥ 0 Incrementing The value of the timer is incremented by the duration of the set interpolation cycle (MD10071 IPO_CYCLE_TIME) each interpolation cycle.
  • Page 30: Fifo Variables ($Ac_Fifo)

    Detailed description 2.3 System variables for synchronized actions 2.3.9 FIFO variables ($AC_FIFO) Special data structures managed by the NC are provided via $AC_FIFO variables within the R parameters. These are organized as ring buffers that work according to the FIFO principle (First In, First Out).
  • Page 31 Detailed description 2.3 System variables for synchronized actions The array elements as of index 6 contain the user data: Index Meaning Write/read: The 1st array element for user data is addressed Write/read: The 2nd array element for user data is addressed Write/read: The nth array element for user data is addressed Note Overwriting of user data...
  • Page 32 Detailed description 2.3 System variables for synchronized actions Total number of R parameters in the channel The total number of R parameters in the channel can be set via the machine data: MD28050 $MC_MM_NUM_R_PARAM = <maximum number> The number of R parameters in the channel set in the machine data must be at least as large as the number of R parameters required for the $AC_FIFO variables: <Maximum number>...
  • Page 33 Detailed description 2.3 System variables for synchronized actions Example Serial determination of the length of workpieces that move past an automatic measuring station on a conveyor belt. The measurement results are written to or read from the $AC_FIFO1 system variable via synchronized actions.
  • Page 34: Path Tangent Angle ($Ac_Taneb)

    Detailed description 2.3 System variables for synchronized actions 2.3.10 Path tangent angle ($AC_TANEB) The angle between the tangent at the end point of the current block and the tangent at the start point of the following block can be read via the channel-specific system variable $AC_TANEB (Tangent ANgle at End of Block).
  • Page 35 Detailed description 2.3 System variables for synchronized actions Channel-specific rapid traverse override With G0 blocks (rapid traverse), the rapid traverse feedrate can also be influenced via the setting data SD42122 $SC_OVR_RAPID_FACTOR in addition to the system variable $AC_OVR. Requirement: Release of the rapid traverse override via the user interface. Axis-specific override The axial feedrate can be changed via the axis-specific system variable $AA_OVR: Data type:...
  • Page 36 Detailed description 2.3 System variables for synchronized actions Effective override Effective channel-specific override The effective channel-specific override can be read via the channel-specific system variable $AC_TOTAL_OVR: Data type: REAL Unit: Range of 0.0 to maximum value values: Effective axis-specific override The effective axis-specific override can be read via the axis-specific system variable $AA_TOTAL_OVR: Data type:...
  • Page 37: Capacity Evaluation ($An_Ipo

    Detailed description 2.3 System variables for synchronized actions 2.3.12 Capacity evaluation ($AN_IPO ... , $AN/AC_SYNC ... , $AN_SERVO) The values of the current, maximum and average system utilization due to synchronized actions can be read via the following system variables: NC-specific system variable Meaning $AN_IPO_ACT_LOAD...
  • Page 38 Detailed description 2.3 System variables for synchronized actions Activation The system variables contain only valid values when the following applies: MD11510 $MN_IPO_MAX_LOAD > 0 (maximum permissible interpolator utilization) Note The variables always contain the values of the previous interpolator cycle. Overload limit An overload limit can be set via the following machine data: MD11510 $MN_IPO_MAX_LOAD = <maximum permissible utilization in %>...
  • Page 39: Working-Area Limitation ($Sa_Workarea

    Detailed description 2.3 System variables for synchronized actions Example Program code Comment $MN_IPO_MAX_LOAD=80 Overload limit ; Initialization of the min./max. values N01 $AN_SERVO_MAX_LOAD=0 N02 $AN_SERVO_MIN_LOAD=0 N03 $AN_IPO_MAX_LOAD=0 N04 $AN_IPO_MIN_LOAD=0 N05 $AN_SYNC_MAX_LOAD=0 N06 $AC_SYNC_MAX_LOAD=0 ; Alarm 63111 when the overload limit is exceeded N10 IDS=1 WHENEVER $AN_IPO_LOAD_LIMIT == TRUE DO M4711 SETAL(63111) ;...
  • Page 40: Sw Cam Positions And Times ($$Sn_Sw_Cam

    Detailed description 2.3 System variables for synchronized actions 2.3.14 SW cam positions and times ($$SN_SW_CAM_ ...) The values of the SW cam positions and times can be read and written via the following setting data: NC-specific setting data Meaning $SN_SW_CAM_MINUS_POS_TAB_1[0..7] Minus cam positions $SN_SW_CAM_MINUS_POS_TAB_2[0..7] Minus cam positions...
  • Page 41: Path Length Evaluation / Machine Maintenance ($Aa_Travel

    Detailed description 2.3 System variables for synchronized actions 2.3.15 Path length evaluation / machine maintenance ($AA_TRAVEL ... , $AA_JERK ... ) The data of the path length evaluation, e.g. for machine maintenance, can be read via the system variables listed below. Activation The activation for the recording of the path length evaluation data is performed via: MD18860 $MN_MM_MAINTENANCE_MON = 1...
  • Page 42: Polynomial Coefficients, Parameters ($Ac_Fct

    Detailed description 2.3 System variables for synchronized actions References For a detailed description of the function, refer to: Function Manual, Special Functions, Section "Path length evaluation (W6)" 2.3.16 Polynomial coefficients, parameters ($AC_FCT ...) Function Polynomials up to the 3rd degree can be defined via the FCTDEF function: f(x) = a x + a Note...
  • Page 43 Detailed description 2.3 System variables for synchronized actions System variable Read and write access to polynomial coefficients and parameters is also possible from synchronized actions via the following system variables: System variable Meaning Lower limit for function value $AC_FCTLL[<Poly_No>] Upper limit for function value $AC_FCTUL[<Poly_No>] $AC_FCT0[<Poly_No>] $AC_FCT1[<Poly_No>]...
  • Page 44 Detailed description 2.3 System variables for synchronized actions Example: Linear dependency Figure 2-2 Example of linear dependency Parameter Meaning Number of the polynomial, e.g. = 1 <Poly_No> Lower limit of the function values = -100 <Lo_Limit> Upper limit of the function values = 100 <Up_Limit>...
  • Page 45: Overlaid Movements ($Aa_Off)

    Detailed description 2.3 System variables for synchronized actions 2.3.17 Overlaid movements ($AA_OFF) Overlaid movements The system variable $AA_OFF can be used to specify a position offset in a channel axis which is traversed immediately: $AA_OFF[<channel axis>] = <position offset> The following machine data can be used to set whether the position offset of the system variable is to be assigned or summed up (integrated): MD36750 $MA_AA_OFF_MODE, bit 0 = <value>...
  • Page 46 Detailed description 2.3 System variables for synchronized actions Reset behavior With static synchronized actions ( ), deselection of the IDS = <number> DO $AA_OFF = <value> position offset effective in $AA_OFF results in an immediate new overlaid movement. The reset behavior with regard to $AA_OFF can therefore be set via the following machine data: MD36750 $MA_AA_OFF_MODE, bit 1 = <value>...
  • Page 47 Detailed description 2.3 System variables for synchronized actions ● End of program Polynomial coefficients programmed with remain active after the end of program. FCTDEF ● Block search: Collection of the polynomial coefficients During block search with calculation, the polynomial coefficients are collected in the system variables.
  • Page 48: Online Tool Length Compensation ($Aa_Toff)

    Detailed description 2.3 System variables for synchronized actions 2.3.18 Online tool length compensation ($AA_TOFF) Function In conjunction with an active orientation transformer or an active tool carrier, tool length compensations can be applied during processing/machining in real time. Changing the effective tool length using online tool length compensation produces changes in the compensatory movements of the axes involved in the transformation in the event of changes in orientation.
  • Page 49 Detailed description 2.3 System variables for synchronized actions Mode of operation of the offset in the tool direction The tool length compensations do not change the tool parameters, but are taken into account within the transformation or the tool carrier that can be orientated, so that offsets are obtained in the tool coordinate system.
  • Page 50 Detailed description 2.3 System variables for synchronized actions Activate online tool length compensation in the part program: Program code N5 DEF REAL XOFFSET ; Activate orientation transformation N10 TRAORI ; Activate tool length compensation in the Z direction N20 TOFFON(Z) ;...
  • Page 51 Detailed description 2.3 System variables for synchronized actions Activating and deactivating in the part program The online tool length compensation is activated in the part program with TOFFON deactivated with . When activating for the respective offset direction, an offset value TOFFOF can be specified, e.g.
  • Page 52 Detailed description 2.3 System variables for synchronized actions Behavior at change of operating mode The tool length compensation remains active after a change of operating mode. The offset is executed in all operating modes except JOG and REF. If a tool length compensation is traversed because of $AA_TOFF[ ] at a change of operating mode, the operating mode changeover is only carried out after the traversal of the tool length compensation.
  • Page 53: Current Block In The Interpolator ($Ac_Blocktype, $Ac_Blocktypeinfo, $Ac_Splitblock)

    Detailed description 2.3 System variables for synchronized actions 2.3.19 Current block in the interpolator ($AC_BLOCKTYPE, $AC_BLOCKTYPEINFO, $AC_SPLITBLOCK) Information on the block currently being processed in the main run can be read in synchronized actions via the following system variables. $AC_BLOCKTYPE and $AC_BLOCKTYPEINFO The system variable $AC_BLOCKTYPE contains the block type or the ID for the function that generated the block.
  • Page 54 Detailed description 2.3 System variables for synchronized actions $AC_BLOCKTYPE $AC_BLOCKTYPEINFO Value Meaning: Current block has been Value Meaning generated because of ... Path segmentation 7001 Programmed path segmentation is active without punching or nibbling 7002 Programmed path segmentation with active punching or nibbling 7003 Automatically, internally generated path segmentation...
  • Page 55 Detailed description 2.3 System variables for synchronized actions Example Synchronized actions for counting smoothing blocks. The query of the system variable $AC_TIMEC == 0 (interpolation cycles since start of the block) ensures that the block type is determined only once at the start of the block. Program code Comment $AC_MARKER[0]=0...
  • Page 56: Initialization Of Array Variables (Set, Rep)

    Detailed description 2.3 System variables for synchronized actions 2.3.20 Initialization of array variables (SET, REP) Function Array variables can also be initialized in synchronized actions via the commands. For a detailed description of the commands, refer to: References Programming Manual, Job Planning; Section "Flexible NC programming" > "Variables" > "Definition and initialization of array variables (DEF, SET, REP)"...
  • Page 57: User-Defined Variables For Synchronized Actions

    Detailed description 2.4 User-defined variables for synchronized actions User-defined variables for synchronized actions GUD variables capable of synchronized actions As well as specific system variables, predefined global synchronized-action user variables (synchronized action GUD) can also be used in synchronized actions. The number of synchronized action GUD items available to the user is parameterized for each specific data type and access using the following machine data: ●...
  • Page 58 Detailed description 2.4 User-defined variables for synchronized actions Properties Synchronized-action GUD have the following properties: ● Synchronized-action GUD can be read and written in synchronized actions and part programs/cycles. ● Synchronized-action GUD can be accessed via the OPI. ● Synchronized-action GUD is displayed on the HMI user interface in the "Parameters" operating area.
  • Page 59: Language Elements For Synchronized Actions And Technology Cycles

    Detailed description 2.5 Language elements for synchronized actions and technology cycles Language elements for synchronized actions and technology cycles The following language elements can be used in synchronized actions and technology cycles: Table 2- 1 Fixed addresses Subprogram number Feed Spindle 1) 2) M function...
  • Page 60 Detailed description 2.5 Language elements for synchronized actions and technology cycles Table 2- 3 Settable addresses: Travel to fixed stop Activate travel to fixed stop FXST Torque limit for travel to fixed stop FXSW Monitoring window for travel to fixed stop FOCON Activate travel with limited torque/force FOCOF...
  • Page 61 Detailed description 2.5 Language elements for synchronized actions and technology cycles Settable addresses: Couplings > Generic coupling CPON Activation of the coupling to all defined leading axes CPSETTYPE Define basic coupling properties CPSYNCOP Position synchronism "coarse" CPSYNCOP2 Position synchronism 2 "coarse" CPSYNFIP Position synchronism "fine"...
  • Page 62 Detailed description 2.5 Language elements for synchronized actions and technology cycles Predefined subprograms: Miscellaneous SETM Set marker of the channel coordination Section: "Channel synchronization (SETM, CLEARM) (Page 117)" CLEARM Delete marker of the channel coordination Section: "Channel synchronization (SETM, CLEARM) (Page 117)" Subprogram return Request axis Section: "Axis replacement (GET, RELEASE, AXTOCHAN) (Page 92)"...
  • Page 63 Detailed description 2.5 Language elements for synchronized actions and technology cycles Table 2- 10 Predefined functions: Coupling > Curve tables CTAB Calculates the following axis position based on the leading axis position using the curve table CTABINV Calculates the leading axis position based on the following axis position using the curve table CTABID Determines the table number of the curve table...
  • Page 64 Detailed description 2.5 Language elements for synchronized actions and technology cycles Table 2- 11 Predefined functions: Arithmetic Sine ASIN Arc sine Cosine ACOS Arc cosine Tangent ATAN2 Arc tangent 2 SQRT Square root 2nd power (square) TRUNC Integer component ROUND Round to next integer ROUNDUP Rounding up of an input value to the next integer...
  • Page 65 Detailed description 2.5 Language elements for synchronized actions and technology cycles Table 2- 14 Predefined functions: Safety Integrated SIRELAY Activation of the safety functions parameterized with SIRELIN, SIRELOUT and SIRELTIME Table 2- 15 Predefined functions: Miscellaneous POSRANGE Axis position within the tolerance range around the reference position Section: "Position in specified reference range (POSRANGE) (Page 89)"...
  • Page 66: Language Elements For Technology Cycles Only

    Detailed description 2.6 Language elements for technology cycles only Language elements for technology cycles only The following language elements may only be used in technology cycles: Jump statements Branch GOTO Jump to label, search direction forward, then backward GOTOF Jump to label, search direction forward GOTOB Jump to label, search direction backward End of program...
  • Page 67: Actions In Synchronized Actions

    Detailed description 2.7 Actions in synchronized actions Actions in synchronized actions 2.7.1 Output of M, S and H auxiliary functions to the PLC Output timing Auxiliary functions of the M, S and H type can be output from synchronized actions. The output to the PLC is immediate, i.e.
  • Page 68: Reading And Writing Of System Variables

    Detailed description 2.7 Actions in synchronized actions Predefined M functions Predefined M functions generally must not be output in synchronized actions. Exceptions: See also Frequency (WHENEVER, FROM, WHEN, EVERY) (Page 13) 2.7.2 Reading and writing of system variables The system variables of the NCK are listed in the "System Variables" Parameter Manual with their respective properties.
  • Page 69: Polynomial Evaluation (Synfct)

    Detailed description 2.7 Actions in synchronized actions 2.7.3 Polynomial evaluation (SYNFCT) Application A variable that is evaluated via a polynomial can be read with the SYNFCT function in the main run and the result written to another variable. Application examples: ●...
  • Page 70 Detailed description 2.7 Actions in synchronized actions Figure 2-3 Example: Additive control of path feed Determining the parameters of the function: FCTDEF FCTDEF(<Poly_No>,<Lo_Limit>,<Up_Limit>,a = 1 (example) <Poly_No> = -100 <Lo_Limit> = 100 <Up_Limit> Polynomial: f(x) = a x +a 1 / 100 = 5 / a ⇒...
  • Page 71 Detailed description 2.7 Actions in synchronized actions Example: Multiplicative override of the path feedrate The programmed feedrate is multiplied by a percentage factor (additional override): * Factor active programmed Meaning <SysVar_Out> $AC_OVR Path override can be specified via synchronized action Input value is the percentage drive load $AA_LOAD of the X axis.
  • Page 72 Detailed description 2.7 Actions in synchronized actions Calculation of the override value: SYNFCT(<Poly_No>,<SysVar_Out>,<SysVar_In>) <Poly_No> $AC_OVR path override can be specified via synchronized action) <SysVar_Out> $AA_LOAD (drive load) <SysVar_In> Programming: Program code N100 FCTDEF(2, 0, 120, 160, -2) N110 ID=1 DO SYNFCT(2, $AC_OVR[X], $AA_LOAD[X]) Example: Clearance control Figure 2-5 Clearance control: Principle...
  • Page 73 Detailed description 2.7 Actions in synchronized actions Supplementary conditions: ● The analog voltage of the clearance sensor is connected via the analog input $A_INA[3]. ● The position deviations are summed up in $AA_OFF (integrated): MD36750 $MA_AA_OFF_MODE, bit 0 = 1 ●...
  • Page 74 Detailed description 2.7 Actions in synchronized actions Figure 2-6 Clearance control Determining the parameters of the function: FCTDEF FCTDEF(<Poly_No>,<Lo_Limit>,<Up_Limit>,a = 1 (example) <Poly_No> = 0.2 <Lo_Limit> = 0.5 <Up_Limit> x +a Polynomial: f(x) = a 10 / x = 20 / 0.3 ⇒ a = x + 0.2 = 0.15 + 0.2 = 0.35 = 0.15 mm / 10 V = 1.5 * 10 mm/V...
  • Page 75 Detailed description 2.7 Actions in synchronized actions Programming: Program code: %_N_AON_SPF Comment PROC AON Clearance control "ON" FCTDEF(1, 0.2, 0.5, 0.35, 1.5 EX-2) Polynomial definition ID=1 DO SYNFCT(1,$AA_OFF[Z],$A_INA[3]) Clearance control ID=2 WHENEVER $AA_OFF_LIMIT[Z]<>0 DO $AA_OVR[X] = 0 Limit value test ENDPROC Program code: %_N_AOFF_SPF Comment...
  • Page 76: Online Tool Offset (Ftoc)

    Detailed description 2.7 Actions in synchronized actions 2.7.4 Online tool offset (FTOC) The FTOC function enables the overlaid movement of a geometry axis for the online tool offset, depending on a reference value, e.g. the actual value of an arbitrary axis. The offset value is calculated on the basis of a polynomial defined with (see Section "Polynomial FCTDEF...
  • Page 77 Detailed description 2.7 Actions in synchronized actions Meaning Parameter Meaning Number of the polynomial defined with <Poly_No> FCTDEF Arbitrary system variable of the REAL type that can be used in <Systemvar> synchronized actions. Wear parameter (length 1, 2 or 3) in which the offset value is added. <Wear>...
  • Page 78: Programmed Read-In Disable (Rdisable)

    Detailed description 2.7 Actions in synchronized actions 2.7.5 Programmed read-in disable (RDISABLE) Function command in the active section causes block processing to be stopped when RDISABLE the relevant condition is fulfilled. Processing of programmed motion-synchronous actions still continues. The read-in disable is canceled again as soon as the condition for the RDISABLE no longer fulfilled.
  • Page 79 Detailed description 2.7 Actions in synchronized actions Supplementary conditions Read-in disable RDISABLE in conjunction with axis exchange Acts via the synchronized actions read-in disable and axis exchange (e.g. path axis RDISABLE → positioning axes) together in one block, does not act on the action block, but the RDISABLE re-approach block implicitly generated as a result of the axis exchange:...
  • Page 80: Synchronized Actions

    Detailed description 2.7 Actions in synchronized actions 2.7.6 Cancel preprocessing stop (STOPREOF) With the command, an existing preprocessing stop can be cancelled from a STOPREOF synchronized action. Note command can only be programmed in non-modal synchronized actions STOPREOF (without specification of ID or IDS) and only in conjunction with the scanning frequency WHEN Example ●...
  • Page 81: Delete Distance-To-Go (Deldtg)

    Detailed description 2.7 Actions in synchronized actions 2.7.7 Delete distance-to-go (DELDTG) The path distance-to-go can be deleted with the command and axial distances-to-go DELDTG can be deleted with the function in synchronized actions. DELDTG (...) After deletion of the distance-to-go, the value of the deleted distance-to-go can be read via a system variable: ●...
  • Page 82 Detailed description 2.7 Actions in synchronized actions Examples Delete path distance-to-go If the input $A_IN is set during the traversing block N20, the path distance-to-go is deleted. Program code N10 WHEN $A_IN[1]==1 DO DELDTG N20 G01 X100 Y100 F1000 Delete axial distances-to-go N10: If input 1 is set at any time within the part program, the V axis is started as a positioning axis in the positive traversing direction.
  • Page 83: Traversing Command Axes (Pos)

    Detailed description 2.7 Actions in synchronized actions 2.7.8 Traversing command axes (POS) Axes can be traversed as command axes via synchronized actions with the command. Alternate traversing of the axis via the part program and the synchronized action is thus possible.
  • Page 84 Detailed description 2.7 Actions in synchronized actions Dimensions: Absolute/incremental The commands to specify the dimensions (absolute/incremental) cannot be programmed in synchronized actions. Therefore by default, the dimensions that were active in the part program at the time of execution of the synchronized action is also effective in the synchronized action.
  • Page 85 Detailed description 2.7 Actions in synchronized actions Examples Example 1: Traversing with active frames / tool length compensations (bit 9 == 0): Program code Comment N100 TRANS X20 Zero offset in X: 20 mm. ; Synchronized action: The X axis traverses to position 60 mm IDS=1 EVERY G710 $A_IN==1 DO POS[X]=40 ;...
  • Page 86 Detailed description 2.7 Actions in synchronized actions Takeover of the control of a command axis by the PLC The control of a command axis that has been started via a static synchronized action ( ) is taken over by the PLC irrespective of the status of the part program containing the synchronized action: DB31, ...
  • Page 87: Setting The Measuring System (G70, G71, G700, G710)

    Detailed description 2.7 Actions in synchronized actions 2.7.9 Setting the measuring system (G70, G71, G700, G710) If a specific measuring system (inch/metric) is not explicitly defined in a synchronized action with , the measuring system active in the part program at the time the G700 G710 synchronized action is executed takes effect:...
  • Page 88 Detailed description 2.7 Actions in synchronized actions Example Program code Comment N10 ID=1 EVERY $AA_IM[Z]>200 DO POS[Z2]=10 $AA_IM: 200: N20 ID=2 EVERY $AA_IM[Z]>200 DO G70 POS[Z2]=10 $AA_IM: 200: inch N30 ID=3 EVERY G71 $AA_IM[Z]>200 DO POS[Z2]=10 $AA_IM: 200: N40 ID=4 EVERY G71 $AA_IM[Z]>200 DO G70 POS[Z2]=10 $AA_IM: 200: inch...
  • Page 89: Position In Specified Reference Range (Posrange)

    Detailed description 2.7 Actions in synchronized actions 2.7.10 Position in specified reference range (POSRANGE) Function function can be used to determine whether the current position of an axis is POSRANGE within the tolerance range around a specified reference position. Note With modulo axes, the modulo offset is taken into account.
  • Page 90: Starting/Stopping Axes (Mov)

    Detailed description 2.7 Actions in synchronized actions 2.7.11 Starting/stopping axes (MOV) Function An axis can be traversed without specifying an end position via the command. The axis traverses so long in the specified direction until it is stopped or another traversing direction is specified by a command.
  • Page 91: Axial Feedrate (Fa)

    Detailed description 2.7 Actions in synchronized actions 2.7.12 Axial feedrate (FA) An axial feedrate can be specified in a synchronized action via the command. The axial feedrate is modal. Examples Constant feedrate value: Program code ID=1 EVERY $AA_IM[B]>75 DO POS[U]=100 FA[U]=990 Variable feedrate value: Program code ID=1 EVERY $AA_IM[B] >...
  • Page 92: Axis Replacement (Get, Release, Axtochan)

    Detailed description 2.7 Actions in synchronized actions 2.7.13 Axis replacement (GET, RELEASE, AXTOCHAN) Command axes can be interchanged between channels via the commands. RELEASE Note The command axis must be assigned to the channel via machine data. Syntax GET(<axis 1> [{, <axis n>}]) RELEASE((<axis 1>...
  • Page 93 Detailed description 2.7 Actions in synchronized actions Request axis from another channel If, when the action is activated, another channel has the interpolation authorization for the axis $AA_AXCHANGE_TYP[axis] == 2, axis replacement is used to fetch the axis from this channel $AA_AXCHANGE_TYP[axis] == 6 and assign it to the requesting channel as soon as possible.
  • Page 94 Detailed description 2.7 Actions in synchronized actions Axis already assigned to the NC program of the channel If the axis is already assigned to the part program of the channel ($AA_AXCHANGE_TYP[<axis>] == 0) or if this assignment is requested, e.g. axis replacement triggered by the part program ($AA_AXCHANGE_TYP[<axis>] == 5 or $AA_AXCHANGE_TYP[<axis>] == 7), there is no state change.
  • Page 95 Detailed description 2.7 Actions in synchronized actions Supplementary conditions ● If several requests are programmed for the same axis, they may mutually RELEASE cancel each other under certain circumstances and only the last respective requests are performed. Example: Programming: GET(X,Y) RELEASE(Y,Z) GET(Z) Execution: GET(X) RELEASE(Y) GET(Z) ●...
  • Page 96 Detailed description 2.7 Actions in synchronized actions 2. Program sequence in the second channel: Program code Comment WHEN TRUE DO GET(Z) Move Z axis to second channel (neutral) ; Read-in disable as long as Z axis is in other channel WHENEVER $AA_TYP[Z] == 0 DO RDISABLE N210 G4 F0.1 WHEN TRUE DO GET(Z)
  • Page 97 Detailed description 2.7 Actions in synchronized actions Transfer axis to another channel ( AXTOCHAN An axis can be requested for a channel from a synchronized action with the AXTOCHAN command. This does not have to be its own channel that currently has the interpolation authorization for the axis.
  • Page 98: Traversing Spindles (M, S, Spos)

    Detailed description 2.7 Actions in synchronized actions 2.7.14 Traversing spindles (M, S, SPOS) Spindles can be started, positioned and stopped via synchronized actions. The programming is performed in the action part of the synchronized action with the same syntax as in the part program.
  • Page 99 Detailed description 2.7 Actions in synchronized actions Transition between command axis and spindle Since several synchronized actions can be active simultaneously, the situation may arise where a spindle motion is started when the spindle is already active. In this case, the most recently activated motion is applicable.
  • Page 100: Withdrawing The Enable For The Axis Container Rotation (Axctswec)

    Detailed description 2.7 Actions in synchronized actions 2.7.15 Withdrawing the enable for the axis container rotation (AXCTSWEC) Function Using the command an already issued enable signal to rotate the axis container AXCTSWEC can be withdrawn again. The command triggers a preprocessing stop with reorganization STOPRE The following conditions must be fulfilled so that in the channel, the enable signal to rotate the axis container is withdrawn again:...
  • Page 101 Detailed description 2.7 Actions in synchronized actions Example Program code Comment ; Initialization of the global counter for the technology cycle CTSWEC N100 $AC_MARKER[0]=0 N110 ID=1 DO CTSWEC For technology cycle CTSWEC, see below. NEXT: N200 G0 X30 Z1 N210 G95 F.5 N220 M3 S1000 N230 G0 X25 N240 G1 Z-10...
  • Page 102 Detailed description 2.7 Actions in synchronized actions Supplementary condition Time of execution of synchronized actions Program code ; Enable of the axis container rotation. N10 AXCTSWE(CT3) ; Traversing of the container axis AX_A => before the axis is traversed, there ;...
  • Page 103: Set Actual Value (Preseton)

    Detailed description 2.7 Actions in synchronized actions 2.7.16 Set actual value (PRESETON) Function The actual value can be redefined in the machine coordinate system (MCS) for machine axes with . In this mode, the axes are not traversed. PRESETON is possible in synchronized actions for the following axis types: PRESETON ●...
  • Page 104 Detailed description 2.7 Actions in synchronized actions Example Program code N10 G1 X=10 Y=12 F5000 N20 WHEN TRUE DO G71 POS[X]=200 ; IF setpoint position (MCS) of the X axis (command axis) >= 80 mm ; THEN actual-value offset by +70 mm => axis traverses to 270 mm N22 WHEN G71 $AA_IM[X] >= 80 DO PRESETON(X, $AA_IM[X]+70) N24 G4 F3 Supplementary conditions...
  • Page 105: Couplings (Cp

    Detailed description 2.7 Actions in synchronized actions 2.7.17 Couplings (CP..., LEAD..., TRAIL..., CTAB...) The commands listed in Section "Language elements for synchronized actions and technology cycles (Page 59)" can be programmed in synchronized actions for the functions coupled motion ( ), curve tables ( ), master value coupling ( ) and...
  • Page 106 Detailed description 2.7 Actions in synchronized actions Master value coupling Syntax ... DO LEADON(<FA>, <LA>, <NO>, <OVW>) Meaning Identifier of the following axis <FA> Type: AXIS Identifier of the leading axis <LA> Type: AXIS Number of the curve table <NO> Type: INT Status of the overwrite permission <OVW>...
  • Page 107 Detailed description 2.7 Actions in synchronized actions Program code Comment N100 R3=1500 Length of a part to be cut off N200 R2=100000 R13=R2/300 N300 R4=100000 N400 R6=30 Start position Y axis N500 R1=1 Start condition for conveyor axis N600 LEADOF(Y,X) Delete coupling N700 CTABDEF(Y,X,1,0) Table definition...
  • Page 108 Detailed description 2.7 Actions in synchronized actions Generic coupling: Using the TRAIL, LEAD, EG or COUP coupling type. If in the framework of the generic coupling, a behavior corresponding to one of the known coupling types "Coupled motion", "Master value coupling", "Electronic gear" or "Synchronous spindle"...
  • Page 109 Detailed description 2.7 Actions in synchronized actions The Y axis is not released early enough in because only becomes active with TRAILOF through the non-modal synchronized action. Corrected example: Program code Comment N50 WHEN TRUE DO TRAILOF(Y, X) N55 WAITP(Y) ;...
  • Page 110: Measurement (Meawa, Meac)

    Detailed description 2.7 Actions in synchronized actions 2.7.18 Measurement (MEAWA, MEAC) The following commands can be used in synchronized actions for measurement: ● (measurement without delete distance-to-go) MEAWA ● (continuous measurement without delete distance-to-go) MEAC While the measuring function in the part program is limited to one motion block, the measuring function can be switched on and off any number of times from synchronized actions.
  • Page 111 Detailed description 2.7 Actions in synchronized actions Remarks System variables The following system variables can be used in conjunction with synchronous actions: ● $AA_MEAACT (axial measuring active) ● $A_PROBE (probe state) ● $AA_MM1 ... 4 (probe position 1st to 4th trigger (MCS)) The following system variable cannot be used in conjunction with synchronized actions: ●...
  • Page 112 Detailed description 2.7 Actions in synchronized actions Example 1 All rising edges of probe 1 are to be recorded between 0 and 100 mm for the X axis. It is assumed that no more than 22 measuring edges occur. Program code Comment DEF INT NUMBER Number of current measured values...
  • Page 113 Detailed description 2.7 Actions in synchronized actions Example 3 Rising and falling edges of probe 1 are to be recorded between 0 and 500 mm for the X axis. The number of measurements is limited to 10. The distance-to-go of the X axis is then deleted. Program code N10 G0 X0 Approach starting point for the measurement...
  • Page 114: Travel To Fixed Stop (Fxs, Fxst, Fxsw, Focon, Focof, Foc)

    Detailed description 2.7 Actions in synchronized actions 2.7.19 Travel to fixed stop (FXS, FXST, FXSW, FOCON, FOCOF, FOC) Function Travel to fixed stop The function "Travel to fixed stop" can be controlled via synchronized actions with the commands. FXST FXSW The activation can also be performed without traversing motion of the relevant axis.
  • Page 115 Detailed description 2.7 Actions in synchronized actions Remarks Avoidance of multiple selection The "Travel to fixed stop" function must only be switched on once per axis. In the event of an error, alarm 20092 is displayed and the corresponding alarm response takes effect. To avoid multiple selections, it is recommended that a selection marker be used in the synchronized action.
  • Page 116 Detailed description 2.7 Actions in synchronized actions Example: Travel to fixed stop completely via synchronized actions Program code Comment ; IF selection request $R1==1 AND state of the Y axis == "not to fixed stop" ; THEN: For the Y axis: ;...
  • Page 117: Channel Synchronization (Setm, Clearm)

    Detailed description 2.7 Actions in synchronized actions 2.7.20 Channel synchronization (SETM, CLEARM) Synchronization markers can be set and deleted in the channel in which the synchronized action runs with the commands. SETM CLEARM Syntax SETM(<No_marker 1> [,<No_marker 2> {, ... < No_marker n>} ] ) CLEARM(<No_marker 1>...
  • Page 118: User-Specific Error Reactions (Setal)

    Detailed description 2.7 Actions in synchronized actions 2.7.21 User-specific error reactions (SETAL) Synchronized actions can be used to react user-specifically to application-specific error states. Possible reactions are: ● Axis with stop via override = 0% ● Display user-specific alarm ● Set digital output Display alarm Syntax SETAL(<Alarm_no>[,"Alarm text"])
  • Page 119: Technology Cycles

    Detailed description 2.8 Technology cycles Technology cycles 2.8.1 General Definition A technology cycle is a subprogram that is called in the action part of a synchronized action. All language elements and system variables that are also used in the action part of a synchronized action can be used in a technology cycle.
  • Page 120 Detailed description 2.8 Technology cycles Execution sequence of technology cycles If several technology cycles are programmed in the action part of a synchronized action, they are executed in the sequence from left to right. Example: Call of three technology cycles in the action part of a synchronized action Program code ID=1 <condition part>...
  • Page 121: Processing Mode (Icycon, Icycof)

    Detailed description 2.8 Technology cycles 2.8.2 Processing mode (ICYCON, ICYCOF) Function commands can be used to control the processing mode of the actions ICYCOF ICYCON within technology cycles. Per default, the processing mode is active. ICYCON Processing mode: ICYCON A non-modal technology cycle is executed in the processing mode.
  • Page 122: Definitions (Def, Define)

    Detailed description 2.8 Technology cycles Example Program code Effective processing mode Interpolation cycle ICYCON PROC TECHNOCYC ICYCON $R1=1 ICYCON 2 ... 25 POS[X]=100 ICYCOF ICYCOF ICYCOF $R1=2 ICYCOF $R2=$R1+1 ICYCOF POS[X]=110 ICYCOF $R3=3 ICYCOF 2.8.3 Definitions (DEF, DEFINE) If a subprogram is used as a technology cycle that contains commands for the ( variables and/or ( ) macro definition, these have no effect when executing the DEFINE...
  • Page 123: Context Variable ($P_Teccycle)

    Detailed description 2.8 Technology cycles 2.8.5 Context variable ($P_TECCYCLE) Function The $P_TECCYCLE system variable can be used to determine within a subprogram whether the subprogram is currently being executed as a part program or technology cycle: ● $P_TECCYCLE == TRUE: Execution as a technology cycle ●...
  • Page 124: Protected Synchronized Actions

    Detailed description 2.9 Protected synchronized actions Protected synchronized actions Each synchronized action is clearly identified via its The following machine data can be used to define an NC global or channel-specific range of identification numbers with which a synchronized action can be protected against overwriting, deletion ( ) and locking ( CANCEL(ID)
  • Page 125 Detailed description 2.9 Protected synchronized actions Example In a system with two channels, the synchronized actions of the following identification number areas should be protected: Channel 1: 20 ... 30 Channel 2: 25 ... 35 Machine data configuration NC-global protection area: ●...
  • Page 126: Coordination Via Part Program And Synchronized Action (Lock, Unlock, Reset, Cancel)

    Detailed description 2.10 Coordination via part program and synchronized action (LOCK, UNLOCK, RESET, CANCEL) 2.10 Coordination via part program and synchronized action (LOCK, UNLOCK, RESET, CANCEL) Each modal and static synchronized action must be assigned a unique identification number during the definition: Program code ID=<number>...
  • Page 127: Coordination Via Plc

    Detailed description 2.11 Coordination via PLC 2.11 Coordination via PLC With regard to their execution by the NC, synchronized actions that are not protected can be locked. Either all synchronized actions in the channel can be locked together or individually in the ID/IDS 1 - 64 area.
  • Page 128: Configuration

    Detailed description 2.12 Configuration 2.12 Configuration Number of synchronized action elements The number of synchronized action elements that can be provided per channel is set via the machine data: MD28250 $MC_MM_NUM_SYNC_ELEMENTS (number of elements for expressions in synchronized actions) At least four synchronized action elements are required per synchronized action. Further synchronized action elements are required for: Operation Number of required elements...
  • Page 129 Detailed description 2.12 Configuration Synchronized actions and interpolation cycle If there are a large number of simultaneously active synchronized actions, the interpolation cycle may have to be increased: MD10070 $MN_IPO_SYSCLOCK_TIME_RATIO Time required by individual operations Synchronized action commands Time required Total Text in bold print Basic load for a synchronized action if condition is not fulfilled:...
  • Page 130: Control Behavior In Specific Operating States

    Detailed description 2.13 Control behavior in specific operating states 2.13 Control behavior in specific operating states 2.13.1 Power On No synchronized actions are active during ramp-up of the NC (Power On). Synchronized actions that are to be active immediately after the ramp-up of the NC (Power On), must be event-driven as static synchronized actions within an ASUB or activated via the PLC user program.
  • Page 131: Nc Stop

    Detailed description 2.13 Control behavior in specific operating states 2.13.3 NC stop Non-modal and modal synchronized actions (ID) Traversing motions from non-modal and modal synchronized actions are stopped by NC stop. A non-modal or modal synchronized action also remains active while the channel is in the "interrupted"...
  • Page 132: End Of Program

    Detailed description 2.13 Control behavior in specific operating states 2.13.5 End of program State after end of program: From: Modal and non-modal synchronized action (ID) Static synchronized action (IDS) Synchronized action Aborted or inactive Active Traversing motion Aborted 1 Active Speed-controlled MD35040 $MA_SPIND_ACTIVE_AFTER_RESET = <value>...
  • Page 133: Program Interruption By Asub

    Detailed description 2.13 Control behavior in specific operating states 2.13.7 Program interruption by ASUB Non-modal and modal synchronized actions (ID) Active modal synchronized actions also remain active during the ASUB. Traversing motions started from non-modal and modal synchronized actions are interrupted. If at the end of the ASUB, positioning is at the interruption point of the part program ( REPOS then the interrupted traversing motions are continued.
  • Page 134: Response To Alarms

    Detailed description 2.13 Control behavior in specific operating states 2.13.9 Response to alarms If a synchronized action triggers an alarm, the following actions of the synchronized action are no longer executed. A modal synchronized action is inactive after the alarm. If the alarm triggers a motion stop, traversing motions started via synchronized actions are aborted.
  • Page 135: Diagnostics (Hmi Advanced Only)

    Detailed description 2.14 Diagnostics (HMI Advanced only) 2.14 Diagnostics (HMI Advanced only) Diagnostic functionality The following special test tools are provided for diagnosing synchronized actions: ● Status display of synchronized actions in the machine operator area ● System variables display parameters in the operating range The current values of all synchronized action variables can be displayed (displaying main run variables) ●...
  • Page 136: Displaying The Status Of Synchronized Actions

    Detailed description 2.14 Diagnostics (HMI Advanced only) 2.14.1 Displaying the status of synchronized actions The following information is shown on the status display of the synchronized actions: ● Overview of the programmed synchronized actions ● Validity and identification number (only for modal synchronized actions) See Section "Validity, identification number (ID, IDS) (Page 12)"...
  • Page 137: Displaying Main Run Variables

    Detailed description 2.14 Diagnostics (HMI Advanced only) 2.14.2 Displaying main run variables Description System variables can be monitored for the purpose of monitoring synchronized actions. Variables, which may be used in this way are listed for selection by the user. A complete list of individual system variables with ID code W for write access and R for read access for synchronized actions can be found in: References:...
  • Page 138: Logging Main Run Variables

    Detailed description 2.14 Diagnostics (HMI Advanced only) 2.14.3 Logging main run variables Starting point To be able to trace events exactly in synchronized actions, it is necessary to monitor the action status in the interpolation cycle. Method The values defined in a log definition are written to a log file of defined size in the specified cycle.
  • Page 139 Detailed description 2.14 Diagnostics (HMI Advanced only) Log definition The log definition can contain up to 6 specified variables. The values of these variables are written to the log file in the specified cycle. A list of variables, which may be selected for logging purposes, is displayed.
  • Page 140 Detailed description 2.14 Diagnostics (HMI Advanced only) Graphic log function The measured values (up to 6) of a log are represented graphically as a function of the sampling time. The names of variables are specified in descending sequence according to the characteristics of their values.
  • Page 141: Examples

    Examples Examples of conditions in synchronized actions Condition Programming Path distance-to-go ≤ 10 mm (WCS) ... WHEN $AC_DTEW <= 10 DO ... Distance-to-go of the X axis ≤ 10 mm (WCS) ... WHEN $AA_DTEW[X]<= 10 DO ..WHEN $AC_PLTBB >= 20 DO ... Path distance to start of block ≥...
  • Page 142: Reading And Writing Of Sd/Md From Synchronized Actions

    Examples 3.2 Reading and writing of SD/MD from synchronized actions Reading and writing of SD/MD from synchronized actions Infeed and oscillation for grinding operations Setting data, whose values remain unchanged during machining, are addressed by name as in the part program. Example: Oscillation from synchronized actions Program code N610 ID=1 WHENEVER $AA_IM[Z] >...
  • Page 143 Examples 3.2 Reading and writing of SD/MD from synchronized actions Program code ; ALWAYS WHEN current position of the oscillating axis in the MCS == reversal position 1, ; THEN override of the oscillation axis = 0%, override of the infeed axis = 100% ;...
  • Page 144: Examples Of Adaptive Control

    Examples 3.3 Examples of adaptive control Examples of adaptive control General procedure The following examples use the polynomial evaluation function SYNFCT() 1. Representation of relationship between input value and output value (main run variables in each case) 2. Definition of this relationship as polynomial with limitations 3.
  • Page 145 Examples 3.3 Examples of adaptive control $AC_FCTLL[1]=0.2 Lower limit $AC_FCTUL[1]=0.5 Request Value of upper limit $AC_FCT0[1]=0.35 Zero passage a $AC_FCT1[1]=1.5 EX-5 Pitch a STOPRE see following note STOPRE see following note ID=1 DO $AC_FCTUL[1]=$A_INA[2]*0.1+0.35 Adjust upper limit dynamically via analog input 2, no condition ID=2 DO SYNFCT(1, $AA_OFF[V], $A_INA[1]) Clearance control by override of no...
  • Page 146: Feedrate Control

    Examples 3.3 Examples of adaptive control 3.3.2 Feedrate control Example of adaptive control with an analog input voltage A process quantity (measured via $A_INA[1] ) must be regulated to 2 V through an additive control factor implemented by a path (or axial) feedrate override. Feedrate override shall be performed within the range of +100 [mm/min].
  • Page 147: Control Velocity As A Function Of Normalized Path

    Examples 3.3 Examples of adaptive control FCTDEF( Polynomial No. LLIMIT ULIMIT y for x = 0 Lead square component cubic component With the values determined above, the polynomial is defined as follows: (1, -100, -100, 100, 200, 0, 0) FCTDEF The following synchronized actions can be used to activate the adaptive control function for the axis feedrate: ID = 1 DO SYNFCT (1, $AA_VC[X], $A_INA[1])
  • Page 148 Examples 3.3 Examples of adaptive control Figure 3-3 Regulate velocity continuously Polynomial 2: Lower limit: 1 Hi limit: 100 : 100 : -100 : -100 : not used With these values, the polynomial definition is as follows: (2, 1, 100, 100, -100, -100) FCTDEF ;...
  • Page 149: Monitoring A Safety Clearance Between Two Axes

    Examples 3.4 Monitoring a safety clearance between two axes Monitoring a safety clearance between two axes Task The axes X1 and X2 operate two independently controlled transport devices used to load and unload workpieces. To prevent the axes from colliding, a safety clearance must be maintained between them. If the safety clearance is violated, then axis X2 is decelerated.
  • Page 150: Store Execution Times In R Parameters

    Examples 3.5 Store execution times in R parameters Store execution times in R parameters Task Store the execution time for part program blocks starting at R parameter 10. Program Comment The example is as follows without symbolic programming: IDS=1 EVERY $AC_TIMEC==0 DO Advance R parameter $AC_MARKER[0] = $AC_MARKER[0] + 1 pointer on block change...
  • Page 151: Centering" With Continuous Measurement

    Examples 3.6 "Centering" with continuous measurement "Centering" with continuous measurement Introduction The gaps between gear teeth are measured sequentially. The gap dimension is calculated from the sum of all gaps and the number of teeth. The center position sought for continuation of machining is the position of the first measuring point plus 1/2 the average gap size.
  • Page 152 Examples 3.6 "Centering" with continuous measurement ;*** Define local user-defined variables *** N1 DEF INT ZAEHNEZAHL Input number of gear teeth N5 DEF REAL HYS_POS_FLANKE Hysteresis positive edge probe N6 DEF REAL HYS_NEG_FLANKE Hysteresis negative edge probe ;*** Define short names for synchronized action markers *** define M_ZAEHNE as $AC_MARKER[1] ID marker for calculation: neg/pos edge per tooth...
  • Page 153 Examples 3.6 "Centering" with continuous measurement ID=1 WHENEVER ($AC_FIFO1[4]>=1) AND (Z_MW<M_ZAEHNE) DO $AC_PARAM[0+Z_MW]=$AC_FIFO1[0] Z_MW=Z_MW+1 ;if 2 measured values are present, start calculation, calculate ONLY gap dimension ; and gap sum, increment calculation value counter by 2 ID=2 WHENEVER (Z_MW>=Z_RW) AND (Z_RW<M_ZAEHNE) DO $R1=($AC_PARAM[-1+Z_RW]-$R13)-($AC_PARAM[-2+Z_RW]-$R14) Z_RW=Z_RW+2 $R2=$R2+$R1 ;*** Switch-on the axis BACH as endless rotating rotary axis with MOV ***...
  • Page 154 Examples 3.6 "Centering" with continuous measurement ;*** Calculate center position *** N520 R3=R3/1000 First measurement position converted to degree N530 R3=R3 MOD 360 first measurement point modulo N540 R5=(R3-R14)+(R4/2) calculate gap position stopre R6=0 Disable axis rotation from BACH gotob start Synchronized actions Function Manual, 07/2012, 6FC5397-5BP40-3BA0...
  • Page 155: Axis Couplings Via Synchronized Actions

    Examples 3.7 Axis couplings via synchronized actions Axis couplings via synchronized actions 3.7.1 Coupling to leading axis Task assignment A cyclic curve table is defined by means of polynomial segments. Controlled by means of arithmetic variables, the movement of the master axis and the coupling process between master and slave (following) axes is activated/deactivated.
  • Page 156: Non-Circular Grinding Via Master Value Coupling

    Examples 3.7 Axis couplings via synchronized actions N235 ;*** Switch-on the coupling movement for the axis CACH *** N240 WAITP(CACH) Synchronize axis to channel N245 ID=1 EVERY $R1==1 DO Coupling via table 4 LEADON(CACH, BACH, 4) N250 ID=2 EVERY $R1==0 DO Deactivate coupling LEADOF(CACH, BACH) N265 WAITP(BACH)
  • Page 157 Examples 3.7 Axis couplings via synchronized actions Figure 3-5 Diagrammatic representation of non-circular contour grinding %_N_CURV_TABS_SPF PROC CURV_TABS N160 ; *** Define table 1 override *** N165 CTABDEF(CASW,CACH,1,1) Table 1 periodic N170 CACH=0 CASW=10 N175 CACH=90 CASW=10 N180 CACH=180 CASW=100 N185 CACH=350 CASW=10 N190 CACH=359.999 CASW=10 N195 CTABEND...
  • Page 158 Examples 3.7 Axis couplings via synchronized actions %_N_UNRUND_MPF ; Coupling group for a non-circular machining ; XACH is the infeed axis of the grinding disk ; CACH is the workpiece axis as rotary axis and master value axis ; Application: Grind non-circular contours ;...
  • Page 159 Examples 3.7 Axis couplings via synchronized actions N1700 *** On-off switch of the LEADON compensatory movement XACH *** N1800 WAITP(XGEO) Synchronize axis to channel N1900 ID=3 EVERY $R2==1 DO LEADON(XACH,CACH,2) N2000 ID=4 EVERY $R2==0 DO LEADOF(XACH,CACH) N2100 *** On-off switch of the LEADON CASW override table *** N2200 WAITP(CASW) N2300 ID=5 EVERY $R3==1 DO...
  • Page 160: On-The-Fly Parting

    Examples 3.7 Axis couplings via synchronized actions N3500 M00 *** NC HALT *** N3600 MSG() N3700 STOPRE Preprocessing stop N3800 R1=0 Stop with ID=2 CASW axis as endless rotating rotary axis N3900 R2=0 LEADOF with ID=6 FA XACH and leading axis CACH N4000 R3=0 LEADOF TAB1 CASW with ID=7/8 CACH to CASW override table...
  • Page 161 Examples 3.7 Axis couplings via synchronized actions Actions Activate coupling, LEADON Deactivate coupling, LEADOF Set actual values, PRESETON Program code Comment %_N_SCHERE1_MPF ;$PATH=/_N_WKS_DIR/_N_DEMOFBE_WPD N100 R3=1500 ; Length of a part to be cut off N200 R2=100000 R13=R2/300 N300 R4=100000 N400 R6=30 ;...
  • Page 162: Technology Cycles Position Spindle

    Examples 3.8 Technology cycles position spindle Technology cycles position spindle Application Interacting with the PLC program, the spindle which initiates a tool change should be: ● Traversed to an initial position, ● Positioned at a specific point at which the tool to be inserted is also located. See chapter "Starting of command axes"...
  • Page 163 Examples 3.8 Technology cycles position spindle Technology cycle NULL_POS %_N_NULL_POS_SPF PROC NULL_POS SPOS=0 Bring drive for the tool change in basic position $A_DLB[0]=0 Basic position executed in NCK Technology cycle ZIEL_POS %_N_ZIEL_POS_SPF PROC TARGET_POS SPOS=IC($A_DBW[1]) Position spindle to the value, stored in $A_DBW[1] stored by PLC, incremental dimension $A_DBB[1]=0...
  • Page 164: Synchronized Actions In The Tc/Mc Area

    Examples 3.9 Synchronized actions in the TC/MC area Synchronized actions in the TC/MC area Introduction The following figure shows the schematic structure of a tool-changing cycle. Figure 3-6 Schematic sequence for tool-changing cycle Synchronized actions Function Manual, 07/2012, 6FC5397-5BP40-3BA0...
  • Page 165 Examples 3.9 Synchronized actions in the TC/MC area Flow chart Figure 3-7 Flowchart for tool-changing cycle Synchronized actions Function Manual, 07/2012, 6FC5397-5BP40-3BA0...
  • Page 166 Examples 3.9 Synchronized actions in the TC/MC area NC program Comment %_N_WZW_SPF ;$PATH=/_N_SPF_DIR N10 DEF INT WZPreselection,WZSpindle Marker on = 1 when MagAxis traversed N15 WHEN $AC_PATHN<10 DO $AC_MARKER[0]=0 $AC_MARKER[1]=0 $AC_MARKER[2]=0 N20 ID=3 WHENEVER $A_IN[9]==TRUE DO $AC_MARKER[1]=1 N25 ID=4 WHENEVER $A_IN[10]==TRUE DO $AC_MARKER[2]=1 Marker on = 1 when MagAxis traversed Block search active ? ->...
  • Page 167 Examples 3.9 Synchronized actions in the TC/MC area NC program Comment N180 WHENEVER $AC_MARKER[1]==0 DO $AC_OVR=0 N185 WHENEVER $AA_STAT[C2]<>4 DO $AC_OVR=0 N190 WHENEVER $AA_DTEB[C2]>0 DO $AC_OVR=0 N195 G53 G64 X=Magazin1ZP1X Y=Magazin1ZP1Y F60000 N200 G53 G64 X=Magazin1WPX Y=Magazin1WPY F60000 N205 M20 Release tool N210 G53 G64 Z=Magazin1ZGeloest F40000 N215 G53 G64 X=Magazin1VPX Y=Magazin1VPY F60000 M=QU(150)
  • Page 168 Examples 3.9 Synchronized actions in the TC/MC area Synchronized actions Function Manual, 07/2012, 6FC5397-5BP40-3BA0...
  • Page 169: Data Lists

    Data lists Machine data 4.1.1 General machine data Number Identifier: $MN_ Description 11110 AUXFU_GROUP_SPEC Auxiliary function group specification 11500 PREVENT_SYNACT_LOCK Protected synchronized actions 18860 MM_MAINTENANCE_MON Activate recording of maintenance data 4.1.2 Channelspecific machine data Number Identifier: $MC_ Description 21240 PREVENT_SYNACT_LOCK_CHAN Protected synchronized actions for channel 28250 MM_NUM_SYNC_ELEMENTS...
  • Page 170: Axis-Specific Machine Data

    Data lists 4.1 Machine data 4.1.3 Axis-specific machine data Number Identifier: $MA_ Description 30450 IS_CONCURRENT_POS_AX Concurrent positioning axis 32060 POS_AX_VELO Initial setting for positioning axis velocity 32070 CORR_VELO Axial velocity for handwheel, ext. WO (work offset), cont. dressing, clearance control 32074 FRAME_OR_CORRPOS_NOTALLOWED Effectiveness of frames and tool length offset...
  • Page 171: Setting Data

    Data lists 4.2 Setting data Setting data 4.2.1 Axis/spindle-specific setting data Number Identifier: $SA_ Description 43300 ASSIGN_FEED_PER_REV_SOURCE Rotational feedrate for positioning axes/spindles 43350 AA_OFF_LIMIT Upper limit of offset value for $AA_OFF clearance control 43400 WORKAREA_PLUS_ENABLE Working area limitation in pos. direction Synchronized actions Function Manual, 07/2012, 6FC5397-5BP40-3BA0...
  • Page 172: Signals

    Data lists 4.3 Signals Signals 4.3.1 Signals to channel DB number Byte.Bit Description 21, ... 21.2 Disable all synchronized actions 21, … 280.1 Disable synchronized actions ID/IDS 1 - 64 (general request) 21, … 300.0 - 307.7 Disable synchronized action ID/IDS 1 - 64 4.3.2 Signals from channel DB number...
  • Page 173: Appendix

    Appendix Overview Synchronized actions Function Manual, 07/2012, 6FC5397-5BP40-3BA0...
  • Page 174 Appendix A.1 Overview Synchronized actions Function Manual, 07/2012, 6FC5397-5BP40-3BA0...
  • Page 175: Index

    Index $AC_TOTAL_OVR, 36 $AN_AXCTSWA, 100 $AN_IPO_ACT_LOAD, 37 $AN_IPO_LOAD_LIMIT, 38 $AN_IPO_LOAD_PERCENT, 37 $A_INA, 72 $AN_IPO_MAX_LOAD, 37, 38 $A_PROBE, 111 $AN_IPO_MIN_LOAD, 37, 38 $AA_AXCHANGE_STAT, 93 $AN_SERVO_ACT_LOAD, 37 $AA_AXCHANGE_TYP, 93, 97 $AN_SERVO_MAX_LOAD, 37, 38 $AA_JERK_COUNT, 41 $AN_SERVO_MIN_LOAD, 37, 38 $AA_JERK_TIME, 41 $AN_SYNC_ACT_LOAD, 37 $AA_JERK_TOT, 41 $AN_SYNC_MAX_LOAD, 37, 38 $AA_MEAACT, 111...
  • Page 176 Index ID, 12 Identification number, 13 DB21 IDS, 12 DBX1.2, 127 DBX280.1, 127 DBX281.1, 127 DBX300.0 - 307.7, 127 DBX308.0 - 315.7, 127 LEAD..., 105 DB21, ... DBX35.6, 131 DB31, ... DBX28.7, 86 M, 98 DELDTG, 81 Main run variables Diagnostics data, 135 Log, 138 DO, 16...
  • Page 177 Index NC reset, 130 WHEN, 13 NC stop, 131 WHENEVER, 13 Non-modal synchronized action, 12 POS, 83 POSRANGE, 89 Power On, 130 PRESETON, 103 RDISABLE, 78 Real-time variables Advertisements, 137 RELEASE, 92 REP, 56 REPOS, 133 S, 98 SD42122, 35 SD43300, 91 SD43350, 73, 144 Sequence of execution, 13...
  • Page 178 Index Synchronized actions Function Manual, 07/2012, 6FC5397-5BP40-3BA0...

This manual is also suitable for:

Sinumerik 840d slSinumerik 840de sl

Table of Contents