Siemens SINUMERIK 828D Function Manual
Hide thumbs Also See for SINUMERIK 828D:
Table of Contents

Advertisement

 
SINUMERIK
SINUMERIK 840D sl / 828D
Basic Functions
Function Manual
Valid for
Control system SINUMERIK 840D sl /
 840DE sl SINUMERIK 828D
Software Version 
CNC software 4.4
09/2011
6FC5397-0BP40-2BA0
Preface
A2: Various NC/PLC interface
signals and functions
A3: Axis Monitoring, Protection
Zones
B1: Continuous­path Mode,
Exact Stop, LookAhead
B2: Acceleration
D1: Diagnostics tools
F1: Travel to fixed stop
G2: Velocities, setpoint / actual value
systems, closed-loop control
H2: Auxiliary function outputs to
PLC
K1: Mode group, channel, program
operation, reset response
K2: Axis Types, Coordinate
Systems, Frames
N2: Emergency stop
P1: Transverse axes
P3: Basic PLC Program for
SINUMERIK 840D sl
P4: PLC for SINUMERIK 828D
R1: Reference point approach
S1: Spindles
V1: Feedrates
W1: Tool offset
Z1: NC/PLC interface signals
Appendix
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 

Advertisement

Table of Contents
loading

Summary of Contents for Siemens SINUMERIK 828D

  • Page 1 10  Systems, Frames 11  N2: Emergency stop 12  P1: Transverse axes P3: Basic PLC Program for 13  SINUMERIK 840D sl 14  P4: PLC for SINUMERIK 828D 15  R1: Reference point approach Valid for 16  S1: Spindles Control system SINUMERIK 840D sl / 17   840DE sl SINUMERIK 828D V1: Feedrates Software Version ...
  • 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. It provides the target group with the information required to implement the functions.
  • Page 5 The description of functions include as <signal address> of an NC/PLC interface signal, only the address valid for SINUMERIK 840D sl. The signal address for SINUMERIK 828D should be taken from the data lists "Signals to/from ..." at the end of the particular description of functions.
  • Page 6 Geometrical parameters for moving, rotating, scaling, and mirroring Arrays can only be formed from similar elementary data types. Up to 3-dimensional arrays are possible. SINUMERIK 828D system performance (region) PPU240.2 / 241.2 PPU 260.2 / 261.2 PPU 280.2 / 281.2...
  • Page 7 Preface PPU240.2 / 241.2 PPU 260.2 / 261.2 PPU 280.2 / 281.2 BASIC T BASIC M Inclined Y axis ○ Synchronous spindle for counterspindle ○ Synchronous spindle for polygon ○ ○ ○ machining Gantry ○ ○ ○ ○ ○ ○ Temperature compensation ●...
  • Page 8 Preface Turning Milling ● Standard (basic scope) ○ Option Not available Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 9: Table Of Contents

    Table of contents Preface.................................3 A2: Various NC/PLC interface signals and functions ................35 Brief description......................... 35 NC/PLC interface signals ......................36 1.2.1 General ............................36 1.2.2 Ready signal to PLC ........................38 1.2.3 Status signals to PLC ........................ 38 1.2.4 Signals to/from panel front ......................39 1.2.5 Signals to channel ........................
  • Page 10 Table of contents 2.1.2 Protection zones ........................77 Axis monitoring .......................... 78 2.2.1 Contour monitoring ........................78 2.2.1.1 Contour error ..........................78 2.2.1.2 Following Error Monitoring ......................78 2.2.2 Positioning, zero speed and clamping monitoring ..............81 2.2.2.1 Correlation between positioning, zero-speed and clamping monitoring ........81 2.2.2.2 Positioning monitoring .......................
  • Page 11 Table of contents B1: Continuous­path Mode, Exact Stop, LookAhead ................147 Brief Description ........................147 Exact stop mode........................150 Continuous-path mode ......................154 3.3.1 General functionality ........................ 154 3.3.2 Velocity reduction according to overload factor ............... 156 3.3.3 Blending ........................... 158 3.3.3.1 Rounding according to a path criterion (G641) ................
  • Page 12 Table of contents Functions ..........................217 4.2.1 Acceleration and jerk for positioning motion to fixed points ............. 217 4.2.1.1 General Information ......................... 217 4.2.1.2 Parameterization ........................217 4.2.2 Acceleration without jerk limitation (BRISK/BRISKA) (channel-/axis-specific) ......218 4.2.2.1 General Information ......................... 218 4.2.2.2 Programmable maximum value (axis-specific) ................
  • Page 13 Table of contents 4.2.15.1 General Information ......................... 238 4.2.15.2 Programming ........................... 239 4.2.16 Jerk with programmed rapid traverse (G00) (axis-specific) ............. 240 4.2.16.1 General Information ......................... 240 4.2.16.2 Parameterization ........................240 4.2.17 Excessive jerk for block transitions without constant curvature (axis-specific) ......240 4.2.17.1 General Information .........................
  • Page 14 Table of contents 5.7.1.2 NC-specific machine data ......................296 5.7.1.3 Axis/spindle­specific machine data ..................297 5.7.2 Setting data ..........................297 5.7.2.1 Axis/spindle-specific setting data .................... 297 5.7.3 Signals ............................. 297 5.7.3.1 Signals to axis/spindle ......................297 5.7.3.2 Signals from axis/spindle ......................297 F1: Travel to fixed stop ..........................299 Product brief ..........................
  • Page 15 Table of contents Closed-loop control........................374 7.5.1 General ............................ 374 7.5.2 Parameter sets of the position controller ................. 377 Optimization of the control....................... 380 7.6.1 Position controller, position setpoint filter: Balancing filter ............380 7.6.2 Position controller, position setpoint filter: Jerk filter ..............383 7.6.3 Position control with proportional-plus-integral-action controller ..........
  • Page 16 Table of contents 8.13.4 Determining the output sequence .................... 442 8.13.5 Output suppression of spindle-specific auxiliary functions ............444 8.13.6 Auxiliary function output with a type 5 block search (SERUPRO) ........... 447 8.13.7 ASUB at the end of the SERUPRO ..................452 8.14 Implicitly output auxiliary functions ..................
  • Page 17 Table of contents 9.7.3 Automatic start of an ASUB after a block search ..............510 9.7.4 Cascaded block search ......................512 9.7.5 Examples of block search with calculation ................514 Block search Type 5 SERUPRO ..................... 518 9.8.1 REPOS ............................ 524 9.8.1.1 Continue machining after SERUPRO search target found ............
  • Page 18 Table of contents 9.9.13 Influencing the Stop events through Stop delay area .............. 588 9.10 Asynchronous subroutines (ASUBs), interrupt routines ............591 9.10.1 Function ........................... 591 9.10.1.1 General functionality ........................ 591 9.10.1.2 Sequence of an interrupt routine in program operation ............593 9.10.1.3 Interrupt routine with REPOSA ....................
  • Page 19 Table of contents 9.16 Program runtime / Part counter ....................661 9.16.1 Program runtime ........................661 9.16.2 Workpiece counter ........................668 9.17 Data lists..........................673 9.17.1 Machine data ........................... 673 9.17.1.1 General machine data ......................673 9.17.1.2 Channel­specific machine data ....................674 9.17.1.3 Axis/spindle­specific machine data ..................
  • Page 20 Table of contents 10.5.2 Frame components ........................723 10.5.2.1 Translation ..........................723 10.5.2.2 Fine offset ..........................724 10.5.2.3 Rotations for geometry axes ....................725 10.5.2.4 Scaling ............................. 729 10.5.2.5 Mirroring ........................... 729 10.5.2.6 Chain operator ......................... 730 10.5.2.7 Programmable axis identifiers ....................730 10.5.2.8 Coordinate transformation .......................
  • Page 21 Table of contents 10.6.3 Special reactions ........................802 10.7 Restrictions..........................804 10.8 Examples..........................804 10.8.1 Axes ............................804 10.8.2 Coordinate systems ......................... 807 10.8.3  Frames  ..........................808 10.9 Data lists..........................811 10.9.1 Machine data ........................... 811 10.9.1.1 Displaying machine data ......................811 10.9.1.2 NC-specific machine data ......................
  • Page 22 Table of contents 13.2 Key data of the PLC-CPUs for 840D sl and 840Di sl............... 839 13.3 Reserve resources (timers, counters, FC, FB, DB, I/O) ............846 13.4 Startup hardware configuration of the PLC-CPUs ..............847 13.5 Starting up the PLC program ....................852 13.5.1 Installation of the basic program ....................
  • Page 23 Table of contents 13.12.2 NC VAR selector ........................914 13.12.2.1Overview ..........................914 13.12.2.2Description of functions ......................916 13.12.2.3Start­up, installation ......................... 924 13.13 Block descriptions........................925 13.13.1 FB 1: RUN_UP Basic program, start­up section ..............925 13.13.2 FB 2: Read GET NC variable ....................933 13.13.3 FB 3: PUT write NC variables ....................
  • Page 24 13.15.6 FB calls ..........................1084 13.16 Data lists ..........................1086 13.16.1 Machine data ......................... 1086 13.16.1.1NC-specific machine data ...................... 1086 13.16.1.2Channel­specific machine data ....................1086 P4: PLC for SINUMERIK 828D ......................1087 14.1 Overview..........................1087 14.1.1 PLC firmware ......................... 1087 14.1.2 PLC user interface .........................
  • Page 25 Table of contents 14.4.1.2 Preconditions of the status update ..................1132 14.4.1.3 Influence of the operating state on the target system ............1132 14.4.1.4 Communication and cycle ..................... 1132 14.4.1.5 Status update ........................1133 14.4.1.6 Simulating process conditions ....................1133 14.4.1.7 Checking cross references and the elements used ...............
  • Page 26 Table of contents 14.6.4.13Rotate spindle with constant cutting rate [feet/min] ............... 1192 14.6.4.14Error messages ........................1193 14.6.5 Starting ASUBs ........................1195 14.6.5.1 The ASUB UP interface ......................1196 14.6.5.2 Signal flow ..........................1197 R1: Reference point approach ......................1199 15.1 Brief Description ........................1199 15.2 Axis­specific referencing......................
  • Page 27 Table of contents 15.11.1.2Channel­specific machine data ..................... 1250 15.11.1.3Axis/spindle­specific machine data ..................1250 15.11.2 Signals ........................... 1251 15.11.2.1Signals to BAG ........................1251 15.11.2.2Signals from BAG ........................1251 15.11.2.3Signals to channel ......................... 1252 15.11.2.4Signals from channel ......................1252 15.11.2.5Signals to axis/spindle ......................1252 15.11.2.6Signals from axis/spindle .......................
  • Page 28 Table of contents 16.8.3 Spindle in setpoint range ....................... 1342 16.8.4 Minimum / maximum speed of the gear stage ............... 1344 16.8.5 Diagnosis of spindle speed limitation ..................1345 16.8.6 Maximum spindle speed ......................1347 16.8.7 Maximum encoder limit frequency ..................1348 16.8.8 End point monitoring ......................
  • Page 29 Table of contents 17.4.8 Feedrate for chamfer/rounding FRC, FRCM ................. 1404 17.4.9 Non-modal feedrate FB ......................1405 17.4.10 Programmable single­axis dynamic response ............... 1406 17.5 Supplementary conditions ..................... 1411 17.5.1 General boundary conditions ....................1411 17.5.2 Supplementary conditions for feedrate programming ............1411 17.6 Examples..........................
  • Page 30 Table of contents 18.4.9 Tool parameter 24: Undercut angle ..................1456 18.4.10 Tools with a relevant tool point direction ................1457 18.5 Tool radius compensation 2D (TRC) ..................1458 18.5.1 General ..........................1458 18.5.2 Selecting the TRC (G41/G42) ....................1459 18.5.3 Approach and retraction behavior (NORM/KONT/KONTC/KONTT) ........
  • Page 31 Table of contents 18.10.5 Tool type (SD42950 $SC_TOOL_LENGTH_TYPE) .............. 1549 18.10.6 Temperature offsets in tool direction (SD42960 $SC_TOOL_TEMP_COMP) ....... 1550 18.10.7 Tool lengths in the WCS, allowing for the orientation ............1550 18.10.8 Tool length offsets in tool direction ..................1551 18.11 Sum offsets and setup offsets ....................
  • Page 32 Table of contents 19.1.6 Signals to channel (DB21, ...) ....................1623 19.1.7 Signals from channel (DB21, ...) .................... 1624 19.1.8 Signals to axis/spindle (DB31, ...) ..................1625 19.1.9 Signals from axis/spindle (DB31, ...) ..................1637 19.2 Axis monitoring, protection zones (A3) .................. 1652 19.2.1 Signals to channel (DB21, ...) ....................
  • Page 33 Appendix ...............................1743 20.1 List of abbreviations....................... 1743 20.2 Overview..........................1751 Glossary..............................1753 Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 34 Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 35: A2: Various Nc/Plc Interface Signals And Functions

    A2: Various NC/PLC interface signals and functions Brief description Content The PLC/NCK interface comprises a data interface on one side and a function interface on the other. The data interface contains status and control signals, auxiliary functions and G functions, while the function interface is used to transfer jobs from the PLC to the NCK.
  • Page 36: Nc/Plc Interface Signals

    A2: Various NC/PLC interface signals and functions 1.2 NC/PLC interface signals NC/PLC interface signals 1.2.1 General NC/PLC interface The NC/PLC interface comprises the following parts: • Data interface • Function interface Data interface The data interface is used for component coordination: •...
  • Page 37 A2: Various NC/PLC interface signals and functions 1.2 NC/PLC interface signals Channel-specific signals (DB21, ...) PLC to NC: • Control signal "Delete distance­to­go" NC to PLC: • NC status signals (NCK alarm active) Axis/spindle-specific signals (DB31, etc.) PLC to NC: •...
  • Page 38: Ready Signal To Plc

    A2: Various NC/PLC interface signals and functions 1.2 NC/PLC interface signals 1.2.2 Ready signal to PLC DB10 DBX104.7 (NC CPU Ready) The NC CPU is ready and registers itself cyclically with the PLC. DB10 DBX108.3 (HMI Ready) SINUMERIK Operate is ready and registers itself cyclically with the NC. DB10 DBX108.5 (drives in cyclic operation) Precondition: For all machine axes of the NC, the corresponding drives are in the cyclic operation, i.e.
  • Page 39: Signals To/From Panel Front

    A2: Various NC/PLC interface signals and functions 1.2 NC/PLC interface signals DB21, ... DBX36.6 (channel­specific NCK alarm pending) The NC sends this signal to the PLC to indicate that at least one NC alarm is pending for the affected channel. See also: DB21, ...
  • Page 40 A2: Various NC/PLC interface signals and functions 1.2 NC/PLC interface signals DB19 DBX 0.3 / 0.4 (Delete cancel alarms / Delete recall alarms) (HMI Advanced) Request to delete all currently pending alarms with Cancel or Recall delete criterion. Deletion of the alarms is acknowledged via the following interface signals.
  • Page 41: Signals To Channel

    A2: Various NC/PLC interface signals and functions 1.2 NC/PLC interface signals 1.2.5 Signals to channel DB21, ... DBX6.2 (delete distance-to-go) The rising edge on the interface signal generates a stop on the programmed path in the corresponding NC channel with the currently active path acceleration. The path distance-to-go is then deleted and the block change to the next part-program block is enabled.
  • Page 42 A2: Various NC/PLC interface signals and functions 1.2 NC/PLC interface signals DB31, ... DBX1.4 (follow-up mode) "Follow-up mode" is only effective in conjunction with the NC/PLC interface signal: DB31, ... DBX2.1 (controller enable) DB31, ... DBX2.1 DB31, ... DBX1.4 Function Ineffective Normal operation (machine axis in closed-loop control mode)
  • Page 43 A2: Various NC/PLC interface signals and functions 1.2 NC/PLC interface signals Application example Positioning response of machine axis Y following clamping when "controller enable" set. Clamping pushed the machine axis from the actual position Y to the clamping position Y Figure 1-1 Effect of controller enable and follow-up mode Figure 1-2...
  • Page 44 A2: Various NC/PLC interface signals and functions 1.2 NC/PLC interface signals Figure 1-3 Trajectory for clamping and "follow-up" Drives with analog setpoint interface A drive with an analog setpoint interface is capable of traversing the machine axis with an external setpoint. If "follow-up mode"...
  • Page 45 A2: Various NC/PLC interface signals and functions 1.2 NC/PLC interface signals Canceling follow­up mode Once follow-up mode has been canceled, the machine axis does not have to be homed again if the maximum permissible encoder limit frequency of the active measuring system was not exceeded during follow-up mode. If the encoder limit frequency is exceeded, the controller will detect this: •...
  • Page 46 A2: Various NC/PLC interface signals and functions 1.2 NC/PLC interface signals The table below shows the functionality of the interface signals in conjunction with the "controller enable". DB31, ... DBX1.5 DB31, ... DBX1.6 DB31, ... DBX2.1 Function 0 (or 1) Position measuring system 1 active Position measuring system 2 active "Parking"...
  • Page 47 A2: Various NC/PLC interface signals and functions 1.2 NC/PLC interface signals Canceling the controller enable when the machine axis is in motion: If a machine axis is part of an interpolatory path movement or coupling and the controller enable for this is canceled, all axes involved are stopped with a fast stop (speed setpoint = 0) and an alarm is displayed: Alarm: "21612 Controller enable reset during movement"...
  • Page 48 A2: Various NC/PLC interface signals and functions 1.2 NC/PLC interface signals Synchronizing the actual value (homing) Once the controller enable has been set, the actual position of the machine axis does not need to be synchronized again (homing) if the maximum permissible limit frequency of the measuring system was not exceeded during the time in which the machine axis was not in position-control mode.
  • Page 49 A2: Various NC/PLC interface signals and functions 1.2 NC/PLC interface signals DB31, ... DBX9.0 / 9.1 / 9.2 (controller parameter set) Request for activation of the specified controller parameter set. Controller parameter set DBX9.2 DBX9.1 DBX9.0 Parameter-set changeover must be enabled via the machine data (not required for spindles): MD35590 $MA_PARAMSET_CHANGE_ENABLE = 1 or 2 More information about parameter set changeover can be found in: References:...
  • Page 50: Signals From Axis/Spindle

    A2: Various NC/PLC interface signals and functions 1.2 NC/PLC interface signals 1.2.7 Signals from axis/spindle DB31, ... DBX61.0 (drive test travel request) If machine axes are traversed by special test functions such as "function generator", an explicit drive-test-specific enable is requested for the movement: DB31, ...
  • Page 51: Signals To Axis/Spindle (Digital Drives)

    A2: Various NC/PLC interface signals and functions 1.2 NC/PLC interface signals DB31, ... DBX76.0 (lubrication pulse) Following a control POWER ON/RESET, the signal status is 0 (FALSE). The "lubrication pulse" is inverted (edge change), as soon as the machine axis has covered the parameterized traversing distance for lubrication: MD33050 $MA_LUBRICATION_DIST (distance for lubrication by PLC) 1.2.8...
  • Page 52 A2: Various NC/PLC interface signals and functions 1.2 NC/PLC interface signals DB31, ... DBX21.5 (Motor selection done) The PLC user program sends this signal to the drive to indicate successful motor selection. For example, in the case of star/delta switchover on the SIMODRIVE 611D or 611U, a message or signal must be provided when the motor contactor has switched.
  • Page 53: Signals From Axis/Spindle (Digital Drives)

    A2: Various NC/PLC interface signals and functions 1.2 NC/PLC interface signals 1.2.9 Signals from axis/spindle (digital drives) DB31, ... DBX92.1 (ramp-function generator disable active) The drive signals back to the PLC that ramp-function-generator fast stop is active. The drive is thus brought to a standstill without the ramp function (with speed setpoint 0).
  • Page 54 A2: Various NC/PLC interface signals and functions 1.2 NC/PLC interface signals DB31, ... DBX94.2 (ramp-up completed) The signal indicates that the actual speed value has reached the new setpoint allowing for the tolerance band set in the drive machine data. The acceleration procedure is thus completed.
  • Page 55: Functions

    A2: Various NC/PLC interface signals and functions 1.3 Functions Functions 1.3.1 Screen settings Contrast, monitor type, foreground language, and display resolution to take effect after system startup can be set in the operator panel front machine data. Contrast MD9000 $MM_LCD_CONTRAST (contrast) For slimline operator panel fronts with a monochrome LCD, the contrast to be applied following system startup can be set.
  • Page 56: Settings For Involute Interpolation - Only 840D Sl

    A2: Various NC/PLC interface signals and functions 1.3 Functions REFRESH suppression MD10131 $MN_SUPPRESS_SCREEN_REFRESH (screen refresh in case of overload) Default setting for screen-refresh strategy with high NC utilization: • Value 0: Refresh of current values is suppressed in all channels. •...
  • Page 57 A2: Various NC/PLC interface signals and functions 1.3 Functions References: /PG/Programming Manual Fundamentals In addition to the programmed parameters, machine data are relevant in two instances of involute interpolation; these data may need to be set by the machine manufacturer/end user. Accuracy If the programmed end point does not lie exactly on the involute defined by the starting point, interpolation takes place between the two involutes defined by the starting and end points (see illustration below).
  • Page 58 A2: Various NC/PLC interface signals and functions 1.3 Functions Limit angle If AR is used to program an involute leading to the base circle with an angle of rotation that is greater than the maximum possible value, an alarm is output and program execution aborted. Figure 1-8 Limited angle of rotation towards base circle The alarm display can be suppressed using the following parameter settings:...
  • Page 59: Activate Default Memory

    A2: Various NC/PLC interface signals and functions 1.3 Functions 1.3.3 Activate DEFAULT memory GUD start values The DEF... / REDEF... NC commands can be used to assign default settings to global user data (GUD). These default settings must be permanently stored in the system if they are to be available after certain system states (e.g.
  • Page 60 A2: Various NC/PLC interface signals and functions 1.3 Functions Access from NC To allow the NC to access PLC variables (from a part program) quickly, $ variables are provided in the NCK. The PLC uses a function call (FC) to read and write $ variables. Data are transferred to and from the NCK immediately.
  • Page 61 A2: Various NC/PLC interface signals and functions 1.3 Functions Supplementary conditions • The user's programming engineer (NCK and PLC) is responsible for organizing the DPR memory area. No checks are made for inconsistencies in the configuration. • A total of 1024 bytes are available in the input and output directions. •...
  • Page 62 A2: Various NC/PLC interface signals and functions 1.3 Functions Example A WORD is to be transferred from the PLC to the NC. The position offset within the NCK input (PLC output area) should be the fourth byte. The position offset must be a whole-number multiple of the data width.
  • Page 63: Access Protection Via Password And Keyswitch

    Access authorization Access to functions, programs and data is user­oriented and controlled via 8 hierarchical protection levels. These are subdivided into: • Password levels for Siemens, machine manufacturer and end user • Keyswitch positions for end user Multi-level security concept A multi-level security concept to regulate access rights is available in the form of password levels and keyswitch settings.
  • Page 64: Password

    • Conversely, protection rights for a certain protection level can only be altered from a higher protection level. • Access rights for protection levels 0 to 3 are permanently assigned by Siemens and cannot be altered (default). • Access rights can be set by querying the current keyswitch positions and comparing the passwords entered.
  • Page 65: Keyswitch Settings (Db10, Dbx56.4 To 7)

    A2: Various NC/PLC interface signals and functions 1.3 Functions Defaults The following default passwords are defined for protection levels 1 to 3: • Protection level 1: SUNRISE • Protection level 2: EVENING • Protection level 3: CUSTOMER Note Following NC-CPU ramp-up in commissioning mode (NCK commissioning switch: position 1) the passwords for protection levels 1 –...
  • Page 66: Parameterizable Protection Levels

    A2: Various NC/PLC interface signals and functions 1.3 Functions Default settings via the PLC user program The keyswitch switch positions are transferred to the NC/PLC interface via the basic PLC program. The corresponding interface signals can be modified via the PLC user program. In this context, from the point of view of the NC, only one switch position should ever be active, i.e,.
  • Page 67: Examples

    A2: Various NC/PLC interface signals and functions 1.4 Examples Examples Parameter set changeover A parameter-set changeover is performed to change the position-control gain (servo gain factor) for machine axis X1 from v = 4.0 to Kv = 0.5. Preconditions The parameter set changeover must be enabled by the machine data: MD35590 $MA_PARAMSET_CHANGE_ENABLE [AX1] = 1 or 2 (parameter set change possible) The 1st parameter set for machine axis X1 is set, in accordance with machine data with index "0"...
  • Page 68 A2: Various NC/PLC interface signals and functions 1.4 Examples Changeover In order to switch over the position-control gain, the PLC user program selects the 4th parameter set for machine axis X1. • Request by PLC user program: DB31, … DBX9.0 – DBX9.2 = 3 (parameter set servo) A request to change over to the 4th parameter set is sent for machine axis AX1.
  • Page 69: Data Lists

    A2: Various NC/PLC interface signals and functions 1.5 Data lists Data lists 1.5.1 Machine data 1.5.1.1 Display machine data Number Identifier: $MM_ Description SINUMERIK Operate 9000 LCD_CONTRAST Contrast 9001 DISPLAY_TYPE Monitor type 9004 DISPLAY_RESOLUTION Display resolution 9008 KEYBOARD_TYPE Keyboard type (0: OP, 1: MFII/QWERTY) 9009 KEYBOARD_STATE Shift behavior of keyboard during booting...
  • Page 70: Nc-Specific Machine Data

    A2: Various NC/PLC interface signals and functions 1.5 Data lists Number Identifier: $MM_ Description SINUMERIK Operate 9232 USER_BEGIN_WRITE_RPA_1 Start of the first RPA area 9233 USER_END_WRITE_RPA_1 End of the first RPA area 9234 USER_CLASS_WRITE_RPA_2 Write protection for second RPA area 9235 USER_BEGIN_WRITE_RPA_2 Start of the second RPA area...
  • Page 71: Axis/Spindle­specific Machine Data

    A2: Various NC/PLC interface signals and functions 1.5 Data lists Number Identifier: $MC_ Description 27800 TECHNOLOGY_MODE Technology in channel 28150 MM_NUM_VDIVAR_ELEMENTS Number of write elements for PLC variables 28530 MM_PATH_VELO_SEGMENTS Number of storage elements for limiting path velocity in block 1.5.1.4 Axis/spindle­specific machine data Number...
  • Page 72: System Variables

    Data on PLC (DWORD type data) $A_DBR[n] Data on PLC (REAL type data) 1.5.3 Signals 1.5.3.1 Signals to NC Signal name SINUMERIK 840D sl SINUMERIK 828D Keyswitch setting 0 to 3 DB10.DBX56.4-7 DB2600.DBX0.4-7 1.5.3.2 Signals from NC Signal name SINUMERIK 840D sl SINUMERIK 828D Remote diagnostics active (HMI alarm is pending) DB10.DBX103.0...
  • Page 73: Signals To Operator Panel Front

    A2: Various NC/PLC interface signals and functions 1.5 Data lists 1.5.3.3 Signals to operator panel front Signal name SINUMERIK 840D sl SINUMERIK 828D Screen bright DB19.DBX0.0 Screen dark DB19.DBX0.1 Key disable DB19.DBX0.2 DB1900.DBX5000.2 Delete Cancel alarms (HMI Advanced only) DB19.DBX0.3 Delete Recall alarms (HMI Advanced only) DB19.DBX0.4...
  • Page 74: Signals From Channel

    A2: Various NC/PLC interface signals and functions 1.5 Data lists 1.5.3.6 Signals from channel Signal name SINUMERIK 840D sl SINUMERIK 828D Channel­specific NCK alarm is active DB21, ..DBX36.6 DB3300.DBX4.6 NCK alarm with processing stop present DB21, … .DBX36.7 DB3300.DBX4.7 Overstore active DB21, ...
  • Page 75 A2: Various NC/PLC interface signals and functions 1.5 Data lists Signal name SINUMERIK 840D sl SINUMERIK 828D | < n DB31, ..DBX94.4 DB390x.DBX4002.4 | < n DB31, ..DBX94.5 DB390x.DBX4002.5 DB31, ..DBX94.6 DB390x.DBX4002.6 Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 76 A2: Various NC/PLC interface signals and functions 1.5 Data lists Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 77: A3: Axis Monitoring, Protection Zones

    A3: Axis Monitoring, Protection Zones Brief Description 2.1.1 Axis monitoring functions Function Comprehensive monitoring functions are present in the control for protection of people and machines: • Contour monitoring • Position monitoring • Zero-speed monitoring • Clamping monitoring • Speed-setpoint monitoring •...
  • Page 78: Axis Monitoring

    A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring Axis monitoring 2.2.1 Contour monitoring 2.2.1.1 Contour error Contour errors are caused by signal distortions in the position control loop. Signal distortions can be linear or nonlinear. Linear signal distortions Linear signal distortions are caused by: •...
  • Page 79 A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring • Position control loop gain MD32200 $MA_POSCTRL_GAIN (servo gain factor) • Maximum acceleration MD32300 $MA_MAX_AX_ACCEL (Maximum axis acceleration) • Maximum velocity MD32000 $MA_MAX_AX_VELO (maximum axis velocity) • With activated feedforward control: Precision of the path model and the parameters: MD32610 $MA_VELO_FFW_WEIGHT (factor for the velocity feedforward control) MD32800 $MA_EQUIV_CURRCTRL_TIME (Equivalent time constant current control loop for feedforward control)
  • Page 80 A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring Fault If the configured tolerance limit is exceeded, the following alarm appears: 25050 "Axis <Axis identifier> Contour monitoring" The affected axis/spindle is stopped via the configured braking ramp in follow-up mode: MD36610 $MA_AX_EMERGENCY_STOP_TIME (Maximum time for braking ramp when an error occurs) Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 81: Positioning, Zero Speed And Clamping Monitoring

    A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring 2.2.2 Positioning, zero speed and clamping monitoring 2.2.2.1 Correlation between positioning, zero-speed and clamping monitoring Overview The following overview shows the correlation between the positioning, zero speed and clamping monitoring functions: 2.2.2.2 Positioning monitoring Function At the end of a positioning operation:...
  • Page 82 A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring After reaching "Exact stop fine", the position monitoring is deactivated. Note The smaller the exact stop fine tolerance is, the longer the positioning operation takes and the longer the time until block change. Rules for MD setting MD36010 $MA_STOP_LIMIT_FINE MD36020 $MA_POSITIONING_TIME...
  • Page 83: Zero Speed Monitoring

    A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring 2.2.2.3 Zero speed monitoring Function At the end of a positioning operation: • Set velocity = 0 AND • DB31, ... DBX64.6/64.7 (motion command minus/plus) = 0 checks the zero-speed monitoring to ensure that the following error of every participating machine axis is smaller than the standstill tolerance during the delay time.
  • Page 84: Exact Stop And Standstill Tolerance Dependent On The Parameter Set

    A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring 2.2.2.4 Exact stop and standstill tolerance dependent on the parameter set Common factor for position tolerances For adaptation to different machining situations and/or axis dynamics, e.g.,: • Operating state A: High precision, long machining time •...
  • Page 85 A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring Fault If the clamping tolerance is exceeded, the following alarm appears: 26000 "Clamping monitoring" The affected axis is stopped via the configured braking ramp in follow-up mode: MD36610 $MA_AX_EMERGENCY_STOP_TIME (Maximum time for braking ramp when an error occurs) Automatic stopping for removal of the clamp If a clamped axis must be traversed again in continuous-path mode, the NC stops the path motion for Look Ahead at the start of the motion block of the clamped axis until the clamped axis can once again be traversed.
  • Page 86 A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring Figure 2-2 Release axis clamp if MD36052 $MA_STOP_ON_CLAMPING = 'H01' The part-program blocks N310 and N410 refer to the following programming example: N100 G0 X0 Y0 Z0 A0 G90 G54 F500 N101 G641 ADIS=.1 ADISPOS=5 N210 G1 X10...
  • Page 87 A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring Parameter assignment: MD36052 $MA_STOP_ON_CLAMPING = 'H03' (Special function for clamped axis) Prerequisites regarding the PLC Application programs • The axis is removed from the clamp as soon as a travel command is pending. •...
  • Page 88 A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring • The axis is always clamped when no travel command is pending. • The axis does not have to be clamped during positioning of the other axes. It can be seen whether the axes are being positioned depending on whether rapid traverse (G0) is programmed.
  • Page 89 A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring Constraints Continuous-path mode For the above-mentioned functions: • Automatic stopping for releasing the clamps • Optimized release of the axis clamp through traverse command • Automatic stopping for setting the clamps the "Look Ahead" function must be active. Part-program blocks without path motion (e.g.
  • Page 90 A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring The function behaves as follows: • MD36052 $MA_STOP_ON_CLAMPING = 'H03' No longer has an effect. The travel command is set in Look Ahead mode only for blocks with active continuous­path mode. M82 generates a stop and thus interrupts the continuous­path mode.
  • Page 91: Speed-Setpoint Monitoring

    A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring See also interface signal: DB31, ... DBX1.4 (follow-up mode) Note The following interface signals can be evaluated by the PLC user program as the criterion for activation of the "Follow-up mode": DB31, ... DBX60.6 / 60.7 (position reached with exact stop coarse / fine) 2.2.3 Speed-setpoint monitoring Function...
  • Page 92 A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring Figure 2-6 Speed setpoint limitation Speed-setpoint monitoring delay To prevent an error reaction from occurring in every speed-limitation instance, a delay time can be configured: MD36220 $MA_CTRLOUT_LIMIT_TIME (Speed-setpoint monitoring delay) Only if the speed limitation is required for longer than the configured time does the corresponding error reaction occur.
  • Page 93: Actual Velocity Monitoring

    A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring 2.2.4 Actual velocity monitoring Function The actual-velocity monitoring checks that the current actual velocity of a machine axis/spindle does not exceed the configured threshold: MD36200 $MA_AX_VELO_LIMIT (velocity-monitoring threshold) The threshold should be 10-15% above the configured maximum velocity. •...
  • Page 94: Measuring-System Monitoring (Systems With Profibus Drives)

    A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring 2.2.5 Measuring-system monitoring (systems with PROFIBUS drives) The NC has no direct access to the measuring-system hardware for systems with PROFIBUS drives and therefore measuring-system monitoring is mainly performed by the drive software. References: Drive Functions SINAMICS S120 /FBU/SIMODRIVE 611 universal Function Manual...
  • Page 95: Limit Switches-Monitoring

    A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring 2.2.6 Limit switches-monitoring Overview of the end stops and possible limit switch monitoring: 2.2.6.1 Hardware limit switches Function A hardware limit switch is normally installed at the end of the traversing range of a machine axis. It serves to protect against accidental overtravelling of the maximum traversing range of the machine axis while the machine axis is not yet referenced.
  • Page 96: Software Limit Switch

    A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring Effectivity The hardware limit-switch monitoring is active after the control has ramped up in all modes. Effect Upon reaching the hardware limit switch, the following occurs: • Alarm 21614 "Channel <Channel number> Axis <Axis identifier> Hardware limit switch <Direction>" •...
  • Page 97 A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring • PRESET After use of the function PRESET, the software limit-switch monitoring is no longer active. The machine must first be re-referenced. • Endlessly rotating rotary axes No software limit-switch monitoring takes place for endlessly rotating rotary axes: MD30310 $MA_ROT_IS_MODULO == 1 (Modulo conversion for rotary axis and spindle) Exception: Setup-rotary axes Effects...
  • Page 98: Monitoring Of The Working Area Limitation

    A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring • Changing of the software limit switch (1st ↔ 2nd software limit switch) If the actual position of the machine axis after changing lies behind the software limit switch, it is stopped with the maximum permissible acceleration.
  • Page 99 A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring Reference point at the tool Taking into account the tool data (tool length and tool radius) and therefore the reference point at the tool when monitoring the working area limitation depends on the status of the transformation in the channel: •...
  • Page 100: Working Area Limitation In Bks

    A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring Manual operating modes • JOG with / without transformation The axis is positioned at the working area limitation and then stopped. Power­up response If an axis moves outside the permissible working area when activating the working area limits, it will be immediately stopped with the maximum permissible acceleration.
  • Page 101 A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring lower working area limitation G25 X… Y… Z… upper working area limitation G26 X… Y… Z… Figure 2-7 Programmed working area limitation The programmed working area limitation has priority and overwrites the values entered in SD43420 and SD43430.
  • Page 102: Working Area Limitation In Wks/Ens

    A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring Working area limitation ON WALIMON Working area limitation OFF WALIMOF Changing the working area limitation Working area limitation through setting data HMI user interface: Operating area "Parameter" • Automatic modes: Changes: possible only in the RESET state Effective: immediately •...
  • Page 103 A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring • Working area limits for all channel axes • A reference system, i.e. the coordinate system on which the working area limitations are based The number of the working area limitation groups used is set in the machine data: MD28600 $MC_MM_NUM_WORKAREA_CS_GROUPS Working area limits Both the activation of the working area limitation and the working area limits for the individual channel axes are...
  • Page 104 A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring Activation The working area limitations for a working area limitation group are activated by means of the NC program command WALCS<n>, where <n> is the number of the working area limitation group: Activating working area limitation group No.
  • Page 105 A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring Data backup The values of the system variables can be saved in specific backup files: Backup file For the backup of: _N_CHx_WAL Values of the system variables for the channel x. _N_COMPLETE_WAL Values of the system variables for all channels.
  • Page 106: Deactivating All Monitoring Functions: "Parking

    A3: Axis Monitoring, Protection Zones 2.2 Axis monitoring 2.2.8 Deactivating all monitoring functions: "Parking" If a machine axis is brought into the"Parking" state, then for this particular axis, no encoder actual values are acquired, and all of the monitoring functions described in the preceding chapters (measuring system, standstill, clamping monitoring etc.
  • Page 107: Protection Zones

    A3: Axis Monitoring, Protection Zones 2.3 Protection zones Protection zones 2.3.1 General Function Protection zones are static or moveable in 2- or 3-dimensional ranges within a machine to protect machine elements against collisions. The following elements can be protected: • Permanent parts of the machine and attachments (e.g.
  • Page 108: Types Of Protection Zone

    A3: Axis Monitoring, Protection Zones 2.3 Protection zones Reference • Tool-related protection zones Coordinates for tool­related protection zones must be given as absolute values referred to the tool carrier reference point F. • Workpiece-related protection zones Coordinates for workpiece­related protection zones must be given as absolute values referred to the zero point of the basic coordinate system.
  • Page 109 A3: Axis Monitoring, Protection Zones 2.3 Protection zones Maximum number of protection areas The maximum definable number of machine- and channel-related protection zones is set via: MD18190 $MN_MM_NUM_PROTECT_AREA_NCK (Number of files for machine-related protection zones) MD28200 $MC_MM_NUM_PROTECT_AREA_CHAN (Number of files for channel-specific protection zones) Coordinates The coordinates of a protection zone must always be programmed as absolute values with respect to the reference point of the protection zone.
  • Page 110 A3: Axis Monitoring, Protection Zones 2.3 Protection zones Figure 2-9 Example of a milling machine Figure 2-10 Example of a turning machine with relative protection zone for tailstock Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 111: Definition Via Part Program Instruction

    A3: Axis Monitoring, Protection Zones 2.3 Protection zones 2.3.3 Definition via part program instruction General A protection-zone definition must contain the following information: • Protection zone type (workpiece- or tool-related) • Orientation of the protection zone • Type of limitation in the third dimension •...
  • Page 112 A3: Axis Monitoring, Protection Zones 2.3 Protection zones Parameters Type Description Type of limitation in the third dimension applim No limitation Limit in plus direction Limit in minus direction Limit in positive and negative direction REAL Value of the limit in the negative direction in the 3rd dimension appminus REAL Value of the limit in the positive direction in the 3rd dimension...
  • Page 113 A3: Axis Monitoring, Protection Zones 2.3 Protection zones Figure 2-12 Examples: convex and concave tool-related protection zones Contour elements The following contour elements are permissible: • G0, G1 for straight contour elements • G2 for circle segments in the clockwise direction Permissible only for workpiece-related protection zones.
  • Page 114: Definition Via System Variable

    A3: Axis Monitoring, Protection Zones 2.3 Protection zones End of definition The end of definition is defined by the following subroutine: EXECUTE(NOT_USED) Parameters Type Description Error variable has no effect in protection zones with EXECUTE. NOT_USED The definition of a machine-specific or channel-specific protection zone is completed with the subroutine EXECUTE(n).
  • Page 115 A3: Axis Monitoring, Protection Zones 2.3 Protection zones System variable Type Significance $SN_PA_LIM_3DIM[n] Type of limitation in the third dimension $SC_PA_LIM_3DIM[n] No limitation Limit in plus direction Limit in minus direction Limit in positive and negative direction $SN_PA_PLUS_LIM[n] REAL Value of the limit in the positive direction in the 3rd $SC_PA_PLUS_LIM[n] dimension $SN_PA_MINUS_LIM[n]...
  • Page 116: Activation And Deactivation Of Protection Zones

    A3: Axis Monitoring, Protection Zones 2.3 Protection zones File Blocks _N_INITIAL_INI All data blocks of the protection zones _N_COMPLETE_PRO All data blocks of the protection zones _N_CHAN_PRO All data blocks of the channel­specific protection zones 2.3.5 Activation and deactivation of protection zones General information The activation status of a protection zone is: •...
  • Page 117 A3: Axis Monitoring, Protection Zones 2.3 Protection zones Preactivation Only preactivated protection zones can be activated from the PLC user program. Figure 2-13 Example: Turning machine with preactivated protection zone for a sensor. Preactivation with conditional stop In the case of preactivation with condition stop, the system does not always stop in front of a preactivated protection zone which has been violated.
  • Page 118 A3: Axis Monitoring, Protection Zones 2.3 Protection zones Deactivation, preactivation, activation via part program The activation status of a channel- or machine-specific protection zone is defined by the corresponding subroutine: • Channel-specific protection zone: CPROT (n, state, xMov, yMov, zMov) •...
  • Page 119 A3: Axis Monitoring, Protection Zones 2.3 Protection zones Activate The preactivated protection zones can be activated from the PLC user program: DB21, ... DBX8.0 to DBX9.1 (Activate machine-related protection zone 1 - 10) DB21, ... DBX10.0 to DBX11.1 (Activate channel-specific protection zone 1 - 10) Deactivation Protection zones activated from the part program cannot be deactivated by the PLC user program.
  • Page 120: Protection-Zone Violation And Temporary Enabling Of Individual Protection Zones

    A3: Axis Monitoring, Protection Zones 2.3 Protection zones 2.3.6 Protection-zone violation and temporary enabling of individual protection zones Function Workpiece and tool­related protection zones that are activated or deactivated are monitored for collision. If a protection-zone violation is detected, behavior in the individual operating modes is as follows. Terminating temporary enabling Temporary enabling of a protection zone is terminated after the following events: •...
  • Page 121 A3: Axis Monitoring, Protection Zones 2.3 Protection zones Monitoring of overlaid motion Axes that have been assigned to another channel are not taken into account. The last position to be approached is taken to be the end position. It is not taken into account whether the axis has traversed after changing channels.
  • Page 122 A3: Axis Monitoring, Protection Zones 2.3 Protection zones Enabling of workpiece-related protection zones When a workpiece-related protection zone has been violated, the operator can enable it temporarily with NC start in the AUTOMATIC and JOG modes so that it can be traversed. This clears the alarm and travels into the protection zone in the AUTOMATIC and MDI operating modes.
  • Page 123 A3: Axis Monitoring, Protection Zones 2.3 Protection zones The alarm is canceled or the PLC interface signal reset when the offsets from the overlaid motions are taken into account again or when the offsets are reduced to zero again. Note The end position for positioning axes is taken to be a position in the whole block.
  • Page 124 A3: Axis Monitoring, Protection Zones 2.3 Protection zones There are three possible situations in this case: 1. If the position is outside all active protection zones, the next traversing motion can be started normally. The appropriate PLC interface signals "Machine­specific or channel­specific protection zone violated" are set for the protection zones that are enabled or just preactivated, but not yet operative.
  • Page 125: Restrictions In Protection Zones

    A3: Axis Monitoring, Protection Zones 2.3 Protection zones Temporary enabling of protection zones Protection zones can be enabled in JOG mode when: 1. the current position is within a protection zone (alarm active) 2. a motion is to be started on the protection zone limit (alarm active) A protection zone is enabled when: •...
  • Page 126 A3: Axis Monitoring, Protection Zones 2.3 Protection zones Positioning axes For positioning axes, only the programmed block end point is monitored. An alarm is displayed during the traversing motion of the positioning axes: Alarm: "10704 Protection-zone monitoring is not guaranteed". Axis exchange If an axis is not active in a channel because of an axis replacement, the position of the axis last approached in the channel is taken as the current position.
  • Page 127: Supplementary Conditions

    A3: Axis Monitoring, Protection Zones 2.4 Supplementary conditions Supplementary conditions 2.4.1 Axis monitoring functions Settings For correct operation of the monitoring, the following settings must be made or checked, in addition to the machine data mentioned: General • MD31030 $MA_LEADSCREW_PITCH (Leadscrew pitch) •...
  • Page 128: Examples

    A3: Axis Monitoring, Protection Zones 2.5 Examples Examples 2.5.1 Axis monitoring 2.5.1.1 Working area limitation in WKS/ENS Available channel axes 4 axes are defined in the channel: X, Y, Z and A The A-axis is a rotary axis (not modulo). Parameterize number of working area limitation groups 3 working area limitation groups will be provided: MD28600 $MC_MM_NUM_WORKAREA_CS_GROUP = 3...
  • Page 129 A3: Axis Monitoring, Protection Zones 2.5 Examples The system variables are assigned as follows: Program code Comment N1 $P_WORKAREA_CS_COORD_SYSTEM[1]=3 ; The working area limitation of working area limitation group 1 applies in the AZS. N10 $P_WORKAREA_CS_PLUS_ENABLE[1,X]=TRUE N11 $P_WORKAREA_CS_LIMIT_PLUS[1,X]=10 N12 $P_WORKAREA_CS_MINUS_ENABLE[1,X]=FALSE N20 $P_WORKAREA_CS_PLUS_ENABLE[1,Y]=FALSE N22 $P_WORKAREA_CS_MINUS_ENABLE[1,Y]=TRUE N23 $P_WORKAREA_CS_LIMIT_MINUS[1,Y]=25...
  • Page 130: Protection Zones

    A3: Axis Monitoring, Protection Zones 2.5 Examples Program code Comment N80 $P_WORKAREA_CS_PLUS_ENABLE[2,Z]=FALSE N82 $P_WORKAREA_CS_MINUS_ENABLE[2,Z]=TRUE N83 $P_WORKAREA_CS_LIMIT_PLUS[2,Z]=–600 N90 $P_WORKAREA_CS_PLUS_ENABLE[2,A]=FALSE N92 $P_WORKAREA_CS_MINUS_ENABLE[2,A]=FALSE Activate working area limitation group 2 In order to activate the working area limitation group 2, following instruction must exist in the part program: N100 WALCS2 ...
  • Page 131 A3: Axis Monitoring, Protection Zones 2.5 Examples Figure 2-16 Example of protection zones on a turning machine Protection-zone definition in the part program Table 2-1 Part program excerpt for protection-zone definition: DEF INT AB Definition of the working plane NPROTDEF(1,FALSE,0,0,0) Definition beginning: Protection zone for spindle chuck G01 X100 Z0...
  • Page 132 A3: Axis Monitoring, Protection Zones 2.5 Examples Table 2-1 Part program excerpt for protection-zone definition: G01 X-80 Z40 Contour description: 3. Contour element G01 X80 Z40 Contour description: 4. Contour element G01 X80 Z0 Contour description: 5. Contour element EXECUTE(AB) End of definition: Protection zone for workpiece CPROTDEF(2,TRUE,0,0,0)
  • Page 133 A3: Axis Monitoring, Protection Zones 2.5 Examples Table 2-2 Protection zone: Spindle chuck $SN_PA_CONT_TYP[0,4] ; Contour type[i] : 0 = not defined, ; Protection zone for spindle chuck, contour element 4 $SN_PA_CONT_TYP[0,5] ; Contour type[i] : 0 = not defined, ;...
  • Page 134 A3: Axis Monitoring, Protection Zones 2.5 Examples Table 2-2 Protection zone: Spindle chuck $SN_PA_CONT_ABS[0,7] ; Endpoint of contour[i], abscissa value ; Protection zone for spindle chuck, contour element 7 $SN_PA_CONT_ABS[0,8] ; Endpoint of contour[i], abscissa value ; Protection zone for spindle chuck, contour element 8 $SN_PA_CONT_ABS[0,9] ;...
  • Page 135 A3: Axis Monitoring, Protection Zones 2.5 Examples Table 2-3 Protection zone: Workpiece and tool holder System variable Valu Comment $SN_PA_ACTIV_IMMED[0] ; Protection zone for workpiece not immediately active $SN_PA_ACTIV_IMMED[1] ; Protection zone for tool holder not immediately active $SC_PA_TW[0] " " ;...
  • Page 136 A3: Axis Monitoring, Protection Zones 2.5 Examples Table 2-3 Protection zone: Workpiece and tool holder $SN_PA_CONT_TYP[0,9] ; Contour type[i] : 0 = not defined, ; Protection zone for workpiece, contour element 9 $SN_PA_CONT_TYP[1,0] ; Contour type[i] : 1 = G1 for even, ;...
  • Page 137 A3: Axis Monitoring, Protection Zones 2.5 Examples Table 2-3 Protection zone: Workpiece and tool holder $SN_PA_CONT_ORD[1,2] -210 ; Endpoint of contour[i], ordinate value ; Protection zone for tool holder, contour element 2 $SN_PA_CONT_ORD[1,3] ; Endpoint of contour[i], ordinate value ; Protection zone for tool holder, contour element 3 $SN_PA_CONT_ORD[1,4] ;...
  • Page 138 A3: Axis Monitoring, Protection Zones 2.5 Examples Table 2-3 Protection zone: Workpiece and tool holder $SN_PA_CONT_ABS[1,5] ; Endpoint of contour[i], abscissa value ; Protection zone for tool holder, contour element 5 $SN_PA_CONT_ABS[1,6] ; Endpoint of contour[i], abscissa value ; Protection zone for tool holder, contour element 6 $SN_PA_CONT_ABS[1,7] ;...
  • Page 139 A3: Axis Monitoring, Protection Zones 2.5 Examples Table 2-3 Protection zone: Workpiece and tool holder $SN_PA_CENT_ORD[1.8] ; Midpoint of contour[i], ordinate value ; Protection zone for tool holder, contour element 8 $SN_PA_CENT_ORD[1.9] ; Midpoint of contour[i], ordinate value ; Protection zone for tool holder, contour element 9 $SN_PA_CENT_ABS[0,0] ;...
  • Page 140 A3: Axis Monitoring, Protection Zones 2.5 Examples Activation Table 2-4 Part program excerpt for activating the three protection zones for spindle chuck, workpiece, and toolholder: NPROT(1, 2, 0, 0, 0) ; Protection zone: Spindle chuck CPROT(1, 2, 0, 0, 100) ;...
  • Page 141: Data Lists

    A3: Axis Monitoring, Protection Zones 2.6 Data lists Data lists 2.6.1 Machine data 2.6.1.1 NC-specific machine data Axis monitoring Number Identifier: $MN_ Description 10604 WALIM_GEOAX_CHANGE_MODE Working area limitation during switchover of geometry axes 10710 PROG_SD_RESET_SAVE_TAB Setting data to be updated Protection zones Number Identifier: $MN_...
  • Page 142: Axis/Spindle­specific Machine Data

    A3: Axis Monitoring, Protection Zones 2.6 Data lists Number Identifier: $MC_ Description 25146 TRAFO_INCLUDES_TOOL_15 Tool handling with active transformation 15. 25156 TRAFO_INCLUDES_TOOL_16 Tool handling with active transformation 16. 25166 TRAFO_INCLUDES_TOOL_17 Tool handling with active transformation 17. 25176 TRAFO_INCLUDES_TOOL_18 Tool handling with active transformation 18. 25186 TRAFO_INCLUDES_TOOL_19 Tool handling with active transformation 19.
  • Page 143: Setting Data

    A3: Axis Monitoring, Protection Zones 2.6 Data lists Number Identifier: $MA_ Description 36110 POS_LIMIT_PLUS 1. Software limit switch plus 36120 POS_LIMIT_MINUS2 2. software limit switch minus 36130 POS_LIMIT_PLUS2 2. Software limit switch plus 36610 AX_EMERGENCY_STOP_TIME Maximum duration of the braking ramp for faults 36200 AX_VELO_LIMIT Threshold value for velocity monitoring...
  • Page 144: Signals

    2.6.3 Signals 2.6.3.1 Signals to channel Axis monitoring functions None Protection zones Signal name SINUMERIK 840D sl SINUMERIK 828D Enable protection zones DB21, ..DBX1.1 DB3200.DBX1.1 Feed disable DB21, ..DBX6.0 DB3200.DBX6.0 Activate machine­related protection zones 1-8 DB21, ..DBX8.0-7 DB3200.DBX8.0-7...
  • Page 145: Signals To Axis/Spindle

    A3: Axis Monitoring, Protection Zones 2.6 Data lists 2.6.3.3 Signals to axis/spindle Axis monitoring functions Signal name SINUMERIK 840D sl SINUMERIK 828D Follow-up mode DB31, ..DBX1.4 DB380x.DBX1.4 Position measuring system 1 / 2 DB31, ..DBX1.5/6 DB380x.DBX1.5/6 Controller enable DB31, ...
  • Page 146 A3: Axis Monitoring, Protection Zones 2.6 Data lists Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 147: B1: Continuous­path Mode, Exact Stop, Lookahead

    B1: Continuous­path Mode, Exact Stop, LookAhead Brief Description Exact stop or exact stop mode In exact stop traversing mode, all axes involved in the traversing motion (except axes of modal traversing modes) are decelerated at the end of each block until they come to a standstill. The transition to the next block occurs only when all axes involved in the traversing motion have reached their programmed target position with subject to the selected exact stop criterion.
  • Page 148 B1: Continuous­path Mode, Exact Stop, LookAhead 3.1 Brief Description Adaptation of the dynamic path response In addition to "smoothing the path velocity", "dynamic path response adaptation" is another function for avoiding high-frequency excitations of machine resonances while optimizing the dynamic path response at the same time. To this end, highly frequent changes in path velocity are automatically executed with lower jerk or acceleration values than the dynamic response limit value parameters assigned in the machine data.
  • Page 149 B1: Continuous­path Mode, Exact Stop, LookAhead 3.1 Brief Description Combine short spline blocks A spline defines a curve which is formed from 2nd or 3rd degree polynomials. With spline interpolation, the controller can generate a smooth curve characteristic from only a few specified interpolation points of a set contour.
  • Page 150: Exact Stop Mode

    B1: Continuous­path Mode, Exact Stop, LookAhead 3.2 Exact stop mode Exact stop mode Exact stop or exact stop mode In exact stop traversing mode, all path axes and special axes involved in the traversing motion that are not traversed modally, are decelerated at the end of each block until they come to a standstill. The transition to the next block occurs only when all axes involved in the traversing motion have reached their programmed target position with subject to the selected exact stop criterion.
  • Page 151 B1: Continuous­path Mode, Exact Stop, LookAhead 3.2 Exact stop mode Exact stop criteria "Exact stop coarse" and "Exact stop fine". The exact stop criteria "Exact stop coarse" and "Exact stop fine" are used to specify tolerance windows for a machine axis reaching the "exact stop" state. Figure 3-1 Tolerance windows of exact stop criteria Parameters are assigned to the two exact stop criteria via the machine data:...
  • Page 152 B1: Continuous­path Mode, Exact Stop, LookAhead 3.2 Exact stop mode Block change depending on exact-stop criteria The figure below illustrates the block change timing in terms of the selected exact stop criterion. Figure 3-2 Block change accordance to selected exact stop criterion Evaluation factor for exact stop criteria A parameter set-dependent evaluation of the exact stop criteria can be specified via the following axis-specific machine data:...
  • Page 153 B1: Continuous­path Mode, Exact Stop, LookAhead 3.2 Exact stop mode Z or E Active exact stop criterion Programmed exact stop criterion G601 (Exact stop window fine) G602 (Exact stop window coarse) G603 (Interpolator end) Example MD20550 $MC_EXACT_POS_MODE = 02 Ones position = 2: With rapid traverse, exact stop criterion G602 (Exact stop window coarse) is always active, irrespective of any programming in the parts program.
  • Page 154: Continuous-Path Mode

    B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode Continuous-path mode 3.3.1 General functionality Continuous-path mode In the continuous-path mode the path velocity is not decelerated for the block change in order to permit the fulfillment of an exact stop criterion. The objective of this mode is to avoid rapid deceleration of the path axes at the block-change point so that the axis velocity remains as constant as possible when the program moves to the next block.
  • Page 155 B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode Implicit exact stop In some cases, an exact stop needs to be generated in continuous­path mode to allow the execution of subsequent actions. In such situations, the path velocity is reduced to zero. •...
  • Page 156: Velocity Reduction According To Overload Factor

    B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode 3.3.2 Velocity reduction according to overload factor Function The function lowers the path velocity in continuous­path mode until the non­tangential block transition can be traversed in one interpolation cycle while respecting the deceleration limit and taking and overload factor into account.
  • Page 157 B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode Overload factor The overload factor restricts step changes in the machine axis velocity at block ends. To ensure that the velocity jump does not exceed the maximum load on the axis, the jump is derived from the acceleration of the axis. The overload factor indicates the extent by which the acceleration of the machine axis (MD32300 $MA_MAX_AX_ACCEL) may be exceeded for an IPO-cycle.
  • Page 158: Blending

    B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode 3.3.3 Blending Function Rounding means that an angular block transition is changed to a tangential block transition by a local change to the programmed contour. This gives the area in the vicinity of the original angular block transition (including transitions between intermediate blocks inserted by the CNC) a continuous contour.
  • Page 159 B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode No intermediate rounding blocks An intermediate rounding block is not inserted in the following cases: • The axis stops between the two blocks. This occurs when: The following block contains an auxiliary function output before the movement. The following block does not contain a path movement.
  • Page 160 B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode • The block does not contain traversing motion (zero block). This occurs when: Synchronized actions are active. Normally, the interpreter eliminates zero blocks. However, if synchronous actions are active, this zero block is included and also executed.
  • Page 161: Rounding According To A Path Criterion (G641)

    B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode 3.3.3.1 Rounding according to a path criterion (G641) Function In continuous-path mode with rounding according to a path criterion, the size of the rounding area is influenced by the path criteria ADIS and ADISPOS. The path criteria ADIS and ADISPOS describe the maximum distances which a rounding block can occupy before and after a block.
  • Page 162 B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode Figure 3-4 Path with limitation of ADIS Activation/Deactivation Continuous-path mode with rounding based on a path criterion can be activated in any NC part program block by the modal command G641. Before or on selection, the path criteria ADIS/ADISPOS must be specified. Selecting the exact stop which works on a block-by-block basis enables rounding to be interrupted (G9).
  • Page 163: Rounding In Compliance With Defined Tolerances (G642/G643)

    B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode 3.3.3.2 Rounding in compliance with defined tolerances (G642/G643) Function In continuous-path mode involving rounding in compliance with defined tolerances, the rounding normally takes place while adhering to the maximum permissible path deviation. Instead of these axis-specific tolerances, the maintenance of the maximum contour deviation (contour tolerance) or the maximum angular deviation of the tool orientation (orientation tolerance) can be configured.
  • Page 164 B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode Contour tolerance and orientation tolerance The contour tolerance and orientation tolerance are set in the channel-specific setting data: SD42475 $SC_SMOOTH_CONTUR_TOL (maximum contour deviation) SD42466 $SC_SMOOTH_ORI_TOL (maximum angular deviation of the tool orientation) The settings data can be programmed in the NC program and can in this way be specified differently for each block transition.
  • Page 165 B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode Profile for limit velocity The use of a velocity profile for rounding in compliance with defined tolerances is controlled via the hundreds position in MD20480: Value Description < 100: A profile of the limit velocity is calculated within the rounding area, based on the defined maximum values for acceleration and jerk on the participating axes or path.
  • Page 166: Rounding With Maximum Possible Axial Dynamic Response (G644)

    B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode 3.3.3.3 Rounding with maximum possible axial dynamic response (G644) Function Maximizing the dynamic response of the axes is key to this type of continuous-path mode with rounding. Note Rounding with G644 is only possible if: •...
  • Page 167 B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode Parameter assignment Rounding behavior with G644 is configured via the thousands and tens of thousands places in the machine data: MD20480 $MC_SMOOTHING_MODE (rounding behavior with G64x) Value Description Thousand's place: 0xxx: When rounding with G644, the maximum deviations for each axis specified by the following machine data are respected: MD33100 $MA_COMPRESS_POS_TOL...
  • Page 168 B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode When specifying the maximum axial deviations (MD33100 $MA_COMPRESS_POS_TOL) or the maximum rounding distance (ADIS / ADISPOS) the available rounding path is normally not used, if permitted by the dynamics of the axes involved. Through this, the length of the rounding path depends on the active path feedrate. In case of lower path speeds, one gets lower deviations from the programmed contours.
  • Page 169: Rounding Of Tangential Block Transitions (G645)

    B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode 3.3.3.4 Rounding of tangential block transitions (G645) Function In continuous-path mode with rounding, rounding blocks are also only generated on tangential block transitions if the curvature of the original contour exhibits a jump in at least one axis. The rounding movement is defined here so that the acceleration of all axes involved remains smooth (no jumps) and the parameterized maximum deviations from the original contour (MD33120 $MA_PATH_TRANS_POS_TOL) are not exceeded.
  • Page 170 B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode Comparison between G642 and G645 When rounding with G642, the only block transitions rounded are those which form a corner, i.e. the velocity of at least one axis jumps. However, if a block transition is tangential, but there is a jump in the curvature, no rounding block is inserted with G642.
  • Page 171: Lookahead

    B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode 3.3.4 LookAhead 3.3.4.1 Standard functionality Function LookAhead is a function which is active in continuous-path mode (G64, G64x) and determines a foreseeable velocity control for multiple NC part program blocks over and beyond the current block. Note LookAhead is only available for path axes, not for spindles and positioning axes.
  • Page 172 B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode Principle LookAhead carries out a block-specific analysis of velocity limits and specifies the required brake ramp profile based on this information. LookAhead is adapted automatically to block length, braking capacity and permissible path velocity.
  • Page 173 B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode For a machine with a low axial acceleration of a = 1 m/s and a high feedrate of v  = 10 m/min, the following path number of n blocks are allocated to the control where it has has an attainable block cycle time of TB = LookAhead 10 ms: = Deceleration path/Block length = ( v...
  • Page 174 B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode • Definition of override points If the velocity profile of the following block velocity is not sufficient because, for example, very high override values (e.g. 200 %) are used or a constant cutting rate G96/G961 is active, with the result that the velocity must be further reduced in the following block, LookAhead provides a way of reducing the programmed velocity over several NC blocks.
  • Page 175 B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode Example: Limiting velocity characteristics, whereby: Override = 50 %, 100 % or 150 % Number of LookAhead blocks = 4 MD20430 $MC_LOOKAH_NUM_OVR_POINTS = 2 MD20440 $MC_LOOKAH_OVR_POINTS = 1.5, 0.5 MD20400 $MC_LOOKAH_USE_VELO_NEXT_BLOCK = 1 A combination of both procedures (determination of following block velocity and determination of override points) can be used to calculate the velocity profiles and is generally advisable because the preset machine data for these functions already takes the widest range of override-dependent velocity limits into account.
  • Page 176: Free-Form Surface Mode: Extension Function

    B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode Limit conditions Axis-specific feed stop/axis disable Axis-specific feed stop and axis-specific axis disable are ignored by LookAhead. If an axis is to be interpolated that should on the other hand be made stationary by axis-specific feed stop or axis disable, LookAhead does not stop path movement before the block in question but decelerates in the block itself.
  • Page 177 B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode Preconditions • The function is only effective: in AUTOMATIC mode in acceleration mode: acceleration with jerk limit (SOFT) • Activation is only possible if the requisite memory is configured: MD28533 $MC_MM_LOOKAH_FFORM_UNITS = <value> Sensible value assignment depends upon the part program, the block lengths, the axial dynamic response, as well as upon an active kinematic transformation.
  • Page 178 B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode Example The following parameters are assumed: MD20443 $MC_LOOKAH_FFORM[0] = 0 MD20443 $MC_LOOKAH_FFORM[1] = 0 MD20443 $MC_LOOKAH_FFORM[2] = 1 MD20443 $MC_LOOKAH_FFORM[3] = 1 MD20443 $MC_LOOKAH_FFORM[4] = 1 Program code Comment N10 DYNPOS ;...
  • Page 179 B1: Continuous­path Mode, Exact Stop, LookAhead 3.3 Continuous-path mode Boundary conditions Automatic function switchover Applying the following functions when the "Free-form surface mode: Extension function" leads to an automatic switchover to standard LookAhead functionality: • Thread cutting/tapping (G33, G34, G35, G331, G332, G63) •...
  • Page 180: Dynamic Adaptations

    B1: Continuous­path Mode, Exact Stop, LookAhead 3.4 Dynamic adaptations Dynamic adaptations 3.4.1 Smoothing the path velocity Introduction The velocity control function utilizes the specified axial dynamic response. If the programmed feedrate cannot be achieved, the path velocity is brought to the parameterized axial limit values and the limit values of the path (velocity, acceleration, jerk).
  • Page 181 B1: Continuous­path Mode, Exact Stop, LookAhead 3.4 Dynamic adaptations Activation/Deactivation The "smoothing of the path velocity" function is activated/deactivated with the machine data: MD20460 $MC_LOOKAH_SMOOTH_FACTOR (smoothing factor for LookAhead) Value Meaning Smoothing of the path velocity not active (default) > 0 Smoothing of the path velocity active A change in the MD setting is only made effective through NEW CONF.
  • Page 182 B1: Continuous­path Mode, Exact Stop, LookAhead 3.4 Dynamic adaptations (Refer to "Adaptation of the dynamic path response [Page 183]" for further information about MD20465) Note If vibrations are generated in the mechanical system of an axis and if the corresponding frequency is known, MD32440 should be set to a value smaller than this frequency.
  • Page 183: Adaptation Of The Dynamic Path Response

    B1: Continuous­path Mode, Exact Stop, LookAhead 3.4 Dynamic adaptations If, however, the time t  - t is less than 200 ms or if the additional program execution time t  - t is no more than 10% of t  - t , the following time characteristic applies: Figure 3-8 Characteristic of the smoothed path velocity 3.4.2...
  • Page 184 B1: Continuous­path Mode, Exact Stop, LookAhead 3.4 Dynamic adaptations In addition, the "adaptation of the dynamic path response" function is not active during path movements: • Programmed rapid traverse (G0) • Changes in the override value • Stop requests during motion (e.g. NC-STOP, NC-RESET) •...
  • Page 185 B1: Continuous­path Mode, Exact Stop, LookAhead 3.4 Dynamic adaptations Principle During processing and via all the axes involved in the path, the controller cyclically establishes the minimum of all the limit frequencies to be the limit frequency (f) for the adaptation of the dynamic response and calculates the relevant time window (t ) from this: adapt...
  • Page 186 B1: Continuous­path Mode, Exact Stop, LookAhead 3.4 Dynamic adaptations Figure 3-9 Path velocity profile optimized for time without smoothing or dynamic adaptation response Figure 3-10 Path velocity profile with adaptation of dynamic path response Intervals t  - t and t  - t The acceleration process between t  - t and the...
  • Page 187: Determination Of The Dynamic Response Limiting Values

    B1: Continuous­path Mode, Exact Stop, LookAhead 3.4 Dynamic adaptations 3.4.3 Determination of the dynamic response limiting values In addition to determining the natural frequency of the path axes for assigning parameters to the axis-specific limit frequencies (MD32440 $MA_LOOKAH_FREQUENCY), the implementation of the "adaptation of the dynamic path response"...
  • Page 188: Interaction Between The "Smoothing Of The Path Velocity" And "Adaptation Of The Path Dynamic Response" Functions

    B1: Continuous­path Mode, Exact Stop, LookAhead 3.4 Dynamic adaptations 3.4.4 Interaction between the "smoothing of the path velocity" and "adaptation of the path dynamic response" functions The following examples serve to illustrate the interaction between the "smoothing of the path velocity" and "adaptation of the path dynamic response"...
  • Page 189 B1: Continuous­path Mode, Exact Stop, LookAhead 3.4 Dynamic adaptations Effects of smoothing on path velocity: Interval t  - t The acceleration and deceleration process between t  and  t does not take place because the lengthening of the machining time without the acceleration process to v is less than the resulting time if a smoothing factor of 80 % is applied.
  • Page 190 B1: Continuous­path Mode, Exact Stop, LookAhead 3.4 Dynamic adaptations The parameter assignment is changed as follows: MD20465 $MC_ADAPT_PATH_DYNAMIC[1] = 4 MD20460 $MC_LOOKAH_SMOOTH_FACTOR = 1.0 This results in a path velocity profile with adaptation of the dynamic path response and with minimum, and thus virtually deactivated, smoothing of the path velocity: The smoothing factor is set to 0% instead of 1% (in accordance with the default!): MD20460 $MC_LOOKAH_SMOOTH_FACTOR = 0.0...
  • Page 191: Dynamic Response Mode For Path Interpolation

    B1: Continuous­path Mode, Exact Stop, LookAhead 3.4 Dynamic adaptations 3.4.5 Dynamic response mode for path interpolation Function Technology-specific, dynamic response settings can be saved in machine data and can be activated in the part program via the commands from G function group 59 (dynamic response mode for path interpolation). Command Activates the dynamic response settings for: Standard dynamic response settings...
  • Page 192 B1: Continuous­path Mode, Exact Stop, LookAhead 3.4 Dynamic adaptations Application By switching the dynamic response settings, roughing a workpiece can be optimized in terms of time and smoothing it can be optimized in terms of the surface, for example. Parameter assignment Parameters are assigned to the specific dynamic response settings: •...
  • Page 193: Free-Form Surface Mode: Basic Functions

    B1: Continuous­path Mode, Exact Stop, LookAhead 3.4 Dynamic adaptations Suppressing G commands G commands from G function group 59 (dynamic response mode for path interpolation) which are not intended for use should be suppressed by the machine manufacturer via the following machine data: MD10712 $MN_NC_USER_CODE_CONF_NAME_TAB[<n>] (list of reconfigured NC commands) The programming of a suppressed G command leads to an alarm signal.
  • Page 194 B1: Continuous­path Mode, Exact Stop, LookAhead 3.4 Dynamic adaptations There are various options available for eliminating these causes: • The part programs generated by the CAD/CAM system contain a very uniform curvature and torsion profile, preventing needless reductions in path velocity. •...
  • Page 195 B1: Continuous­path Mode, Exact Stop, LookAhead 3.4 Dynamic adaptations Activation/Deactivation The function can be switched on or off independently for every dynamic response mode (see "Dynamic response mode for path interpolation [Page 191]"): MD20606 $MC_PREPDYN_SMOOTHING_ON[<n>] = <value> Free-form surface mode: Basic Index <n>...
  • Page 196 B1: Continuous­path Mode, Exact Stop, LookAhead 3.4 Dynamic adaptations The contour sampling factor is set with the machine data: MD10682 $MN_CONTOUR_SAMPLING_FACTOR The effective contour sampling time is calculated as follows: = f * T where = effective contour sampling time = Interpolation cycle time = Contour sampling factor (value from MD10682) The default contour sampling factor is "1", i.e.
  • Page 197: Compressor Functions

    COMPCAD is very processor and memory-intensive. It is recommended that COMCAD is only used there where surface improvements were not successful using measures in the CAD/CAM program. Availability For SINUMERIK 828D, NC block compression is only available for the milling versions. Rated conditions •...
  • Page 198 B1: Continuous­path Mode, Exact Stop, LookAhead 3.5 Compressor functions Parameter assignment Maximum path length The maximum distance up to which a block is still compressed, is set using machine data: MD20170 $MC_COMPRESS_BLOCK_PATH_LIMIT Longer blocks are not compressed, but are traversed normally. Recommended setting: 20 [mm] Maximum deviation of the path feedrate FLIN and FCUB The maximum permissible deviation of the path feedrate for active compressor function COMPON or...
  • Page 199 B1: Continuous­path Mode, Exact Stop, LookAhead 3.5 Compressor functions Value Meaning The tolerances specified with MD33100 $MA_COMPRESS_POS_TOL are maintained for the geometry axes. The tolerances specified with - SD42476 $SC_COMPRESS_ORI_TOL - SD42477 $SC_COMPRESS_ORI_ROT_TOL are maintained for the axes of orientation motion (TRAORI). The tolerances specified with SD42475 $SC_COMPRESS_CONTUR_TOL are maintained for the geometry axes.
  • Page 200 B1: Continuous­path Mode, Exact Stop, LookAhead 3.5 Compressor functions Corresponding machine data The machine data listed in the following table influence the compressor function. The following values are recommended for these: Machine data Recommended value MD18360 $MN_MM_EXT_PROG_BUFFER_SIZE (FIFO buffer size for processing from external) MD28520 $MC_MM_MAX_AXISPOLY_PER_BLOCK (maximum number of axis polynomials per block) MD28530 $MC_MM_PATH_VELO_SEGMENTS...
  • Page 201: Combining Short Spline Blocks (Option For 828D)

    B1: Continuous­path Mode, Exact Stop, LookAhead 3.5 Compressor functions References The programming of the compressor functions is described in: Programming Manual Work Preparation The use of the compressor function with active orientation transformation is described in: Function Manual Special Functions; Multi-Axis Transformations (F2), Chapter: "Compression of the orientation"...
  • Page 202 B1: Continuous­path Mode, Exact Stop, LookAhead 3.5 Compressor functions Boundary conditions • NC-blocks can be combined only if no other details have been programmed except the axial motions and the feed rate. If, for example, auxiliary functions are programmed, which must be given to the PLC, then this block cannot be omitted, since it must be active in the interpolator.
  • Page 203: Contour/Orientation Tolerance

    B1: Continuous­path Mode, Exact Stop, LookAhead 3.6 Contour/Orientation tolerance Contour/Orientation tolerance Parameter assignment for the contour/orientation tolerance The maximum permissible contour deviation (contour tolerance) and the maximum permissible angular deviation for the tool orientation (orientation tolerance) are defined in the machine data for every axis: MD33100 $MA_COMPRESS_POS_TOL (maximum tolerance with compression) The value set is valid both for the compressor functions and for the rounding functions with the exception of G641 (in this case, the distance to the block transition programmed with ADIS/ADISPOS applies).
  • Page 204 B1: Continuous­path Mode, Exact Stop, LookAhead 3.6 Contour/Orientation tolerance Programming does not trigger a preprocessing stop. If possible, it does not interrupt NC block compression either. The programmed values are valid until they are reprogrammed or deleted by being written with a negative value. They are also deleted at the end of a program, in the event of a channel reset, a mode group reset, an NCK reset (warm restart), and POWER ON (cold restart).
  • Page 205 B1: Continuous­path Mode, Exact Stop, LookAhead 3.6 Contour/Orientation tolerance $AC_CTOL Contour tolerance effective when the current main run record was preprocessed. If no contour tolerance is effective, $AC_CTOL will return the root from the sum of the squares of the tolerances of the geometry axes.
  • Page 206: Tolerance And Compression Of G0 Blocks

    B1: Continuous­path Mode, Exact Stop, LookAhead 3.7 Tolerance and compression of G0 blocks Tolerance and compression of G0 blocks Function The function "Tolerance and compression of G0 blocks" allows rapid traverse motion to be executed faster. It consists of the following components: 1.
  • Page 207 B1: Continuous­path Mode, Exact Stop, LookAhead 3.7 Tolerance and compression of G0 blocks Compressing G0 blocks The compression of G0 blocks is set for specific channels using the hundreds position in the machine data: MD20482 $MC_COMPRESSOR_MODE (mode of compression) Value Meaning Circular blocks and G0 blocks are not compressed.
  • Page 208 B1: Continuous­path Mode, Exact Stop, LookAhead 3.7 Tolerance and compression of G0 blocks Reading the tolerance factor The G0 tolerance factor, effective in the part program or in the actual IPO block, can be read using system variables. • For the display in the user interface, in synchronized actions or with a preprocessing stop in the part program via the system variables: $AC_STOLF Active G0 tolerance factor...
  • Page 209: Reset Response

    B1: Continuous­path Mode, Exact Stop, LookAhead 3.8 RESET response RESET response MD20150 The channel-specific initial state is activated via a RESET for G function groups: MD20150 $MC_GCODE_RESET_VALUES (RESET position of G groups) The following G function groups are of relevance to "continuous-path mode, exact stop, LookAhead": •...
  • Page 210: Supplementary Conditions

    B1: Continuous­path Mode, Exact Stop, LookAhead 3.9 Supplementary conditions Supplementary conditions 3.9.1 Block change and positioning axes If path axes are traversed in continuous path mode in a part program, traversing positioning axes can also simultaneously affect both the response of the path axes and the block change. A detailed description of the positioning axes can be found in: References: Function Manual, Extended Functions;...
  • Page 211 B1: Continuous­path Mode, Exact Stop, LookAhead 3.9 Supplementary conditions Example Two traversing blocks N10 and N20 with programmed rounding G641. In the rounding area, the traversing motion is interrupted and the axes are subsequently traversed, e.g., manually to the REPOS starting point. Repositioning on the contour takes place differently, depending on the active REPOS mode.
  • Page 212: Data Lists

    B1: Continuous­path Mode, Exact Stop, LookAhead 3.10 Data lists 3.10 Data lists 3.10.1 Machine data 3.10.1.1 General machine data Number Identifier: $MN_ Description 10110 PLC_CYCLE_TIME_AVERAGE Average PLC acknowledgment time 10680 MIN_CONTOUR_SAMPLING_TIME Minimum contour sampling time 10682 CONTOUR_SAMPLING_FACTOR Contour sampling factor 10712 NC_USER_CODE_CONF_NAME_TAB List of reconfigured NC commands...
  • Page 213: Axis/Spindle­specific Machine Data

    B1: Continuous­path Mode, Exact Stop, LookAhead 3.10 Data lists Number Identifier: $MC_ Description 20606 PREPDYN_SMOOTHING_ON Activation of the curvature smoothing 28060 MM_IPO_BUFFER_SIZE Number of NC blocks in IPO buffer (DRAM) 28070 MM_NUM_BLOCKS_IN_PREP Number of NC blocks for block preparation (DRAM) 28520 MM_MAX_AXISPOLY_PER_BLOCK Maximum number of axis polynomials per block...
  • Page 214: Signals

    B1: Continuous­path Mode, Exact Stop, LookAhead 3.10 Data lists 3.10.3 Signals 3.10.3.1 Signals from channel Signal name SINUMERIK 840D sl SINUMERIK 828D All axes stationary DB21, ..DBX36.3 DB3300.DBX4.3 3.10.3.2 Signals from axis/spindle Signal name SINUMERIK 840D sl SINUMERIK 828D Position reached with exact stop coarse DB31, ...
  • Page 215: B2: Acceleration

    B2: Acceleration Brief description 4.1.1 General Scope of functions The Description of Functions covers the following sub-functions: • Acceleration • Jerk • Knee­shaped acceleration characteristic Acceleration and jerk The effective acceleration and jerk can be optimally matched to the machine and machining situation concerned using axis- and channel-specific programmable maximum values, programmable acceleration profiles in part programs and synchronized actions, and dynamic adaptations and limitations.
  • Page 216 B2: Acceleration 4.1 Brief description Channel-specific functions: • Acceleration profile that can be selected via part-program instruction: Acceleration without jerk limitation (BRISK) • Programmable constant travel time for the purpose of avoiding extreme sudden acceleration • Programmable acceleration margin for overlaid traversing •...
  • Page 217: Functions

    B2: Acceleration 4.2 Functions Functions 4.2.1 Acceleration and jerk for positioning motion to fixed points 4.2.1.1 General Information For acceleration, and jerk, for traversing to fixed point positions, specific values can be parameterized using G75 / G751. These are then effective for all types of positioning motion. 4.2.1.2 Parameterization The values for acceleration and jerk of an axis are parameterized on an axis and parameter set basis in the...
  • Page 218: Acceleration Without Jerk Limitation (Brisk/Briska) (Channel-/Axis-Specific)

    B2: Acceleration 4.2 Functions 4.2.2 Acceleration without jerk limitation (BRISK/BRISKA) (channel-/axis-specific) 4.2.2.1 General Information General Information In the case of acceleration without jerk limitation (jerk = infinite) the maximum value is applied for acceleration immediately. As regards acceleration with jerk limitation, it differs in the following respects: •...
  • Page 219: Programmable Maximum Value (Axis-Specific)

    B2: Acceleration 4.2 Functions The following features of the acceleration profile can be identified from the figure above: • Time: t Sudden acceleration from 0 to +a • Interval: t Constant acceleration with +a ; linear increase in velocity • Time: t Sudden acceleration from 2 * a with immediate switchover from acceleration to braking...
  • Page 220: Programming

    B2: Acceleration 4.2 Functions 4.2.2.4 Programming Path acceleration without jerk limitation (BRISK) Syntax BRISK Functionality The BRISK part-program instruction is used to select the "without jerk limitation" acceleration profile for the purpose of path acceleration. G group: 21 Effective: Modal Reset response The channel-specific initial setting is activated via a reset: MD20150 $MC_GCODE_RESET_VALUES[20]...
  • Page 221: Constant Travel Time (Channel-Specific)

    B2: Acceleration 4.2 Functions Axis-specific initial setting Acceleration without jerk limitation can be set as the axis-specific initial setting for single-axis movements: MD32420 $MA_JOG_AND_POS_JERK_ENABLE = FALSE Reset response The axis-specific initial setting is activated via a reset: MD32420 $MA_JOG_AND_POS_ENABLE 4.2.3 Constant travel time (channel-specific) 4.2.3.1 General Information...
  • Page 222: Parameterization

    B2: Acceleration 4.2 Functions Characteristic with constant travel time Characteristic without constant travel time Maximum acceleration value Maximum velocity value Time Figure 4-2 Schematic for abrupt acceleration The effect of the constant travel time can be seen from the figure above: •...
  • Page 223: Acceleration Matching (Acc) (Axis-Specific)

    B2: Acceleration 4.2 Functions 4.2.4 Acceleration matching (ACC) (axis-specific) 4.2.4.1 General Information Function A part-program instruction (ACC) can be used to match the acceleration of specific axes to the current machining situation. The range used for this purpose is anywhere between greater than 0% and less than or equal to 200% of the maximum value programmed in the machine data.
  • Page 224: Acceleration Margin (Channel-Specific)

    B2: Acceleration 4.2 Functions 4.2.5 Acceleration margin (channel-specific) 4.2.5.1 General Information General information Under normal circumstances, preprocessing makes maximum use of the parameterized maximum values of the machine axes for the purpose of path acceleration. In order that an acceleration margin may be set aside for overlaid movements, e.g., within the context of the "Rapid lift away from the contour"...
  • Page 225: Programming

    B2: Acceleration 4.2 Functions 4.2.6.3 Programming Limit value Syntax limit value $SC_SD_MAX_PATH_ACCEL = Functionality The path-acceleration limitation can be adjusted for the situation by programming the setting data. Limit value: • Value range: ≥ 0 • Unit: m/s Application: • Part program •...
  • Page 226: Path Acceleration For Real-Time Events (Channel-Specific)

    B2: Acceleration 4.2 Functions 4.2.7 Path acceleration for real-time events (channel-specific) 4.2.7.1 General Information General Information So that no compromise has to be made between machining-optimized acceleration on the one hand and time- optimized acceleration in connection with the following real-time events on the other: •...
  • Page 227: Programming

    B2: Acceleration 4.2 Functions Programming For information about programming system variables in the part program or synchronized actions, see Chapter "Programming". 4.2.7.2 Programming Syntax path acceleration $AC_PATHACC = Functionality Real-time-event path acceleration is set via the channel-specific system variables. Path acceleration Parameter: •...
  • Page 228: Acceleration With Programmed Rapid Traverse (G00) (Axis-Specific)

    B2: Acceleration 4.2 Functions 4.2.8 Acceleration with programmed rapid traverse (G00) (axis-specific) 4.2.8.1 General Information Frequently, the acceleration for the machine axes involved in the machining process must be set lower than the machine's performance capability officially allows because of the supplementary conditions associated with the specific process concerned.
  • Page 229: Acceleration With Active Jerk Limitation (Soft/Softa) (Axis-Specific)

    B2: Acceleration 4.2 Functions 4.2.9 Acceleration with active jerk limitation (SOFT/SOFTA) (axis-specific) 4.2.9.1 General Information Function Compared with acceleration without jerk limitation, acceleration with jerk limitation results in a certain degree of time loss, even when the same maximum acceleration value is used. To compensate for this time loss, a specific maximum value can be programmed for the axis-specific acceleration as far as traversing of the machine axes with active jerk limitation (SOFT/SOFTA) is concerned.
  • Page 230: Parameterization

    B2: Acceleration 4.2 Functions 4.2.10.2 Parameterization Excessive acceleration for non-tangential block transitions is parameterized using the axis-specific machine data: MD32310 $MA_MAX_ACCEL_OVL_FACTOR (overload factor for velocity jumps) 4.2.11 Acceleration margin for radial acceleration (channel-specific) 4.2.11.1 General Information Overview In addition to the path acceleration (tangential acceleration), radial acceleration also has an effect on curved contours.
  • Page 231: Parameterization

    B2: Acceleration 4.2 Functions Path acceleration = (1 - MD20602 $MC_CURV_EFFECT_ON_PATH_ACCEL) * MD32300 $MA_MAX_AX_ACCEL Example The following machine parameters apply: • MD32300 $MA_MAX_AX_ACCEL for all geometry axes: 3 m/s • Maximum path velocity with a path radius of 10 mm due to mechanical constraints of the machine: 5 m/min. The radial acceleration is calculated as follows: The acceleration margin is set as follows: Linear motions...
  • Page 232: Jerk Limitation With Path Interpolation (Soft) (Channel-Specific)

    B2: Acceleration 4.2 Functions 4.2.12 Jerk limitation with path interpolation (SOFT) (channel-specific) 4.2.12.1 General Information Overview As far as the functionality described in the rest of this document is concerned, constant acceleration, i.e., acceleration with jerk limitation (jerk = infinite value), is the assumed acceleration profile. In the case of acceleration with jerk limitation, linear interpolation is applied in respect of acceleration from 0 to the maximum value.
  • Page 233 B2: Acceleration 4.2 Functions Acceleration profile Maximum jerk value Maximum acceleration value Maximum velocity value Time Figure 4-4 Jerk, acceleration and velocity schematic with jerk limitation acceleration profile The following features of the acceleration profile can be identified from the figure above: •...
  • Page 234: Maximum Jerk Value (Axis-Specific)

    B2: Acceleration 4.2 Functions • Interval: t Constant jerk with -r ; linear decrease in braking acceleration; quadratic decrease in velocity reduction until zero velocity is reached v = 0 4.2.12.2 Maximum jerk value (axis-specific) Function The maximum jerk value can be set for each specific machine axis using the following machine data: MD32431 $MA_MAX_AX_JERK (maximum axis jerk) The path parameters are calculated by the path planning component during preprocessing so that the programmed maximum values of the machine axes that are of relevance for the path are not exceeded.
  • Page 235: Jerk Limitation With Single-Axis Interpolation (Softa) (Axis-Specific)

    B2: Acceleration 4.2 Functions Functionality The SOFT part-program instruction is used to select the acceleration profile with jerk limitation for the traversing operations of geometry axes in the channel. G group: 21 Effective: Modal Reset response The channel-specific initial setting is activated via a reset: MD20150 $MC_GCODE_RESET_VALUES[20] Boundary conditions If the acceleration mode is changed in a part program during machining (BRISK ↔...
  • Page 236: Programming

    B2: Acceleration 4.2 Functions 4.2.13.3 Programming Syntax Axis Axis SOFTA ( Functionality The SOFTA part-program instruction is used to select acceleration with jerk limitation for single-axis movements (positioning axis, reciprocating axis, etc.) G group: - Effective: modal Axis • Value range: Axis identifier for channel axes Axis-specific initial setting Acceleration with jerk limitation can be set as the axis-specific initial setting for single-axis movements: MD32420 $MA_JOG_AND_POS_JERK_ENABLE = TRUE...
  • Page 237: Parameterization

    B2: Acceleration 4.2 Functions 4.2.14.2 Parameterization Parameterization is carried out for specific channels using setting data: SD42510 $SC_SD_MAX_PATH_JERK (maximum path jerk) SD42512 $SC_IS_SD_MAX_PATH_JERK (activation of path-jerk limitation) 4.2.14.3 Programming Maximum path jerk Syntax jerk value $SC_SD_MAX_PATH_JERK = Functionality The path-jerk limitation can be adjusted for the situation by programming the setting data. Jerk value •...
  • Page 238: Path Jerk For Real-Time Events (Channel-Specific)

    B2: Acceleration 4.2 Functions • Part program • Static synchronized action 4.2.15 Path jerk for real-time events (channel-specific) 4.2.15.1 General Information Overview So that no compromise has to be made between machining-optimized jerk on the one hand and time-optimized jerk in connection with the following real-time events on the other: •...
  • Page 239: Programming

    B2: Acceleration 4.2 Functions Programming For the purpose of setting the jerk for real-time events in accordance with the acceleration, the system variables can be set as follows: $AC_PATHJERK = $AC_PATHACC/smoothing time • $AC_PATHACC: Path acceleration [m/s Smoothing time: freely selectable, e.g. 0.02 s For information about programming system variables in the part program or synchronized actions, see Chapter "Programming".
  • Page 240: Jerk With Programmed Rapid Traverse (G00) (Axis-Specific)

    B2: Acceleration 4.2 Functions 4.2.16 Jerk with programmed rapid traverse (G00) (axis-specific) 4.2.16.1 General Information Overview Frequently, the maximum jerk for the machine axes involved in the machining process must be set lower than the machine's performance capability officially allows because of the supplementary conditions associated with the specific process concerned.
  • Page 241: Parameterization

    B2: Acceleration 4.2 Functions 4.2.17.2 Parameterization The excessive jerk for block transitions without constant curvature is parameterized using the axis-specific machine data: MD32432 $MA_PATH_TRANS_JERK_LIM (excessive jerk for block transitions without constant curvature) 4.2.18 Velocity-dependent jerk adaptation (axis­specific) Function When machining workpieces with free form surfaces, jerk limiting of an access frequently plays an important role: As a result of fluctuations in the change of curvature of the workpiece to be machined, limiting the jerk of all of the axes involved can cause fluctuations in the machining rate in the upper velocity range.
  • Page 242 B2: Acceleration 4.2 Functions • MD32439 $MA_MAX_AX_JERK_FACTOR Factor to set the maximum jerk at higher velocities, i.e. for axis velocities, which are higher than the value set using $MA_AX_JERK_VEL1. The maximum permissible jerk ( j ) of an axis at higher velocities is calculated as follows: = $MA_MAX_AX_JERK_FACTOR * MD32431 $MA_MAX_AX_JERK For axis velocities in the range between the threshold values set using $MA_AX_JERK_VEL0 and...
  • Page 243: Jerk Filter (Axis-Specific)

    B2: Acceleration 4.2 Functions Effect: The velocity-dependent jerk adaptation becomes active for the 1st and 2nd axis, while the function for the 3rd axis is not active. The maximum permitted jerk of the 1st axis is, for axis velocities greater than 6000 mm/min, increased by a factor of 2 - for the 2nd axis, by factor of 3.
  • Page 244 B2: Acceleration 4.2 Functions Mode: Sliding mean value generation Where minimal contour deviations are required, filter time constants within the range of 20-40 ms can be set using the "sliding mean value generation" filter mode. The smoothing effect is largely symmetrical. The display of the calculated servo gain factor (KV factor), e.g.
  • Page 245 B2: Acceleration 4.2 Functions Bandstop filter with additional amplitude response increase/decrease at high frequencies In this case, the numerator and denominator natural frequencies are set to different values. The numerator natural frequency determines the blocking frequency. By selecting a lower/higher denominator natural frequency than the numerator natural frequency, you can increase/decrease the amplitude response at high frequencies.
  • Page 246: Parameterization

    B2: Acceleration 4.2 Functions • "Real bandstop filter": When identical numerator and denominator natural frequencies are selected (=blocking frequency). If you select (numerator) damping setting zero, the blocking frequency is equivalent to complete attenuation. In this case the 3 dB bandwidth is determined on the following basis: = 2 * f bandwidth block.
  • Page 247: Knee­shaped Acceleration Characteristic Curve

    B2: Acceleration 4.2 Functions 4.2.20 Knee­shaped acceleration characteristic curve 4.2.20.1 Adaptation to the motor characteristic curve Function Various types of motor, particularly stepper motors, have a torque characteristic that is highly dependent upon speed and shows a steep decrease in torque in the upper speed range. To ensure optimum utilization of the motor characteristic curve, it is necessary to reduce the acceleration once a certain speed is reached.
  • Page 248 B2: Acceleration 4.2 Functions Figure 4-7 Acceleration and velocity characteristic with acceleration reduction: 0 = constant Hyperbolic characteristic Figure 4-8 Acceleration and velocity characteristic with acceleration reduction: 1 = hyperbolic Linear characteristic Figure 4-9 Acceleration and velocity characteristic with acceleration reduction: 2 = linear The key data for the characteristic curves equate to: = $MA_MAX_AX_VELO = $MA_ACCEL_REDUCTION_SPEED_POINT * $MA_MAX_AX_VELO...
  • Page 249: Effects On Path Acceleration

    B2: Acceleration 4.2 Functions 4.2.20.2 Effects on path acceleration Function The path acceleration characteristic curve is generated on the basis of the types of characteristic for the axes that are of relevance for the path. If axes with different types of characteristic curve are interpolated together, the acceleration profile for the path acceleration will be determined on the basis of the reduction type that is most restrictive.
  • Page 250 B2: Acceleration 4.2 Functions Substitute characteristic curve with linear path sections Limitation to this value is applied if the programmed path velocity is greater than that at which 15 % of the maximum acceleration capacity is still available (v ). Consequently, 15 % of the maximum acceleration 15%a capacity/motor torque always remains available, whatever the machining situation.
  • Page 251 B2: Acceleration 4.2 Functions Substitute characteristic curve with curved path sections In the case of curved path sections, normal and tangential acceleration are considered together. The path velocity is reduced so that only up to 25 % of the speed-dependent acceleration capacity of the axes is required for normal acceleration.
  • Page 252: Parameterization

    B2: Acceleration 4.2 Functions Brake application point Torque decrease zone Maximum torque zone Creep velocity Maximum velocity Nxy: Part program block with block number Nxy Figure 4-12 Deceleration with LookAhead 4.2.20.4 Parameterization The knee-shaped acceleration characteristics can be activated specific to the machine axis via the machine data: MD35240 $MA_ACCEL_TYPE_DRIVE = TRUE The knee-shaped acceleration characteristic curve is parameterized for specific axes using machine data: MD32000 $MA_MAX_AX_VELO (maximum axis velocity)
  • Page 253: Programming

    B2: Acceleration 4.2 Functions 4.2.20.5 Programming Channel-specific activation (DRIVE) Syntax DRIVE Functionality The knee-shaped characteristic curve is activated for path acceleration using the DRIVE part-program instruction. G group: 21 Effective: Modal Reset response The channel-specific default setting is activated via a reset: MD20150 $MC_GCODE_RESET_VALUES[20] Dependencies If the knee-shaped acceleration characteristic curve is parameterized for a machine axis, then this becomes the...
  • Page 254: Boundary Conditions

    B2: Acceleration 4.2 Functions Functionality The knee-shaped characteristic curve is activated for all single-axis interpolations (positioning axis, reciprocating axis, etc.) for specific axes using the part-program instruction. G group: - Effective: modal Axis • Value range: Axis identifier for channel axes Reset response The channel-specific default setting is activated via a reset: MD20150 $MC_GCODE_RESET_VALUES[20]...
  • Page 255 B2: Acceleration 4.2 Functions Path interpolation If for a machine axis involved in a programmed path the knee-shaped acceleration characteristic parameterized without the part program instruction DRIVE is active, then a substitute characteristic curve with reduced dynamic limiting values is determined for the path. Kinematic transformation The knee-shaped acceleration characteristic is not considered in an active kinematic transformation.
  • Page 256: Examples

    B2: Acceleration 4.3 Examples Examples 4.3.1 Acceleration 4.3.1.1 Path velocity characteristic Key statement An excerpt from a part program is provided below, together with the associated acceleration characteristic, by way of an example. These are used to illustrate how the path velocity can be adapted to take account of various events and the resulting change in acceleration.
  • Page 257 B2: Acceleration 4.3 Examples Acceleration profile: BRISK Accelerate to 100% of path velocity (F10000) in accordance with acceleration default: ACC (N2200...) Brake to 10% of path velocity as a result of override modification ($AC_OVR) in accordance with real-time acceleration $AC_PATHACC (N53/N54...) Accelerate to 100% of path velocity as a result of override modification ($AC_OVR) in accordance with real-time acceleration $AC_PATHACC (N53/N55...) Brake to block end velocity for intermediate smoothing block in accordance with acceleration default: ACC...
  • Page 258: Jerk

    B2: Acceleration 4.3 Examples 4.3.2 Jerk 4.3.2.1 Path velocity characteristic Key statement An excerpt from a part program is provided below, together with the associated acceleration characteristic, by way of an example. These are used to illustrate how the path velocity can be adapted to take account of various events and the resulting change in jerk.
  • Page 259: Acceleration And Jerk

    B2: Acceleration 4.3 Examples Acceleration profile: SOFT Jerk according to $MA_MAX_AX_JERK[..] Jerk according to $AC_PATHJERK Jerk according to $MA_MAX_AX_JERK[..] (approach block end velocity) Velocity limit due to arc Jerk according to $AC_PATHJERK Figure 4-14 Switching between path jerk specified during preprocessing and $AC_PATHJERK 4.3.3 Acceleration and jerk Key statement...
  • Page 260 B2: Acceleration 4.3 Examples Figure 4-15 Part program contour Figure 4-16 X axis: Velocity and acceleration characteristic Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 261: Knee­shaped Acceleration Characteristic Curve

    B2: Acceleration 4.3 Examples 4.3.4 Knee­shaped acceleration characteristic curve 4.3.4.1 Activation Key statement The example given illustrates how the knee-shaped acceleration characteristic curve is activated on the basis of: • Machine data • Part program instruction Machine data • Parameterizing the characteristic curve (example only) X axis MD35220 $MA_ACCEL_REDUCTION_SPEED_POINT[X] = 0.4 MD35230 $MA_ACCEL_REDUCTION_FACTOR[X] = 0.85...
  • Page 262 B2: Acceleration 4.3 Examples Part program (excerpt) N10 G1 X100 Y50 Z50 F700 Path motion (X,Y, Z) with DRIVE N15 Z20 Path motion (Z) with DRIVE N20 BRISK Switchover to BRISK N25 G1 X120 Y70 Path motion (Y, Z) with substitute characteristic curve N30 Z100 Path motion (Z) with BRISK...
  • Page 263: Data Lists

    B2: Acceleration 4.4 Data lists Data lists 4.4.1 Machine data 4.4.1.1 Channel­specific machine data Number Identifier: $MC_ Description 20150 GCODE_RESET_VALUES Initial setting of the G groups 20500 CONST_VELO_MIN_TIME Minimum time with constant velocity 20600 MAX_PATH_JERK Path-related maximum jerk 20602 CURV_EFFECT_ON_PATH_ACCEL Influence of path curvature on path dynamic response 20610 ADD_MOVE_ACCEL_RESERVE...
  • Page 264: Setting Data

    B2: Acceleration 4.4 Data lists Number Identifier: $MA_ Description 35230 ACCEL_REDUCTION_FACTOR Reduced acceleration 35240 ACCEL_TYPE_DRIVE DRIVE acceleration characteristic for axes on/off 35242 ACCEL_REDUCTION_TYPE Type of acceleration reduction 4.4.2 Setting data 4.4.2.1 Channel­specific setting data Number Identifier: $SC_ Description 42500 SD_MAX_PATH_ACCEL Max.
  • Page 265: D1: Diagnostics Tools

    D1: Diagnostics tools Brief description Diagnostic tools Integrated and external diagnostic tools are available for operating the SINUMERIK control. Further, the NC provides support when localizing drive faults by providing the option of simulating the drive interface of machine axes. Integrated diagnostic tools The following information is displayed at the operator interface: •...
  • Page 266: Description Of Diagnostic Tools

    D1: Diagnostics tools 5.2 Description of diagnostic tools Description of diagnostic tools Scope The Function Manual deals with displays of the user interface, system functions, procedures for determining system statuses and, if necessary, measures for avoiding undesirable conditions for the NC control, PLC and drives.
  • Page 267 D1: Diagnostics tools 5.2 Description of diagnostic tools Alarms with an alarm ID in the 60000 ... 60999 range can be activated in a part program. Data backup On POWER ON , the alarm-handler data are reinitialized completely, since they are not stored in the solid state NC memory.
  • Page 268 D1: Diagnostics tools 5.2 Description of diagnostic tools Alarm display control The scope of the alarm outputs can be modified using machine data. • Screen form for suppressing special alarm outputs: MD11410 $MN_SUPPRESS_ALARM_MASK MD11415 $MN_SUPPRESS_ALARM_MASK_2 • Screen form for activating special alarm outputs: MD11411 $MN_ENABLE_ALARM_MASK •...
  • Page 269: Service Overview

    D1: Diagnostics tools 5.3 Service overview Service overview In principle, the following service displays are available: • Axis/spindle service displays • Drive service displays • Profibus-DP service displays Note System dependencies The availability of individual service displays depends on the particular system, e.g.: •...
  • Page 270 D1: Diagnostics tools 5.3 Service overview This information is used for: • Checking the setpoint branch (e.g. position setpoint, speed setpoint, spindle speed setpoint prog.) • Checking the actual value branch (e.g. position actual value, measuring system 1/2, actual speed) •...
  • Page 271 D1: Diagnostics tools 5.3 Service overview Position reference value Specified position transferred from the interpolator to the position control. Unit: mm, inch or degrees compensation value meas. Display of absolute compensation value for measuring system 1 or system 1 or 2 The compensation value consists of the sum of backlash and leadscrew error compensation for the actual axis position Unit: mm, inch or degrees...
  • Page 272 D1: Diagnostics tools 5.3 Service overview Position offset for master axis/ The currently applicable position offset value is displayed here spindle setpoint value (relative to the setpoint) if such a position offset (angular offset between master and slave axes) has been programmed for the "Synchronous spindle"...
  • Page 273 D1: Diagnostics tools 5.3 Service overview "Referenced" status display Status display for reference point approach (axis). Bit0=Status 0: The machine axis is not referenced with the position measurement system 1 or 2. Bit0=Status 1: The machine axis has reached the reference point (incremental measuring system) and/or target point (length measuring system with distance coded reference marks) during...
  • Page 274 D1: Diagnostics tools 5.3 Service overview Control technology concept The figure below shows at which points in the control­loop the axis and spindle information is read off. Figure 5-1 Overview diagram of axis and spindle information Check of the position controller setting The position controller settings can be easily monitored via the service display "axis/spindle".
  • Page 275 D1: Diagnostics tools 5.3 Service overview • Speed or torque feedforward control is activated. In this case, a higher servo gain factor is set than displayed with MD32200: • Filter for jerk limitation or dynamic response adaptation is activated. In this case, a lower servo gain factor is set than displayed with MD32200.
  • Page 276: Drive Service Display (For Digital Drives Only)

    D1: Diagnostics tools 5.3 Service overview Diagnostics of operational state errors Further, information of the service display "Axis/spindle" can be used to investigate incorrect operating states such as e.g.: • Although there is a travel command, the axis does not traverse. ⇒...
  • Page 277 D1: Diagnostics tools 5.3 Service overview "Diagnostic" information are displayed for each axis/spindle via the operator panel front in the operating area. Note The parameters in the "Drive" service display are not necessary for connecting drives via the PROFIBUS-DP. For SINUMERIK 840Di, the drives are defined as PROFIBUS nodes. The appropriate service data is displayed in 840Di­Start­up in the menu Diagnostics -->...
  • Page 278 D1: Diagnostics tools 5.3 Service overview Pulse enable (terminal 63/48) The display corresponds to the status of terminal 63/48 on the SIMODRIVE611 digital infeed/regenerative feedback unit. State 1: Central pulse enable State 0 : Central pulse disable Display corresponds to machine data: MD1700 $MD_TERMINAL_STATE (Status of binary inputs).
  • Page 279 D1: Diagnostics tools 5.3 Service overview Ramp­up function generator quick stop Status display for ramp­up function generator quick stop. State 1: Ramp-up function generator quick stop is not active for the drive. State 0: Ramp-up function generator quick stop is active. The drive is stopped without a ramp function with speed setpoint = 0 and without pulse suppression.
  • Page 280 CRC error Display of communications errors detected in hardware between NC and drive. Note If the display shows a value other than "0", please contact your SIEMENS Regional Office! ZK1 Messages Display indicates whether messages of status class 1 are active.
  • Page 281 D1: Diagnostics tools 5.3 Service overview Smoothed actual current value Display of the smoothed actual current value. The torque-generating actual current value is smoothed by a PT1 element with parameterizable time constants. Unit: % 100 % corresponds to the maximum current of the power section. Display corresponds to machine data: MD1708 $MD_ACTUAL_CURRENT (smoothed actual current value).
  • Page 282 D1: Diagnostics tools 5.3 Service overview Integrator disabling This display indicates whether the speed controller integrator is active. State 0: The integrator of the speed controller is enabled. The speed controller functions as a PI controller. State 1: Deactivation of the speed-controller integrator as requested by the PLC using IS DB 31, ...
  • Page 283 D1: Diagnostics tools 5.3 Service overview References: /FB1/ Function Manual Basic Functions; Various Interface Signals Operating mode Display indicating whether the motor is operating as a feed drive or main spindle drive. Motor selection (star/delta) Display indicating which motor data set is to be activated by the PLC. At the moment the motor data record is used for the star/delta switchover on main spindle drives.
  • Page 284 D1: Diagnostics tools 5.3 Service overview Position actual value measuring system 1/2 The actual position of the axis as measured via measuring system 1/2. The position is displayed in the machine coordinate system (no work offsets or tool offsets included). Unit: mm, inch or degrees Power section in i²t limitation HMI SW 6.3 and later Limitation for protecting the power section against continuous overloading of the SIMODRIVE 611 drives.
  • Page 285 D1: Diagnostics tools 5.3 Service overview Ramp-up function completed Status display of drive. State 0: The ramp-up function has not yet been completed after a new speed setpoint was defined. State 1: The actual speed value has reached the speed tolerance band after a new speed setpoint was defined.
  • Page 286 D1: Diagnostics tools 5.3 Service overview Speed lower than threshold setting Status display of drive. State 0: The actual speed value is greater than the threshold speed. Status 1: The actual speed value is smaller than the threshold speed. The threshold speed corresponds to machine datum: MD1417 $MD_SPEED_THRESHOLD_X for 'n <...
  • Page 287: Service Display Profibus Dp 840Di

    D1: Diagnostics tools 5.3 Service overview Diagnostics for alarms This information is also provided as a diagnostic tool for diagnosing the causes of alarms such as: • "Ramp-up error" ⇒ Check the ramp-up phase to see which ramp-up phase the drive has reached. •...
  • Page 288 D1: Diagnostics tools 5.3 Service overview Table 5-1 Diagnostic screen Profibus-Configuration Function/Part function Explanation/Meaning Bus-configuration Baudrate in MBd Transmission rate Cycle time in msec Configured bus-cycle time; also defines the position controller cycle at the same time Synchronous part (TDX) configured time span for the cyclic data exchange within a PROFIBUS-DP cycle in msec Status...
  • Page 289 D1: Diagnostics tools 5.3 Service overview Detailed information of the slots within a slave Via the button Details the diagnostic screen of detailed information for the slave is opened. This screen shows you detailed information about the slots assigned to the DP slave. The field Slave shows you the most important information for the currently selected DP slave.
  • Page 290 D1: Diagnostics tools 5.3 Service overview Table 5-4 Diagnostic screen Axis Info Function/Part function Explanation/Meaning Machine axis Name of the axis defined in the NC-machine data Output Slave/Slot Configured routing State Current state of slot. Green lamp: Cyclic communication Red lamp: (still) no cyclic communication Telegram failures It is shown, how many telegram failures have occured since the NC-power up.
  • Page 291: Communication Log

    D1: Diagnostics tools 5.4 Communication log Communication log Log assistance In event of a fault and when developing OEM applications, control logs may assist with the analysis. Logs and version Communication log The communication errors which have occurred between the HMI and NC are displayed in chronological order via the soft key Comm.
  • Page 292: Plc Status

    D1: Diagnostics tools 5.5 PLC status PLC status PLC status signals can be checked and altered via the operator panel in the "Diagnostics" operating area. Application The end customer or service personnel can use this function on site without a programming device to do the following: •...
  • Page 293: Identifying Defective Drive Modules

    D1: Diagnostics tools 5.6 Identifying defective drive modules Identifying defective drive modules Deactivate drives Drives can be removed from the NC configuration using a piece of machine data. Troubleshooting may involve a situation where a drive module (SIMODRIVE 611 digital) displayed in an alarm text needs to be removed from the bus in order to determine whether this module has caused the displayed error.
  • Page 294 D1: Diagnostics tools 5.6 Identifying defective drive modules Example The 2­axis module with drive numbers "1" and "2" must be removed from a drive grouping. Note Before activating the function, the module in question must be removed from the drive bus configuration (SIMODRIVE 611 digital).
  • Page 295 D1: Diagnostics tools 5.6 Identifying defective drive modules Internally simulated drives are used for all axes which had settings on the removed drive numbers. If the controller is engaged for the drives that are still installed, these drives operate in the normal way. Interpolative traversal of all axes is disabled.
  • Page 296: Data Lists

    11411 ENABLE_ALARM_MASK Activation of special alarms 11412 ALARM_REACTION_CHAN_NOREADY Alarm reaction CHAN_NOREADY permitted 11413 ALARM_PAR_DISPLAY_TEXT Texts as alarm parameters (Siemens Rights) 11420 LEN_PROTOCOL_FILEX File size for protocol files (KB) 13030 DRIVE_MODULE_TYPE Module identifier (SIMODRIVE 611 digital) Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 297: Axis/Spindle­specific Machine Data

    Fixed stop clamping torque 5.7.3 Signals 5.7.3.1 Signals to axis/spindle Signal name SINUMERIK 840D sl SINUMERIK 828D Actual gear stages A, B, C DB31, ..DBX16.0-2 DB380x.DBX2000.0-2 Parameter set selection A, B, C DB31, ..DBX21.0-2 DB380x.DBX4001.0-2 Motor selection A, B DB31, ...
  • Page 298 D1: Diagnostics tools 5.7 Data lists Signal name SINUMERIK 840D sl SINUMERIK 828D Fixed stop reached DB31, ..DBX62.5 DB390x.DBX2.5 Setup mode active DB31, ..DBX92.0 Ramp­up function generator quick stop DB31, ..DBX92.1 Torque limit 2 active DB31, ..DBX92.2 Speed setpoint smoothing active DB31, ...
  • Page 299: F1: Travel To Fixed Stop

    F1: Travel to fixed stop Product brief Customer benefit The "Travel to fixed stop" function can be used for operations such as traversing tailstocks or sleeves to an end limit position in order to clamp workpieces. Features • The clamping torque and a fixed stop monitoring window can be programmed in the parts program and can also be altered via setting data once the fixed stop has been reached.
  • Page 300: General Functionality

    F1: Travel to fixed stop 6.2 General functionality General functionality 6.2.1 Functional sequence, programming, parameterization Programming Travel to fixed stop is selected or deselected with the following commands: FXS[<axis>]=1 (select) FXS[<axis>]=0 (deselect) The commands are modal. The clamping torque is set with command: FXST[<axis>] = <torque>...
  • Page 301 F1: Travel to fixed stop 6.2 General functionality Examples With machine axis identifiers: X250 Y100 F100 FXS[X1]=1 X250 Y100 F100 FXS[X1]=1 FXST[X1]=12.3 X250 Y100 F100 FXS[X1]=1 FXST[X1]=12.3 FXSW[X1]=2 ; mm X250 Y100 F100 FXS[X1]=1 FXSW[X1]=2 ; mm References: /PG/, "Programming Guide: Fundamentals" Channel axis identifier with unambiguous machine axis assignment: For the purpose of illustrating the differences in programming, channel axis X is programmed as the image of machine axis AX1 [or X1 (Name in machine parameter:...
  • Page 302 F1: Travel to fixed stop 6.2 General functionality Functional sequence The function is explained by the example below (sleeve is pressed onto workpiece). Figure 6-1 Example of travel to fixed stop Selection The NC detects that the function "Travel to fixed stop" is selected via the command FXS[x]=1 and signals the PLC using the IS DB31, ...
  • Page 303 F1: Travel to fixed stop 6.2 General functionality Fixed stop reached As soon as the axis comes into contact with the mechanical fixed stop (workpiece), the closed­loop control in the drive raises the torque so that the axis can move on. The torque rises up to the programmed limit value and then remains constant.
  • Page 304 F1: Travel to fixed stop 6.2 General functionality The window must be selected by the user such that the alarm is activated only when the axis leaves the fixed stop position. Enabling the fixed stop alarms With the machine data: MD37050 $MA_FIXED_STOP_ALARM_MASK enabling the fixed stop alarms can be established as follows: MD37050 = 0...
  • Page 305 F1: Travel to fixed stop 6.2 General functionality Interrupts If the fixed stop position is not reached when the function is active, alarm 20091 "Fixed stop not reached" is output and a block change executed. If a travel request (e.g. from the part program, the PLC, from compile cycles or from the operator panel front) is provided for an axis after the fixed stop has been reached, the alarm 20092 "Travel to fixed stop still active"...
  • Page 306 F1: Travel to fixed stop 6.2 General functionality Depending on the machine data: MD37060 $MA_FIXED_STOP_ACKN_MASK the acknowledgement of the PLC is awaited through resetting of the NST DB31, ... DBX3.1 ("Enable travel to fixed stop") and/or DB31, ... DBX1.1 ("Acknowledge fixed stop reached"). The axis will then change to position control.
  • Page 307: Response To Reset And Function Abort

    F1: Travel to fixed stop 6.2 General functionality The rise time of the torque corresponds to the time needed by the current controller of the drive to reach the limitation again. If the pulses are deleted when a deselection is active (waiting for PLC acknowledgments), the torque limit will be reduced to zero.
  • Page 308: Block Search Response

    F1: Travel to fixed stop 6.2 General functionality Function abort A function abort can be triggered by the following events: • Emergency stop: With an 840D control, the NC and drive are brought into a no-current condition for "Emergency Stop", i.e. the PLC must react.
  • Page 309 F1: Travel to fixed stop 6.2 General functionality SERUPRO Block search with calculation, multi­channel The block search in program test mode is designated SERUPRO and is derived from the "Search-Run by Program test." This search mode allows the user a multi­channel block search with calculation of all required status data from the previous history.
  • Page 310 F1: Travel to fixed stop 6.2 General functionality $AA_FXS Simulate axis traversal System variable $AA_FXS displays the current status of program simulation "program-sensitive system variable." Example: If in the SERUPRO process axis Y traversal is simulated with FXS[Y]=1, then $AA_FXS has a value of 3. If in the SERUPRO process axis Y traversal is simulated with FXS[Y]=0, then $AA_FXS has a value of 0.
  • Page 311 F1: Travel to fixed stop 6.2 General functionality REPOS display Offset Once the search target has been found, for each axis of the FXS-state prevailing on the machine through the axis VDI-signals: IS DB31, ... DBX62.4 ("Activate travel to fixed stop") IS DB31, ...
  • Page 312: Miscellaneous

    F1: Travel to fixed stop 6.2 General functionality FOC fully automatically in REPOS The FOC-REPOS function behaves analogously to the FXS-REPOS function. Note A continuously changing torque characteristic cannot be implemented with FOC-REPOS. Example: A program moves axis X from 0 to 100 and activates FOC every 20 millimeters for 10 millimeters at a time. This torque characteristic is generated with nonmodal FOC and therefore cannot be traced by FOC-REPOS.
  • Page 313 F1: Travel to fixed stop 6.2 General functionality Clamping torque greater than 100% Values greater than 100% are only practical for a short time for SD43510 $SA_FIXED_STOP_TORQUE. Irrespectively, the maximum torque is limited by the drive. For example, the following drive machine data have a limiting effect: p1520/p1521 upper torque limit/force limit / lower torque limit/force limit p1522/p1523 upper torque limit/force limit / lower torque limit/force limit p1530/p1531 power limit, motoring / power limit, regenerating...
  • Page 314 F1: Travel to fixed stop 6.2 General functionality Inoperative IS signals The following NC/PLC interface signals (PLC → NCK) have no effect for axes at end stop until deselected (incl. traversing motion): • DB31, ... DBX1.3 (axis/spindle disable) • DB31, ... DBX2.1 (controller enable) Actual position at fixed stop System variable $AA_IM[x] can determine the actual position of the machine axis, e.g.
  • Page 315: Supplementary Conditions For Expansions

    F1: Travel to fixed stop 6.2 General functionality MD37052 With the machine data MD37052 $MA_FIXED_STOP_ALARM_REACTION, the drive is not disconnected from the power supply by setting the bits, even when an alarm is generated, as the NC/PLC interface signal DB11 DBX6.3 (mode group ready) remains active. Bit value=0: The alarms have an effect on FXS (drive becomes disconnected as previously).
  • Page 316 F1: Travel to fixed stop 6.2 General functionality Message to PLC: IS DB31, ... DBX62.4 ("Activate travel to fixed stop") The FXS selection command can only be used in systems with digital drives (VSA, HSA, HLA). Following condition must be observed: MD37060 $MA_FIXED_STOP_ACKN_MASK, Bit 0 = 0 Bit 0 = 1 (waiting for PLC acknowledgement) must not be set, otherwise, an interpolator stop would be required to acknowledge the signal, interrupting the movement.
  • Page 317: Travel With Limited Torque/Force Foc (Option For 828D)

    F1: Travel to fixed stop 6.2 General functionality 6.2.6 Travel with limited torque/force FOC (option for 828D) Function For applications in which torque or force are to be changed dynamically depending on the travel or on the time or on other parameters (e.g. pressing), the following functionalityFOC (Force Control) is provided. Force/travel or force/time profiles are thus possible using the "Interpolation cycle"...
  • Page 318 F1: Travel to fixed stop 6.2 General functionality Example: N10 FOCON[X] ; Modal activation of the torque limit N20 X100 Y200 FXST[X]=15 ; X travels with reduced torque (15%) N30 FXST[X]=75 X20 ; Changing the torque to 75%. ; X travels with this reduced torque. N40 FOCOF[X] ;...
  • Page 319 F1: Travel to fixed stop 6.2 General functionality Restrictions The function FOC is subject to the following restrictions: • The change of the torque/force limitation representing itself as an acceleration limitation is only taken into account in the traversing movement at block limits (see command ACC). •...
  • Page 320: Travel To Fixed Stop

    F1: Travel to fixed stop 6.3 Travel to fixed stop Travel to fixed stop Preconditions The functions "Travel to fixed stop" ad "Force Control" can only be activated for PROFIBUS drives that support a SINAMICS-compatible telegram structure. Please observe the notes in the SINUMERIK 840Di Manual in the chapter "Extended telegram configuration".
  • Page 321 F1: Travel to fixed stop 6.3 Travel to fixed stop Figure 6-2 Fixed stop reached Fixed stop is not reached If the programmed end position is reached without the "Fixed stop reached" status being recognized, then the torque limitation in the drive is canceled via the digital interface and IS DB31, ... DBX62.4 ("Activate travel to fixed stop") is reset.
  • Page 322 F1: Travel to fixed stop 6.3 Travel to fixed stop Deselection The NC recognizes the function deselection via programming of the command FXS[x]=0. Then an advance stop (STOPRE) is internally released, since it can't be forseen where the axis will be after deselection. The torque limitation and monitoring of the fixed stop monitoring window are canceled.
  • Page 323 F1: Travel to fixed stop 6.3 Travel to fixed stop Terminal EP (Enable Pulses) can be controlled with MD37002 With the machine data: MD37002 $MA_FIXED_STOP_CONTROL the response in the case of pulse inhibit at the stop is controlled. Deleting the pulses by terminal 663 or the "Pulse enable" IS DBX31, ...DBX21.7 will not abort the function. As a result, the drive will press against the fixed stop again without any further operating action when the machine is restarted.
  • Page 324: Examples

    F1: Travel to fixed stop 6.4 Examples Examples Static synchronized actions Travel to fixed stop (FXS), initiated by a synchronized action. N10 IDS=1 WHENEVER ; Activate static synchronized action: (($R1==1) AND ; By the setting of $R1=1 ($AA_FXS[Y]==0)) DO ; for $R1=0 FXS[Y]=1 ;...
  • Page 325 F1: Travel to fixed stop 6.4 Examples Multiple selection A selection may only be carried out once. If the function is called once more due to faulty programming (FXS[Axis]=1) the alarm 20092 "Travel to fixed stop still active" is initiated. Programming code that scans $AA_FXS[] or a separate flag (here R1) in the condition will ensure that the function is not activated more than once.
  • Page 326: Data Lists

    FIXED_STOP_TORQUE Fixed stop monitoring window 6.5.3 Signals 6.5.3.1 Signals to axis/spindle Signal name SINUMERIK 840D sl SINUMERIK 828D Acknowledge fixed stop reached DB31, ..DBX1.1 DB380x.DBX1.1 Sensor for fixed stop DB31, ..DBX1.2 DB380x.DBX1.2 Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 327: Signals From Axis/Spindle

    F1: Travel to fixed stop 6.5 Data lists Signal name SINUMERIK 840D sl SINUMERIK 828D Axis/spindle disable DB31, ..DBX1.3 DB380x.DBX1.3 Controller enable DB31, … .DBX2.1 DB380x.DBX2.1 Enable travel to fixed stop DB31, … .DBX3.1 DB380x.DBX3.1 6.5.3.2 Signals from axis/spindle...
  • Page 328 F1: Travel to fixed stop 6.5 Data lists Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 329: G2: Velocities, Setpoint / Actual Value Systems, Closed-Loop Control

    G2: Velocities, setpoint / actual value systems, closed-loop control Brief description The description of functions explains how to parameterize a machine axis in relation to: • Actual-value/measuring systems • Setpoint system • Operating accuracy • Travel ranges • Axis velocities •...
  • Page 330: Velocities, Traversing Ranges, Accuracies

    G2: Velocities, setpoint / actual value systems, closed-loop control 7.2 Velocities, traversing ranges, accuracies Velocities, traversing ranges, accuracies 7.2.1 Velocities Maximum path and axis velocities and spindle speed The maximum path and axis velocities and spindle speed are influenced by the machine design, the dynamic response of the drive and the limit frequency of the actual-value acquisition (encoder limit frequency).
  • Page 331 G2: Velocities, setpoint / actual value systems, closed-loop control 7.2 Velocities, traversing ranges, accuracies Minimum path, axis velocity The following restriction applies to the minimum path or axis velocity: The computational resolution is defined using machine data: MD10200 $MN_INT_INCR_PER_MM (computational resolution for linear positions) MD10210 $MN_INT_INCR_PER_DEG (computational resolution for angular positions) If V is not reached, no traversing is carried out.
  • Page 332: Traversing Ranges

    G2: Velocities, setpoint / actual value systems, closed-loop control 7.2 Velocities, traversing ranges, accuracies 7.2.2 Traversing ranges Range of values of the traversing ranges The range of values of the traversing range depends on the computational resolution selected. If machine data: MD10200 $MN_INT_INCR_PER_MM (computational resolution for linear positions) (1000 incr./mm) MD10210 $MN_INT_INCR_PER_DEG...
  • Page 333: Positioning Accuracy Of The Control System

    G2: Velocities, setpoint / actual value systems, closed-loop control 7.2 Velocities, traversing ranges, accuracies 7.2.3 Positioning accuracy of the control system Actual-value resolution and computational resolution The positioning accuracy of the control depends on the actual-value resolution (=encoder increments/(mm or degrees)) and the computational resolution (=internal increments/(mm or degrees)).
  • Page 334 G2: Velocities, setpoint / actual value systems, closed-loop control 7.2 Velocities, traversing ranges, accuracies This diagram shows how input values are converted into internal units. It also shows the following conversion to internal increments/(mm or degrees), which can cause loss of decimal places if the computational resolution was selected to be coarser than the input resolution.
  • Page 335: Input/Display Resolution, Computational Resolution

    G2: Velocities, setpoint / actual value systems, closed-loop control 7.2 Velocities, traversing ranges, accuracies In addition, it provides an overview of the following topics: • Selection of measuring system (metric/inch) • Scaling of physical quantities of machine and setting data •...
  • Page 336: Scaling Of Physical Quantities Of Machine And Setting Data

    G2: Velocities, setpoint / actual value systems, closed-loop control 7.2 Velocities, traversing ranges, accuracies Example of rounding: Computational resolution: 1000 increments/mm Programmed path: 97.3786 mm Effective value = 97.379 mm Example of programming in the μm range: All the linear axes of a machine are to be programmed and traversed within the range of values 0.1 to 1000 μm. ⇒...
  • Page 337 G2: Velocities, setpoint / actual value systems, closed-loop control 7.2 Velocities, traversing ranges, accuracies The units listed below are used for storage. The control always uses these units internally irrespective of the basic system selected. Physical quantity: Internal unit: Linear position 1 mm Angular position 1 degree...
  • Page 338 G2: Velocities, setpoint / actual value systems, closed-loop control 7.2 Velocities, traversing ranges, accuracies The following applies: Selected input/output unit = MD10230 * internal unit In the machine data: MD10230 $MN_SCALING_FACTORS_USER_DEF[n] the selected input/output unit printed in each case in the internal units 1mm, 1 degree and 1 s must be input. Example 1: Machine data input/output of the linear velocities is to be in m/min instead of mm/min (initial state).
  • Page 339 G2: Velocities, setpoint / actual value systems, closed-loop control 7.2 Velocities, traversing ranges, accuracies ⇒ The scaling factor is calculated using the following formula: Index n defines the "linear velocity" in the "Scaling factors of physical quantities" list. Example 2: In addition to the change in Example 1, the machine data input/output of linear accelerations must be in ft/s instead of m/s (initial state).
  • Page 340: Metric/Inch Measuring System

    G2: Velocities, setpoint / actual value systems, closed-loop control 7.3 Metric/inch measuring system Metric/inch measuring system 7.3.1 Conversion of basic system by parts program Programmable switchover in the measuring system The basic system can be switched over within a part program via the G functions G70/G71/G700/G710 (G group 13).
  • Page 341 G2: Velocities, setpoint / actual value systems, closed-loop control 7.3 Metric/inch measuring system Reading in part programs from external sources If part programs, including data sets (work offsets, tool offsets, etc.), programmed in a different measuring system from the basic system are read in from an external source, the initial state must first be changed via machine data MD10240.
  • Page 342 G2: Velocities, setpoint / actual value systems, closed-loop control 7.3 Metric/inch measuring system Program code Comment N220 SETAL(61000) N230 ENDIF N240 M30 N120: if G70 is replaced by G700, alarm 61000 (N220) does not occur. Synchronized actions To ensure in the case of synchronized actions that the current part program context does not determine the measuring system used in the condition and/or action part, the measuring system must be defined within the synchronized action (condition and/or action parts).
  • Page 343 Tool offsets Length-related machine data Length-related setting data Length-related system variables R parameters Siemens cycles Jog/handwheel increment factor P: Data is read/written in the programmed measuring system G: Writing/reading takes place in the configured basic system. NOTICE Read position data in synchronized actions...
  • Page 344: Manual Switchover Of The Basic System

    G2: Velocities, setpoint / actual value systems, closed-loop control 7.3 Metric/inch measuring system NC-specific conversion factor The default conversion factor in the machine data is: MD10250 $MN_SCALING_VALUE_INCH (conversion factor for switchover to inch system) set to 25.4 for converting from the metric to the inch measuring system. By changing the conversion factor, the control system can also be adapted to customer­specific measuring systems.
  • Page 345 G2: Velocities, setpoint / actual value systems, closed-loop control 7.3 Metric/inch measuring system The machine data: MD10240 $MN_SCALING_SYSTEM_IS_METRIC and the corresponding G70/G71/G700/G710 settings in the machine data: MD20150 $MN_GCODE_RESET_VALUES are automatically switched over consistently for all configured channels. During this process, the value in machine data: MD20150 $MC_GCODE_RESET_VALUES[12] changes between G700 and G710.
  • Page 346 G2: Velocities, setpoint / actual value systems, closed-loop control 7.3 Metric/inch measuring system System data When changing over the measuring system, from the view of the user, all length-related specifications are converted to the new measuring system automatically. This includes: •...
  • Page 347 G2: Velocities, setpoint / actual value systems, closed-loop control 7.3 Metric/inch measuring system • The system of units for sag compensation is configured using: MD32711 $MA_CEC_SCALING_SYSTEM_METRIC References: /FB2/ Function Manual Extended Functions; Compensations (K3) • The measuring system for positional data of the indexing axis tables and switching points for software cams is configured in machine data element: MD10270 $MN_POS_TAB_SCALING_SYSTEM.
  • Page 348 G2: Velocities, setpoint / actual value systems, closed-loop control 7.3 Metric/inch measuring system JOG and handwheel factor The machine data: MD31090 $MA_JOG_INCR_WEIGHT consists of two values containing axis-specific increment weighting factors for each of the two measuring systems. Depending on the actual setting in machine data: MD10240 $MN_SCALING_SYSTEM_IS_METRIC the control automatically sets the appropriate value.
  • Page 349: Fgroup And Fgref

    G2: Velocities, setpoint / actual value systems, closed-loop control 7.3 Metric/inch measuring system Note The INCH/METRIC operation is only generated if the compatibility machine data: MD10260 $MN_CONVERT_SCALING_SYSTEM is set. Rounding machine data All length-related machine data are rounded to the nearest 1 pm when writing in the inch measuring system (MD10240 $MN_SCALING_SYSTEM_IS_METRIC=0 and MD10260 $MN_CONVERT_SCALING_SYSTEM=1), in order to avoid rounding problems.
  • Page 350 G2: Velocities, setpoint / actual value systems, closed-loop control 7.3 Metric/inch measuring system CAUTION The FGREF factor also works if only rotary axes are programmed in the block. The normal F value interpretation as degree/min applies in this case only if the radius reference corresponds to the FGREF default: •...
  • Page 351 G2: Velocities, setpoint / actual value systems, closed-loop control 7.3 Metric/inch measuring system Diagnostics Read reference radius The value of the reference radius of a rotary axis can be read using system variables: • For the display in the user interface, in synchronized actions or with a preprocessing stop in the part program via the system variables: $AA_FGREF[<axis>] Current main run value...
  • Page 352 G2: Velocities, setpoint / actual value systems, closed-loop control 7.3 Metric/inch measuring system Read path axes affecting velocity The axes involved in path interpolation can be read using system variables: • For the display in the user interface, in synchronized actions or with a preprocessing stop in the part program via the system variables: $AA_FGROUP[<axis>] Returns the value "1"...
  • Page 353: Setpoint/Actual-Value System

    G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Setpoint/actual-value system 7.4.1 General Control loop A control loop with the following structure can be configured for every closed-loop controlled axis/spindle: Figure 7-1 Block diagram of a control loop Setpoint output A setpoint telegram can be output for each axis/spindle.
  • Page 354 G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Each position measuring system must be referenced separately. For an explanation of actual-value acquisition compensation functions, see: References: /FB2/ Function Manual, Extended Functions; Compensations (K3) For an explanation of encoder monitoring, see: References: /FB1/Function Manual, Basic Functions;...
  • Page 355 G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Simulation axes The speed control loop of an axis can be simulated for test purposes. The axis "traverses" with a following error, similar to a real axis. A simulation axis is defined by setting the two following machine data to "0": MD30130 $MA_CTRLOUT_TYPE[n] (output value of setpoint) MD30240 $MA_ENC_TYPE[n] (type of actual-value acquisition) As soon as the standard machine data have been loaded, the axes become simulation axes.
  • Page 356: Setpoint And Encoder Assignment

    G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system 7.4.2 Setpoint and encoder assignment Setpoint marshalling The following machine data are relevant for the setpoint assignment of a machine axis. MD30100 $MA_CTRLOUT_SEGMENT_NR[ n ] Setpoint assignment, bus segment System Value Meaning...
  • Page 357 G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system MD30220 $MA_ENC_MODULE_NR[ n ] Actual value assignment: Drive module number/measuring circuit number System Value Meaning 840D sl The number of the drive assigned using MD13050 $MN_DRIVE_LOGIC_ADDRESS[ x ] should be entered. MD30220 $MA_ENC_MODULE_NR[ n ] = x, refers to: MD13050 $MN_DRIVE_LOGIC_ADDRESS[ x ] MD30230...
  • Page 358 G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system MD30242 $MA_ENC_IS_INDEPENDENT[ n, axis ] Encoder is independent System Value Meaning 840D sl The encoder is not independent. The encoder is independent. If the actual-value corrections, which are made for the encoder selected for the position control, are not to influence the actual value of the second encoder defined in the same axis, then this should be declared as independent.
  • Page 359: Adapting The Motor/Load Ratios

    G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system 7.4.3 Adapting the motor/load ratios Gear types The following gear types are available for adapting the mechanical ratios: Gear type Activation Adaptation Installation location Motor/load gear Parameter set Fixed configuration Gear unit Measuring gear encoder...
  • Page 360 G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Intermediate gear Additional, configurable load intermediate gears are also supported by the control: MD31066 $MA_DRIVE_AX_RATIO2_NUMERA (intermediate gear numerator) MD31064 $MA_DRIVE_AX_RATIO2_DENOM (intermediate gear denominator) Power tools generally have their "own" intermediate gear. Such variable mechanics can be configured by multiplying the active intermediate gearbox and the motor/load gearbox.
  • Page 361: Speed Setpoint Output

    G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Reference point and position reference In the case of gear changes, it is not possible to make a statement about the effect of the reference point or machine position reference on the encoder scaling. In such cases, the control partially cancels the status "Axis referenced/synchronized".
  • Page 362 G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Speed setpoint adjustment SINUMERIK 840D sl In the case of speed setpoint comparison, the NC is informed, which speed setpoint corresponds to which motor speed in the drive, for parameterizing the axial control and monitoring. This comparison is carried out automatically.
  • Page 363: Actual-Value Processing

    G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Figure 7-3 Maximum speed setpoint However, due to control processes, the axes should not reach their maximum velocity (MD32000 $MA_MAX_AX_VELO) at 100% of the speed setpoint, but at 80% to 95%. In case of axes, whose maximum speed is attained at around 80% of the speed setpoint range, the default value (80%) of the machine data: MD32000 $MA_MAX_AX_VELO (maximum axis velocity)
  • Page 364 G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Machine data Linear axis Linear axis Rotary axis Linear scale/ Encoder Encoder Encoder Encoder or as direct measuring machine machine motor motor system and/or tool and/or tool MD30300 $MA_IS_ROT_AX MD31000 $MA_ENC_IS_LINEAR[n] MD31010 $MA_ENC_GRID_POINT_DIST[n] Spacing...
  • Page 365 G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Coding of the machine data The indices of the following machine data are coded at the encoder [Encoder no.]: Encoder 0 or 1 Encoder-dependent machine data Meaning MD31070 $MA_DRIVE_ENC_RATIO_DENOM[n] Measuring gear denominator MD31080 $MA_DRIVE_ENC_RATIO_NUMERA[n] Measuring gear numerator...
  • Page 366: Adjustments To Actual-Value Resolution

    G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system NewConfig-dependent machine data Additional machine data without index Meaning MD31064 $MA_DRIVE_AX_RATIO2_DENOM Intermediate gear denominator MD31066 $MA_DRIVE_AX_RATIO2_NUMERA Intermediate gear numerator MD32000 $MA_MAX_AX_VELO Maximum axis velocity Note These machine data can be activated in parts programs with the command NEWCONF or via the HMI operator panel using a soft key.
  • Page 367 G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Linear axis with linear scale Figure 7-4 Linear axis with linear scale In order to adapt the actual-value resolution to the calculation resolution, the control calculates the quotients from the "internal increments/mm"...
  • Page 368 G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Gear: Motor/leadscrew ratio 5:1 Pitch 10 mm 10000 increments per mm ⇒ MD30300 $MA_IS_ROT_AX MD31000 $MA_ENC_IS_LINEAR[0] MD31040 $MA_ENC_IS_DIRECT[0] MD31020 $MA_ENC_RESOL[0] = 2048 MD31025 $MA_ENC_PULSE_MULT = 2048 MD31030 $MA_LEADSCREW_PITCH = 10 MD31080 $MA_DRIVE_ENC_RATIO_NUMERA[0] MD31070 $MA_DRIVE_ENC_RATIO_DENOM[0]...
  • Page 369 G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Linear axis with rotary encoder on the machine Figure 7-6 Linear axis with rotary encoder on the machine In order to adapt the actual-value resolution to the calculation resolution, the control calculates the quotients from the "internal increments/mm"...
  • Page 370 G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Rotary axis with rotary encoder on motor Figure 7-7 Rotary axis with rotary encoder on motor In order to adapt the actual-value resolution to the calculation resolution, the control calculates the quotients from the "internal increments/degree"...
  • Page 371 G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Rotary axis with rotary encoder (2048 Impulse) on motor; internal multiplication (2048) Gear: Motor/rotary axis ratio 5:1 1000 increments per degree ⇒ MD30300 $MA_IS_ROT_AX MD31000 $MA_ENC_IS_LINEAR[0] MD31040 $MA_ENC_IS_DIRECT[0] MD31020 $MA_ENC_RESOL[0] = 2048 MD31025 $MA_ENC_PULSE_MULT...
  • Page 372 G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Rotary axis with rotary encoder on the machine Figure 7-8 Rotary axis with rotary encoder on the machine In order to adapt the actual-value resolution to the calculation resolution, the control calculates the quotients from the "internal increments/degree"...
  • Page 373 G2: Velocities, setpoint / actual value systems, closed-loop control 7.4 Setpoint/actual-value system Intermediate gear encoder on tool Figure 7-9 Intermediate gear with encoder directly on the rotating tool In order to adapt the actual-value resolution to the calculation resolution, the control calculates the quotients from the "internal increments/mm"...
  • Page 374: Closed-Loop Control

    G2: Velocities, setpoint / actual value systems, closed-loop control 7.5 Closed-loop control Closed-loop control 7.5.1 General Position control of an axis/spindle The closed-loop control of an axis consists of the current and speed control loop of the drive plus a higher-level position control loop in the NC.
  • Page 375 G2: Velocities, setpoint / actual value systems, closed-loop control 7.5 Closed-loop control Fine Interpolation Using the fine interpolator (FIPO), the contour precision can be further increased by reducing the staircase effect in the speed setpoint. You can set 3 different types of fine interpolation: MD33000 $MA_FIPO_TYPE = <FIPO mode>...
  • Page 376 G2: Velocities, setpoint / actual value systems, closed-loop control 7.5 Closed-loop control Servo gain factor (K ) setting for SINUMERIK 840D sl Figure 7-11 Dynamic response adaptation Dynamic response adaptation Axes that interpolate with one another, but with different K factors can be set to the same following error using the dynamic adaptation function.
  • Page 377: Parameter Sets Of The Position Controller

    G2: Velocities, setpoint / actual value systems, closed-loop control 7.5 Closed-loop control Axis 1: MD32910 $MA_DYN_MATCH_TIME = 0 ms Axis 2: MD32910 $MA_DYN_MATCH_TIME = 30 ms - 20 ms = 10 ms Axis 3: MD32910 $MA_DYN_MATCH_TIME = 30 ms - 24 ms = 6 ms Approximation formulas for the equivalent time constant of the position control loop of an axis The equivalent time constant T of the position control loop of an axis is approximately calculated depending...
  • Page 378 G2: Velocities, setpoint / actual value systems, closed-loop control 7.5 Closed-loop control Parameter set changeover The following machine data can be changed by switching over the parameter set during operation: Denominator load gearbox MD31050 $MA_DRIVE_AX_RATIO_DENOM[n] Numerator load gearbox MD31060 $MA_DRIVE_AX_RATIO_NUMERA[n] Servo gain factor (K MD32200 $MA_POSCTRL_GAIN[n] Backlash compensation...
  • Page 379 G2: Velocities, setpoint / actual value systems, closed-loop control 7.5 Closed-loop control Parameter sets during gear stage change Interpolation parameter sets during gear stage change: In the case of spindles, each gear stage is assigned its own parameter set. Dependent on the NC/PLC interface signal: DB31, ...
  • Page 380: Optimization Of The Control

    G2: Velocities, setpoint / actual value systems, closed-loop control 7.6 Optimization of the control Optimization of the control 7.6.1 Position controller, position setpoint filter: Balancing filter Application For speed and torque feedforward control With feedforward control active, the position setpoint is sent through a so­called balancing filter before it reaches the controller itself.
  • Page 381 G2: Velocities, setpoint / actual value systems, closed-loop control 7.6 Optimization of the control Setting the equivalent time constant of the speed control loop MD32810 speed feedforward control We recommend that the axis be allowed to move in and out in "AUTOMATIC" mode with a parts program and that travel-in to the target position, i.e., the actual position value of the active measuring system, be monitored with servo trace.
  • Page 382 G2: Velocities, setpoint / actual value systems, closed-loop control 7.6 Optimization of the control MD32810 fine adjustment Experience has shown that the initial value is only modified slightly during fine adjustment, typically by adding or deducting 0.25 ms. For example, if the initial value is 1.5 ms, the optimum value calculated manually is usually within the range 1.25 ms to 1.75 ms.
  • Page 383: Position Controller, Position Setpoint Filter: Jerk Filter

    G2: Velocities, setpoint / actual value systems, closed-loop control 7.6 Optimization of the control MD32800 $MA_EQUIV_CURRCTRL_TIME but are enabled as before in the drive. Limitation to stiff machines Experience has shown that this expenditure is only worthwhile in the case of very stiff machines, and requires appropriate experience.
  • Page 384 G2: Velocities, setpoint / actual value systems, closed-loop control 7.6 Optimization of the control MD32402 $MA_AX_JERK_MODE Filter mode, moving average value MD32410 $MA_AX_JERK_TIME = 0.02 Set the filter time in seconds (e.g. 20 ms) MD32400 $MA_AX_JERK_ENABLE Enable filter calculation If no filter mode previously: MD32402 $MA_AX_JERK_MODE = 2 was activated, then "Power On"...
  • Page 385 G2: Velocities, setpoint / actual value systems, closed-loop control 7.6 Optimization of the control Boundary conditions The jerk filter is available in all control versions as follows: • Effective filter times are limited to a range between a minimum of 1 position-control cycle up to a maximum of 32 position-control cycles (31 position-control cycles are available).
  • Page 386: Position Control With Proportional-Plus-Integral-Action Controller

    G2: Velocities, setpoint / actual value systems, closed-loop control 7.6 Optimization of the control 7.6.3 Position control with proportional-plus-integral-action controller Function As standard, the core of the position controller is a P controller. It is possible to switch-in an integral component for special applications (such as an electronic gear). The resulting proportional-plus-integral-action controller then corrects the error between setpoint and actual positions down to zero in a finite, settable time period when the appropriate machine data are set accordingly.
  • Page 387 G2: Velocities, setpoint / actual value systems, closed-loop control 7.6 Optimization of the control 6. Set the servo trace to display the following: Following error Actual velocity Actual position Reference position 7. Reset the tolerance values in the following machine data to the required values, once the optimum value for has been identified: MD36020 $MA_POSITIONING_TIME MD36030 $MA_STANDSTILL_POS_TOL...
  • Page 388: Data Lists

    G2: Velocities, setpoint / actual value systems, closed-loop control 7.7 Data lists Data lists 7.7.1 Machine data 7.7.1.1 Displaying machine data Number Identifier: $MM_ Description 9004 DISPLAY_RESOLUTION Display resolution 9010 SPIND_DISPLAY_RESOLUTION Display resolution for spindles 9011 DISPLAY_RESOLUTION_INCH Display resolution for INCH system of measurement 7.7.1.2 NC-specific machine data Number...
  • Page 389: Axis/Spindle­specific Machine Data

    G2: Velocities, setpoint / actual value systems, closed-loop control 7.7 Data lists 7.7.1.4 Axis/spindle­specific machine data Number Identifier: $MA_ Description 30110 CTRLOUT_MODULE_NR Setpoint assignment: Drive number 30120 CTRLOUT_NR Setpoint assignment: Setpoint output on drive module 30130 CTRLOUT_TYPE Output type of setpoint 30200 NUM_ENCS Number of encoders...
  • Page 390 G2: Velocities, setpoint / actual value systems, closed-loop control 7.7 Data lists Number Identifier: $MA_ Description 32800 EQUIV_CURRCTRL_TIME Equivalent time constant current control loop for feedforward control 32810 EQUIV_SPEEDCTRL_TIME Equivalent time constant speed control loop for feedforward control 32900 DYN_MATCH_ENABLE Dynamics matching 32910 DYN_MATCH_TIME [n]...
  • Page 391: H2: Auxiliary Function Outputs To Plc

    H2: Auxiliary function outputs to PLC Brief description 8.1.1 Function Auxiliary functions permit activation of the system functions of the NCK and PLC user functions. Auxiliary functions can be programmed in: • Parts programs • Synchronized actions • User cycles References: For detailed information on using auxiliary function outputs in synchronized actions, refer to the Function Manual, Synchronized Actions.
  • Page 392: Definition Of An Auxiliary Function

    H2: Auxiliary function outputs to PLC 8.1 Brief description Type Function Example Meaning Special function M2=3 2nd spindle: Spindle right Spindle function S2=100 2nd spindle: Spindle speed = 100 (e.g. rpm) Tool number T2=3 User-specific auxiliary functions User-specific auxiliary functions do not activate system functions. User-specific auxiliary functions are output to the NC/PLC interface only.
  • Page 393: Overview Of Auxiliary Functions

    H2: Auxiliary function outputs to PLC 8.1 Brief description 8.1.3 Overview of auxiliary functions M functions M (special function) Address extension Value Value range Meaning Value range Type Meaning Number  0 (implicit) - - - 0 ... 99 Function Remarks: The address extension is 0 for the range between 0 and 99.
  • Page 394 H2: Auxiliary function outputs to PLC 8.1 Brief description • The predefined auxiliary functions M0, M1, M17, M30, M6, M4, M5 cannot be redefined. • M function-specific machine data: MD10800 $MN_EXTERN_CHAN_SYNC_M_NO_MIN MD10802 $MN_EXTERN_CHAN_SYNC_M_NO_MAX MD10804 $MN_EXTERN_M_NO_SET_INT MD10806 $MN_EXTERN_M_NO_DISABLE_INT MD10814 $MN_EXTERN_M_NO_MAC_CYCLE MD10815 $MN_EXTERN_M_NO_MAC_CYCLE_NAME MD20094 $MC_SPIND_RIGID_TAPPING_M_NR MD20095 $MC_EXTERN_RIGID_TAPPING_M_NR MD20096 $MC_T_M_ADDRESS_EXT_IS_SPINO...
  • Page 395 H2: Auxiliary function outputs to PLC 8.1 Brief description • S functions are assigned to auxiliary function group 3 by default. • Without an address extension, the S functions refer to the master spindle of the channel. • S function-specific machine data: MD22210 $MC_AUXFU_S_SYNC_TYPE (Output time of the S functions) H functions H (aux.
  • Page 396 H2: Auxiliary function outputs to PLC 8.1 Brief description • Identification of the tools, optionally via tool number or location number. References: Function Manual, Tool Management Function Manual, Basic Functions; Tool Offset (W1) • When T0 is selected, the current tool is removed from the tool holder but not replaced by a new tool (default setting).
  • Page 397 H2: Auxiliary function outputs to PLC 8.1 Brief description DL (additive tool offset) - - - - - - 0 ... 6 Selection of the additive tool offset Remarks: The additive tool offset selected with DL refers to the active D number. See "Meaning of footnotes"...
  • Page 398 H2: Auxiliary function outputs to PLC 8.1 Brief description Application Path velocity. Further information • F function-specific machine data: MD22240 $MC_AUXFU_F_SYNC_TYPE (output time of F functions) FA functions FA (axial feedrate) Address extension Value Value range Meaning Value range Type Meaning Number ...
  • Page 399 H2: Auxiliary function outputs to PLC 8.1 Brief description M6: Value range of the address extension: - without tool management: 0 ... 99 - with tool management: 0 ... maximum spindle number 0: to be replaced by the value of the master spindle number or master tool holder If tool management is active, the auxiliary function M6 "Tool change"...
  • Page 400: Predefined Auxiliary Functions

    H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Predefined auxiliary functions Function Every pre-defined auxiliary function is assigned to a system function and cannot be changed. If a pre-defined auxiliary function is programmed in a part program/cycle, then this is output to the PLC via the NC/PLC interface and the corresponding system function is executed in the NCK.
  • Page 401 H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Spindle-specific auxiliary functions, spindle 1 Address System function Index <n> Type Value Group extension Spindle right Spindle left Spindle stop Spindle positioning Axis mode Automatic gear stage Gear stage 1 Gear stage 2 Gear stage 3 Gear stage 4...
  • Page 402 H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Spindle-specific auxiliary functions, spindle 2 Address System function Index <n> Type Value Group extension Spindle right (72) Spindle left (72) Spindle stop (72) Spindle positioning (72) Axis mode (72) Automatic gear stage (74) Gear stage 1 (74)
  • Page 403 H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Spindle-specific auxiliary functions, spindle 4 Address System function Index <n> Type Value Group extension Gear stage 1 (80) Gear stage 2 (80) Gear stage 3 (80) Gear stage 4 (80) Gear stage 5 (80) Spindle speed...
  • Page 404 H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Spindle-specific auxiliary functions, spindle 7 Address System function Index <n> Type Value Group extension Spindle right (87) Spindle left (87) Spindle stop (87) Spindle positioning (87) Axis mode (87) Automatic gear stage (89) Gear stage 1 (89)
  • Page 405 H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Spindle-specific auxiliary functions, spindle 9 Address System function Index <n> Type Value Group extension Axis mode (93) Automatic gear stage (95) Gear stage 1 (95) Gear stage 2 (95) Gear stage 3 (95) Gear stage 4 (95)
  • Page 406 H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Spindle-specific auxiliary functions, spindle 11 Address System function Index <n> Type Value Group extension Gear stage 5 (101) Spindle speed (100) Spindle-specific auxiliary functions, spindle 12 Address System function Index <n> Type Value Group...
  • Page 407 H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Spindle-specific auxiliary functions, spindle 14 Address System function Index <n> Type Value Group extension Spindle right (108) Spindle left (108) Spindle stop (108) Spindle positioning (108) Axis mode (108) Automatic gear stage (110) Gear stage 1 (110)
  • Page 408 H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Spindle-specific auxiliary functions, spindle 16 Address System function Index <n> Type Value Group extension Gear stage 1 (116) Gear stage 2 (116) Gear stage 3 (116) Gear stage 4 (116) Gear stage 5 (116) Spindle speed...
  • Page 409 H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Spindle-specific auxiliary functions, spindle 19 Address System function Index <n> Type Value Group extension Spindle right (123) Spindle left (123) Spindle stop (123) Spindle positioning (123) Axis mode (123) Automatic gear stage (125) Gear stage 1 (125)
  • Page 410 H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Tool holder-specific auxiliary functions, T auxiliary functions Address System function Index <n> Type Value Group extension Tool selection Tool selection Tool selection Tool selection Tool selection Tool selection Tool selection Tool selection Tool selection Tool selection...
  • Page 411 H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Tool holder-specific auxiliary functions, M6 auxiliary functions Address System function Index <n> Type Value Group extension Tool change Tool change Tool change The value can be changed. The value is depends on the machine data: MD22560 $MC_TOOL_CHANGE_M_MODE (M function for tool change) The value can be preset with a different value using the following machine data: MD20095 $MC_EXTERN_RIGID_TAPPING_M_NR (M function for switching over to the...
  • Page 412: Overview: Output Behavior

    H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions 8.2.2 Overview: Output behavior Significance of the parameters listed in the following table: Parameter Meaning Index <n> Machine data index of the parameters of an auxiliary function Output behavior MD22080 $MC_AUXFU_PREDEF_SPEC[<n>], Bits 0 ... 18 Bits 19 ...
  • Page 413 H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Index <n> System function Output behavior, bit Nibbling (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (1) Nibbling (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (1) Nibbling (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (1)
  • Page 414 H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Meaning No predefined auxiliary function A predefined auxiliary function is treated like a user-defined auxiliary function with this setting. The auxiliary function then no longer triggers the corresponding system function but is only output to the PLC. Example: Reconfiguration of the "Position spindle"...
  • Page 415: Parameter Assignment

    H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Meaning Nibbling on Nibbling Note In the case of auxiliary functions for which no output behavior has been defined, the following default output behavior is active: • Bit 0 = 1: Output duration one OB1 cycle •...
  • Page 416: Type, Address Extension And Value

    H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions 8.2.3.2 Type, address extension and value An auxiliary function is programmed via the type, address extension, and value parameters (see "Programming an auxiliary function [Page 431]"). Type The identifier of an auxiliary function is defined via the "type," e.g.: "M"...
  • Page 417: Output Behavior

    H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Value The parameters "value" and "type" define the meaning of an auxiliary function, i.e. the system function that is activated on the basis of this auxiliary function. The "value" of an auxiliary function is defined in the machine data: MD22070 $MC_AUXFU_PREDEF_VALUE[<n>] (value of predefined auxiliary functions) Note The "value"...
  • Page 418 H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Output after motion • The traversing motions (path and/or block-related positioning axis movements) of the current part program block end with an exact stop. • The auxiliary functions are output after completion of the traversing motions. •...
  • Page 419 H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 420 H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 421 H2: Auxiliary function outputs to PLC 8.2 Predefined auxiliary functions Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 422: User­defined Auxiliary Functions

    H2: Auxiliary function outputs to PLC 8.3 User­defined auxiliary functions User­defined auxiliary functions There are two uses for user-defined auxiliary functions: • Extension of predefined auxiliary functions • User-specific auxiliary functions Extension of predefined auxiliary functions Because there is only one set of machine data for the predefined auxiliary functions, they can only ever be used to address one spindle of the channel.
  • Page 423: Parameter Assignment

    H2: Auxiliary function outputs to PLC 8.3 User­defined auxiliary functions Auxiliary function "spindle right" for the third spindle of the channel: MD22010 $MC_AUXFU_ ASSIGN_TYPE[ m ] = "M" MD22020 $MC_AUXFU_ASSIGN_EXTENSION[ m ] MD22030 $MC_AUXFU_ ASSIGN_VALUE[ m ] User-specific auxiliary functions User-specific auxiliary functions have the following characteristics: •...
  • Page 424: Type, Address Extension And Value

    H2: Auxiliary function outputs to PLC 8.3 User­defined auxiliary functions 8.3.1.3 Type, address extension and value An auxiliary function is programmed via the type, address extension, and value parameters (see "Programming an auxiliary function [Page 431]"). Type The name of an auxiliary function is defined via the "type". The identifiers for user-defined auxiliary functions are: Type Identifier...
  • Page 425: Output Behavior

    H2: Auxiliary function outputs to PLC 8.3 User­defined auxiliary functions All user-specific auxiliary functions with the address extension "= 2" are assigned to the eleventh auxiliary function group. MD22000 $MC_AUXFU_ASSIGN_GROUP [ 2 ] = 11 MD22010 $MC_AUXFU_ ASSIGN_TYPE[ 2 ] = "H"...
  • Page 426: Associated Auxiliary Functions

    H2: Auxiliary function outputs to PLC 8.4 Associated auxiliary functions Associated auxiliary functions Function Associated auxiliary functions are user-defined auxiliary functions that have the same effect as the corresponding predefined auxiliary functions. User-defined auxiliary functions can be associated for the following predefined auxiliary functions: •...
  • Page 427 H2: Auxiliary function outputs to PLC 8.4 Associated auxiliary functions auxiliary function. This means it is possible to distinguish between predefined and user-defined auxiliary functions in the PLC user program. Note A change in machine data MD22254 and/or MD22256 may require corresponding adjustment of the PLC user program: Specific NC/PLC interface signals The following specific NC/PLC interface signals are available:...
  • Page 428: Type-Specific Output Behavior

    H2: Auxiliary function outputs to PLC 8.5 Type-specific output behavior Type-specific output behavior Function The output behavior of auxiliary functions relative to a traversing motions programmed in the parts program block can be defined type-specifically. Parameter assignment Parameters are assigned to type-specific output behavior via the machine data: MD22200 $MC_AUXFU_M_SYNC_TYPE (output time for M functions) MD22210 $MC_AUXFU_S_SYNC_TYPE (output time for S functions) MD22220 $MC_AUXFU_T_SYNC_TYPE (output time for T functions)
  • Page 429 H2: Auxiliary function outputs to PLC 8.5 Type-specific output behavior Parts program block: Program code N10 G01 X100 M07 H5 T5 Time sequence for auxiliary function output: Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 430: Priorities Of The Output Behavior For Which Parameters Have Been Assigned

    H2: Auxiliary function outputs to PLC 8.6 Priorities of the output behavior for which parameters have been assigned Priorities of the output behavior for which parameters have been assigned The following priorities must be observed for the following areas in connection with the parameterized output behavior of an auxiliary function: •...
  • Page 431: Programming An Auxiliary Function

    H2: Auxiliary function outputs to PLC 8.7 Programming an auxiliary function Programming an auxiliary function Syntax An auxiliary function is programmed in a part program block with the following syntax: <Type>[<Address extension>=]<Value> Note If no address extension is programmed, the address extension is implicitly set = 0. Predefined auxiliary functions with the address extension = 0 always refer to the master spindle of the channel.
  • Page 432 H2: Auxiliary function outputs to PLC 8.7 Programming an auxiliary function Program code Comment ; Output to PLC: H0=5 H=5.379 ; Output to PLC: H0=5.379 H17=3.5 ; Output to PLC: H17=3.5 H[coolant]=13.8 ; Output to PLC: H12=13.8 H='HFF13' ; Output to PLC: H0=65299 H='B1110' ;...
  • Page 433: Programmable Output Duration

    H2: Auxiliary function outputs to PLC 8.8 Programmable output duration Programmable output duration Function User-specific auxiliary functions, for which the output behavior "Output duration of an OB1 cycle (slow acknowledgement)" was parameterized, can be defined for individual outputs via the parts program guide QU (Quick) for auxiliary functions with quick acknowledgement.
  • Page 434 H2: Auxiliary function outputs to PLC 8.8 Programmable output duration Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 435: Auxiliary Function Output To The Plc

    H2: Auxiliary function outputs to PLC 8.9 Auxiliary function output to the PLC Auxiliary function output to the PLC Function On output of an auxiliary function to the PLC, the following signals and values are passed to the NC/PLC interface: •...
  • Page 436: Auxiliary Functions Without Block Change Delay

    H2: Auxiliary function outputs to PLC 8.10 Auxiliary functions without block change delay 8.10 Auxiliary functions without block change delay Function For auxiliary functions with parameterized and/or programmed output behavior, too: • "Output duration one OB40 cycle (quick acknowledgment)" • "Output before the motion"...
  • Page 437: M Function With An Implicit Preprocessing Stop

    H2: Auxiliary function outputs to PLC 8.11 M function with an implicit preprocessing stop 8.11 M function with an implicit preprocessing stop Function Triggering a preprocessing stop in conjunction with an auxiliary function can be programmed explicitly via the STOPRE part program command. Always triggering a preprocessing stop in M function programming can be parameterized for each M function via the following machine data: MD10713 $MN_M_NO_FCT_STOPRE[<n>] (M function with preprocessing stop) Example...
  • Page 438: Response To Overstore

    H2: Auxiliary function outputs to PLC 8.12 Response to overstore 8.12 Response to overstore Overstore On the SINUMERIK operator interface, before starting the following functions: • NC START of a part program • NC START to resume an interrupted part program the auxiliary functions that are output at the start can be changed by the "Overstore"...
  • Page 439: Block-Search Response

    H2: Auxiliary function outputs to PLC 8.13 Block-search response 8.13 Block-search response 8.13.1 Auxiliary function output during type 1, 2, and 4 block searches Output behavior In the case of type 1, 2, and 4 block searches, the auxiliary functions are collected on the basis of specific groups.
  • Page 440: Assignment Of An Auxiliary Function To A Number Of Groups

    H2: Auxiliary function outputs to PLC 8.13 Block-search response The user can scan the collected auxiliary functions after a block search and, under certain circumstances, output them again by means of the subprogram or synchronous actions. Note The following auxiliary functions are not collected: •...
  • Page 441 H2: Auxiliary function outputs to PLC 8.13 Block-search response Example The DIN includes the following M-commands for coolant output: • M7: Coolant 2 ON • M8: Coolant 1 ON • M9: Coolants 1 and 2 OFF Consequently, both coolants can also be active together: •...
  • Page 442: Time Stamp Of The Active M Auxiliary Function

    H2: Auxiliary function outputs to PLC 8.13 Block-search response Part program (section): Program code N10 ... M8 N20 ... M9 N30 ... M7 During the block search, the auxiliary function M9 is collected for groups 5 and 6. Scan of the collected M auxiliary functions: M function of the fifth group: $AC_AUXFU_M_VALUE [4] = 7 M function of the sixth group: $AC_AUXFU_M_VALUE [5] = 9 8.13.3...
  • Page 443 H2: Auxiliary function outputs to PLC 8.13 Block-search response The function determines the sequence in which the M auxiliary functions, which have been collected on a group- specific basis, are output for the predefined M codes. The sequence is determined from the collection times $AC_AUXFU_M_TICK[<n>] (see "Time stamp of the active M auxiliary function [Page 442]").
  • Page 444: Output Suppression Of Spindle-Specific Auxiliary Functions

    H2: Auxiliary function outputs to PLC 8.13 Block-search response 8.13.5 Output suppression of spindle-specific auxiliary functions Function In certain situations, such as a tool change, it may be necessary not to output the spindle-specific auxiliary functions collected during the block search in action blocks, but to delay output, for example, until after a tool change.
  • Page 445 H2: Auxiliary function outputs to PLC 8.13 Block-search response DB21, ... DBX32.6 = 1 (last action block active) Note The contents of the system variables $P_S, $P_DIR and $P_SGEAR may be lost after block search due to synchronization operations. More detailed information on ASUB, block search, and action blocks is to be found in: References: Function Manual, Basic Functions;...
  • Page 446 H2: Auxiliary function outputs to PLC 8.13 Block-search response Explanation of example If the number of spindles is known, outputs of the same type can be written in one part program block to reduce program runtime. Output of $P_SEARCH_SDIR should be made in a separate part program block because spindle positioning or switchover to axis mode in conjunction with the gear change can cause an alarm.
  • Page 447: Auxiliary Function Output With A Type 5 Block Search (Serupro)

    H2: Auxiliary function outputs to PLC 8.13 Block-search response 8.13.6 Auxiliary function output with a type 5 block search (SERUPRO) Output behavior In the case of type 5 block searches (SERUPRO), an auxiliary function can be output to the PLC during the block search and/or collected on a group-specific basis in the following system variables: •...
  • Page 448 H2: Auxiliary function outputs to PLC 8.13 Block-search response Output counter The user can output the collected auxiliary functions to the PLC on a channel-by-channel basis in the block search ASUB. For the purposes of serialized output via multiple channels, the three output counters are changed across all the channels each time an auxiliary function is output: $AC_AUXFU_TICK[<n>,<m>] (output counter for the active auxiliary function) <n>:...
  • Page 449 H2: Auxiliary function outputs to PLC 8.13 Block-search response Global list of auxiliary functions At the end of SERUPRO, the auxiliary functions collected on a group-specific basis in the individual channels are entered in a cross-channel (global) list with the channel number ($AN_AUXFU_LIST_CHANNO[<n>]) and group index ($AN_AUXFU_LIST_GROUPINDEX[<n>]) according to their counter state ($AC_AUXFU_TICK[<n>,<m>]).
  • Page 450 H2: Auxiliary function outputs to PLC 8.13 Block-search response Behavior regarding spindle auxiliary functions Following the start of the search, all the channels collect the auxiliary functions in the channel variables on a group-specific basis. In order to perform a far-reaching restoration of the spindle state in the SERUPRO target block using the collected auxiliary functions, the last active auxiliary function in any group of spindle auxiliary functions must characterize the state of the spindle in the target block.
  • Page 451 H2: Auxiliary function outputs to PLC 8.13 Block-search response Note Within the context of the "axis interchange" and "axis container rotation" functions, the auxiliary functions for programming the spindle must always be specified in a way which ensures compatibility with the actual (motor) state during interchange/rotation. A distinction is made here between the axis interchange and axis container mechanisms.
  • Page 452: Asub At The End Of The Serupro

    H2: Auxiliary function outputs to PLC 8.13 Block-search response 8.13.7 ASUB at the end of the SERUPRO Function After completing the block search with the program test (SERUPRO), before starting the subsequent processing, the auxiliary functions collected during the search must be output. For this purpose, during the block search, the auxiliary functions are collected in a global list.
  • Page 453 H2: Auxiliary function outputs to PLC 8.13 Block-search response Further information: If auxiliary functions were collected via a synchronized action, two NC blocks are generated. One NC block to output the auxiliary functions. An executable NC block via which the NC block is transported to the main run to output the auxiliary functions: 1.
  • Page 454 H2: Auxiliary function outputs to PLC 8.13 Block-search response Multi-channel block search CAUTION Multi-channel block search and AUXFUDEL / AUXFUDELG If, for a multi-channel block search in the SERUPRO end ASUBs, auxiliary functions with AUXFUDEL / AUXFUDELG are deleted from the global list of auxiliary functions, before calling the AUXFUSYNC function, the channels involved must be synchronized.
  • Page 455 H2: Auxiliary function outputs to PLC 8.13 Block-search response Program code Comment N320 IF (NUM==-1) All auxiliary functions of the channel have been executed. N340 GOTOF LABEL1 N350 ENDIF N380 WRITE(ERROR,FILENAME,ASSEMBLED) ; Write a part program block to file FILENAME. N390 IF (ERROR<>0) ;...
  • Page 456 H2: Auxiliary function outputs to PLC 8.13 Block-search response Program code Comment N0790 AUXFUDELG(6) Delete the collected auxiliary function of the 6. group. N0800 N0810 IF ISFILE(FILENAME) N0830 DELETE(ERROR,FILENAME) File already exists and must be deleted. N0840 IF (ERROR<>0) N0850 SETAL(61000+ERROR) N0860 ENDIF...
  • Page 457 H2: Auxiliary function outputs to PLC 8.13 Block-search response Program code Comment N1130 N1140 ISIMPL=$AC_AUXFU_SPEC[GROUPINDEX[LAUF]] BAND'H2000' N1150 N1180 IF ISSYNACT Assemble a block for the M auxiliary function output N1190 ASSEMBLED= ASSEMBLED << "WHEN TRUE DO " N1200 ENDIF N1210 ; Implicitly generated M19 is mapped to SPOS[SPI(<spindle no.>)] = IC(0). N1230 IF (ISIMPL AND ($AC_AUXFU_VALUE[GROUPINDEX[LAUF]==19)) N1240...
  • Page 458 H2: Auxiliary function outputs to PLC 8.13 Block-search response Program code Comment N1570 ENDLOOP N1580 N1590 LABEL1: N1600 N1620 CALL FILENAME ; Process a generated subroutine. N1630 N1650 DELETE(ERROR,FILENAME) ; Delete the file again after execution. N1660 IF (ERROR<>0) N1670 SETAL(61000+ERROR) N1680 ENDIF N1690...
  • Page 459: Implicitly Output Auxiliary Functions

    H2: Auxiliary function outputs to PLC 8.14 Implicitly output auxiliary functions 8.14 Implicitly output auxiliary functions Function Implicitly output auxiliary functions are auxiliary functions which have not been programmed explicitly and which are also output by other system functions (e.g. transformation selection, tool selection, etc.). These implicit auxiliary functions do not lead to any system function;...
  • Page 460: Information Options

    H2: Auxiliary function outputs to PLC 8.15 Information options 8.15 Information options Information about auxiliary functions (e.g. about the output status) is possible via: • The group-specific modal M auxiliary function display on the user interface • Querying system variables in part programs and synchronized actions 8.15.1 Group-specific modal M auxiliary function display Function...
  • Page 461: Querying System Variables

    H2: Auxiliary function outputs to PLC 8.15 Information options Status Display mode Auxiliary function is managed by the PLC and has been Black font on gray background directly applied by the PLC. Auxiliary function is managed by the PLC, and the function Black font on gray background acknowledgement has taken place.
  • Page 462 H2: Auxiliary function outputs to PLC 8.15 Information options system variables Meaning $AC_AUXFU_EXT[<n>] <value>: Address extension of the last auxiliary function collected for an auxiliary function group (search) or M function specific: or the last auxiliary function to be output $AC_AUXFU_M_EXT[<n>] <n>: Group index (0 to 63)
  • Page 463 H2: Auxiliary function outputs to PLC 8.15 Information options Example All M-auxiliary functions of the 1st group will be stored in the order they are output id=1 every $AC_AUXFU_M_STATE[0]==2 do $AC_FIFO[0,0]=$AC_AUXFU_M_VALUE[0] References For more information on the system variables, refer to: List Manual, system variables Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 464: Supplementary Conditions

    H2: Auxiliary function outputs to PLC 8.16 Supplementary conditions 8.16 Supplementary conditions 8.16.1 General constraints Spindle replacement Because the auxiliary functions are parameterized channel-specifically, if function: "spindle replacement" is used, the spindle-specific auxiliary function must be parameterized immediately in all channels that use the spindles. Tool management If tool management is active, the following constraints apply: •...
  • Page 465: Output Behavior

    H2: Auxiliary function outputs to PLC 8.16 Supplementary conditions 8.16.2 Output behavior Thread cutting During active thread cutting G33, G34 and G35, the following output behavior is always active for the spindle- specific auxiliary functions: • M3 (spindle right) • M4 (spindle left) •...
  • Page 466 H2: Auxiliary function outputs to PLC 8.16 Supplementary conditions Auxiliary function: M1 (conditional stop) Overlapping of the parameterized output behavior The parameterized output behavior of the auxiliary function M1 is overridden by the output behavior defined in the following machine data: MD20800 $MC_SPF_END_TO_VDI, Bit 1 (subprogram end / stop to PLC) Value Description...
  • Page 467: Examples

    H2: Auxiliary function outputs to PLC 8.17 Examples 8.17 Examples 8.17.1 Extension of predefined auxiliary functions Task Parameter assignment of auxiliary functions M3, M4, and M5 for the second spindle of the channel Parameter assignment: M3 Requirements: • Machine data index: 0 (first user-defined auxiliary function) •...
  • Page 468 H2: Auxiliary function outputs to PLC 8.17 Examples Parameter assignment: MD22000 $MC_AUXFU_ASSIGN_GROUP [ 1 ] MD22010 $MC_AUXFU_ASSIGN_TYPE [ 1 ] = "M" MD22020 $MC_AUXFU_ASSIGN_EXTENSION [ 1 ] = 2 MD22030 $MC_AUXFU_ASSIGN_VALUE [ 1 ] MD22035 $MC_AUXFU_ASSIGN_SPEC [ 1 ] = 'H51' Parameter assignment: M5 Requirements: •...
  • Page 469: Defining Auxiliary Functions

    H2: Auxiliary function outputs to PLC 8.17 Examples 8.17.2 Defining auxiliary functions Task Parameter assignment of the auxiliary function-specific machine data for a machine with the following configuration: Spindles • Spindle 1: Master spindle • Spindle 2: Second spindle Gear stages •...
  • Page 470 H2: Auxiliary function outputs to PLC 8.17 Examples • The gear stage last programmed is to be output after block search. The following auxiliary functions are assigned to the ninth auxiliary function group for this reason: M40, M41, M42, M43, M44, M45 M1=40, M1=41, M1=42, M1=43, M1=44, M1=45 •...
  • Page 471 H2: Auxiliary function outputs to PLC 8.17 Examples Program code Comment $MN_AUXFU_GROUP_SPEC[2]='H22' ; Output behavior of auxiliary function group 3 $MN_AUXFU_GROUP_SPEC[8]='H21' ; Output behavior of auxiliary function group 9 $MC_AUXFU_ASSIGN_TYPE[0]="M" ; Description of auxiliary function 1: M40 $MC_AUXFU_ASSIGN_EXTENSION[0]=0 $MC_AUXFU_ASSIGN_VALUE[0]=40 $MC_AUXFU_ASSIGN_GROUP[0]=9 ;...
  • Page 472 H2: Auxiliary function outputs to PLC 8.17 Examples Program code Comment $MC_AUXFU_ASSIGN_VALUE[15]=70 $MC_AUXFU_ASSIGN_GROUP[15]=10 $MN_AUXFU_GROUP_SPEC[10] = 'H22' ; Specification of auxiliary function group 11 $MC_AUXFU_ASSIGN_TYPE[16] = "S" ; Description of auxiliary function 17: S2=<all values> $MC_AUXFU_ASSIGN_EXTENSION[16]=2 $MC_AUXFU_ASSIGN_VALUE[16]=-1 $MC_AUXFU_ASSIGN_GROUP[16]=11 $MN_AUXFU_GROUP_SPEC[11]='H21' ; Specification of auxiliary function group 12 $MC_AUXFU_ASSIGN_TYPE[17]="M"...
  • Page 473: Data Lists

    H2: Auxiliary function outputs to PLC 8.18 Data lists 8.18 Data lists 8.18.1 Machine data 8.18.1.1 NC-specific machine data Number Identifier: $MN_ Description 10713 M_NO_FCT_STOPRE M function with preprocessing stop 10714 M_NO_FCT_EOP M function for spindle active after NC RESET 10715 M_NO_FCT_CYCLE M function to be replaced by subroutine...
  • Page 474: Signals

    22560 TOOL_CHANGE_M_CODE Auxiliary function for tool change 8.18.2 Signals 8.18.2.1 Signals to channel Signal name SINUMERIK 840D sl SINUMERIK 828D Activate associated M01 DB21, ..DBX30.5 DB3200.DBX14.5 8.18.2.2 Signals from channel Signal name SINUMERIK 840D sl SINUMERIK 828D M function 1 - 5 change DB21, ...
  • Page 475 H2: Auxiliary function outputs to PLC 8.18 Data lists Signal name SINUMERIK 840D sl SINUMERIK 828D Extended address M function 3 (16 bit int) DB21, ..DBB80-81 DB2500.DBB3020 M function 3 (DInt) DB21, ..DBB82-85 DB2500.DBD3016 Extended address M function 4 (16 bit int) DB21, ...
  • Page 476: Signals To Axis/Spindle

    H2: Auxiliary function outputs to PLC 8.18 Data lists Signal name SINUMERIK 840D sl SINUMERIK 828D F function 5 (real) DB21, ..DBB184-187 Extended address F function 6 (16 bit int) DB21, ..DBB188-189 F function 6 (real) DB21, ..DBB190-193 Dynamic M function: M00 - M07 DB21, ...
  • Page 477: K1: Mode Group, Channel, Program Operation, Reset Response

    K1: Mode group, channel, program operation, reset response Product brief Channel An NC channel represents the smallest unit for manual traversing of axes and automatic processing of part programs. At any one time, a channel will always be in a particular mode, e.g. AUTOMATIC, MDI, or JOG. A channel can be regarded as an independent NC.
  • Page 478 K1: Mode group, channel, program operation, reset response 9.1 Product brief • Cascaded block search • Cross-channel block search in "Program test" mode Program operation The execution of part programs or part program blocks in AUTOMATIC or MDI modes is referred to as program operation.
  • Page 479 K1: Mode group, channel, program operation, reset response 9.1 Product brief Behavior after POWER ON, Reset, ... The control-system response after: • Power up (POWER ON) • Reset/part program end • Part program start can be modified for functions, such as G codes, tool length compensation, transformation, coupled axis groupings, tangential follow-up, programmable synchronous spindle for certain system settings through machine data.
  • Page 480: Mode Group (Mg)

    K1: Mode group, channel, program operation, reset response 9.2 Mode group (MG) Mode group (MG) Mode group A mode group combines NC channels with axes and spindles to form a machining unit. A mode group contains the channels that are required to run simultaneously in the same mode from the point of view of the machining sequence.
  • Page 481 K1: Mode group, channel, program operation, reset response 9.2 Mode group (MG) Any axis in the channel can be configured as a spindle. The number of axes per channel depends on the control version. In order to optimize the performance utilization, the available channel and axis configurations are limited depending on the hardware.
  • Page 482: Mode Group Stop

    K1: Mode group, channel, program operation, reset response 9.2 Mode group (MG) Machine data There are no mode group­specific machine data. Channel gaps The channels to which a mode group is assigned with MD10010 are regarded as activated. Instead of a mode group number, the number "0" can be assigned to channels. The result is as follows: •...
  • Page 483: Mode Group Reset

    K1: Mode group, channel, program operation, reset response 9.2 Mode group (MG) 9.2.2 Mode group RESET Function A mode group Reset is requested via a mode group-specific NC/PLC interface signal: DB11 DBX0.7 = 1 (mode group reset) Effect Effect on the channels of mode group: •...
  • Page 484: Mode Types And Mode Type Change

    K1: Mode group, channel, program operation, reset response 9.3 Mode types and mode type change Mode types and mode type change Unique mode The channels of a mode group operate in one mode. A mode group is either in AUTOMATIC, JOG, or MDI mode. Several channels of the same mode group cannot be in different modes at the same time.
  • Page 485 K1: Mode group, channel, program operation, reset response 9.3 Mode types and mode type change Applies to all modes Cross-mode synchronized actions Modal synchronized actions can be executed per IDS in all modes for the following functions in parallel to the channel: •...
  • Page 486 K1: Mode group, channel, program operation, reset response 9.3 Mode types and mode type change Global machine function for mode group After mode selection, a machine function can be selected, which is then valid globally for the whole mode group. Within JOG mode Within JOG mode, one of the following machine functions can be selected: •...
  • Page 487 K1: Mode group, channel, program operation, reset response 9.3 Mode types and mode type change Functions in the modes Modes are supplemented through user­specific functions. These functions are not related to any particular technology or machine. A subset of the available functions can be selected in each mode, depending on the operating state.
  • Page 488 K1: Mode group, channel, program operation, reset response 9.3 Mode types and mode type change 1. Before POWER ON, the following machine data must be set: MD10735 $MN_JOG_MODE_MASK, Bit 0 2. The user switches to AUTO (PLC user interface DB11 DBX0.0 = 0 → 1 edge). “JOG in AUTOMATIC” is then active if the NCK previously had channel status “RESET”...
  • Page 489 K1: Mode group, channel, program operation, reset response 9.3 Mode types and mode type change • The PLC user interface indicates "Automatic" mode: DB11 DBX6.0=1 DB11 DBX6.1=0 DB11 DBX6.2=0 DB11 DBX7.0=0 DB11 DBX7.1=0 DB11 DBX7.2=0 • In “JOG in AUTOMATIC”, the PLC user interface displays whether the mode group is in “Mode group RESET”.
  • Page 490: Monitoring Functions And Interlocks Of The Individual Modes

    K1: Mode group, channel, program operation, reset response 9.3 Mode types and mode type change 9.3.1 Monitoring functions and interlocks of the individual modes Channel status determines monitoring functions Monitoring functions in operating modes Different monitoring functions are active in individual operating modes. These monitoring functions are not related to any particular technology or machine.
  • Page 491 K1: Mode group, channel, program operation, reset response 9.3 Mode types and mode type change Possible mode changes are shown by an "X". Special cases • Errors during mode change If a mode change request is rejected by the system, the error message "Operating mode cannot be changed until after NC Stop"...
  • Page 492: Channel

    K1: Mode group, channel, program operation, reset response 9.4 Channel Channel Assignment part program - channel Part programs are assigned to channels. Part programs of different channels are largely independent of each other. Channel properties A channel constitutes an "NC" in which one part program can be executed at a time. Machine axes, geometry axes and positioning axes are assigned to the channels according to the machine configuration and the current program status (AXIS CHANGE, GEO AXIS CHANGE, SETMS).
  • Page 493 K1: Mode group, channel, program operation, reset response 9.4 Channel Channel configuration Channels can be filled with their own channel name via the following machine data: MD20000 $MC_CHAN_NAME (channel name) The various axes are then assigned to the available channels via machine data. There can be only one setpoint­issuing channel at a time for an axis/spindle.
  • Page 494 K1: Mode group, channel, program operation, reset response 9.4 Channel Channel-specific technology specification The technology used can be specified for each channel: MD27800 $MC_TECHNOLOGY_MODE In the delivery state, machine data are active for milling as standard. Spindle functions using a PLC In addition to function block FC18, spindle functions can also be started and stopped via the axial NC/PLC interface signals in parallel to part programs that are running.
  • Page 495: Global Start Disable For Channel

    K1: Mode group, channel, program operation, reset response 9.4 Channel 9.4.1 Global start disable for channel User/PLC A global Start disable can be set for the selected channel via the HMI or from the PLC. Function When Start disable is set, no new program starts are accepted for the selected channel. Start attempts are counted internally.
  • Page 496: Program Test

    K1: Mode group, channel, program operation, reset response 9.5 Program test Program test Several control functions are available for testing a new part program. These functions are provided to reduce danger at the machine and time required for the test phase. Several program functions can be activated at the same time to achieve a better result.
  • Page 497 K1: Mode group, channel, program operation, reset response 9.5 Program test Program start and program run When the program test function is active, the part program can be started and executed (incl. auxiliary function outputs, wait times, G function outputs etc.) via the interface signal: DB21, ...
  • Page 498: Program Execution In Single­block Mode

    K1: Mode group, channel, program operation, reset response 9.5 Program test 9.5.2 Program execution in single­block mode Function In case of "Program execution in single block mode" the part program execution stops after every program block. If tool cutter radius compensation or a tool nose radius correction is selected, processing stops after every intermediate block inserted by the control.
  • Page 499 K1: Mode group, channel, program operation, reset response 9.5 Program test Selection It is possible to select the single block mode: • via the machine control panel (key "Single Block") • via the user interface For an exact procedure see: References: Operations Manual of the installed HMI Application Activation...
  • Page 500: Program Execution With Dry Run Feedrate

    K1: Mode group, channel, program operation, reset response 9.5 Program test 9.5.3 Program execution with dry run feedrate Function During "Program execution with dry run feedrate" the traversing speeds, which have been programmed together with G01, G02, G03, G33, G34 and G35, are replaced by a parameterized feedrate value: SD42100 $SC_DRY_RUN_FEED (dry run feed rate) The dry run feedrate also replaces the programmed revolutional feedrate in program blocks with G95.
  • Page 501: Skip Part-Program Blocks

    K1: Mode group, channel, program operation, reset response 9.5 Program test Selection This function is selected via the operator interface in the "Program control" menu. The selection sets the following interface signal: DB21, ... DBX24.6 (dry run feed rate selected) This does not activate the function.
  • Page 502 K1: Mode group, channel, program operation, reset response 9.5 Program test Selection This function is selected via the operator interface in the "Program control" menu. The selection sets the following interface signal: DB21, ... DBX26.0 (skip block selected) This does not activate the function. Activation The function is activated via the interface signal: DB21, ...
  • Page 503: Workpiece Simulation

    K1: Mode group, channel, program operation, reset response 9.6 Workpiece simulation Workpiece simulation Function The actual part program is completely calculated in the tool simulation and the result is graphically displayed in the user interface. The result of programming is verified without traversing the machine axes. Incorrectly programmed machining steps are detected at an early stage and incorrect machining on the workpiece prevented.
  • Page 504: Block Search

    K1: Mode group, channel, program operation, reset response 9.7 Block search Block search Function Block search offers the possibility of starting part program execution from almost any part program block. This involves the NC rapidly performing an internal run through the part program (without traversing motions) to the selected target block during block search.
  • Page 505: Sequence For Block Search Of Type 1, 2 And 4

    K1: Mode group, channel, program operation, reset response 9.7 Block search Subsequent actions After completion of a block search, the following subsequent actions may occur: • Type 1 - Type 5: Automatic Start of an ASUB When the last action block is activated, a user program can be started as an ASUB. •...
  • Page 506 K1: Mode group, channel, program operation, reset response 9.7 Block search Interface signals In the PLC, the following interface signals are set according to the time sequence shown in the figure: DB21, ... DBX33.4 (block search active) DB21, ... DBX32.3 (action block active) DB21, ...
  • Page 507: Block Search In Connection With Other Nck Functions

    K1: Mode group, channel, program operation, reset response 9.7 Block search Block search type 4 The approach movement "Search with calculation to block end point" is performed using the type of interpolation valid in the target block. This should be G0 or G1, as appropriate. With other types of interpolation, the approach movement can be aborted with an alarm (e.g.
  • Page 508: Plc Actions After Block Search

    K1: Mode group, channel, program operation, reset response 9.7 Block search Block search type 4 and part program command REPOS After block search type 4 (block search with calculation at block end point) no automatic repositioning is initiated during the following period of time by the part program command REPOS: •...
  • Page 509: Spindle Functions After Block Search

    K1: Mode group, channel, program operation, reset response 9.7 Block search 9.7.2.3 Spindle functions after block search Control system response and output The behavior with regard to the spindle functions after ending the block search can be set via machine data: MD11450 $MN_SEARCH_RUN_MODE, Bit 2 Value Meaning...
  • Page 510: Reading System Variables For A Block Search

    K1: Mode group, channel, program operation, reset response 9.7 Block search • /FB1/Function Manual, Basic Functions; Auxiliary Function Output to PLC (H2), Section: Output suppression of spindle-specific auxiliary functions • /FB1/ Function Manual, Basic Functions; Mode Group, Channel, Program Operation (K1) Section: Program test •...
  • Page 511 K1: Mode group, channel, program operation, reset response 9.7 Block search Behavior when the read-in disable is set Via the following channel-specific machine data it can be set, whether the activated ASUB are processed without interruption despite a set read-in disable (DB21, ... DBX6.1 = 1), or whether the read-in disable is to be made active: MD20107 $MC_PROG_EVENT_IGN_INHIBIT Value...
  • Page 512: Cascaded Block Search

    K1: Mode group, channel, program operation, reset response 9.7 Block search 9.7.4 Cascaded block search Functionality The "Cascaded block search" function can be used to start another block search from the status "Search target found". The cascading can be continued after each located search target as often as you want and is applicable to the following block search functions: •...
  • Page 513 K1: Mode group, channel, program operation, reset response 9.7 Block search Example: Sequence with cascaded block search • RESET • Block search up to search target 1 • Block search up to search target 2 → "Cascaded block search" • NC Start for output of the action blocks →...
  • Page 514: Examples Of Block Search With Calculation

    K1: Mode group, channel, program operation, reset response 9.7 Block search 9.7.5 Examples of block search with calculation Selection From the following examples, select the type of block search that corresponds to your task. Type 4 block search with calculation at block end point Example with automatic tool change after block search with active tool management: 1.
  • Page 515 K1: Mode group, channel, program operation, reset response 9.7 Block search 7. With the PLC signal: DB21... DB32.6 (last action block active) the PLC starts ASUB "BLOCK_SEARCH_END" via FC9. References: /FB1/ Function Manual, Basic Function, Basic PLC Program (P3) 8. After the end of the ASUB (can be evaluated, e.g., via M function M90 to be defined, see example for block N1110), the PLC sets signal: DB21, ...
  • Page 516 K1: Mode group, channel, program operation, reset response 9.7 Block search Tool change point (450,300) Approach movement N260 Approach point Figure 9-5 Approach movement for search to contour (target block N260) Note "Search to block end point" with target block N260 would result in Alarm 14040 (circle end point error).
  • Page 517 K1: Mode group, channel, program operation, reset response 9.7 Block search N310 Z100 D0 ; Deselect length correction End of contour section 2 PROC WZW Tool change routine N500 DEF INT TNR_AKTIV ; Variable for active T number N510 DEF INT TNR_VORWAHL ;...
  • Page 518: Block Search Type 5 Serupro

    K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO Block search Type 5 SERUPRO SERUPRO The "search via program test" is from now on referred to as SERUPRO. This acronym has been derived from "SEarch RUn by PROgram test". Function SERUPRO can be used for a cross-channel block search.
  • Page 519 K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO Supported functions Supported NC functions during SERUPRO: • Gear stage change • Setpoint and actual value linkages for drives such as "master-slave" as well as "electronic gear" and "axial master value coupling"...
  • Page 520 K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO 3. Numerous operator actions are permitted during this phase: Start, Stop Axis replacement Deletion of distance-to-go Mode change, ASUBs, etc. The program and channel statuses of interface signal: DB21, ...
  • Page 521 K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO Boundary conditions for block search SERUPRO The SERUPRO function may only be activated in "AUTOMATIC" mode and may only be aborted in program status (channel status RESET). If in normal mode only the PLC starts commonly several channels, then this can be simulated by SERUPRO in each channel.
  • Page 522 K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO The overrides (channel, axis, spindle) specified via the NC/PLC interface are active during SERUPRO. The overrides (channel, axis, spindle) specified via the NC/PLC interface are not active during SERUPRO.
  • Page 523 K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO For user­defined ASUB after the SERUPRO operation Note If the machine manufacturer decides to start an ASUB after the SERUPRO operation as described in item 7, the following must be observed: Stopped status acc.
  • Page 524: Repos

    K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO Automatic ASUB start The ASUB in path: /_N_CMA_DIR/_N_PROG_EVENT_SPF is started automatically in SERUPRO approach with machine data: MD11450 $MN_SEARCH_RUN_MODE, Bit1 = 1 according to the following sequence: 1.
  • Page 525: Continue Machining After Serupro Search Target Found

    K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO 9.8.1.1 Continue machining after SERUPRO search target found User information regarding the REPOS operation REPOS is generally used to interrupt an ongoing machining operation and to continue machining after the interruption.
  • Page 526 K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO Bit 6 = 1 After SERUPRO, neutral axes and positioning spindles in the approach block are repositioned as command axis. Bit 7 = 1 The level of interface signal: DB31, ...
  • Page 527 K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO A) Start axes individually The REPOS behavior for SERUPRO approach with several axes is selected with: MD11470 $MN_REPOS_MODE_MASK BIT 3 == 1 The NC commences SERUPRO approach with a block that moves all positioning axes to the programmed end and the path axis to the target block.
  • Page 528 K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO Delayed approach of axis with REPOS offset With the axial level-triggered VDI signal axis/spindle (PLC → NCK): DB31, ... DBX10.0 (REPOSDELAY) with the edge of NST: DB21, ...
  • Page 529 K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO Case B: No repositioning block of a currently active REPOS operation is contained in the main run. Each future REPOS operation wishing to reapproach the current main program block is controlled by the level of interface signal: DB21, ...
  • Page 530 K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO Controlling SERUPRO approach with VDI signals The SERUPRO approach can be used with: DB21, ... DBX31.4 (REPOSMODEEDGE) and the associated signals in the following phases: • Between "Search target found"...
  • Page 531 K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO REPOS acknowledgement operations With the channel-specific VDI signal: DB21, ... DBX319.0 (REPOSMODEEDGEACKN) if a "handshake" is established by the interface signal: DB21, ... DBX31.4 (REPOSMODEEDGE) recognized by the NC and acknowledged with DB21, ... DBX319.0 to the PLC. Note If the NCK has not yet acknowledged interface signal: DB21, ...
  • Page 532 K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO Figure 9-6 REPOS sequence in part program with timed acknowledgement signals from NCK NCK sets acknowledgement again Phase with REPOSPATHMODE still active (residual block of the program stopped at →  Time (2) is not yet completely executed).
  • Page 533 K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO Valid REPOS offset When the SERUPRO operation is complete, the user can read out the REPOS offset via the axis/spindle VDI signal (NCK → PLC): DB31, ... DBX70.0 (REPOS offset). The effects of this signal on the relevant axis are as follows: Value 0: No REPOS offset is applied.
  • Page 534: Repositioning On Contour With Controlled Repos

    K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO REPOS offset with synchronized synchronous spindle coupling When repositioning with SERUPRO, processing continues at the point of interruption. If a synchronous spindle coupling was already synchronized, there is no REPOS offset of the following spindle and no synchronization path is present.
  • Page 535 K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO Repositioning with RMN Like RMI, RMB and RME, RMN (REPOS Mode Next) is redefined for SUREPRO approach. After an interruption, RMN is used not to complete an already started repositioning, but to process from the next path point: At the time REPOSA is interpreted, position (B) is referenced in order to find point C at the interruption block with the shortest distance to B.
  • Page 536 K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO DB21, ... DBX31.0-31.2 (REPOSPATHMODE)=1 corresponds to RMB DB21, ... DBX31.0-31.2 (REPOSPATHMODE)=2 corresponds to RMI DB21, ... DBX31.0-31.2 (REPOSPATHMODE)=3 corresponds to RME DB21, ... DBX31.0-31.2 (REPOSPATHMODE)=4 corresponds to RMN With DB21, ...
  • Page 537: Acceleration Measures Via Md

    K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO 9.8.2 Acceleration measures via MD Machine data settings The processing speed of the entire SERUPRO operation can be accelerated using the following machine data. MD22600 $MC_SERUPRO_SPEED_MODE and MD22601 $MC_SERUPRO_SPEED_FACTOR With MD22600 $MC_SERUPRO_SPEED_MODE == 1, the SERUPRO operation will run at the usual "dry run feedrate".
  • Page 538: Serupro Asup

    K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO • G331/G332 causes the spindle to be interpolated as an axis in a path grouping. In the case of tapping, the drilling depth (e.g. axis X) and the pitch and speed (e.g. spindle S) are specified. In the case of DryRun, the velocity of X is specified, the speed remains constant, and the pitch is adjusted.
  • Page 539 K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO Systems with tool management and auxiliary spindle are not supported by SERUPRO! Example Tool change subroutine PROC L6 Tool change routine N500 DEF INT TNR_AKTUELL Variable for active T number N510 DEF INT TNR_VORWAHL Variable for preselected T number Determine current tool...
  • Page 540 K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO N1085 ASUP_ENDE1: N1090 IF TNR_VORWAHL == TNR_SUCHLAUF GOTOF ASUP_ENDE N1100 T = $TC_TP2[TNR_VORWAHL] Restore T preselection by tool name N1110 ASUP_ENDE: N1110 M90 Feedback to PLC N1120 REPOSA ;ASUB end In both of the programs PROC L6 and PROC ASUPWZV2, the tool change is programmed with M206 instead of...
  • Page 541: Self­acting Serupro

    K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO 9.8.4 Self­acting SERUPRO Self­acting SERUPRO The channel-specific function "Self-acting SERUPRO" allows a SERUPRO sequence without having to previously define a search target in a program of the associated SERUPRO channels. In addition, a special channel, the "serurpoMasterChan", can be defined for each "Self-acting SERUPRO".
  • Page 542: Inhibit Specific Part Of The Program In The Part Program For Serupro

    K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO Activation "Self-acting SERUPRO" is activated via the HMI as a block search start for the Type 5 block search for target channel "seruproMasterChan". No search target is specified for dependent channels started from the target channel. 9.8.5 Inhibit specific part of the program in the part program for SERUPRO Programmed interrupt pointer...
  • Page 543 K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO Nesting rules The following features regulate the interaction between NC commands IPTRLOCK and IPTRUNLOCK with nesting and end of subroutine: 1. IPTRLOCK is activated implicitly at the end of the subroutine in which IPTRUNLOCK is called. 2.
  • Page 544 K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO Table 9-2 ; Interpretation of the blocks in an illustrative sequence. ; Subprogram1 is prepared for the block search: N10010 IPTRLOCK() ; Program level 1 N10020 R1 = R1 + 1 N10030 G4 F1...
  • Page 545 K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO Automatic interrupt pointer In certain applications it can be useful to automatically define a prespecified type of coupling as a search- suppressed area. The automatic interrupt pointer function is activated with machine data MD 22680 $MC_AUTO_IPTR_LOCK.
  • Page 546: Special Features In The Part-Program Target Block

    K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO 9.8.6 Special features in the part-program target block 9.8.6.1 STOPRE in the part-program target block STOPRE block The STOPRE block receives all modal settings from the preceding block and can, therefore, apply conditions in advance in relation to the following actions: •...
  • Page 547: Spos In Target Block

    K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO Implicit preprocessing stop Situations in which interpreter issues an implicit preprocessing stop: 1. In all blocks in which one of the following variable access operations occurs: -Programming of a system variable beginning with $A...
  • Page 548: Special Features Of Functions Supported During Serupro

    K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO 9.8.8 Special features of functions supported during SERUPRO SERUPRO supports the following NC functions: • Traversing to fixed stop: FXS and FOC automatically • Force Control •...
  • Page 549: Force Control (Foc)

    K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO 9.8.8.2 Force Control (FOC) System variables $AA_FOC, $VA_FOC The meaning of system variable $AA_FOC is redefined for SERUPRO as follows: • $AA_FOC represents the current status of program simulation. •...
  • Page 550: Couplings And Master-Slave

    K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO 9.8.8.4 Couplings and master-slave Setpoint and actual value couplings The SERUPRO operation is a program simulation in Program Test mode with which setpoint and actual value couplings can be simulated.
  • Page 551 K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO Master-slave During the block search, only the link status should be updated without calculating the associated positions of the coupled axis. A system ASUB can be started automatically after the block search is finished. In this subroutine, the user can control the link status and the associated axis positions subsequently.
  • Page 552 K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO To ensure that the ASUB can be automatically started, the following machine data must be set: MD11602 $MN_ASUB_START_MASK = 'H03' MD11604 $MN_ASUP_START_PRIO_LEVEL = 100 MD11450 $MN_SEARCH_RUN_MODE = 'H02' Coupled axes The following coupled axes links are compatible with the SERUPRO operation: •...
  • Page 553: Axis Functions

    K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO 9.8.8.5 Axis functions SERUPRO conditions The special conditions for SERUPRO must be observed with axis enable, autonomous axis operations, and axis replacement. Axis enable The axial IS DB31, ... DBX3.7 ("Program test axis/spindle enable") controls the axis enables if no closed-loop controller enable is to (or can) be issued at the machine and is active only during the program test or when SERUPRO is active.
  • Page 554: Gear Stage Change

    K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO Example: After SERUPRO, one axis is deliberately moved in the synchronized action via technology cycles. The command axes are always moved in the approach block, never in the target block. The target block can only be changed if all command axes have been moved to the end.
  • Page 555: Repos Offset In The Interface

    K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO 9.8.8.8 REPOS offset in the interface REPOS offset provided or valid When the SERUPRO operation is finished, the user can use the OPI to read off the REPOS offset applied via the REPOS process.
  • Page 556: System Variables And Variables For Serupro Sequence

    K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO 9.8.9 System variables and variables for SERUPRO sequence SERUPRO detection The SERUPRO sequence can be detected using the following system variables: $P_ISTEST is TRUE (valid also for program test) $P_SEARCH is set to 5 (search in extended program test) $AC_ASUP Bit 20 in system ASUB is set after the search target is found (SERUPRO operation step 8.)
  • Page 557: Restrictions

    K1: Mode group, channel, program operation, reset response 9.8 Block search Type 5 SERUPRO Additional variable for interpretation during simulation search In JOG and MDA modes, NC variable "selectedWorkPProg" can be used to select whether the previously selected program or the program to be simulated is to be displayed in the HMI during the simulation, e.g., with SERUPRO.
  • Page 558: Program Operation Mode

    K1: Mode group, channel, program operation, reset response 9.9 Program operation mode Program operation mode PLC, MD, operation The execution of part programs can be controlled via the HMI in many ways using PLC inputs, machine data settings and operator inputs. Definition The execution of part programs or part program blocks in AUTOMATIC or MDA modes is referred to as program operation.
  • Page 559 NCK software. All commands for non-active functions are not recognized and trigger the alarm 12550 "Name not defined or option/function not available". Whether the command in question is generally unavailable in the Siemens NC language or whether this is true only on the corresponding system cannot be distinguished in this scenario.
  • Page 560 K1: Mode group, channel, program operation, reset response 9.9 Program operation mode Whether the current NC language scope of enabled options and active functions is also truly programmable can be checked using the STRINGIS program command, see example. Check sample application for NC language scope on cylinder jacket transformation TRACYL The cylinder jacket transformation is optional and must be enabled beforehand.
  • Page 561: Selection And Start Of Part Program Or Part-Program Block

    K1: Mode group, channel, program operation, reset response 9.9 Program operation mode Dependent on machine data MD10711 $MN_NC_LANGUAGE_CONFIGURATION = (set value) results in the following interpretations of the option and function relative to their programmability 2xx: Table 9-5 Setting options MD10711 = Option Function...
  • Page 562 K1: Mode group, channel, program operation, reset response 9.9 Program operation mode Signals, Alarms Required signal states The part program can now be enabled for execution in the channel with the START command on the condition that certain signal states exist on the machine. The following enable signals are relevant on the VDI interface: •...
  • Page 563: Part-Program Interruption

    K1: Mode group, channel, program operation, reset response 9.9 Program operation mode 9.9.3 Part-program interruption "Interrupted" status Channel status The STOP command is executed only if the channel concerned has the status IS DB21, ... D35.5 ("Channel active"). STOP commands There are various commands that stop the program execution and set the channel status to "interrupted".
  • Page 564: Reset Command

    K1: Mode group, channel, program operation, reset response 9.9 Program operation mode • Repositioning at contour (machine function REPOS) References: /BEM/ Operator's Guide HMI Embedded • Oriented tool retraction References: /PGA/ Programming Manual, Advanced • Interrupt routine (see ) • DRF-Function, Displacement of the workpiece zero References: /FB2/ Function Manual, Extended Functions;...
  • Page 565: Program Status

    K1: Mode group, channel, program operation, reset response 9.9 Program operation mode 9.9.5 Program status Interface information The status of the selected program is displayed in the interface for each channel. The PLC can then trigger certain responses and interlocks configured by the manufacturer depending on the status.
  • Page 566: Channel Status

    K1: Mode group, channel, program operation, reset response 9.9 Program operation mode Table 9-6 Effect on program status IS "Single block" IS "Delete distance­to­go" Auxiliary functions output to PLC but not yet acknowledged Wait instruction in program 9.9.6 Channel status Interface representation The current channel status is displayed in the interface.
  • Page 567: Responses To Operator Or Program Actions

    K1: Mode group, channel, program operation, reset response 9.9 Program operation mode M02/M30 in a block M00/M01 in a block IS "Single block" IS "Delete distance­to­go" Auxiliary functions output to PLC but not yet acknowledged Wait instruction in program 9.9.7 Responses to operator or program actions Status transitions The following table shows the channel and program statuses that result after certain operator and program...
  • Page 568: Part-Program Start

    K1: Mode group, channel, program operation, reset response 9.9 Program operation mode Table 9-7 Responses to operator or program actions Channel Operator or program action (Situation after the Situation Program status Active mode status action) NC Stop (11); at JOG end (11) Reset (4);...
  • Page 569: Example Of Timing Diagram For A Program Run

    K1: Mode group, channel, program operation, reset response 9.9 Program operation mode 9.9.9 Example of timing diagram for a program run Signal sequences Figure 9-8 Examples of signals during a program run Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 570: Program Jumps

    K1: Mode group, channel, program operation, reset response 9.9 Program operation mode 9.9.10 Program jumps 9.9.10.1 Jump back to start of program Function With the function "Jump back to start of the program" the control jumps back from a part program to the beginning of the program.
  • Page 571 K1: Mode group, channel, program operation, reset response 9.9 Program operation mode Note In order that the setting of bit 8 can become effective, the measurement of the current program runtime must be active (MD27860 bit 1 = 1). Workpiece count After the part program end (M02 / M30) has been attained, the activated workpiece counters ($AC_TOTAL_PARTS / $AC_ACTUAL_PARTS / $AC_SPECIAL_PARTS) are incremented by "1"...
  • Page 572: Program Section Repetitions

    K1: Mode group, channel, program operation, reset response 9.9 Program operation mode 9.9.11 Program section repetitions 9.9.11.1 Overview Function The program section repetition allows the repetition of any labeled section of a part program. For more information on labels, please see: References: /PG/ Programming Manual Fundamentals;...
  • Page 573: A Part Program Section After A Start Label

    K1: Mode group, channel, program operation, reset response 9.9 Program operation mode Note Label search direction The part program block identified by the label can appear before or after the REPEATB statement. The search initially commences toward the start of the program. If the label is not found, a search is made in the direction of the program end.
  • Page 574: A Part Program Section Between A Start Label And End Label

    K1: Mode group, channel, program operation, reset response 9.9 Program operation mode Programming Syntax: REPEAT <Label> [P=n] Start label to which the instruction: REPEAT branches Labe Type: String Number of repetitions Number of repetitions ?{}? Type: Integer 9.9.11.4 A part program section between a start label and end label Functionality Via REPEAT in part program block N160, the part program processing branches to the part program block N120 that is labeled START_1 with a start label.
  • Page 575: A Part Program Section Between A Start Label And The Key Word: Endlabel

    K1: Mode group, channel, program operation, reset response 9.9 Program operation mode Programming Syntax: REPEAT <Start_Label> <End_Label> [P=n] Start label to which the instruction: REPEAT branches. Start_Labe Beginning of the part program section that is repeated. Type: String End of the part program section that is repeated. End_Label Type: String Number of repetitions...
  • Page 576: Event­driven Program Calls

    K1: Mode group, channel, program operation, reset response 9.9 Program operation mode Programming Syntax: REPEAT <Label> [P=n] Start label to which the instruction: REPEAT branches. Label Beginning of the part program section that is repeated. Type: String Number of repetitions Number of repetitions Type: Integer 9.9.12...
  • Page 577 K1: Mode group, channel, program operation, reset response 9.9 Program operation mode Processing sequence Sequence during activation through part program start Initial state: Channel: in the Reset-state Mode: AUTO AUTO + overstoring or MDA TEACHIN 1. NC Start 2. Initialization sequence with evaluation of: MD20112 $MC_START_MODE_MASK (Definition of the control default settings in case of NC START) 3.
  • Page 578 K1: Mode group, channel, program operation, reset response 9.9 Program operation mode Sequence during activation through operator panel reset Initial state: Channel: Mode: 1. Control activates reset-sequence with evaluation of machine data: MD $MC_RESET_MODE_MASK $MC_GCODE_RESET_VALUES $MC_GCODE_RESET_MODE 2. Implicit call of _N_PROG_EVENT_SPF as ASUB 3.
  • Page 579 K1: Mode group, channel, program operation, reset response 9.9 Program operation mode Sequence during activation through power-up 1. Control activates after power-up reset-sequence with evaluation of machine data: MD $MC_RESET_MODE_MASK $MC_GCODE_RESET_VALUES $MC_GCODE_RESET_MODE 2. Implicit call of _N_PROG_EVENT_SPF as ASUB 3. Control activates reset-sequence with evaluation of machine data: $MC_RESET_MODE_MASK $MC_GCODE_RESET_VALUES $MC_GCODE_RESET_MODE...
  • Page 580 K1: Mode group, channel, program operation, reset response 9.9 Program operation mode Figure 9-10 Signal chart during activation through operator panel reset Note DB21, ... DBX35.4 ("Program status aborted") and DB21, ... DBX35.7 ("Channel status reset") are only received if event-driven use program is complete. Between program end and the start of the event-driven application program these states are not imported.
  • Page 581: Parameter Assignment

    K1: Mode group, channel, program operation, reset response 9.9 Program operation mode 9.9.12.2 Parameter assignment Triggering event Which events the application program should activate, is set channel-specific in the machine data: MD20108 $MC_PROG_EVENT_MASK (event-controlled program call) Value Description Activation through part program start Activation through part program end Activation through Operator panel reset Activation through Power up of the NC control...
  • Page 582 K1: Mode group, channel, program operation, reset response 9.9 Program operation mode Behavior when starting a user ASUB The behavior of the function "event-driven program call" upon start of a user ASUB from the channel statu reset can be set channel-specific with the machine data: MD20109 $MC_PROG_EVENT_MASK_PROPERTIES Value Description...
  • Page 583 K1: Mode group, channel, program operation, reset response 9.9 Program operation mode Behavior when the read-in disable is set The behavior of the function "event-driven program call" in case of set read-in disable (DB21, ... DBX6.1 = 1) can be set channel-specific with the machine data: MD20107 $MC_PROG_EVENT_IGN_INHIBIT Value Description...
  • Page 584 K1: Mode group, channel, program operation, reset response 9.9 Program operation mode Value Description • upon an activation through operator panel reset: is not suppressed. suppressed. • upon an activation through power-up is not suppressed. suppressed. Note The system variables $AC_STAT and $AC_PROG are not affected by this function, i.e. in the running event-driven user program $AC_STAT is set to "active"...
  • Page 585: Programming

    K1: Mode group, channel, program operation, reset response 9.9 Program operation mode 9.9.12.3 Programming User program End of program The following must be kept in mind, if the user program is to be activated through the part program start. • The user program must be ended with M17 or RET.
  • Page 586: Boundary Conditions

    K1: Mode group, channel, program operation, reset response 9.9 Program operation mode 9.9.12.4 Boundary conditions Emergency stop / error message If an error is present when the operator panel is reset or after power­up EMERGENCY STOP or Mode group/ NCK­Continue, then the event-driven user program will only be processed after EMERGENCY STOP or the error has been acknowledged in all channels.
  • Page 587 K1: Mode group, channel, program operation, reset response 9.9 Program operation mode Program code Comment ENDIF ENDIF Example 2: Call through Operator panel reset Parameter assignment: MD20108 $MC_PROG_EVENT_MASK = 'H04' Call of _N_PROG_EVENT_SPF for: • Operator panel reset Programming: Program code Comment PROC PROG_EVENT DISPLOF N10 DRFOF...
  • Page 588: Influencing The Stop Events Through Stop Delay Area

    K1: Mode group, channel, program operation, reset response 9.9 Program operation mode 9.9.13 Influencing the Stop events through Stop delay area Stop Delay Area The reaction to a stop event can be influenced by conditioned interruptible area in the current part program. Such a program area is called stop delay area.
  • Page 589 K1: Mode group, channel, program operation, reset response 9.9 Program operation mode NCK events Response Stop criteria PROGMODESLASHON delayed IS: DB21, ... DBB26 Activate/switch over skip block PROGMODESLASHOFF delayed IS: DB21, ... DBB26 deactivate skip block PROGMODEDRYRUNON delayed IS: DB21, ... DBX0.6 Activate DryRun PROGMODEDRYRUNOFF delayed IS: DB21, ...
  • Page 590 K1: Mode group, channel, program operation, reset response 9.9 Program operation mode Stop criteria A stop event can be triggered by the following • VDI interface signals from the PLC → "Hard" stop event • Alarms with NOREADY response → "Hard" stop event •...
  • Page 591: Asynchronous Subroutines (Asubs), Interrupt Routines

    K1: Mode group, channel, program operation, reset response 9.10 Asynchronous subroutines (ASUBs), interrupt routines 9.10 Asynchronous subroutines (ASUBs), interrupt routines 9.10.1 Function 9.10.1.1 General functionality Note The terms "asynchronous subroutines (ASUB)" and "interrupt routines" used alternatively in the description below refer to the same functionality. interrupt routines Interrupt routines are normal part programs, which are started by interrupt events (interrupt inputs, process or machine status) related to the machining process or the relevant machine status.
  • Page 592 K1: Mode group, channel, program operation, reset response 9.10 Asynchronous subroutines (ASUBs), interrupt routines Interrupt signals • A total of 8 interrupt signals (inputs) are available. • All inputs can be controlled via the PLC. • The first four interrupt signals are also controlled via the 4 rapid NC inputs of the NCU module. •...
  • Page 593: Sequence Of An Interrupt Routine In Program Operation

    K1: Mode group, channel, program operation, reset response 9.10 Asynchronous subroutines (ASUBs), interrupt routines Activating The activation of an interrupt routine can be done: • By a 0/1 transition of the interrupt signal, triggered by a 0/1 transition at the rapid NC input •...
  • Page 594: Interrupt Routine With Reposa

    K1: Mode group, channel, program operation, reset response 9.10 Asynchronous subroutines (ASUBs), interrupt routines End of interrupt routine After the end identifier (M02, M30 M17) of the Interrupt routine has been processed, the axis traverses by default to the end position programmed in the part program block following the interruption block. A REPOS instruction must have been programmed at the end of the interrupt routine if return positioning to the point of interruption is required, e.g.
  • Page 595: Nc Response

    K1: Mode group, channel, program operation, reset response 9.10 Asynchronous subroutines (ASUBs), interrupt routines 9.10.1.4 NC response The different reactions of the control to an activated interrupt routine in the various operating states are given in the following table: Status of NC ASUB start Control system reaction Program is active...
  • Page 596: Parameter Assignment

    K1: Mode group, channel, program operation, reset response 9.10 Asynchronous subroutines (ASUBs), interrupt routines 9.10.2 Parameter assignment Effect of mode group signals The effect of the mode group signals (mode group reset, mode group Stop axes plus spindle, mode change disable, ...) on channels of mode group, which are currently processing the interrupt routines, is set in the machine data: MD11600 $MN_BAG_MASK...
  • Page 597 K1: Mode group, channel, program operation, reset response 9.10 Asynchronous subroutines (ASUBs), interrupt routines Value Description Stop reason: Not all axes are referenced yet Stop reason prevented ASUB start. ASUB start also permitted, if all axes are not yet referenced. Stop reason: Read­in disable is active The ASUB is selected internally, but processed only when the read-in disable is cancelled.
  • Page 598 K1: Mode group, channel, program operation, reset response 9.10 Asynchronous subroutines (ASUBs), interrupt routines Application example: In case of a single-slide turning machine a stock removal cycle is started as ASUB in the mode type JOG and with this a shaft several meters long is processed. During processing it is necessary to change the cutting edge of the tool.
  • Page 599 K1: Mode group, channel, program operation, reset response 9.10 Asynchronous subroutines (ASUBs), interrupt routines Note The settings in MD20116 $MC_IGNORE_INHIBIT_ASUP are ineffective, if the read-in disable in the interrupt routines is ignored through the following configuration: MD11602 $MN_ASUP_START_MASK (ignore stop conditions for ASUB) Bit 2 = 1 Behavior when the single block processing is set Via the following channel-specific machine data it can be set for each interrupt signal, whether the assigned interrupt routines are processed without interruption despite a set single block processing or whether the single...
  • Page 600 K1: Mode group, channel, program operation, reset response 9.10 Asynchronous subroutines (ASUBs), interrupt routines Suppress updating of the display of the program and channel statuses. In order to avoid a flickering of the display of the program and the channel statuses in the operator panel, the updating of the display can be suppressed for the execution of the normally very brief interrupt routines.
  • Page 601: Programming

    K1: Mode group, channel, program operation, reset response 9.10 Asynchronous subroutines (ASUBs), interrupt routines 9.10.3 Programming Assignment Interrupt signal ↔ part program The assignment interrupt signal  ↔  part program is done with the command SETINT. Example Program code Comment N20 SETINT(3) ABHEBEN_Z ;...
  • Page 602 K1: Mode group, channel, program operation, reset response 9.10 Asynchronous subroutines (ASUBs), interrupt routines REPOS-query Interrupt routines sequences may be generated for which there is no unambiguous return to an interruption point in the block processing sequence (REPOS). The system variable $P_REPINF can be used to scan the ASUB to determine whether a REPOS is possible. Value Description Repositioning with REPOS not possible because:...
  • Page 603: Restrictions

    K1: Mode group, channel, program operation, reset response 9.10 Asynchronous subroutines (ASUBs), interrupt routines 9.10.4 Restrictions Cross-mode Start of interrupt routines Requirements: • Option: Cross-mode actions • MD11602 $MN_ASUP_START_MASK, at least Bit 0 = 1 For error-free execution of the function, the following settings in particular must be noted: •...
  • Page 604: User-Specific Asub For Ret And Repos

    REPOS functions. They can be replaced by user-specific ASUBs written by the machine tool manufacturer. DANGER The machine manufacturer is responsible for the contents of ASUB routines used to replace ASUP.SYF supplied by Siemens. Installation In the manufacturer directory _N_CMA_DIR or in the user directory _N_CUS_DIR a routine with the name "_N_ASUP_SPF"...
  • Page 605: Programming

    K1: Mode group, channel, program operation, reset response 9.11 User-specific ASUB for RET and REPOS Defining a level of protection If a user-specific ASUB is to be used for RET and/or REPOS, i.e. when: MD11610 $MN_ASUP_EDITABLE ≠ 0 then a level of protection can be defined for the user-specific routine "_N_ASUP_SPF". The level of protection can have values in the range 0 - 7.
  • Page 606 K1: Mode group, channel, program operation, reset response 9.11 User-specific ASUB for RET and REPOS Description User interrupt "ASUB from channel status Ready" Continuation: Freely selectable REORG or RET User interrupt "ASUB in a manual mode and in channel status not Ready" Continuation: Freely selectable REORG or RET User interrupt "ASUP";...
  • Page 607: Single Block

    K1: Mode group, channel, program operation, reset response 9.12 Single block 9.12 Single block Block-by-block processing With the single-block function, the user can execute a part program block-by-block. Single-block types There are 3 types of setting for the single-block function: •...
  • Page 608: Decoding Single Block Sbl2 With Implicit Preprocessing Stop

    K1: Mode group, channel, program operation, reset response 9.12 Single block 9.12.1 Decoding single block SBL2 with implicit preprocessing stop Asynchronicity As a result of preprocessing of part program blocks, the reference between the current block display relative to the main run status of the NCK and the variable values displayed on the HMI can be lost. The operator display then shows implausible variable values.
  • Page 609 K1: Mode group, channel, program operation, reset response 9.12 Single block SBLOF in the program SBLOF alone must remain in the block. Single-block stop is deactivated from this block onwards up to the next programmedSBLON or up to the end of the active subroutine level. If SBLOF is active, then this definition is also valid in the called subroutines.
  • Page 610 K1: Mode group, channel, program operation, reset response 9.12 Single block Cycle Example 1:A cycle is to act like a command for a user. Main program: N10 G1 X10 G90 F200 N20 X-4 Y6 N30 CYCLE1 N40 G1 X0 N50 M30 Program cycle:1 N100 PROC CYCLE1 DISPLOF SBLOF ;...
  • Page 611: Single Block Stop: Inhibit According To Situation

    K1: Mode group, channel, program operation, reset response 9.12 Single block 9.12.3 Single block stop: inhibit according to situation Suppress stopping in single cases Depending on MD10702 $MN_IGNORE_SINGLEBLOCK_MASK (Prevent single block stop) setting bits 0 to 12 = 1 can suppress stopping at the end of the block during the following machining processes. Program execution must not stop after single blocks in the case of the following even if block-by-block processing is selected: 1.
  • Page 612: Single-Block Behavior In Mode Group With Type A/B

    K1: Mode group, channel, program operation, reset response 9.12 Single block Boundary conditions The following restriction applies to decoding single block SBL2: • Block search approach blocks • Block not in ASUB; DISPLOF, SBLOF • Non-reorganizable and non-repositionable blocks • Blocks that are not generated in the interpreter, e.g., intermediate blocks 9.12.4 Single-block behavior in mode group with type A/B...
  • Page 613 K1: Mode group, channel, program operation, reset response 9.12 Single block Type A, NST DB11, … DBX1.7=1 (single block type A) - all channels are stopped. - All channels receive a start (Start key). - Channel KS stops at the end of the block (due to single-block) - Channels KA receive a STOP.
  • Page 614: Program Control

    K1: Mode group, channel, program operation, reset response 9.13 Program control 9.13 Program control Options 1. Function selection (via operator interface or PLC) 2. Activation of skip levels 3. Adapting the size of the interpolation buffer 4. Program display modes via an additional basic block display 5.
  • Page 615: Activation Of Skip Levels

    K1: Mode group, channel, program operation, reset response 9.13 Program control Table 9-9 Program control: Interface signals Function Selection signal Activation signal Feedback signal DRF selection DB21, ... DBX24.3 DB21, ... DBX0.3 DB21, ... DBX33.3 PRT program test DB21, ... DBX25.7 DB21, ...
  • Page 616: Adapting The Size Of The Interpolation Buffer

    K1: Mode group, channel, program operation, reset response 9.13 Program control Activation The 10 skip levels "/0" to "/9" are activated by the PLC setting the PLC  →  NCK interface signals. The function is activated from the HMI via the "Program control" menu in the "Machine" operating area: •...
  • Page 617 K1: Mode group, channel, program operation, reset response 9.13 Program control Note If SD42990 $SC_MAX_BLOCKS_IN_IPOBUFFER is set in the part program, the interpolation buffer limitation takes effect immediately if the block with the SD is being preprocessed by the interpreter. This means that the limitation of the IPO buffer may take effect a few blocks before the intended limitation (see also MD 28070 $MC_MM_NUM_BLOCKS_IN_PREP).
  • Page 618: Program Display Modes Via An Additional Basic Block Display

    K1: Mode group, channel, program operation, reset response 9.13 Program control 9.13.4 Program display modes via an additional basic block display Basic block display (only for ShopMill/ShopTurn) A second so­called basic block display can be used with the existing block display to show all blocks that produce an action on the machine.
  • Page 619: Basic Block Display For Shopmill/Shopturn

    K1: Mode group, channel, program operation, reset response 9.13 Program control 9.13.5 Basic block display for ShopMill/ShopTurn Configure basic block display The basic block display can be configured via the following machine data: NCK machine data for basic block display Significance: MD28400 $MC_MM_ABSBLOCK Activate basic block display...
  • Page 620 K1: Mode group, channel, program operation, reset response 9.13 Program control Additional boundary conditions for the basic block display: • Modal synchronized action blocks with absolute values are not taken into account. • The basic block display is deactivated during block search with or without computation. •...
  • Page 621: Structure For A Din Block

    K1: Mode group, channel, program operation, reset response 9.13 Program control 9.13.6 Structure for a DIN block Structure of display block for a DIN block Basic structure of display block for a DIN block • Block number/label • G-functions of the first G-group (only if changed as compared to the last machine function block).
  • Page 622 K1: Mode group, channel, program operation, reset response 9.13 Program control Examples Comparisons between display block (original block) and basic block display: • Programmed positions are displayed as absolute. The addresses AP/RP are displayed with their programmed values. Original block: Display block: N10 G90 X10.123 N10 X10.123...
  • Page 623 K1: Mode group, channel, program operation, reset response 9.13 Program control • Modal G codes that do not generate an executable block are collected and output with the display block of the next executable block if permitted by the syntax (DIN block). If this is not the case (e.g. predefined subroutine call TRANSMIT), a separate display block containing the modified G codes is placed in front of the next executable block.
  • Page 624: Execution From External

    K1: Mode group, channel, program operation, reset response 9.13 Program control 9.13.7 Execution from external Function The "Execution from external" function can be used to execute programs that cannot be saved directly in the NC memory due to memory shortage from an external program memory. Note Protected cycles (_CPF files) cannot be processed with this function.
  • Page 625: Execution From External Subroutines

    K1: Mode group, channel, program operation, reset response 9.13 Program control Number of the FIFO buffer One FIFO buffer must be provided each for all programs (main run or subroutine) that are executed simultaneously in the "Execution from external source" mode. The number of the FIFO buffer is set in the machine data: MD18362 $MN_MM_EXT_PROG_NUM (number of externally executed program levels executable simultaneously)
  • Page 626 K1: Mode group, channel, program operation, reset response 9.13 Program control Programming An external subroutine is called by means of parts program command EXTCALL. Syntax: EXTCALL("<path/><program name>") Parameter: Absolute or relative path data (optional) <path>: Type: STRING The program name is specified without prefix "_N_". <program name>: The file extension ("MPF", "SPF") can be attached to program names using the "_"...
  • Page 627 K1: Mode group, channel, program operation, reset response 9.13 Program control Example Execute from local drive Main program: Program code N010 PROC MAIN N020 ... N030 EXTCALL ("ROUGHING") N040 ... N050 M30 External subprogram: Program code N010 PROC ROUGHING N020 G1 F1000 N030 X= ...
  • Page 628: System Settings For Power-Up, Reset/Part-Program End And Part-Program Start

    K1: Mode group, channel, program operation, reset response 9.14 System settings for power-up, RESET/part-program end and part-program start 9.14 System settings for power-up, RESET/part-program end and part- program start Concept The control-system response after: • Power up (POWER ON) • Reset/part program end •...
  • Page 629 K1: Mode group, channel, program operation, reset response 9.14 System settings for power-up, RESET/part-program end System settings after power-up MD20110 $MC_RESET_MODE_MASK, bit 0 = 0 or 1 Figure 9-14 System settings after power-up Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 630 K1: Mode group, channel, program operation, reset response 9.14 System settings for power-up, RESET/part-program end and part-program start System settings after RESET/part program end and part program start MD20110 $MC_RESET_MODE_MASK, bit 0 = 0 or 1 Figure 9-15 System settings after RESET/part program end and part program start Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 631 K1: Mode group, channel, program operation, reset response 9.14 System settings for power-up, RESET/part-program end MD20152 $MC_GCODE_RESET_MODE Each G code group controlled in MD20150 $MC_GCODE_RESET_VALUES[i] can be selectively controlled with MD20152 $MC_GCODE_RESET_MODE[i]. MD20152 $MC_GCODE_RESET_MODE[i] (i = G code group -1) MD20150 $MC_GCODE_RESET_VALUES[i] The value stored in The last active/...
  • Page 632 K1: Mode group, channel, program operation, reset response 9.14 System settings for power-up, RESET/part-program end and part-program start Machine data Meaning MD20144 $MC_TRAFO_MODE_MASK Selection of the kinematic transformation function Setting bit 1 causes the last active transformation to be retained on POWER ON. MD20150 $MC_GCODE_RESET_VALUES Initial setting of the G groups MD20152 $MC_GCODE_RESET_MODE...
  • Page 633: Tool Withdrawal After Power Off With Orientation Transformation

    K1: Mode group, channel, program operation, reset response 9.14 System settings for power-up, RESET/part-program end 9.14.1 Tool withdrawal after POWER OFF with orientation transformation Function If processing with tool orientation is interrupted (e.g. as a result of power failure), the transformation which was previously active can be reselected after POWER ON to generate a frame towards the tool axis.
  • Page 634 K1: Mode group, channel, program operation, reset response 9.14 System settings for power-up, RESET/part-program end and part-program start Example Orientation transformation and orientation axes with incremental encoders. Configuration: Meaning: MD10720 $MN_OPERATING_MODE_DEFAULT [ 0 ] = 6 Power-up in JOG mode MD30240 $MA_ENC_TYPE [ 0, <axis>] = 1 Incremental measuring system MD34210 $MA_ENC_REFP_STATE [ 0, <axis>] = 3...
  • Page 635 K1: Mode group, channel, program operation, reset response 9.14 System settings for power-up, RESET/part-program end Boundary conditions Retracting the tool in JOG mode Once the tool has been retracted in the JOG mode, axes whose positions have been restored are referenced. For further details, see also machine data: •...
  • Page 636: Replacing Functions By Subprograms

    K1: Mode group, channel, program operation, reset response 9.15 Replacing functions by subprograms 9.15 Replacing functions by subprograms 9.15.1 Overview Function User-specific auxiliary functions (e.g. M101) do not trigger any system functions. They are only output to the NC/ PLC interface. The functionality of the auxiliary function must be implemented by the user/machine manufacturer in the PLC user program.
  • Page 637: Replacement Of M, T/Tca And D/Dl Functions

    K1: Mode group, channel, program operation, reset response 9.15 Replacing functions by subprograms 9.15.2 Replacement of M, T/TCA and D/DL functions 9.15.2.1 Replacement of M functions General Information The following conditions are applicable for replacing the M functions: • Per block only one M function is replaced. •...
  • Page 638 K1: Mode group, channel, program operation, reset response 9.15 Replacing functions by subprograms • MD10718 $MC_ M_NO_FCT_CYCLE_PAR = <Index> Note For an M function replacement with transfer of information via system variable, the address extension and function value of the M function must be programmed as constant values.
  • Page 639: Replacing T/Tca And D/Dl Functions

    K1: Mode group, channel, program operation, reset response 9.15 Replacing functions by subprograms Machine data Meaning MD20095 $MC_EXTERN_RIGID_TAPPING_M_NR M function for switchover to controlled axis mode (external mode) MD22254 $MC_AUXFU_ASSOC_M0_VALUE Additional M function for program stop MD22256 $MC_AUXFU_ASSOC_M1_VALUE Additional M function for conditional stop MD26008 $MC_NIBBLE_PUNCH_CODE Definition of M functions (for nibble-...
  • Page 640 K1: Mode group, channel, program operation, reset response 9.15 Replacing functions by subprograms Parameterization: Behavior regarding D or DL function with simultaneous T function When D or DL and T functions are simultaneously programmed in a block, the D or DL number is either transferred as parameter to the replacement subprogram or the D or DL function is executed before calling the replacement subprogram.
  • Page 641: System Variable

    K1: Mode group, channel, program operation, reset response 9.15 Replacing functions by subprograms Example: Replacement of the T function Parameterization Meaning MD22550 $MC_TOOL_CHANGE_MODE = 0 Tool change with T function MD10717 $MN_T_NO_FCT_CYCLE_NAME = "MY_T_CYCLE" Name of the subprogram to replace the T function MD10719 $MN_T_NO_FCT_CYCLE_MODE = 0 Call time: End of block Programming...
  • Page 642 K1: Mode group, channel, program operation, reset response 9.15 Replacing functions by subprograms System variables System variable Meaning $C_M_PROG TRUE, if the M function has been programmed $C_M For $C_M_PROG == TRUE, contains the value of address M We must differentiate between two cases here: •...
  • Page 643: Example: Replacement Of An M Function

    K1: Mode group, channel, program operation, reset response 9.15 Replacing functions by subprograms 9.15.2.4 Example: Replacement of an M function Example 1 The function M6 is replaced by calling the subprogram "SUB_M6". The information relevant for a tool change should be transferred using system variables. Parameterization Machine data Meaning...
  • Page 644 K1: Mode group, channel, program operation, reset response 9.15 Replacing functions by subprograms Example 2 The new tool is prepared for changing with the T function. The tool change is only realized with function M6. The T function is replaced by calling the subprogram "MY_T_CYCLE". The D / DL number is transferred to the subprogram.
  • Page 645: Example: Replacement Of A T And D Function

    K1: Mode group, channel, program operation, reset response 9.15 Replacing functions by subprograms Example 4 The functions T and M6 are replaced by the subprogram "MY_T_CYCLE". The parameters are transferred to the subprogram when replacing M6. If M6 is programmed together with D or DL in the block, the D or the DL number is also transferred as parameter to the subprogram if no transfer of the D/DL number has been parameterized: MD10719 $MN_T_NO_FCT_CYCLE_MODE = 1 Parameterization...
  • Page 646 K1: Mode group, channel, program operation, reset response 9.15 Replacing functions by subprograms MD10717 $MN_T_NO_FCT_CYCLE_NAME = "D_T_SUB_PROG" Replacement subprogram for M function MD10719 $MN_T_NO_FCT_CYCLE_MODE = 'H2' Call at block start MD22550 $MC_TOOL_CHANGE_MODE = 0 Tool change with T function Main program Programming Comment PROC MAIN...
  • Page 647: Behavior In The Event Of A Conflict

    K1: Mode group, channel, program operation, reset response 9.15 Replacing functions by subprograms 9.15.2.6 Behavior in the event of a conflict Conflict case A conflict is present if several functions are programmed in one block and the functions should be replaced with different subprograms: •...
  • Page 648: Replacement Of Spindle Functions

    K1: Mode group, channel, program operation, reset response 9.15 Replacing functions by subprograms 9.15.3 Replacement of spindle functions 9.15.3.1 General Function When a coupling is active the following spindle functions can be replaced for leading spindles: • M40: Automatic gear stage change •...
  • Page 649 Value Meaning Manufacturer cycle folder: /_N_CMA_DIR User cycle folder: /_N_CUS_DIR Siemens cycle folder: /_N_CST_DIR System variable: Time that the replacement subprogram is called The time that the replacement subprogram is called can be read using the system variable $P_SUB_STAT: Value...
  • Page 650: Replacement Of M40 - M45 (Gear Stage Change)

    K1: Mode group, channel, program operation, reset response 9.15 Replacing functions by subprograms 9.15.3.2 Replacement of M40 - M45 (gear stage change) Function When a coupling is active, the commands for gear stage change (M40, M41 ... M45) of the leading spindle are replaced by calling a user-specific subprogram.
  • Page 651: Replacement Of Spos, Sposa, M19 (Spindle Positioning)

    K1: Mode group, channel, program operation, reset response 9.15 Replacing functions by subprograms 9.15.3.3 Replacement of SPOS, SPOSA, M19 (spindle positioning) Function When a coupling is active, the positioning commands (SPOS, SPOSA or M19) of a leading spindle are replaced by calling a user-specific subprogram (replacement subprogram).
  • Page 652: System Variable

    K1: Mode group, channel, program operation, reset response 9.15 Replacing functions by subprograms 9.15.3.4 System variable System variable Meaning $P_SUB_AXFCT TRUE, if M40, M41 ... M45 replacement is active $P_SUB_GEAR Programmed or calculated gear stage Outside the replacement subprogram: Gear stage of the master spindle $P_SUB_AUTOGEAR TRUE, if M40 was active in the block that had initiated the replacement operation.
  • Page 653: Example: Gear Stage Change

    K1: Mode group, channel, program operation, reset response 9.15 Replacing functions by subprograms 9.15.3.5 Example: Gear stage change In the subprogram, all commands to change the gear stage M40, M41 ... M45 are replaced. Parameterization Machine data Meaning MD15700 $MN_LANG_SUB_NAME = "LANG_SUB" Subprogram MD15702 $MN_LANG_SUB_PATH = 0 Manufacturer's folder...
  • Page 654 K1: Mode group, channel, program operation, reset response 9.15 Replacing functions by subprograms Replacement subprogram "LANG_SUB", version 1 Optimized for simplicity and velocity by directly addressing the spindles (S1: Leading spindle, S2: Following spindle). Programming Comment N1000 PROC LANG_SUB DISPLOF SBLOF N1100 IF($P_SUB_AXFCT ==1) ;...
  • Page 655: Example: Spindle Positioning

    K1: Mode group, channel, program operation, reset response 9.15 Replacing functions by subprograms 9.15.3.6 Example: Spindle positioning In the subprogram, only the replacement of commands SPOS and SPOSA is explicitly executed. Additional replacements should be supplemented in essentially the same fashion. Parameterization Machine data Meaning...
  • Page 656 K1: Mode group, channel, program operation, reset response 9.15 Replacing functions by subprograms Programming Comment N2230 CASE $P_SUB_SPOSMODE OF \ 0 GOTOF LABEL1_DC \ 1 GOTOF LABEL1_IC \ 2 GOTOF LABEL1_AC \ 3 GOTOF LABEL1_DC \ 4 GOTOF LABEL1_ACP \ 5 GOTOF LABEL1_ACN \ DEFAULT GOTOF LABEL_ERR LABEL1_DC:...
  • Page 657 K1: Mode group, channel, program operation, reset response 9.15 Replacing functions by subprograms Programming Comment N2120 _LA=$P_SUB_LA ; Axis identifier of the leading spindle N2130 _CA=$P_SUB_CA ; Axis identifier of the following spindle N2140 _LSPI=AXTOSPI(_LA) ; Number of the leading spindle N2180 _CSPI=AXTOSPI(_LA) ;...
  • Page 658: Properties Of The Subprograms

    The replacement is also made in the ISO language mode. However, the replacement subprograms are exclusively processed in the standard language mode (Siemens). There is an implicit switchover into the standard language mode. The original language mode is reselected with the return jump from the replacement subprogram.
  • Page 659 K1: Mode group, channel, program operation, reset response 9.15 Replacing functions by subprograms Output of auxiliary functions to PLC When replacing auxiliary functions, calling the replacement subprogram does not initiate that the auxiliary function is output to the PLC. The auxiliary function is only output if the auxiliary function is reprogrammed in the replacement subprogram.
  • Page 660: Restrictions

    K1: Mode group, channel, program operation, reset response 9.15 Replacing functions by subprograms 9.15.5 Restrictions • Function replacements are not permitted in: Synchronized actions Technology cycles • There must be no blockwise synchronized actions in front of a block that contains functions at the beginning to be replaced.
  • Page 661: Program Runtime / Part Counter

    K1: Mode group, channel, program operation, reset response 9.16 Program runtime / Part counter 9.16 Program runtime / Part counter Information on the program runtime and workpiece counter are provided to support the machine tool operator. This information can be processed as system variables in the NC and/or PLC program. This information is also available to be displayed on the operator interface.
  • Page 662 K1: Mode group, channel, program operation, reset response 9.16 Program runtime / Part counter System variable Meaning $AC_ACT_PROG_NET_TIME Actual net runtime of the current program in seconds Net runtime means that the time, in which the program was stopped, has been deducted.
  • Page 663 K1: Mode group, channel, program operation, reset response 9.16 Program runtime / Part counter System variable Meaning $AC_OLD_PROG_NET_TIME_COUNT Changes to $AC_OLD_PROG_NET_TIME After POWER ON, $AC_OLD_PROG_NET_TIME_COUNT is at "0". $AC_OLD_PROG_NET_TIME_COUNT is always increased if the control has newly written to $AC_OLD_PROG_NET_TIME. If the user terminates the running program with RESET , $AC_OLD_PROG_NET_TIME and $AC_OLD_PROG_NET_TIME_COUNT remain unchanged.
  • Page 664 K1: Mode group, channel, program operation, reset response 9.16 Program runtime / Part counter Note Residual time for a workpiece If the same workpieces are produced one after the other, then from the timer values: • Processing time for the last workpiece produced (see $AC_OLD_PROG_NET_TIME) •...
  • Page 665 K1: Mode group, channel, program operation, reset response 9.16 Program runtime / Part counter Activation/Deactivation The timer that can be activated is switched-in/switched-out using machine data: MD27860 $MC_PROCESSTIMER_MODE, Bit 0-2 Value Meaning Timer for $AC_OPERATING_TIME not active. Timer for $AC_OPERATING_TIME active. Timer for $AC_CYCLE_TIME not active.
  • Page 666 K1: Mode group, channel, program operation, reset response 9.16 Program runtime / Part counter Value Meaning Only for bit 1 = 1 (timer for $AC_CYCLE_TIME is active) $AC_CYCLE_TIME is reset to "0" also in case of Start through ASUB and PROG_EVENTs.
  • Page 667 K1: Mode group, channel, program operation, reset response 9.16 Program runtime / Part counter Boundary conditions • Block search No program runtimes are determined through block searches. • REPOS The duration of a REPOS process is added to the current processing time ($AC_ACT_PROG_NET_TIME). Examples Example 1: Parameterization of the runtime measurement via MD27860 •...
  • Page 668: Workpiece Counter

    K1: Mode group, channel, program operation, reset response 9.16 Program runtime / Part counter Example 3: Measuring the duration of "mySubProgrammA" and "mySubProgrammC" Program code N10 DO $AC_PROG_NET_TIME_TRIGGER=2 N20 mySubProgrammA N30 DO $AC_PROG_NET_TIME_TRIGGER=3 N40 mySubProgrammB N50 DO $AC_PROG_NET_TIME_TRIGGER=4 N60 mySubProgrammC N70 DO $AC_PROG_NET_TIME_TRIGGER=1 N80 mySubProgrammD N90 M30...
  • Page 669 K1: Mode group, channel, program operation, reset response 9.16 Program runtime / Part counter System variable Description $AC_ACTUAL_PARTS Number of completed workpieces (actual workpiece total) This counter registers the total number of all workpieces produced since the start time. On condition that $AC_REQUIRED_PARTS > 0, the counter is automatically reset to "0"...
  • Page 670 K1: Mode group, channel, program operation, reset response 9.16 Program runtime / Part counter Workpiece counting with user-defined M command If the corresponding bit is set in MD27880, then the count pulse can be triggered via a user-defined M command instead of via the end of program M2/M30.
  • Page 671 K1: Mode group, channel, program operation, reset response 9.16 Program runtime / Part counter • Activation of the workpiece counter $AC_SPECIAL_PARTS: MD27880 $MC_PART_COUNTER = 'H3000' MD27882 $MC_PART_COUNTER_MCODE[2] = 77 $AC_SPECIAL_PARTS is active. The following takes place with every M77: $AC_SPECIAL_PARTS + 1 •...
  • Page 672 K1: Mode group, channel, program operation, reset response 9.16 Program runtime / Part counter • Cancellation of the count modes in the MD27880 $MC_PART_COUNTER with bit 0 = 1: MD27882 $MC_PART_COUNTER_MCODE[0] = 41 MD27882 $MC_PART_COUNTER_MCODE[1] = 42 MD27882 $MC_PART_COUNTER_MCODE[2] = 43 Program code Comment N100 $AC_REQUIRED_PARTS=-10 ;...
  • Page 673: Data Lists

    K1: Mode group, channel, program operation, reset response 9.17 Data lists 9.17 Data lists 9.17.1 Machine data 9.17.1.1 General machine data Displaying machine data Number Identifier: $MM_ Description SINUMERIK Operate 9421 MA_AXES_SHOW_GEO_FIRST Display geo axes of channel first 9422 MA_PRESET_MODE PRESET / basic offset in JOG.
  • Page 674: Channel­specific Machine Data

    K1: Mode group, channel, program operation, reset response 9.17 Data lists Number Identifier: $MN_ Description 11620 PROG_EVENT_NAME Program name for PROG_EVENT 11717 D_NO_FCT_CYCLE_NAME Subroutine name for D function replacement 15700 LANG_SUB_NAME Name for replacement subroutine 15702 LANG_SUB_PATH Call path for replacement subroutine 17200 GMMC_INFO_NO_UNIT Global HMI info (without physical unit)
  • Page 675 K1: Mode group, channel, program operation, reset response 9.17 Data lists Number Identifier: $MC_ Description 20230 CUTCOM_CURVE_INSERT_LIMIT Maximum angle for intersection calculation with tool radius compensation 20240 CUTCOM_MAXNUM_CHECK_BLOCKS Blocks for predictive contour calculation with tool radius compensation 20250 CUTCOM_MAXNUM_DUMMY_BLOCKS Maximum number of blocks without traversing motion for TRC 20270 CUTTING_EDGE_DEFAULT...
  • Page 676 K1: Mode group, channel, program operation, reset response 9.17 Data lists Number Identifier: $MC_ Description 20120 TOOL_RESET_VALUE Tool length compensation when powering-up (RESET / part program end) 20121 TOOL_PRESEL_RESET_VALUE Preselected tool on RESET 20130 CUTTING_EDGE_RESET_VALUE Tool cutting edge length compensation when powering-up (RESET / part program end) 20140 TRAFO_RESET_VALUE Transformation data set when powering-up (RESET /...
  • Page 677: Axis/Spindle­specific Machine Data

    K1: Mode group, channel, program operation, reset response 9.17 Data lists Number Identifier: $MC_ Description 28060 MM_IPO_BUFFER_SIZE Number of NC blocks in IPO buffer (DRAM) 28070 MM_NUM_BLOCKS_IN_PREP Number of blocks for block preparation (DRAM) 28080 MM_NUM_USER_FRAMES Number of settable Frames (SRAM) 28090 MM_NUM_CC_BLOCK_ELEMENTS Number of block elements for compile cycles (DRAM)
  • Page 678: Signals

    K1: Mode group, channel, program operation, reset response 9.17 Data lists 9.17.3 Signals 9.17.3.1 Signals to NC Signal name SINUMERIK 840D sl SINUMERIK 828D Emergency stop DB10.DBX56.1 DB2600.DBX0.1 9.17.3.2 Signals to NC Signal name SINUMERIK 840D sl SINUMERIK 828D AUTOMATIC mode DB11.DBX0.0...
  • Page 679: Signals To Nc

    K1: Mode group, channel, program operation, reset response 9.17 Data lists 9.17.3.4 Signals to NC Signal name SINUMERIK 840D sl SINUMERIK 828D Activate DRF DB21, ..DBX0.3 DB3200.DBX0.3 Activate single block DB21, ..DBX0.4 DB3200.DBX0.4 Activate M01 DB21, ..DBX0.5 DB3200.DBX0.5...
  • Page 680 K1: Mode group, channel, program operation, reset response 9.17 Data lists Signal name SINUMERIK 840D sl SINUMERIK 828D Last action block active DB21, ..DBX32.6 DB3300.DBX0.6 Block search active DB21, ..DBX33.4 DB3300.DBX1.4 M02/M30 active DB21, ..DBX33.5 DB3300.DBX1.5 Transformation active DB21, ...
  • Page 681: Signals To Nc

    K1: Mode group, channel, program operation, reset response 9.17 Data lists 9.17.3.6 Signals to NC Signal name SINUMERIK 840D sl SINUMERIK 828D REPOSDELAY DB31, ..DBX10.0 9.17.3.7 Signals from axis/spindle Signal name SINUMERIK 840D sl SINUMERIK 828D REPOS offset DB31, ..DBX70.0 REPOS offset valid DB31, ...
  • Page 682 K1: Mode group, channel, program operation, reset response 9.17 Data lists Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 683: K2: Axis Types, Coordinate Systems, Frames

    K2: Axis Types, Coordinate Systems, Frames 10.1 Brief description 10.1.1 Axes Machine axes Machine axes are the axes that actually exist on a machine tool. Channel axes Every geometry axis and every special axis is assigned to a channel and, therefore, a channel axis. Geometry axes and additional axes are always traversed in "their"...
  • Page 684 K2: Axis Types, Coordinate Systems, Frames 10.1 Brief description Axis configuration The machine data below are used to assign the geometry axes, special axes, channel axes and machine axes as well as the names of the individual axis types: MD20050 $MC_AXCONF_GEOAX_ASIGN_TAB (assignment of geometry axis to channel axis) MD20060 $MC_AXCONF_GEOAX_NAME_TAB (name of the geometry axis in the channel) MD20070 $MC_AXCONF_MACHAX_USED (machine axis number valid in channel) MD20080 $MC_AXCONF_CHANAX_NAME_TAB (name of the channel axis in the channel)
  • Page 685: Coordinate Systems

    K2: Axis Types, Coordinate Systems, Frames 10.1 Brief description • A link axis The axis container function is described in References: /FB2/ Function Manual, Expansion Functions; Multiple Operator Panels on Multiple NCUs, Distributed Systems (B3) 10.1.2 Coordinate systems The machine coordinate system (MCS) has the following properties: •...
  • Page 686 K2: Axis Types, Coordinate Systems, Frames 10.1 Brief description • The names of the geometry axes and special axes can be defined. • The workpiece coordinate system can be translated, rotated, scaled or mirrored with FRAMES (TRANS, ROT, SCALE, MIRROR). Multiple translations, rotational movements, etc., are also possible.
  • Page 687: Frames

    K2: Axis Types, Coordinate Systems, Frames 10.1 Brief description 10.1.3  Frames  Frame A frame is a closed calculation rule (algorithm) that translates one Cartesian coordinate system into another. Frame components Figure 10-1 Frame components A frame consists of the following components: Frame components Programmable with: Offset...
  • Page 688 K2: Axis Types, Coordinate Systems, Frames 10.1 Brief description Rough and fine offsets The translation component of frames comprises: • Rough offset with TRANS, ATRANS and CTRANS The rough offset is normally specified by the machine setter. The programmable offsets for all geometry axes and special axes are specified with TRANS. •...
  • Page 689 K2: Axis Types, Coordinate Systems, Frames 10.1 Brief description Frame chaining Frame components or complete frames can be combined using the concatenation operator ":" to create a complete frame. For instance, the actual frame $P_ACTFRAME comprises chaining the complete basic frame, adjustable frame, the systems frames and the programmable frame: $P_ACTFRAME = $P_PARTFRAME : $P_SETFRAME : $P_EXTFRAME :...
  • Page 690 K2: Axis Types, Coordinate Systems, Frames 10.1 Brief description Adjustable frames Adjustable frames can be defined as either global NCU or channel-specific frames. Consistency When writing, reading and activating frames, e.g. using channel coordination, the user is solely responsible for achieving consistent behavior within the channels.
  • Page 691: Axes

    K2: Axis Types, Coordinate Systems, Frames 10.2 Axes 10.2 Axes 10.2.1 Overview Figure 10-2 Relationship between geometry axes, special axes and machine axes Figure 10-3 Local and external machine axes (link axes) Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 692: Machine Axes

    K2: Axis Types, Coordinate Systems, Frames 10.2 Axes 10.2.2 Machine axes Meaning Machine axes are the axes that actually exist on a machine tool. Figure 10-4 Machine axes X, Y, Z, B, S on a Cartesian machine Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 693: Channel Axes

    K2: Axis Types, Coordinate Systems, Frames 10.2 Axes Application The following can be machine axes: • Geometry axes X, Y, Z • Orientation axes A, B, C • Loader axes • Tool turrets • Axes for tool magazine • Axes for automatic tool changer •...
  • Page 694: Replaceable Geometry Axes

    K2: Axis Types, Coordinate Systems, Frames 10.2 Axes 10.2.5 Replaceable geometry axes Significance The "Replaceable geometry axes" function allows the geometry axes in a grouping to be replaced by other channel axes. Axes that are initially configured as synchronous special axes in a channel can replace any selected geometry axis in response to a program command.
  • Page 695 K2: Axis Types, Coordinate Systems, Frames 10.2 Axes • The following functions may not be active when geometry axes are replaced: Transformation Spline interpolation Tool radius compensation Tool fine compensation • Any active DRF offset or zero offset external will remain operative. They both act on channel axes. The channel axis assignment is not affected by the replacement of geometry axes.
  • Page 696 K2: Axis Types, Coordinate Systems, Frames 10.2 Axes MD20118 $MC_GEOAX_CHANGE_RESET Value Significance The current configuration of the geometry axes remains unchanged on reset and program start. With this setting, the response is identical to older software versions without geometry axis replacement. The configuration of the geometry axis remains unchanged during reset or parts program end as a function of machine data MD20110 $MC_RESET_MODE_MASK and during parts program start as a function of machine data MD20112 $MC_START_MODE_MASK...
  • Page 697 K2: Axis Types, Coordinate Systems, Frames 10.2 Axes Transformation changeover The following interrelationships must be noted with respect to kinematic transformation and geometry axis replacement: • Geometry axis assignments cannot be modified when the transformation is active. • Activation of a transformation deletes the programmed geometry axis configuration and replaces it by the geometry axis assignment stored in the machine data of the activated transformation.
  • Page 698: Special Axes

    K2: Axis Types, Coordinate Systems, Frames 10.2 Axes GEOAX() ; The geometry axis assignment defined via the machine data MD AXCONF_GEOAX_ASSIGN_TAB is effective, i.e., XX, YY and ZZ become geometry axes. GEOAX (1, U, 2, V, 3, W) ; U, V and W become the first, second and third geometry axes.
  • Page 699: Path Axes

    K2: Axis Types, Coordinate Systems, Frames 10.2 Axes 10.2.7 Path axes Meaning Path axes are interpolated together (all the path axes of a channel have a common path interpolator). All the path axes of one channel have the same acceleration phase, constant travel phase and delay phase. The feedrate programmed under address F (path feedrate) applies to all the path axes programmed in a block, with the following exceptions: •...
  • Page 700: Main Axes

    K2: Axis Types, Coordinate Systems, Frames 10.2 Axes Application Typical positioning axes are: • Loaders for moving workpieces away from machine • Tool magazine/turret Reference References: /FB2/ Function Manual, Extended Functions, Positioning Axes (P2) /FB1/ Function Manual, Basic Functions, Spindles (S1) FB3/ Function Manual, Special Functions,;...
  • Page 701: Synchronized Axes

    K2: Axis Types, Coordinate Systems, Frames 10.2 Axes Application Certain axes in the main run can be decoupled at the channel response triggered by the NC program sequence and controlled from the PLC. These axes are also interpolated in the main run and respond independently for the channel and program sequence.
  • Page 702 K2: Axis Types, Coordinate Systems, Frames 10.2 Axes FGROUP command The command FGROUP specifies whether the axis is a feed-defining path axis (used to calculate the path velocity) or a synchronous axis (not used to calculate the path velocity). Example N05 G00 G94 G90 M3 S1000 X0 Y0 Z0 N10 FGROUP(X,Y) ;...
  • Page 703: Axis Configuration

    K2: Axis Types, Coordinate Systems, Frames 10.2 Axes 10.2.11 Axis configuration Assigning geometry, special, channel and machine axes. Figure 10-5 Axis configuration Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 704 K2: Axis Types, Coordinate Systems, Frames 10.2 Axes Special features • Leading zeros for user-defined axis identifiers are ignored: MD10000 `$MN_AXCONF_MACHAX_NAME_TAB[0] = X01 corresponds to X1 • The geometry axes must be assigned to the channel axes in ascending order without any gaps. •...
  • Page 705: Link Axes

    K2: Axis Types, Coordinate Systems, Frames 10.2 Axes Example: Channel axis gap Channel axis B is not assigned a machine axis in the following example. Figure 10-6 Axis configuration with channel axis gap (excerpt) Special situations: Channel axis gaps Regarding channel axis gaps, the following also have to be taken into account: •...
  • Page 706: Zeros And Reference Points

    K2: Axis Types, Coordinate Systems, Frames 10.3 Zeros and reference points 10.3 Zeros and reference points 10.3.1 Reference points in working space Zeros and reference points The neutral position of the machine is obtained from the coordinate axes and the constructive characteristics of the machine.
  • Page 707 K2: Axis Types, Coordinate Systems, Frames 10.3 Zeros and reference points Example: Zeros and reference points on a turning machine Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 708: Position Of Coordinate Systems And Reference Points

    K2: Axis Types, Coordinate Systems, Frames 10.3 Zeros and reference points 10.3.2 Position of coordinate systems and reference points Control POWER ON For incremental measuring probes, the reference point must be approached each time the control is activated so that the control can transfer all position values to the coordinate system. Figure 10-7 Position of coordinate systems by machine zero M and workpiece zero W Figure 10-8...
  • Page 709: Coordinate Systems

    K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems 10.4 Coordinate systems 10.4.1 Overview Cartesian coordinate systems DIN 66217 stipulates that machine tools must use right-angled, rectangular (Cartesian) coordinate systems. The positive directions of the coordainate axes are determined using the "Right Hand Rule". The coordinate system is related to the workpiece and programming takes place independently of whether the tool or the workpiece is being traversed.
  • Page 710 K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems The following coordinate systems are defined: Machine Coordinat System Basic Coordinate System Basic Zero System Settable Zero System Workpiece Coordinate System Interrelationships between coordinate systems The coordinate systems are determined by the kinematic transformation and the FRAMES. A kinematic transformation is used to derive the BCS from the MCS.
  • Page 711 K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems Figure 10-11 Interrelationships between coordinate systems Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 712: Machine Coordinate System (Mcs)

    K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems 10.4.2 Machine coordinate system (MCS) Machine coordinate system (MCS) The machine coordinate system (MCS) is made up of all physically available machine axes. Figure 10-12 MCS with machine axes X, Y, Z, B, C (5­axis milling machine) Figure 10-13 MCS with machine axes X, Z (turning machine) Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 713: Basic Coordinate System (Bcs)

    K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems Axial preset offset The "Preset" function can be used to redefine the control zero in the machine coordinate system. The preset values act on machine axes. Axes do not move when "Preset" is active. Note After Preset, the reference points are invalid! If possible do not use this function.
  • Page 714 K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems Machine tools with kinematic transformation The BCS and MCS do not coincide when the BCS is mapped onto the MCS with kinematic transformation (e.g., TRANSMIT / face transformation, 5-axis transformation or more than three axes). On such machines the machine axes and geometry axes must have different names.
  • Page 715: Additive Offsets

    K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems 10.4.4 Additive offsets Zero offsets external The "zero offset external" is an axial offset. Unlike with frames, no components for rotation, scaling and mirroring are possible. Figure 10-16 Zero offset external between BCS and BZS Setting the offset values The offset values are set: •...
  • Page 716 K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems Effect of activation The offset for an axis becomes active when the first motion block for this axis is executed after the offset is activated. Example of possible chronological sequence: G0 X100 X150 ;...
  • Page 717 K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems Run-up After run-up (POWER ON) the last used offset values for the "Zero offset external" are stored and do not become effective again until there is a renewed activation signal. System frames are retained during Power ON, depending on the following machine data: MD24008 $MC_CHSFRAME_POWERON_MASK (reset system frames after Power On) RESET/end of program The activated values remain active after RESET and program end.
  • Page 718: Basic Zero System (Bzs)

    K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems 10.4.5 Basic zero system (BZS) Basic zero system (BZS) The basic zero system (BZS) is the basic coordinate system with a basic offset. Figure 10-17 Basic offset between BCS and BZS Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 719 K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems Basic offset The basic offset describes the coordinate transformation between BCS and BZS. It can be used, for example, to define the palette window zero. The basic offset comprises: • Zero offset external •...
  • Page 720: Settable Zero System (Szs)

    K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems 10.4.6 Settable zero system (SZS) Settable zero system (SZS) The "settable zero system" (SZS) is the workpiece coordinate system WCS with a programmable frame (viewed from the perspective of the WCS). The workpiece zero is defined by the settable FRAMES G54 to G599. Figure 10-19 Settable FRAME G54 ...
  • Page 721: Workpiece Coordinate System (Wcs)

    K2: Axis Types, Coordinate Systems, Frames 10.4 Coordinate systems Example Actual-value display in relation to the WCS or SZS Actual value display: Actual value display: Code (excerpt) Axis X (WCS) Axis X (SZS) N10 X100 N20 X0 N30 $P_PFRAME = CTRANS(X,10) N40 X100 10.4.7 Workpiece coordinate system (WCS)
  • Page 722: Frames

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  10.5  Frames  10.5.1 Frame types Frame A frame is a data structure that contains values for offset (TRANS), fine offset (FINE), rotation (ROT), mirroring (MIRROR) and scaling (SCALE) for axes. Axial frame An axial frame contains the frame values of an axis.
  • Page 723: Frame Components

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  Axis TRANS FINE MIRROR SCALE 10.0 Effect When activating a frame, using the frame values, a static coordinate transformation for the axes contained in the frame is performed using a defined algorithm. 10.5.2 Frame components 10.5.2.1...
  • Page 724: Fine Offset

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  10.5.2.2 Fine offset Parameterization The corresponding fine offset parameterization takes place through the machine data: MD18600 $MN_MM_FRAME_FINE_TRANS (fine offset in FRAME (SRAM)) Value Significance The fine offset cannot be entered or programmed. Fine offset possible for settable frames, basic frames and the prog.
  • Page 725: Rotations For Geometry Axes

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  10.5.2.3 Rotations for geometry axes Function The direction of rotation about the coordinate axes is determined by means of a right-hand, rectangular coordinate system with axes X, Y and Z. Rotations If the rotary motion is in a clockwise direction when looking in the positive direction of the coordinate axis, the direction of rotation is positive.
  • Page 726 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  Parameterization The corresponding rotation in frame is parameterized through the machine data: MD10600 $MN_FRAME_ANGLE_INPUT_MODE (rotation sequence in FRAME) Value Meaning RPY notation Euler angle RPY is derived from the English: Roll → rotation around X Pitch →...
  • Page 727 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  Euler angle Rotations with a Euler angle are carried out in the order Z, X', Z''. Data from Euler angles can only be unambiguously calculated back within the following value ranges: <= <...
  • Page 728 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  CRPL - Constant Rotation Plane The predefined function "Constant Rotation Plane", allows a rotation to be programmed in any plane for each frame. Syntax CRPL(<rotary axis>,<angle of rotation>) Meaning Rotation in any plane CRPL: Axis around which the rotation is performed <rotary...
  • Page 729: Scaling

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  10.5.2.4 Scaling Programming The program commands below are used to program the scaling: $P_UIFR[1] = CSCALE(x,1,y,1) SCALE x = 1y = 1 $P_UIFR[1,x,sc] = 1 10.5.2.5 Mirroring Programming The program commands below are used to program a mirroring: $P_UIFR[1] = CMIRROR(x,1,y,1) MIRROR x = 1y = 1 $P_UIFR[1,x,mi] = 1...
  • Page 730: Chain Operator

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  10.5.2.6 Chain operator Frame components or complete frames can be combined into a complete frame using the chain operator ( : ). 10.5.2.7 Programmable axis identifiers Geo, channel and machine axis identifiers can be used in the frame commands. The programmed axis must be known to the channel-specific frames in the channel.
  • Page 731: Coordinate Transformation

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  10.5.2.8 Coordinate transformation The formulae below are used to discover the coordinate transformation for geometry axes: Position vector in BCS Position vector in WCS 10.5.3 Frames in data management and active frames 10.5.3.1 Overview The following frame types are available:...
  • Page 732 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  Writing frames Data management frames and active frames can be written from the part program. Only data management frames can be written via the user interface. Archiving frames Only data management frames can be archived. Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 733: Activating Data Management Frames

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  10.5.3.2 Activating data management frames Data management frames become active frames as a result of the following actions: • Part program commands to activate/deactivate offsets: G54...G599,G500 • RESET and MD20110 $MC_RESET_MODE_MASK, Bit14 = 1 •...
  • Page 734: Ncu Global Frames

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  System variable $P_CHSFRMASK The system frames of the data management can be activated using system variable $P_CHSFRMASK. The value of the variables is specified as bit coded according to the machine data: MD28082 $MC_MM_SYSTEM_FRAME_MASK (system frames of the data management) The corresponding system frame of the data management in the channel is activated by setting a bit of the system variable $P_CHSFRMASK to a value of 1.
  • Page 735: Frame Chain And Coordinate Systems

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  10.5.4 Frame chain and coordinate systems 10.5.4.1 Overview The figure below shows the frame chain for the current complete frame. The frame chain is stored between the BCS and WCS. The SZS (Settable Zero System) corresponds to the WCS, transformed by the programmable frame.
  • Page 736: Relative Coordinate Systems

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  WCS: Workpiece Coordinate System SZS: Settable Zero System BZS: Basic Zero System BCS: Basic Coordinate System MCS: Machine Coordinate System PCS: Part Coordinate System ACS: Adjustable Coordinate System FCS: Foot Coordinate System BCS: Basic Coordinate System MCS:...
  • Page 737 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  Figure 10-21 Relative coordinate systems The data maintenance frame $P_RELFR can be written in the part program and via BTSS. All the frame components can be modified. The active system frame $P_RELFRAME can be written in the part program and via BTSS. The configuring of the system frame $P_RELFR is done via the following machine data: Machine data Description...
  • Page 738: Configurable Szs

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  10.5.4.3 Configurable SZS The function of the SZS coordinate system is to display actual values and move the axes during a cycle interruption. Cycles utilize frames in the frame chain to perform their functions. They input translations or rotations into either the programmable frame or the cycle system frame.
  • Page 739: Manual Traverse In The Szs Coordinate System

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  Reconfiguring the SZS affects all SZS actual-value displays and the $AA_IEN[axis] system variables. Traversing geometry axes in JOG mode in the SZS also depends on the configuration. 10.5.4.4 Manual traverse in the SZS coordinate system Previously, geometry axes have been traversed manually in JOG mode in the WCS.
  • Page 740: Suppression Of Frames

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  10.5.4.5 Suppression of frames Programming Comman Significance Non­modal suppression of the following frames: • System frame for cycles • Programmable frame • System frame for transformations, workpieces, TOROT and TOFRAME • Active settable frame Non­modal suppression of the following frames: G153 •...
  • Page 741 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  Parameterization Frame suppressions SUPA, G153 and G53 lead to the WCS, SZS and possibly the BZS jumping when frame suppression is active. This characteristic for position display and pre-defined position variables can be changed through the following machine data: MD24020 $MC_FRAME_SUPPRESS_MODE (Positions during frame suppression) Significance...
  • Page 742: Frame Chain Frames

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  10.5.5 Frame chain frames 10.5.5.1 Overview There are up to four frame variants: • Settable frames (G500,G54 to G599) • Basic frames • Programmable frame • System frames 10.5.5.2 Settable frames $P_UIFR[n] The number of NCU global settable frames is set through the following machine data: MD18601 $MN_MM_NUM_GLOBAL_USER_FRAMES (number of global, pre-defined user frames (SRAM)) The number can be between 0 and 100.
  • Page 743: Channel Basic Frames $P_Chbfr[N]

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  10.5.5.3 Channel basic frames $P_CHBFR[n] The number of basic frames in the channel can be configured via the machine data: MD28081 $MC_MM_NUM_BASE_FRAMES (number of basic frames (SRAM)) The minimum configuration is designed for at least one basic frame per channel. A maximum of 16 basic frames per channel is possible.
  • Page 744: Ncu Global Basic Frames $P_Ncbfr[N]

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  10.5.5.4 NCU global basic frames $P_NCBFR[n] The number of global basic frames can be configured via the machine data: MD18602 $MN_MM_NUM_GLOBAL_BASE_FRAMES (number of global, basic frames (SRAM)) There are a maximum of 16 global basic frames. All basic frames are stored as fields. System variable $P_NCBFR[n] can be used to read and write the basic frame field elements.
  • Page 745: Complete Basic Frame $P_Actbframe

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  Example: $P_NCBFR[0] = CTRANS( x, 10 ):CROT( y, 45 ) ; Faulty assignment on the global basic frame The following frames are channel-specific: $P_UBFR, $P_BFRAME, $P_CHBFR[n], $P_CHBFRAME[n], $P_NCBFRAME[n], $P_ACTBFRAME and $P_ACTFRAME These frames can contain rotation components. These frames only affect the channel that has been set.
  • Page 746: Programmable Frame $P_Pframe

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  Programmability of the complete basic frame System variables $P_CHBFRMASK and $P_NCBFRMASK can be used to select, which basic frames to include in the calculation of the "complete" basic frame. The variables can only be programmed in the program and read via the operator panel interface.
  • Page 747 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  Reading or writing mirroring component-by-component is independent of the machine data: MD10612 $MN_MIRROR_TOGGLE A value = 0 means that the axis is not mirrored and a value = 1 means that the axis will always be mirrored, irrespective of whether it has already been mirrored or not.
  • Page 748: Channel­specific System Frames

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  The fine component is transferred on saving the programmable frame in a local frame variable (LUD or GUD) and on rewriting. The table below shows the effect of various program commands on the absolute and additive translation. Coarse or absolute translation Fine or additive translation TRANS X10 Unchanged...
  • Page 749 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  Default System frame Frame for cycles Frame for selection and deselection of transformations $P_ISO1FRAME : Frame for G51.1 mirroring (ISO) $P_ISO2FRAME : Frame for G68 2DROT (ISO) $P_ISO3FRAME : Frame for G68 3DROT (ISO) $P_ISO4FRAME: Frame for G51 scale (ISO) $P_RELFR: Frame for relative coordinate systems Example:...
  • Page 750 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  The following current system frames exist: • $P_SETFRAME In the part program, the variable $P_SETFRAME can be used to read and write the current system frame for PRESET and scratching. The variable returns a zero frame if the system frame is not configured through MD28082.
  • Page 751 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  • $P_ACSFRAME The currently resulting frame that is defined by the ENS-(ACS) coordinate system, can be read and written through the $P_ACSFRAME variable. For MD24030 $MC_FRAME_ACS_SET = 0, the frame is calculated as follows: $P_ACSFRAME = $P_PARTFRAME : $P_SETFRAME : $P_EXTFRAME : $P_ISO1FRAME : $P_ISO2FRAME : $P_ISO3FRAME :...
  • Page 752: Implicit Frame Changes

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  10.5.6 Implicit frame changes 10.5.6.1 Frames and switchover of geometry axes In the channel, the geometry axis configuration can be changed by switching a transformation on and off and with the GEOAX() command (R3). Machine data MD10602 $MN_FRAME_GEOAX_CHANGE_MODE can be used to configure, for all channels of the system, whether the current complete frame is calculated again...
  • Page 753 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  The workpiece geometry is described by a coordinate system that is formed by the geometry axes. A channel axis is assigned to each geometry axis and a machine axis is assigned to each channel axis. An axial frame exists for each machine axis and for each frame (system frame, basic frame, settable frame, programmable frame).
  • Page 754 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  $MC_AXCONF_GEOAX_NAME_TAB[0] = "X" $MC_AXCONF_GEOAX_NAME_TAB[1]="Y" $MC_AXCONF_GEOAX_NAME_TAB[2] = "Z" $MC_TRAFO_GEOAX_ASSIGN_TAB_1[0]=4 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[1]=5 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[2]=6 $MC_TRAFO_AXES_IN_1[0] = 4 $MC_TRAFO_AXES_IN_1[1] = 5 $MC_TRAFO_AXES_IN_1[2] = 6 $MC_TRAFO_AXES_IN_1[3] = 1 $MC_TRAFO_AXES_IN_1[4] = 2 Program: $P_NCBFRAME[0] = ctrans(x,1,y,2,z,3,a,4,b,5,c,6) $P_CHBFRAME[0] = ctrans(x,1,y,2,z,3,a,4,b,5,c,6) $P_IFRAME = ctrans(x,1,y,2,z,3,a,4,b,5,c,6):crot(z,45) $P_PFRAME = ctrans(x,1,y,2,z,3,a,4,b,5,c,6):crot(x,10,y,20,z,30) TRAORI...
  • Page 755: Frame For Selection And Deselection Of Transformations

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  10.5.6.2 Frame for selection and deselection of transformations This function is available with NCK 51.00.00 and higher. Transformations TRANSMIT, TRACYL and TRAANG are supported. As a rule, the assignment of geometry axes to channel axes changes when selecting and deselecting transformations.
  • Page 756 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  MD24905 $MC_TRANSMIT_ROT_AX_FRAME_1 = 2 MD24955 $MC_TRANSMIT_ROT_AX_FRAME_2 = 2 With this setting, the axial offset of the rotary axis is taken account of in the transformation up to the SZS. The axial offsets of the rotary axis included in the SZS frames are entered into the transformation frame as rotation. This setting is only effective if the transformation frame has been configured.
  • Page 757 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  $MC_MM_NUM_USER_FRAMES=10 ; from 5 to 100 $MC_MM_NUM_BASE_FRAMES=3 ; from 0 to 8 $MN_NCBFRAME_RESET_MASK='HFF' $MC_CHBFRAME_RESET_MASK='HFF' $MN_MIRROR_REF_AX=0 ; No scaling when mirroring. $MN_MIRROR_TOGGLE=0 $MN_MM_FRAME_FINE_TRANS=1 ; Fine offset $MC_FRAME_ADD_COMPONENTS=TRUE ; G58, G59 is possible. ; TRANSMIT is 1st transformer $MC_TRAFO_TYPE_1=256 $MC_TRAFO_AXES_IN_1[0]=1 $MC_TRAFO_AXES_IN_1[1]=6...
  • Page 758 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  $MC_TRAFO_GEOAX_ASSIGN_TAB_2[0]=1 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[1]=6 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[2]=2 $MC_TRANSMIT_BASE_TOOL_2[0]=4.0 $MC_TRANSMIT_BASE_TOOL_2[1]=0.0 $MC_TRANSMIT_BASE_TOOL_2[2]=0.0 $MC_TRANSMIT_ROT_AX_OFFSET_2=19.0 $MC_TRANSMIT_ROT_SIGN_IS_PLUS_2=TRUE $MC_TRANSMIT_ROT_AX_FRAME_2=1 Part program: ; Frame settings N820 $P_UIFR[1] = ctrans(x,1,y,2,z,3,c,4) N830 $P_UIFR[1] = $P_UIFR[1] : crot(x,10,y,20,z,30) N840 $P_UIFR[1] = $P_UIFR[1] : cmirror(x,c) N850 N860 $P_CHBFR[0] = ctrans(x,10,y,20,z,30,c,15) N870 ;...
  • Page 759 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  N1080 endif N1090 N1100 TRANSMIT(2) N1110 N1120 if $P_BFRAME <> CTRANS(X,10,Y,0,Z,20,CAZ,30,C,15) N1130 setal(61000) N1140 endif N1180 if $P_IFRAME <> CTRANS(X,1,Y,0,Z,2,CAZ,3,C,4):CROT(X,10,Y,20,Z,30):CMIRROR(X,C) N1190 setal(61000) N1200 endif N1240 if $P_ACTFRAME <> CTRANS(X,11,Y,0,Z,22,CAZ,33,C,19):CROT(X,10,Y,20,Z,30):CMIRROR(X,C) N1250 setal(61001) N1260 endif N1270 N1280 N1290 $P_UIFR[1,x,tr] = 11...
  • Page 760 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  N1550 Y-10 N1560 ; Deselect frame N2950 m30 N1580 Z20 G40 N1590 TRANS N1600 N1610 if $P_BFRAME <> CTRANS(X,10,Y,0,Z,20,CAZ,30,C,15) N1620 setal(61000) N1630 endif N1640 if $P_BFRAME <> $P_CHBFR[0] N1650 setal(61000) N1660 endif N1670 if $P_IFRAME <>...
  • Page 761 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  N2021 G54 N2021 G0 X20 Y0 Z10 C0 N2030 TRANSMIT(1) N2040 TRANS x10 y20 z30 N2041 ATRANS y200 N2050 G0 X20 Y0 Z10 N2051 if $P_IFRAME <> CTRANS(X,1,Y,0,Z,3,CAY,2) N2052 setal(61000) N2053 endif N2054 if $P_ACTFRAME <>...
  • Page 762 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  The machine data below can be used to take the axial complete frame of the TRACYL rotary axis, i.e., the translation, fine offset, mirroring and scaling, into account in the transformation: MD24805 $MC_TRACYL_ROT_AX_FRAME_1 = 1 MD24855 $MC_TRACYL_ROT_AX_FRAME_2 = 1 A rotary axis offset can, for example, be entered by compensating the oblique position of a workpiece in a frame within a frame chain.
  • Page 763 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  $MC_RESET_MODE_MASK = 'H4041' ; Basic frame is not deselected after Reset. ;$MC_RESET_MODE_MASK = 'H41' ; Basic frame is deselected after Reset. ;$MC_GCODE_RESET_VALUES[7] = 2 ; G54 is the default setting. $MC_GCODE_RESET_VALUES[7] = 1 ;...
  • Page 764 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  Part program: ;Simple traversing test with groove side offset N450 G603 N460 ; Frame settings N500 $P_UIFR[1] = ctrans(x,1,y,2,z,3,b,4) N510 $P_UIFR[1] = $P_UIFR[1] : crot(x,10,y,20,z,30) N520 $P_UIFR[1] = $P_UIFR[1] : cmirror(x,b) N530 N540 $P_CHBFR[0] = ctrans(x,10,y,20,z,30,b,15) N550 N560 G54...
  • Page 765 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  N860 if $P_IFRAME <> TRANS(X,1,Y,0,Z,3,CAY,2,B,4):CROT(X,10,Y,20,Z,30):CMIRROR(X,B) N870 setal(61000) N880 endif N890 if $P_UIFR[1] <> TRANS(X,1,Y,0,Z,3,CAY,2,B,4):CROT(X,10,Y,20,Z,30):CMIRROR(X,B) N900 setal(61000) N910 endif N920 if $P_ACTFRAME <> TRANS(X,11,Y,0,Z,33,CAY,22,B,19):CROT(X,10,Y,20,Z,30):CMIRROR(X,B) N930 setal(61001) N940 endif N950 N960 $P_UIFR[1,x,tr] = 11 N970 $P_UIFR[1,y,tr] = 14 N980 N990 g54...
  • Page 766 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  N1250 endif N1260 if $P_IFRAME <> TRANS(X,11,Y,2,Z,3,B,4):CROT(X,10,Y,20,Z,30):CMIRROR(X,B) N1270 setal(61000) N1280 endif N1290 if $P_IFRAME <> $P_UIFR[1] N1300 setal(61000) N1310 endif N1320 if $P_ACTFRAME <> TRANS(X,21,Y,22,Z,33,B,19):CROT(X,10,Y,20,Z,30):CMIRROR(X,B) N1330 setal(61002) N1340 endif N1350 N1360 G00 x0 y0 z0 G90 N1370 N1380 m30 TRAANG...
  • Page 767 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  Mirroring: Mirrorings of the virtual axis are taken over. Scaling: Scalings of the virtual axis are taken over. Example: Machine data for TRAANG: ; FRAME configurations $MC_MM_SYSTEM_FRAME_MASK = 'H1' ; SETFRAME $MC_CHSFRAME_RESET_MASK = 'H41' ;...
  • Page 768 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  $MC_TRAFO_AXES_IN_1[4] = 0 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[0]=4 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[1]=2 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[2] = 3 $MC_TRAANG_ANGLE_1 = 85. $MC_TRAANG_PARALLEL_VELO_RES_1 = 0. $MC_TRAANG_PARALLEL_ACCEL_RES_1 = 0. $MC_TRAANG_BASE_TOOL_1[0] = 0.0 $MC_TRAANG_BASE_TOOL_1[1] = 0.0 $MC_TRAANG_BASE_TOOL_1[2] = 0.0 ; TRAANG is 2nd transformer $MC_TRAFO_TYPE_2 = 1024 $MC_TRAFO_AXES_IN_2[0] = 4 $MC_TRAFO_AXES_IN_2[1] = 3 $MC_TRAFO_AXES_IN_2[2] = 0...
  • Page 769 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  ; Tool selection, clamping compensation, plane selection N890 T2 D1 G54 G17 G90 F5000 G64 SOFT N900 ; Approach start position N920 G0 X20 Z10 N930 N940 if $P_BFRAME <> CTRANS(X,10,Y,20,Z,30,B,40,C,15) N950 setal(61000) N960 endif N970 if $P_BFRAME <>...
  • Page 770 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  N1280 N1290 $P_UIFR[1,x,tr] = 11 N1300 $P_UIFR[1,y,tr] = 14 N1310 N1320 g54 N1330 ; Set frame N1350 ROT RPL=-45 N1360 ATRANS X-2 Y10 N1370 ; Four-edge roughing N1390 G1 X10 Y-10 G41 OFFN=1; allowance 1 mm N1400 X-10 N1410 Y10 N1420 X10...
  • Page 771: Adapting Active Frames

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  N1690 endif N1700 if $P_IFRAME <> $P_UIFR[1] N1710 setal(61000) N1720 endif N1730 if $P_ACTFRAME <> TRANS(X,21,Y,34,Z,33,CAX,11,B,44,C,20):CROT(X,10,Y,20,Z,30):CMIRROR(X,CAX,C) N1740 setal(61001) N1750 endif N1760 N1770 TRAFOOF N1780 N1790 if $P_BFRAME <> CTRANS(X,10,Y,20,Z,30,B,40,C,15) N1800 setal(61000) N1810 endif N1820 if $P_BFRAME <>...
  • Page 772: Mapped Frames

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  Bit 0: Rotations in active frames, which rotate coordinate axes with no geometry axes, are deleted from the active frames. Bit 1: Shear angles in the active frames are orthogonalized. Bit 2: Scalings of all geometry axes in the active frames are set to value 1.
  • Page 773 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  Preconditions The following preconditions must be fulfilled for frame mapping: • The data management frames used for mapping must be configured: MD28083 $MC_MM_SYSTEM_DATAFRAME_MASK (system frames) • Channel-specific Data management frames must be explicitly enabled for mapping: MD10616 $MN_MAPPED_FRAME_MASK (enable frame mapping) Note For global data management frames, mapping is always carried out.
  • Page 774 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  Description Parameterization: $MA_ ① Simple mapping relationship: MAPPED_FRAME[<AX1>] = "AX4" AX1(K1) ↔ AX4(K2) ② Chained mapping relationships: MAPPED_FRAME[<AX1>] = "AX4" MAPPED_FRAME[<AX4>] = "AX7" AX1(K1) ↔ AX4(K2) ↔ AX7(K3) ③ Mapping relationship to itself, with AX1 as MAPPED_FRAME[<AX1>] = "AX1"...
  • Page 775 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  Activating the data management frame Data management frames can be written in the part program and via the user interface of SINUMERIK Operate. The following should be noted when activating the data management frames in the channels written directly and via frame mapping: •...
  • Page 776: Predefined Frame Functions

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  N120 / N220 Channel synchronization for consistent activation of new frame data N130 / N230 Activating the new frame data N140 / N240 Checking the zero point of the Z axis for == 10 mm 10.5.7 Predefined frame functions 10.5.7.1...
  • Page 777 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  Application example: A frame calculated, for example, via a measuring function, must be entered in the current SETFRAME such that the new complete frame is a chain of the old complete frame and the measurement frame. The SETFRAME is calculated accordingly by means of frame inversions.
  • Page 778 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  ; Store measuring point 2 $AC_MEAS_LATCH[1] = 1 ; Approach measuring point 3 g1 x-4 y4 ; Store measuring point 3 $AC_MEAS_LATCH[2] = 1 ; Approach measuring point 4 g1 x-4 y1 ;...
  • Page 779: Additive Frame In Frame Chain

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  if RETVAL <> 0 setal(61000 + RETVAL) endif if $AC_MEAS_WP_ANGLE <> 30 setal(61000 + $AC_MEAS_WP_ANGLE) endif if $AC_MEAS_CORNER_ANGLE <> 90 setal(61000 + $AC_MEAS_CORNER_ANGLE) endif ; Transform measured frame and write in accordance with $P_SETFRAME in such a way ;...
  • Page 780 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  Programming Parameter 1: Type: FRAME Additively measured or calculated frame Parameter 2: Type: STRING Strings for current frames: "$P_CYCFRAME", "$P_ISO4FRAME", "$P_PFRAME", "$P_WPFRAME", "$P_TOOLFRAME", "$P_IFRAME", "$P_CHBFRAME[0..16]", "$P_NCBFRAME[0..16]", "$P_ISO1FRAME", "$P_ISO2FRAME", "$P_ISO3FRAME", "$P_EXTFRAME", "$P_SETFRAME" "$P_PARTFRAME" Strings for data management frames: "$P_CYCFR", "$P_ISO4FR, "$P_TRAFR", "$P_WPFR",...
  • Page 781: Functions

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  10.5.8 Functions 10.5.8.1 Setting zeros, workpiece measuring and tool measuring PRESET is achieved using HMI operator actions or measuring cycles. The calculated frame can be written to system frame SETFRAME. The position setpoint of an axis in the WCS can be altered when the actual-value memory is preset.
  • Page 782: Toolholder

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  Behavior Upon activation of the external zero offset the traversing movements of all axes, except command and PLC axes, are stopped immediately and the advance is reorganized. The rough offset of the current system frame and of the system frame in data management is set to the value of the axial system variable $AA_ETRANS[<axis>].
  • Page 783 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  Figure 10-23 Frame on activation of a rotary table with TCARR With kinematics of type M (tool and table are each rotary around one axis), the activation of a toolholder with TCARR simultaneously produces a corresponding change in the effective tool length (if a tool is active) and the zero offset.
  • Page 784 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  MD20184 $MC_TOCARR_BASE_FRAME_NUMBER can also be used. As with the note made in the description of the table offset, the second alternative here is not recommended for use with new systems. The rotation component of the part frame can be deleted with PAROTOF , independently of whether this frame is found in a basic or a system frame.
  • Page 785 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  Programming with MOVT is independent of the existence of a toolholder that can be oriented. The direction of the motion is dependent on the active plane. It runs in the directions of the vertical axes, i.e. with G17 in Z direction, with G18 in Y direction and with G19 in X direction.
  • Page 786 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  In workpiece drawings, oblique surfaces are frequently described by way of solid angles, i.e. the angles, which the intersection lines of the oblique plane form with the main planes (X-Y, Y-Z, Z-X planes) (see figure). The machine operator is not expected to convert these solid angles into the angles of rotation of a chaining of individual rotations.
  • Page 787 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  • When programming X and Y the new X-axis lies in the old Z­X plane. • When programming Z and X the new Z-axis lies in the old Y­Z plane. • When programming Y and Z the new Y-axis lies in the old X­Y plane. If the required coordinate system does not correspond to this basic setting, then an additional rotation must be performed with AROT..
  • Page 788 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  With software version P6 and higher, there is the option to write frames produced by TOROT or TOFRAME into their own system frame ($P_TOOLFR). For this, bit 3 must be set in machine data: MD28082 $MC_MM_SYSTEM_FRAME_MASK The programmable frame is then retained unchanged.
  • Page 789 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  Characteristics and expansions: Settings 1 and 2 are reached by rotating the coordinate system around the Z axis, starting from any position on the X and Y axis, until the desired setting is reached. Setting 3 is achieved by executing a rotation whose value is the exact mean of these two angles.
  • Page 790 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  The old and new X axes X and X' coincide in the projection in the direction of the old Z axis. The old and new Y axes Y and Y' form an angle of 8.13 degrees (right angles are generally not retained in the projection). For setting data setting: SD42980 $SC_TOFRAME_MODE=2 , Y and Y' would coincide accordingly and X and X' would form an angle of 8.13 degrees.
  • Page 791 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  MD20184 $MC_TOCARR_BASE_FRAME_NUMBER is described. With kinematics systems of the types P and M, TCARR will enter the table offset of the orientational toolholder (zero offset resulting from the rotation of the table) as a translation into the system frame. PAROT converts the system frame such, that a part­oriented WCS results.
  • Page 792 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  N110 $TC_CARR9[1] = 0 ; Z components of 1st axis N120 $TC_CARR10[1] = 0 ; X components of 2nd axis N130 $TC_CARR11[1] = 1 ; Y components of 2nd axis N140 $TC_CARR12[1] = 0 ;...
  • Page 793: Subprograms With Save Attribute (Save)

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  10.5.9 Subprograms with SAVE attribute (SAVE) For various frames, the behavior regarding subprograms can be set using the SAVE attribute. Settable frames G54 to G599 The behavior of the adjustable frames can be set using MD10617 $MN_FRAME_SAVE_MASK.BIT0 : •...
  • Page 794: Data Backup

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  10.5.10 Data backup Data block _N_CHANx_UFR is used to archive the system frames. Machine data MD28082 $MC_MM_SYSTEM_FRAME_MASK should not have changed between saving and reintroducing the saved system frames. If it has changed then it is possible that saved system frames could no longer be loaded.
  • Page 795: Control System Response

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  10.5.12 Control system response 10.5.12.1 POWER ON Frame conditions after POWER ON Frame Frame conditions after POWER ON Programmable frame Deleted. Settable frames Are retained, depending on: MD24080 $MC_USER_FRAME_POWERON_MASK Bit 0 = 1 MD20152 $MC_GCODE_RESET_MODE[7] = 1 Complete basic frame Retained, depending on MD20110 $MC_RESET_MODE_MASK bit 0 and bit 14...
  • Page 796: 3Reset, End Of Part Program

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  10.5.12.3 RESET, end of part program RESET responses of basic frames The RESET response of basic frames is set via the machine data: MD20110 $MC_RESET_MODE_MASK (definition of initial control settings after RESET/TP-End) RESET responses of system frames The system frames are retained in the data management after a Reset.
  • Page 797 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  MD20110 Significance Bit 0 = 0 TCARR and PAROT system frames are retained as before the RESET. Bit 0 = 1 MD20152 $MC_GCODE_RESET_MODE[51] = 0 MD20150 $MC_GCODE_RESET_VALUES[51] = 1 PAROTOF MD20150 $MC_GCODE_RESET_VALUES[51] = 2 PAROT MD20152 $MC_GCODE_RESET_MODE[51] = 1 TCARR and PAROT...
  • Page 798 K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  Frame conditions after RESET / parts program end Frame condition after RESET / part program end Programmable frame Deleted. Settable frames Retained, depending on MD20110 $MC_RESET_MODE_MASK MD20152 $MC_GCODE_RESET_MODE. Complete basic frame Retained, depending on: MD20110 $MC_RESET_MODE_MASK Bit 0 and Bit 14, MD10613 $MN_NCBFRAME_RESET_MASK MD24002 $MC_CHBFRAME_RESET_MASK.
  • Page 799: 4Part Program Start

    K2: Axis Types, Coordinate Systems, Frames 10.5  Frames  10.5.12.4 Part program start Frame conditions after part program start Frame Condition after parts program start Programmable frame Deleted. Settable frames Retained, depending on: MD20112 $MC_START_MODE_MASK Complete basic frame Retained System frames Retained External zero offset Retained...
  • Page 800: Workpiece­related Actual­value System

    K2: Axis Types, Coordinate Systems, Frames 10.6 Workpiece­related actual­value system 10.6 Workpiece­related actual­value system 10.6.1 Overview Definition The term "workpiece-related actual-value system" designates a series of functions that permit the user: • To use a workpiece coordinate system defined in machine data after power­up. Features: No additional operations are necessary.
  • Page 801 K2: Axis Types, Coordinate Systems, Frames 10.6 Workpiece­related actual­value system Interrelationships between coordinate systems The figure below shows the interrelationships between the machine coordinate system (MCS) and the workpiece coordinate system (WCS). Figure 10-24 Interrelationship between coordinate systems References: /PG/Programming Guide, Fundamentals /FB1/ Function Manual, Basic Functions;...
  • Page 802: Special Reactions

    K2: Axis Types, Coordinate Systems, Frames 10.6 Workpiece­related actual­value system 10.6.3 Special reactions Overstore Overstoring in RESET state of: • Frames (zero offsets) • Active plane • Activated transformation • Tool offset immediately affects the actual­value display of all axes in the channel. Entry via operator panel front If operations on the operator panel are used to change the values for "Active frame"...
  • Page 803 K2: Axis Types, Coordinate Systems, Frames 10.6 Workpiece­related actual­value system Actual-value reading If the actual value of $AA_IW is read in the WCS after activation of a frame (zero offset) or a tool offset, the activated changes are already contained in the result read even if the axes have not yet been traversed with the activated changes.
  • Page 804: Restrictions

    K2: Axis Types, Coordinate Systems, Frames 10.7 Restrictions 10.7 Restrictions There are no supplementary conditions to note. 10.8 Examples 10.8.1 Axes Axis configuration for a 3­axis milling machine with rotary table 1. Machine axis: X1 Linear axis 2. Machine axis: Y1 Linear axis 3.
  • Page 805 K2: Axis Types, Coordinate Systems, Frames 10.8 Examples Parameterization of the machine data Machine data Value MD10000 AXCONF_MACHAX_NAME_TAB[0] = X1 MD10000 AXCONF_MACHAX_NAME_TAB[1] = Y1 MD10000 AXCONF_MACHAX_NAME_TAB[2] = Z1 MD10000 AXCONF_MACHAX_NAME_TAB[3] = B1 MD10000 AXCONF_MACHAX_NAME_TAB[4] = W1 MD10000 AXCONF_MACHAX_NAME_TAB[5] = C1 MD20050 AXCONF_GEOAX_ASSIGN_TAB[0] MD20050 AXCONF_GEOAX_ASSIGN_TAB[1] MD20050 AXCONF_GEOAX_ASSIGN_TAB[2]...
  • Page 806 K2: Axis Types, Coordinate Systems, Frames 10.8 Examples Machine data Value MD20070 AXCONF_MACHAX_USED[2] MD20070 AXCONF_MACHAX_USED[3] MD20070 AXCONF_MACHAX_USED[4] MD20070 AXCONF_MACHAX_USED[5] MD20080 AXCONF_CHANAX_NAME_TAB[0] MD20080 AXCONF_CHANAX_NAME_TAB[1] MD20080 AXCONF_CHANAX_NAME_TAB[2] MD20080 AXCONF_CHANAX_NAME_TAB[3] MD20080 AXCONF_CHANAX_NAME_TAB[4] = WZM MD20080 AXCONF_CHANAX_NAME_TAB[5] = S1 MD30300 IS_ROT_AX[3] MD30300 IS_ROT_AX[4] MD30300 IS_ROT_AX[5] MD30310 ROT_IS_MODULO[3] MD30310 ROT_IS_MODULO[4] MD30310 ROT_IS_MODULO[5]...
  • Page 807: Coordinate Systems

    K2: Axis Types, Coordinate Systems, Frames 10.8 Examples 10.8.2 Coordinate systems Configuring a global basic frame An NC with 2 channels is required. The following applies: • The global basic frame can then be written by either channel. • The other channel recognizes this change when the global basic frame is reactivated. •...
  • Page 808: Frames

    K2: Axis Types, Coordinate Systems, Frames 10.8 Examples Part program in first channel Code (excerpt) Comment . . . N100 $P_NCBFR[0] = CTRANS( x, 10 ) Activation of the NC global basic frame . . . N130 $P_NCBFRAME[0] = CROT(X, 45) Activation of the NC global basic frame with rotation =>...
  • Page 809 K2: Axis Types, Coordinate Systems, Frames 10.8 Examples Example 2 Channel axes 4, 5 and 6 become the geometry axes of a 5­axis orientation transformation. The geometry axes are thus all substituted before the transformation. The current frames are changed when the transformation is activated. The axial frame components of the channel axes, which become geometry axes, are taken into account when calculating the new WCS.
  • Page 810 K2: Axis Types, Coordinate Systems, Frames 10.8 Examples Program: $P_NCBFRAME[0] = ctrans(x,1,y,2,z,3,a,4,b,5,c,6) $P_CHBFRAME[0] = ctrans(x,1,y,2,z,3,a,4,b,5,c,6) $P_IFRAME = ctrans(x,1,y,2,z,3,a,4,b,5,c,6):crot(z,45) $P_PFRAME = ctrans(x,1,y,2,z,3,a,4,b,5,c,6):crot(x,10,y,20,z,30) TRAORI ; Geo axis (4,5,6) sets transformer ; $P_NCBFRAME[0] = ctrans(x,4,y,5,z,6,cax,1,cay,2,caz,3) ; $P_ACTBFRAME = ctrans(x,8,y,10,z,12,cax,2,cay,4,caz,6) ; $P_PFRAME = ctrans(x,4,y,5,z,6,cax,1,cay,2,caz,3): ;...
  • Page 811: Data Lists

    K2: Axis Types, Coordinate Systems, Frames 10.9 Data lists 10.9 Data lists 10.9.1 Machine data 10.9.1.1 Displaying machine data Number Identifier: $MM_ Description SINUMERIK Operate 9242 MA_STAT_DISPLAY_BASE Numerical basis for display of moving joint STAT 9243 MA_TU_DISPLAY_BASE Numerical basis for display of rotary axis position TU 9244 MA_ORIAXES_EULER_ANGLE_NAME...
  • Page 812: Channel­specific Machine Data

    K2: Axis Types, Coordinate Systems, Frames 10.9 Data lists Number Identifier: $MN_ Description 18600 MM_FRAME_FINE_TRANS Fine offset for FRAME (SRAM) 18601 MM_NUM_GLOBAL_USER_FRAMES Number of globally predefined user frames (SRAM) 18602 MM_NUM_GLOBAL_BASE_FRAMES Number of global basic frames (SRAM) 10.9.1.3 Channel­specific machine data Number Identifier: $MC_ Description...
  • Page 813: Axis/Spindle­specific Machine Data

    K2: Axis Types, Coordinate Systems, Frames 10.9 Data lists Number Identifier: $MC_ Description 28082 MM_SYSTEM_FRAME_FRAMES System frames (SRAM) 28560 MM_SEARCH_RUN_RESTORE_MODE Restore data after a simulation 10.9.1.4 Axis/spindle­specific machine data Number Identifier: $MA_ Description 32074 FRAME_OR_CORRPOS_NOTALLOWED FRAME or HL offset is not permitted 35000 SPIND_ASSIGN_TO_MACHAX Assignment spindle to machine axis...
  • Page 814 K2: Axis Types, Coordinate Systems, Frames 10.9 Data lists Identifier Description $P_CYCFRAME Active system frame for cycles $P_EXTFR System frame for zero offset external in data management $P_EXTFRAME Active system frame for external work offset $P_IFRAME Active settable frame $P_ISO1FR Data management frame for ISO G51.1 Mirroring $P_ISO2FR Data management frame for ISO G68 2DROT...
  • Page 815: Signals

    K2: Axis Types, Coordinate Systems, Frames 10.9 Data lists 10.9.4 Signals 10.9.4.1 Signals from channel Signal name SINUMERIK 840D sl SINUMERIK 828D T function modification DB21, ..DBX61.0-.2 D function modification DB21, ..DBX62.0-.2 T function 1 DB21, ..DBB118-119 DB2500.DBD2000 D function 2 DB21, ...
  • Page 816 K2: Axis Types, Coordinate Systems, Frames 10.9 Data lists Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 817: N2: Emergency Stop

    N2: Emergency stop 11.1 Brief Description Function The control system supports the machine manufacturer in implementing an emergency stop function on the basis of the following functions: • An emergency stop button is installed in a location easily accessible to the machine operator on all SINUMERIK machine control panels.
  • Page 818: Relevant Standards

    N2: Emergency stop 11.2 Relevant standards 11.2 Relevant standards Relevant standards Compliance with the following standards is essential for the emergency stop function: • EN ISO 12000-1 • EN ISO 12000-2 • EN 418 • EN 60204 EMERGENCY STOP In accordance with EN 418, an emergency stop is a function that: •...
  • Page 819: Emergency Stop Control Elements

    N2: Emergency stop 11.3 Emergency stop control elements 11.3 Emergency stop control elements Emergency stop control elements In accordance with EN 418, emergency stop control elements must be designed so that they latch mechanically on their own and are easy for the operator and others to actuate in the event of an emergency. The following list includes some possible types of control elements: •...
  • Page 820: Emergency Stop Sequence

    N2: Emergency stop 11.4 Emergency stop sequence 11.4 Emergency stop sequence After actuation of the emergency stop control element, the emergency stop device must operate in the best possible way to prevent or minimize the danger. "In the best possible way" means that the most favorable delay rate can be selected and the correct stop category (defined in EN 60204) can be determined according to a risk assessment.
  • Page 821 N2: Emergency stop 11.4 Emergency stop sequence • The process in the NC is started using the interface signal: DB10 DBX56.1 (Emergency stop) After the machine axes have come to a standstill, the power supply must be interrupted, in compliance with EN 418.
  • Page 822: Emergency Stop Acknowledgement

    N2: Emergency stop 11.5 Emergency stop acknowledgement 11.5 Emergency stop acknowledgement The emergency stop control element may only be reset as a result of manual manipulation of the emergency stop control element according to EN 418. Resetting of the emergency stop control element alone must not trigger a restart command. A machine restart must be impossible until all of the actuated emergency stop control elements have been deliberately reset by hand.
  • Page 823 N2: Emergency stop 11.5 Emergency stop acknowledgement Effects Resetting the emergency stop state has the following effects: • within the controller for all machine axes: the servo enables are set. the follow-up mode is cancelled. the position control is activated. •...
  • Page 824: Data Lists

    Length of the braking ramp for error states 36620 SERVO_DISABLE_DELAY_TIME Cutout delay servo enable 11.6.2 Signals 11.6.2.1 Signals to NC Signal name SINUMERIK 840D sl SINUMERIK 828D Emergency stop DB10.DBX56.1 DB2600.DBX0.1 Acknowledge Emergency Stop DB10.DBX56.2 DB2600.DBX0.2 11.6.2.2 Signals from NC Signal name...
  • Page 825: P1: Transverse Axes

    P1: Transverse axes 12.1 Brief description Transverse axis Within the framework of "turning" technology, the transverse axis refers to the machine axis that travels perpendicular to the axis of symmetry of the spindle, in other words, to longitudinal axis Z. Figure 12-1 Position of the transverse axis in the machine coordinate system Properties...
  • Page 826 P1: Transverse axes 12.1 Brief description Several transverse axes in the channel The introduction several transverse axes in the channel involves a functional decoupling of diameter programming and reference axis for G96/G961/G962. Diameter programming and reference axis for G96/G961/ G962 can be active for different transverse axes (see table below). Programming and display Reference axis for in the diameter...
  • Page 827 P1: Transverse axes 12.1 Brief description Active parts program When the part program DIAMON (dimensional information as diameter) is active, the following is true for the transverse axis: • The setpoint and actual values that refer to the workpiece coordinate system are displayed as diameter values.
  • Page 828: Defining A Geometry Axis As Transverse Axis

    P1: Transverse axes 12.2 Defining a geometry axis as transverse axis 12.2 Defining a geometry axis as transverse axis Definition of a transversing axis in the channel The definition of one geometry axis as transverse axis is realized using machine data: MD20100 $MC_DIAMETER_AX_DEF (geometry axis with transverse axis function?) Example: MD20100...
  • Page 829 P1: Transverse axes 12.2 Defining a geometry axis as transverse axis Channel-specific basic position after power up, RESET The channel-specific basic position after power up or RESET or end of parts program of the G group 29: DIAMON, DIAM90, DIAMOF, DIAMCYCOF define the MD20150 $MC_GCODE_RESET_VALUE and independently of MD20110 $MC_RESET_MODE_MASK / bit0 the MD20152 $MC_GCODE_RESET_MODE.
  • Page 830: Dimensional Information For Transverse Axes

    P1: Transverse axes 12.3 Dimensional information for transverse axes 12.3 Dimensional information for transverse axes Transverse axes can be programmed with respect to both diameter and radius. Generally, they are diameter- related, i.e. programmed with doubled path dimension so that the corresponding dimensional information can be transferred to the part program directly from the technical drawings.
  • Page 831 P1: Transverse axes 12.3 Dimensional information for transverse axes • DIAMONA[Axis]: Diameter programming for G90, G91 AC and IC ON • DIAMOFA[Axis]: Diameter programming OFF, in other words, radius programming ON • DIAM90A[axis]: Diameter or radius programming depending on the reference mode: Diameter programming ON in connection with absolute dimensioning G90 and AC Radius programming ON in connection with incremental dimensioning G91 and IC •...
  • Page 832 P1: Transverse axes 12.3 Dimensional information for transverse axes DIAMON/DIAMONA[AX] • Display data of transverse axis in the workpiece coordinate system: Setpoint and actual position Distance-to-go REPOS Offset • "JOG" mode: Increments for incremental dimension (INC) and handwheel travel (dependent upon active MD) •...
  • Page 833 P1: Transverse axes 12.3 Dimensional information for transverse axes Permanently radius-related data For transverse axes, the following data is always entered, programmed and displayed in relation to radius: • Offsets: Tool offsets Programmable and configurable frames External work offset DRF and preset offset etc.
  • Page 834 P1: Transverse axes 12.3 Dimensional information for transverse axes Dimension on several transverse axes permanent diameter-related data Several transverse axes permitted by MD30460 $MA_BASE_FUNCTION_MASK, bit 2 = 1 do not behave differently in comparison to a transverse axis defined using MD20100 $MC_DIAMETER_AX_DEF. Diameter values continue to be converted into radius values.
  • Page 835 P1: Transverse axes 12.3 Dimensional information for transverse axes Application Examples X is a transverse axis defined via MD20100 $MC_DIAMETER_AX_DEF. Y is a geometry axis and U is an additional axis. These two axes are transverse axes with specified diameter further defined in MD30460 $MA_BASE_FUNCTION_MASK with bit2=1.
  • Page 836: Data Lists

    P1: Transverse axes 12.4 Data lists 12.4 Data lists 12.4.1 Machine data 12.4.1.1 Channel­specific machine data Number Identifier: $MC_ Description 20050 AXCONF_GEOAX_ASSIGN_TAB[n] Assignment of geometry axis to channel axis 20060 AXCONF_GEOAX_NAME_TAB[n] Geometry axis name in channel 20100 DIAMETER_AX_DEF Geometry axis with transverse axis function 20110 RESET_MODE_MASK Definition of control basic setting after power­up and RESET /...
  • Page 837: P3: Basic Plc Program For Sinumerik 840D Sl

    P3: Basic PLC Program for SINUMERIK 840D sl 13.1 Brief description General The PLC basic program organizes the exchange of signals and data between the PLC user program and the NCK (Numerical Control Kernel), HMI (Human Machine Interface) and MCP (Machine Control Panel). In the case of signals and data, a distinction is made between the following groups: •...
  • Page 838 P3: Basic PLC Program for SINUMERIK 840D sl 13.1 Brief description Event-driven signal exchange PLC → NCK An "event­driven signal exchange PLC → NCK" takes place whenever the PLC passes a request to the NCK (e.g. traversal of an auxiliary axis). In this case, data transfer is also acknowledgment-driven. When performed from the user program, this type of signal exchange is triggered using a function block (FB) or function call (FC).
  • Page 839: Key Data Of The Plc-Cpus For 840D Sl And 840Di Sl

    P3: Basic PLC Program for SINUMERIK 840D sl 13.2 Key data of the PLC-CPUs for 840D sl and 840Di sl 13.2 Key data of the PLC-CPUs for 840D sl and 840Di sl Scope of performance The table given below shows the performance range of the PLC CPUs and the scope of the basic PLC program with reference to various types of control.
  • Page 840 P3: Basic PLC Program for SINUMERIK 840D sl 13.2 Key data of the PLC-CPUs for 840D sl and 840Di sl Type of control 840Di sl 840D sl (NCU 710.2) PLC CPU: Integrated PLC 317-2DP Integrated PLC 317-2DP FW 2.1 FW 2.1 Firmware release: I/O types that can be used Central...
  • Page 841 P3: Basic PLC Program for SINUMERIK 840D sl 13.2 Key data of the PLC-CPUs for 840D sl and 840Di sl Type of control 840D sl (NCU 720.2 PN and NCU 730.2 PN) PLC CPU: Integrated PLC 319-3PN/DP FW 2.4 FW 2.6 FW 2.7 Firmware release: Key CPU data...
  • Page 842 P3: Basic PLC Program for SINUMERIK 840D sl 13.2 Key data of the PLC-CPUs for 840D sl and 840Di sl Type of control 840D sl (NCU 720.2 PN and NCU 730.2 PN) PLC CPU: Integrated PLC 319-3PN/DP FW 2.4 FW 2.6 FW 2.7 Firmware release: I/O types that can be used...
  • Page 843 P3: Basic PLC Program for SINUMERIK 840D sl 13.2 Key data of the PLC-CPUs for 840D sl and 840Di sl Note Number of PROFIBUS slaves The content of the SDB2000 and related further SDBs is stored by the PLC operating system in internal data structures, which the PROFIBUS ASIC can also access.
  • Page 844 P3: Basic PLC Program for SINUMERIK 840D sl 13.2 Key data of the PLC-CPUs for 840D sl and 840Di sl Version screen according to the module state in STEP 7 Online If, using STEP 7 Online, you connect to a PLC integrated in SINUMERIK, there, under the "General" tab, you can determine the hardware version of the PLC module as well as the PLC firmware version.
  • Page 845 P3: Basic PLC Program for SINUMERIK 840D sl 13.2 Key data of the PLC-CPUs for 840D sl and 840Di sl Type of control PI services Tool management Star/delta switchover Safety Integrated Program diagnostics Mode switch for the PLC CPU On the NCU module, the rotary switch labeled "PLC" is used to set the PLC operating modes. The switch settings S are listed in the following table: Meaning Remark...
  • Page 846: Reserve Resources (Timers, Counters, Fc, Fb, Db, I/O)

    P3: Basic PLC Program for SINUMERIK 840D sl 13.3 Reserve resources (timers, counters, FC, FB, DB, I/O) 13.3 Reserve resources (timers, counters, FC, FB, DB, I/O) Reserve resources (timers, counters, FC, FB, DB, I/O) The components below are reserved for the basic program: •...
  • Page 847: Startup Hardware Configuration Of The Plc-Cpus

    P3: Basic PLC Program for SINUMERIK 840D sl 13.4 Startup hardware configuration of the PLC-CPUs 13.4 Startup hardware configuration of the PLC-CPUs General procedure The hardware configuration for the PLC CPUs used in the NCU7x0, including other components of the NCU (NCK, CP, HMI, drive), must be defined via STEP 7.
  • Page 848 P3: Basic PLC Program for SINUMERIK 840D sl 13.4 Startup hardware configuration of the PLC-CPUs Note On SINUMERIK 840D, SIMATIC line 0 is allocated for the SINUMERIK components. In this line stretches to: • Slot 2: the integrated PLC with the different bus systems •...
  • Page 849 P3: Basic PLC Program for SINUMERIK 840D sl 13.4 Startup hardware configuration of the PLC-CPUs Figure 13-1 Hardware configuration on the SINUMERIK 840D sl and SINAMICS Properties dialog box Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 850 P3: Basic PLC Program for SINUMERIK 840D sl 13.4 Startup hardware configuration of the PLC-CPUs Figure 13-2 DP slave properties In the Properties dialog box for the integrated SINAMICS drive, object codes 1 to 6 are used to identify axes 1 to 6.
  • Page 851 P3: Basic PLC Program for SINUMERIK 840D sl 13.4 Startup hardware configuration of the PLC-CPUs Ethernet communication In case of CP 840D the Ethernet address is assigned by default for the port X127. As such, the PLC can be reached via this port from a STEP 7 project. If needed, the Ethernet address on the CP 840D can be changed to the Ethernet address of the port X120 or X130.
  • Page 852: Starting Up The Plc Program

    P3: Basic PLC Program for SINUMERIK 840D sl 13.5 Starting up the PLC program 13.5 Starting up the PLC program 13.5.1 Installation of the basic program A complete general reset of the NCK and the PLC is necessary before starting up the NCU component for the first time.
  • Page 853: Version Codes

    P3: Basic PLC Program for SINUMERIK 840D sl 13.5 Starting up the PLC program Compatibility with STEP 7 There are no dependencies between the basic program and current STEP7 versions. 13.5.3 Version codes Basic Program The version of the basic program is displayed on the HMI version screen along with the controller type. The controller type is encoded as follows: Left-justified decade Controller type...
  • Page 854: Data Backup

    P3: Basic PLC Program for SINUMERIK 840D sl 13.5 Starting up the PLC program 13.5.5 Data backup The PLC-CPU does not save any symbolic names, but instead only the datatype descriptions of the block parameters VAR_INPUT, VAR_OUTPUT, VAR_IN_OUT, VAR and the datatypes of the global data blocks. Note No sensible recompilation is possible without the related project for this machine.
  • Page 855 P3: Basic PLC Program for SINUMERIK 840D sl 13.5 Starting up the PLC program Functions: Function Magic(bstrVal As String) As Long Function MakeSeriesstart-up (FileName As String, Option As Long, Container As S7Container) As Long Description Function Magic(bstrVal As String) As Long Call gives access to certain functions.
  • Page 856: Software Upgrade

    P3: Basic PLC Program for SINUMERIK 840D sl 13.5 Starting up the PLC program Cont = Nothing Next Error = S7Ext.MakeSerienIB("f:\dh\arc.dir\PLC.arc", 0, Cont) ' Now error analysis The For Each ... Next Block programmed above can be programmed in the Delphi programming language as follows (the programming for C, C++ programming languages is similar): EnumVar: IEnumVariant;...
  • Page 857: I/O Modules (Fm, Cp Modules)

    P3: Basic PLC Program for SINUMERIK 840D sl 13.5 Starting up the PLC program However, it is normally sufficient to recompile the organization blocks (OBs) and the instance data blocks of the S7 project. This means before upgrading, only the sources for the organization blocks and the instance data blocks have to be generated.
  • Page 858: Troubleshooting

    P3: Basic PLC Program for SINUMERIK 840D sl 13.5 Starting up the PLC program 13.5.9 Troubleshooting This section describes problems which may occur, their causes and remedies and should be read carefully before hardware is replaced. Errors, cause/description and remedy Serial error Errors...
  • Page 859: Coupling Of The Plc Cpus

    P3: Basic PLC Program for SINUMERIK 840D sl 13.6 Coupling of the PLC CPUs 13.6 Coupling of the PLC CPUs 13.6.1 General The AS 300 family is used as PLC for SINUMERIK 840D sl / 840Di sl. The PLC-CPU is integrated into the NCU component as a sub-module.
  • Page 860 P3: Basic PLC Program for SINUMERIK 840D sl 13.6 Coupling of the PLC CPUs Figure 13-3 NCK/PLC coupling on SINUMERIK 840D (integrated PLC) NCK/PLC interface As illustrated in the figure, NCK/PLC data exchange is organized by the basic program in the PLC. At the beginning of the cycle (OB1), the status information(e.g.
  • Page 861: Diagnostic Buffer On Plc

    P3: Basic PLC Program for SINUMERIK 840D sl 13.6 Coupling of the PLC CPUs The evaluation and enabling of the G functions transferred from the NCK are also alarm­driven, however they are transferred directly to the user interface. Where a G function is evaluated at several points in the PLC program, differences in the information of the G function within one PLC cycle may arise.
  • Page 862: Interface Structure

    P3: Basic PLC Program for SINUMERIK 840D sl 13.7 Interface structure 13.7 Interface structure Interface DBs Mapping in interface data blocks is necessary due to the large number of signals exchanged between the NCK and PLC. These are global data blocks from the viewpoint of the PLC program. During system start-up, the basic program creates these data blocks from current NCK machine data (no.
  • Page 863 P3: Basic PLC Program for SINUMERIK 840D sl 13.7 Interface structure Function interface The function interface is formed by FBs and FCs. The figure below illustrates the general structure of the interface between the PLC and the NCK. Figure 13-4 PLC/NCK user interface Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 864 P3: Basic PLC Program for SINUMERIK 840D sl 13.7 Interface structure Compile-cycle signals In addition to the standard signals exchanged between the PLC and NCK, an interface data block for compile cycles is also generated if required (DB 9). The associated signals, which are dependent on the compile cycles, are transmitted cyclically at the start of OB 1.
  • Page 865 P3: Basic PLC Program for SINUMERIK 840D sl 13.7 Interface structure NCK/PLC signals The group of signals from the NCK to PLC includes: • Actual values of the digital and analog I/O signals of the NCK • Ready and status signals of the NCK Also output in this group are the HMI handwheel selection signals and the status signals.
  • Page 866 P3: Basic PLC Program for SINUMERIK 840D sl 13.7 Interface structure Figure 13-6 PLC/Mode group interface Signals PLC/NCK channels The signal groups below must be considered on the interface: • Control/status signals • Auxiliary/G functions • Tool management signals • NCK functions The control / status functions are transmitted cyclically at the start of OB1.
  • Page 867 P3: Basic PLC Program for SINUMERIK 840D sl 13.7 Interface structure Figure 13-7 PLC/NCK channel interface PLC/axis, spindle, drive signals The axis-specific and spindle-specific signals are divided into the following groups: • Shared axis/spindle signals • Axis signals • Spindle signals •...
  • Page 868: Interface Plc/Hmi

    P3: Basic PLC Program for SINUMERIK 840D sl 13.7 Interface structure Figure 13-8 Interface between PLC and axes/spindles/drives 13.7.2 Interface PLC/HMI General The following groups of functions are required for the PLC/HMI interface: • Control signals • Machine operation • PLC messages •...
  • Page 869 P3: Basic PLC Program for SINUMERIK 840D sl 13.7 Interface structure Machine operation All operator inputs, which lead to response actions on the machine, are monitored by the PLC. Operator actions are usually performed on the machine control panel (MCP). However, it is also possible to perform some operator actions on the HMI e.g.
  • Page 870 P3: Basic PLC Program for SINUMERIK 840D sl 13.7 Interface structure • Bit fields for events related to the VDI interface are combined in a single data block (DB2) with bit fields for user messages. • Bit fields are evaluated at several levels by FC10. Evaluation 1;...
  • Page 871 P3: Basic PLC Program for SINUMERIK 840D sl 13.7 Interface structure User program The user PLC program merely needs to call the basic program block FC 10 with appropriate parameter settings in the cyclic program section and set or reset the bit fields in DB2. All further necessary measures are implemented by the basic program and HMI.
  • Page 872 P3: Basic PLC Program for SINUMERIK 840D sl 13.7 Interface structure The extensions are: • Support for 10 channels, 31 axes. • Areas for feed stop, read-in disable, etc. are available without messages. The information from this area is stored on the interface in DB21, DB31 depending upon the FC 10-parameter "ToUserIF" together with the related message bits as group signals.
  • Page 873: Plc/Mcp/Hhu Interface

    P3: Basic PLC Program for SINUMERIK 840D sl 13.7 Interface structure 13.7.3 PLC/MCP/HHU interface General There are three different connection options for the machine control panel (MCP) and the handheld unit (HHU). This is in part due to the history of the MCP and HHU. This description focuses primarily on the connection of the Ethernet components.
  • Page 874 P3: Basic PLC Program for SINUMERIK 840D sl 13.7 Interface structure Topology SINUMERIK 840Di sl In case of 840Di sl the machine control panel, the handheld unit are connected via Ethernet or PROFIBUS. The PLC operating system copies the incoming signals straight to the user interface (e.g. input image) at the cycle control point.
  • Page 875: Structure And Functions Of The Basic Program

    P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program 13.8 Structure and functions of the basic program General The program is modular in design, i.e. it is structured according to NCK functions. In the operating system, a distinction is made between the following levels of execution: •...
  • Page 876 P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program Figure 13-12 Structure of the basic program Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 877: Start­up And Synchronization Of Nck Plc

    P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program 13.8.1 Start­up and synchronization of NCK PLC Loading the basic program The basic program must be loaded with the S7 tool when the PLC is in the Stop state. This ensures that all blocks in the basic program will be initiated correctly the next time they are called.
  • Page 878 P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program Control/Status signals A shared feature of the control and status signals is that they are bit fields. The basic program updates them at the start of OB1. The signals can be subdivided into the following groups: •...
  • Page 879: Time-Interrupt Processing (Ob 35)

    P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program M decoder M functions can be used to transfer both switching commands and fixed point values. Decoded dynamic signals are output to the CHANNEL DB interface for standard M functions (range M00 - M99) signal length = 1 cycle time).
  • Page 880: Diagnostic Interrupt, Module Failure Processing (Ob 82, Ob 86)

    P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program 13.8.5 Diagnostic interrupt, module failure processing (OB 82, OB 86) General A module diagnosis or module failure on an I/O module triggers OB 82 / OB 86. These blocks are supplied by the basic program.
  • Page 881: Functions Of The Basic Program Called From The User Program

    P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program NCK → PLC signals The signals sent by the NCK to the PLC are divided into the following groups: • Status signals from the NCK, channels, axes and spindles •...
  • Page 882 P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program • Control of spindle (FC 18), • Read/write variables (FB 2, FB 3). Note The following note will later help you to check and diagnose a function call (FCs, FBs of basic program).
  • Page 883 P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program ASUBs Asynchronous subprograms (ASUBs) can be used to activate any function in the NCK. Before an asynchronous subprogram can be started from the PLC, it must be ensured that it is available and prepared by the NC program or by FB 4 PI services (ASUB).
  • Page 884: Symbolic Programming Of User Program With Interface Db

    P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program Functions AG_SEND, AG_RECV The named functions correspond to the functions of the library "SIMATIC_NET_CP" of the S7-300 CPU in STEP 7. In general, these functions are valid for the online help of these functions. The functions AG_SEND, AG_RECV can be used for data exchange with another station via the integrated "CP 840D sl".
  • Page 885 P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program The assignments have been made as follows: UDT assignments UDT number Assignment to interface DB Significance UDT 2 DB 2 Interrupts/Messages UDT 10 DB 10 NCK signals UDT 11 DB 11...
  • Page 886: M Decoding Acc. To List

    P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program 13.8.9 M decoding acc. to list Description of functions When the M decoding according to list function is activated via the GP parameter of FB1 "ListMDecGrp" (number of M groups for decoding), up to 256 M functions with extended address can be decoded by the basic program.
  • Page 887 P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program Figure 13-14 M decoding acc. to list Activation of the function The number of groups to be evaluated / decoded is indicated in the basic program parameter "ListMDecGrp" when FB 1 is called in OB 100 (see also "...
  • Page 888 P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program The bit address is generated correspondingly from the first M function ("MFirstAdr") to the last M function ("MLastAdr") from bit 0 up to maximum bit 15 for each group. Each entry in the decoding lists consists of 3 parameters, each of which is assigned to a group.
  • Page 889 P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program Structure of the decoding list in DB 75: Example parameters Group Decoding list (DB 75) Signal list Extended First Last DB 76 M address M address M address in group...
  • Page 890: Plc Machine Data

    P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program If the NC program is started at this point and the expanded M function (e.g. M3=17) is processed by the NCK, this M function will be decoded and bit 2.5 set in DB 76 (see decoding list DB 75). At the same time, the basic program sets the read-in disable and the processing of the NC program is halted (in the corresponding NC- channel DB the entry "expanded address M function"...
  • Page 891 P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program Figure 13-15 DB 20 Note If the number of PLC machine data used is increased later, then DB20 must be deleted beforehand. To prevent such extensions in use having any effect on the existing user program, the data in DB20 should be accessed in symbolic form wherever possible, e.g.
  • Page 892 P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program MD14514 $MN_USER_DATA_FLOAT[0] 123.456 GP Parameter (OB 100): CALL FB 1, DB 7 ( MCPNum := MCP1In := P#E0.0, MCP1Out := P#A0.0, MCP1StatSend := P#A8.0, MCP1StatRec := P#A12.0, MCP1BusAdr :=...
  • Page 893 P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program Note ARRAY OF BOOL are always sent to even-numbered addresses. For this reason, an array range of 0 to 15 must generally be selected in the UDT definition or all Boolean variables specified individually.
  • Page 894: Configuration Machine Control Panel, Handheld Unit, Direct Keys

    P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program 13.8.11 Configuration machine control panel, handheld unit, direct keys General Up to two machine control panels and one handheld unit can be in operation at the same time. For the machine control panel or HT8 (MCP) and hand-held unit HT2, HT1 (BHG) there are various connection options (Ethernet, PROFIBUS).
  • Page 895 P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program 840D sl: Ethernet connection Without further configuration settings being made, communication takes place directly from the PLC GP via the CP 840D sl. The FB 1 parameters listed below are used for parameterization. The numeric part of the logical name of the component must be entered in "MCP1 BusAdr", "MCP2 BusAdr"...
  • Page 896 P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program An error entry is also made in the PLC alarm buffer for timeouts. As a result, the following error messages are output at the HMI: •...
  • Page 897 P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program Control unit switching for direct control keys The user switches Op1/2KeyBusAdr with 0xFF and Stop = TRUE in the startup block OB 100. Via the M to N block FB 9 the direct control key address of the M to N-interface is stored to the parameter "Op1KeyBusAdr".
  • Page 898 P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program Relevant parameters (FB 1) MCP-device identification Input parameters e.g. OP08T IdentMcpStrobe IdentMcpBusProfilNo Value MCP, BHG, HT8, HT2 B#16#0 Direct control keys, such as OP08T, OP12T B#16#1 IdentMcpType (Mcp-Type) no device connected...
  • Page 899 P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program Figure 13-17 840D sl: PROFIBUS connection Relevant parameters (FB 1) MCPNum = 1 or 2 (number of MCPs) HHU = 5 (via CP 840D sl) MCP1In MCP2In BHGIn MCP1Out...
  • Page 900 P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program 840D sl: PROFIBUS connection on the MPI/DP port With the PROFIBUS connection of the MCP, this component must be considered in the STEP 7 hardware configuration.
  • Page 901 P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program MCP failure normally switches the PLC to the STOP state. If this is unwanted, OB 82, OB 86 can be used to avoid a PLC stop. The basic program has, as standard, the OB 82 and OB 86 call. FC5 is called in these OBs. This FC5 checks whether the failed slave is an MCP.
  • Page 902: Switchover Of Machine Control Panel, Handheld Unit

    P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program Relevant parameters (FB1) MCP1Cycl MCP2Cycl BHGTimeout (n.r.) MCPMPI = FALSE BHGCycl (n.r.) MCP1Stop MCP2Stop BHGRecGDNo MCPBusType = b#16#36 BHGRecGBZNo (n.r.) BHGRecObjNo (n.r.) MCPSDB210= FALSE BHGSendGDNo (n.r.) MCPCopyDB77 = FALSE BHGSendGBZNo (n.r.)
  • Page 903 P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program Switchover of Bus address An existing connection with a machine control panel (MCPl) or handheld unit (HHU) can be aborted. Another MCP or HHU component already connected to the bus (different address) can then be activated. Proceed as follows to switch addresses: 1.
  • Page 904 P3: Basic PLC Program for SINUMERIK 840D sl 13.8 Structure and functions of the basic program Example: Extract from OB100: (based on the example for MCP1) CALL "RUN_UP" , "gp_par" MCP1StatSend := P#A 8.0 //deactivate MCP flashing A 11.6 A 11.7 Basic Functions Function Manual, 09/2011, 6FC5397-0BP40-2BA0...
  • Page 905: Spl For Safety Integrated

    P3: Basic PLC Program for SINUMERIK 840D sl 13.9 SPL for Safety Integrated 13.9 SPL for Safety Integrated Rather than being a function of the basic program, SPL is a user function. The basic program makes a data block (DB 18) available for Safety SPL signals and runs a data comparison to ensure the consistency of SPL program data in the NCK.
  • Page 906: Assignment Overview

    FB 15 Basic program FB 1, FC 2, FC 3, FC 5 Basic program FC 0 ... 29 Reserved for Siemens FB 0 ... 29 Reserved for Siemens Free for user assignment FC 30 ... 999 Free for user assignment FB 30 ...
  • Page 907: Assignment: Db

    Only as many data blocks as are required according to the NC machine data configuration are set up. Overview of data blocks Packa DB no. Name Name Reserved for Siemens 2 ... 5 PLC-MELD PLC messages 6 ... 8 Basic program NC-COMPILE...
  • Page 908: Assignment: Timers

    P3: Basic PLC Program for SINUMERIK 840D sl 13.10 Assignment overview 13.10.4 Assignment: Timers Timer No. Significance User area T 0 ... T 512 The actual upper limit of the timer number (DB) depends on the PLC CPU on which the selected NCU is located.
  • Page 909: Memory Requirements Of The Basic Plc Program

    P3: Basic PLC Program for SINUMERIK 840D sl 13.11 Memory requirements of the basic PLC program 13.11 Memory requirements of the basic PLC program The basic program consists of basic and optional functions. The basic functions include cyclic signal exchange between the NC and PLC.
  • Page 910 P3: Basic PLC Program for SINUMERIK 840D sl 13.11 Memory requirements of the basic PLC program Basic program options ASUB FC 9 ASUB start Load when PLC ASUBs are used Basic program options Star/delta changeover FC 17 Star/delta switchover of Load for star/delta switchover Spindle control FC 18...
  • Page 911 P3: Basic PLC Program for SINUMERIK 840D sl 13.11 Memory requirements of the basic PLC program Basic program options Compile cycles DB 9 Interface Is generated by BP as a function of NC option PLC compile cycles Example: Based on the memory requirements in the table above, the memory requirements have been determined for two sample configurations (see table below).
  • Page 912: Basic Conditions And Nc Var Selector

    P3: Basic PLC Program for SINUMERIK 840D sl 13.12 Basic conditions and NC VAR selector 13.12 Basic conditions and NC VAR selector 13.12.1 Supplementary conditions 13.12.1.1 Programming and parameterizing tools Hardware For the PLCs used in SINUMERIK 840D sl, the following equipment is required for the programming devices or PCs: Minimum Recommendation...
  • Page 913: 2Simatic Documentation Required

    P3: Basic PLC Program for SINUMERIK 840D sl 13.12 Basic conditions and NC VAR selector • Testing and diagnostics (ONLINE) Variable status/forcing (I/Os, flags, data block contents, etc.) Status of individual blocks Display of system states (ISTACK, BSTACK, system status list) Display of system messages PLC STOP/complete restart/overall reset triggering from the programming device Compress PLC...
  • Page 914: 3Relevant Sinumerik Documents

    P3: Basic PLC Program for SINUMERIK 840D sl 13.12 Basic conditions and NC VAR selector • Reference manual STEP 7; Default and system functions • Manual STEP 7; Conversion of STEP 5 programs • STEP 7 overall index • Manual CPU 317-2DP 13.12.1.3 Relevant SINUMERIK documents Reference: •...
  • Page 915 P3: Basic PLC Program for SINUMERIK 840D sl 13.12 Basic conditions and NC VAR selector Figure 13-20 NC VAR selector After the "NC VAR selector" application has been started, select a list of variables of an NC variant (hard disk → file Ncv.mdb) to display all the variables contained in this list in a window.
  • Page 916: 2Description Of Functions

    P3: Basic PLC Program for SINUMERIK 840D sl 13.12 Basic conditions and NC VAR selector The variable list supplied with the "NC VAR selector" tool is adapted to the current NC software version. This list does not contain any variables (GUD variables) defined by the user. These variables are processed by the function block FB 5 in the basic program.
  • Page 917 P3: Basic PLC Program for SINUMERIK 840D sl 13.12 Basic conditions and NC VAR selector • A *.awl file contains the names and alias names of the NC variables, as well as information about their address parameters. Any data block generated from this file will only contain the address parameters (10 bytes per parameter).
  • Page 918 P3: Basic PLC Program for SINUMERIK 840D sl 13.12 Basic conditions and NC VAR selector Figure 13-23 Window with selected variables for new project The selected variables are displayed in a window. Open an already existing project Select "Open" under the "Project" menu item to open an existing project (variables already selected). A file selection window is displayed allowing the appropriate project with extension ".var"...
  • Page 919 P3: Basic PLC Program for SINUMERIK 840D sl 13.12 Basic conditions and NC VAR selector Printing a project The "Print" command under the "Project" menu item can be selected to print a project file. The number of lines per page is selected under the "Print Setting" menu item. The default setting is 77 lines. Edit menu item The following operator actions are examples of those, which can be carried out directly with this menu item: •...
  • Page 920 P3: Basic PLC Program for SINUMERIK 840D sl 13.12 Basic conditions and NC VAR selector The field variables (e.g. axis area, T area data, etc.) are indicated by means of brackets ([.]). Additional information must be specified here. When the variables are transferred to the project list, the additional information required is requested.
  • Page 921 P3: Basic PLC Program for SINUMERIK 840D sl 13.12 Basic conditions and NC VAR selector • Select variable A variable is selected by means of a simple mouse click and transferred to the window of selected variables by double-clicking. This action can also be undone under the "Edit" menu item. Alias name The variable names provided can be up to 32 characters in length.
  • Page 922 P3: Basic PLC Program for SINUMERIK 840D sl 13.12 Basic conditions and NC VAR selector Figure 13-28 Entry field for line, column and block no. Delete variables Variables are deleted in the window of selected variables by selecting the appropriate variables (single mouse click) and pressing the "Delete"...
  • Page 923 P3: Basic PLC Program for SINUMERIK 840D sl 13.12 Basic conditions and NC VAR selector Figure 13-29 Window for project path and name of file to be stored Code generation This menu item contains three selection options: 1. Settings (input of data block number to be generated) and other settings 2.
  • Page 924: 3Start­up, Installation

    P3: Basic PLC Program for SINUMERIK 840D sl 13.12 Basic conditions and NC VAR selector In STEP 7 project The generated AWL file is transferred to a selectable SIMATIC project (program path) and compiled. Furthermore, the symbol can also be transferred. This function is available from STEP 7 version 5.1 onwards. This process takes a longer time owing to the call of STEP 7.
  • Page 925: Block Descriptions

    P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions 13.13 Block descriptions 13.13.1 FB 1: RUN_UP Basic program, start­up section Function The synchronization of NCK and PLC is performed during startup. The data blocks for the NC/PLC user interface are created with reference to the NC configuration defined in the machine data and the most important parameters verified for plausibility.
  • Page 926 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions MCP1Out: POINTER; //Start addr. output signals MCP 1 MCP1StatSend: POINTER; //Status DW for sending MCP 1 MCP1StatRec: POINTER; //Status DW for receiving MCP 1 MCP1BusAdr: INT:=6; //Default MCP1Timeout: S5TIME:= S5T#700MS; MCP1Cycl: S5TIME:= S5T#200MS;...
  • Page 927 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions NCKomm: BOOL:= FALSE; MMCToIF: BOOL:= TRUE; HWheelMMC: BOOL:= TRUE; //Handwheel selection via HMI ExtendAlMsg : BOOL; MsgUser: INT:=10; //Number of user areas in DB 2 UserIR: BOOL:= FALSE; //User programs in OB 40, //Observe local data expansion! IRAuxfuT: BOOL:= FALSE;...
  • Page 928 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Description of formal parameters of SINUMERIK 840D sl The table below lists all formal parameters of the RUN_UP function for the 840D sl: Signal Type Value range Comment MCPNum Up to 2 Number of active MCP No MCPs available MCP1In...
  • Page 929 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Signal Type Value range Comment MCPBusType BYTE Righthand half byte (bits 0...3) for MCP1 Lefthand half byte (bits 4...7) for MCP2 b#16#33: PROFIBUS b#16#44: PROFIBUS on the MPI/DP port b#16#55: Ethernet B#16#66: PROFINET Mixed mode possible, see Chapter "...
  • Page 930 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Signal Type Value range Comment BHGStop BOOL Start transmission of handheld unit signals Stop transmission of handheld unit signals BHGNotSend BOOL Send and receive operation activated Receive handheld unit signals only NCCyclTimeout S5time Recommendation: 200 ms...
  • Page 931 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Signal Type Value range Comment Op1KeyOut POINTER P#Ax.0 Start address for the output signals of the affected direct control key modules Op2KeyOut P#Mx.0 P#DBn.DBXx.0. Op1KeyBusAdr 1 ... 191 Direct control keys via Ethernet: TCU Index: Op2KeyBusAdr Op1KeyStop...
  • Page 932 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions MCP/HHU monitoring (840D sl) The following alarms are displayed at HMI in cases of errors for the communication with the machine control panel (MCP): • 400260: MCP 1 failure or •...
  • Page 933: Fb 2: Read Get Nc Variable

    P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions 13.13.2 FB 2: Read GET NC variable Function The PLC user program can read variables from the NCK area using FB GET. The FB is multi-instance-capable. FB 2 also includes an Instance DB from the user area. When FB 2 is called with a positive signal edge change at control input "Req", a job is started, which reads the NCK variables referenced by ADDR1­ADDR8 and then copies them to the PLC operand areas referenced by RD1 to RD8.
  • Page 934 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Declaration of the function FUNCTION_BLOCK FB 2 VAR_INPUT Req : BOOL; NumVar : INT ; Addr1 : ANY ; Unit1 : BYTE ; Column1 : WORD ; Line1 : WORD ;...
  • Page 935 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions VAR_IN_OUT RD1 : ANY ; RD2 : ANY ; RD3 : ANY ; RD4 : ANY ; RD5 : ANY ; RD6 : ANY ; RD7 : ANY ; RD8 : ANY ;...
  • Page 936 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions State Significance Note WORD H WORD L Negative acknowledgment, job Internal error, try: not executable NC RESET 1 ... 8 Insufficient local user memory Read var. is longer than specified in available RD1 to RD8;...
  • Page 937 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Pulse diagram Activation of function Positive acknowledgment: Receive new data Reset function activation after receipt of acknowledgment Signal change by means of FB Not permissible Negative acknowledgment: Error has occurred, error code in the output parameter State Call example Reading of three channel­specific machine data from channel 1, whose address specifications are stored in DB120.
  • Page 938 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions I 7.7; //Unassigned machine control panel key M 100.0; //Activate req. M 100.1; //NDR completed message M 100.0; //Terminate job I 7.6; //Manual error acknowledgment M 102.0; //Error pending M 100.0;...
  • Page 939 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Addr1 := "NCVAR".C1_RP_rpa0_0, Line1 := W#16#1, Addr2 := "NCVAR".C1_RP_rpa0_0, Line2 := W#16#2, Error := M 1.0, NDR := M 1.1, State := MW 2, RD1 := P#M 4.0 REAL 1, RD2 := P#M 24.0 REAL 1);...
  • Page 940: Fb 3: Put Write Nc Variables

    P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions 13.13.3 FB 3: PUT write NC variables Function The PLC user program can write variables in the NCK area using FB PUT. The FB is multi-instance-capable. Every FB 3 call must be assigned a separate instance DB from the user area. When FB 3 is called with a positive signal edge change at control input Req, a job is started to overwrite the NC variables referenced by Addr1 to Addr8 with the data of the PLC operand areas locally referenced by SD1 to SD8.
  • Page 941 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Area Group 1 C[1]  A  Group 2 C[2]  A  Group 3 V[.] H[.] The same rules apply to channels 3 to 10 as illustrated as examples in the above table in groups 1 and 2. Note Especially when reading several long strings, the number of usable variables can be less than 8.
  • Page 942 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Addr8 : ANY ; Unit8 : BYTE ; Column8 : WORD ; Line8 : WORD ; END_VAR VAR_OUTPUT Error : BOOL ; Done : BOOL ; State : WORD ; END_VAR VAR_IN_OUT SD1 :...
  • Page 943 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Error identifiers If it was not possible to execute a job, the failure is indicated by "logic 1" on status parameter error. The error cause is coded at the block output State: State Significance Note...
  • Page 944 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Pulse diagram Activation of function Positive acknowledgment: variables have been written Reset function activation after receipt of acknowledgment Signal change by means of FB Not permissible Negative acknowledgment: Error has occurred, error code in output parameter state Call example Writing of three channel­specific machine data of channel 1: Select the three data with NC VAR selector and store in the file DB120.VAR:...
  • Page 945 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions M 100.0; //Terminate job CALL FB 3, DB 111 ( Req := M 100.0, NumVar := //Write 3 variables Addr1 := NCVAR.rpa_5C1RP, Addr2 := NCVAR.rpa_11C1RP, Addr3 := NCVAR.rpa_14C1RP, Error := M102.0, Done := M100.1,...
  • Page 946: Fb 4: Pi_Serv Pi Services

    P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions State := MW 12, SD1 := P#M 4.0 REAL 1, SD2 := P#M 24.0 REAL 1); 13.13.4 FB 4: PI_SERV PI services Function FB PI_SERV can be used to start program-instance services in the NCK area. Note Recommendation: Use the extended FB 7 in place of FB 4.
  • Page 947 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions WVar1 : WORD ; WVar2 : WORD ; WVar3 : WORD ; WVar4 : WORD ; WVar5 : WORD ; WVar6 : WORD ; WVar7 : WORD ; WVar8 : WORD ;...
  • Page 948: 1Overview Of Available Pi Services

    P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Error identifiers If it was not possible to execute a job, the failure is indicated by "logic 1" on status parameter error. The error cause is coded at the block output State: State Significance Note...
  • Page 949 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Table 13-2 General PI services PI service Function CONFIG Reconfiguration of tagged machine data DIGION Digitizing on DIGIOF Digitizing off FINDBL Activate block search LOGIN Activate password LOGOUT Reset password NCRES Trigger NC-RESET SELECT...
  • Page 950: 2General Pi Services

    P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions 13.13.4.2 General PI services PI service: ASUB Function: Assign interrupt A program stored on the NCK is assigned an interrupt signal for a channel. This is possible only when the program file may be executed.
  • Page 951 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions PI service: CONFIG Function: Reconfiguration The reconfiguration command activates machine data, which have been entered sequentially by the operator or the PLC, almost in parallel. The command can only be activated when the control is in RESET state or the program is interrupted (NC stop at block limit).
  • Page 952 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions PI service: FINDBL Function: Activate block search A channel is switched to block search mode and the appropriate acknowledgment then transmitted. The block search is then executed immediately by the NCK. The search pointer must already be in the NCK at this point in time.
  • Page 953 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions PI service: NCRES Function: Trigger NC-RESET Initiates an NCK RESET. The Unit and WVar1 parameters must be assigned 0. Parameterization Signal Type Value range Meaning PIService PI.NCRES Trigger NC-RESET Unit WVar1 WORD...
  • Page 954: 3Pi Services Of Tool Management

    P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions PI service: SETUDT Function: Set function current user data active The current user data, such as tool offsets, basic frames and settable frames are set to active in the next NC block (only in STOP state).
  • Page 955 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Parameterization Signal Type Value range Meaning PIService PI.CRCEDN Create new cutting edge Unit 1 ... 10 WVar1 T number of tool for which cutting edge must be created. A setting of 00000 states that the cutting edge should not refer to any particular tool (absolute D number).
  • Page 956 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions PI service: DELECE Function: Delete a tool cutting edge If the T number of an existing tool is specified in parameter “T number” in the PI service, then a cutting edge is deleted for this particular tool (in this case, parameter “D number”...
  • Page 957 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions PI service: MMCSEM Semaphores for various PI services For use by HMI and PLC 10 semaphores are provided for each channel. These protect critical functions for the HMI/PLC. By setting the semaphore for the corresponding function number, several HMI/PLC units can be synchronized with it in cases where a function contains a critical section with respect to data to be fetched by the NCK.
  • Page 958 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions PI service: TMCRTO Function Create tool: Creating a tool with specification: • of an identifier, a duplo number, e.g. with: $TC_TP1[y] = duplo number; $TC_TP2[y] = "tool identifier"; • optionally a T number, e.g.
  • Page 959 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Location_number_to = -1, Magazine_number_to = Magazine_number: An empty location for the tool specified with a T number is searched for in the specified magazine. Location_number_ID and magazine_number_ID can be set as search criteria or not (= -1). The PI is acknowledged positively or negatively depending on the search result.
  • Page 960 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions backed up using the semaphore mechanism (PI service _N_MMCSEM) with the function number for _N_TMGETT. Note Before and after this PI service, the MMCSEM PI service must be called up with the associated parameter WVar1 for this PI service.
  • Page 961 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Load function Prepares the specified real magazine for the specified channel for loading, i.e. traverses the magazine to the selected location for loading at the specified loading point/station (location_number_from, magazine_number_from) and inserts the tool.
  • Page 962 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions • T number of the tool The location where the tool is positioned traverses; the "tool identifier", "duplo number", "location number_from" and "magazine number_from" parameters are irrelevant (i.e. values "" , "-0001", "-0001","-0001"). •...
  • Page 963 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions PI service: TMRASS Function: Reset active status Resetting the active status on worn tools This PI service is used to search for all tools with the tool status active and disabled. The active status is then canceled for these tools.
  • Page 964 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions PI service: TSEARC Function: Complex search using search screen form (dependent on parameter assignment): The PI service allows you to search for tools with specified properties within a search domain (in one or more magazines starting and ending at a specific location).
  • Page 965 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions MagNr PlaceNr MagNr PlaceNr Search area From From Locations in magazine #M1 starting at magazine #M1 and location #P1 in this magazine are searched Locations starting at magazine #M1 and location #P1 up to magazine #M2 are searched Locations starting at magazine #M1 up to...
  • Page 966 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Parameterization Signal Type Value range Meaning WVar6 PlaceNrRef Location number of location in magazine MagNrRef, with reference to which the symmetrical search is to be performed. This parameter is only relevant with a "symmetrical"...
  • Page 967 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Parameterization Signal Type Value range Meaning WVar3 2 ... MD17504 Number of locations in the multitool $MN_MAX_ TOOLS_PER_ MULTITOOL WVar4 1 ... 3 Type of distance coding PI service: TMDLMT Function: Delete multitool Deletes the multitool in all data blocks in which it is stored.
  • Page 968 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Parameterization Signal Type Value range Meaning PIService PI.POSMT Position multitool Unit 1 ... 10 Addr1 STRING max. 32 Tool identifier of tool to be positioned in the multitool characters Note: If no tool identifier is specified, then an empty string must be entered (then WVar2 must be programmed).
  • Page 969 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Parameterization Signal Type Value range Meaning WVar2 -1 ... 32000 Duplo number of the tool to be positioned in the multitool Duplo number is irrelevant (then WVar1 must be alternatively programmed) WVar3 -1 ...
  • Page 970: Fb 5: Getgud Read Gud Variable

    P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions I 7.6; //Manual error acknowledgment M 1.0; //Error pending M 0.0; //Terminate job CALL FB 4, DB 126 ( Req := M0.0, PIService := PI.SELECT, Unit := // CHAN 1 Addr1 := STR.Path, Addr2 :=...
  • Page 971 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Any errors are displayed via the output parameters "Error" and "State". Note In order to read a double variable from the NCK without adapting the format, an ANY pointer of the REAL 2 type must be specified in the target area for read data (e.g.: P#M100.0 REAL 2).
  • Page 972 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Description of formal parameters The table below lists all formal parameters of the GETGUD function. Signal Type Value range Comment BOOL Job start with positive signal edge Addr [DBName].[VarName] GUD variable name in a variable of data type STRING Area...
  • Page 973 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions State Meaning Note WORD H WORD L FIFO full Job must be repeated, since queue is full Option not set BP parameter "NCKomm" is not set Incorrect target area (SD) RD may not be local data Transmission occupied Job must be repeated Error in addressing...
  • Page 974 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Call example 1 Read a GUD variable from channel 1 with the name "GUDVAR1" (type definition of the variables: INTEGER). The user-defined variable should be converted in a 10-byte variable pointer for the subsequent writing with the F3 (see also the table "Assignment of the data types"...
  • Page 975 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions I 7.7; //Unassigned machine control panel key M 100.0; //Activate req. M 100.1; //Done completed message M 100.0; //Terminate job I 7.6; //Manual error acknowledgment M 102.0; //Error pending M 100.0;...
  • Page 976 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions STRUCT SYNTAX_ID : BYTE ; area_and_unit : BYTE ; column : WORD ; line : WORD ; block type : BYTE ; NO. OF LINES : BYTE ; type : BYTE ; length : BYTE ;...
  • Page 977: Fb 7: Pi_Serv2 Pi-Services

    P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions CALL FB 5, DB 111 ( := M 100.0, //Starting edge for reading Addr DB_GUDVAR.GUDVarS, Area := B#16#2, //Channel variable Unit := B#16#1, //Channel 1 Index1 := 0, //No field index Index2 := 0, //No field index...
  • Page 978 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Declaration of the function FUNCTION_BLOCK FB 7 Var_INPUT Req : BOOL ; PIService : ANY ; Unit : INT ; Addr1 : ANY ; Addr2 : ANY ; Addr3 : ANY ;...
  • Page 979 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Description of formal parameters The following table shows all formal parameters of the function PI_SERV2. Signal Type Range of values Remark BOOL Job request PIService [DBName].[VarName] PI service description Standard is: "PI".[VarName] Unit...
  • Page 980 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Magazine Location Location Magazine Number Number Number Number Search area _From _From Locations starting at magazine #M1, location #P1 up to magazine #M2, location #P2 are searched All locations in magazine #M1 - and no others - are searched All locations starting at magazine #M1 are searched...
  • Page 981: Fb 9: Mton Control Unit Switchover

    P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Parameterization Signal Type Range of values Significance WVar7 0, 1 ... 7 Number of required half locations to left WVar8 0, 1 ... 7 Number of required half locations to right WVar9 0, 1 ...
  • Page 982 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Brief description of a few important functions Active/passive operating mode: An online HMI can operate in two different modes: Active mode: Operator can control and monitor Passive mode: Operator can monitor (HMI header only) After switchover to an NCU, this initially requests active operating mode in the PLC of the online NCU.
  • Page 983 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions VAR_OUTPUT Alarm1 : BOOL ; // Interrupt: Error in HMI bus address, bus type! Alarm2 : BOOL ; // Interrupt: No confirmation HMI 1 offline! Alarm3 : BOOL ; // Interrupt: HMI 1 is not going offline! Alarm4 : BOOL ;...
  • Page 984 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Example of a call for FB 9: CALL FB 9, DB 109 ( := Error_ack, //e.g., MCP RESET OPMixedMode := FALSE, ActivEnable := TRUE, MCPEnable := TRUE); // Enable for MCP switchover Note Input parameter “MCPEnable”...
  • Page 985 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions 100.2; //Set auxiliary flag 1 100.3; //Reset auxiliary flag 2 // Save override L DB21.DBB 4; //Feed override interface T EB 28; //Buffer storage (freely input // or flag byte) wei1: 100.2;...
  • Page 986: Fb 10: Safety Relay (Si Relay)

    P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions 13.13.8 FB 10: Safety relay (SI relay) Function The SPL block "Safety relay" for "Safety Integrated" is the PLC equivalent of the NC function of the same name. The standard SPL "Safety relay" block is designed to support the implementation of an emergency stop function with safe programmable logic.
  • Page 987 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Simplified block diagram in CSF The figure below shows only one acknowledgment input Ack1 and one delayed deactivation output Out1. The circuit for Ack2 and the other delayed outputs are identical. The parameter FirstRun is also missing in the function diagram.
  • Page 988 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Out3 : BOOL; //Delayed output to false by timer 3 END_VAR VAR_INOUT FirstRun : BOOL; //TRUE by user after 1st start of SPL END_VAR Description of formal parameters The following table shows all formal parameters of the SI relay function: Formal parameters of SI relay function Signal Type...
  • Page 989: Fb 11: Brake Test

    P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions 13.13.9 FB 11: Brake test Function The braking operation check should be used for all axes, which must be prevented from moving in an uncontrolled manner by a holding brake. This check function is primarily intended for the so­called "vertical axes". The machine manufacturer can use his PLC user program to close the brake at a suitable moment in time (guide value every 8 hours, similar to the SI test stop) and allow the drive to produce an additional torque / additional force equivalent to the weight of the axis.
  • Page 990 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions The brake test is divided into the following steps: Brake test sequence Step Expected feedback Monitoring time value Start brake test DBX 71.0 = 1 TV_BTactiv Close brake Bclosed = 1 TV_Bclose Output traversing command DBX 64.6 Or DBX 64.7...
  • Page 991 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Description of formal parameters The following table lists all of the formal parameters of the brake test function Formal parameters of brake test function Signal Type Type Remark Start BOOL Starts the brake test BOOL...
  • Page 992 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Note The block must be called by the user program. The user must provide an instance DB with any number for this purpose. The call is multi-instance-capable. Example of a call for FB 11: 111.1;...
  • Page 993 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions TV_Bclose := S5T#1S, //Monitoring time value: //Brake closed TV_FeedCommand := S5T#1S, //Monitoring time value: //Traversing command output TV_FXSreache := S5T#1S, //Monitoring time value: //Fixed stop reached TV_FXShold := S5T#2S, //Monitoring time value: //Brake test time CloseBrake...
  • Page 994: 13.13.10 Fb 29: Signal Recorder And Data Trigger Diagnostics

    P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions AxisNo := 3, //Axis number of axis to be traversed //axis Z-axis := -5.000000e+000, //Traversing distance: Minus 5 mm FRate := 1.000000e+003, //Feedrate: 1000 mm/min InPos 113.0, //Position reached Error 113.1, //Error has occurred...
  • Page 995 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Declaration of the function FUNCTION_BLOCK FB 29 VAR_INPUT Func : INT ; //Function number: 0 = No function, //1 = Signal recorder, 2 = Data trigger Signal_1 : BOOL ; //Start of brake test Signal_2 : BOOL ;...
  • Page 996 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Signal_5 : BOOL ; Signal_6 : BOOL ; Signal_7 : BOOL ; Signal_8 : BOOL ; Var1 : BYTE ; Var2 : WORD ; Var3 : WORD ; END_STRUCT; END_STRUCT;...
  • Page 997 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Configuration steps • Select function of diagnostics block. • Define suitable data for the recording as signal recorder or data triggering. • Find a suitable point or points in the user program for calling the diagnostics FB. •...
  • Page 998: 13.13.11 Fc 2: Gp_Hp Basic Program, Cyclic Section

    P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions 13.13.11 FC 2: GP_HP Basic program, cyclic section Function The complete processing of the NCK­PLC interface is carried out in cyclic mode. In order to minimize the execution time of the basic program, only the control/status signals are transmitted cyclically; transfer of the auxiliary functions and G functions only takes place when requested by the NCK.
  • Page 999: 13.13.12 Fc 3: Gp_Pral Basic Program, Interrupt­driven Section

    P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions ToUserIF := TRUE, //Signals transferred from DB2 to interface //to interface Ack := I6.1); //Acknowledgment of error messages //via I 6.1 END_ORGANIZATION_BLOCK 13.13.12 FC 3: GP_PRAL Basic program, interrupt­driven section Function Block­synchronized transfers from the NCK to the PLC (auxiliary and G functions) are carried out in the interrupt­driven part of the basic program.
  • Page 1000 P3: Basic PLC Program for SINUMERIK 840D sl 13.13 Block descriptions Auxiliary functions Generally, high-speed or acknowledging auxiliary functions are processed with or without interrupt control independently of any assignment. Basic-program parameters in FB 1 can be set to define which auxiliary functions (T, H, DL) must be processed solely on an interrupt­driven basis by the user program.

This manual is also suitable for:

Sinumerik 840d sl

Table of Contents