Page 1
Brief description SINUMERIK Detailed description SINUMERIK 840D sl / 828D Synchronized actions Examples Data lists Function Manual NC/PLC interface signals Appendix Valid for Control SINUMERIK 840D sl / 840DE sl / 828D CNC software Version 4.8 SP3 08/2018 6FC5397-5BP40-6BA2...
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.
Siemens' content, and adapt it for your own machine documentation. Training At the following address (http://www.siemens.com/sitrain), you can find information about SITRAIN (Siemens training on products, systems and solutions for automation and drives). FAQs You can find Frequently Asked Questions in the Service&Support pages under Product Support (https://support.industry.siemens.com/cs/de/en/ps/faq).
Page 4
Technical Support Country-specific telephone numbers for technical support are provided in the Internet at the following address (https://support.industry.siemens.com/sc/ww/en/sc/2090) in the "Contact" area. Synchronized actions Function Manual, 08/2018, 6FC5397-5BP40-6BA2...
Table of contents Preface.................................3 Fundamental safety instructions........................9 General safety instructions.......................9 Warranty and liability for application examples................9 Industrial security........................10 Brief description............................13 Detailed description............................15 Definition of a synchronized action..................15 Components of synchronized actions..................16 3.2.1 Validity, identification number (ID, IDS).................16 3.2.2 Frequency (WHENEVER, FROM, WHEN, EVERY)..............17 3.2.3 G command (condition)......................18 3.2.4...
Page 6
Table of contents Language elements for technology cycles only..............66 Actions in synchronized actions.....................67 3.7.1 Output of M, S and H auxiliary functions to the PLC..............67 3.7.2 Reading and writing of system variables................68 3.7.3 Polynomial evaluation (SYNFCT)..................68 3.7.4 Online tool offset (FTOC).......................73 3.7.5 Programmed read-in disable (RDISABLE)................75 3.7.6...
Page 7
Table of contents 3.14.3 Logging main run variables....................133 Examples..............................137 Examples of conditions in synchronized actions..............137 Reading and writing of SD/MD from synchronized actions..........137 Examples of adaptive control....................139 4.3.1 Clearance control with variable upper limit................139 4.3.2 Feedrate control........................141 4.3.3 Control velocity as a function of normalized path..............142 Monitoring a safety clearance between two axes..............143 Store execution times in R parameters................143 "Centering"...
Page 8
Table of contents Synchronized actions Function Manual, 08/2018, 6FC5397-5BP40-6BA2...
Fundamental safety instructions General safety instructions WARNING Danger to life if the safety instructions and residual risks are not observed If the safety instructions and residual risks in the associated hardware documentation are not observed, accidents involving severe injuries or death can occur. ●...
Siemens’ products and solutions undergo continuous development to make them more secure. Siemens strongly recommends that product updates are applied as soon as they are available and that the latest product versions are used. Use of product versions that are no longer supported, and failure to apply the latest updates may increase customer’s exposure to cyber...
Page 11
Fundamental safety instructions 1.3 Industrial security WARNING Unsafe operating states resulting from software manipulation Software manipulations (e.g. viruses, trojans, malware or worms) can cause unsafe operating states in your system that may lead to death, serious injury, and property damage. ●...
Page 12
Fundamental safety instructions 1.3 Industrial security Synchronized actions Function Manual, 08/2018, 6FC5397-5BP40-6BA2...
Brief description General A synchronized action consists of a series of related statements within a part program that is called cyclically in the interpolator clock cycle synchronously to the machining blocks. A synchronized action is essentially divided into two parts, the optional condition and the obligatory action part.
Page 14
Brief description Schematic diagram of synchronized actions Synchronized actions Function Manual, 08/2018, 6FC5397-5BP40-6BA2...
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: Validity, ID no.
Detailed description 3.2 Components of synchronized actions Components of synchronized actions 3.2.1 Validity, identification number (ID, IDS) Validity The validity defines when and where the synchronized action will be processed: Validity Meaning Non-modal synchronized action A non-modal synchronized action applies: ●...
/_N_CST_DIR/_N_SAFE_SPF 1000 ... 1199 Machine manufacturer /_N_CMA_DIR 1200 ... 1399 Siemens /_N_CST_DIR Parallelization If several synchronized actions are to be active in parallel in a channel, their identification numbers ID/IDS must be different. Synchronized actions with the same identification number replace each other within a channel.
Detailed description 3.2 Components of synchronized actions Frequency Meaning If the condition is fulfilled, the action is executed once and then the condition is no longer checked. WHEN In the following cases, the action is executed once: EVERY ● The condition is already satisfied at the start of the synchronized action (state: TRUE) ●...
Detailed description 3.2 Components of synchronized actions 3.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 interpolator clock cycle.
Detailed description 3.3 System variables for synchronized actions G commands The following G commands are permissible: ● G70 (Inch dimensions for geometric specifications (lengths)) ● G71 (Metric dimensions for geometric specifications (lengths)) ● G700 (Inch dimensions for geometric and technological specifications (lengths, feedrate)) ●...
Detailed description 3.3 System variables for synchronized actions References A comprehensive description of the system variables listed in this function manual can be found in: ● System Variables Parameter Manual 3.3.1 Reading and writing The reading and writing of variables is performed in the main run in synchronized actions with a few exceptions.
Detailed description 3.3 System variables for synchronized actions 3.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 in synchronized actions: INT / INT ⇒ INT ●...
Page 23
Detailed description 3.3 System variables for synchronized actions 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): Priori‐...
Page 24
Detailed description 3.3 System variables for synchronized actions Operator Meaning ABS() Absolute value POT() 2nd power (square) TRUNC() Integer component The accuracy for comparison commands can be set using TRUNC ROUND() Round to an integer LN() Natural logarithm EXP() Exponential function A detailed description of the functions can be found in: References Programming Manual, Job Planning;...
Detailed description 3.3 System variables for synchronized actions 3.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 ≧...
Detailed description 3.3 System variables for synchronized actions Conversion: BOOL $A_OUT → REAL $R10 Program code WHEN $A_IN[3] == TRUE DO $R10 = $A_OUT[3] 3.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>:...
Detailed description 3.3 System variables for synchronized actions 3.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>...
Detailed description 3.3 System variables for synchronized actions 3.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.
Detailed description 3.3 System variables for synchronized actions 3.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.
Detailed description 3.3 System variables for synchronized actions References ● Parameter Manual: Lists (Book 1) ● Parameter Manual: Detailed Machine Data Description 3.3.8 Timer ($AC_TIMER) The $AC_TIMER[<index>] variables are channel-specific arrays of system variables. Data type: REAL <Index>: Array index: 0, 1, 2, ... (max. number - 1) Unit: Seconds Number per channel...
Detailed description 3.3 System variables for synchronized actions Example Output the actual value of the X axis as voltage value via analog output $A_OUTA[3], 500 ms after the detection of digital input $A_IN[1]: Program code Comment WHEN $A_IN[1] == 1 DO $AC_TIMER[1]=0 ;...
Page 32
Detailed description 3.3 System variables for synchronized actions $AC_FIFO[<n>, <i>] = <value> Read <variable> = $AC_FIFO<n>[<i>] <variable> = $AC_FIFO[<n>, <i>] Meaning FIFO data structure in the R parameters, starting from value in MD28262 $AC_FIFO: $MC_START_AC_FIFO Data type: REAL Number of FIFO variables <n>: Data type: Value range:...
Page 33
Detailed description 3.3 System variables for synchronized actions Index of the FIFO variables with which the various functions and data within the data <i>: structure of the FIFO variables is accessed. Value range: 0, 1, 2, ... (MD28264 $MC_LEN_AC_FIFO - 1) Value Meaning Administrative data...
Page 34
Detailed description 3.3 System variables for synchronized actions Machine data Number of FIFO variables per channel The number of FIFO variables per channel is set using: MD28260 $MC_NUM_AC_FIFO = <number of FIFO variables per channel> Beginning of the R parameter range of FIFO variables The R parameter, from which the range of FIFO variables for the channel begins, is set using: MD28262 $MC_START_AC_FIFO = <number of the start R parameter>...
Page 35
Detailed description 3.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.
Detailed description 3.3 System variables for synchronized actions 3.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 37
Detailed description 3.3 System variables for synchronized actions Axis-specific override The axial feedrate can be changed via the axis-specific system variable $AA_OVR: Data type: REAL Unit: Range of val‐ 0.0 to machine data ues: ● For binary-coded override switch MD12100 $MN_OVR_FACTOR_LIMIT_BIN ●...
Detailed description 3.3 System variables for synchronized actions Effective axis-specific override The effective axis-specific override can be read via the axis-specific system variable $AA_TOTAL_OVR: Data type: REAL Unit: Range of val‐ 0.0 to maximum value ues: 3.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...
Page 39
Detailed description 3.3 System variables for synchronized actions Figure 3-1 Computing time shares of the synchronized actions on the interpolator cycle Activation The system variables only contain valid values when the "Utilization evaluation via synchronized actions" diagnostic function is active. For this, the following machine data must be greater than zero: MD11510 $MN_IPO_MAX_LOAD >...
Page 40
Detailed description 3.3 System variables for synchronized actions Resetting of min./max. values The following system variables for min./max. values are reset by writing arbitrary values: System variable Meaning $AN_SERVO_MAX_LOAD Longest computing time of the position controller $AN_SERVO_MIN_LOAD Shortest computing time of the position controller $AN_IPO_MAX_LOAD Longest computing time of the interpolator level (incl.
Detailed description 3.3 System variables for synchronized actions 3.3.13 Working-area limitation ($SA_WORKAREA_ ... ) Only the activation via the setting data is effective for the traversable command axes in synchronized actions with regard to the programmable working-area limitation G25/G26: ● $SA_WORKAREA_PLUS_ENABLE ●...
Detailed description 3.3 System variables for synchronized actions See also Machine and setting data ($$M, $$S) (Page 29) 3.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.
Detailed description 3.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)" 3.3.16 Polynomial coefficients, parameters ($AC_FCT ...) Function Using the FCTDEF function, as a maximum, a 3rd degree polynomial can be defined: f(x) = a x + a Note...
Page 44
Detailed description 3.3 System variables for synchronized actions System variable Meaning $AC_FCT2[<Poly_No>]: $AC_FCT3[<Poly_No>]: The number specified during the definition of the <Poly_No>: polynomial function (see above: Syntax) Part program When writing system variables in the part program, preprocessing stop STOPRE must be programmed explicitly for block-synchronous writing.
Detailed description 3.3 System variables for synchronized actions Parameter Meaning Axis section on the ordinate (feedrate): (5 - 4) / 100 = 5 / a = 100 * 5 / (5 - 4) = 500 Gradient of the straight line: = 100 / (4 - 5) = -100 = 0 (no square component) = 0 (no cubic component)
Page 46
Detailed description 3.3 System variables for synchronized actions The axial jerk is limited to the value set in MD32430 $MA_JOG_AND_POS_MAX_JERK (axial jerk). Note No predictive velocity control can be made for the overlaid $AA_OFF motion. This can cause a discontinuous velocity change, in particular for clocked specification (via synchronous actions) for $AA_OFF overlay values.
Page 47
Detailed description 3.3 System variables for synchronized actions Alarm "16907 Action ... only possible in stop state" Supplementary conditions ● Interrupt routines and ASUB When an interrupt routine is activated, modal motion-synchronous actions are retained and are also effective in the ASUB. If the subprogram return is not made with REPOS, the modal synchronized actions changed in the asynchronous subprogram continue to be effective in the main program.
Detailed description 3.3 System variables for synchronized actions 3.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 3.3 System variables for synchronized actions The current value of the tool length compensation can be read via the system variable $AA_TOFF_VAL. Note An evaluation of the variables $AA_TOFF_VAL is only useful in conjunction with an active orientation transformation or an active tool carrier. Examples Selecting the online tool length compensation Machine data for online tool length compensation:...
Page 50
Detailed description 3.3 System variables for synchronized actions Deselecting the online tool length compensation Program code ; Activate orientation transformation N10 TRAORI ; Activate tool length compensation in the X direction N20 TOFFON(X) ; Tool length compensation in the X direction: 10 mm N30 WHEN TRUE DO $AA_TOFF[X] = 10 G4 F5 ;...
Detailed description 3.3 System variables for synchronized actions The tool length compensation must also be deleted in this case. If a tool length offset is to remain active extending beyond a reset, and a transformation change or a change of the tool carrier that can be oriented takes place, then alarm 21665 "Channel %1 $AA_TOFF[ ] reset"...
Page 52
Detailed description 3.3 System variables for synchronized actions $AC_BLOCKTYPE and $AC_BLOCKTYPEINFO The system variable $AC_BLOCKTYPE contains the block type or the ID for the function that generated the block. The system variable $AC_BLOCKTYPEINFO contains, in addition to the block type (thousands position), the function-specific cause for the generation of the intermediate block.
Page 53
Detailed description 3.3 System variables for synchronized actions $AC_BLOCKTYPE $AC_BLOCKTYPEINFO Value Meaning: Current block has been gener‐ Value Meaning ated because of ... Pole handling with orientation transforma‐ 10000 Look-ahead positioning of the pole axis tion 10001 Traversal of the pole taper $AC_SPLITBLOCK The system variable $AC_SPLITBLOCK can be used to determine whether an internally generated block or a programmed block shortened by the NC is present.
Detailed description 3.3 System variables for synchronized actions 3.3.20 Initialization of array variables (SET, REP) Function Array variables can also be initialized in synchronized actions via the SET and REP commands. For a detailed description of the commands, refer to: References Programming Manual, Job Planning;...
Page 55
Detailed description 3.3 System variables for synchronized actions System variable NC/PLC interface DB21, ... Description $AC_IN_KEY_G_RUN_IN[1 ... 8] DBX387.0 ... 7 Enable request for the action on the PLC side (optional) 1) As a result of the ANDlogic operation of the NC enable signal on the NC side in $AC_IN_KEY_G_ENABLE and PLC enable signal NOT(DBX386.0 ...
Page 56
Detailed description 3.3 System variables for synchronized actions The PLC user program must provide the functions on the PLC side, for example "enable input signal x". Synchronized actions Function Manual, 08/2018, 6FC5397-5BP40-6BA2...
Detailed description 3.3 System variables for synchronized actions Sequence ● Main program – Call cycle "ZYKLUS_1" ● Cycle "ZYKLUS_1" – Set the enable for input signal x ($AC_IN_KEY_G_ENABLE) – Set up the synchronized action with technology cycle "SIGNAL_IN_x" – Initialize the trigger for action x "intermediate dressing" (R01) –...
Detailed description 3.4 User-defined variables for synchronized actions These bits have the following meaning: Value Meaning Not disabled Disabled via PLC or synchronized action Not disabled via PLC Disabled via PLC Not disabled via synchronized action Disabled via synchronized action Disabling via PLC or synchronized action have different levels of priority.
Page 59
Detailed description 3.4 User-defined variables for synchronized actions ● MD18662 $MM_NUM_SYNACT_GUD_BOOL[<x>] = <number> ● MD18663 $MM_NUM_SYNACT_GUD_AXIS[<x>] = <number> ● MD18664 $MM_NUM_SYNACT_GUD_CHAR[<x>] = <number> ● MD18665 $MM_NUM_SYNACT_GUD_STRING[<x>] = <number> The index <x> is used to specify the data block (access rights) and the value <number> to specify the number of synchronized-action GUDs for each data type (REAL, INT, etc.).
Detailed description 3.5 Language elements for synchronized actions and technology cycles ● The array size for STRING type synchronized action GUD is set to a fixed value of 32 (31 characters + \0). ● Even if no definition files have been created manually for global user data (GUD), synchronized-action GUD defined using machine data can be read in the corresponding GUD block from the HMI.
Page 61
Detailed description 3.5 Language elements for synchronized actions and technology cycles Fixed addresses with axis extension: Miscellaneous Axial feedrate (FA) (Page 84) OVRA Axial override Axial acceleration MEASA Axial measurement with deletion of distance-to-go MEAWA Axial measurement without deletion of distance-to-go Chapter: "Measurement (MEAWA, MEAC) (Page 109)"...
Page 62
Detailed description 3.5 Language elements for synchronized actions and technology cycles Settable addresses: Couplings > Generic coupling CPLINSC Scaling factor for the input value of the leading axis CPLINTR Offset value for the input value of the leading axis CPLOF Coupling of leading axis to following axis: Switch off CPLON Coupling of leading axis to following axis: Switch on...
Page 63
Detailed description 3.5 Language elements for synchronized actions and technology cycles Predefined subprograms: Miscellaneous UNLOCK Unlock synchronized action ICYCON Technology cycle: One block per interpolator clock cycle ICYCOF Technology cycle: All blocks in one interpolator clock cycle SYNFCT Polynomial evaluation (SYNFCT) (Page 68) FTOC Tool fine compensation Section: "Online tool offset (FTOC) (Page 73)"...
Page 64
Detailed description 3.5 Language elements for synchronized actions and technology cycles Predefined functions: Coupling > Curve tables CTAB Calculates the following axis position based on the leading axis posi‐ tion using the curve table CTABINV Calculates the leading axis position based on the following axis posi‐ tion using the curve table CTABID Determines the table number of the curve table...
Page 65
Detailed description 3.5 Language elements for synchronized actions and technology cycles 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 Absolute value...
Detailed description 3.6 Language elements for technology cycles only Predefined functions: Miscellaneous POSRANGE Position in specified reference range (POSRANGE) (Page 82) PRESETON Actual value setting with loss of the referencing status (PRESETON) (Page 94) PRESETONS Actual value setting without loss of the referencing status (PRESE‐ TONS) (Page 99) Predefined procedures: Miscellaneous CANCELSUB...
Detailed description 3.7 Actions in synchronized actions Actions in synchronized actions 3.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.
Detailed description 3.7 Actions in synchronized actions 3.7.2 Reading and writing of system variables The system variables of the NC are listed in the "System Variables" Parameter Manual with their respective properties. System variables that can be read or written in the action part of synchronized actions are marked with an "X"...
Page 69
Detailed description 3.7 Actions in synchronized actions active programmed Meaning <SysVar_Out> $AC_VC additive path feedrate override $AA_VC[axis] additive axial feedrate override Input value is the actual current value $AA_CURR of the X axis. The operating point is set to 5 A. The feedrate may be altered by ±100 mm/min and the axial current deviation may be ±1 A.
Page 70
Detailed description 3.7 Actions in synchronized actions Program code N110 ID=1 DO SYNFCT(1, $AC_VC[X], $AA_CURR[X]) 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 71
Detailed description 3.7 Actions in synchronized actions $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 3-5 Clearance control: Principle The clearance control of the infeed axis Z is performed via the FCTDEF and SYNFCT functions as well as by the system variables $AA_OFF and $A_INA.
Page 72
Detailed description 3.7 Actions in synchronized actions Figure 3-6 Clearance control Determining the parameters of the FCTDEF function: FCTDEF(<Poly_No>,<Lo_Limit>,<Up_Limit>,a = 1 (example) <Poly_No>: = 0.2 <Lo_Limit>: = 0.5 <Up_Limit>: Polynomial: f(x) = a 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...
Detailed description 3.7 Actions in synchronized actions Program code: %_N_AOFF_SPF Comment ENDPROC Program code: %_N_MAIN_MPF Comment N100 $SA_AA_OFF_LIMIT[Z]=1 N110 AON ; Clearance control "ON" N200 G1 X100 F1000 N210 AOFF ; Clearance control "OFF" See also Online tool offset (FTOC) (Page 73) 3.7.4 Online tool offset (FTOC) The FTOC function enables the overlaid movement of a geometry axis for the online tool offset,...
Page 74
Detailed description 3.7 Actions in synchronized actions Meaning Parameter Meaning Number of the polynomial defined with FCTDEF <Poly_No>: 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>: Target channel in which the offset must be applied.
Detailed description 3.7 Actions in synchronized actions 3.7.5 Programmed read-in disable (RDISABLE) Function The RDISABLE command in the active section causes block processing to be stopped when 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 is no longer fulfilled.
Detailed description 3.7 Actions in synchronized actions does not act on block N115 – but instead on the internal REPOSA block. As a consequence, to start, positioning axis X is traversed to its programmed position and then in block N115, the Y axis to its programmed position.
Page 77
Detailed description 3.7 Actions in synchronized actions After deletion of the distance-to-go, the value of the deleted distance-to-go can be read via a system variable: ● Path distance-to-go: $AC_DELT ● Axial distance-to-go: $AA_DELT Syntax DELDTG DELDTG(<axis 1>[,<axis 2>, ... ]) Meaning Parameter Meaning...
Detailed description 3.7 Actions in synchronized actions 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. N100: Non-modal synchronized action to delete distance-to-go of the V axis, depending on digital input 2.
Page 79
Detailed description 3.7 Actions in synchronized actions If the traversing motion of one synchronized action is still active when the traversing motion of the other synchronized action is started, the second traversing motion replaces the first. Program code ; 1st traversing motion ID=1 EVERY $A_IN[1]>=1 DO POS[V]=100 FA[V]=560 ;...
Page 80
Detailed description 3.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 ;...
Detailed description 3.7 Actions in synchronized actions Parameterizable axis status The behavior with regard to the axis status after the end of the part program and NC Reset can be parameterized via the following machine data: MD30450 $MA_IS_CONCURRENT_POS_AX[<axis>] = <value> <value>...
Detailed description 3.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...
Detailed description 3.7 Actions in synchronized actions Syntax <Status> POSRANGE(<axis>, <RefPos>, <tolerance>, [<CoordSys>] ) Meaning Function return value <status> Type: BOOL TRUE: The current position of the axis is within the tolerance range. FALSE: The current position of the axis is not within the toler‐ ance range.
Detailed description 3.7 Actions in synchronized actions Meaning Traversing command for a command axis Channel axis name <axis> Type: AXIS Traversing direction <Direction> Type: INT Range of values: > 0: Positive traversing direction (default: +1) < 0: Negative traversing direction (default: -1) = 0: Stop Note Indexing axis...
Detailed description 3.7 Actions in synchronized actions Remarks ● The default value for the feedrate of positioning axes is set via axial machine data: MD32060 $MA_POS_AX_VELO (initial setting for positioning axis velocity) ● The axial feedrate can be specified as a linear or revolutional feedrate. The feedrate type can be set via the setting data: SD43300 $SA_ASSIGN_FEED_PER_REV_SOURCE (revolutional feedrate for positioning axes / spindles)
Page 86
Detailed description 3.7 Actions in synchronized actions Channel number <channel number n>: Type: INTEGER Range of values: 1 ... maximum channel number Axis type and axis status regarding axis replacement The axis type and axis status currently valid at the time of the synchronized action activation can be queried via the $AA_AXCHANGE_TYP or $AA_AXCHANGE_STAT system variable.
Page 87
Detailed description 3.7 Actions in synchronized actions Axis is already assigned to the requested channel If the requested axis has already been assigned to this channel at the point of activation, and its status is that of a neutral axis not controlled by the PLC $AA_AXCHANGE_TYP[axis]==3, it is assigned to the NC program $AA_AXCHANGE_TYP[axis]==0.
Page 88
Detailed description 3.7 Actions in synchronized actions $AA_AXCHANGE_STAT[<axis>] is reset from 1 to 0 if there is no other reason to link the axis to the channel. Such a link of the axis is present, for example, with: ● Active axis coupling ●...
Page 89
Detailed description 3.7 Actions in synchronized actions Program code Comment WHENEVER($AA_TYP[Z]<>1) DO RDISABLE N120 G4 F0.1 WHEN TRUE DO RELEASE(Z) ; Z axis becomes neutral ; Read-in disable as long as Z axis is program axis WHENEVER $AA_TYP[Z] == 1 DO RDISABLE N130 G4 F0.1 N140 START(2) ;...
Detailed description 3.7 Actions in synchronized actions Transfer axis to another channel (AXTOCHAN) An axis can be requested for an arbitrary channel from a synchronized action with the AXTOCHAN command. If the axis is already assigned to the NC program of the channel ($AA_AXCHANGE_TYP[<axis>] == 0), there is no state change.
Page 91
Detailed description 3.7 Actions in synchronized actions The spindle is programmed within a part program and should not start at the beginning of the block, but only when input 1 is set. The synchronized action holds the spindle override at 0% until the enable via input 1.
Detailed description 3.7 Actions in synchronized actions 3.7.15 Withdrawing the enable for the axis container rotation (AXCTSWEC) Function Using the command AXCTSWEC an already issued enable signal to rotate the axis container can be withdrawn again. The command triggers a preprocessing stop with reorganization (STOPRE).
Page 93
Detailed description 3.7 Actions in synchronized actions Program code Comment 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 N250 G0 X30 N260 M5 ;...
Detailed description 3.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 95
Detailed description 3.7 Actions in synchronized actions i.e. this channel must have the interpolation right for this axis. The axis is not requested from another channel via axis replacement. Referencing status By setting a new actual value in the machine coordinate system, the referencing status of the machine axis is reset.
Page 96
Detailed description 3.7 Actions in synchronized actions PRESETON(<axis>, $VA_IM + $AC_PRESET[<axis>]) ; "current actual position of the axis in the MCS'" + "offsets" Example Program code N10 G1 X=10 F5000 ; Traverse the X axis as command axis to position 200 N20 WHEN TRUE DO G71 POS[X]=200 ;...
Page 97
Detailed description 3.7 Actions in synchronized actions Geometry axes ● PRESETON can be used on a stationary geometry axis when a further geometry axis is not being traversed in the channel at the same time. ● PRESETON can be used on a stationary geometry axis even when a further geometry axis is being traversed in the channel at the same time, but this axis is in the "neutral axis"...
Page 98
Detailed description 3.7 Actions in synchronized actions PRESETON in synchronized action Spindle mode Traversing sta‐ Assigned to the NC Main axis program Axis mode In motion Alarm 17601 Stationary +: Possible -: Not possible PRESETON in the NC program Spindle mode Traversing sta‐...
Detailed description 3.7 Actions in synchronized actions Position-dependent NC/PLC interface signals ● The status of the position-dependent NC/PLC interface signals is redetermined based on the new actual position. Example: Fixed point positions – Parameterized fixed point positions: MD30600 $MA_FIX_POINT_POS[0...3] = <fixed point position 1...4>...
Page 100
Detailed description 3.7 Actions in synchronized actions Referencing status By setting a new actual value in the machine coordinate system (MCS) with PRESETONS, the referencing status of the machine axis is not changed. Requirements ● Encoder type PRESETONS is only possible with the following encoder types of the active measuring system: –...
Page 101
Detailed description 3.7 Actions in synchronized actions New current actual value of the machine axis in the machine coordinate <value>: system (MCS) The input is made in the active system of units (inch/metric) An active diameter programming (DIAMON) is taken into account Type: REAL System variable...
Page 102
Detailed description 3.7 Actions in synchronized actions ● Traversing path axes ● Reciprocating axes ● Axes on which one or more of the following safety functions (Safety Integrated) are active – Enable safe limit switch MD36901 $MA_SAFE_FUNCTION_ENABLE[<safe axis>], bit 1 = 1 –...
Page 103
Detailed description 3.7 Actions in synchronized actions Spindle states The following table shows the reactions that occur when PRESETONS is used on a spindle in a synchronized action: PRESETONS in synchronized action Spindle mode Traversing sta‐ Assigned to the NC Main axis program Speed control mode...
Page 104
Detailed description 3.7 Actions in synchronized actions Software limit switches, operating range limit, protection areas ● If the axis position is outside the specified limits after a work offset by PRESETONS, an alarm is not displayed until an attempt is made to traverse the axis. Block search with calculation PRESETONS commands are collected during the block search and executed with the NC start to continue the NC program.
Detailed description 3.7 Actions in synchronized actions 3.7.18 Couplings (CP..., LEAD..., TRAIL..., CTAB...) The commands listed in Section "Language elements for synchronized actions and technology cycles (Page 60)" can be programmed in synchronized actions for the functions coupled motion (TRAIL...), curve tables (CTAB...), master value coupling (LEAD...) and generic coupling (CP...): Note Generic coupling...
Page 106
Detailed description 3.7 Actions in synchronized actions Number of the curve table <NO>: Type: INT Status of the overwrite permission <OVW>: Type: BOOL 0: Overwriting of the table is not permitted 1: Overwriting of the table is permitted ● Synchronized actions can be used to change the basic curve table without a resynchronization even during an active master value coupling.
Page 107
Detailed description 3.7 Actions in synchronized actions Program code Comment ; PRESET after length R3, new start after parting N1400 ID=1 WHENEVER $AA_IW[X]>$R3 DO PESETON(X1,0) N1500 RELEASE(Y) ; Couple Y to X via table 1, for X < 10 N1800 ID=6 EVERY $AA_IM[X]<10 DO LEADON(Y,X,1) ;...
Page 108
Detailed description 3.7 Actions in synchronized actions Axis replacement with cross-channel coupling For axis replacement, the following and leading axes must be known to the calling channel. Axis replacement of leading axes can be performed independently of the state of the coupling. A defined or active coupling does not produce any other supplementary conditions.
Detailed description 3.7 Actions in synchronized actions Program code N20 ... DO CPLNUM[X,Y]=2 CPLON[Y]=X ; Error Activate coupling, deactivation/activation with implicit resynchronization Program code N10 ... DO CPLON[X]=Y CPLNUM[X,Y]=3 N20 Y100 F100 N30 ... DO CPLOF=X CPLON[X]=Y CPLNUM[X,Y]=3 Activate coupling, deactivate and traverse as a command axis Program code N10 ...
Page 110
Detailed description 3.7 Actions in synchronized actions Measurement tasks and state changes When a measurement task has been executed from a synchronized action, the control system responds in the following way: State Response Operating mode change A measurement task activated by a modal synchronized action is not affec‐ ted by a change in operating mode.
Page 111
Detailed description 3.7 Actions in synchronized actions Examples In the following examples, two FIFO memories are set up via machine data: ● MD28050 $MC_MM_NUM_R_PARAM = 300 ● MD28258 $MC_MM_NUM_AC_TIMER = 1 ● MD28260 $MC_NUM_AC_FIFO = 1 (set up FIFO memory) ●...
Page 113
Detailed description 3.7 Actions in synchronized actions FXST[<axis>]=<clamping torque> FXSW[<axis>] = <window width> FOCON[<axis>] FOCOF[<axis>] FOC[<axis>] Meaning Parameter Meaning Travel to fixed stop FXS: Request to the "Travel to fixed stop" function: <Request>: 0 = switch off 1 = switch on Set clamping torque FXST: Clamping torque as % of the maximum drive torque...
Detailed description 3.7 Actions in synchronized actions Program code Comment ; "Travel to fixed stop" is switched on for the X axis, ; as soon as the position setpoint in the WCS is > 20 mm ; Execution of the non-modal synchronized action: With N30 N20 WHEN G71 $AA_IW[X] >...
Detailed description 3.7 Actions in synchronized actions Meaning A detailed description of the SETM and CLEARM commands can be found in: References Programming Manual, Job Planning; Section "Flexible NC programming" > "Program coordination (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)" 3.7.22 User-specific error reactions (SETAL) Synchronized actions can be used to react user-specifically to application-specific error states.
Detailed description 3.8 Technology cycles 3.7.23 Cancel the actual subprogram level (CANCELSUB) Using CANCELSUB, in the channel in which the synchronized action is executed, the NC program active in the current subprogram level is canceled and in the calling program, the next higher program level is selected.
Page 117
Detailed description 3.8 Technology cycles End of program The following commands are permitted as end of program: M02, M17, M30, RET Search path When calling a technology cycle, the same search path is used as for subprograms and cycles. References Programming Manual, Job Preparation, Section "Flexible NC programming"...
Detailed description 3.8 Technology cycles Execution sequence of the technology cycle blocks: N10, N11, N12, N20, N21, N22, N30, N31, Note Supplementary conditions ● A maximum of eight technology cycles may be called in the action part of a synchronized action.
Page 119
Detailed description 3.8 Technology cycles A distinction is made between single-cycle and multi-cycle actions. Examples are: ● Single-cycle actions: Auxiliary function output, value assignments ● Multi-cycle actions: Traversing motions of axes and spindles Each block of a technology cycle requires at least one interpolator clock cycle. Processing mode: ICYCOF All actions of all blocks of a technology cycle are initiated in parallel in the ICYCOF processing mode.
Detailed description 3.8 Technology cycles 3.8.3 Definitions (DEF, DEFINE) If an NC program is used as technology cycle, that contains commands for variable (DEF) and/ or macro definition (DEFINE) then these have no effect when executing the technology cycle. Although variables and macro definitions have no effect within a technology cycle, they must nevertheless have the correct syntax.
Detailed description 3.9 Protected synchronized actions Example Travel parameters via user variables in the part program and R parameters in the technology cycle Program code Comment: Use in PROC UP_1 DEF REAL POS_X=100.0 Part program DEF REAL F_X=250.0 Part program IF $P_TECCYCLE==TRUE $R1=100.0 Technology cycle...
Detailed description 3.10 Coordination via part program and synchronized action (LOCK, UNLOCK, CANCEL) Application The synchronized actions defined by the machine manufacturer to react to certain machine states should not be changed after commissioning. Note It is recommended that the protection of synchronized actions should not be activated during the commissioning phase as otherwise a Power on reset is required at each change to the synchronized action.
Detailed description 3.11 Coordination via PLC By specifying the identification number, synchronized actions from part programs and from synchronized actions can be coordinated via the following commands: Keyword Meaning Lock synchronized action LOCK(<number>): An active positioning action is interrupted. Continue interrupted synchronized action UNLOCK(<number>): An interrupted positioning operation is continued.
Detailed description 3.12 Configuration DB21, … DBX280.1 = 1 (request: Accept synchronized actions to be locked) The NC then accepts the inhibit signals from the interface in the channel and acknowledges the acceptance by resetting the request: DB21, … DBX280.1 = 0 (acknowledgement: Synchronized actions to be locked accepted) See also Protected synchronized actions (Page 121) 3.12...
Detailed information on the activation of synchronized actions after ramp-up of the NC (Power On) can be found in: PLC user program Function Manual, Basic Functions; PLC Basic Program for SINUMERIK 840D sl Section "Structure and functions of the basic program" > "Functions of the basic program with call from the user program"...
Detailed description 3.13 Control behavior in specific operating states Event-driven Function Manual, Basic Functions; Mode Group, Channel, Program Operation (K1) Section "Program operation" > "Event-controlled program calls" 3.13.2 NC reset State after NC reset: From: Modal and non-modal synchronized action (ID) Static synchronized action (IDS) Synchronized action Aborted or inactive...
Detailed description 3.13 Control behavior in specific operating states 3.13.4 Operating mode change Status after operating mode change: From: Modal and non-modal synchronized action (ID) Static synchronized action (IDS) Synchronized action Aborted or inactive Active Traversing motion Aborted Active Speed-controlled Active Active spindle...
Detailed description 3.13 Control behavior in specific operating states 3.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>...
Detailed description 3.13 Control behavior in specific operating states IF ($P_PROG_EVENT==5) FOR II=SIDS TO SIDS+8 CANCEL(II) ENDFOR STOPRE IDS=SIDS DO G710 $AC_MARKER[SACM+2]=(($AC_MARKER[SACM+2]+1) MOD 2)*(($A_DBW[72] B_AND 16)/16) SIDS=SIDS+1 IDS=SIDS WHENEVER (($AC_PARAM[SACP+6])>=ZPOS_CO[1]) DO $AC_PARAM[SACP+4]=SIN((($AC_PARAM[SACP+6]-ZPOS_CO[0])/ (ZPD_CO))*90) ... ; Further synchronized actions ENDIF 3.13.7 Program interruption by ASUB Non-modal and modal synchronized actions (ID) Active modal synchronized actions also remain active during the ASUB.
Detailed description 3.14 Diagnostics (HMI Advanced only) If positioning motions started from synchronized actions are interrupted by the operating mode change or start of the interrupt routine, then they are continued with REPOS. 3.13.9 Response to alarms ● If an action of a synchronized action triggers an alarm, this action will be aborted. Other actions of the synchronized action are processed.
Detailed description 3.14 Diagnostics (HMI Advanced only) Figure 3-8 Functionality of test tools for synchronized actions For a description of how to use these functions, please see: References: /BAD/ Operator's Guide HMI Advanced. 3.14.1 Displaying the status of synchronized actions The following information is shown on the status display of the synchronized actions: ●...
Detailed description 3.14 Diagnostics (HMI Advanced only) Status Status Meaning No status The condition is checked in the interpolator clock cycle. Locked The synchronized action is locked. See Section: ● Coordination via part program and synchronized action (LOCK, UNLOCK, CANCEL) (Page 122) ●...
Detailed description 3.14 Diagnostics (HMI Advanced only) 3.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 interpolator clock cycle. Method The values defined in a log definition are written to a log file of defined size in the specified cycle.
Page 134
Detailed description 3.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 135
Detailed description 3.14 Diagnostics (HMI Advanced only) Managing logs Several log definitions can be stored under user-defined names. They can be called later for initialization and start of recording or for modification and deletion. Synchronized actions Function Manual, 08/2018, 6FC5397-5BP40-6BA2...
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 ... Path distance to start of block ≥ 20 mm (BCS) ...WHEN $AC_PLTBB >= 20 DO ...
Page 138
Examples 4.2 Reading and writing of SD/MD from synchronized actions Program code ; WHEN current position of the oscillating axis in the WCS == reversal position 1, ; THEN override of the oscillation axis = 100%, override of the infeed axis = 0% ;...
Examples 4.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 140
Examples 4.3 Examples of adaptive control $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 condition Note...
Examples 4.3 Examples of adaptive control 4.3.2 Feedrate control Example of adaptive control with an analog input voltage A process quantity (measured via $A_INA[1]) is to be controlled at 2 V using an additive control factor implemented by a path (or axial) feedrate override. Feedrate override is to be performed within the range of +100 [mm/min].
Examples 4.3 Examples of adaptive control ; square component ; cubic component With the values determined above, the polynomial is defined as follows: FCTDEF(1, -100, 100, 200, -100, 0, 0) 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]) or for the path feedrate:...
Examples 4.5 Store execution times in R parameters : -100 : -100 : not used With these values, the polynomial definition is as follows: FCTDEF(2, 1, 100, 100, -100, -100) ; Activation of the variable override as a function of the path: ID= 1 DO SYNFCT (2, $AC_OVR, $AC_PATHN) G01 X100 Y100 F1000 Monitoring a safety clearance between two axes...
Examples 4.6 "Centering" with continuous measurement Program Comment The example is as follows with symbolic programming: DEFINE INDEX AS $AC_MARKER[0] Agreements for symbolic programming IDS=1 EVERY $AC_TIMEC==0 DO INDEX = Advance R parameter INDEX + 1 pointer on block change IDS=2 DO $R[10+INDEX] = $AC_TIME Write current time of block start in each case to R parameter...
Page 145
Examples 4.6 "Centering" with continuous measurement %_N_MEAC_MITTEN_MPF ; Measure using rotary axis B (BACH) where the difference is displayed ; between the measured values ;*** Define local user variables *** N1 DEF INT ZAEHNEZAHL ; Input number of gear teeth N5 DEF REAL HYS_POS_FLANKE ;...
Page 146
Examples 4.6 "Centering" with continuous measurement ; 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 *** WAITP(BACH) ;...
Examples 4.7 Axis couplings via synchronized actions Axis couplings via synchronized actions 4.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.
Examples 4.7 Axis couplings via synchronized actions N270 ID=3 EVERY $R2==1 DO Rotate leading axis with feedrate endlessly MOV[BACH]=1 FA[BACH]=R5 in R5 N275 ID=4 EVERY $R2==0 DO Stop leading axis MOV[BACH]=0 N280 M00 N285 STOPRE N290 R1=0 Disable coupling condition N295 R2=0 Disable condition for rotating leading axis N300 R5=180...
Page 150
Examples 4.7 Axis couplings via synchronized actions ; CACH is the workpiece axis as rotary axis and master value axis ; Application: Grind non-circular contours ; Table 1 maps the override for axis CACH as function of the position of CACH ;...
Page 151
Examples 4.7 Axis couplings via synchronized actions N2500 *** Control override of the CACH from position CASW with ID 10 *** N2700 ID=11 DO $$AA_OVR[CACH]= Assign "axis position" CASW to OVR CACH $AA_IM[CASW] N2900 WAITP(CACH) N3000 ID=7 EVERY $R4==1 DO Start as endless rotating rotary axis MOV[CACH]=1 FA[CACH]=R5 N3100 ID=8 EVERY $R4==0 DO...
Examples 4.7 Axis couplings via synchronized actions 4.7.3 On-the-fly parting Task assignment 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 the extruded material, MCS Y axis: Axis in which the cutting tool "tracks"...
Examples 4.8 Technology cycles position spindle Program code Comment N2100 ID=7 WHEN $R1==1 DO MOV[X]=1 FA[X]=$R4 ; Set extruded material axis continuous- ly in motion N2200 M30 Technology cycles position spindle Application Interacting with the PLC program, the spindle which initiates a tool change should be: ●...
Examples 4.9 Synchronized actions in the TC/MC area Technology cycle ZIEL_POS %_N_ZIEL_POS_SPF PROC ZIEL_POS SPOS=IC($A_DBW[1]) ; Traverse spindle to position value that has been stored in $A_DBW[1] by the PLC, incremental dimen- sion $A_DBB[1]=0 ; Target positions executed in NC. Synchronized actions in the TC/MC area Introduction The following figure shows the schematic structure of a tool-changing cycle.
Page 155
Examples 4.9 Synchronized actions in the TC/MC area Flow chart Figure 4-7 Flowchart for tool-changing cycle Synchronized actions Function Manual, 08/2018, 6FC5397-5BP40-6BA2...
Page 156
Examples 4.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 N30 IF $P_SEARCH GOTOF wzw_vorlauf Block search active ? ->...
Page 157
Examples 4.9 Synchronized actions in the TC/MC area NC program Comment ;*** Store tool*** store1: N160 WHENEVER $AA_VACTM[C2]<>0 DO $AC_MARKER[1]=1 N165 G01 G40 G53 G64 G90 X=Magazin1VPX Y=Magazin1VPY Z=Maga- zin1ZGespannt F70000 M=QU(120) M=QU(123) M=QU(9) N170 WHENEVER $AA_STAT[S1]<>4 DO $AC_OVR=0 N175 WHENEVER $AA_VACTM[C2]<>0 DO $AC_MARKER[1]=1 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...
Page 158
Examples 4.9 Synchronized actions in the TC/MC area Synchronized actions Function Manual, 08/2018, 6FC5397-5BP40-6BA2...
Data lists Machine data 5.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 5.1.2 Channelspecific machine data Number Identifier: $MC_ Description 21240 PREVENT_SYNACT_LOCK_CHAN Protected synchronized actions for channel 28250 MM_NUM_SYNC_ELEMENTS...
WORKAREA_PLUS_ENABLE Working area limitation in pos. direction Signals 5.3.1 Signals to channel Signal name SINUMERIK 840D sl SINUMERIK 828D Synchronized action off DB21, ..DBX1.2 Request / acknowledgment: accept synchronized actions DB21, ..DBX280.1 to be inhibited / synchronized actions to be inhibited are...
Data lists 5.3 Signals 5.3.2 Signals from channel Signal name SINUMERIK 840D sl SINUMERIK 828D Request / acknowledgment: update synchronized actions DB21, ..DBX281.1 that can be inhibited / synchronized actions that can be in‐ hibited are updated Synchronized action ID/IDS can be inhibited DB21, ...
Page 162
Data lists 5.3 Signals Synchronized actions Function Manual, 08/2018, 6FC5397-5BP40-6BA2...
NC/PLC interface signals Signals to channel (DB21, ...) DB21, ... Synchronized action off DBX1.2 Edge evaluation: No Signal(s) updated: Cyclically Signal state 1 All synchronized actions in the channel are locked. This means that no synchronized action is exe‐ cuted. Signal state 0 Synchronized actions are executed in the channel.
NC/PLC interface signals 6.2 Signals from channel (DB21, ...) DB21, ... Input signal DBX385.0 ... 7 Application exam‐ Grinding ple(s) References Function Manual, Synchronized Actions DB21, ... Input signal inhibit DBX386.0 ... 7 Edge evaluation: No Signal(s) updated: Cyclically Signal state 1 The input signal is inhibited.
Page 165
NC/PLC interface signals 6.2 Signals from channel (DB21, ...) DB21, ... DBX308.0 ... 315.7 Synchronized action ID/IDS can be inhibited Edge evaluation: No Signal(s) updated: Cyclically Signal state 1 The synchronized action ID/IDS associated with the inhibit signal can be inhibited. Signal state 0 The synchronized action ID/IDS associated with the inhibit signal cannot be inhibited.
Page 166
NC/PLC interface signals 6.2 Signals from channel (DB21, ...) Synchronized actions Function Manual, 08/2018, 6FC5397-5BP40-6BA2...