808D Function Manual 0813 en en-US PDF
808D Function Manual 0813 en en-US PDF
Legal information
Warning notice system
This manual contains notices you have to observe in order to ensure your personal safety, as well as to prevent damage to property. The
notices referring to your personal safety are highlighted in the manual by a safety alert symbol, notices referring only to property damage
have no safety alert symbol. These notices shown below are graded according to the degree of danger.
DANGER
indicates that death or severe personal injury will result if proper precautions are not taken.
WARNING
indicates that death or severe personal injury may result if proper precautions are not taken.
CAUTION
indicates that minor personal injury can result if proper precautions are not taken.
NOTICE
indicates that property damage can result if proper precautions are not taken.
If more than one degree of danger is present, the warning notice representing the highest degree of danger will be used. A notice warning of
injury to persons with a safety alert symbol may also include a warning relating to property damage.
Qualified Personnel
The product/system described in this documentation may be operated only by personnel qualified for the specific task in accordance with
the relevant documentation, in particular its warning notices and safety instructions. Qualified personnel are those who, based on their
training and experience, are capable of identifying risks and avoiding potential hazards when working with these products/systems.
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. The permissible ambient conditions must be complied with. The information in the relevant documentation must be observed.
Standard scope
This manual only describes the functionality of the standard version. Extensions or changes made by the machine tool
manufacturer are documented by the machine tool manufacturer.
Technical support
Hotline: Service and Support:
● Global support hotline: ● Chinese Web site:
+49 (0)911 895 7222 http://www.siemens.com.cn/808D
● Support hotline in China: ● Global Web site:
+86 4008104288 (china) http://support.automation.siemens.com
EC Declaration of Conformity
The EC Declaration of Conformity for the EMC Directive can be found on the Internet at
http://support.automation.siemens.com
Here, enter the number 15257461 as the search term or contact your local Siemens office.
Function Manual
2 6FC5397-7EP40-0BA0, 08/2013
Table of contents
Preface................................................................................................................................................................... 2
1 Introduction............................................................................................................................................................. 9
2 Various Interface Signals ...................................................................................................................................... 10
2.1 General ....................................................................................................................................................... 10
2.2 Signals from PLC to NCK............................................................................................................................ 11
2.2.1 Access authorization ................................................................................................................................... 11
2.2.2 General signals ........................................................................................................................................... 11
2.2.3 Signals for digital drives, to axis/spindle...................................................................................................... 13
2.3 Signals from NCK to PLC............................................................................................................................ 13
2.3.1 General signals ........................................................................................................................................... 13
2.3.2 Signals for digital drives, from axis/spindle ................................................................................................. 14
2.4 Signals from PLC to HMI............................................................................................................................. 14
2.5 Signals from HMI to PLC............................................................................................................................. 15
2.6 User Interface ............................................................................................................................................. 15
2.6.1 General (OF) ............................................................................................................................................... 15
2.6.2 PI service ASUP.......................................................................................................................................... 17
2.6.3 Reading variables from the NCK area......................................................................................................... 17
2.6.4 Writing variables from the NCK area ........................................................................................................... 18
2.7 NC variable ................................................................................................................................................. 19
2.8 Signals from PLC ........................................................................................................................................ 21
3 Axis Monitoring ..................................................................................................................................................... 21
3.1 Overview of monitoring functions ................................................................................................................ 21
3.2 Running monitoring ..................................................................................................................................... 22
3.2.1 Contour monitoring...................................................................................................................................... 22
3.2.2 Position monitoring...................................................................................................................................... 22
3.2.3 Standstill monitoring .................................................................................................................................... 24
3.2.4 Clamping monitoring ................................................................................................................................... 24
3.2.5 Speed setpoint monitoring .......................................................................................................................... 25
3.2.6 Actual velocity monitoring ........................................................................................................................... 26
3.3 Static limitation monitoring .......................................................................................................................... 26
3.3.1 Limit switch monitoring ................................................................................................................................ 26
3.3.2 Hardware limit switches .............................................................................................................................. 26
3.3.3 Software limit switches ................................................................................................................................ 27
3.4 Supplementary conditions ........................................................................................................................... 28
3.5 Data table.................................................................................................................................................... 28
3.5.1 Machine data .............................................................................................................................................. 28
3.5.2 Interface signals .......................................................................................................................................... 29
4 Continuous Path Mode, Exact Stop, and LookAhead ............................................................................................. 29
4.1 Brief description .......................................................................................................................................... 29
4.2 General ....................................................................................................................................................... 30
4.3 Exact stop ................................................................................................................................................... 30
4.4 Continuous path mode ................................................................................................................................ 31
4.4.1 General ....................................................................................................................................................... 31
4.4.2 Velocity reduction according to overload factor........................................................................................... 32
4.4.3 Jerk limiting along the path through velocity reduction ................................................................................ 33
4.4.4 Machine axis-specific jerk limiting ............................................................................................................... 33
4.5 Compressor functions ................................................................................................................................. 33
4.5.1 NC block compression ................................................................................................................................ 33
Function Manual
6FC5397-7EP40-0BA0, 08/2013 3
4.5.2 Combine short spline blocks ....................................................................................................................... 35
4.6 LookAhead ................................................................................................................................................. 37
4.7 Data table ................................................................................................................................................... 38
4.7.1 Machine data .............................................................................................................................................. 38
4.7.2 Setting data ................................................................................................................................................ 38
4.7.3 Interface signals.......................................................................................................................................... 39
5 Acceleration ..........................................................................................................................................................39
5.1 Acceleration profiles ................................................................................................................................... 39
5.2 Jerk limitation on interpolator level.............................................................................................................. 39
5.3 Jerk limitation in JOG mode........................................................................................................................ 40
5.4 Data lists ..................................................................................................................................................... 40
6 Gantry axes ..........................................................................................................................................................40
6.1 Brief description .......................................................................................................................................... 40
6.2 "Gantry axes" function ................................................................................................................................ 41
6.3 Referencing and synchronizing gantry axes ............................................................................................... 44
6.3.1 Introduction ................................................................................................................................................. 44
6.3.2 Automatic synchronization .......................................................................................................................... 48
6.3.3 Points to note.............................................................................................................................................. 49
6.4 Start-up of gantry axes ............................................................................................................................... 50
6.5 PLC interface signals for gantry axes ......................................................................................................... 53
6.6 Miscellaneous points regarding gantry axes ............................................................................................... 54
6.7 Example...................................................................................................................................................... 55
6.7.1 Creating a gantry grouping ......................................................................................................................... 55
6.7.2 Setting of NCK PLC interface ..................................................................................................................... 56
6.7.3 Commencing start-up ................................................................................................................................. 57
6.7.4 Setting warning and trip limits ..................................................................................................................... 58
6.8 Data lists ..................................................................................................................................................... 59
6.8.1 Machine data .............................................................................................................................................. 59
6.8.2 Interface signals.......................................................................................................................................... 60
7 Manual Operation and Handwheel traversal ...........................................................................................................60
7.1 General characteristics of traversing in JOG .............................................................................................. 60
7.2 Continuous travel ........................................................................................................................................ 63
7.3 Incremental travel (INC).............................................................................................................................. 63
7.4 Handwheel traversal in JOG ....................................................................................................................... 64
7.5 Fixed point approach in JOG ...................................................................................................................... 66
7.5.1 Introduction ................................................................................................................................................. 66
7.5.2 Functionality ............................................................................................................................................... 66
7.5.3 Parameter setting ....................................................................................................................................... 68
7.5.4 Programming .............................................................................................................................................. 68
7.5.5 Supplementary Conditions.......................................................................................................................... 69
7.5.6 Application example.................................................................................................................................... 69
7.6 Data table ................................................................................................................................................... 70
7.6.1 Machine data .............................................................................................................................................. 70
7.6.2 Setting data ................................................................................................................................................ 70
7.6.3 Interface signals.......................................................................................................................................... 70
8 Auxiliary function outputs to PLC ...........................................................................................................................72
8.1 Brief description .......................................................................................................................................... 72
8.2 Programming of auxiliary functions ............................................................................................................. 72
8.3 Transfer of values and signals to the PLC interface ................................................................................... 73
8.4 Grouping of auxiliary functions ................................................................................................................... 74
Function Manual
4 6FC5397-7EP40-0BA0, 08/2013
8.5 Block-search response................................................................................................................................ 75
8.6 Description of auxiliary functions ................................................................................................................. 75
8.6.1 M function ................................................................................................................................................... 75
8.6.2 T function .................................................................................................................................................... 75
8.6.3 D function .................................................................................................................................................... 76
8.6.4 H function .................................................................................................................................................... 76
8.6.5 S function .................................................................................................................................................... 76
8.7 Data table.................................................................................................................................................... 76
8.7.1 Machine data .............................................................................................................................................. 76
8.7.2 Interface signals .......................................................................................................................................... 76
9 Operating Modes, Program Operation ................................................................................................................... 77
9.1 Brief description .......................................................................................................................................... 77
9.2 Operating modes......................................................................................................................................... 78
9.2.1 Operating modes......................................................................................................................................... 78
9.2.2 Mode change .............................................................................................................................................. 79
9.2.3 Functional possibilities in the individual modes ........................................................................................... 79
9.2.4 Monitoring functions in the individual modes............................................................................................... 80
9.2.5 Interlocks in the individual modes ............................................................................................................... 81
9.3 Processing a part program .......................................................................................................................... 81
9.3.1 Program mode and part program selection ................................................................................................. 81
9.3.2 Start of part program or part program block ................................................................................................ 82
9.3.3 Part program interruption ............................................................................................................................ 82
9.3.4 RESET command ....................................................................................................................................... 83
9.3.5 Program control .......................................................................................................................................... 83
9.3.6 Program status ............................................................................................................................................ 84
9.3.7 Channel status ............................................................................................................................................ 84
9.3.8 Event-driven program calls ......................................................................................................................... 85
9.3.9 Asynchronous subroutines (ASUPs) ........................................................................................................... 91
9.3.10 Responses to operator or program actions ................................................................................................. 92
9.3.11 Example of a timing diagram for a program run .......................................................................................... 93
9.4 Program test ............................................................................................................................................... 94
9.4.1 General information on the program test..................................................................................................... 94
9.4.2 Program processing without axis movements (PRT) .................................................................................. 94
9.4.3 Program processing in single block mode (SBL) ........................................................................................ 94
9.4.4 Program processing with dry run feedrate (DRY) ....................................................................................... 95
9.4.5 Block search: Processing of certain program sections ................................................................................ 96
9.4.6 Skip part program blocks (SKP) .................................................................................................................. 98
9.4.7 Graphic simulation ...................................................................................................................................... 98
9.5 Timers for program execution time.............................................................................................................. 99
9.6 Workpiece counter .................................................................................................................................... 100
9.7 Data table.................................................................................................................................................. 101
9.7.1 Machine data ............................................................................................................................................ 101
9.7.2 Setting data ............................................................................................................................................... 102
9.7.3 Interface signals ........................................................................................................................................ 102
10 Compensation .................................................................................................................................................... 104
10.1 Brief description ........................................................................................................................................ 104
10.2 Backlash compensation ............................................................................................................................ 105
10.3 Interpolatory compensation ....................................................................................................................... 106
10.3.1 General ..................................................................................................................................................... 106
10.3.2 LEC ........................................................................................................................................................... 107
10.3.3 Direction-dependent leadscrew error compensation ................................................................................. 109
10.3.3.1 Description of functions ............................................................................................................................. 109
10.3.3.2 Commissioning ......................................................................................................................................... 109
10.3.3.3 Example .................................................................................................................................................... 112
10.4 Following error compensation (feedforward control) ................................................................................. 114
10.4.1 General ..................................................................................................................................................... 114
10.4.2 Speed feedforward control ........................................................................................................................ 115
Function Manual
6FC5397-7EP40-0BA0, 08/2013 5
10.5 Friction compensation (quadrant error compensation) ............................................................................. 116
10.5.1 General function description ..................................................................................................................... 116
10.5.2 Supplementary conditions ........................................................................................................................ 116
10.5.3 Friction compensation with a constant compensation value ..................................................................... 116
10.5.3.1 Function activation .................................................................................................................................... 116
10.5.3.2 Commissioning ......................................................................................................................................... 117
10.5.4 Friction compensation with acceleration-dependent compensation value ................................................ 120
10.5.4.1 Description of functions ............................................................................................................................ 120
10.5.4.2 Function activation .................................................................................................................................... 121
10.5.4.3 Commissioning ......................................................................................................................................... 121
10.5.5 Compensation value for short traversing blocks ....................................................................................... 122
10.6 Data table ................................................................................................................................................. 122
10.6.1 Machine data ............................................................................................................................................ 122
10.6.2 Setting data .............................................................................................................................................. 122
10.6.3 Interface signals........................................................................................................................................ 123
11 Kinematic Transformation .................................................................................................................................... 123
11.1 Brief description ........................................................................................................................................ 123
11.2 TRANSMIT ............................................................................................................................................... 123
11.2.1 Overview................................................................................................................................................... 123
11.2.2 TRANSMIT configuration .......................................................................................................................... 124
11.3 TRACYL ................................................................................................................................................... 128
11.3.1 Overview................................................................................................................................................... 128
11.3.2 TRACYL configuration .............................................................................................................................. 131
11.3.3 Programming example, TRACYL.............................................................................................................. 134
11.4 Special features of TRANSMIT and TRACYL........................................................................................... 135
11.5 Data lists ................................................................................................................................................... 136
11.5.1 Machine data ............................................................................................................................................ 136
11.5.2 Interface signals........................................................................................................................................ 136
12 Measurement ...................................................................................................................................................... 136
12.1 Brief description ........................................................................................................................................ 136
12.2 Hardware requirements ............................................................................................................................ 137
12.2.1 Probes that can be used ........................................................................................................................... 137
12.2.2 Probe connection ...................................................................................................................................... 138
12.3 Channel-specific measuring ..................................................................................................................... 138
12.3.1 Measuring mode ....................................................................................................................................... 138
12.3.2 Measurement results ................................................................................................................................ 138
12.4 Measurement accuracy and functional testing.......................................................................................... 139
12.4.1 Measuring accuracy.................................................................................................................................. 139
12.4.2 Probe functional test ................................................................................................................................. 139
12.5 Tool measuring in JOG ............................................................................................................................. 140
12.6 Data table ................................................................................................................................................. 143
12.6.1 Machine data ............................................................................................................................................ 143
12.6.2 Interface signals........................................................................................................................................ 143
13 EMERGENCY OFF ............................................................................................................................................. 143
13.1 Brief description ........................................................................................................................................ 143
13.2 EMERGENCY STOP sequence ............................................................................................................... 144
13.3 EMERGENCY STOP acknowledgment .................................................................................................... 145
13.4 Data table ................................................................................................................................................. 146
13.4.1 Machine data ............................................................................................................................................ 146
13.4.2 Interface signals........................................................................................................................................ 146
14 Reference Point Approach................................................................................................................................... 146
14.1 Fundamentals ........................................................................................................................................... 146
14.2 Referencing with incremental measuring systems .................................................................................... 147
Function Manual
6 6FC5397-7EP40-0BA0, 08/2013
14.3 Secondary conditions for absolute encoders ............................................................................................ 150
14.4 Data table.................................................................................................................................................. 151
14.4.1 Machine data ............................................................................................................................................ 151
14.4.2 Interface signals ........................................................................................................................................ 151
15 Spindle ............................................................................................................................................................... 152
15.1 Brief description ........................................................................................................................................ 152
15.2 Spindle modes .......................................................................................................................................... 153
15.2.1 Spindle modes .......................................................................................................................................... 153
15.2.2 Spindle control mode ................................................................................................................................ 154
15.2.3 Spindle oscillation mode ........................................................................................................................... 154
15.2.4 Spindle positioning mode .......................................................................................................................... 156
15.3 Synchronization ........................................................................................................................................ 158
15.4 Gear stage change.................................................................................................................................... 159
15.5 Programming ............................................................................................................................................ 162
15.6 Spindle monitoring .................................................................................................................................... 163
15.6.1 Spindle monitoring .................................................................................................................................... 163
15.6.2 Axis/spindle stationary .............................................................................................................................. 163
15.6.3 Spindle in setpoint range........................................................................................................................... 163
15.6.4 Maximum spindle speed ........................................................................................................................... 164
15.6.5 Minimum/maximum speed for gear stage ................................................................................................. 164
15.6.6 Max. encoder limit frequency .................................................................................................................... 164
15.6.7 Target point monitoring ............................................................................................................................. 165
15.7 Analog spindle .......................................................................................................................................... 165
15.8 Data table.................................................................................................................................................. 166
15.8.1 Machine data ............................................................................................................................................ 166
15.8.2 Setting data ............................................................................................................................................... 167
15.8.3 Interface signals ........................................................................................................................................ 167
16 Feed................................................................................................................................................................... 168
16.1 Path feedrate F ......................................................................................................................................... 168
16.1.1 Path feedrate F ......................................................................................................................................... 168
16.1.2 Feedrate with G33, G34, G35 (thread cutting) .......................................................................................... 169
16.1.3 Feedrate for G63 (tapping with compensation chuck) ............................................................................... 170
16.1.4 Feedrate for G331, G332 (tapping without compensation chuck) ............................................................. 171
16.1.5 Feedrate for chamfer/rounding: FRC, FRCM ............................................................................................ 171
16.2 Rapid traverse G0 ..................................................................................................................................... 172
16.3 Feedrate control ........................................................................................................................................ 172
16.3.1 Overview ................................................................................................................................................... 172
16.3.2 Feedrate disable and feedrate/spindle stop .............................................................................................. 173
16.3.3 Feedrate override via a machine control panel ......................................................................................... 173
16.4 Data table.................................................................................................................................................. 175
16.4.1 Machine/setting data ................................................................................................................................. 175
16.4.2 Interface signals ........................................................................................................................................ 175
17 Tool: Tool Compensation .................................................................................................................................... 176
17.1 Tool and tool compensation overview ....................................................................................................... 176
17.2 Tool ........................................................................................................................................................... 176
17.3 Tool offset ................................................................................................................................................. 176
17.4 Special handling of tool compensation ...................................................................................................... 177
17.5 Data table.................................................................................................................................................. 179
17.5.1 Machine data ............................................................................................................................................ 179
17.5.2 Interface signals ........................................................................................................................................ 179
18 Special functions................................................................................................................................................. 179
18.1 Multi-language support for the machine manufacturer's HMI data ............................................................ 179
Function Manual
6FC5397-7EP40-0BA0, 08/2013 7
18.2 Calling an online help ............................................................................................................................... 181
18.3 Calling a standard cycle with auxiliary functions ....................................................................................... 188
18.4 Display function ........................................................................................................................................ 190
18.5 Prog_Event function.................................................................................................................................. 192
18.6 Fast I/O ..................................................................................................................................................... 192
18.7 Creating user cycles ................................................................................................................................. 193
18.7.1 Creating the extended user text file .......................................................................................................... 194
18.7.2 Creating the user cycle softkey index file.................................................................................................. 194
18.7.3 Creating the user cycle parameter file ...................................................................................................... 195
18.7.4 Creating the user cycle file ....................................................................................................................... 196
18.7.5 Creating the user cycle alarm file.............................................................................................................. 197
18.7.6 Creating the user cycle bitmap file ............................................................................................................ 198
18.7.7 Transferring the desired files to the control system .................................................................................. 198
18.7.8 Call the created user cycle ....................................................................................................................... 201
18.7.9 Editing the user cycle screens .................................................................................................................. 202
18.8 Loading machine manufacturer's MD description files.............................................................................. 202
18.9 Loading machine manufacturer's R variable name files ........................................................................... 203
18.10 Generating user dialogs using customized EasyXLanguage scripts......................................................... 205
18.10.1 Scope of functions .................................................................................................................................... 205
18.10.2 Fundamentals of configuration ................................................................................................................. 206
18.10.3 Configuration files (EasyXLanguage) ....................................................................................................... 207
18.10.4 Structure of configuration file .................................................................................................................... 208
18.10.5 Language dependency ............................................................................................................................. 208
18.10.6 XML identifier............................................................................................................................................ 208
18.10.6.1 General structure ...................................................................................................................................... 208
18.10.6.2 Instruction/identifier description ................................................................................................................ 209
18.10.6.3 Color coding ............................................................................................................................................. 218
18.10.6.4 Special XML syntax .................................................................................................................................. 218
18.10.6.5 Operators .................................................................................................................................................. 219
18.10.7 Addressing components ........................................................................................................................... 219
18.10.7.1 PLC addressing ........................................................................................................................................ 219
18.10.7.2 NC variable addressing ............................................................................................................................ 220
18.10.7.3 Addressing machine and setting data ....................................................................................................... 220
18.10.7.4 Addressing the user data .......................................................................................................................... 221
18.10.8 Generating user menus ............................................................................................................................ 221
18.10.8.1 Generating softkey menus and dialog forms ............................................................................................ 221
18.10.8.2 Substitution characters ............................................................................................................................. 236
18.10.9 Predefined functions ................................................................................................................................. 237
18.11 Hot keys.................................................................................................................................................... 246
19 Licensing in the SINUMERIK 808D ADVANCED .................................................................................................. 247
19.1 Web License Manager .............................................................................................................................. 247
19.1.1 Assigning licenses .................................................................................................................................... 247
19.2 Activating the optional functions ............................................................................................................... 249
19.2.1 Additional axis .......................................................................................................................................... 249
19.2.2 Bidirectional LEC ...................................................................................................................................... 251
19.2.3 Manual Machine Plus ............................................................................................................................... 252
19.2.4 Transmit/Tracyl ......................................................................................................................................... 253
19.2.5 Gantry (BASIC) ......................................................................................................................................... 254
19.3 Internet links ............................................................................................................................................. 255
19.4 Important licensing terms.......................................................................................................................... 255
Function Manual
8 6FC5397-7EP40-0BA0, 08/2013
1 Introduction
Notations
The following notation and abbreviations are used in this documentation:
● Programmable logic control (PLC) interface signals -> IS "Signal name" (signal data)
Example: IS "Feedrate override" (DB380x.DBB0)
The variable byte is located in the "to axis" range, x stands for the axis:
0 Axis 1
1 Axis 2
n Axis n+1.
● Machine data -> MD MD_NR MD_NAME (description)
e.g.: MD30300 IS_ROT_AX (rotary axis)
● Setting data -> SD SD_NR SD_NAME (description)
e.g.: SD41200 JOG_SPIND_SET_VELO (JOG velocity for the spindle)
The machine and setting data are divided into the following areas:
Range Data area Meaning
200 - 9999 $MM_ Display machine data
10,000 - 19,999 $MN_ General machine data
20,000 - 28,999 $MC_ Channel-specific machine data
30,000 - 38,999 $MA_ Axis-specific machine data
41,000 - 41,999 $SN_ General setting data
42,000 - 42,999 $SC_ Channel-specific setting data
43,000 - 43,999 $SA_ Axis-specific setting data
Detailed explanations
● Detailed explanations for the machine/setting data and interface signals used can be found in the SINUMERIK 808D
ADVANCED Parameter Manual.
● Detailed explanations of the alarms which may occur can be found in the SINUMERIK 808D ADVANCED Diagnostics
Manual.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 9
2 Various Interface Signals
2.1 General
Brief description
This chapter describes the functionality of various interface signals which are of general relevance, but are not described in
the function-specific chapters.
Interfaces
The exchange of signals and data between the PLC user program and the NCK (numerical control kernel) or HMI (display
unit) is performed via various data areas. The PLC user program does not have to handle the exchange of data and signals.
From the user's point of view, this takes place automatically.
Function Manual
10 6FC5397-7EP40-0BA0, 08/2013
2.2 Signals from PLC to NCK
2.2.1 Access authorization
Access authorization
Access to programs, data, and functions is user-oriented and controlled via protection levels. The SINUMERIK 808D
ADVANCED provides a concept of access levels for enabling data areas. You can view such information from the table
below:
Access level Default password Target group
Manufacturer (level 2) SUNRISE Machine manufacturers
End user (level 3) CUSTOMER End users
No password - -
This provides a multi-level safety concept for controlling access rights.
Reference:
SINUMERIK 808D ADVANCED Commissioning Manual, Section: Access levels
Function Manual
6FC5397-7EP40-0BA0, 08/2013 11
Effect:
The IS "Follow-up mode" is only of relevance if the drive controller enable has been removed (e.g. by IS "Controller enable"
= 0 signal or because of a fault in the control system), or because controller enable is being re-issued.
IS "Follow-up mode" = 1:
If "Controller enable" is removed the position setpoint of the relevant axis is continuously corrected to the actual value. This
state is signaled to the PLC by means of IS "Follow-up mode active" (DB390x.DBX1.3). If the "Controller enable" is enabled
again and a part program is active, a control internal re-positioning operation is initiated (REPOSA: linear approach with all
axes) to the last programmed position. Otherwise, the axis movement starts at the new actual position (which may have
changed).
IS "Follow-up mode" = 0:
If "Controller enable" is removed, the old position setpoint is maintained. If the axis is pushed out of position, a following
error between position setpoint and actual value results which is corrected when IS "Controller enable" is set. The axis
movement starts from the setpoint position valid before the "controller enable" was removed. IS "Followup mode active"
(DB390x.DBX1.3) is set to 0 signal during the "Hold" state. Clamping or standstill monitoring is active.
Function Manual
12 6FC5397-7EP40-0BA0, 08/2013
2.2.3 Signals for digital drives, to axis/spindle
Function Manual
6FC5397-7EP40-0BA0, 08/2013 13
Speed control active (DB390x.DBX1.6)
The speed control loop for the axis/spindle is closed; the speed control function is active.
For details, see Controller enable (Page 11).
Function Manual
14 6FC5397-7EP40-0BA0, 08/2013
Command (DB1700.DBB1001)
A command job is transferred from the PLC to the HMI.
Command Action
0 None
1 Save name of the selected program
2 Select program with saved program name
"Command" (DB1700.DBB1001) corresponds to the following IS:
● "Execute command" (DB1700.DBX2001.0)
● "Command execution error" (DB1700.DBX2001.1)
When a command > 0 is written, the job is started by the PLC. As soon as the HMI detects a command > 0, it begins with
the internal processing of this job and sets the command (DB1700.DBB1001) to 0.
PLC waits until the acknowledgement signal has been reached by HMI: DB1700.DBX2001.0 or DB1700.DBX2001.1 and
evaluates this immediately. The acknowledgement signals are available for one PLC cycle once they have been received
and are then automatically deleted by the PLC operating system.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 15
Service DB1200.DBX0.2 DB1200.DBX0.1
Write variables from the NCK area 0 1
Start:
A job is started by setting the signal DB1200.DBX0.0 = 1. A new job can only be started if the previous job has been
completed, i.e. the acknowledgement signals ("Job completed" DB1200.DBX2000.0 and "Error in job" DB1200.DBX2000.1)
must be zero.
The execution of a job may take several PLC cycles and vary depending on the utilization; thus, this function is not real-time-
capable.
Note
A job already started cannot be cancelled. If the "Start" signal is inadvertently reset before receiving the acknowledgement,
the result signals for this job are not refreshed; the job, however, is executed.
Function Manual
16 6FC5397-7EP40-0BA0, 08/2013
2.6.2 PI service ASUP
Initialization
With the ASUP PI service, it is possible to assign the interrupt numbers 1 and 2 fixed program names from the PLC.
Prerequisite for this is the existence of the PLCASUP1_SPF or PLCASUP2_SPF programs in the CMA directory.
PI index Function
DB1200.DBB4001 = 1 Assignment of Interrupt 1 to the CMA_DIR/PLCASUP1_SPF program.
The interrupt has Priority 1.
DB1200.DBB4001 = 2 Assignment of Interrupt 2 to the CMA_DIR/PLCASUP2_SPF program.
The interrupt has Priority 2.
The following must be taken into account during the initialization:
● The PI service ASUP requires executing only once after a restart and is then retained.
● An initialization may only be performed when the channel is not active.
● If a "Ramp-up" program event has been configured, the initialization may only be started after the end of the program
event.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 17
● 5: Invalid address
● 10: Object does not exist
Values:
When reading, the read data are in the range DB120x.DBB3004...7, in the data type specific for the respective variable (if
required, the values are converted from 64-bit to 32-bit REAL).
Function Manual
18 6FC5397-7EP40-0BA0, 08/2013
● 0: No error
● 3: Illegal access to object
● 5: Invalid address
● 10: Object does not exist
Values:
The range DB120x.DBB3004...07 is not relevant for writing.
2.7 NC variable
Variable cuttEdgeParam
Compensation value parameters and cutting edge list with D numbers for a tool.
The meanings of the individual parameters depend on the type of the tool in question. Currently, totally 25 parameters are
reserved for each tool edge (but only a part of them is loaded with values). To be able to remain flexible for future
extensions, it is not recommended to use a fixed value of 25 parameters for calculation, but the variable value
'numCuttEdgeParams' (variable index 2).
For a detailed description of the tool parameters, please refer to Chapter "Tool Offset (Page 176)".
Variable cuttEdgeParam [r/w]
DB120x.DBB1000 1
DB120x.DBB1001 -
DB120x.DBW1002 (EdgeNo - 1) * numCuttEdgeParams + ParameterNo (WORD)
DB120x.DBW1004 T number (1...32000) (WORD)
DB120x.DBD1008 Write: Data to NCK variable x (data type of the variables: REAL)
DB120x.DBD3004 Read: Data from NCK variable x (data type of the variables: REAL)
Variable numCuttEdgeParams
Number of P elements of an edge
Variable numCuttEdgeParams [r]
DB120x.DBB1000 2
DB120x.DBB1001 -
Function Manual
6FC5397-7EP40-0BA0, 08/2013 19
Variable numCuttEdgeParams [r]
DB120x.DBW1002 -
DB120x.DBW1004 -
DB120x.DBD1008 -
DB120x.DBW3004 Read: Data from NCK variable x (data type of the variables: WORD)
Variable linShift
Translation of a settable work offset (channel-specific settable frames)
They only exist if MD18601 MM_NUM_GLOBAL_USER_FRAMES > 0.
There are the frame indices:
● 0: ACTFRAME = current resulting work offset
● 1: IFRAME = current settable work offset
● 2: PFRAME = current programmable work offset
● 3: EXTFRAME = current external work offset
● 4: TOTFRAME = current total work offset = total of ACTFRAME and EXTFRAME
● 5: ACTBFRAME = current total base frame
● 6: SETFRAME = current 1st system frame (PRESET, scratching)
● 7: EXTSFRAME = current 2nd system frame (PRESET, scratching)
● 8: PARTFRAME = current 3rd system frame (TCARR and PAROT with orientable tool carrier)
● 9: TOOLFRAME = current 4th system frame (TOROT and TOFRAME)
● 10: MEASFRAME = result frame for workpiece and tool gauging
● 11: WPFRAME = current 5th system frame (workpiece reference points)
● 12: CYCFRAME = current 6th system frame (cycles)
The max. frame index is 12.
The value of numMachAxes is contained in the variable with variable index 4.
Variable linShift [r]
DB120x.DBB1000 3
DB120x.DBB1001 -
DB120x.DBW1002 Frame index * numMachAxes + axis number
DB120x.DBW1004 -
DB120x.DBD1008 -
DB120x.DBD3004 Read: Data from NCK variable x (data type of the variables: REAL)
Variable numMachAxes
No. of the highest existing channel axis
If there are no gap between channels, this corresponds to the number of existing axes in the channel.
Variable numMachAxes [r]
DB120x.DBB1000 4
DB120x.DBB1001 -
DB120x.DBW1002 -
DB120x.DBW1004 -
DB120x.DBD1008 -
DB120x.DBW3004 Read: Data from NCK variable x (data type of the variables: WORD)
Function Manual
20 6FC5397-7EP40-0BA0, 08/2013
Variable rpa
R parameters
Variable rpa [r/w]
DB120x.DBB1000 5
DB120x.DBB1001 -
DB120x.DBW1002 R number + 1
DB120x.DBW1004 -
DB120x.DBD1008 Write: Data to NCK variable x (data type of the variables: REAL)
DB120x.DBD3004 Read: Data from NCK variable x (data type of the variables: REAL)
Variable actLineNumber
Line number of the current NC block:
● 0: Prior to program start
● -1: Not available due to error
● -2: Not available due to DISPLOF
Variable actLineNumber [r]
DB120x.DBB1000 6
DB120x.DBB1001 -
DB120x.DBW1002 -
DB120x.DBW1004 -
DB120x.DBD1008 -
DB120x.DBD3004 Read: Data from NCK variable x (data type of the variables: DINT)
3 Axis Monitoring
3.1 Overview of monitoring functions
Overview of monitoring functions
● Motion monitoring functions
– Contour monitoring
– Position monitoring
– Standstill monitoring
– Clamping monitoring
– Speed setpoint monitoring
– Actual velocity monitoring
– Encoder monitoring functions
● Monitoring of static limits
– Limit switch monitoring
Function Manual
6FC5397-7EP40-0BA0, 08/2013 21
3.2 Running monitoring
3.2.1 Contour monitoring
Function
The principle on which the contour monitoring function works is the constant comparison of the measured actual position
value with that calculated from the NC position setpoint. For the precalculation of the following error, a model is used that
simulates the dynamics of the position control including feedforward control.
So that the monitoring function does not respond incorrectly on slight speed fluctuations (caused by changes of load) a
tolerance band is allowed for the max. contour deviation.
If the permissible actual value deviation entered in MD36400 CONTOUR_TOL (tolerance band contour monitoring) is
exceeded, an alarm is signaled and the axes are stopped.
Effectiveness
Contour monitoring is active for axes and position-controlled spindles.
Effect
If the contour deviation is too large, this has the following effect:
● Alarm 25050 "Contour monitoring" is triggered
● The axis/spindle is brought to a standstill via a speed setpoint ramp with rapid stop (with open position control loop).
The braking ramp time is set in
MD36610 AX_EMERGENCY_STOP_TIME (braking ramp time for error states).
● If the axis/spindle is involved in interpolation with other axes/spindles, these are brought to a standstill with rapid stop
with following error reduction (position setpoint = 0).
Remedy
● Increase tolerance band of monitoring in MD36400
● The actual "servo gain factor" must correspond to the desired servo gain factor set via
MD32200 POSCTRL_GAIN (servo gain factor).
With analog spindles:
MD32260 RATED_VELO (rated motor speed) and
MD32250 RATED_OUTVAL (rated output voltage) must be checked.
● Check optimization of the speed controller
● Check smooth running of the axes
● Check machine data for traversing movements
(feed override, acceleration, max. speeds, ... )
Function
In order to ensure that an axis reaches the required position within the specified time, the timer that can be configured in
MD36020 POSITIONING_TIME (time delay exact stop
fine) is started at the end of each motion block (setpoint has reached target) and, when the timer runs out, a check made to
ascertain whether the axis has reached its setpoint within
the tolerance of MD36010 STOP_LIMIT_FINE (exact stop fine).
For details on "Exact stop coarse and fine" see Chapter "Continuous Path Mode, Exact Stop and Look-Ahead (Page 29)"
Function Manual
22 6FC5397-7EP40-0BA0, 08/2013
Figure 3-1 Relation between position, standstill, and clamping monitoring
Effectiveness
Positioning monitoring is always activated after the termination of motion blocks "according to the setpoint" (setpoint has
reached destination).
Position monitoring is active for axes and position-controlled spindles.
Deactivation
When the programmed "Exact stop limit fine" has been reached or a new setpoint has been output (e.g. for positioning
according to "Exact stop coarse" followed by a block change), the position monitoring is deactivated.
Effect
If the limit value for "Exact stop fine" has not yet been reached when the positioning monitoring time has elapsed, the
following action is performed:
● Output of alarm 25080 "Positioning monitoring"
● The affected axis/spindle is brought to a standstill using a rapid stop (with open position control loop) along a speed
setpoint ramp.
The braking ramp duration is set in
MD36610 AX_EMERGENCY_STOP_TIME (braking ramp duration for error states).
● If the axis/spindle is involved in interpolation with other axes/spindles, these are stopped using a rapid stop with following
error reduction (default for partial position setpoint = 0).
Cause of error/Remedy
● Position controller gain too low --> change machine data for position controller gain
MD32200 POSCTRL_GAIN (servo gain factor)
● Positioning window (exact stop fine), position monitoring time, and position controller gain have not been coordinated -->
change machine data:
MD36010 STOP_LIMIT_FINE (exact stop fine),
MD36020 POSITIONING_TIME (exact stop fine delay time),
MD32200 POSCTRL_GAIN (servo gain factor)
Rule of thumb
● Positioning window large --> max. position monitoring time can be set to a relatively short value
● Positioning window small --> max. position monitoring time must be set to a relatively long value
● Position controller gain low --> max. position monitoring time must be set to a relatively long value
Function Manual
6FC5397-7EP40-0BA0, 08/2013 23
● Position controller gain high --> max. position monitoring time can be set to a relatively short value
Note
The size of the positioning window affects the block change time. The smaller the tolerances that are selected, the longer
the positioning action will take, which in turn means a longer time before the next command can be executed.
Function
At the end of a motion block (position setpoint has reached target), a check is made as to whether the axis is not more than
the distance specified in MD36060 STANDSTILL_POS_TOL (standstill tolerance) away from its setpoint after the
configurable delay time in MD36040 STANDSTILL_DELAY_TIME (standstill monitoring delay time) has expired. Otherwise,
an alarm will be triggered.
Effectiveness
Standstill monitoring is always active after "Standstill monitoring delay time" active has expired, as long as no new travel
command is present.
Standstill monitoring is active on axes and position-controlled spindles.
Effect
When the monitoring function responds, it has the following effects:
● Alarm 25040 "Standstill monitoring" is triggered
● The affected axis/spindle is brought to a standstill with rapid stop (with open position control loop) along a speed setpoint
ramp. The braking ramp time is set in
MD36610 AX_EMERGENCY_STOP_TIME (duration of the braking ramp for error states).
● If the axis/spindle is involved in interpolation with other axes/spindles, these are stopped by rapid stop with following
error reduction (default for position partial setpoint = 0).
Function
If the axis must be clamped once it has been positioned, the clamping monitoring function can be activated via IS "Clamping
in progress" (DB380x.DBX2.3).
This may be necessary as the axis can be forced further from the setpoint than the standstill tolerance permits during the
clamping process. The amount by which the axis may leave the command position is specified in MD36050
CLAMP_POS_TOL (clamping tolerance for interface signal "Clamping active").
Effectiveness
Clamping monitoring is activated by the interface signal "Clamping active". It replaces standstill monitoring during clamping.
Clamping monitoring is active on axes and position-controlled spindles.
Effect
If the axis is pushed out of position beyond the clamping tolerance during clamping the following occurs:
● Alarm 26000 "Clamping monitoring" is triggered
Function Manual
24 6FC5397-7EP40-0BA0, 08/2013
● The affected axis/spindle is brought to a standstill with rapid stop (with open position control loop) along a speed setpoint
ramp. The braking ramp time is set in
MD36610 AX_EMERGENCY_STOP_TIME (duration of the braking ramp for error states).
● If the axis/spindle is assigned to an interpolatory grouping with other axes/spindles, then these are also braked by rapid
stop with following error reduction (default for partial position setpoint = 0).
Function
Speed setpoint monitoring checks whether the setpoint specification does not exceed the maximum permissible drive speed
in MD 36210 CTRLOUT_LIMIT (maximum speed setpoint). If required, the speed is limited to this value and the axis/spindle
stopped and an alarm output.
The maximum speed for the axes (in percent) exceeds the speed at which the velocity in MD32000 MAX_AX_VELO is
reached (100%). This also determines the control margin.
On an analog spindle the maximum speed that can be output must not exceed the speed reached at the maximum setpoint
output voltage of 10 V (100%).
The speed setpoint consists of the speed setpoint of the position controller and the feedforward control parameter (if
feedforward control is active).
Effectiveness
Speed setpoint monitoring is always active for axes and spindles.
Effect
The following occurs if the maximum speed setpoint value is exceeded:
● Alarm 25060 "Speed setpoint limiting" is triggered
● The affected axis/spindle is brought to a standstill using a rapid stop (with open position control loop) along a speed
setpoint ramp.
The braking ramp duration is set in MD36610 AX_EMERGENCY_STOP_TIME (braking ramp duration for error states).
● If the axis/spindle is involved in interpolation with other axes/spindles, these are stopped using a rapid stop with following
error reduction (default for partial position setpoint = 0).
Note
In the "Expert mode" access level (protection level 1), MD36220 CTRLOUT_LIMIT_TIME can be used to set a delay
time, after the expiration of which an alarm is output and the axes are brought to a standstill. The default value of this
time is zero.
Using speed setpoint limiting will turn the control loop into a non-linear control loop. This generally causes contour deviations
if speed setpoint limiting is continued for an axis. A control margin must therefore be set.
Causes of errors
● A measuring circuit error or drive error is present.
● Setpoints are too high (accelerations, velocities, reducing factors).
● Obstacle in work area (e.g. positioning on a working table)
● Tachogenerator compensation has not been performed correctly for an analog spindle, or a measuring circuit error or
drive error is present.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 25
3.2.6 Actual velocity monitoring
Function
This function monitors whether the actual velocity exceeds a permissible limit entered in MD36200 AX_VELO_LIMIT
(threshold value for velocity monitoring).
Effectiveness
The actual velocity monitor is operative whenever the active measuring circuit activated via "Position measuring system 1"
interface signal (DB380x.DBX1.5) is supplying actual values, i.e. still operating below the limit frequency.
The actual velocity monitoring is active for axes and spindles.
Effect
If the "Threshold for velocity monitoring" is exceeded the following occurs:
● Alarm 25030 "Actual velocity alarm limit" is triggered
● The affected axis/spindle is brought to a standstill with rapid stop (with open position control loop) along a speed setpoint
ramp. The braking ramp time is set in MD36610 AX_EMERGENCY_STOP_TIME (duration of the braking ramp for error
states).
● If the axis/spindle is assigned to an interpolatory grouping with other axes/spindles, then these are also braked by rapid
stop with following error reduction (default for partial position setpoint = 0).
Troubleshooting tips
● Check actual values
● Check position control direction (control sense)
● Check MD36200 AX_VELO_LIMIT (threshold value for velocity monitoring)
● Check signal setpoint cable for analog spindles
Function
Every axis has a hardware (HW) limit switch for each traversing direction, which prevents the slide from moving out of the
slide bed.
If the hardware limit switch is crossed, the PLC signals this to the NC via IS "Hardware limit switch plus/minus"
(DB380x.DBX1000.1 or .0) and the movement of all axes is stopped. The braking method can be specified via MD36600
BRAKE_MODE_CHOICE (braking behavior at hardware limit switch).
Effectiveness
HW limit switch monitoring is active after the control has started up in all modes.
Function Manual
26 6FC5397-7EP40-0BA0, 08/2013
Effect
● When a hardware limit switch is passed in either direction, alarm 21614 "Hardware limit switch + or -" is triggered.
● The axis is stopped according to the setting in MD36600 BRAKE_MODE_CHOICE (braking behavior at hardware limit
switch).
● If the axis is assigned to an interpolatory grouping with other axes, then these are also stopped according to the method
selected in MD36600 BRAKE_MODE_CHOICE (braking behavior at hardware limit switch).
● The direction keys in the approach direction are disabled.
Remedy
● Reset
● Move in the opposite direction (in JOG mode)
● Correct the program
Function
They are used to limit the maximum traversing range on each individual axis.
There are two pairs of software limit switches for each machine axis. They are defined in the machine axis system using the
following machine data:
MD36100 POS_LIMIT_MINUS (1st software limit switch minus)
MD36110 POS_LIMIT_PLUS (1st software limit switch plus)
MD36120 POS_LIMIT_MINUS2 (2nd software limit switch minus)
MD36130 POS_LIMIT_PLUS2 (2nd software limit switch plus)
Effectiveness
● Software (SW) limit switch monitoring is activated after reference point approach in all modes.
● The position of the software limit switch can be approached.
● The 2nd software limit switch can be activated via the "2nd software limit switch plus/minus" interface signal
(DB380x.DBX1000.3 or .2) from the PLC. The change becomes active immediately. The 1st software limit switch
plus/minus is then de-activated.
● The SW limit switch monitoring does not function for endlessly turning rotary axes, i.e. if MD30310 ROT_IS_MODULO =
1. (Modulo conversion for rotary axis and spindle)
Effect/reactions
Based on the mode, different responses to an attempted software limit switch violation are possible:
AUTO, MDA:
● The block that would violate the software limits switches is not started. The previous block is terminated properly.
● Program execution is terminated.
● Alarm 10720 "Software limit switch + or -" is signaled.
JOG:
● The axis stops at the software limit switch position.
● Alarm 10621 "Axis at software limit switch + or -" is signaled.
● The direction keys in the approach direction are disabled.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 27
Note
Switching over the software limit switch:
If the current position lies behind the new software limit switch when the software limit switch is switched over, the axis is
decelerated with the maximum permissible axial acceleration. If an axis is involved in interpolation with other axes, these are
also decelerated. Then a contour violation may occur.
Remedy
● Reset
● Move in the opposite direction (in JOG mode)
● Correct the program
Function Manual
28 6FC5397-7EP40-0BA0, 08/2013
Number Identifier Name
36000 STOP_LIMIT_COARSE Exact stop coarse
36010 STOP_LIMIT_FINE Exact stop fine
36020 POSITIONING_TIME Time delay exact stop fine
36030 STANDSTILL_POS_TOL Standstill tolerance
36040 STANDSTILL_DELAY_TIME Delay time standstill monitoring
36050 CLAMP_POS_TOL Clamping tolerance with "Clamping active" interface signal
36060 STANDSTILL_VELO_TOL Maximum velocity/speed "Axis/spindle stationary"
36100 POS_LIMIT_MINUS 1. Minus software limit switch
36110 POS_LIMIT_PLUS 1. Plus software limit switch
36120 POS_LIMIT_MINUS2 2. Minus software limit switch
36130 POS_LIMIT_PLUS2 2. Plus software limit switch
36200 AX_VELO_LIMIT [n] Threshold value for velocity monitoring
36210 CTRLOUT_LIMIT[n] Maximum speed setpoint
36300 ENC_FREQ_LIMITn Encoder frequency limit
36302 ENC_FREQ_LIMIT_LOW Encoder limit frequency resynchronization
36310 ENC_ZERO_MONITORING [n] Zero mark monitoring
36400 CONTOUR_TOL Tolerance band contour monitoring
36500 ENC_CHANGE_TOL High backlash values /
Maximum tolerance for actual position value changeover
36600 BRAKE_MODE_CHOICE Braking behavior at hardware limit switch
36610 AX_EMERGENCY_STOP_TIME Length of the braking ramp for error states
36620 SERVO_DISABLE_DELAY_TIME Cutout delay controller enable
Function Manual
6FC5397-7EP40-0BA0, 08/2013 29
4.2 General
Machine axes that are related interpolatively must have the same dynamic response, i.e. the same following error at any
given velocity.
The term path axes refer to all machining axes which are controlled by the interpolator calculating the path points in such a
manner that:
● All the axes involved start at the same time
● All the axes involved travel with the correct velocity ratios
● All the axes reach the programmed target position at the same time
The acceleration rates of the individual axes may vary depending on the path, e.g. circular path.
Path axes can be geometry axes and special axes (e.g. workpiece turning axes that are involved in the workpiece machining
process).
Function Manual
30 6FC5397-7EP40-0BA0, 08/2013
Activate exact stop
The "Exact stop" function can be selected in the NC part program by command G60 or G9. G60 is modal, G9 is non-modal.
G9 is used if continuous path mode is to be interrupted. Both exact stop functions only function with the selected exact stop
criterion (G601, G602). The "exact stop" function is de-selected with the continuous path mode function (G64).
Exact-stop criteria
● Exact stop fine: G601
This criterion is applied to monitor whether the actual/setpoint position deviation of the axis has remained within a
specific distance. The value of the permissible distance is stored in MD36010 STOP_LIMIT_FINE (exact stop fine)
● Exact stop coarse: G602
Functions as exact stop fine, although the monitoring window is stored in MD36000 STOP_LIMIT_COARSE (exact stop
coarse). To permit a faster block change than with the exact stop fine criterion, the exact stop coarse criterion is set to be
larger than the exact stop fine criterion.
Interpolator end
Interpolator end is achieved when the interpolator has calculated the setpoint velocity of the axes from zero for an
interpolation cycle. However, the actual positions of the path axes have not reached the target (following error).
Irrespective of continuous-path mode or the active exact-stop criteria for the exact-stop function, "interpolator end" transfers
the auxiliary functions present in the block to the PLC if they are to be output after the end of motion.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 31
● If auxiliary functions are to be output after the traverse motion, they are output after the interpolator end of the block.
● If an executable block contains no travel information for the path axes, the previous block is terminated on reaching the
selected exact stop criterion.
● A block is terminated on interpolator end if the following block contains the changeover of the acceleration profile
BRISK/SOFT.
● If the function "Empty buffer" (STOPRE) is programmed, the previous block is terminated when the selected exact stop
criterion is reached.
Function
This function lowers the path velocity in continuous path mode until the nontangential block transition can be traversed in
one interpolation cycle whilst respecting the deceleration limit and taking an overload factor into account. With the reduced
velocity, axis-specific jumps in velocity are produced with a nontangential contour at the block transition. The jump in velocity
prevents the path velocity dropping to zero. This jump is performed if the axial velocity was reduced with the axial
acceleration to a velocity from which the new setpoint can be reached with the jump.
The magnitude of the setpoint jump can be limited using an overload factor. Because the magnitude of the jump is axial, the
minimum jump of the path axes which are active during the block change is considered during block transition. With a
practically tangential block transition, the path velocity is not reduced if the permissible axial accelerations are not exceeded.
In this way, very small angular changes in the contour can be overtraveled directly.
Overload factor
The overload factor restricts step changes in the machine axis velocity at the block transition. 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, which is set in MD32300 MAX_AX_ACCEL (axis
acceleration), may be exceeded for an IPO cycle.
The velocity jump is the product of:
axis acceleration * (overload factor-1) * interpolator cycle. The overload factor is 1.2.
Factor 1.0 means that only tangential transitions with finite velocity can be traversed. For all other transitions, the velocity is
reduced to zero by changing the setpoint.
Function Manual
32 6FC5397-7EP40-0BA0, 08/2013
4.4.3 Jerk limiting along the path through velocity reduction
Introduction
With the jerk limiting along the path, another method of influencing the continuous-path mode is introduced. While the
"Velocity reduction according to overload factor" function limits the rate of velocity change, the "Jerk limitation on path"
function described here limits the acceleration changes (jerks).
When sections of the contour consisting of blocks (e.g. circle straight line transitions) are machined, step changes in the
acceleration rate occur at the block transition in continuous path mode.
Reducing jerk
The severity of such jerks can be reduced by decreasing the path velocity at transitions between blocks containing different
degrees of curvature. A smoother transition is thus achieved between the contour sections.
Jerk limit
The user specifies the maximum jerk, which may occur on a path axis during a block transition, with MD32432
PATH_TRANS_JERK_LIM (maximum axis-specific jerk of a path axis at the block transition).
Activating
Jerk limiting at block transitions becomes active if continuous path mode is programmed with G64 and SOFT acceleration
characteristics. MD32432 PATH_TRANS_JERK_LIM must contain a positive value.
Function
The axis-specific machine data MD32431 MAX_AX_JERK[..] can be used to set individual changes in acceleration for each
machine axis, like those that can already be set for acceleration limits in machine data MD32300 MAX_AX_ACCEL.
MD32431 MAX_AX_JERK acts on the axes interpolated by the path if SOFT (smooth acceleration curve) is active within a
block.
A basic distinction is made between the axis acceleration curve within a block and at the transition between two blocks.
Advantages
The deployment of axis-specific machine data for the path offers the following advantages:
● Immediate allowance is made in the interpolation for the dynamic response of the axes, which can then be fully utilized
for each axis.
● Jerk limitation for separate axes is performed not just in linear blocks, but also in curved contours.
Please refer to Chapter "Acceleration (Page 39)" for more information on the subject of "jerk limiting".
Function
COMPON, COMPCURV
The compressor functions COMPON and COMPCURV generate one polynomial block from up to ten consecutive linear blocks
of the form: "G01 X... Y... Z... F...". The polynomial blocks of the compressor functions have the following
properties:
● COMPON: Continuous velocity block transitions
● COMPCURV: Continuous velocity and acceleration block transitions
Function Manual
6FC5397-7EP40-0BA0, 08/2013 33
COMPCAD
The compressor function COMPCAD can generate one polynomial block from theoretically any number of linear and circular
blocks. The polynomial blocks have constant velocity and acceleration at the block transitions. Corners that are desirable are
identified as such and taken into account.
The maximum tolerable deviation of the calculated path to the programmed points can be specified using machine data for
all compressor functions. In contrast to COMPON and COMPCURV, the specified tolerances are not used in different directions
in neighboring paths with COMPCAD. In fact, COMPCAD attempts to achieve - under similar conditions - also similar deviations
from the programmed points.
The common objective of compressor functions is to optimize the surface quality and machining speed by achieving
continuous block transitions and increasing the path length for each block.
COMPCAD is very CPU time and memory-intensive. It is recommended that COMPCAD is only used there where surface
improvements were not successful using measures in the CAD/CAM program.
General
● The position data in the blocks to be compressed can be realized as required, e.g. X100, X=AC(100), X=R1*(R2+R3)
● The compression operation is then interrupted by every other command, e.g. auxiliary function output, in and between
the blocks to be compressed.
Availability
For the SINUMERIK 808D ADVANCED, NC block compression is only available for the milling versions.
Parameterization
The following machine and setting data must be set for the parameterization of the NC block compression:
Channel-specific machine data
Number Identifier $MC_ Meaning
MD20170 COMPRESS_BLOCK_PATH_LIMIT Maximum traversing length of NC block for compression
MD20172 COMPRESS_VELO_TOL Maximum permissible deviation from path feed for compression
MD20482 COMPRESSOR_MODE Setting the mode of operation of the compressor
Channel-specific setting data
Number Identifier $SC_ Meaning
SD42470 CRIT_SPLINE_ANGLE Corner limit angle for COMPCAD
SD42475 COMPRESS_CONTUR_TOL Maximum permissible contour deviation with compression
Note
Corner limit angle and compressor function COMPCAD
The corner limit angle for COMPCAD set via the setting data SD42470 $SC_CRIT_SPLINE_ANGLE is only used as an
approximate measure for corner detection. By evaluating the plausibility, the compressor can also identify flatter block
transitions as corners and larger angles as outliers.
Function Manual
34 6FC5397-7EP40-0BA0, 08/2013
Number Identifier Recommended value
MD28520 $MC_MM_MAX_AXISPOLY_PER_BLOCK 3
(maximum number of axis polynomials per block)
MD28530 $MC_MM_PATH_VELO_SEGMENTS 5
(number of memory elements for limiting the path velocity)
MD28540 $MC_MM_ARCLENGTH_SEGMENTS 10
(number of memory elements for displaying the arc length function)
MD28060 $MC_MM_IPO_BUFFER_SIZE 100
(number of NC blocks for the block preparation)
MD28070 $MC_MM_NUM_BLOCKS_IN_PREP 60
(number of blocks for the block preparation)
MD32310 $MA_MAX_ACCEL_OVL_FACTOR <Value for G64
(overload factor for axial velocity jumps) operation>
Programming
Switch on
Compressor functions are activated using the modal G commands COMPON, COMPCURV or COMPCAD.
To further improve the surface quality, the functions G642 (rounding function) and SOFT (jerk limitation) can be used. The
commands must be written together at the beginning of the program.
Example:
Program code Comment
PROC ...
N10 COMPCAD SOFT G642 ; Activating the COMPCAD compressor
N20 G01 X... Y... Z... F... ; Traversing blocks 1 ... n
...
N1000 COMPOF ; Deactivation of the compressor
N1010 RET
Deactivation
All compressor functions are deactivated using the COMPOF command.
References
The programming of the compressor functions is described in:
Programming and Operating Manual (Milling)
Function
During the preparation of spline blocks, blocks with short lengths can always occur between blocks with long lengths. This
can mean that the path velocity must always be significantly reduced before these short blocks.
With the "Combine short spline blocks" function, the spline blocks are prepared in such a way that blocks with short lengths
are avoided and therefore traversing can be performed smoothly with a high path velocity.
Note
NC block compressor
The NC block compressor (COMPON, COMPCURV or COMPCAD) cannot be employed while compressing spline blocks, since
with this only linear blocks can be compressed.
Availability
System Availability
Function Manual
6FC5397-7EP40-0BA0, 08/2013 35
SINUMERIK 808D ADVANCED T/M Option
Activation
The "Combine short spline blocks" function can be activated for the following spline types:
● BSPLINE
● BSPLINE/ORICURVE
● CSPLINE
The activation is done using machine data:
MD20488 $MC_SPLINE_MODE, bit <n> = <value> (setting for spline interpolation)
Bit <value> Meaning: "Combine short spline blocks" function ...
0 0 For BSPLINE not active
1 For BSPLINE active
1 0 For BSPLINE/ORICURVE not active
1 For BSPLINE/ORICURVE active
2 0 For CSPLINE not active
1 For CSPLINE active
Supplementary conditions
● Spline blocks can only be combined if no other functions are programmed except traversing motions and feedrate. With,
for example, auxiliary functions that are output on the PLC, the spline blocks cannot be combined.
● The maximum number of blocks that can be combined into a program section in succession, depends on the size of the
memory available for blocks in the block preparation.
MD28070 $MC_MM_NUM_BLOCKS_IN_PREP (number of blocks for block preparation)
Example
In order to attain a higher path velocity when executing the following program, the "Combine short spline blocks" function is
activated for BSPLINE interpolation:
MD20488 $MC_SPLINE_MODE, Bit 0 = 1
Program code Comment
PROC P1
N10 G1 G64 X0 Y0 Z0 F1000
N20 G91 F10000 BSPLINE
; BSPLINE interpolation with Combine short spline blocks from this point
N30 X0.001 Y0.001 Z0.001
N40 X0.001 Y0.001 Z0.001
N50 X0.001 Y0.001 Z0.001
N60 X0.001 Y0.001 Z0.001
N70 X0.001 Y0.001 Z0.001
N80 X0.001 Y0.001 Z0.001
...
N1000 M30
Function Manual
36 6FC5397-7EP40-0BA0, 08/2013
4.6 LookAhead
Function
LookAhead is a procedure in continuous path mode (G64) that achieves velocity control with LookAhead over several NC
part program blocks beyond the current block.
Without LookAhead: If the program blocks only contain very small paths, a velocity per block is achieved that permits
deceleration of the axes at the block end point without violating acceleration limits. This means that the programmed velocity
was not actually reached although a sufficient number of prepared blocks with virtually tangential path transitions were
available.
With the LookAhead function: It is possible to plan the acceleration and deceleration phase with approximately tangential
path transitions over several blocks in order to achieve a higher feedrate with shorter distances. Deceleration to velocity
limits is possible with LookAhead such that violation of the acceleration and velocity limit is prevented.
Figure 4-2 Comparison of the G60 and G64 velocity behavior with short travels in the blocks
Operating principle
LookAhead functionality is available only for path axes, but not for the spindle.
For safety reasons, the velocity at the end of the last prepared block must initially be assumed to be zero because the next
block might be very small or be an exact-stop block and the axes must have been stopped by the end of the block. With a
series of blocks with high set velocity and very short paths, the speed can be increased in each block depending on the
velocity value currently calculated by the LookAhead function in order to achieve the required set velocity. After this it can be
reduced so that the velocity at the end of the last block considered by the LookAhead function can be zero. This results in a
sawtooth-shaped velocity profile which can be avoided by reducing the set velocity for the number of blocks considered by
the LookAhead function (fixed value).
Velocity profiles
In addition to the fixed, plannable velocity limitations, LookAhead can also take account of the programmed velocity. This
makes it possible to achieve a lower velocity by applying LookAhead beyond the current block.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 37
Following block velocity
One possible velocity profile contains the determination of the following block velocity. Using information from the current
and the following NC block, a velocity profile is calculated from which, in turn, the required velocity reduction for the current
override is derived. The calculated maximum value of the velocity profile is limited by the maximum path velocity.
With this function it is possible to initiate a speed reduction in the current block taking override into account such that the
lower velocity of the following block can be achieved. If the reduction in velocity takes longer than the travel time of the
current block, the velocity is further reduced in the following block. Velocity control is only ever considered for the following
block.
Function Manual
38 6FC5397-7EP40-0BA0, 08/2013
4.7.3 Interface signals
Number Bit Name
Channel-specific
DB3300.DBX0004 .3 All axes stationary
Axis/spindle-specific
DB390x.DBX0000 .6 Position reached with exact stop coarse
DB390x.DBX0000 .7 Position reached with exact stop fine
5 Acceleration
5.1 Acceleration profiles
Abrupt acceleration changes
With the v/t-linear control of the axis velocity that is normally applied, the motion is controlled such that the acceleration rate
changes abruptly over time. With the discontinuous, stepped acceleration, jerk-free starting and braking of the axes is not
possible, but a time optimized velocity/time profile can be implemented.
Applicability
Path-related jerk limitation is available for interpolating path axes in operating modes "AUTO" and "MDA". The SOFT and
BRISK acceleration profiles can be used in traverse modes exact stop G9, G60, continuous path modes G64, and with
LookAhead. The profiles are also active with the dry run feedrate function. With alarms that trigger a rapid stop, both
acceleration profiles are inactive.
Further information about velocity, acceleration and jerk whilst traversing in continuous path mode and at block transitions
can be found in Chapter "Continuous Path Mode, Exact Stop and LookAhead (B1)".
Function Manual
6FC5397-7EP40-0BA0, 08/2013 39
Note
We recommend setting the following machine data for each axis with the same values: MD32431 MAX_AX_JERK and
MD32432 PATH_TRANS_JERK_LIM (maximum axis-specific jerk for path movement at block transition)
6 Gantry axes
6.1 Brief description
Note
If the corresponding option is activated without a valid license, alarm 8081 "%1 option(s) that has (have) not been licensed
using a license key was (were) set" is output. It will not be possible to operate the machine as normal.
For information on operations relating to "Setting (an) option(s)", please refer to the chapter titled "Licensing in the
SINUMERIK 808D ADVANCED (Page 247)".
Gantry axes
Gantry axes are mechanically grouped machine axes. Because of this mechanical coupling, gantry axes are always
traversed in unison. The control occurs through the "gantry axes" function.
The machine axis that is directly traversed is called the leading axis. The machine axis that is traversed in synchronism with
it is called the synchronized axis. Together, the leading axis and synchronized axis form a gantry axis grouping.
The difference between the actual positions of the leading axis and synchronized axis is monitored continuously. When the
actual position value of the synchronized axis deviates too much from that of the leading axis, the control automatically
brings all axes in the gantry grouping to a standstill in order to prevent any damage to the machines.
Function Manual
40 6FC5397-7EP40-0BA0, 08/2013
Application
Two feed drives are required to traverse the gantry on large gantry-type milling machines, i.e. one drive with its own position
measuring system on each side. Owing to the mechanical forced coupling, both drives must be operated in absolute
synchronism to prevent canting of mechanical components.
Configuration
A gantry axis grouping consisting of a leading axis and synchronized axis can be defined.
Figure 6-1 Example: Gantry-type milling machine with a gantry axis grouping (X and X1)
The purpose of the "gantry axes" function is to control and monitor machine axes which are rigidly coupled in this way.
Terms
The following terms are frequently used in this functional description:
Gantry axes
Gantry axes comprise one pair of axes, the leading axis and the synchronized axis. As these axes are mechanically
coupled, they must always be traversed simultaneously by the NC. The difference between the actual positions of the axes
is monitored continuously. The axes in a gantry grouping are either all linear axes or all rotary axes.
Gantry axis grouping
A total of one gantry connection can be defined. Each gantry grouping consists of one leading axis and one synchronized
axis.
The gantry axis grouping defines which synchronized axis is controlled by which leading axis, based on machine data
settings. The leading axis and synchronized axis cannot be traversed separately.
Leading axis
The leading axis is the gantry axis that exists from the point of view of the operator and programmer and, thus, can be
influenced like a standard NC axis. The axis name of the leading axis identifies all axes in the gantry axis grouping.
Synchronized axis
Function Manual
6FC5397-7EP40-0BA0, 08/2013 41
A synchronized axis is the gantry axis whose set position is continuously derived from the motion of the leading axis and is,
thus, moved synchronously with the leading axis. From the point of view of the programmer and operator, the synchronized
axis "does not exist".
Note
Each axis in the gantry grouping must be set so that it can take over the function of the leading axis at any time, i.e.
matching velocity, acceleration and dynamic response settings.
Components
The "gantry axes" function can be subdivided into the following functional units:
1. Setpoint generation of synchronized axis
2. Monitoring of actual value difference
3. Referencing and synchronizing the leading axis and synchronized axis
Note
The dynamic control response settings for the leading and synchronized axes must be identical.
Function Manual
42 6FC5397-7EP40-0BA0, 08/2013
The value of MD37120 is applied when the gantry grouping is synchronized.
The alarm must be acknowledged with "RESET".
In addition, the following interface signal will be output to the PLC:
DB390x. DBX5005.2 (gantry trip limit exceeded)
If the gantry axis grouping has not yet been synchronized, the limit value for the gantry trip limit is derived from the following
machine data:
MD37130 GANTRY_POS_TOL_REF (gantry trip limit for referencing)
The "Gantry trip limit exceeded" IS is also output if the gantry grouping is jammed (no servo enable, gantry grouping in
"Hold" state).
The monitoring functions are deactivated while the grouping is operating in "Follow-up" mode.
Extended monitoring
An extended monitoring function can be activated with the following machine data:
MD37150 GANTRY_FUNCTION_MASK (gantry functions)
Closed-loop control
The dynamic control response settings for the coupled gantry axes must be identical (see Start-up of gantry axes
(Page 50)). This ensures that in normal operation, the leading and synchronized axes move in positional synchronism, even
during acceleration and braking.
Load effects are compensated by the appropriate drive of the leading or synchronized axis.
Disturbance characteristic
When a disturbance occurs which causes shutdown of one gantry axis owing, for example, to cancellation of the controller
enabling signal (example: EMERGENCY OFF), the coupled gantry axes are also shut down.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 43
NOTICE
Mechanical coupling of gantry axes
If the gantry axes remain mechanically coupled, there is a risk of damage to the machine when the leading or synchronized
axes are traversed in this operating state!
Gantry synchronization
All gantry axes must first be referenced and then synchronized after the control system is switched on. During gantry
synchronization, all gantry axes approach the reference position of the gantry grouping in the decoupled state.
The reference position of the gantry grouping for referencing the gantry axes corresponds to the reference position of the
leading axis:
MD34100 REFP_SET_POS (reference point value/destination point for distance-coded system)
Otherwise, the reference position is the current actual position of the leading axis.
These operations for referencing and synchronizing the gantry axes are executed automatically in accordance with a special
flowchart.
Referencing process
The flowchart for referencing gantry axes using an incremental measuring system is as follows:
Section 1:
Referencing of the leading axis
Axis-specific referencing of the gantry axes is started by the active machine function REF when the leading axis interface
signal is sent from the PLC user program:
DB380x.DBX0004.7/.6 (traversing key plus/minus)
The leading axis approaches the reference point (operational sequence as for reference point approach).
The appropriate synchronized axis traverses in synchronism with the leading axis. Interface signal
"Referenced/synchronized" of the leading axis is output to indicate that the reference point has been reached.
Section 2:
Referencing the synchronized axis
As soon as the leading axis has approached its reference point, the synchronized axis is automatically referenced (as for
reference point approach).
The dependency between the leading axis and synchronized axis is inverted in the control for this phase so that the leading
axis now traverses in synchronism with the synchronized axis. IS "Referenced/synchronized" of the synchronized axis is
output to indicate that the reference point has been reached. The gantry axis dependency then reverts to its previous status.
Section 3:
Gantry synchronization
Function Manual
44 6FC5397-7EP40-0BA0, 08/2013
Once all axes in the gantry grouping have been referenced, they must be synchronized with the defined reference position.
The actual position of each gantry axis is first compared to the defined reference position of the leading axis.
The next step in the operating sequence depends on the difference calculated between the actual values of the leading and
synchronized axes:
● difference is smaller than the gantry warning limit:
Gantry synchronization is started automatically (provided that IS "Automatic synchronization locking" has not been set).
The message "Synchronization in progress gantry grouping x" is output during this process.
All gantry axes traverse at a specific position value in the decoupled state at the velocity set in the machine data:
MD34040 REFP_VELO_SEARCH_MARKER (shutdown speed)
The position value is defined by the leading axis:
MD34100 REFP_SET_POS (reference point for incremental system)
The absolute encoders and distanced-coded encoders of the leading axis will be set to the current actual position of the
leading axis or to the reference point by the following machine data:
MD34330 REFP_STOP_AT_ABS_MARKER (distancecoded linear measuring system without destination point)
For this operation, the axes traverse at the same velocity as set for reference point approach:
MD34070 REFP_VELO_POS (reference point positioning velocity)
As soon as all gantry axes have reached their target position (ideal position), IS "Gantry grouping is synchronized" is set
to "1" followed by re-activation of the gantry axis coupling. The position actual value of all axes in the gantry grouping
must now be identical. The gantry synchronization process is now complete.
● Difference is higher than the gantry warning limit for the synchronized axis:
IS "Gantry synchronization read to start" is set to "1" and the message "Wait for synchronization start of gantry grouping
x" is output. The gantry synchronization process is not started automatically in this case, but must be started explicitly by
the operator or from the PLC user program. The process is initiated by IS "Start gantry synchronization" on the leading
axis. The signal is set on the leading axis. The operational sequence is then the same as that described above.
The following flowchart illustrates the referencing and synchronization processes.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 45
Figure 6-2 Flowchart for referencing and synchronization of gantry axes
Synchronization process
A synchronization process is always required in the following cases:
● after the reference point approach of all axes included in a grouping,
● if the axes become desynchronized (see below).
Function Manual
46 6FC5397-7EP40-0BA0, 08/2013
Operational sequence failure
If the referencing process described above is interrupted as a result of disturbances or a RESET, proceed as follows:
● Abort within section 1 or 2:
Restart reference point with leading axis (see section 1)
● Abort in section 3:
In cases where the gantry axes have not yet been referenced (IS "Referenced/Synchronized" = 1), the gantry
synchronization process can be started again with IS "Synchronize gantry grouping".
Note
Automatic synchronization can be locked by the leading axis by means of the following interface signal:
DB380x.DBX5005.5 (automatic synchronization locking)
This always makes sense if no axis enabling signal has yet been issued for the axes. In this case, the synchronization
process should also be started explicitly with the interface signal:
DB380x.DBX5005.4 = 1 (start gantry synchronization)
Loss of synchronization
The gantry grouping becomes desynchronized (DB390x.DBB5005 = 0) if:
● The gantry axes were in "Follow-up" mode
● The reference position of a gantry axis is lost, e.g. during "Parking" (no measuring system active)
● A gantry axis is re-referenced (DB390x.DBB0000 = 0)
● The gantry grouping was separated (MD37140 = 1)
In cases where the gantry grouping has lost synchronization during operation as the result of a disturbance, then the gantry
synchronization process can be restarted directly by means of IS "Start gantry synchronization" (condition:
DB390x.DBB0000 = 1 for all axes in the gantry grouping). In this case, the synchronizing axes traverse the current actual
position of the leading axis in the decoupled state.
If an EMERGENCY OFF occurs while a gantry grouping is moving, and is then rescinded, and both axes have drifted apart
less than the standstill tolerance of the following axis, then the gantry grouping will automatically synchronize. It no longer
needs to go in the BA REF.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 47
Referencing direction selection
The zero mark leveling function of the following axis can be defined using the following machine data:
MD37150 GANTRY_FUNCTION_MASK bit 1
Bit Value Meaning
1 0 The zero mark leveling function of the following axis is similar to
MD34010 REFP_CAM_DIR_IS_MINUS.
1 The zero mark leveling function of the master axis is the same as the slave axis
During referencing, the reference point value of the leading axis is specified as the target position for all axes in the grouping
for the synchronization compensatory motion. This position is then approached without axis coupling. The absolute encoders
and distance-coded encoders of the leading axis will be set to the current actual position of the leading axis or to the
reference point value; either of these options is set using the following machine data:
MD34330 REFP_STOP_AT_ABS_MARKER
(distance-coded linear measuring system without destination point)
If only one reference cam is used for the leading and synchronized axes, then this must be taken into account in the PLC
user program.
Note
The following interface signal blocks automatic synchronization in all modes except referencing mode:
DB380x.DBX5005.5 (automatic synchronization locking)
If automatic synchronization is to be activated, DB380x.DBX5005.5 must be set to "0".
Following this, one of the axes in the gantry grouping must be switched from follow-up mode to position-controlled mode.
This is achieved with the interface signals:
DB380x.DBX0001.4 = 1 (follow-up mode)
DB380x.DBX0002.1 = 1 (servo enable)
Function Manual
48 6FC5397-7EP40-0BA0, 08/2013
6.3.3 Points to note
Channelspecific referencing
Gantry axes can also be referenced on a channel-specific basis:
DB3200. DBX0001.0 (activate referencing)
The value of the leading axis machine data is used for the axis sequence during channel-specific referencing:
MD34110 REFP_CYCLE_NR (axis sequence for channel-specific referencing)
After the reference point of the leading axis has been reached, the synchronized axis is referenced first as described above.
Absolute encoder
During the synchronization compensatory motion, all the axes in the gantry axis grouping (in the decoupled state) also
traverse to the reference point value of the leading axis, which is defined in the following machine data:
MD34100 REFP_SET_POS (reference point value/destination point for distance-coded system)
The absolute encoders and distance-coded encoders of the leading axis will be set to the current actual position of the
leading axis or to the reference point value; either of these options is set using the following machine data:
MD34330 REFP_STOP_AT_ABS_MARKER
(distance-coded linear measuring system without destination point)
Function Manual
6FC5397-7EP40-0BA0, 08/2013 49
6.4 Start-up of gantry axes
General information
Owing to the forced coupling which is normally present between leading and synchronized gantry axes, the gantry axis
grouping must be commissioned as if it were an axis unit. For this reason, the axial machine data for the leading and
synchronized axes must always be defined and entered jointly.
If the synchronized axis is being overloaded by the leading axis due to reduced dynamics, this is acknowledged with alarm
10656.
Special points to be noted with regard to starting up gantry axes are described below.
Note
The control must then be switched off and then on again because the gantry axis definition and the trip limit values only take
effect after power ON.
Function Manual
50 6FC5397-7EP40-0BA0, 08/2013
● MD32610 VELO_FFW_WEIGHT (precontrol factor for acceleration/speed precontrol)
● MD32810 EQUIV_SPEEDCTRL_TIME (equivalent time constant speed control loop for precontrol)
The following control parameters must be set to the same value for the leading axis and synchronized axis:
● MD32400 AX_JERK_ENABLE (axial jerk limitation)
● MD32410 AX_JERK_TIME (time constant for the axial jerk filter)
● MD32420 JOG_AND_POS_JERK_ENABLE (basic setting for axial jerk limitation)
● MD32430 $MA_JOG_AND_POS_MAX_JERK (axial jerk)
Dynamics matching
The leading axis and the coupled synchronized axis must be capable of the same dynamic response to setpoint changes.
The same dynamic response means: The following errors are equal in magnitude when the axes are operating at the same
speed.
The dynamic response adaptation function in the setpoint branch makes it possible to obtain an excellent match in the
response to setpoint changes between axes, which have different dynamic characteristics (control loops). The difference in
equivalent time constants between the dynamically "weakest" axis and the other axis in each case must be specified as the
dynamic response adaptation time constant.
Example
When the speed feedforward control is active, the dynamic response is primarily determined by the equivalent time constant
of the "slowest" speed control loop.
Leading axis:
MD32810 EQUIV_SPEEDCTRL_TIME [n] = 5 ms
Synchronized axis:
MD32810 EQUIV_SPEEDCTRL_TIME [n] = 3 ms
Time constant of dynamic response adaptation for synchronized axis:
MD32910 DYN_MATCH_TIME [n] = 5 ms - 3 ms = 2 ms
(time constant of dynamic response adaptation)
Dynamic response adaptation must be activated axially with the following machine data:
MD32900 DYN_MATCH_ENABLE (dynamic response adaptation)
Note
Checking dynamic response adaptation:
For the purpose of fine tuning, it may be necessary to adjust servo gain factors or feedforward control parameters slightly to
achieve an optimum result.
comparing the actual position value display on the corresponding screen under <SYSTEM> operating area ( + )
Function Manual
6FC5397-7EP40-0BA0, 08/2013 51
Synchronizing gantry axes
The gantry synchronization process must be activated with IS "Start gantry synchronization" (see Section "Referencing and
synchronizing gantry axes (Page 44)"). Once the axes have been synchronized (IS "Gantry grouping is synchronized" = 1),
the dimensional offset between the leading and synchronized axes must be checked to ensure that it equals 0. Corrections
may need to be made in the machine data mentioned above.
Note
Generally, the start of the function generator, measuring functions and AM setup triggers the virtual axes to abort upon error
recognition.
Special cases
If individual axes have to be activated, the gantry groups must be temporarily canceled. As the second axis no longer travels
in synchronism with the first axis, the activated axis must not be allowed to traverse beyond the positional tolerance.
If the gantry grouping is canceled, the following points must be noted:
● Always activate the traversing range limits and set them to the lowest possible values (position tolerance)
● Synchronize the gantry grouping first if possible and then execute a POWER-ON-RESET without referencing the axes
again. This ensures that the traversing range limits always refer to the same position (i.e. that which was valid on power
ON).
● Avoid using the step-change function. Position step changes are only permissible if they stay within the permitted
tolerance.
● Always use an offset of 0 for the function generator and measuring function in contrast to the recommendations for
normal axes.
● Set the amplitudes for function generator and measuring function to such low values that the activated axis traverses a
shorter distance than the position tolerance allows. Always activate the traversing range limits as a check (see above).
Function Manual
52 6FC5397-7EP40-0BA0, 08/2013
Note
As a supplement to the more general description given here of features of start-up and dynamic control response of
drives, a complete example of a concrete constellation defined on the basis of its machine data can be found in Chapter
"Example".
parameterized axes commence traversing when the key on the MCP panel is pressed in JOG mode.
A window is displayed in the "Measuring function and function generator in gantry grouping" operator interface. Two
amplitude values, each with an offset and bandwidth, must be entered in this window. The first amplitude value applies to
the measuring axis and the second to the other coupled axes.
Table 6-2 Assignment of gantry-PLC interface signals to leading and synchronized axes
PLC interface signal PLC ↔ NCK Address Leading axis Synchronized axis
Start gantry synchronization → DB380x.DBX50 x
05.4
Automatic synchronization locking → DB380x.DBX50 x
05.5
Gantry axis ← DB390x.DBX50 1 1
05.7
Gantry leading axis ← DB390x.DBX50 1 0
05.6
Gantry grouping is synchronized ← DB390x.DBX50 x
05.5
Gantry synchronization ready to start ← DB390x.DBX50 x
05.4
Gantry warning limit exceeded ← DB390x.DBX50 x
05.3
Gantry trip limit exceeded ← DB390x.DBX50 x
05.2
x ≙ relevant for ...
Function Manual
6FC5397-7EP40-0BA0, 08/2013 53
Table 6-3 Effect of interface signals from PLC to axis on leading and synchronized axes
Handwheel override
An overriding motion by means of the handwheel can only be applied to the leading axis in coupled axis mode. In this case,
the synchronized axes traverse in synchronism with the leading axis.
PRESET
The PRESET function can only be applied to the leading axis. All axes in the gantry grouping are reevaluated internally in
the control when PRESET is activated. The gantry axis then loses their reference and synchronization:
DB390x.DBX5005.5 = 0 (gantry grouping is synchronized)
Function Manual
54 6FC5397-7EP40-0BA0, 08/2013
The state of the leading axis is assumed. The user is informed about the inappropriate configuration with display alarm 4300.
Position display
The position actual value display shows the actual values of both the leading axis and the synchronized axes. The same
6.7 Example
6.7.1 Creating a gantry grouping
Introduction
The individual steps involved in the process are explained below using an example constellation:
● Setting up a gantry grouping
● Referencing its axes
● Aligning any offsets
● Synchronizing the axes involved
Constellation
Machine axis 1 = gantry leading axis, incremental measuring system
Machine axis 3 = gantry synchronized axis, incremental measuring system
The following MD describes the output values. Individual settings must be corrected or added later according to the
information below.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 55
MD34030 REFP_MAX_CAM_DIST = corresponds to max. distance traversed
MD34040 REFP_VELO_SEARCH_MARKER =
MD34050 REFP_SEARCH_MARKER_REVERSE = e.g. FALSE
MD34060 REFP_MAX_MARKER_DIST = difference btw. cam edge and 0 mark
MD34070 REFP_VELO_POS =
MD34080 REFP_MOVE_DIST = 0
MD34090 REFP_MOVE_DIST_CORR = 0
MD34092 REFP_CAM_SHIFT = 0
MD34100 REFP_SET_POS = 0
MD34200 ENC_REFP_MODE = 1
Introduction
An automatic synchronization process during axis referencing must first be disabled in order to prevent any damage to
grouping axes that are misaligned.
Function Manual
56 6FC5397-7EP40-0BA0, 08/2013
Figure 6-6 NCK-PLC interface DB390x.DBB5005 relative to synchronized axis
Referencing
The following steps must be taken:
● Select "REF" operating mode
● Start referencing for the leading axis (axis 1)
● Wait until message "10654 Channel 1 Waiting for synchronization start" appears.
At this point, the NCK has prepared the leading axis for synchronization and signals this using the following IS:
Figure 6-7 NCK-PLC interface DB390x.DBB5005: Leading axis ready for synchronization
Note
This MD is effective after POWER ON. To avoid having to perform a POWER ON in advance, this value can also be
entered in the following machine data:
MD34080 REFP_MOVE_DIST (reference point distance)
The MD is then valid after a RESET.
● Start referencing again for axis 1 with the modified machine data
● Wait until message "10654 Channel 1 Waiting for synchronization start" appears
● At this point, the NCK has prepared axis 1 for synchronization and sends the same interface signal as shown in the
image above:
● Examine actual positions of machine. Case A or B might apply:
Function Manual
6FC5397-7EP40-0BA0, 08/2013 57
Figure 6-8 Possible results of referencing the leading axis
If Case A applies, the synchronization process can be started immediately. See step "Start synchronization". If Case B
applies, the offset "diff" must be calculated and taken into account:
● Measuring of diff
● By using two appropriate, right-angled reference points R and R" in the machine bed (at the right of the image), the
difference in position can be traversed in JOG. The diff offset can then be read as the difference in the position display.
The diff offset must be entered in the machine data of axis 3 (synchronized axis):
MD34100 REFP_SET_POS
Continue with Step 1 (see above).
● Start gantry synchronization. PLC sets:
DB380x.DBX5005.4 = 1 (start gantry synchronization)
Proceed as follows
● Set the machine data for all axes with a large value to begin with:
MD37120 GANTRY_POS_TOL_ERROR (gantry trip limit)
● Set a very small value in the machine data:
MD37110 GANTRY_POS_TOL_WARNING (gantry warning limit)
When you put a heavy, dynamic strain on the axes, always be careful to re-enter the self-canceling alarm "10652
channel %1 axis %2 gantry warning limit exceeded".
● Now increase MD37110.
Do this until the alarm no longer appears. The interface indicates the status specified below. (That must occur in the
appropriate window, according to production.)
● Enter the value calculated for the warning limit + a small buffer value for safety purposes in machine data MD37120:
Function Manual
58 6FC5397-7EP40-0BA0, 08/2013
Note
The same procedure must be followed when commissioning a gantry grouping in which the axes are operated by linear
motors and associated measuring systems.
The error limits entered into machine data MD37110 and MD37120 are considered to be additional tolerance values for the
actual-value difference of the leading axis and following axis if the IS "Gantry is synchronous" is not present (e.g. to be
resynchronized after canceling alarms without the gantry grouping).
Function Manual
6FC5397-7EP40-0BA0, 08/2013 59
6.8.2 Interface signals
Number Bit Name Leading axis Synchronized axis
Mode-specific
DB3100.DBX00 .2 Active machine function REF - -
01
Channel-specific
DB3300.DBX00 .0 Referencing active - -
01
Axis-specific
DB380x.DBX50 .4 Start gantry synchronization x -
05
DB380x.DBX50 .5 Automatic synchronization locking x -
05
DB390x.DBX00 .4 Referenced/synchronized 1 - -
00
DB390x.DBX50 .2 Gantry trip limit exceeded - x
05
DB390x.DBX50 .3 Gantry warning limit exceeded - x
05
DB390x.DBX50 .4 Gantry synchronization ready to start x -
05
DB390x.DBX50 .5 Gantry grouping is synchronized x -
05
DB390x.DBX50 .6 Gantry leading axis 1 0
05
DB390x.DBX50 .7 Gantry axis 1 1
05
x ≙ relevant for ...
Traversing possibilities
Traversing the axes can be done via the traverse keys of a connected machine control panel (manual travel) or via
connected handwheels (handwheel jogging).
All machine axes can be traversed simultaneously using keys (with an appropriate version of a user-specific machine control
panel) or via handwheel, depending on the number of handwheels connected. If several machine axes are moved
simultaneously, there is no interpolatory relation.
Coordinate systems
The user has the option of traversing axes in the coordinate systems:
● Machine coordinate system (MCS); machine axes manually traversable
● Workpiece coordinate system (WCS); geometry axes manually traversable
Function Manual
60 6FC5397-7EP40-0BA0, 08/2013
Machine functions
Variants exist for manual traverse (the so-called machine functions):
● Continuous traversal
● Incremental traversing (INC, preset number of traversing increments). An increment is evaluated with 0.001 mm if the
basic system setting is metric.
The PLC user program transfers a user-specific machine function queued at the machine control interface to the relevant
PLC/NCK interface. Here the axis-specific NCK/PLC interface should be used for a machine axis/spindle, and the channel-
specific NCK/PLC interface should be used for a geometry axis or valid for all axes/spindles and geometry axes: Signals in
the operating mode range (see also following section).
Handwheel jogging
The axes can also be traversed via the handwheel in MCS or WCS. Incremental traversing (INC...) must be set to evaluate
the handwheel pulses (see Section "Handwheel traversal in JOG (Page 64)").
Note
A separate, channel-specific PLC interface supplies geometry axes.
Velocity
The velocity of the axes/spindle during manual traverse in JOG is defined by the following default values:
● For linear axes with the general SD41110 JOG_SET_VELO (JOG velocity with G94) or for rotary axes with SD41130
JOG_ROT_AX_SET_VELO (JOG velocity for rotary axes) or SD41200 JOG_SPIND_SET_VELO (JOG velocity for the
spindle).
● If the corresponding SD is zero, the appropriate axis-specific MD32020 JOG_VELO (conventional axis velocity) applies.
In this case, the value of the assigned machine axis is used for geometry axes: X->X1, Y->Y1, Z->Z1 (for default setting).
Function Manual
6FC5397-7EP40-0BA0, 08/2013 61
Rapid traverse override
If in the case of machine axes the rapid traverse override key is pressed at the same time as the traversing keys, then the
movement is executed at the rapid traverse velocity set in axis-specific MD32010 JOG_VELO_RAPID (axis velocity in JOG
mode with rapid traverse override).
The value of the assigned machine axis is used for geometry axes: X->X1, Y->Y1, Z->Z1 (for default setting). The separate
PLC interface area of the geometry axes must be used for control.
Velocity override
The velocity at which axes traverse in JOG can also be influenced by the axis-specific feedrate override switch for machine
axes, provided that axis-specific IS "Override active" (DB380x.DBX0001.7) is set. If the switch is set at 0%, the axis is not
traversed - even if IS "Override active" is not set.
The channel-specific feedrate override switch applies to geometry axes, or, in the case of rapid traverse override, the rapid
traverse override switch.
The activated spindle override switch applies to the spindle.
Acceleration
The maximum axis acceleration is defined with the axis-specific MD32300 MAX_AX_ACCEL. The acceleration can also be
set via a preset characteristic curve in JOG mode. The possible settings are described in Chapter "Acceleration (Page 39)".
PLC interface
A separate PLC interface (DB3200.DBB1000, ff or DB3300.DBB1000, ff ) exists for geometry axes (axes in WCS) that
contains the same signals as the axis-specific PLC interface.
When the spindle is traversed manually, the PLC interface signals between the NCK and PLC have the same effect as for
machine axes. Interface signals "Position reached with fine or coarse exact stop" are only set if the spindle is in position
control.
In the case of interface signals that are only spindle-specific, while the spindle is traversing in JOG, the following should be
noted:
● The following PLC interface signals to the spindle have no effect:
– IS "Invert M3/M4" (DB380x.DBX2001.6)
– IS "Set direction of rotation ccw" or "Set direction of rotation cw" (DB380x.DBX2002.7 or .6)
– IS "Oscillation speed" (DB380x.DBX2001.5)
● The following PLC interface signals from the spindle are not set:
– IS "Actual speed cw" (DB390x.DBX2001.7)
– IS "Spindle in setpoint range" (DB390x.DBX2001.5)
Note
A reset causes the manual traverse motion (axis/spindle) to be terminated with brake ramp.
Limitations
The following limitations are active for manual travel:
● Software limit switches 1 or 2 (axis must be referenced)
● Hardware limit switches
The control ensures that the traversing movement is aborted as soon as the first valid limitation has been reached. Velocity
control ensures that deceleration is initiated early enough for the axis to stop exactly at the limit position (e.g. software limit
switch). Only when the hardware limit switch is triggered does the axis stop abruptly with "rapid stop".
An alarm is output when the corresponding limit is reached. The control automatically prevents further movement in this
direction. The traversing keys and the handwheel have no effect in this direction.
Note
The software limit switches are only active if the axis has previously been referenced.
Function Manual
62 6FC5397-7EP40-0BA0, 08/2013
Note
For further information on working area limits and hardware and software limit switches see Chapter "Axis Monitoring
(Page 21)".
Function Manual
6FC5397-7EP40-0BA0, 08/2013 63
DB2600.DBX0001.0 = 1 → in the operating mode range: DB3000.DBB0002,
valid for all axes
DB2600.DBX0001.0 = 0 → in the geometry axis / axis range:
DB3200.DBB1001, DB3200.DBB1005,
DB3200.DBB1009, DB380x.DBB0005
The active machine function IS "INC... " is signaled by the NCK to the PLC:
● For geometry axes: DB3300.DBX1001.0, DB3300.DBX1005.0, DB3300.DBX1009.0 to .5
● For machine axes / spindle: DB390x.DBX0005.0 to .5
Settable increments
The operator can set different increment sizes:
● Fixed increments whose increment sizes are common to all axes: INC1, INC10, INC100, INC1000 (only via IS:
INC10000).
● A variable increment (INCvar). The increment setting for the variable increment can also be made for all axes using
general SD41010 JOG_VAR_INCR_SIZE (size of the variable increment for INC/handwheel).
● Using menu-assisted operation (HMI). Pressing the softkey in the JOG-mode basic menu displays the
"Handwheel" window. This enables an axis (WCS or MCS) to be assigned to each handwheel.
A separate user interface between the HMI and PLC is provided to allow activation of the handwheel from the operator panel
(HMI). This interface that the basic PLC program supplies for handwheels 1 to 2 contains the following information:
● The axis numbers assigned to the handwheel IS "Axis number handwheel n"
(DB1900.DBB1003, ff)
● Additional information on the machine or geometry axis
IS "Machine axis" (DB1900.DBB1003.7, ff)
The "Activate handwheel" interface signal is either set to "0" (disable) or to "1" (enable) by the PLC user program for the
defined axis.
Function Manual
64 6FC5397-7EP40-0BA0, 08/2013
Settings as path or velocity
When the electronic handwheel is turned, the assigned axis is traversed either in the positive or negative direction
depending on the direction of rotation.
The general MD11346 HANDWH_TRUE_DISTANCE (handwheel path or velocity specification) can be used to set the
setting type of the handwheel motion and thus adapted to the intended use.
● MD value = 0 (default):
The settings from the handwheel are velocity specifications. When the handwheel is stationary, braking is realized along
the shortest path.
● MD value = 1:
The settings from the handwheel are path specifications. No pulses are lost. Limiting the velocity to the maximum
permissible value can cause the axes to overtravel. Particular care should be taken in the case of a high weighting of the
handwheel pulses. Further variants of the path or speed setting are possible with the value = 2 or 3.
Evaluation
The traversing path/velocity produced by rotation of the handwheel is dependent on the following factors:
● Number of handwheel pulses received at the interface
● Active increment (machine function INC1, INC10, INC100, ... )
An increment is evaluated with 0.001 mm if the basic system setting is metric.
● Pulse weighting of the handwheel using general MD11320 HANDWH_IMP_PER_LATCH (handwheel pulses per locking
position)
Velocity
The velocity results from the pulses generated by the handwheel and the pulse evaluation: Traverse path per time unit. This
velocity is limited by the value in the axis-specific MD32000 MAX_AX_VELO.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 65
Response at software limit switches
When axes are traversed in JOG mode, they can traverse only up to the first active limitation before the corresponding alarm
is output.
Depending on the machine data MD11310 HANDWH_REVERSE, the behavior is as follows (as long as the axis on the
setpoint side has not yet reached the end point):
● MD value = 0:
The distance resulting from the handwheel pulses forms a fictitious end point which is used for the subsequent
calculations: If this fictitious end point is positioned, for example, 10 mm behind the limitation, these 10 mm must be
traversed in the opposite direction before the axis traverses again. If a movement in the opposite direction is to be
performed immediately after a limit, the fictitious distance-to-go can be deleted via IS "Delete distance-to-go"
(DB380x.DBX0002.2) or by deselecting of the handwheel assignment.
● MD value > 0:
All handwheel pulses leading to an end point behind the limitation are ignored. Any movement of the handwheel in the
opposite direction leads to an immediate movement in the opposite direction, i.e. away from the limitation.
Function
The machine user can use the "Approach fixed point in JOG" function to approach axis positions defined using machine data
by actuating the traversing keys of the Machine Control Panel or by using the handwheel. The traveling axis comes to a
standstill automatically on reaching the defined fixed point.
Applications
Typical applications are, for example:
● Approaching a basic position before starting an NC program.
● Travel towards tool change points, loading points and pallet change points.
Requirements
● The "Approaching fixed point in JOG" can be activated only in the "JOG" mode.
The function cannot be enabled in the JOG-REPOS and JOG-REF sub-modes and in JOG in the "AUTO" mode.
● The axis to be traversed must be referenced.
● A kinematic transformation may not be active.
● The axis to be traversed must not be a synchronized axis of an active coupling.
● No ASUPs are executed.
7.5.2 Functionality
Procedure
Procedure in "Approaching fixed point in JOG"
● Selection of JOG mode
● Enabling the "Approach fixed point in JOG" function
● Traversing of the machine axis with traverse keys or handwheel
Function Manual
66 6FC5397-7EP40-0BA0, 08/2013
Activation
The PLC sets the interface signal after the "Approach fixed point in JOG" function is selected:
"JOG - Approach fixed point" (DB380x.DBX1001.0-2)
The number of the fixed point to be approached is output using bit 0 - 2 in binary code. The NC confirms activation with the
following interface signal as soon as the function takes effect:
"JOG - Approaching fixed point active" (DB390x.DBX1001.0-2)
Sequence
The actual traversing is started with the traverse keys or the handwheel in the direction of the approaching fixed point.
The selected machine axis traverses till it comes to an automatic standstill at the fixed point.
The corresponding NC/PLC interface signal is sent on reaching the fixed point with "Exact stop fine":
"JOG - Approaching fixed point reached" (DB390x.DBX1001.3-5)
This display signal is also reported if the axis reaches the fixed point position in the machine coordinate system using other
methods (e.g. NC program, synchronized action) at the setpoint end, and comes to a standstill at the actual-value end within
the "Exact stop fine" tolerance window (MD36010 STOP_LIMIT_FINE)
Note
To avoid the alarm message, the machine user should proceed as follows:
1. Cancel the current traverse movement with residual distance deletion.
2. Activate fixed point approach for another fixed point and start the operation after the axis comes to a standstill.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 67
Special features of incremental travel
If, during incremental travel, the fixed point is reached before the increment is completed, then the increment is considered
to have been completed fully. This is the case even when only whole increments are traveled.
MD11346 HANDWH_TRUE_DISTANCE = 2 or 3
Features of spindles
A spindle changes to the positioning mode on actuating the "Approaching fixed point in JOG" function. The closed loop
position control is active and the axis can traverse to the fixed point.
If a zero mark has not been detected, the following alarm message is output (as with axis operation):
Alarm 17810 "Channel %1 axis %2 not referenced"
As a spindle must also be a modulo rotary axis at all times, the same conditions apply for direction observation as for
modulo rotary axes (refer to the paragraph "Features of modulo rotary axes")
Note
"Approaching fixed point with G75" constitutes an exception here. In this case, it is also possible to approach two fixed-point
positions with one setting (MD30610 = 0).
7.5.4 Programming
System variables
The following system variables that can be read in the part program and in the synchronous actions for the "Approach fixed
point" function are available.
System variable Description
$AA_FIX_POINT_SELECTED [<Axis>] Number of fixed point to be approached
$AA_FIX_POINT_ACT [<Axis>] Number of the fixed point on which the axis is currently
located
Function Manual
68 6FC5397-7EP40-0BA0, 08/2013
7.5.5 Supplementary Conditions
Frames active
All active frames are ignored. Traversing is performed in the machine coordinate system.
Target
A rotary axis (machine axis 4 [AX4]) is to be moved to Fixed Point 2 (90 degrees) with the "Approaching fixed point in JOG"
function.
Parameter setting
The machine data for the "Approaching fixed point" function of machine axis 4 are parameterized as follows:
MD30610 NUM_FIX_POINT_POS[AX4] = 4 4 fixed points are defined for machine axis 4.
MD30600 FIX_POINT_POS[0,AX4] = 0 1st Fixed point of AX4 = 0 degree
MD30600 FIX_POINT_POS[1,AX4] = 90 2nd Fixed point of AX4 = 90 degree
MD30600 FIX_POINT_POS[2,AX4] = 180 3rd Fixed point of AX4 = 180 degree
MD30600 FIX_POINT_POS[3,AX4] = 270 4th Fixed point of AX4 = 270 degree
Initial situation
Machine axis 4 is referred and is in Position 0 degree. This corresponds to the 1st fixed point and is output via the following
NC/PLC interface signal:
DB390x.DBX1001.0 = 1 (bit 0 - 2 = 1)
Function Manual
6FC5397-7EP40-0BA0, 08/2013 69
7.6 Data table
7.6.1 Machine data
Number Identifier Name
General information
10000 AXCONF_MACHAX_NAME_TAB[n] Machine axis name [n = axis index]
10735 JOG_MODE_MASK Settings for JOG mode
11310 HANDWH_REVERSE Defines movement in the opposite direction
11320 HANDWH_IMP_PER_LATCH[0]...[2] Handwheel pulses per locking position
11346 HANDWH_TRUE_DISTANCE Handwheel path or velocity specification
Channel-specific
20060 AXCONF_GEOAX_NAME_TAB[n] Geometry axis in channel [n = geometry axis index]
20100 DIAMETER_AX_DEF Geometry axes with transverse axis functions
Axis/spindle-specific
30600 FIX_POINT_POS[n] Fixed-point positions for the axis
30610 NUM_FIX_POINT_POS Number of fixed-point positions for an axis
32000 MAX_AX_VELO Maximum axis velocity
32010 JOG_VELO_RAPID Rapid traverse in JOG mode
32020 JOG_VELO JOG axis velocity
32300 MAX_AX_ACCEL Axis acceleration
32420 JOG_AND_POS_JERK_ENABLE Enable for axis-spec. jerk limitation
32430 JOG_AND_POS_MAX_JERK Axis-specific jerk
35130 GEAR_STEP_MAX_VELO_LIMIT[0]...[5] Maximum velocity for gear stage/spindle
Function Manual
70 6FC5397-7EP40-0BA0, 08/2013
Number Bit Name
DB3200.DBX1000 .4 Traversing-key lock for geometry axis 1
DB3200.DBX1004 .4 for geometry axis 2
DB3200.DBX1008 .4 for geometry axis 3
DB3200.DBX1000 .5 Rapid traverse override for geometry axis 1
DB3200.DBX1004 .5 for geometry axis 2
DB3200.DBX1008 .5 for geometry axis 3
DB3200.DBX1000 .7 or .6 Traversing keys plus or minus for geometry axis 1
DB3200.DBX1004 .7 or .6 for geometry axis 2
DB3200.DBX1008 .7 or .6 for geometry axis 3
DB3200.DBX1000 .0 to .6 Machine function INC1 to continuous for geometry axis 1
DB3200.DBX1004 .0 to .6 for geometry axis 2
DB3200.DBX1008 .0 to .6 for geometry axis 3
DB3300.DBX1000 .1, .0 Handwheel active (2, 1) for geometry axis 1
DB3300.DBX1004 .1, .0 for geometry axis 2
DB3300.DBX1008 .1, .0 for geometry axis 3
DB3300.DBX1000 .7 or .6 Traverse command plus or minus for geometry axis 1
DB3300.DBX1004 .7 or .6 for geometry axis 2
DB3300.DBX1008 .7 or .6 for geometry axis 3
Active machine function INC1 to continuous
DB3300.DBX1001 .0 to .6 for geometry axis 1
DB3300.DBX1005 .0 to .6 for geometry axis 2
DB3300.DBX1009 .0 to .6 for geometry axis 3
Axis/spindle-specific
DBB380x.DBX0000 - Feed override
DB380x.DBX0000 .7 Override active
DB380x.DBX0002 .2 Delete distance-to-go
DB380x.DBX0004 .1, .0 Activate handwheel (2, 1)
DB380x.DBX0004 .4 Traversing-key lock
DB380x.DBX0004 .5 Rapid traverse override
DB380x.DBX0004 .7 or .6 Traversing keys plus or minus
DB380x.DBX0005 .0 to .6 Machine function INC1 up to continuous in axis range
DB380x.DBX1002 .0 to .2 Activated fixed-point approach in JOG (binary coded: fixed point 1 to 4)
DB390x.DBX0000 .7/.6 Position reached with coarse/fine exact stop
DB390x.DBX0004 .1, .0 Handwheel active (2, 1)
DB390x.DBX0004 .7 or .6 Traverse command plus or minus
DB390x.DBX0005 .0 to .6 Active machine function INC1 to continuous
DB390x.DBX1001 .0 to .2 Fixed-point approach in JOG active (binary coded)
DB390x.DBX1001 .3 to .5 Fixed point reached (binary coded)
Function Manual
6FC5397-7EP40-0BA0, 08/2013 71
8 Auxiliary function outputs to PLC
8.1 Brief description
Auxiliary functions
For the purpose of workpiece machining operations, it's possible to program process-related functions (feedrate, spindle
speed, or gear stages) and functions for controlling additional devices on the machine tool (sleeve forward, gripper open,
clamp chuck) in the part program in addition to axis positions and interpolation methods. This is performed with the "auxiliary
functions" as collective term for various types.
The following types of auxiliary functions are available:
● Miscellaneous function M
● Spindle function (S)
● Auxiliary function (H)
● Tool number T
● Tool offset D
● Feed F (for the SINUMERIK 808D ADVANCED, there is no output from F to PLC)
Function Manual
72 6FC5397-7EP40-0BA0, 08/2013
Functio Address extension Value Explanation Number
n (integer) per block
Meaning Area Area Type Meaning max
H Any 0 - 99 ±3.4028 ex 38 REAL Any Functions have no 3
effect in the NCK; only
to be implemented on
the PLC
T - - 0-32000 INT Tool selection 1
D - - 0-9 INT Tool offset D0 deselection, default 1
selection D1
F - - 0,001- REAL Path feedrate 1
999 999,999
A maximum total of 10 auxiliary functions may be programmed in one block. Alarm 14770 "Auxiliary function incorrectly
programmed" is output when the specified length for address extension of value is exceeded or when the wrong data type is
used. The following table shows some programming examples for H functions.
If the admissible number of auxiliary functions per block is exceeded, alarm 12010 is issued.
Block change
A new auxiliary function output from the NCK to the PLC is only possible after the PLC has acknowledged all transferred
auxiliary functions. Auxiliary functions are present in the user interface for at least one PLC cycle. A block is considered as
completed when the programmed movement has been completed and the auxiliary function has been acknowledged. To do
so, the NCK stops the part program processing if necessary to ensure that no auxiliary functions are lost from the PLC user
program's point of view.
Continuous-path mode
A path movement can only remain continuous if auxiliary function output takes place during the movement and is
acknowledged by the PLC before the path end is reached, see Chapter "Continuous Path Mode (Page 31)".
Interface signals
Transfer of the signals from NCK to the PLC.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 73
8.4 Grouping of auxiliary functions
Functionality
The auxiliary functions of the types M, H, D, T, and S that are to be issued can be grouped to auxiliary function groups
through the machine data.
An auxiliary function can only be assigned to one group.
Only one auxiliary function of a group can be programmed per block. Otherwise, alarm 14760 is issued.
Configuration
You can define a maximum of 64 auxiliary function groups. A maximum of 64 auxiliary functions can be assigned to these 64
auxiliary function groups. This number does not include auxiliary functions (group 1 to 3) that are pre-assigned as standard.
The actual number of auxiliary functions that are to be assigned must be entered in the NCK-specific MD11100
AUXFU_MAXNUM_GROUP_ASSIGN (number of the auxiliary functions distributed to the AUXFU groups). To do so, the
password for protection level 2 must be set. Then, the control must be turned off and on again. Now, the subsequent
machine data with an index n greater than zero are available and additional values can be entered.
An allocated auxiliary function is defined in the following machine data:
● MD22000 AUXFU_ASSIGN_GROUP[n] (auxiliary function group)
● MD22010 AUXFU_ASSIGN_TYPE[n] (auxiliary function type)
● MD22020 AUXFU_ASSIGN_EXTENSION[n] (auxiliary function extension)
● MD22030 AUXFU_ASSIGN_VALUE[n] (auxiliary function value)
User-defined groups
The other (user-defined) groups are issued with the movement.
Configuring example:
Distribute 8 auxiliary functions to 7 groups:
Group 1: M0, M1, M2 (M17, M30) - by default, should be kept
Group 2: M3, M4, M5 (M70) - by default, should be kept
Group 3: S functions - by default, should be kept
Group 4: M78, M79
Group 5: M80, M81
Group 6: H1=10, H1=11, H1=12
Group 7: all T functions
Password for protection level 2 is set.
Function Manual
74 6FC5397-7EP40-0BA0, 08/2013
Make entry in MD11100 AUXFU_MAXNUM_GROUP_ASSIGN=8.
Then turn off the control and turn it on again or perform the control start-up through the softkey and define the remaining
machine data with a subsequent restart of the control.
Table 8-3 Entries into the machine data for the example
Note
If the auxiliary functions are to be collected during the block search, they must be assigned to an auxiliary function group!
Application
You can use the M functions to enable the various switching operations on the machine per part program.
Scope of functions
● Five M functions per part program block are possible.
● Value range of M functions: 0 to 99; integer number
● Permanent functions have already been assigned to some of the M functions by the control manufacturer (see the
Programming and Operating Manual). The functions not yet assigned fixed functions are reserved for free use of the
machine manufacturer.
8.6.2 T function
Application
The T function can be used to make the tool required for a machining operation available through the PLC. Whether a tool
change is to be performed directly with the T command or with a subsequent M6 command can be set in
MD22550 TOOL_CHANGE_MODE.
The programmed T function can be interpreted as tool number or as location number.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 75
Scope of functions
One T function per part program block is possible.
Peculiarity
T0 is reserved for the following function: remove the current tool from the tool holder without loading a new tool.
8.6.3 D function
The D function is used to select the tool offset for the active tool. Tool offsets are described in detail under:
Reference:
Programming and Operating Manual
8.6.4 H function
Application
The H functions can be used to transfer different values from the part program to the PLC. The meaning can be chosen by
the user.
Scope of functions
● Three H functions per part program block are possible.
● Value range of the H functions: Floating data (as calculating parameter R)
● Address extension 0 to 99 (H0=... to H99=...) possible
8.6.5 S function
The S function is used to determine the speed for the spindle with M3 or M4. For turning machines with G96 (constant
cutting speed) the cutting value is specified.
Reference:
Programming and Operating Manual
Function Manual
76 6FC5397-7EP40-0BA0, 08/2013
Number Bit Name
DB2500.DBX0012 .0 to .2 H function 1 change to H function 3 change
DB2500.DBD2000 T function 1 (DINT)
DB2500.DBD3000 M function 1 (DINT)
DB2500.DBB3004 Extended address of M function 1 (BYTE)
DB2500.DBD3008 M function 2 (DINT)
DB2500.DBB3012 Extended address of M function 2 (BYTE)
DB2500.DBD3016 M function 3 (DINT)
DB2500.DBB3020 Extended address of M function 3 (BYTE)
DB2500.DBD3024 M function 4 (DINT)
DB2500.DBB3028 Extended address of M function 4 (BYTE)
DB2500.DBD3032 M function 5 (DINT)
DB2500.DBB3036 Extended address of M function 5 (BYTE)
DB2500.DBD4000 S function 1 (REAL format)
DB2500.DBB4004 Extended address of S function 1 (BYTE)
DB2500.DBD4008 S function 2 (REAL format)
DB2500.DBB4012 Extended address of S function 2 (BYTE)
DB2500.DBD5000 D function 1 (DINT)
DB2500.DBW6004 Extended address of H function 1 (Word)
DB2500.DBD6000 H function 1 (REAL format)
DB2500.DBW6012 Extended address of H function 2 (Word)
DB2500.DBD6008 H function 2 (REAL format)
DB2500.DBW6020 Extended address of H function 3 (Word)
DB2500.DBD6016 H function 3 (REAL format)
DB2500.DBX1000 .0 - .7 Decoded M signals: M00 - M07
DB2500.DBX1001 .0 - .7 Decoded M signals: M08 - M15
DB2500.DBX1012 .0 - .7 Decoded M signals: M96 - M99
DB370x.DBD0000 - M function for the spindle (DINT), axis-specific
DB370x.DBD0004 - S function for the spindle (REAL), axis-specific
Channel
A channel constitutes a unit in which a part program can be executed.
A channel is assigned an interpolator with program processing by the system. A certain mode is valid for it.
The SINUMERIK 808D ADVANCED control system has one channel.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 77
9.2 Operating modes
9.2.1 Operating modes
Activating
The required operating mode is activated by the interface signals in the DB3000.DBB0000. If several modes are selected at
the same time the priority of the operating modes is as follows:
● JOG (high priority): The axes can be traversed manually with the handwheel or the traversing keys. Channel-specific
signals and interlocks are not observed.
● MDA: Program blocks can be processed
● AUTO (lower priority): Automatic processing of part programs
Feedback signal
The active operating mode is displayed by the interface signals in the DB3100.DBB0000.
Stop
A stop signal can be issued with the following interface signals
● IS "NC stop" (DB3200.DBX0007.3)
● IS "NC stop axes plus spindles" (DB3200.DBX0007.4)
● IS "NC stop at block limit" (DB3200.DBX0007.2)
Depending on the interface signal used, either only the axes or in addition the spindles of the channels are stopped or the
axes at block end.
RESET
The active part program is aborted by the IS "Reset" (DB3000.DBX0000.7).
The following actions are executed when the IS "Reset" is triggered:
● Part program preparation is stopped immediately.
● Axes and spindles are stopped.
● Any auxiliary functions of the current block not yet output, are no longer output.
● The block indicator is reset to the beginning of the relevant part program.
● All Reset alarms are deleted from the display.
● The reset is complete as soon as IS "Channel status Reset" (DB3300.DBX0003.7) is set.
Ready
Ready to run is displayed by IS "808D Ready" (DB3100.DBX0000.3).
Function Manual
78 6FC5397-7EP40-0BA0, 08/2013
9.2.2 Mode change
General
A changeover to another operating mode is requested and activated via the interface.
Note
The mode is not changed internally until the IS "Channel status active" (DB3300.DBX0003.5) is no longer present.
In the "Channel status Reset" (IS: DB3300.DBX0003.7, e.g. after pressing the "Reset key") one can switch from any
operating mode into another.
In the "Channel status interrupted" (IS: DB3300.DBX0003.6) only a conditional changeover is possible (see following table).
If one leaves AUTO to change to JOG, one must return to AUTO again or press "Reset". Thus a change AUTO-JOG-MDA is
made impossible. The same applies for MDA from which one may change neither directly nor indirectly to AUTO, provided
the Reset state is present.
The table shows the possible operating mode changes depending on the current operating mode and the channel state
("Channel in reset" or "Channel interrupted").
Function Manual
6FC5397-7EP40-0BA0, 08/2013 79
Mode of operation AUTO JOG MDI
Functions 1 2 3 1 3 4 3 5 3 1 2 3 6 7
s: Function can be started in this status
b: Function can be processed in this status
1: Channel in reset
2: Channel interrupted
3: Channel active
4: Channel interrupted JOG during AUTO interruption
5: Channel interrupted JOG during MDA interruption
6: Channel active JOG in MDA during MDA interruption
7: Channel active JOG in MDA
Function Manual
80 6FC5397-7EP40-0BA0, 08/2013
9.2.5 Interlocks in the individual modes
Overview of interlocks
Different interlocks can be active in the different operating modes.
The following table shows which interlocks can be activated in which operating mode and in which operating state.
Mode of operation AUTO JOG MDI
Functions 1 2 3 1 3 4 3 5 3 1 2 3 6 7
General interlocks
808D Ready x x x x x x x x x x x x x x
Mode change disable x x x x x x x x x x x x x x
Channel-specific interlocks
Feed stop x x x x x x x
NC Start disable x x x x x x x x x x x x x x
Read-in disable x x x x x x x x x x x x x x
Axis-specific interlocks
Spindle disable x x x x x x x x x x x x x x
Controller disable x x x x x x x x x x x x x x
Axis disable x x x x x x x x x x x x x x
Spindle-specific interlocks
Controller disable x x x x x x x x x x x x x x
Spindle disable x x x x x x x x x x x x x x
x: Interlock can be activated in this status
1: Channel in reset
2: Channel interrupted
3: Channel active
4: Channel interrupted JOG during AUTO interruption
5: Channel interrupted JOG during MDA interruption
6: Channel active JOG in MDA during MDA interruption
7: Channel active JOG in MDA
Definition
Program mode applies if a part program is processed in the "AUTO" mode or program blocks are processed in the "MDA"
mode.
Channel control
The Program mode can be controlled even while being executed via interface signals from the PLC. These can be either
mode group specific or channel specific interface signals.
The channel reports its current program operation status to the PLC with interface signals.
Selection
A part program can be selected only if the relevant channel is in the Reset state.
The part program can be selected via:
Function Manual
6FC5397-7EP40-0BA0, 08/2013 81
9.3.2 Start of part program or part program block
Execution of command
The part program or part program block is automatically processed and IS "Channel status active" (DB3300.DBX0003.5)
and IS "Program status running" (DB3300.DBX0003.0) are set.
The program is processed until the end of the program has been reached or the channel is interrupted or aborted by a STOP
or RESET command.
Interrupts
The START command is not effective if the prerequisite is not fulfilled. Then one of the following interrupts occurs: 10200,
10202, 10203
Channel status
The STOP command is executed only if the channel concerned is in the "Channel active" status (DB3300.DBX0003.5).
STOP commands
There are various commands which stop processing of the program and set the channel status to "interrupted":
● IS "NC Stop at block limit" (DB3200.DBX0007.2)
● IS "NC stop" (DB3200.DBX0007.3)
● IS "NC Stop axes plus spindle" (DB3200.DBX0007.4)
● IS "Single block" (DB3200.DBX0000.4)
● Programming command "M0" or "M1" and corresponding activation
Execution of command
After execution of the STOP command, IS "Program status stopped" (DB3300.DBX0003.2) and the IS "Channel status
interrupted" (DB3300.DBX0003.6) are set. Processing of the interrupted part program can continue from the point of
interruption with another START command.
The following actions are executed when the STOP command is triggered:
Function Manual
82 6FC5397-7EP40-0BA0, 08/2013
● Part program processing is stopped at the next block limit (with NC stop at block limit, M0/M1 or single block), processing
is stopped immediately with the other STOP commands.
● Any auxiliary functions of the current block not yet output, are no longer output.
● The axes are stopped with subsequent stop of the part program processing.
● The block indicator stops at the point of interruption.
Function
The RESET command (IS "Reset" (DB3000.DBX000.7)) can be executed in every channel state. This command is aborted
by another command.
A RESET command can be used to interrupt an active part program or part program blocks. After execution of the Reset
command, IS "Channel status reset" (DB3300.DBX0003.7) and the IS "Program status aborted" (DB3300.DBX0003.4) are
set.
The part program cannot be continued at the point of interruption. All axes in the channel are at exact stop.
The following actions are executed when the RESET command is triggered:
● Part program preparation is stopped immediately.
● All axes and if appropriate spindles are braked.
● Any auxiliary functions of the current block not yet output, are no longer output.
● The block indicator is reset to the beginning of the part program.
● All alarms are cleared from the display if they are not POWER ON alarms.
Selection/activation
The user can control part program processing via the user interface. Under the menu (operating mode "AUTO",
<MACHINE> operating area ( )) certain functions can be selected, whereby some functions act on interface signals of
the PLC. These signals are merely selection signals from the user interface. They do not activate the selected function.
These signal states must be transferred from the PLC user program to another area of the data block to activate the
selected functions. With program control by the PLC the signals are to be set directly.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 83
9.3.6 Program status
Program states
The status of the selected program is displayed in the interface in the "AUTO" and "MDA" operating modes. If the "JOG"
operating mode is selected when the program is stopped, then the "interrupted" program status is displayed there or on
reset also "aborted".
The following program states are available in the SINUMERIK 808D ADVANCED:
● IS "Program status aborted" (DB3300.DBX0003.4)
● IS "Program status interrupted" (DB3300.DBX0003.3)
● IS "Program status stopped" (DB3300.DBX0003.2)
● IS "Program status running" (DB3300.DBX0003.0)
Channel states
The current channel status is signaled at the interface for the channel. The PLC can then trigger certain responses and
interlocks configured by the manufacturer depending on the status at the interface. The channel status is displayed in all
operating modes.
The following channel states are available:
● IS "Channel status reset" (DB3300.DBX0003.7)
● IS "Channel status interrupted" (DB3300.DBX0003.6)
● IS "Channel status active" (DB3300.DBX0003.5)
Function Manual
84 6FC5397-7EP40-0BA0, 08/2013
The "Channel status active" signal is obtained when a part program or part program block is being executed or when the
axes are traversed in JOG mode.
Application
In the case of certain events, an implied user program is to start. This allows the user to activate the initial settings of
functions or carry out initialization routines by part program command.
Note
The call of this user program in the SW version 4.6 (in this manual) is not compatible with that in the SW version 4.4.
Event selection
MD20108 PROG_EVENT_MASK (event-driven program call) can be used to specify which of the following events is to
enable the user program:
● Bit0 = 1: Part program start
● Bit1 = 1: Part program end
● Bit2 = 1: Operator panel reset
● Bit3 = 1: Power up (of the NC control)
Function Manual
6FC5397-7EP40-0BA0, 08/2013 85
Table 9-7 Sequence when starting a part program
Function Manual
86 6FC5397-7EP40-0BA0, 08/2013
Seque Command Boundary conditions Comments
nce (must be satisfied before the
command)
4 /_N_CMA_DIR/CYCPE1MA.SPF and as an ASUP Implied call of the path name as
/_N_CMA_DIR/CYCPE_MA.SPF an ASUP
5 MD20110 RESET_MODE_MASK, Control activated: The G code reset position
MD20150 GCODE_RESET_VALUES, Reset sequence with evaluation continues to be specified with
MD20152 GCODE_RESET_MODE machine data
Event
Startup
Note
You must put the manufacturer cycles CYCPE1MA.SPF and CYCPE_MA.SPF in the folder CMA.DIR.
The two manufacturer cycles are corresponding jump markers prepared; therefore CYCPE1MA is jumped to at the
beginning of PROG_EVENT.SPF and CYCPE_MA is jumped to at the end.
Chronological sequences
For part program start and part program end:
Time sequence of VDI signals DB3300.DBB0003 ("Program status" and "Channel status") when processing a part program
with an event-driven program call for part program start and part program end:
Figure 9-1 Time sequence of the interface signals for program status and channel status (1)
Function Manual
6FC5397-7EP40-0BA0, 08/2013 87
With operator panel reset:
Time sequence of VDI signals DB3300.DBB0003 ("Program status" and "Channel status") when processing with an event-
driven program call:
Figure 9-2 Time sequence of the interface signals for program status and channel status (2)
Note
IS DB3300.DBX0003.4 ("Program status aborted") and DB3300.DBX0003.7 ("Channel status reset") are only received if
CYCPE1MA.SPF and CYCPE_MA.SPF have been completed.
Neither IS DB3300.DBX0003.4 ("Program status aborted") nor DB3300.DBX0003.7 ("Channel status reset") are received
between the program end and the start of the program event.
This is also the case between an operator panel reset and the start of the program event.
Function Manual
88 6FC5397-7EP40-0BA0, 08/2013
The response to read-in disable and single-block processing can be controlled separately through the machine data
MD20106 PROG_EVENT_IGN_SINGLEBLOCK (Prog events ignore the single block) and
MD20107 PROG_EVENT_IGN_INHIBIT (Prog events ignore the read-in disable).
MD20106 PROG_EVENT_IGN_SINGLEBLOCK:
CYCPE1MA.SPF and CYCPE_MA.SPF cause a block change despite single block without a further start when
Bit 0 = 1 is set, after Part program start event
Bit 1 = 1 is set, after Part program end event
Bit 2 = 1 is set, after Operator panel reset event
Bit 3 = 1 is set, after Ramp-up event
Bit 4 = 1 is set, after First start after search run event
MD 20107: PROG_EVENT_IGN_INHIBIT:
CYCPE1MA.SPF and CYCPE_MA.SPF cause a block change despite read-in disable when
Bit 0 = 1 is set, after Part program start event
Bit 1 = 1 is set, after Part program end event
Bit 2 = 1 is set, after Operator panel reset event
Bit 3 = 1 is set, after Ramp-up event
Bit 4 = 1 is set, after First start after search run event
The following constraint applies for Bit 0 == 1 (program event after part program start):
If the program event ends with the part program command "RET", then RET always leads to an executable block
(analogous to M17).
There is no new behavior for Bit 0 == 0, i.e. RET is interpreted in the interpreter and does not lead to an "executable
block".
No sequences for start/end of part program are passed:
● If a user ASUP is started from the reset status, the described sequences for the event for start/end of part program are
not passed.
● Settable Prog-Event properties
Machine data MD20109 PROG_EVENT_MASK_PROPERTIES can be used to define further properties of "event-driven
program calls" for specific channels:
– Bit0 = 0: An ASUP started from the RESET channel state is followed by an "event-driven program call" as in earlier
versions
– Bit0 = 1: An ASUP started from the RESET channel state is not followed by an "event-driven program call"
With the Part program start:
/_N_CMA_DIR/CYCPE1MA.SPF and /_N_CMA_DIR/CYCPE_MA.SPF are executed as subroutines. CYCPE1MA.SPF and
CYCPE_MA.SPF must be ended with M17 or RET. A return by means of REPOS command is not permitted and triggers
alarm 16020 "Repositioning not possible".
Error with operator panel reset or after ramp-up:
If EMERGENCY STOP or an operating mode / NCK error is still present when the operator panel is reset or after rampup,
then CYCPE1MA.SPF and CYCPE_MA.SPF will only be processed after EMERGENCY STOP has been acknowledged or
the error has been acknowledged in the channel.
Assignment example
MD20106 PROG_EVENT_IGN_SINGLEBLOCK = 'H1F'
MD20107 PROG_EVENT_IGN_INHIBIT = 'HC'
MD20109 PROG_EVENT_MASK_PROPERTIES = 'H1'
Event programs
Example for call by all events
MD20108 PROG_EVENT_MASK = 'H0F' (event-driven program call),
i.e. call of CYCPE1MA.SPF and CYCPE_MA.SPF during part program start, part program end, operator panel reset and
ramp-up:
Sequence for part program start
IF ($P_PROG_EVENT == 1)
Function Manual
6FC5397-7EP40-0BA0, 08/2013 89
N 10 R100 = 0 ; Transfer parameters for machining cycles
N 20 M17
ENDIF
Note
Recommendation for MD11450 with block search:
MD11450 SEARCH_RUN_MODE = ’H7’ (search parameterization)
Bit 0 = 1:
With the loading of the last action block after block search, the processing is stopped and the VDI signal "Last action block
active" is set. Alarm 10208 is not output until the PLC requests this by setting the VDI signal "PLC action ended".
Application: PLC starts an ASUP after block search.
Bit 1 = 1:
Automatic ASUP start after output of the action blocks. Alarm 10208 is not output until the ASUP is completed.
Bit 2 = 1:
Output of the auxiliary functions is suppressed in the action blocks. The spindle programming that accumulated during the
block search can be output at a later point in time (e.g. in an ASUP).
The program data for this is stored in the following system variables:
● $P_SEARCH_S
● $P_SEARCH_SDIR
● $P_SEARCH_SGEAR
● $P_SEARCH_SPOS
● $P_SEARCH_SPOSMODE
Function Manual
90 6FC5397-7EP40-0BA0, 08/2013
9.3.9 Asynchronous subroutines (ASUPs)
Function
It is possible to activate two different ASUPs (PLCASUP1_SPF and PLCASUP2_SPF) from the PLC via the ASUP interface
area. Before an asynchronous subroutine (ASUP) can be started from the PLC, it must have been assigned to an interrupt
number by an NC program or by the PI service ASUP (see DB1200.DBB4000).
Once prepared in this way, it can be started at any time from the PLC. The NC program running is interrupted by the ASUP.
Only one ASUP can be started at one time. If the start signal for both ASUPs is to be set to logical 1 in a PLC cycle, the
ASUPs are started in the sequence INT1 and then INT2.
The start signal must be set to logical 0 by the user once the ASUP has been completed or if an error has occurred.
Note
The call of the ASUP PI service must have been completed before an ASUP may be started.
Initialization
The initialization is performed via the ASUP PI service.
Starting an ASUP
The time sequence of an ASUP is shown in the following pulse diagram in the example of PLCASUP1.SPF. You can see
from the table which interface signals are of relevance for PLCASUP2.SPF.
Configuration
The behavior of the ASUP can be influenced via the following standard machine data.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 91
● MD11602 ASUP_START_MASK (ignore stop reasons for ASUP)
The machine data specifies which stop reasons are to be ignored for an ASUP start.
Recommended: MD11602 = 'H7'
● MD11604 ASUP_START_PRIO_LEVEL (priority, as of which MD11602 is effective)
This machine data specifies the ASUP priority as of which machine data MD11602 ASUP_START_MASK is to be
applied. MD11602 is applied from the level specified here up to the highest ASUP priority level 1.
Recommended: MD11604 = 2
● MD20116 IGNORE_INHIBIT_ASUP (execute interrupt program in spite of read-in disable)
In spite of set read-in disable, an assigned user ASUP is processed completely for the interrupt channel with the set bit.
Bit 0 is assigned to interrupt channel 1 (PLCASUP1)
Bit 1 is assigned to interrupt channel 2 (PLCASUP2)
The machine data is effective only if MD11602 ASUP_START_MASK Bit2 = 0
● MD20117 IGNORE_SINGLEBLOCK_ASUP (execute interrupt program completely in spite of single block)
In spite of selected SBL processing mode, an assigned user ASUP is processed completely
for the interrupt channel with the set bit.
Bit 0 is assigned to interrupt channel 1 (PLCASUP1)
Bit 1 is assigned to interrupt channel 2 (PLCASUP2)
The machine data is effective only if
MD10702 IGNORE_SINGLE_BLOCK_MASK Bit1 = 0
Responses
The following table shows the channel and program states that result after certain operator and program actions.
The left-hand side of the table shows the channel and program states and the mode groups from which the initial situation
can be selected. Various operator/program actions are listed on the right-hand side of the table, the number of the situation
after the action has been carried out is shown in brackets after each action.
Situati Channel status Program status Active mode Operator or program action
on (Situation after the action)
R U A N U Swit A A M J
chg
ear
prot
ectio
n
1 x x x RESET (4)
2 x x x RESET (5)
3 x x x RESET (6)
4 x x x NC Start (13); mode change
(5 or 6)
5 x x x NC Start (14); mode change
(4 or 6)
6 x x x Direction key (15); mode change
(4 or 5)
7 x x x NC Start (14)
8 x x x NC Start (15)
9 x x x NC Start (13); mode change
(10 or 11)
Function Manual
92 6FC5397-7EP40-0BA0, 08/2013
Situati Channel status Program status Active mode Operator or program action
on (Situation after the action)
R U A N U Swit A A M J
chg
ear
prot
ectio
n
10 x x x NC Start (16); mode change
(9 or 11)
11 x x x Direction key (17); mode change
(9 or 10)
12 x x x NC Start (13); mode change
(10 or 11)
13 x x x NC Stop (12)
14 x x x NC Stop (7); at block end (5)
15 x x x NC Stop (8); at JOG end (6)
16 x x x NC Stop (10); at block end (10)
17 x x x NC Stop (11); at JOG end (11)
Description
Channel status: Program status: Operating modes:
R: aborted N: aborted A: AUTO
U: interrupted U: interrupted M: MDA
A: running S: stopped J: JOG
A: running
Function Manual
6FC5397-7EP40-0BA0, 08/2013 93
9.4 Program test
9.4.1 General information on the program test
Purpose
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. It is possible to activate several program test functions simultaneously.
The following test options are described here:
● Program processing without axis movements
● Program processing in single-block mode
● Program processing with dry run feedrate
● Processing of certain program sections
● Skipping certain program parts
● Graphic simulation
Functionality
The part program can be started and processed with active "Program test" function via the IS "NC Start"
(DB3200.DBX0007.1), i.e. with auxiliary function outputs, dwell times. Only the axes/spindles are simulated. The software
limit switch safety function continues to be valid.
The position control is not interrupted, so the axes do not have to be referenced when the function is switched off.
The user can check the programmed axis positions and auxiliary function outputs of a part program.
Note
Program processing without axis motion can also be activated with the function "Dry run feedrate".
Selection/activation
This function is selected via the user interface in the menu . IS "Program test selected" (DB1700.DBX0001.7) is
set on selection of the function.
The PLC user program must activate the function via the IS "Activate program test" (DB3200.DBX0001.7).
Display
As a checkback for the active program test, "PRT" is displayed in the status line on the user interface and the IS "Program
test active" (DB3300.DBX0001.7) is set in the PLC.
Functionality
The user can execute a part program block-by-block to check the individual machining steps. Once the user decides that an
executed part program block is functioning correctly, he/she can call the next block. The program is advanced to the next
part program block via IS "NC Start" (DB3200.DBX0007.1).
When the function "single block" is activated, the part program stops after every program block during processing. In this
case the activated single block type must be observed.
Single-block type
The following different types of single block are provided:
● Single block, coarse
Function Manual
94 6FC5397-7EP40-0BA0, 08/2013
With this type of single block, the blocks that initiate actions (traversing motions, auxiliary function outputs, etc.) are
processed individually. If tool radius compensation is active (G41,G42), processing stops after every intermediate block
inserted by the control. Processing is however not stopped at calculation blocks as these do not trigger actions.
● Single block, fine
With this type of single block, all blocks of the part program (even the pure computation blocks without traversing
motions) are processed sequentially by NC Start.
"Single block coarse" is the default setting after switching on.
CAUTION
In a series of G33 blocks single block is effective only if "dry run feedrate" is selected.
Selection/activation
The selection signal normally comes from a user machine control panel.
This function must be activated by the PLC user program via the IS "Activate single block" (DB3200.DBX0000.4).
The preselection whether "Single block coarse" or "Single block fine" type is made in the user interface in the "Program
control" menu.
Display
The checkback signal that single block mode is active is displayed in the relevant "SBL" field on the operator interface.
Because of the single block mode, as soon as the part program processing has processed a part program block:
● The following interface signals are set:
– IS "Channel status interrupted" (DB3300.DBX0003.6)
– IS "Program status stopped" (DB3300.DBX0003.2)
● The following interface signals are reset:
– IS "Channel status active" (DB3300.DBX0003.5)
– IS "Program status running" (DB3300.DBX0003.0)
NOTICE
Damage to the workpiece or machine tool
Workpieces may not be machined when "dry run feedrate" is active because the altered feedrates might cause the
permissible tool cutting rates to be exceeded and the workpiece or machine tool could be damaged.
Selection/activation
Operation with dry run feedrate is selected in the <MACHINE> operating area ( ) -> softkey ("AUTO"
mode). IS "Dry run feedrate" (DB1700.DBX0000.7) is set on selection of the function. In addition, the required dry run
feedrate must be entered in the menu . This does not activate the function.
This function is activated via the IS "Activate dry run feedrate" (DB3200.DBX0000.4) and is evaluated at NC start.
The dry run feedrate must be entered before program start in SD42100 DRY_RUN_FEED.
Display
The checkback signal that dry run feedrate is active is displayed in the relevant "DRY" status line on the user interface.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 95
9.4.5 Block search: Processing of certain program sections
Functionality
To set the program run to a certain block (target block) of a part program, the block search function can be used. It can be
selected whether or not the same calculations are to be performed during the block search up to the target block as would
be performed during normal program operation.
After the target block is reached, the part program can be started via IS "NC Start" (give 2x) (DB3200.DBX0007.1). If
necessary there is an automatic compensating movement of the axes to start or end positions of the target block. Execution
of the remaining program then continues.
Note
Pay attention to a collision-free start position and appropriate active tools and other technological values! If necessary, a
collisionfree start position must be approached manually with JOG. Select the target block considering the selected block
search type.
Selection/activation
The block search is selected in the "AUTO" mode on the user interface.
The search run can be activated with corresponding softkey for the following functions:
● Block search with calculation to contour
Is used in any circumstances in order to approach the contour. On NC Start, the start position of the target block or the
end position of the block before the target block is approached. This is traversed up to the end position. Processing is
true to contour.
● Block search with calculation to block end point
Is used in any circumstances in order to approach a target position (e.g. tool change position). The end position of the
target block or the next programmed position is approached using the type of interpolation valid in the target block. This
is not true to contour. Only the axes programmed in the target block are moved.
● Block search without calculation.
Is used for a quick search in the main program. No calculations are performed. The internal controller values indicate the
status valid before the search. Whether the program can be executed subsequently depends on the program and must
be decided by the operator. This search run is suitable for a fast syntax check of a new program.
Interface signal
In the PLC, the following interface signals are set according to a time sequence (see figure):
● "Block search active" (DB3300.DBX0001.4)
● "Action block active" (DB3300.DBX0001.3)
● "Approach block active" (DB3300.DBX0000.4)
Note
The "Approach block active" is only enabled with "Block search with calculation on contour" because a separate
approach block is not generated with "Block search with calculation at block end point" (the approach block is the same
as the target block).
Function Manual
96 6FC5397-7EP40-0BA0, 08/2013
Figure 9-5 Chronological order of interface signals
After "Block search with calculation at block end point", automatic repositioning is not performed between "Last action block
active" and continuation of part program processing by NC Start. The start point of the approach movement is the current
axis position on NC Start; the end point results from the processing of the part program.
Action blocks
Action blocks contain the actions accumulated during "block search with calculation", e.g. auxiliary function outputs, and tool
(T, D), spindle (S) and feed programming commands.
During "block search with calculation" (contour or block end point), actions such as M function outputs are accumulated in
so-called "action blocks". These blocks are output on an NC Start after "Search target found".
Note
The action blocks also activate the accumulated spindle programming (S value, M3/M4/M5, SPOS). The PLC user program
must ensure that the tool can be operated and, if necessary, the spindle programming is reset via the IS "Spindle reset"
(DB380x.DBX0002.2).
Supplementary condition
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. circle end point error on G2/G3).
Note
For further information about the block search function, refer to the SINUMERIK 808D ADVANCED Programming and
Operating Manual.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 97
9.4.6 Skip part program blocks (SKP)
Functionality
When testing or breaking in new programs, it is useful to be able to disable or skip certain part program blocks during
program execution.
Selection/activation
The skip function is selected through the user interface in the menu . IS "Skip block selected"
(DB1700.DBX0002.0) is set when the function is selected. In addition, a slash "/" must be written before the blocks to be
skipped (see figure). This however does not activate the function.
Display
The checkback signal that the "Skip block" function is active is displayed in the relevant "SKP" status line on the user
interface.
Function
In the "AUTO" operating mode a selected and opened program can be simulated graphically on the screen of the control
unit. The movements of the programmed axes are recorded as line diagram after an NC start.
Selection/deselection
The graphic simulation can be reached for the selected program through the <PROGRAM> operating area ( ), open
program and softkey. Here the IS "Simulation active" (DB1900.DBX0000.6) is set and reset again on leaving the
Display
Due to numerous operating possibilities a complete workpiece, or else only enlarged details of it, can be displayed on the
screen.
Reference:
SINUMERIK 808D ADVANCED Programming and Operating Manual
Function Manual
98 6FC5397-7EP40-0BA0, 08/2013
PLC user program
The PLC user program must itself influence the required behavior of the control system in simulation, for example:
● Stop axes/spindle by transition into the program test: Set IS "Activate program test" (DB3200.DBX0001.7)
● Abort the running program if the menu is exited by setting IS "Reset" (DB3000.DBX0000.7), etc.
Display
The contents of the timers are visible on the screen in the <OFFSET> operating area ( ) -> softkey ->
softkey:
Function Manual
6FC5397-7EP40-0BA0, 08/2013 99
● Run time = $AC_OPERATING_TIME
● Cycle time = $AC_CYCLE_TIME
● Cutting time = $AC_CUTTING_TIME
● Setup time = $AN_SETUP_TIME
● Power on time = $AN_POWERON_TIME
"Cycle time" is also visible in the information line of the "AUTO" window of the <MACHINE> operating area ( ).
Reference:
SINUMERIK 808D ADVANCED Programming and Operating Manual
Counter
● Number of workpieces required (workpiece target):
$AC_REQUIRED_PARTS
In this counter you can define the number of workpieces at which the actual workpiece counter $AC_ACTUAL_PARTS is
reset to zero.
MD27880 PART_COUNTER (Bit 0) can be used to generate the display alarm 21800 "Required number of workpieces
reached" and to output the IS "Required number of workpieces reached" (DB3300.DBX40001.1).
● Total number of workpieces produced (total actual):
$AC_TOTAL_PARTS
The counter specifies the total number of all workpieces produced since the start time.
● Number of actual workpieces (current actual):
$AC_ACTUAL_PARTS
This counter registers the number of all workpieces produced since the starting time. The counter is automatically reset
to zero (on condition that $AC_REQUIRED_PARTS is not equal to 0) when the required number of workpieces
($AC_REQUIRED_PARTS) has been reached.
● Number of workpieces specified by the user:
$AC_SPECIAL_PARTS
This counter allows users to make a workpiece counting in accordance with their own definition. Alarm output can be
defined for the case of identity with $AC_REQUIRED_PARTS (workpiece target). Users must reset the counter
themselves.
The first output of the M command for counting after resetting the counter applies as start point. This M command is set in
MD27880 PART_COUNTER or MD27882 PART_COUNTER_MCODE for the relevant counter.
Function Manual
100 6FC5397-7EP40-0BA0, 08/2013
Display
The contents of the counters are visible on the screen in the <OFFSET> operating area ( ) -> ->
"Part count" is also visible in the information line of the "AUTO" window of the <MACHINE> operating area ( ).
References:
SINUMERIK 808D ADVANCED Programming and Operating Manual
Function Manual
6FC5397-7EP40-0BA0, 08/2013 101
Number Identifier Name
20116 IGNORE_INHIBIT_ASUP Execute user ASUPs completely in spite of readin
disable
20117 IGNORE_SINGLEBLOCK_ASUP Process user ASUPs completely in spite of single-block
processing
20700 REFP_NC_START_LOCK NC-Start disable without reference point
21000 CIRCLE_ERROR_CONST Circle end point monitoring constant
20150 GCODE_RESET_VALUES Reset G groups
20152 GCODE_RESET_MODE G code basic setting at RESET
Function Manual
102 6FC5397-7EP40-0BA0, 08/2013
Number Bit Name
DB3000.DBX0000 .4 Mode change disable
DB3000.DBX0000 .7 RESET
DB3000.DBX0001 .2 Machine function REF
NCK to PLC
DB3100.DBX0000 .0 Active mode AUTO
DB3100.DBX0000 .1 Active mode MDA
DB3100.DBX0000 .2 Active JOG mode
DB3100.DBX0000 .3 808D READY
DB3100.DBX0001 .2 Active machine function REF
Channel signals
Number Bit Name
PLC to NCK
DB3200.DBX0000 .4 Activate single block
DB3200.DBX0000 .5 Activate M01
DB3200.DBX0000 .6 Activate dry run feed
DB3200.DBX0001 .0 Activate referencing
DB3200.DBX0001 .7 Activate program test
DB3200.DBX0002 .0 Block skip
DB3200.DBX0006 .0 Feed disable
DB3200.DBX0006 .1 Read-in disable
DB3200.DBX0006 .2 Delete distance-to-go
DB3200.DBX0006 .3 Delete UP number of passes
DB3200.DBX0006 .4 Program level abort
DB3200.DBX0006 .6 Rapid traverse override active
DB3200.DBX0006 .7 Feed rate override active
DB3200.DBX0007 .0 NC Start disable
DB3200.DBX0007 .1 NC Start
DB3200.DBX0007 .2 NC Stop at block limit
DB3200.DBX0007 .3 NC stop
DB3200.DBX0007 .4 NC Stop axes plus spindles
DB3200.DBX0007 .7 Reset
NCK to PLC
DB3300.DBX0000 .3 Action block active
DB3300.DBX0000 .4 Approach block active
DB3300.DBX0000 .5 M00/M01 active
DB3300.DBX0000 .6 Last action block active
DB3300.DBX0001 .0 Referencing active
DB3300.DBX0001 .4 Block search active
DB3300.DBX0001 .5 M2 / M30 active
DB3300.DBX0001 .7 Program test active
DB3300.DBX0003 .0 Program status: Running
DB3300.DBX0003 .2 Program status: Stopped
DB3300.DBX0003 .3 Program status: Interrupted
DB3300.DBX0003 .4 Program status: Aborted
Function Manual
6FC5397-7EP40-0BA0, 08/2013 103
Number Bit Name
DB3300.DBX0003 .5 Channel status: Active
DB3300.DBX0003 .6 Channel status: Interrupted
DB3300.DBX0003 .7 Channel status: Reset
DB3300.DBX4001 .1 Workpiece target reached
HMI to PLC
DB1700.DBX0000 .5 M01 selected
DB1700.DBX0000 .6 Dry run feed rate selected
DB1700.DBX0001 .3 Feed rate override selected for rapid traverse
DB1700.DBX0001 .7 Program test selected
DB1700.DBX0002 .0 Skip-block selected
DB1900.DBX0000 .6 Simulation active
ASUP signals
Number Bit Name
PLC to NCK
DB3400.DBX0000 .0 INT1 Start
DB3400.DBX0001 .0 INT2 Start
DB3400.DBX1000 .0 ASUP ended INT1
DB3400.DBX1000 .1 ASUP is being executed
DB3400.DBX1000 .2 Interrupt no. not allocated
DB3400.DBX1000 .3 ASUP version not possible
DB3400.DBX1001 .0 ASUP ended INT2
DB3400.DBX1001 .1 ASUP is being executed
DB3400.DBX1001 .2 Interrupt no. not allocated
DB3400.DBX1001 .3 ASUP version not possible
10 Compensation
10.1 Brief description
Compensations
For the SINUMERIK 808D ADVANCED, the following axis-specific compensation functions can be activated:
● Backlash compensation
● Interpolatory compensation
– leadscrew error and measuring system error compensation (LEC)
● Following error compensation (speed feedforward control)
● Friction compensation (quadrant error compensation)
These compensation functions can be set for each machine individually with axis-specific machine data.
Position display
The normal actual-value and setpoint position displays ignore the compensation values and show the position values of an
ideal machine. To view the compensation values, enter the <SYSTEM> operating area ( + ) -> ->
, and navigate to the item "Abs. compens. value meas. system 1".
Function Manual
104 6FC5397-7EP40-0BA0, 08/2013
10.2 Backlash compensation
Effect
In the case of axes/spindle with indirect measuring systems, mechanical backlash results in corruption of the traverse path,
causing an axis, for example, to travel too much or too little by the amount of the backlash when the direction of movement
is reversed (see following figure).
Compensation
To compensate for backlash, the axis-specific actual value is corrected by the amount of backlash every time the
axis/spindle changes direction.
This quantity can be entered for each axis/spindle at the commissioning phase in MD32450 BACKLASH (backlash
compensation)
Effectiveness
Backlash compensation is always active in all operating modes after reference point approach.
Positive backlash
The encoder leads the machine part (e.g. table). Since the actual position acquired by the encoder also leads the real actual
position of the table, the table travels too short a distance (see diagram below). The backlash compensation value must be
entered as a positive value here (= normal case).
Negative backlash
The encoder lags behind the machine part (e.g. table); the table then travels too far. The correction value entered is
negative.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 105
10.3 Interpolatory compensation
10.3.1 General
Terminology
Compensation value: The difference between the axis position measured by the position actual-value encoder and the
required programmed axis position (= axis position of the ideal machine). The compensation value is often also referred to
as the correction value.
Interpolation point: A position of the axis and the corresponding offset value.
Offset table: Table containing interpolation points
Compensation table
Because dimensional deviations between the leadscrew pitch and the measuring system directly affect the accuracy of
workpiece machining, they must be compensated for by the relevant position-dependent compensation values. The
compensation values are derived from measured error curves and entered in the control in the form of compensation tables
during installation. A separate table must be created for each compensation relation.
The compensation values and additional table parameters are entered in the compensation tables using special system
variables.
Entry of compensation table
Compensation tables can be loaded to the backed up NC user memory by two different methods.
● The compensation values are loaded when an NC program tables is started. with the compensation
● The compensation values can also be loaded by transferring the tables from a personal computer (PC) through the serial
interface on the HMI.
Note
The compensation tables can be output via the serial interface on the HMI from operating area <SYSTEM> ( +
) -> -> -> NCK/PLC data: Leadscrew error compensation and loaded back following
editing.
Function Manual
106 6FC5397-7EP40-0BA0, 08/2013
Compensation value at reference point
The compensation table should be structured such that the compensation value at the reference point is "zero". This
prevents position jumps occurring when the LEC is activated (after reference point approach).
10.3.2 LEC
Function
The leadscrew error compensation / measuring system error compensation (LEC) is an axis-specific compensation.
The principle of the LEC is to modify the axis-specific position actual value by the assigned compensation value in the
interpolation cycle and to apply this value to the machine axis for immediate traversal. A positive compensation value causes
the corresponding machine axis to move in the negative direction.
The magnitude of the compensation value is not limited and is not monitored. In order to avoid impermissibly high velocities
and accelerations caused by compensation, small compensation values must be selected. Large compensation values can
cause other axis monitoring functions to output alarms (e.g. contour monitoring, velocity setpoint limitation).
Effectiveness
● The compensation values are stored in the NC user memory and active (after POWER ON).
● The function has been activated for the relevant machine axis
(MD32700 ENC_COMP_ENABLE [0] = 1).
● The axis has been referenced (IS "Referenced/synchronized 1" DB390x.DBX0000.4 set).
As soon as these conditions have been fulfilled, the axis-specific actual value is altered by the compensation value in all
modes and traversed by the machine axis immediately.
If the reference is then lost, e.g. because the encoder frequency has been exceeded (IS "Referenced/synchronized 1" =0),
compensation processing is de-activated.
Compensation table
The position-related compensation values are stored in the form of system variables for the relevant axis in the
compensation table. 125 interpolation points (N = 0...124) are possible.
The following measuring-system-specific parameters must be set for the table (see Fig. "Compensation table parameters
(system variables for LEC)"):
● Compensation value for interpolation point N in compensation table:
$AA_ENC_COMP [0,N,AXi]= ...
where: AXi = machine axis name, e.g. X1, Y1, Z1; N = interpolation point index
For every individual interpolation point (axis position) the compensation value must be entered in the table. The
magnitude of the compensation value is not limited.
Note
The first and last compensation values remain active over the entire traversing range; i.e. these values should be set to
"0" if the compensation table does not cover the entire traversing range.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 107
The compensation value of interpolation point k is used for all positions larger than the end position (exception: table with
modulo function). Compensation values which are greater than k are inactive.
● Compensation with modulo function: $AA_ENC_COMP_IS_MODULO[0,AXi] = 1
When compensation with modulo function is activated, the compensation table is repeated cyclically; i.e. the
compensation value at position $AA_ENC_COMP_MAX (interpolation point $AA_ENC_COMP[0,k,AXi]) is immediately
followed by the compensation value at position $AA_ENC_COMP_MIN (interpolation point $AA_ENC_COMP[0,0,AXi]).
For rotary axes with modulo 360° it is therefore suitable to program 0° ($AA_ENC_COMP_MIN) as the starting position
and 360° ($AA_ENC_COMP_MAX) as the end position. In this case both compensation values must be entered directly.
CAUTION
When the compensation values are entered, it is important that all interpolation points within the defined range be
assigned a compensation value (i.e. there should be no gaps). Otherwise, the compensation value that was left over
from previous entries at these positions is used for these interpolation points.
Note
Table parameters that contain position data are interpreted through MD10240 SCALING_SYSTEM_IS_METRIC=0 in
inches.
The position data can be automatically re-calculated by performing a manual switchover.
The compensation table can only be loaded when MD32700 ENC_COMP_ENABLE=0 has been set. The value "1"
causes the compensation to be activated and write protection to be applied (output alarm 17070).
Example
The following example shows compensation value inputs for machine axis X1 as a program.
%_N_AX_EEC_INI
CHANDATA(1)
$AA_ENC_COMP[0,0,X1]=0.0 ; 1st compensation value (interpolation point 0) +0 mm
$AA_ENC_COMP[0,1,X1] = 0.01 ; 2nd compensation value (interpolation point 1) +10 mm
$AA_ENC_COMP[0,2,X1]=0.012 ; 3rd compensation value (interpolation point 2) +12 mm
...
$AA_ENC_COMP[0,120,X1]=0.0 ; last compensation value (interpolation point 120)
Function Manual
108 6FC5397-7EP40-0BA0, 08/2013
10.3.3 Direction-dependent leadscrew error compensation
Preconditions / activation
The "direction-dependent LEC" function does not become active until the following conditions are fulfilled:
● The function has been activated for the relevant machine axis (compensation axis):
MD32710 $MA_CEC_ENABLE[<AXi>] = 1
● The compensation values are stored in the static user memory and are active (after POWER ON).
● Evaluation of the relevant compensation table has been enabled:
SD41300 $SN_CEC_TABLE _ENABLE[<t>] = 1
● The current measuring system of the base and compensation axes has been referenced:
DB31, ... DBX60.4 or 60.5 =1 (referenced/synchronized 1 or 2)
As soon as these conditions have been fulfilled the setpoint position of the compensation axis is altered in all modes with
reference to the setpoint position of the base axis and the corresponding compensation value and is then immediately
traversed by the machine axis.
If the reference is then lost, e.g. because the encoder frequency has been exceeded (DB31, ... DBX60.4 or 60.5 = 0),
compensation processing is deactivated.
The activation of the compensation can be checked using a reference measurement, e.g. using the laser interferometer or in
the simplest case, using the service display of the particular axis.
10.3.3.2 Commissioning
Note
The measurement for determining the leadscrew error should only be carried out during the first commissioning if, in the
machine data, the traversing directions of the axes in relation to the machine coordinate system have been correctly set.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 109
CAUTION
User data loss
ALARM 4400 is output when changing MD18342:
"Reorganization of the buffered memory!"
In order that an automatic memory configuration is possible but keeping all of the data that has been entered up until
now, no system boot (POWER ON) must be executed without first performing a series machine startup.
Example:
MD18342 [0] = 11; 11 interpolation points for the 1st table, e.g. positive traversing direction, X axis
MD18342 [1] = 11; 11 interpolation points for the 2nd table, e.g. negative traversing direction, X axis
MD18342 [2] = 21; 21 interpolation points for the 3rd table, e.g. positive traversing direction, Y axis
MD18342 [3] = 21; 21 interpolation points for the 4th table, e.g. positive traversing direction, Y axis
…
MD18342 [61] = ...; number of interpolation points for the 62nd table
2. Perform the series machine startup:
– Generate an NC archive with the entries in MD18342 [<t>].
– Read-in the generated NC archive.
Note: The NC memory is configured as a result.
The compensation tables are now available.
3. Generate the tables with compensation values for the particular axes and traversing directions as part program (see
section "Example (Page 112)": Program "BI_SSFK_MESS_AX1_X.MPF").
4. Execute the part program with compensation values in the control.
AUTOMATIC mode > select program > CYCLE start
Note
Each time before reading-in the compensation tables, the following parameters should always be set to 0 and then to
activate, always be set to 1:
MD32710 $MA_CEC_ENABLE[<AXi>] (enable sag compensation) = 0 → 1
SD41300 $SN_CEC_TABLE _ENABLE[<t>] (enable the compensation table) = 0 → 1
The backlash should always be set to 0:
MD32450 $MA_BACKLASH [<e>] (backlash) = 0
with: <e> = Position measuring system
The use of the program template "BI_SSFK_TAB_AX1_X.MPF" (see section "Example (Page 112)") automates these
tasks. When manually entering machine data, the generally applicable "Activate MD" or "Reset" should be observed.
Note
As described in step 5, the compensation table is downloaded into the program memory as an executable program and is
then transferred into the previously configured memory area of the control using CYCLE start. This procedure can be
repeated for each table to ensure transparency. However, it is also possible to download all tables in an initialization step.
The compensation values become active after MD32710[<AXi>] = 1 and a mandatory power POWER ON.
Table parameters
The position-related compensations for the particular direction as well as additional table parameters in the form of system
variables should be saved in the compensation table:
● $AN_CEC[<t>,<N>] (compensation value for interpolation point <N> of compensation table [<t>])
● $AN_CEC_INPUT_AXIS[<t>] (basic axis)
Function Manual
110 6FC5397-7EP40-0BA0, 08/2013
● $AN_CEC_OUTPUT_AXIS[<t>] (compensation axis)
Note
For the "direction-dependent LEC", the basis and compensation axis are identical.
Note
The setting $AN_CEC_DIRECTION[<t>] = 0 (table is effective for both traversing directions of the basic axis) is not
relevant for the "direction-dependent LEC".
System of units
Table parameters containing position information are automatically converted when the system of units is changed (change
from MD10240 $MN_SCALING_SYSTEM_IS_METRIC).
The position information is always interpreted in the current measuring system. Conversion must be implemented externally.
Automatic conversion of the position data can be configured as follows:
● MD10260 $MN_CONVERT_SCALING_SYSTEM = 1
With this setting, the following axial machine data is activated:
● MD32711 $MA_CEC_SCALING_SYSTEM_METRIC (measuring system for sag compensation)
The measuring system for all tables effective for this axis is set in this machine data. Hereby, all position entries are
interpreted together with the calculated total compensation value in the configured measuring system. External conversions
of position information are no longer necessary with a measuring system change.
Monitoring
To avoid excessive velocities and acceleration rates on the machine axis as a result of applying sag compensation, the total
compensation value is monitored and limited to a maximum value.
The maximum possible total compensation value for sag compensation is defined on an axis-for-axis basis using the
machine data:
● MD32720 $MA_CEC_MAX_SUM (maximum compensation value for sag compensation)
If the determined total compensation value is greater than the maximum value, then a corresponding alarm is output.
Program processing is not interrupted. The compensation value output as an additional setpoint is limited to the maximum
value.
Further, changing the total compensation value is also axially limited:
● MD32730 $MA_CEC_MAX_VELO (velocity change for sag compensation)
The specified value acts as a factor and is referred to the maximum axis velocity (MD32000 $MA_MAX_AX_VELO).
An appropriate alarm is signaled when the limit value is exceeded. Program processing is not interrupted. The path not
covered because of the limitation is made up as soon as the compensation value is no longer subject to limitation.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 111
10.3.3.3 Example
The direction-dependent compensation tables of the X axis are shown in detail for a three-axis machine in the fallowing
example:
Configuring
Number of compensation interpolation points:
MD18342 $MN_MM_CEC_MAX_POINTS[0] = 11 (Table 1: Axis X, positive traversing direction)
MD18342 $MN_MM_CEC_MAX_POINTS[1] = 11 (Table 2: Axis X, negative traversing direction)
Interpolation points
Table <t> [0,<N>]
Number of MD18342 $MN_MM_CEC_MAX_POINTS[0] = 11
interpolation points
Interpolation point 0 1 2 3 4 5 6 7 8 9 10
<N>
Position X -585 -527 -469 -411 -353 -295 -237 -179 -121 -63 -5
Measurement
Setpoint Deviation Checking measurement
position
Position Comp. No. Measurement Direction + Direction - Direction + Direction -
position [mm] [mm] [mm] [mm]
[mm]
$AN_CEC_MIN[<t>] -585 0 -585 0.0000 0.0020 0.0000 -0.0008
1 -527 0.0010 0.0017 -0.0005 -0.0001
2 -469 0.0040 0.0053 -0.0001 -0.0009
3 -411 0.0034 0.0061 0.0001 -0.0009
4 -353 0.0013 0.0030 -0.0005 -0.0006
5 -295 0.0004 0.0016 -0.0002 -0.0003
6 -237 0.0016 0.0027 -0.0004 -0.0007
7 -179 0.0026 0.0043 -0.0004 -0.0004
8 -121 -0.0010 0.0026 0.0000 -0.0011
9 -63 -0.0023 0.0000 -0.0011 -0.0003
Function Manual
112 6FC5397-7EP40-0BA0, 08/2013
Programming
The following program "BI_SSFK_TAB_AX1_X.MPF" includes the value assignments for the parameters of the two
compensation tables (positive and negative traversing direction) of the X axis:
;direction-dependent LEC
;1st axis MX1
;Table 1 - positive traversing direction
;Table 2 - negative traversing direction
;--------------------------------------------------------------------------------------
CHANDATA(1)
$MA_CEC_ENABLE[AX1]=0 ;compensation OFF
$SN_CEC_TABLE_ENABLE[0]=0 ;lock Table 1
$SN_CEC_TABLE_ENABLE[1]=0 ;lock Table 2
NEWCONF
;--------------------------------------------------------------------------------------
$AN_CEC[0,0]=0 ;1st compensation value (interpolation point 0)
$AN_CEC[0,1]=0.001 ;2nd compensation value (interpolation point 1)
$AN_CEC[0,2]=0.004 ;3rd compensation value (interpolation point 2)
$AN_CEC[0,3]=0.0034 ;4th compensation value (interpolation point 3)
$AN_CEC[0,4]=0.0013 ;5th compensation value (interpolation point 4)
$AN_CEC[0,5]=0.0004 ;6th compensation value (interpolation point 5)
$AN_CEC[0,6]=0.0016 ;7th compensation value (interpolation point 6)
$AN_CEC[0,7]=0.0026 ;8th compensation value (interpolation point 7)
$AN_CEC[0,8]=-0.001 ;9th compensation value (interpolation point 8)
$AN_CEC[0,9]=-0.0023 ;10th compensation value (interpolation point 9)
$AN_CEC[0,10]=-0.0031 ;last compensation value (interpolation point 10)
$AN_CEC_INPUT_AXIS[0]=(AX1) ;basic axis
$AN_CEC_OUTPUT_AXIS[0]=(AX1) ;compensation axis
$AN_CEC_STEP[0]=58.0 ;interpolation point distance
$AN_CEC_MIN[0]=-585.0 ;compensation starts
$AN_CEC_MAX[0]=-5.0 ;compensation ends
Function Manual
6FC5397-7EP40-0BA0, 08/2013 113
$AN_CEC_DIRECTION[0]=1 ;Table applies for positive traversing directions
$AN_CEC_MULT_BY_TABLE[0]=0 ;no multiplication (not relevant here)
$AN_CEC_IS_MODULO[0]=0 ;compensation without modulo function
;--------------------------------------------------------------------------------------
$AN_CEC[1,0]=0.002 ;(interpolation point 0)
$AN_CEC[1,1]=0.0017 ;(interpolation point 1)
$AN_CEC[1,2]=0.0053 ;(interpolation point 2)
$AN_CEC[1,3]=0.0061 ;(interpolation point 3)
$AN_CEC[1,4]=0.003 ;(interpolation point 4)
$AN_CEC[1,5]=0.0016 ;(interpolation point 5)
$AN_CEC[1,6]=0.0027 ;(interpolation point 6)
$AN_CEC[1,7]=0.0043 ;(interpolation point 7)
$AN_CEC[1,8]=0.0026 ;(interpolation point 8)
$AN_CEC[1,9]=0.000 ;(interpolation point 9)
$AN_CEC[1,10]=-0.0012 ;(interpolation point 10)
$AN_CEC_INPUT_AXIS[1]=(AX1) ;basic axis
$AN_CEC_OUTPUT_AXIS[1]=(AX1) ;compensation axis
$AN_CEC_STEP[1]=58. ;interpolation point distance
$AN_CEC_MIN[1]=-585.0 ;compensation starts
$AN_CEC_MAX[1]=-5.0 ;compensation ends
$AN_CEC_DIRECTION[1]=-1 ;Table applies for negative traversing directions
$AN_CEC_MULT_BY_TABLE[1]=0 ;no multiplication (not relevant here)
$AN_CEC_IS_MODULO[1]=0 ;compensation without modulo function (only for rotary axes)
;--------------------------------------------------------------------------------------
$MA_CEC_ENABLE[AX1]=1 ;compensation ON
$SN_CEC_TABLE_ENABLE[0]=1 ;enable Table 1
$SN_CEC_TABLE_ENABLE[1]=1 ;enable Table 2
NEWCONF
M17
Function Manual
114 6FC5397-7EP40-0BA0, 08/2013
Activation/deactivation in part program
The feedforward control can be activated and de-activated by means of the following high-level language elements in the
part program:
● FFWON - Feedforward control ON
● FFWOF - Feedforward control OFF (activation setting)
With MD32630 FFW_ACTIVATION_MODE, the activation (via FFWON) or de-activation (via FFWOF) of a specific axis can
be determined:
● FFWON and FFWOF are used to activate and de-activate respectively the feedforward control of all axes/spindles for
which MD32630=1 is set.
● MD 32630 should therefore have identical settings for axes that interpolate with each other.
The feedforward control should only be switched on or off while the axis/spindle is stationary to prevent jerk. This is the
responsibility of the programmer.
Conditions
The following points should be noted before the feedforward control is applied:
● Rigid machine behavior
● Precise knowledge about the machine dynamic response
● No sudden changes in the position and speed setpoints
Parameter assignments
The feedforward control parameters must then be assigned to the relevant axis/spindle and then entered in the machine
data (see next section).
Parameters
In order to achieve a correctly set speed feedforward control, the equivalent time constant of the speed control loop must be
determined exactly and entered as machine data MD32810 EQUIV_SPEEDCTRL_TIME (equivalent time constant of the
closed speed control loop) during commissioning.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 115
10.5 Friction compensation (quadrant error compensation)
10.5.1 General function description
In addition to the mass inertia and the machining forces, the frictional forces in the gearing and guideways of the machine
influence the behavior of a machine axis. During the acceleration of an axis from standstill, especially the transition from
static friction to the significantly smaller sliding friction has a negative affect with regard to the contour accuracy.
The sudden change in the friction force results in a briefly increased following error. With interpolating axes (path axes), this
results in significant contour violations. For circles, the contour violations occur especially at the quadrant transitions due to
the standstill of one of the involved axis at the direction reversal.
Therefore, an additional setpoint pulse is injected as a compensation value for this friction or quadrant error compensation
when the axis accelerates from standstill, i.e. at the transition from static to sliding friction. In this way, contour violations can
be almost completely avoided at the quadrant transitions of circular contours.
Acceleration-dependent friction compensation
In most cases, a compensation value independent of the axial acceleration with constant amplitude is sufficient for the
quadrant error compensation. However, if the compensation value is dependent on the acceleration, an adaptation
characteristic can be activated via the "friction compensation with adaptation" in order to model this behavior.
Circularity test
The easiest way to commission the friction compensation is with the circularity test. A circle is traversed and the circular
contour generated on the machine based on the actual position values of the involved machine axes and the deviations to
the programmed ideal circular contour, especially at the quadrant transitions, displayed in graphical form.
Enable
The general enabling of the friction compensation is via:
MD32490 $MA_FRICT_COMP_MODE[ <axis> ] = 1
Activation
The activation of the friction compensation with constant compensation value is via:
● MD32500 FRICT_COMP_ENABLE[ <axis> ] = 1 (friction compensation ON)
● MD32510 $MA_FRICT_COMP_ADAPT_ENABLE[ <axis> ] = 0 (adaptation OFF)
Parameters
The following parameters are calculated for friction compensation with constant compensation value:
● MD32520 $MA_FRICT_COMP_CONST_MAX (maximum compensation value)
For friction compensation with constant compensation value, the parameterized value is injected as compensation value.
● MD32540 $MA_FRICT_COMP_TIME (friction compensation time constant)
The compensation value is injected via a DT1 filter. The compensation value decays according to the parameterized time
constants.
Function Manual
116 6FC5397-7EP40-0BA0, 08/2013
10.5.3.2 Commissioning
Circularity test
It is recommended that the circularity test be used for the commissioning of the friction compensation with constant injected
value, as described above. The commissioning sequence is divided into the following steps:
1. Perform circularity test without friction compensation
2. Perform circularity test with friction compensation and initial parameter values
3. Perform circularity tests with friction compensation and modified parameter values
4. Complete circularity tests with friction compensation and optimized parameter values
Function Manual
6FC5397-7EP40-0BA0, 08/2013 117
Figure 10-6 Compensation value set too small
Function Manual
118 6FC5397-7EP40-0BA0, 08/2013
Figure 10-8 Compensation time constant too small
Function Manual
6FC5397-7EP40-0BA0, 08/2013 119
Good friction compensation setting
With a good friction compensation setting, "no" contour violations can be detected at the quadrant transitions.
Function Manual
120 6FC5397-7EP40-0BA0, 08/2013
Bn Acceleration range with n = 1, 2, ... 4
with: Accelerations: a1 < a2 < a3
Compensation values: Δnmax > Δnmin, in special cases also Δnmax < Δnmin
The compensation value Δn is calculated according to the respective acceleration range B1 to B4 as follows:
Range With acceleration a ⇒ Compensation value Δn
B1 a < a1 Δn = Δnmax * a / a1
B2 a1 ≤ a ≤ a2 Δn = Δnmax
B3 a2 < a < a3 Δn = Δnmax + [(Δnmin - Δnmax) / (a3 - a2)] * (a - a2)
B4 a ≥ a3 Δn = Δnmin
Enable
The general enabling of the friction compensation is via:
MD32490 $MA_FRICT_COMP_MODE[ <axis> ] = 1
Activation
The activation of the friction compensation with adaptation characteristic is performed via:
● MD32500 FRICT_COMP_ENABLE[ <axis> ] = 1 (friction compensation ON)
● MD32510 $MA_FRICT_COMP_ADAPT_ENABLE[ <axis> ] = 1 (adaptation characteristic OFF)
10.5.4.3 Commissioning
To determine the characteristic parameters, the optimum compensation value Δnopt must be determined at various operating
points of the specified dynamic response range. See Section "Commissioning (Page 117)". A sufficiently large number of
measured values for large path velocities and small circle radii is particularly important.
For the evaluation of the determined value pairs, it is recommended that these are displayed graphically:
Δnopt = f(a), with Δnopt = optimum compensation value and a = acceleration at the quadrant transitions.
The parameters of the adaptation characteristic determined from the measurement results must then be entered in the
machine data.
Characteristic parameters
Acceleration values
The acceleration which arises at the quadrant transitions of the axis changing direction is calculated as follows:
a = v2 / r, with v = path velocity and r = circle radius
Note
The path velocity and therefore the axial acceleration a can be varied simply via the feedrate override switch.
The acceleration values a1, a2 and a3 determined as characteristic parameters must be entered in the following machine
data. The following condition must be satisfied: a1 < a2 < a3
● MD32550 $MA_FRICT_COMP_ACCEL1 (acceleration value 1)
● MD32560 $MA_FRICT_COMP_ACCEL2 (acceleration value 2)
● MD32570 $MA_FRICT_COMP_ACCEL3 (acceleration value 3)
Compensation values
The compensation values Δnmin, Δnmax determined as characteristic parameters must be entered in the following machine
data:
● MD32520 $MA_FRICT_COMP_CONST_MAX (maximum compensation value)
● MD32530 $MA_FRICT_COMP_CONST_MIN (minimum compensation value)
Function Manual
6FC5397-7EP40-0BA0, 08/2013 121
Note
If satisfactory results cannot be obtained for very small path velocities, the computational resolution may have to be
increased:
● MD10200 $MA_INT_INCR_ PER_MM (computational resolution for linear positions)
● MD10210 $MA_INT_INCR_PER_DEG (computational resolution for angular positions)
Function Manual
122 6FC5397-7EP40-0BA0, 08/2013
10.6.3 Interface signals
Number Bit Name
Axis/spindle-specific
DB390x.DBX0000 .4 Referenced/synchronized 1
11 Kinematic Transformation
11.1 Brief description
Application range
The control transforms the programmed traversing instructions from a Cartesian coordinate system into a real machine axis
system.
The TRANSMIT transformation is used for the face-end milling of turned parts on lathes (without any Y machine axis).
The TRACYL transformation is used to machine the peripheral surfaces of cylindrical bodies. The main application is the
milling of grooves. A TRACYL variant is provided for lathes. A second variant is provided for lathes with an additional Y
machine axis or for milling machines with a suitable rotary table.
Machine prerequisite
The lathe must be equipped with a C axis-capable main spindle. A second spindle must be able to drive the milling tool.
When used with TRACYL, the milling machine must be equipped with a rotary table that is capable of interpolating with the
other axes.
Availability
The TRANSMIT and TRACYL functions are configured using separate machine data sets and switched on or off by means
of special instructions in the program.
With the SINUMERIK 808D ADVANCED, a maximum of two kinematic transformations (TRANSMIT, TRACYL) may be
configured and one of them may be activated using the program.
11.2 TRANSMIT
11.2.1 Overview
Function Manual
6FC5397-7EP40-0BA0, 08/2013 123
CM C axis (main spindle as rotary axis)
Figure 11-1 Face-end milling of turned parts with TRANSMIT
Activation/de-activation of TRANSMIT
The TRANSMIT function is activated in the program with
● TRANSMIT in a separate block and de-activated with
● TRAFOOF in a separate block
TRAFOOF deactivates any active transformation function.
Programming - principle
N10 G0 X... Z... SPOS=... ; starting positions, spindle in position control
N20 G17 G94 T... ; plane, feed type, select milling tool
N30 SETMS(2) ; switchover: master spindle is now the milling spindle
N40 TRANSMIT ; switch on TRANSMIT
N50 G1 G41 F200 X... Y... Z... M3 S... ; milling of the face with milling tool radius
compensation
...
N90 G40 ...
N100 TRAFOOF ; switch off TRANSMIT
N110 G18 G95 T... ; switch back to turning
N120 SETMS ; master spindle is main spindle
Explanation:
The movement of the machine axes XM and CM produces the contour on the face-end of the turned part with the milling
cutter in accordance with the X-Y path programmed (straight or circular path). The programmed Z axis (infeed) continues to
be traversed as the Z axis.
Machine data
The names of the machine data, channel axes and geometry axes from the general machine data ($MN_AXCONF...) and
channel-specific machine data ($MC_AXCONF...) are also used for a transformation.
The geometry axis assignments specified in MD20050 AXCONF_GEOAX_ASSIGN_TAB only apply when the transformation
is de-activated. Additional assignments are specified for a transformation.
Note
The assigned machine axis names, channel axis names and geometry axis names must differ:
● MD10000 AXCONF_MACHAX_NAME_TAB,
● MD20080 AXCONF_CHANAX_NAME_TAB,
● MD20060 AXCONF_GEOAX_NAME_TAB.
Exception for TRANSMIT:
The axis names of MD20060 and MD20080 (geometry and channel axes) can be the same, e.g. X, Y, Z. No Y axis exists
here outside the transformation.
Function Manual
124 6FC5397-7EP40-0BA0, 08/2013
MD24120 TRAFO_GEOAX_ASSIGN_TAB_1[n] Geometry axes for transformation 1
MD24200 TRAFO_TYPE_2 = 256 for second TRANSMIT transformation
MD24210 TRAFO_AXES_IN_2[n] Channel axes for transformation 2
MD24220 TRAFO_GEOAX_ASSIGN_TAB_2[n] Geometry axes for transformation 2
Required assignment of channel axes for TRANSMIT transformation in machine data MD24110/MD24210:
TRAFO_AXES_IN_1/2[0]= Channel axis number of axis perpendicular to rotary axis
TRAFO_AXES_IN_1/2[1]= Channel axis number of rotary axis
TRAFO_AXES_IN_1/2[2]= Channel axis number of axis parallel to rotary axis
● MD24920 TRANSMIT_BASE_TOOL_1
The control is informed of the position of the tool zero point in relation to the origin of the coordinate system declared for
TRANSMIT. The MD has three components for the three axes of the Cartesian coordinate system.
Assignment of axis components:
TRANSMIT_BASE_TOOL_1[0]=Tx
TRANSMIT_BASE_TOOL_1[1]=Ty
TRANSMIT_BASE_TOOL_1[2]=Tz (see following figure)
Figure 11-3 Position of tool zero in relation to origin of the Cartesian coordinate system (center of rotation)
● MD24911 TRANSMIT_POLE_SIDE_FIX_1 = 0
Pole traversal continuous
Traversal of pole
The pole is defined as the center of rotation at point X=0, Y=0 of TRANSMIT plane (X machine axis intersects the center of
rotation).
In the vicinity of the pole, small positional changes in the geometry axes X, Y generally result in large changes in the
machine rotary axis position (exception: path only results in a movement of the XM axis).
Function Manual
6FC5397-7EP40-0BA0, 08/2013 125
Workpiece machining operations close to the pole are therefore not recommended since these may require sharp feedrate
reductions to prevent overloading of the rotary axis. Avoid selecting TRANSMIT when the tool is positioned exactly on the
pole. Ensure that the path of the tool center point does not travel through the X0/Y0 pole.
Function Manual
126 6FC5397-7EP40-0BA0, 08/2013
MD24900 TRANSMIT _ROT_AX_OFFSET_1=0
● Sign of rotary axis
MD24910 TRANSMIT _ROT_SIGN_IS_PLUS_1=1
● Vector of base tool
MD24920 TRANSMIT_BASE_TOOL_1[0]=0
MD24920 TRANSMIT_BASE_TOOL_1[1]=0
MD24920 TRANSMIT_BASE_TOOL_1[2]=0
Setting data for the special treatment of the tool offset (only when required):
● Change of tool length component for change of plane
SD42940 TOOL_LENGTH_CONST=18
● Assignment of the tool length offset independent of tool type
SD42950 TOOL_LENGTH_TYPE=2
Settings for second spindle (milling spindle of the lathe):
● MD30300 IS_ROT_AX[AX4]=1
● MD30310 ROT_IS_MODULO[AX4]=1
● MD30320 DISPLAY_IS_MODULO[AX4]=1
● MD35000 SPIND_ASSIGN_TO_MACHAX[AX4]=2
● SD43300 ASSIGN_FEED_PER_REV_SOURCE[AX4]=0
Note
A special handling of milling tools on lathes with respect to length compensation is possible.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 127
11.3 TRACYL
11.3.1 Overview
Function Manual
128 6FC5397-7EP40-0BA0, 08/2013
Machine with Y axis
Activation/deactivation of TRACYL
The TRACYL function is activated in the program with
● TRACYL(d) in a separate block and deactivated with
● TRAFOOF in a separate block
d - machining diameter of the cylinder in mm
Function Manual
6FC5397-7EP40-0BA0, 08/2013 129
TRAFOOF deactivates any active transformation function.
Programming - principle
; without YM axis
; the geometry axes X, Y, Z are programmed
N10 G0 X... Z... SPOS=... ; starting positions, spindle in position control
N20 G19 G94 T... ; plane, feed type, select milling tool
N30 SETMS(2) ; switchover: master spindle is now the milling spindle
N40 TRACYL(24.876) ; switch on TRACYL, diameter: 24.876 mm
N50 G1 F200 X... M3 S... ; feed, switch on milling spindle
N600 G41 F200 Y... Z... ; milling of the cylinder surface with milling tool radius compensation
...
N90 G40 ...
N100 TRAFOOF ; switch off TRACYL
N110 G18 G95 T... ; switch back to turning
N120 SETMS ; master spindle is main spindle
Explanation:
The movement of the machine axes ZM and CM produces this contour on the peripheral surface of the cylindrical workpiece
with the milling cutter in accordance with the Y-Z path programmed (straight or circular). The programmed X axis (infeed)
continues to be traversed as the X axis.
OFFN address
Distance of groove side wall from the reference contour (also see "TRACYL programming example")
Programming: OFFN=...; Distance in mm
As a rule, the groove center line is programmed. OFFN determines the groove width when the milling radius compensation
is active (G41, G42). Set OFFN=0 once the groove has been completed.
Function Manual
130 6FC5397-7EP40-0BA0, 08/2013
11.3.2 TRACYL configuration
Note
The assigned machine axis names, channel axis names and geometry axis names must differ:
● MD10000 AXCONF_MACHAX_NAME_TAB
● MD20080 AXCONF_CHANAX_NAME_TAB
● MD20060 AXCONF_GEOAX_NAME_TAB
Exception for TRACYL:
The axis names of MD20060 and MD20080 (geometry and channel axes) can be the same for the TRACYL transformation
(e.g. X, Y, Z.), if no Y axis exists outside the transformation. This is usually the case for lathes.
● MD24910 TRACYL_ROT_SIGN_IS_PLUS_1
If the rotary axis rotates in an anti-clockwise direction on the X-Y plane opposite to the positive Z axis, then the MD must
be set to 1, otherwise to 0.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 131
Figure 11-9 Direction of rotation for MD value =1
● MD24920 TRACYL_BASE_TOOL_1
The control is informed of the position of the tool zero point in relation to the origin of the coordinate system declared for
TRACYL. The MD has three components for the three axes of the Cartesian coordinate system.
Assignment of axis components in MD24920:
– TRACYL_BASE_TOOL_1[0]=Tx
– TRACYL_BASE_TOOL_1[1]=Ty
– TRACYL_BASE_TOOL_1[2]=Tz (see following figure)
Function Manual
132 6FC5397-7EP40-0BA0, 08/2013
MD20080 AXCONF_CHANAX_NAME_TAB[1]="Z"
MD20080 AXCONF_CHANAX_NAME_TAB[2]="C"
MD20080 AXCONF_CHANAX_NAME_TAB[3]="SP2"
MD20080 AXCONF_CHANAX_NAME_TAB[4]=""
● Initial setting of master spindle in channel
MD20090 SPIND_DEF_MASTER_SPIND=1
TRACYL transformation type for second transformation:
● Without groove wall offset (no YM axis)
MD24100 TRAFO_TYPE_2=512
● Axis assignment in channel
MD24110 TRAFO_AXES_IN_2[0]=1
MD24110 TRAFO_AXES_IN_2[1]=3
MD24110 TRAFO_AXES_IN_2[2]=2
MD24110 TRAFO_AXES_IN_2[3]=0
MD24110 TRAFO_AXES_IN_2[4]=0
● Assignment of geometry axes to channel axes
MD24120 TRAFO_GEOAX_ASSIGN_TAB_2[0]=1
MD24120 TRAFO_GEOAX_ASSIGN_TAB_2[1]=3
MD24120 TRAFO_GEOAX_ASSIGN_TAB_2[2]=2
Special TRACYL settings:
● Offset of rotary axis
MD24800 TRACYL_ROT_AX_OFFSET_1=0
● Sign of rotary axis
MD24810 TRACYL_ROT_SIGN_IS_PLUS_1=1
● Vector of base tool
MD24820 TRACYL_BASE_TOOL_1[0]=0
MD24820 TRACYL_BASE_TOOL_1[1]=0
MD24820 TRACYL_BASE_TOOL_1[2]=0
Setting data for the special treatment of the tool offset (only when required):
● Change of tool length component for change of plane
SD42940 TOOL_LENGTH_CONST=18
● Assignment of the tool length offset independent of tool type
SD42950 TOOL_LENGTH_TYPE=2
Settings for second spindle (milling spindle of the lathe):
● MD30300 IS_ROT_AX[AX4]=1
● MD30310 ROT_IS_MODULO[AX4]=1
● MD30320 DISPLAY_IS_MODULO[AX4]=1
● MD35000 SPIND_ASSIGN_TO_MACHAX[AX4]=2
● SD43300 ASSIGN_FEED_PER_REV_SOURCE[AX4]=0
Note
A special handling of milling tools on lathes with respect to length compensation is possible.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 133
11.3.3 Programming example, TRACYL
Contour
It is possible to machine a groove which is wider than the tool by using address OFFN=... to program the compensation
direction (G41, G42) in relation to the programmed reference contour and the distance of the groove side wall from the
reference contour.
Tool radius
The tool radius in relation to the groove side wall is automatically taken into account with G41, G42. The full functionality of
the plane tool radius compensation is available (steady transition at outer and inner corners as well as solution of bottleneck
problems).
Function Manual
134 6FC5397-7EP40-0BA0, 08/2013
N50 X20 M2=3 S2=300 ; Feed tool to groove base,
; switch on milling spindle
Function Manual
6FC5397-7EP40-0BA0, 08/2013 135
11.5 Data lists
11.5.1 Machine data
Number Identifier Name
Channel-specific
20110 RESET_MODE_MASK Definition of the control basic setting after run-up and RESET/part
program end (access only possible at protection level 1/1)
20140 TRAFO_RESET_VALUE Initial setting: Transformation active after Reset
22534 TRAFO_CHANGE_M_CODE M code for transformation changeover
24100 TRAFO_TYP_1 Type of 1st transformation, possibly with axis sequence
24110 TRAFO_AXES_IN_1 Axis assignment at input of 1st transformation
24120 TRAFO_GOEAX_ASSIGN_TAB_1 Geo-axis assignment for 1st transformation
24200 TRAFO_TYP_2 Type of 2nd transformation, possibly with axis sequence
24210 TRAFO_AXES_IN_2 Axis assignment at input of 2nd transformation
24220 TRAFO_GOEAX_ASSIGN_TAB_2 Geo-axis assignment for 2nd transformation
24800 TRACYL_ROT_AX_OFFSET_1 Deviation of rotary axis from zero position in degrees (1st TRACYL)
24810 TRACYL_ROT_SIGN_IS_PLUS_1 Sign of rotary axis for TRACYL (1st TRACYL)
24820 TRACYL_BASE_TOOL_1 Distance of tool zero point from origin of geo-axes (1st TRACYL)
24900 TRANSMIT_ROT_AX_OFFSET_1 Deviation of rotary axis from zero position in degrees (1st
TRANSMIT)
24910 TRANSMIT_ROT_SIGN_IS_PLUS_1 Sign of rotary axis for TRANSMIT (1st TRANSMIT)
24911 TRANSMIT_POL_SIDE_FIX_1 Limitation of working range in front of/behind pole, 1st transformation
24920 TRANSMIT_BASE_TOOL_1 Distance of tool zero point from origin of geo-axes (1st TRANSMIT)
12 Measurement
12.1 Brief description
Channel-specific measuring
A measurement mode is programmed in a part program block (with or without DDTG). A trigger event (edge of the probe) is
defined additionally, which will trigger the measurement process. The instructions apply to all axes programmed in this
particular block. The program with the measurement process in "AUTO" mode is executed and can be employed for
workpiece or tool measuring.
Note
The automatic measuring function is supported only on a milling machine.
Function Manual
136 6FC5397-7EP40-0BA0, 08/2013
12.2 Hardware requirements
12.2.1 Probes that can be used
General
In order to measure tool and workpiece dimensions, a touch-trigger probe is required that supplies a constant signal (rather
than a pulse) when deflected.
The probe must operate virtually bounce-free. Most sensors can be adjusted mechanically to ensure that they operate in this
manner.
Different types of probes supplied by a variety of manufacturers are available on the market. Probes are therefore divided
into three groups according to the number of directions in which they can be deflected (see figure below).
Bidirectional probe
This probe type is handled in the same way as a mono probe in milling and machining centers.
Mono-directional probe
This probe type can be used, with only a few restrictions, to take workpiece measurements on milling and machining
centers.
The spindle must be capable of being positioned with the SPOS NC function if the measurement is to be carried out in
different axis directions/axes. The probe must therefore be aligned according to the measuring task.
Switching performance
The signal level of the connected probe (deflected/non-deflected condition) must be communicated to the control via the
MD13200 MEAS_PROBE_LOW_ACTIVE[0].
Function Manual
6FC5397-7EP40-0BA0, 08/2013 137
12.2.2 Probe connection
The probe for the SINUMERIK 808D ADVANCED is connected to pin4 (DI1) and pin5 (DI2) of X21. The actually used pin is
determined by the relevant macro command. Thus, all measuring inputs of the axis drive modules are operated whose axes
are involved in measuring. For the probe, use an external voltage (24 V) whose reference potential should be connected to
X21, pin 10.
To ensure optimum interference immunity when connecting probes, lines must be used.
Reference:
SINUMERIK 808D ADVANCED Commissioning Manual
Note
If a GEO axis (axis in the WCS) is programmed in a measuring block, the measured values are stored for all current GEO
axes.
Function Manual
138 6FC5397-7EP40-0BA0, 08/2013
PLC service display
The measuring signal can be controlled via the menu in the <SYSTEM> operating area ( + )→
:
IS "Probe 1 activated" (DB2700.DBX0001.0).
The current measuring status of the axis is shown by the IS "Measurement active" (measuring block with this axis running).
Accuracy
The propagation time of the measuring signal is determined by the hardware used. The delay times are in the µs range plus
the probe response time.
The measurement uncertainty is calculated as follows:
Measurement uncertainty = measuring signal propagation time x traversing velocity
Correct results can only be guaranteed for traversing velocity where not more than one triggering signal arrives per position
controller cycle.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 139
N15 T1 D1 ; Start conditions, preselect tool offset for
; probe
N20 ANF: G0 X0 F150 ;Prepositioning in the measured axis
N25 MEAS=+1 G1 X100 ; Measurement at 1st measuring input with
;rising switching edge, in the X axis
N30 STOPRE ; Stop decoding for subsequent evaluation of the
; result (automatically executed when reading
; MEA)
N35 R11= $AC_MEA[1] ; Read switching signal at 1st measuring input
N37 IF R11==0 GOTOF FEHL1 ;Check switching signal
N40 R[R12]=$AA_MW[X] ;Read measured value in workpiece ;coordinates
N50 R12=R12+1
N60 IF R12<11 GOTOB ANF ;Repeat 10 times
N65 M0
N70 M02
N80 FEHL1: MSG ; Probe not switching
N90 M0
N95 M02
The measurement results R1 to R10 can be read after selecting the parameter display.
Note
The tool is "re-measured", not its wear.
Softkeys and templates are provided for use by the user in the "JOG" mode. This supports the user during tool measuring.
Reference:
SINUMERIK 808D ADVANCED Programming and Operating Manual
Note
The PLC user program must be created with the necessary sequences. The functionality is not available beforehand.
Extreme caution must be taken when approaching the probe. The probes only have a limited deflection path. They will be
damaged or destroyed if this is exceeded! Observe the machine manufacturer's instructions!
In particular, the approach speed should be reduced to such an extent that the probe can always be stopped promptly.
"Rapid traverse override" may not be active.
The screen forms provided and the sequence depend on the technology. Accordingly, the following used tool types can be
measured:
Milling technology
● Milling tool (geometry length 1 and geometry radius)
● Drill (geometry length 1)
Function Manual
140 6FC5397-7EP40-0BA0, 08/2013
Tool offsets
The screens initially include the active tool T and the active offset number D for the target of the measurement result entry. A
different tool can be specified by the PLC via the interface, or the user can enter a different tool T and/or offset number D.
Note
If a tool or an offset number different to the active values has been entered, this must first be made known to the NC for
working after measurements have been made with this tool/tool offset, e.g. by programming and start in MDA mode. Only
then can the control unit calculate the correct tool offsets.
A tool length compensation is automatically entered into the GEO component of the active/specified tool offset D of the
active/specified tool, and the associated "wear" and "adapter" components are deleted.
When measuring the cutter radius it is assumed that no further offset is applied to the axes of the cutter radius level (values
in the axes of the "adapter" component and GEO lengths 2 and 3 are equal to zero). The result for the radius is entered in
the "geometry" component. The associated "adapter" and "wear" components of both axes of the level are deleted.
Probe
The tool measuring probe is a touch probe at a fixed location or is swiveled into the working area by means of a mechanical
device. If the probe plate is of rectangular design, the edges should be aligned parallel to the axis. The tool/calibration tool is
traversed against the measuring probe. The probe must be calibrated before a measurement is taken. This means that the
precise probe triggering points in relation to the machine zero are known.
The internal sequence is the same as in measuring. The measuring results, however, are stored in the data for the probe
triggering points - not in the tool offsets.
Note
The internal NC programs for measuring or calibrating are configured so that measuring is carried out with the rising edge of
the probe.
Measuring sequence
The "JOG" mode is selected. The measuring feed is entered. The probe is calibrated or the precise measuring trigger points
are entered.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 141
1. Depending on the tool type, the measuring sequence is controlled via this softkey and further
softkeys.
2. The IS "Measuring in JOG is active" (DB1700.DBX0003.7) is transmitted to the PLC from the
HMI by pressing this softkey. PLC can specify a different T number to the active one via the IS
"T number for tool measuring in JOG" (DB1900.DBD5004). If the probe switches when the
selected axis is traversed, NCK outputs the IS "Probe 1 active" (DB2700.DBX0001.0). The
PLC then sets IS "Feed disable" (DB3200.DBX0006.0) and NCK stops the axis movement.
Feed disable is maintained as long as a traverse key is depressed in JOG and the IS
"Measuring in JOG is active" (DB1700.DBX0003.7) is set. After this the PLC outputs the IS
"Reset" (DB3000.DBX000.7). The traverse movement in JOG is thereby cancelled.
3. HMI recognizes switching of the probe and outputs the change mode to AUTO, IS command
"AUTOMATIC mode" (DB1800.DBX0000.0) after the traverse key has been released
(immediately after handwheel jog). PLC transfers this to the NCK (DB3000.DBX0000.0).AUTO
mode is set to active by the NCK (IS "Active mode AUTOMATIC" (DB3100.DBX0000.0)) and
is displayed in the HMI screen. PLC cancels the IS "Feed disable (DB3200.DBX0006.0). The
HMI then outputs the IS "Mode change disable" (DB1800.DBX0000.4) to the PLC. If the PLC
recognizes this signal (is only applied for one PLC cycle), the PLC outputs the IS "Mode
change disable" (DB3000.DBX0000.4) to the NCK. An NC measuring program has been
loaded to the NCK by the HMI. This is activated now. The automatic direction of approach to
the probe and the traverse path including the safety clearance is calculated in this measuring
program.The HMI outputs the command to start the measuring program to the PLC via the IS
"Start measuring in JOG" (DB1800.DBX0000.6). The signals in the V1800 area are only
applied for a single PLC cycle. The IS "Start measuring in JOG" is therefore stored
intermediately in the PLC. The NC measuring program is launched by the PLC by outputting
the IS "NC START" (DB3200.DBX0007.1) to the NCK.
4. The axis is repositioned by the NC program, the probe is approached again, and finally
retracted. The HMI then transmits the command to switch back to the "JOG" mode
(DB1800.DBX0000.2) to the PLC. The "Change mode disable" interface signal
(DB3000.DBX0000.4) is then reset by the PLC. The PLC outputs the "JOG" mode
(DB3000.DBX0000.2) to the NCK and the NCK returns the IS "JOG mode active"
(DB3100.DBX0000.2) to the NCK.
5. The next direction of approach/axis for traversing to the probe is selected with this softkey.
The further procedure is analogous - until all directions/axes have been traversed.
After measuring or probe calibration is complete the function can be deselected via the softkey. This also resets
the IS "Measuring in JOG active" (DB1700.DBX0003.0). It is also reset when the operating area is exited. The automatic
program can be cancelled via IS "Reset" (DB3000.DBX0000.7) or measuring in JOG can be closed via the
softkey. This also cancels any set IS "Feed disable" (DB3200.DBX0006.0) and IS "Change mode disable"
(DB3000.DBX0000.4) or intermediately saved signals.
Function Manual
142 6FC5397-7EP40-0BA0, 08/2013
12.6 Data table
12.6.1 Machine data
Number Identifier Name
General
13200 MEAS_PROBE_LOW_ACTIVE Switching characteristics of probe
13 EMERGENCY OFF
13.1 Brief description
Note
It is the duty of the machine manufacturer to observe national and international standards (see the notes on standards in the
following paragraph). The SINUMERIK 808D ADVANCED supports the machine manufacturer in the implementation of the
EMERGENCY STOP function in accordance with the specifications in this Description of Functions. The responsibility for the
EMERGENCY STOP function (its triggering, execution and acknowledgment) rests exclusively with the machine
manufacturer.
Note
Particular reference should be made to the following standards for the EMERGENCY STOP function:
● EN ISO 12100-1
● EN ISO 12100-2
● EN 418
● EN 60204-1
Function Manual
6FC5397-7EP40-0BA0, 08/2013 143
13.2 EMERGENCY STOP sequence
Requirements
Actuation of the EMERGENCY STOP pushbutton or a signal derived directly from the button must be taken to the control
system (PLC) as a PLC input. In the PLC user program, this PLC input must be transferred to IS "EMERGENCY STOP"
(DB2600.DBX0000.1) in the NC.
Resetting of the EMERGENCY STOP pushbutton or a signal derived directly from the button must be taken to the control
system (PLC) as a PLC input. In the PLC user program, this PLC input must be transferred to IS "Acknowledge
EMERGENCY STOP" (DB2600.DBX0000.2) in the NC.
Sequence in the NC
The predefined (in EN 418) sequence of internal functions that are implemented to obtain the EMERGENCY STOP state is
as follows in the control system:
1. Part program execution is interrupted. All axes and spindles are braked along a braking ramp defined in MD36610
AX_EMERGENCY_STOP_TIME.
2. The IS "808D READY" (DB3100.DBX0000.3) is reset.
3. The IS "EMERGENCY STOP active" (DB2700.DBX0000.1) is set.
4. Alarm 3000 is set.
5. On expiry of a delay that is set for specific axes/spindles in MD36620 SERVO_DISABLE_DELAY_TIME (shutdown delay,
controller enable), the controller enable is cancelled. It must be noted that MD36620 must be specified at least as long as
MD36610.
Note
The interruption of the power feed to the equipment is the responsibility of the machine manufacturer.
If the internal functions in the NC should not be executed in the predetermined sequence in the event of an
EMERGENCY STOP, then IS EMERGENCY STOP (DB2600.DBX0000.1) may not be set at any time up to the point that
an EMERGENCY STOP defined by the machine manufacture in the PLC user program is reached. As long as the
EMERGENCY STOP interface signal has not been set and no other alarm is active, all interface signals are effective in
the NC. Any EMERGENCY STOP state defined by the manufacturer can therefore be assumed.
Function Manual
144 6FC5397-7EP40-0BA0, 08/2013
13.3 EMERGENCY STOP acknowledgment
Acknowledge EMERGENCY STOP
The EMERGENCY STOP state is reset only if IS "Acknowledge EMERGENCY STOP" (DB2600.DBX0000.2) followed by IS
"Reset" (DB3000.DBX0000.7) are set. It must be noted in this respect that IS "Acknowledge EMERGENCY STOP" and IS
"Reset" must be set (together) for a long enough period for IS "EMERGENCY STOP active" (DB2700.DBX0000.1) to be
reset (see Fig. 1–1).
PLC I/O
The PLC user program must switch the PLC I/O to the correct state for operation of the machine.
Reset
The EMERGENCY STOP state cannot be reset solely by IS "Reset" (DB3000.DBX0000.7) (see diagram above).
Power off/on
Power off/on (POWER ON) cancels the EMERGENCY OFF state unless IS "EMERGENCY OFF"
(DB2600.DBX0000.1) is still set.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 145
13.4 Data table
13.4.1 Machine data
Number Identifier Name
Axis-specific
36610 AX_EMERGENCY_STOP_TIME Length of the braking ramp for error states
36620 SERVO_DISABLE_DELAY_TIME Shutdown delay controller enable
Output cam
An output cam for referencing may be required for linear axes, and its signal has the following tasks:
● Selection of the direction of travel when approaching the zero mark (synchronized pulse)
● Selection of the zero mark, where required.
BERO
A BERO (inductive proximity switch) can be deployed as the encoder for the synchronized pulse (instead of the zero mark of
the position encoder) (preferred for rotary axes, spindles). Here connection is made to the SINUMERIK 808D ADVANCED
via pin6 (DI3) of terminal X21.
Reference:
SINUMERIK 808D ADVANCED Commissioning Manual
Function Manual
146 6FC5397-7EP40-0BA0, 08/2013
IS "Active machine function REF" (DB3100.DBX0001.2)
The reference point approach is performed with the REF machine function activated (IS "active machine function REF"). The
REF machine function can be selected in JOG modes (IS "REF machine function" (DB3000.DBX0001.2)).
Special features
● Referencing is aborted with "Reset" interface signal (DB3000.DBX0000.7). All axes that have not reached their reference
point by this time are considered to be not referenced. IS "Referencing active" is reset and alarm 20005 is signaled.
● Working area limiting and software limit switches are not active for non-referenced machine axes.
● The defined axis-specific accelerations are observed at all times during referencing (except when alarms occur).
● The reference point approach can be started only with the direction key for the direction stored in
MD34010 REFP_CAM_DIR_IS_MINUS.
Note
MD20700 REFP_NC_START_LOCK = 1 prevents a part program from being started (alarm output) if not all required axes
are referenced.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 147
Figure 14-1 Referencing sequence with incremental measuring system (example)
Function Manual
148 6FC5397-7EP40-0BA0, 08/2013
Different motion sequences during referencing:
Referencing type Synchronizing pulse Motion sequence
(zero mark, BERO)
With reference cam (MD34000 Synchronizing pulse before cam,
REFP_CAM_IS_ACTIVE = 1) reference coordinate before
synchronizing pulse = without
reversal:
(MD34050
REFP_SEARCH_MARKER_REVERS
E = 0)
If the machine axis does not come to a halt at the reference cam (interface signal "Reference point approach delay"
(DB380x.DBX1000.7) is reset), alarm 20001 is output. Alarm 20001 can occur if the reference cam is too short and the
machine axis travels over it when decelerating in phase 1.
If the reference cam extends to the end of travel of the axis, an inadmissible starting point for referencing (after the cam) can
be excluded.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 149
Reference cam adjustment
The reference cam must be calibrated exactly. The following factors influence the response time of the control when
detecting the reference cam ("Reference point approach delay" interface signal):
● Switching accuracy of the reference cam switch
● Delay of the reference cam switch (NC contact)
● Delay at the PLC input
● PLC cycle time
● Internal processing time
Practice has shown that the signal edge of the reference cam, which is required for synchronizing, is aligned between two
synchronized pulses (zero marks). This can be achieved by:
● Set MD34080 REFP_MOVE_DIST = MD34090 REFP_MOVE_DIST_CORR = MD 34100 REFP_SET_POS = 0
● Reference axis
● In JOG mode, traverse the axis to half the path length between the two zero marks. This path is independent of the pitch
of the leadscrew S and the gear ratio n (e.g. S=10 mm/rev, n=1:1 produces a path of 5 mm).
● Calibrate the cam switch so that switching is done at exactly this position (IS "Reference point approach delay"
(DB380x.DBX1000.7))
● Alternatively, the value of MD34092 REFP_CAM_SHIFT can be changed instead of moving the cam switch.
WARNING
If the reference cam is not calibrated precisely, an incorrect synchronizing pulse (zero mark) may be evaluated. In this
case, the control assumes an incorrect machine zero and moves the axes to incorrect positions. Software limit switches
act on incorrect positions and are therefore not able to protect the machine.
Note
The control may not always recognize the need for recalibration. If it detects such a need, it sets MD34210 to 0 or 1. The
following is detected: changeover to another gear speed with a different gear ratio between the encoder and load.
In all other cases, the user must overwrite MD34210.
Data backup
When machine data is backed up, the status of MD34210 ENC_REFP_STATE is also saved.
By loading this data set, the axis is automatically deemed calibrated!
WARNING
If the data set has been taken from another machine (e.g. series startup), calibration must still be carried out after loading
and activating the data.
Function Manual
150 6FC5397-7EP40-0BA0, 08/2013
14.4 Data table
14.4.1 Machine data
Number Identifier Name
Channel-specific
20700 REFP_NC_START_LOCK NC-Start disable without reference point
Axis-specific
30200 NUM_ENCS Number of encoders
30240 ENC_TYP[0] Actual value encoder type
30330 MODULO_RANGE Magnitude of modulo range
31122 BERO_DELAY_TIME_PLUS[0] BERO delay time in plus direction
31123 BERO_DELAY_TIME_MINUS[0] BERO delay time in minus direction
34000 REFP_CAM_IS_ACTIVE Axis with reference cam
34010 REFP_CAM_DIR_IS_MINUS Reference point approach in minus direction
34020 REFP_VELO_SEARCH_CAM Reference point approach velocity
34030 REFP_MAX_CAM_DIST Maximum distance to reference cam
34040 REFP_VELO_SEARCH_MARKER[0] Reference point creep speed
34050 REFP_SEARCH_MARKER_REVERSE[0] Direction reversal to reference cam
34060 REFP_MAX_MARKER_DIST[0] Maximum distance to reference marker; maximum distance to
2 reference markers with distance-coded scales
34070 REFP_VELO_POS Reference point positioning velocity
34080 REFP_MOVE_DIST[0] Reference point distance/destination point for distancecoded
system
34090 REFP_MOVE_DIST_CORR[0] Reference point/absolute offset, distancecoded
34092 REFP_CAM_SHIFT[0] Electronic reference point cam shift for incremental measuring
systems with equidistant zero marks.
34093 REFP_CAM_MARKER_DIST[0] Reference cam/reference mark distance
34100 REFP_SET_POS[0]...[3] Reference point value
34110 REFP_CYCLE_NR Axis sequence for channel-specific referencing
34210 ENC_REFP_STATE[0] Status of absolute encoder
34220 ENC_ABS_TURNS_MODULO[0] Absolute encoder range for rotary encoders
36300 ENC_FREQ_LIMIT[0] Encoder frequency limit
36302 ENC_FREQ_LIMIT_LOW[0] Encoder limit frequency resynchronization
36310 ENC_ZERO_MONITORING[0] Zero mark monitoring
Function Manual
6FC5397-7EP40-0BA0, 08/2013 151
15 Spindle
15.1 Brief description
Spindle functions
Depending on the machine type the following functions are possible for a spindle controlled by the NC:
● Input of a direction of rotation for the spindle (M3, M4)
● Input of a spindle speed (S)
● Spindle stop, without orientation (M5)
● Spindle positioning (SPOS=)
(position-controlled spindle required)
● Gear change (M40 to M45)
● Thread cutting/tapping (G33, G34, G35, G331, G332, G63)
● Revolutional feedrate (G95)
● Constant cutting rate (G96)
● Position encoder assembly on the spindle or on the spindle motor
● Spindle monitoring for min. and max. speed.
● Dwell time in spindle revolutions (G4 S)
An "enabled" spindle can be used instead of a controlled spindle. However, a spindle speed (S) is then not entered via the
program but, for example, manually (gearbox) at the machine. This does not permit programming of speed limits. The
following is possible via the program:
● Input of a direction of rotation for the spindle (M3, M4)
● Spindle stop, without orientation (M5)
● Tapping (G63)
If the spindle has a position encoder, the following functions are also available:
● Thread cutting/tapping (G33, G34, G35)
● Revolutional feedrate (G95)
If the spindle is enabled, the setpoint output for the spindle via MD30130 CTRLOUT_TYPE = 0 must be suppressed.
Function Manual
152 6FC5397-7EP40-0BA0, 08/2013
15.2 Spindle modes
15.2.1 Spindle modes
Spindle modes
The spindle can have the following modes:
● Control mode, see Section "Spindle control mode (Page 154)"
● Oscillation mode, see Section "Spindle oscillation mode (Page 154)"
● Positioning mode, see Section "Spindle positioning mode (Page 156)"
● Axis mode
● Tapping without compensating chuck, see also Chapter "Feed (Page 168)"
Function Manual
6FC5397-7EP40-0BA0, 08/2013 153
15.2.2 Spindle control mode
Requirements
A spindle position actual value sensor is absolutely essential for M3/M4/M5 in conjunction with revolution feedrate (G95, F in
mm/rev or inch/rev), constant cutting rate (G96, G97), thread cutting (G33).
Note
The spindle can always be stopped with the IS "Delete distance-to-go / Spindle Reset".
CAUTION: The program continues at G94! With G95 the axes stop due to the missing feedrates as does the program
run if G1, G2, ... is active.
Oscillation time
The oscillation time for oscillation mode can be defined in a machine date for each direction of rotation:
● Oscillation time in M3 direction (referred to as t1 in the following):
MD35440 SPIND_OSCILL_TIME_CW
● Oscillation time in M4 direction (referred to as t2 in the following):
MD35450 SPIND_OSCILL_TIME_CCW
Function Manual
154 6FC5397-7EP40-0BA0, 08/2013
Oscillation via NCK
Phase 1: With the IS "Oscillation speed" (DB380x.DBX2002.5) , the spindle motor accelerates to the velocity (with oscillation
acceleration) specified in MD35400 SPIND_OSCILL_DES_VELO (oscillation speed). The starting direction is defined by
MD35430 SPIND_OSCILL_START_DIR (starting direction during oscillation).
Phase 2: If time t1 (t2) has elapsed, the spindle motor accelerates in the opposite direction to the speed defined in
MD35400 SPIND_OSCILL_DES_VELO (oscillation speed). Time t2 (t1) starts.
Phase 3: When time t2 (t1) expires, the spindle motor accelerates in the opposite direction (same direction as phase 1), etc.
Block change
If the spindle has been changed over to oscillation mode, IS "Change gear" (DB390x.DBX2000.3) is set, part program
processing is stopped. A new block is not executed. If oscillation mode is terminated using the IS "Gear switched"
(DB380x.DBX2000.3), the execution of the part program is continued. A new block is executed.
Special features
● The acceleration is defined by MD35410 SPIND_OSCILL_ACCEL (acceleration during oscillation).
● If the IS "oscillation speed" (DB380x.DBX2002.5) is reset, the oscillation stops. However, the spindle remains in
oscillation mode.
● The IS "Gear changed" should always be used for terminating gear stage change.
● The IS "Reset" (DB3000.DBX0000.7) does not terminate oscillation mode.
● If an indirect measuring system is used, synchronization is lost. The spindle is re-synchronized the next time the zero
mark is crossed.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 155
Reset during gear stage change
The spindle cannot be stopped via IS "Reset" (DB3000.DBX0000.7) or IS "NC Stop" (DB3200.DBX0007.3) if the spindle is in
oscillation mode for gear stage change and the IS "Gear changed" (DB380x.DBX2000.3) is not yet available.
In this case, alarm 10640 "Stop not possible during gear change" is displayed if reset is selected. After changing the gear
stages, the reset request is performed and the alarm cleared, if this is still present at the interface.
Note
Option for aborting: Set IS "Delete distance-to-go / Spindle Reset" (DB380x.DBX0002.2).
Block change
The block change is carried out when all functions programmed in the block have reached their end criterion (e.g. axis
traverse completed, all auxiliary functions acknowledged by PLC) and the spindle has reached its position (IS "Exact stop
fine" for spindle (DB390x.DBX0000.7)).
Requirements
A spindle position actual value encoder is absolutely essential.
Sequence
Phase 1: Spindle rotates at a lower speed than the encoder limit frequency. The spindle is synchronized. It is set to control
mode. Process continues with Phase 2.
Phase 1a: Spindle rotates at a lower speed than the position control activation speed. The spindle is synchronized. It is set
to control mode. The rest of the sequence is possible via 4a.
Phase 1b (not shown): Spindle rotates at a speed higher than the encoder limit frequency. The spindle is not synchronized
initially, but is then synchronized when the rotation speed falls below the speed defined by the encoder frequency in
MD36302 ENC_FREQ_LIMIT_LOW (% value of MD36300). Sequence continues with Phase 2.
Phase 2: When the SPOS command takes effect, the spindle starts to decelerate with the acceleration stored in MD35200
GEAR_STEP_SPEEDCTRL_ACCEL until it reaches the position control activation speed.
Function Manual
156 6FC5397-7EP40-0BA0, 08/2013
Phase 3: When the position-control activation speed stored in MD35300 SPIND_POSCTRL_VELO is reached:
● The position control is activated.
● The distance-to-go (to target position) is calculated. (easier from Phase 1a)
● The acceleration is switched to MD35210 GEAR_STEP_POSCTRL_ACCEL. (acceleration in position control mode)
(always active below the position control activation speed)
Phase 4: The spindle brakes from the calculated "braking point" with MD35210 GEAR_STEP_POSCTRL_ACCEL to the
target position.
Phase 5: The position control remains active and stops the spindle in the programmed position. The IS "Position reached
with exact stop fine" (DB390x.DBX0000.7) and "... coarse" (DB390x.DBX0000.6) are set if the distance between the spindle
actual position and the programmed position (spindle setpoint position) is less than the settings for the exact stop fine and
coarse limits (respectively defined in MD36010 STOP_LIMIT_FINE and MD36000 STOP_LIMIT_COARSE).
Sequence
Phase 1: Programming SPOS accelerates the spindle with the acceleration in MD35210 GEAR_STEP_ POSCTRL_ACCEL
(acceleration in position control mode) until the maximum speed entered in MD35300 SPIND_POSCTRL_VELO (position
control activation speed) is reached.
The direction of rotation is defined by MD35350 SPIND_POSITIONING_ DIR (direction of rotation during positioning from
standstill), if no input results from SPOS programming (ACN, ACP, IC). The spindle is synchronized with the next zero mark
of the position actual value encoder.
Phase 2: When the spindle is synchronized, the position control is activated. The spindle rotates at the maximum speed
stored in MD35300 SPIND_POSCTRL_VELO until the braking start point calculation identifies the point at which the
programmed spindle position can be approached accurately with the defined acceleration.
Phase 3: At the brake application point, the spindle is braked down to standstill with the acceleration set in
MD35210 GEAR_STEP_ POSCTRL_ACCEL (acceleration in position control mode).
Phase 4: The spindle has reached the target point and is stationary. The position control is active and stops the spindle in
the programmed position. The IS "Position reached with exact stop fine" (DB390x.DBX0000.7) and "... coarse"
(DB390x.DBX0000.6) are set if the distance between the spindle actual position and the programmed position (spindle
setpoint position) is less than the settings for the exact stop fine and coarse limits (MD36010 STOP_LIMIT_FINE and
MD36000 STOP_LIMIT_COARSE).
Function Manual
6FC5397-7EP40-0BA0, 08/2013 157
Figure 15-5 Positioning with stationary, synchronized spindle
Sequence
The spindle travels to the programmed end point optimally in terms of time. Depending on the appropriate secondary
conditions, the operational sequences in phases 1 - 2 - 3 - 4 or 1 - 3a - 4a are executed.
Phase 1: SPOS will switch the spindle to position control mode. The acceleration from
MD35210 GEAR_STEP_POSCTRL_ACCEL (acceleration in the position control mode) is activated. The direction of rotation
is determined by the relevant distance-to-go (type of path setting with SPOS).
The speed entered in MD35300 SPIND_POSCTRL_VELO (position control activation speed) is not exceeded. The
traversing path to the end point is calculated. If the end point can be accessed immediately from this phase, Phase 3a, 4a
continues instead of Phase 2.
Phase 2: Acceleration has been performed up to the speed set in MD35300 SPIND_POSCTRL_VELO (position control
activation speed). The brake application point calculation identifies when the programmed spindle position (SPOS=...) can
be approached with the acceleration defined in MD35210 GEAR_STEP_POSCTRL_ACCEL.
Phase 3 and Phase 4: The sequence for "Deceleration" and "Position reached" is the same as for non-synchronized
spindles.
Spindle reset
The positioning process can be aborted with the IS "Delete distance-to-go/spindle reset" (DB380x.DBX0002.2). However,
the spindle remains in positioning mode.
Notes
● In positioning mode the spindle speed override switch continues to be valid.
● Positioning (SPOS) is cancelled with "Reset" or "NC stop".
15.3 Synchronization
Why synchronize?
The control must be synchronized with the position measurement system on the spindle so that the control knows the exact
0 degree position when switched on. Only a synchronized spindle is capable of thread cutting or positioning.
For axes, this process is referred to as referencing, see Chapter "Reference Point Approach".
Synchronization possibilities
When the spindle is switched on, the spindle can be synchronized as follows:
● The spindle is started with a spindle speed (S function) and a spindle rotation (M3 or M4), and synchronized with the next
zero mark of the position measurement system or with the BERO signal. The 0 degree position is shifted by
MD34080 REFP_MOVE_DIST + MD34090 REFP_MOVE_DIST_CORR -
Function Manual
158 6FC5397-7EP40-0BA0, 08/2013
MD34100 REFP_SET_POS.
Note
Only use MD34080 for shifting the 0 degree position. Monitoring with MD34060 REFP_MAX_MARKER_DIST should be
set to two spindle revolutions (720 degrees).
● Programming SPOS=... from various states (refer to Section "Spindle positioning mode (Page 156)")
● In JOG mode, the spindle is started in speed control mode with the direction keys and synchronizes with the next zero
mark of the position measurement system or the BERO signal.
Value acceptance
When synchronizing the spindle, the associated reference point from MD34100 REFP_SET_POS[0] (default value = 0) is
transferred and a possible shift of the reference point. These shifts (machine data) act irrespective of the connected
measurement system and are described in Chapter "Reference Point Approach".
Maximum encoder frequency exceeded
When the spindle speed reaches a speed (large S value programmed), which exceeds the maximum encoder limit
frequency MD36300 ENC_FREQ_LIMIT (the maximum mechanical speed limit of the encoder must not be exceeded), the
synchronization is lost. The spindle continues to rotate, but with reduced functionality.
If a speed is then reached that is below the encoder limit frequency in MD36302 ENC_FREQ_LIMIT_LOW (% value of
MD36300), the spindle automatically synchronizes with the next zero mark signal. You can achieve this by programming a
lower S value, changing the spindle speed override switch, etc.
Re-synchronizing
In the following case, however, the position measuring system must be re-synchronized:
the position measurement encoder is on the motor, a BERO (distance sensor for synchronization signals) is mounted to the
spindle and the gear stage is changed. The synchronization is triggered internally when the spindle is rotating in the new
gear stage.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 159
Defining a gear stage
A gear stage can be defined as follows:
● Permanent definition in the part program (M41 to M45)
● Automatic definition by the programmed spindle speed (M40)
In the case of M40, the spindle must be in the control mode for automatic gear stage selection with an S value. The gear
stage change is otherwise rejected and alarm 22000 "Gear change not possible" is output.
M41 to M45
The gear stage can be permanently defined in the part program with M41 to M45. If a gear stage is defined by M41 to M45,
which is different than the current (actual) gear stage, the IS "Change gear" (DB390x.DBX2000.3) and the IS "Set gear
stage A" to "...C" (DB390x.DBX2000.0 to .2) are set. The programmed spindle speed (S) then refers to this permanently
defined gear stage. If a spindle speed exceeding the maximum speed of the permanently defined gear stage is
programmed, the speed is limited to the maximum speed of this gear stage and the IS "Programmed speed too high"
(DB390x.DBX2001.1) is enabled. If a speed is programmed lower than the minimum speed of this gear stage, the speed is
raised to this speed. The IS "Setpoint speed increased" (DB390x.DBX2001.2) is then enabled.
M40
M40 in the part program causes the gear stage to be selected automatically by the control. The control checks which gear
stage is possible for the programmed spindle speed (S function). If the suggested gear stage is not equal to the current
(actual) gear stage, the IS "Change gear" (DB390x.DBX2000.3) and the IS "Set gear stage A to C" (DB390x.DBX2000.0 to
.2) are enabled.
The automatic gear stage selection function initially compares the programmed spindle speed with the minimum and
maximum speed of the current gear stage. If the comparison is positive, a new gear stage is not defined. If the comparison is
negative, the comparison is performed on each of the gear stages (starting with gear stage 1) until the result is positive. If
the comparison in the 5th gear stage is also not positive, no gear stage change is triggered. If necessary the speed is limited
to the maximum speed of the current gear stage or increased to the minimum speed of the current gear stage, and the IS
"Setpoint speed limited" (DB390x.DBX2001.1) or IS "Setpoint speed increased" (DB390x.DBX2001.2) is enabled.
Figure 15-7 Example for speed ranges for automatic gear stage selection (M40)
Function Manual
160 6FC5397-7EP40-0BA0, 08/2013
gear" (DB390x.DBX2000.4) are set. At the point when the IS "Oscillation speed" (DB380x.DBX2002.5) is enabled, the
spindle decelerates to a stop with the acceleration for oscillation or with the acceleration for speed control / position control.
The next block in the part program after the gear stage change via M40 and S value or M41 to M45 is not performed (same
effect as if the IS "Read-in disable" (DB3200.DBX0006.1) were enabled).
When stationary the spindle (IS "Axis/spindle stationary" (DB390x.DBX0001.4)) can be activated with the IS "Oscillation
speed" (DB380x.DBX2002.5) (see Section "Spindle oscillation mode (Page 154)"). When the new gear stage is engaged,
the PLC user sets the IS "Actual gear stage" (DB380x.DBX2000.0 to .2) and IS "Gear changed" (DB380x.DBX2000.3). The
gear stage change is considered completed (spindle mode "Oscillation mode" is deselected) and the spindle is switched to
the parameter block of the new actual gear stage. The spindle accelerates at the new gear stage to the spindle speed last
programmed (if M3 or M4 are active). The IS "Change gear" (DB390x.DBX2000.3) is reset by the NCK, which causes the
PLC user to reset the IS "Gear changed" (DB380x.DBX2000.3). The next block in the part program can be executed.
Typical time sequence for the gear stage change:
Parameter set
One parameter set each is provided for each of the five gear stages. The appropriate parameter set is activated through the
IS "Actual gear stage A" to "...C" (DB380x.DBX2000.0 to .2).
It is assigned as follows:
Function Manual
6FC5397-7EP40-0BA0, 08/2013 161
Index n PLC interface, Data of the data set Contents
CBA coding
0 - Data for axis mode
1 000 Data for 1st gear stage Servo gain factor,
001 monitoring functions,
speed,
2 010 Data for 2nd gear stage acceleration, etc.
3 011 Data for 3rd gear stage
4 100 Data for 4th gear stage
5 101 Data for 5th gear stage
The machine data included in a parameter set are marked specifically in Section "Machine Data (Page 166)". The following
machine data is added per gear stage for each parameter set index n (n=1 -> 1st gear stage of the spindle, etc.):
● MD35110 GEAR_STEP_MAX_VELO[n]
● MD35120 GEAR_STEP_MIN_VELO[n]
● MD35130 GEAR_STEP_MAX_VELO_LIMIT[n]
● MD35140 GEAR_STEP_MIN_VELO_LIMIT[n]
● MD35200 GEAR_STEP_SPEEDCTRL_ACCEL[n]
● MD35210 GEAR_STEP_POSCTRL_ACCEL[n]
● MD35310 SPIND_POSIT_DELAY_TIME[n]
15.5 Programming
Functions
The spindle can be set for the following functions:
● G95 Revolutional feedrate
● G96 S... LIMS=... Constant cutting rate in m/min, upper speed limit
● G97 Cancel G96 and freeze last spindle speed
● G33, G331, G332 Thread cutting, tapping
● G4 S ... Dwell time in spindle revolutions
M3 CW spindle rotation
M4 CCW spindle rotation
M5 Spindle stop, without orientation
S... Spindle speed in rpm, e.g. S300
SPOS=... Spindle positioning, e.g. SPOS=270 -> at position 270 degrees.
The block change is only performed when the spindle is in position.
SPOS=DC(Pos) The direction of motion is retained for positioning while in motion and the position approached.
When positioning from standstill, the position is approached via the shortest path.
SPOS=ACN(Pos) The position is always approached with negative direction of motion. If necessary, the direction of
motion is inverted prior to positioning.
SPOS=ACP(Pos) The position is always approached with positive direction of motion. If necessary, the direction of
motion is inverted prior to positioning.
SPOS=IC(Pos) The traversing path is specified. The direction of traversing is obtained from the sign in front of
the traversing path. If the spindle is in motion, the direction of traversing is inverted if necessary
to allow traversing in the programmed direction.
M40 Automatic gear stage selection for the spindle
M41 to M45 Select gear stage 1 to 5 for the spindle
SPCON Position control on
SPCOF Position control off
M70 Position control on
LIMS=... Programmable maximum spindle speed for G96
Reference:
SINUMERIK 808D ADVANCED Programming and Operating Manual
Function Manual
162 6FC5397-7EP40-0BA0, 08/2013
15.6 Spindle monitoring
15.6.1 Spindle monitoring
Speed ranges
The spindle monitoring functions and the currently active functions (G94, G95, G96, G33, G331, G332, etc.) define the
admissible speed ranges of the spindle.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 163
15.6.4 Maximum spindle speed
Max. speed
MD35130 GEAR_STEP_MAX_VELO_LIMIT defines the maximum speed for the gear stage. In the gear stage engaged, this
set speed can never be exceeded. When the programmed spindle speed is limited, the IS "Set speed limited"
(DB390x.DBX2001.1) is enabled.
Minimum speed
MD35140 GEAR_STEP_MIN_VELO_LIMIT defines the minimum speed for the gear stage. It is not possible that the speed
falls below this (set) speed if an S value is programmed, which is too small. Then, the IS "Setpoint speed increased"
(DB390x.DBX2001.2) is enabled.
The minimum gear stage speed is operative only in spindle open loop control mode; the speed of the gear stage can only fall
below the minimum limit through:
● Spindle override 0 %
● M5
● S0
● IS "Spindle stop"
● Remove IS "Controller enable"
● IS "Reset"
● IS "Spindle reset"
● IS "Oscillation speed"
● IS "NCSTOP axes and spindle"
● IS "Axis/spindle disable"
WARNING
The maximum encoder limit frequency of the actual spindle position encoder is monitored by the control (the limit can be
exceeded). It is the responsibility of the machine tool manufacturer to ensure that the configuration of the spindle motor,
gearbox, measuring gearbox, encoder and machine data prevents the maximum speed of the actual spindle position
encoder from being exceeded.
Function Manual
164 6FC5397-7EP40-0BA0, 08/2013
If the encoder limit frequency is exceeded, the IS "Referenced/synchronized" DB390x.DBX0000.4) is reset for the
measurement system and IS "Encoder limit frequency 1 exceeded" (DB390x.DBX0000.2) is enabled.
If the maximum encoder limit frequency has been exceeded and the speed subsequently falls below the encoder frequency
in MD36302 ENC_FREQ_LIMIT_LOW (% value of MD36300 ENC_FREQ_LIMIT), the spindle is automatically synchronized
with the next zero mark or the next BERO signal.
Function
During positioning (the spindle is in "positioning mode"), the system monitors the distance from the spindle (with reference to
the actual position) to the programmed spindle set position (target point).
Two limit values can be defined as incremental path (starting at the spindle set position) in the following machine data.
● MD36000 STOP_LIMIT_COARSE (exact stop limit coarse)
● MD36010 STOP_LIMIT_FINE (exact stop limit fine)
Regardless of the two limit values, the positioning of the spindle is always as accurate as the connected spindle
measurement encoder, the backlash, the transmission ratio, etc.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 165
15.8 Data table
15.8.1 Machine data
Number Identifier Name
Channel-specific
20090 SPIND_DEF_MASTER_SPIND Master spindle
Axis-specific
30134 IS_UNIPOLAR_OUTPUT[0] Setpoint output is unipolar
30300 IS_ROT_AX Rotary axis
30310 ROT_IS_MODULO Modulo conversion
30320 DISPLAY_IS_MODULO Position display
31050 * DRIVE_AX_RATIO_DENOM[n] Denominator load gearbox
31060 * DRIVE_AX_RATIO_NUMERA[n] Numerator load gearbox
32200 * POSCTRL_GAIN [n] Servo gain factor Kv
32810 * EQUIV_SPEEDCTRL_TIME [n] Equivalent time constant speed control circuit for feedforward
control
34040 REFP_VELO_SEARCH_MARKER Reference point creep speed
34060 REFP_MAX_MARKER_DIST Monitoring of zero mark distance
34080 REFP_MOVE_DIST Reference point distance/destination point for distancecoded
system
34090 REFP_MOVE_DIST_CORR Reference point offset/absolute offset, distancecoded
34100 REFP_SET_POS Reference point value
34200 ENC_REFP_MODE Referencing mode
35000 SPIND_ASSIGN_TO_MACHAX Assignment of spindle to machine axis
35010 GEAR_STEP_CHANGE_ENABLE Gear stage change possible
35040 SPIND_ACTIVE_AFTER_RESET Spindle active after reset
35100 SPIND_VELO_LIMIT Maximum spindle speed
35110 * GEAR_STEP_MAX_VELO[n] Maximum speed for gear change
35120 * GEAR_STEP_MIN_VELO[n] Minimum speed for gear change
35130 * GEAR_STEP_MAX_VELO_LIMIT[n] Maximum speed of gear stage
35140 * GEAR_STEP_MIN_VELO_LIMIT[n] Minimum speed of gear stage
35150 SPIND_DES_VELO_TOL Spindle speed tolerance
35200 * GEAR_STEP_SPEEDCTRL_ACCEL[n] Acceleration in speed control mode
35210 * GEAR_STEP_POSCTRL_ACCEL[n] Acceleration in position control mode
35300 SPIND_POSCTRL_VELO Position control activation speed
35310 SPIND_POSIT_DELAY_TIME[n] Positioning delay time
35350 SPIND_POSITIONING_DIR Positioning direction of rotation for a nonsynchronized spindle
35400 SPIND_OSCILL_DES_VELO Reciprocating speed
35410 SPIND_OSCILL_ACCEL Oscillation acceleration
35430 SPIND_OSCILL_START_DIR Starting direction during oscillation
35440 SPIND_OSCILL_TIME_CW Oscillation time for M3 direction
35450 SPIND_OSCILL_TIME_CCW Oscillation time for M4 direction
35500 SPIND_ON_SPEED_AT_IPO_START Feed enable with spindle in setpoint range
35510 SPIND_STOPPED_AT_IPO_START Feed enable with stationary spindle
36060 STANDSTILL_VELO_TOL Threshold velocity "Axis/spindle stationary"
36200 * AX_VELO_LIMIT [n] Threshold value for velocity monitoring
36300 ENC_FREQ_LIMIT Encoder limit frequency
Function Manual
166 6FC5397-7EP40-0BA0, 08/2013
Number Identifier Name
36302 ENC_FREQ_LIMIT_LOW Encoder limit frequency resynchronization
36720 DRIFT_VALUE Drift basic value
The machine data marked with * is contained in the parameter set for a gear stage.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 167
Number Bit Name
DB390x.DBX2001 .0 Speed limit exceeded
DB390x.DBX2002 .7 Active spindle control mode
DB390x.DBX2002 .6 Active spindle mode oscillation mode
DB390x.DBX2002 .5 Active spindle positioning mode
DB390x.DBX2002 .3 Tapping with compensation chuck active
DB390x.DBX2002 .0 Constant cutting rate active (G96)
16 Feed
16.1 Path feedrate F
16.1.1 Path feedrate F
Functionality
The feedrate F is the path velocity of the tool along the programmed workpiece contour. The individual axis velocities
therefore result from the portion of the axis path in the overall distance to be traversed.
The feedrate F is effective for the interpolation types G1, G2, G3, CIP, and CT and is retained in a program until a new F
word is written.
Reference:
SINUMERIK 808D ADVANCED Programming and Operating Manual
Function Manual
168 6FC5397-7EP40-0BA0, 08/2013
SINUMERIK 808D ADVANCED Programming and Operating Manual
Interface signals
If the revolutional feedrate is active, IS "Revolutional feedrate" (DB3300.DBX0001.2) is set.
If the G96/G332 function is active, the IS "Constant cutting rate active" (DB390x.DBX2002.0) is set for the spindle.
Alarms
● If no F word is programmed at G1, G2, G3, ..., alarm 10860 is issued. An axis movement is not possible. However,
please note: SD42110 DEFAULT_FEED!
● If F0 is programmed, alarm 14800 is issued.
● If G95 is active and the spindle is stationary, an axis movement is not possible. No alarm is issued.
Notes
● If the "Dry run feedrate" function is activated and the program is started, the feedrates programmed in combination with
G1, G2, G3, CIP, CT will be replaced by the feedrate value stored in SD42100 DRY_RUN_FEED, see Section "Program
processing with dry run feedrate (DRY) (Page 95)".
● The velocity of the traversing movement of an axis in the JOG mode is determined by the machine data/setting data.
Axis velocity
With respect to G33, G34, or G35 threads, the axis velocity for the thread length results from the set spindle speed and the
programmed pitch. However, the maximum axis velocity defined in MD32000 MAX_AX_VELO cannot be exceeded.
The feedrate F is not relevant. It is, however, kept in the memory.
The axis velocity, e.g. for a cylinder thread, results from the set spindle speed (S) and programmed pitch (K):
Fz [mm/min] = speed S [rev/min] * pitch K [mm/rev]
Note
For G34 and G35 the pitch change in mm/rev2 is programmed under the F address.
Reference:
SINUMERIK 808D ADVANCED Programming and Operating Manual
Information
● The spindle speed override switch must remain unchanged during thread machining (tapping).
● The feedrate override switch is irrelevant in a block with G33, G34, G35.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 169
If the available path for run-in or run-out is limited, it may be necessary to reduce the spindle speed so that this path is
sufficient. In this case, the run-in and run-out paths can be specified separately in the program to achieve favorable cutting
values and short machining times or to simplify the handling of this issue.
If no values are specified, the values from the setting data (SD) apply. The specifications in the program are written in
SD42010 THREAD_RAMP_DISP[0] ... [1].
If this path is not sufficient for traversing at the configured axis acceleration, the axis is overloaded in terms of acceleration.
Alarm 22280 ("Programmed run-in path too short") is then issued for the thread run-in. The alarm is purely for information
and has no effect on part program execution.
The run-out path acts as an approximate distance at the end of the thread. This achieves a smooth change in the axis
movement when retracting.
Programming
DITS= ...: Run-in path of the thread
DITE= ...: Run-out path of the thread
Reference:
SINUMERIK 808D ADVANCED Programming and Operating Manual
SD42010
Only paths, and not positions, are programmed with DITS and DITE.
With the part program instructions, the setting data SD42010 THREAD_RAMP_DISP[0], ...[1] defines the following
acceleration response of the axis during thread cutting ([0]-run-in, [1]-run-out):
● SD42010 = < 0 to -1:
Starting/braking of the feedrate axis at configured acceleration rate. Jerk according to current BRISK/SOFT
programming.
● SD42010 = 0:
Abrupt starting/braking of the feedrate axis on thread cutting.
● SD42010 = > 0:
The thread run-up/deceleration distance is specified. To avoid technology alarm 22280, the acceleration limits of the axis
must be observed in case of very small run-in and run-out paths.
Note
DITE acts at the end of the thread as an approximate distance. This achieves a smooth change in the axis movement.
Feedrate F
In the case of G63 it is necessary to program a feedrate F. It must be suitable for the selected spindle speed S (programmed
or set) and for the pitch of the drill:
Feedrate F [mm/min] = speed S [rev/min] x pitch [mm/rev]
The compensation chuck absorbs possible path differences of the drill axis to a limited extent.
Function Manual
170 6FC5397-7EP40-0BA0, 08/2013
Reference:
SINUMERIK 808D ADVANCED Programming and Operating Manual
Axis velocity
With respect to G331/G332 tapping, the axis velocity for the thread length results from the effective spindle speed S and the
programmed pitch. However, the maximum axis velocity defined in MD32000 MAX_AX_VELO cannot be exceeded.
The feedrate F is not relevant. It is, however, kept in the memory.
Interface signal
If the G331/G332 function is active, the IS "Tapping without compensation chuck active" (DB390x.DBX2002.3) is set for the
spindle.
Note
The tapping may only be carried out without a compensation chuck if an exact dynamic adjustment of the spindle and the
relevant axis has been performed. With G331/G332 the parameter set n (0...5) of the axis becomes effective automatically.
This parameter set also applies to the current gear stage of the spindle (M40, M41 to M45 - see also Chapter "Spindle
(Page 152)").
In general, the axis is adjusted to the slower spindle.
Reference:
SINUMERIK 808D ADVANCED Programming and Operating Manual
Chamfer/rounding
You can insert the chamfer (CHF or CHR) or rounding (RND) elements into a contour corner. If you wish to round several
contour corners sequentially by the same method, use "Modal rounding" (RNDM).
You can program the feedrate for the chamfer/rounding with FRC=... (non-modal) or FRCM= ... (modal). If FRC/FRCM is not
programmed, the normal feedrate F is applied.
Programming
FRC=... Non-modal feedrate for chamfer/rounding
Value > 0: Feedrate in mm/min (G94) or mm/rev. (G95)
Notes
● F, FRC, FRCM are not active when a chamfer is traversed with G0. If the feedrate F is active for chamfer/rounding, it is
by default the value from the block which leads away from the corner. Other settings can be configured via machine data
MD20201 CHFRND_MODE_MASK.
● A maximum of three blocks without corresponding information may be put between two blocks containing traversing
information for chamfer/rounding (axes of the plane). In the case of more blocks without axis information in the plane and
existing instructions for inserting chamfer or rounding, an alarm is triggered.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 171
16.2 Rapid traverse G0
Application
The rapid traverse movement G0 is used for rapid positioning of the tool, but not for direct workpiece machining. All axes
can be traversed simultaneously. This results in a straight path.
For each axis, the maximum speed (rapid traverse) is defined in machine data MD32000 MAX_AX_VELO. If only one axis
traverses, it uses its rapid traverse. If, for example, two axes are traversed simultaneously, the path velocity (resulting
velocity) is selected to achieve the maximum possible path velocity under consideration of both axes.
If, for example, two axes have the same maximum velocity and also travel the same path, the path velocity = 1.41 * max.
axis velocity.
The feedrate F is not relevant for G0. It is, however, kept in the memory.
In the "AUTO" operating mode, it can be set through the <MACHINE> operating area ( ) -> softkey that
the feedrate override switch also applies to the rapid traverse. The active function is displayed with ROV in the status line.
HMI to PLC sets the IS "Feedrate override for rapid traverse selected" (DB1700.DBX0001.3). The PLC user program must
place this signal on the IS "Rapid traverse override active" (DB3200.DBX0006.6).
Function Manual
172 6FC5397-7EP40-0BA0, 08/2013
16.3.2 Feedrate disable and feedrate/spindle stop
General
The "Feed disable" or "Feed/spindle stop" brings the axes to a standstill. The path contour is maintained (exception: G33
block).
Feed disable
The channel-specific interface signal "Feed disable" (DB3200.DBX0006.0) will stop all axes (geometry and special axes) in
all operating modes.
This feed disable is not effective if G33 is active; it is, however, active with G63, G331, G332.
Spindle stop
The "Spindle stop" interface signal (DB380x.DBX0004.3) is used to stop the spindle.
"Spindle stop" is active with G33 and G63.
Note
Contour deviations = thread error!
General
The operator can use the feedrate override switch to increase or decrease the path feedrate relative to the programmed
feedrate in percent with immediate effect. The feedrates are multiplied by the override values.
An override between 0 and 120% can be programmed for the path feedrate F.
The rapid traverse override switch is used to reduce the traversing velocity when testing a part program.
An override between 0 and 100% can be programmed for the rapid traverse.
The spindle override can be used to modify the spindle speed and the cutting rate (with G96). The override can be between
50 and 120%.
The override is not permitted to exceed the machine specific acceleration and speed limits or generate a contour error.
The override acts on the programmed values before limits intervene.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 173
The interface for the override (value) is supplied by a machine control panel via the PLC to the NC and it is Gray-coded.
An active feedrate override acts on all path axes. An active rapid traverse override acts on all axes traversing with rapid
traverse.
If there is no dedicated rapid traverse override switch, the feedrate override switch can be used. In this case, feedrate
overrides above 100% are limited to 100% for rapid traverse override.
The override to be active can be selected via the PLC or operator panel.
If the selection is made using the operator panel (display: ROV), the IS "Feedrate override for rapid traverse selected"
(DB1700.DBX0001.3) is set and must be transferred by the PLC user program to the IS "Rapid traverse override active"
(DB3200.DBX0006.6). The value itself is to be transferred by the PLC user program from a machine control panel to the IS
"Rapid traverse override" (DB3200.DBB0005).
The channel-specific feedrate and rapid traverse overrides are inactive if G33, G63, G331 and G332 are active.
Spindle override
One enable signal and one byte for the spindle override factor in percent are available on the PLC interface for each spindle:
● IS "Spindle override" (DB380x.DBB2003)
● IS "Override active" (DB380x.DBX0001.7)
The additional signal IS "Feedrate override for spindle valid" (DB380x.DBX2001.0) allows the PLC user program to
determine that the value of the IS "Feedrate override" (DB380x.DBB0000) should apply.
The spindle override is active with G33, but it should not be actuated for reasons of accuracy; also active with G331, G332.
In the case of G63, the spindle override is set to a fixed value of 100%.
Override active
The set override values are effective in all operating modes and machine functions. This applies if the IS "Rapid traverse
override active", "Feedrate override active" or "Override active" are set.
An override factor of 0% acts as a feedrate disable.
Override inactive
When the override is inactive (i.e. the above interface signals are set to "0"), the override factor "1" is used internally for all
switch positions (except from the 1st position), i.e. the override is 100%.
Note
The 1st switch position of the Gray-coded interfaces for the value represents a special case. In this case, the override factor
of the 1st switch position is also used if the IS "Rapid traverse override active", "Feedrate override active", "Override active"
are not set. Thus 0% is issued as the override value for axes (acts the same as "Feed disable"). The following applies to the
spindle if the IS "Override active" is not set: Override value 50%.
Function Manual
174 6FC5397-7EP40-0BA0, 08/2013
16.4 Data table
16.4.1 Machine/setting data
Number Identifier Name
General machine data
10240 SCALING_SYSTEM_IS_METRIC Basic system metric
Channel-specific machine data
20201 CHFRND_MODE_MASK Specifications regarding the chamfer/rounding behavior
Axis-specific machine data
32000 MAX_AX_VELO Maximum axis velocity
35100 SPIND_VELO_LIMIT Maximum spindle speed
Channel-specific setting data
42100 DRY_RUN_FEED Dry run feedrate
42010 THREAD_RAMP_DISP Acceleration behavior of the feedrate axis when thread
cutting
42110 DEFAULT_FEED Default value for path feed
Function Manual
6FC5397-7EP40-0BA0, 08/2013 175
17 Tool: Tool Compensation
17.1 Tool and tool compensation overview
Characteristics
The SINUMERIK 808D ADVANCED control system is capable of calculating the tool compensation data for different tool
types (drill, milling cutter, turning tool, ...).
● Length compensation
● Radius compensation
● Storage of the tool compensation data in the tool offset memory
– Tool identification with T numbers from 0 to 32000
– Definition of a tool with a maximum of nine cutting edges (offset blocks) through D number
– Cutting edge is described by tool parameters:
Tool type
Geometry: Length/radius
Wear: Length/radius
Cutting edge position (for turning tools)
● Tool change selectable: Immediately with T command or through M6
● Tool radius compensation
– Compensation active for all interpolation types: linear and circular
– Compensation at outer corners selectable: transition circle (G450) or equidistant intersection (G451)
– Automatic detection of outer/inner corners
Detailed description:
References:
SINUMERIK 808D ADVANCED Programming and Operating Manual
17.2 Tool
Select a tool
A tool is selected in the program with the T function. Whether the new tool is immediately loaded with the T function or with
M6 depends on the setting in MD22550 TOOL_CHANGE_MODE (new tool offset with the M function).
Value range of T
The T function can assume integer values from T0 (no tool) to T32000 (tool with the number 32000).
Up to 64 tools can be stored in the control system simultaneously.
Function Manual
176 6FC5397-7EP40-0BA0, 08/2013
Selection of the cutting edge when changing tool
When a new tool (new T number) has been programmed and the old one replaced, the following options are available for
you to select the cutting edge:
● The cutting edge number is programmed
● The cutting edge number is not programmed D1 is active automatically.
Note
The modified setting data will become effective with the next cutting edge selection.
Note
For representation in tables, it is assumed that geometry axes 1 to 3 are named X, Y, Z. The axis order (1st, 2nd and 3rd
geometry axis) but not the axis identifier determines the assignment between an offset and an axis.
Notes
● The influence of these two setting data only refers to tool lengths. The tool radius is not affected.
● If SD42940 TOOL_LENGTH_CONST is set not equal to 0 and the value in SD42950 TOOL_LENGTH_TYPE is 1 or 2,
the related table for the assigned tool type (milling or turning tool) applies in SD42940.
Example
SD42940 TOOL_LENGTH_CONST =18
SD42950 TOOL_LENGTH_TYPE =2
Explanation:
The active tool with the active D number always behaves as a turning tool in the length compensation (-> SD42950 =2).
The length assignment is performed in all planes G17 to G19 as for G18 (-> SD42940=18):
Length 1 -> X axis
Length 2 -> Z axis
if Y axis exists: Length 3 -> Y axis
The tool radius acts according to the actual tool type and the active plane.
Function Manual
178 6FC5397-7EP40-0BA0, 08/2013
17.5 Data table
17.5.1 Machine data
Number Identifier Name
Channel-specific
22360 TOOL_PARAMETER_DEF_MASK Definition of tool parameters
22550 TOOL_CHANGE_MODE New tool offsets with M function
18 Special functions
18.1 Multi-language support for the machine manufacturer's HMI data
In the SINUMERIK 808D ADVANCED control, the machine manufacturer's HMI data will support multiple languages in an
easy way.
You can access the following HMI data screen with the operations:
There are the following three types of multi-language support for the machine manufacturer's HMI data:
● No multi-language support
● Single file
● Multiple files
No multi-language support
This is the case for:
Function Manual
6FC5397-7EP40-0BA0, 08/2013 179
● Customized bitmaps
● User cycle bitmap file
● User cycle softkey index file
● User cycle parameter file
● EasyXLanguage scripts
In all languages, the same files are used since multi-language support for these files are unnecessary.
Single file
This is the case for:
● User cycle alarm file
● Extended user text file
● OEM MD description file
● PLC alarm texts
● OEM R variable name file
● Service planner task name file
For these files, the machine manufacturer can easily import or export all language files without changing the system
language. Files in different languages are distinguished by the file name. For example, for PLC alarm texts, the file name will
be in the format of:
alcu_<LANG>.txt
wherein, <LANG> stands for the real language abbreviations.
Note
A file in the incorrect file name format cannot be identified by the control and thus will not be active on the control.
Multiple files
This is the case for:
● OEM online help
● OEM manual
● OEM slideshow
For these files, the machine manufacturer can prepare all files for a certain language in a folder with the name <LANG>,
which stands for the real language abbreviations, and then copy them to the desired folder on the control.
Note
A folder in the incorrect folder name format cannot be identified by the control and thus will not be active on the control.
Function Manual
180 6FC5397-7EP40-0BA0, 08/2013
Language Code Language Code
French fra Turkish trk
Hungarian hun
1) Default languages already loaded on the control in the scope of delivery
A Siemens online help is available for your reference. You can press the key to call it:
Press on the PPU or to display it, or press to exit the screen of the online help.
Note
You must end the text by pressing the Enter key; otherwise the online help does not work properly.
The table below gives the detailed information about the commands you can use in your help texts:
Function Manual
6FC5397-7EP40-0BA0, 08/2013 181
Command Description
#{XE "BookmarkName"} Will create a bookmark named BookmarkName. The
command must be followed by an HL command, which will
be used as description in the help index. These bookmarks
will be displayed in the help content list.
#{HL{depth}} Defines a headline. The parameter {depth} defines the
{depth} = 1 - 5 headline depth.
#{NPAGE} Starts a new help page
#{BOOKMARK "BookmarkName"} Sets a hidden bookmark named BookmarkName, which
occurs in the help index. It can be used in the XREF
command to create a hyperlink.
#{XREF "BookmarkName"}{file name}{Display text of Will create a hyperlink in the help text. The destination
hyperlink} BookmarkName can be a bookmark created via
BOOKMARK or XE command.
#{BITMAP "no_ref.bmp"} Inserts a bitmap in the text.
#{SCOLOR {color}} Changes the color of the following text to the specified one
{color} = RED, ORANGE, BLACK, BLUE, GREEN,
YELLOW, WHITE
Second level:
Third level:
For details on how to name a first-level folder, see Section "Multi-language support for the
machine manufacturer's HMI data (Page 179)".
2. Copy the two first-level folders to the "OEM online help" folder. For how to find this folder, see
the subsequent steps.
3. Insert the USB stick into the USB interface at the front of the PPU.
4. Select the desired operating area.
+
Function Manual
182 6FC5397-7EP40-0BA0, 08/2013
5. Press these softkeys in succession to open the "USB" window.
6. Use this hardkey on the PPU to select one or more online help files, and then copy the file(s)
with the following:
7. Press this softkey, and then access the "HMI data" folder with the following:
Then select the "OEM online help" folder by using keys and .
Function Manual
6FC5397-7EP40-0BA0, 08/2013 183
Press this hardkey to access the "OEM online help" folder, and then enter the "manual"
folder, that is, the above-mentioned third-level folder.
Paste the copied file(s) under this folder with the following:
9. Press these two hardkeys on the PPU in succession. Then you can view your own online
→ help, as shown in the following example.
Function Manual
184 6FC5397-7EP40-0BA0, 08/2013
10. Choose a certain manual and press this hardkey to view the help content list.
Choose a certain help topic, and then press one of these two keys to view it.
or
Function Manual
6FC5397-7EP40-0BA0, 08/2013 185
11. If you have created a hyperlink in the online help text, press this softkey and then press these
two softkeys in succession to go to the linked target.
Second level:
Third level:
For details on how to name a first-level folder, see Section "Multi-language support for the
machine manufacturer's HMI data (Page 179)".
2. Copy the two first-level folders to the "OEM manual" folder. For how to find this folder, see the
subsequent steps.
3. Insert the USB stick into the USB interface at the front of the PPU.
4. Select the desired operating area.
+
Function Manual
186 6FC5397-7EP40-0BA0, 08/2013
5. Press these softkeys in succession to open the "USB" window.
6. Use this hardkey on the PPU to select one or more machine manufacturer's manual files, and
then copy the file(s) with the following:
7. Press this softkey, and then access the "HMI data" folder with the following:
Function Manual
6FC5397-7EP40-0BA0, 08/2013 187
8. Press this hardkey to access the "OEM manual" folder, and then enter the "manual" folder,
that is, the above-mentioned third-level folder.
Paste the copied file(s) under this folder with the following:
NOTICE
Poor performance of the system
Do not upload any manufacturer's file of a too large size; otherwise, the system performance will be reduced.
Note
M codes or T codes for calling user cycles must not be in the same program segment.
Function Manual
188 6FC5397-7EP40-0BA0, 08/2013
Calling cycles using the "T" function
Configure the parameters shown in below table to activate a T code for calling a standard cycle:
No. Name Unit Value Description
22550 TOOL_CHANGE_MODE - 0 Activating tool parameters with an M code
10717 T_NO_FCT_CYCLE[0] - "TOOL" Calling the standard cycle with M06
The format of the standard cycle is the same with that of M codes. The tool number for programming will be saved into
system variable $C_T.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 189
18.4 Display function
Displaying the part timer
The part timer is available for the SINUMERIK 808D ADVANCED to count the following time periods:
Time Corresponding system variable Description
Run time $AC_OPERATING_TIME Total time for running programs in AUTO mode
Cycle time $AC_CYCLE_TIME Run time of a selected program
Cutting time $AC_CUTTING_TIME Cutting time (G01, G02, G03) of a selected program
Setup time 1) $AN_SETUP_TIME Time elapsed since the last power-on with default
values
Power on time 1) $AN_POWERON_TIME Time elapsed since the last normal power-on
Remain time 2) - Remaining time for running the current program.
1) The remaining time has no corresponding system variable, and can be counted only after a cycle of a part program has
successfully run.
2) Both the setup time and the power on time are counted automatically after the controller has been powered on.
By default, the run time, the cycle time, the setup time and the power on time are displayed. The cutting time can only be
counted after being activated with MD27860:
No. Name Value Descriptions
27860 PROCESSTIMER_MODE Actual value Activation of counting for following program runtime:
● Run time
● Cycle time
● Cutting time
2. Press these two softkeys in succession. Then the time counter can be displayed counting
following:
3. Enter the desired operating mode and select the desired operating area.
→
4. After you press this softkey, the time counter can also be displayed counting the following:
Function Manual
190 6FC5397-7EP40-0BA0, 08/2013
Time Corresponding system variable Description
Required parts $AC_REQUIRED_PARTS Required parts to be counted.
Activated by setting MD27880 BIT0 = 1:
● BIT 1 = 0: if "Part count" = "Parts required", alarm or
interface DB3300.DBX4001.1 = 1
Parts in total $AC_TOTAL_PARTS Total number of counted parts.
Activated by setting MD27880 BIT 4 = 1:
● BIT 5 = 0: M02/M30 increases "Parts in total" to "1"
● BIT 5 = 1: the M code defined by MD27882 increases
"Parts in total" to "1"
● BIT 6 = 0/1: the counter does not work when "Program
test" in active
Part count $AC_ACTUAL_PARTS Parts actually counted.
Activated by setting MD27880 BIT 8 = 1:
● BIT 9 = 0: M02/M30 increases "Parts in total" to "1"
● BIT 9 = 1: the M code defined by MD27882 increases
"Parts in total" to "1"
● BIT 10 = 0/1: the counter does not work when
"Program test" in active
2. Press these two softkeys in succession. Then the part counter can be displayed counting
following:
3. Enter the desired operating mode and select the desired operating area.
→
4. Press these two keys in succession.
Then the part counter can also be displayed counting the following:
→
Note
All of the numbers that have been entered must be confirmed with the hardkey.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 191
18.5 Prog_Event function
With the Prog_Event function, two subroutine programs called "CYCPE1MA.SPF" and "CYCPE_MA.SPF" are triggered to be
executed at certain states such as the end of a program, NC reset, etc.. You must save the CYCPE1MA.SPF and
CYCPE_MA.SPF files under the cycle directory (N: \CMA).
Relevant parameters
MD No. Name Meaning Value
10366 HW_ASSIGN_DIG_FASTIN[0] Hardware assignment for the fast inputs 10101
10368 HW_ASSIGN_DIG_FASTOUT[0] Hardware assignment for the fast outputs 10101
Function Manual
192 6FC5397-7EP40-0BA0, 08/2013
DB2900 Signals from fast inputs and outputs
0 Input 3 Input 2 Input 1
4 Output 1
In a part program, you can set or reset the fast output via its corresponding variable. The system variable is $A_OUT[1].
For example:
Function Manual
6FC5397-7EP40-0BA0, 08/2013 193
18.7.1 Creating the extended user text file
The extended user text file is required for the display of respective screen texts, cycle messages and softkey texts.
Naming rule
almc_<LANG>.txt
Here "<LANG>" refers to the language denotation, for example, eng.
For details on how to name an extended user text file, see Section "Multi-language support for the machine manufacturer's
HMI data (Page 179)".
Examples
83000 "User%nCycles" // 2*9 ⇒ two lines. Each line with nine characters space
83002 "CYCLE10" // 9 ⇒ one line with nine characters space
Examples
S5.0.0\$83000\ > define a softkey (identifier: 83000) at the horizontal key 5.
S5.1.0\$83001\CN1(CYCLE100) > define a softkey (identifier: 83001) at the first vertical key of
the first level when pressing the horizontal key 5.
M17
Function Manual
194 6FC5397-7EP40-0BA0, 08/2013
18.7.3 Creating the user cycle parameter file
The user cycle parameter file (sc.com) file is required to define the help information and the parameters for the user cycle.
You can create the sc.com file with a text editor like the WordPad or Notepad.
Note
Separators, start and end identifiers must always be entered.
The lines 4, 6 and 15 can be left blank.
If no texts are stored with the $identifier, three question marks appear in the associated fields on the screen.
Example
//CN1(CYCLE100)
(R/0 99999.999//$83002)[$83003/DIA]
(R/0 99999.999//$83004)[$83005/DIAF]
(R/-9999.999 99999.999//$83004)[$83004/STAP]
(R/-9999.999 99999.999//$83025)[$83005/ENDP]
(R/0 99999.999//$83026)[$83006/MID]
Function Manual
6FC5397-7EP40-0BA0, 08/2013 195
(R/0 99999.999//$83027)[$83007/UX]
(I/*0 1 2/0/$83028)[$83008/MACH]/B CN1
(R/1 99999.999/1/$83029)[$83009/VRT]
M17
Naming rule
CYCLExxx.SPF
Here "xxx" refers to the cycle number. It must not exceed four digits.
Note
The name of a user cycle must not be same with that of a standard Siemens cycle. It is recommend to use a cycle number
with the range of 100 to 800.
Programming example
Create the program with a wordpad or notepad.
As a cycle screen always also transfers values as call parameters to the user cycle, the transfer interface is defined as
follows.
PROC CYCLE100(REAL DIA,REAL DIAF,REAL STAP,REAL ENDP,REAL MID,REAL UX,INT MACH,REAL VRT)
SAVE SBLOF DISPLOF
PROC is a keyword followed by the cycle name with the cycle number. All the transfer parameters for the screen are
contained within brackets with the data type and name separated by commas.
PROC CYCLE100(REAL DIA,REAL DIAF,REAL STAP,REAL ENDP,REAL MID,REAL
UX,INT MACH,REAL VRT) SAVE SBLOF DISPLOF
DEF REAL VAR1
IF $P_EP[X]<DIA GOTOF LL1
LL3:
IF DIAF>DIA GOTOF END2
START:
IF MACH==0 GOTOF ROUGHING1
IF MACH==1 GOTOF FINISHING
IF MACH==2 GOTOF ROUGHING1
DEF REAL VAR1
ROUGHING1:
R101=(DIA-DIAF)/2-UX
R102=R101/MID
R103=TRUNC(R102)
R104=0
VAR1=DIA
IF R103<=1 GOTOF ROUGHING2
LL2:
SBLON
G90 G0 X=VAR1 Z=STAP+2
G1 Z=ENDP
G91 X=MID
G0 G91 X=VRT Z=VRT
G90 G0 Z=STAP+2
SBLOF
VAR1=VAR1-2*MID
R104=R104+1
IF R104<=R103 GOTOB LL2
IF R104>R103 GOTOF ROUGHING2
ROUGHING2:
SBLON
Function Manual
196 6FC5397-7EP40-0BA0, 08/2013
G90 G0 X=DIAF+UX
G1 Z=ENDP
G0 G91X=VRT Z=VRT
G90 G0 X=DIA+2
Z=STAP+2
IF MACH==2 GOTOF FINISHING
SBLOF
RET
FINISHING:
SBLON
G0 X=DIAF
G1 Z=ENDP
G1 X=DIA+VRT
G0 G91X=VRT Z=VRT
G90 Z=STAP+2
SBLOF
RET
LL1:
IF $P_EP[Z]<STAP GOTOF END1
GOTOB LL3
END1:
SETAL(65000)
STOPRE
M0
RET
END2:
SETAL(65001)
STOPRE
M0
RET
Naming rule
alc_<LANG>.txt
Here "<LANG>" refers to the language denotation, for example, eng.
For details on how to name a user cycle alarm file, see Section "Multi-language support for the machine manufacturer's HMI
data (Page 179)".
Examples
65000 "Current tool position is incorrect" // 34 ⇒ one lines with thirty-four characters space
65001 "DIAF is bigger than DIA" // 23 ⇒ one line with twenty-three characters space
Function Manual
6FC5397-7EP40-0BA0, 08/2013 197
18.7.6 Creating the user cycle bitmap file
The cycle icons must be stored as bitmap files (*.bmp) with a maximum size of 224 * 224 pixels in 16 colors.
The icon name must begin with an uppercase/lowercase "C" and its length must not exceed 32 characters including the file
extension (e.g. CN1.bmp).
Note
If 16 colors are not sufficient for the display, you can also use 24-bit color depth bitmaps.
Then multi-select the cov.com and sc.com files with and copy them with .
→
5. Press this softkey and access the folder "HMI data" > "User cycle files".
Replace the empty files with the following:
Function Manual
198 6FC5397-7EP40-0BA0, 08/2013
4. Press these two softkeys in succession.
Then select a user cycle alarm file (for example, alc_eng.txt) with and copy it with
→
.
5. Press this softkey and access the folder "HMI data" > "User cycle files" > "User cycle alarm file".
Then paste the file with the following:
Then select a bitmap file (for example, cn1.bmp) with and copy it with .
→
5. Press this softkey and access the folder "HMI data" > "User cycle files" > "User cycle bitmap
file".
Then paste the file with the following:
Function Manual
6FC5397-7EP40-0BA0, 08/2013 199
4. Press these two softkeys in succession.
Then select a user cycle file (for example, CYCLE100) with and copy it with .
→
5. Press this softkey and then paste the file with the following:
.→
Then select an extended user text file (for example, almc_eng.txt) with and copy it with
→
.
5. Press this softkey and access the folder "HMI data" > "Extended user text file".
Then paste the file with the following:
Note
After you import the cov.com file, sc.com file, alc_xxx.txt file, and almc_xxx.txt file into the control, a message appears,
prompting you to restart the HMI. Then press to restart the HMI so that the new data can be active.
Function Manual
200 6FC5397-7EP40-0BA0, 08/2013
18.7.8 Call the created user cycle
After you transfer all the files necessary for your own cycle to the control system, the cycle is created successfully. Then you
3. Set the parameters as desired, and then press one of the following two softkeys.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 201
18.7.9 Editing the user cycle screens
You can edit the softkeys, identifiers, bitmaps or parameters for user cycles.
To do so, export the relevant files and edit them on a PC. After that, import them back to the respective folders and restart
the control system.
In the factory setting, the MD description files in the two default languages are prepared on the control but invisible to the
machine manufacturer.
The machine manufacturer can load files of this type only after modifying the description of at least one of their MDs.
The detailed procedure is as follows:
1. Select the desired operating area.
+
2. Press these two softkeys in succession.
Then select a certain MD with keys and , and then press the following:
→
3. In the following dialog, edit the description text of the MD as desired, for example:
4. Access the "OEM MD description file" folder by performing the steps mentioned above.
At this time, a file containing the change log in the corresponding language exists in the folder.
Function Manual
202 6FC5397-7EP40-0BA0, 08/2013
5. Press these two softkeys in succession to copy the file and then open the desired window.
In the opened window, paste the file with the following:
→
In the factory setting, the R variable name files in the two default languages are prepared on the control but invisible to the
machine manufacturer.
The machine manufacturer can load files of this type only after defining the name of at least one of their R variables.
The detailed procedure is as follows:
Function Manual
6FC5397-7EP40-0BA0, 08/2013 203
1. Select the desired operating area.
3. In the following dialog, define the name of the R variable as desired, for example:
4. Access the "OEM R variable name file" folder by performing the steps mentioned above.
At this time, a file containing the change log in the corresponding language exists in the folder.
5. Press these two softkeys in succession to copy the file and then open the desired window.
In the opened window, paste the file with the following:
→
Function Manual
204 6FC5397-7EP40-0BA0, 08/2013
18.10 Generating user dialogs using customized EasyXLanguage scripts
18.10.1 Scope of functions
Overview
The "Generate user dialogs" function offers an open structure and enables the user to develop customer-specific and
application-specific HMI interfaces.
The SINUMERIK 808D ADVANCED offers an XML-based script language for generating user dialogs.
This script language makes it possible to display machine-specific menus and dialog forms in the <CUSTOM> operating
Use
The defined XML instructions offer the following properties:
1. Display dialogs containing the following elements:
– Softkeys
– Variables
– Texts and help texts
– Graphics and help displays
2. Call dialogs by:
– Pressing the corresponding softkeys
3. Restructure dialogs dynamically:
– Edit and delete softkeys
– Define and design variable fields
– Insert, exchange, and delete display texts (language-dependent or language-neutral)
– Insert, exchange, and delete graphics
4. Initiate operations in response to the following actions:
– Displaying dialogs
– Inputting values (variables)
– Selecting a softkey
– Exiting dialogs
5. Data exchange between dialogs
6. Variables
– Read (NC, PLC and user variables)
– Write (NC, PLC and user variables)
– Combine with mathematical, comparison or logic operators
7. Execute functions:
– Subprograms
– File functions
– PI services
8. Apply protection levels according to user classes
The valid elements (tags) for the script language are described in Section "XML identifier (Page 208)".
Note
The following section is not intended as a comprehensive description of XML (Extensible Markup Language). Please refer to
the relevant specialist literature for additional information.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 205
18.10.2 Fundamentals of configuration
Configuration files
The defining data for new user interfaces are stored in configuration files. These files are automatically interpreted and the
result displayed on the screen. Configuration files (EasyXLanguage scripts) are included in the "...\examples\easyXL" folder
of the Toolbox.
An XML editor or another form of text editor can be used to generate the configuration files.
Note
No distinction is made between upper and lower case letters.
Start menu
The start menu is defined by the name "main" in the "xmldial.xml" file. The start menu is used to initiate your own operating
sequences.
Loading your own dialogs or additional softkey bars can be linked with the main menu. Additional actions can be performed
using these softkey bars.
, , , , + , , or
Function Manual
206 6FC5397-7EP40-0BA0, 08/2013
18.10.3 Configuration files (EasyXLanguage)
The generated configuration files must be copied from a USB stick to the <SYSTEM> operating area ( + )→
→ menu → "HMI data" → "EasyXLanguage scripts" folder. See the screen below:
Note
As soon as there is an "xmldial.xml" script file in the "EasyXLanguage scripts" folder, you can start this user dialog in the
After the initial copying process, the control system must be reset via the <SYSTEM> operating area ( + )→
→ → "Standard power-up".
The configured softkey menus are displayed when the <CUSTOM> operating area ( ) is called. This enables the user
to operate the dialog forms which have been configured.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 207
Note
If configured and programmed dialogs need to be used at the same time, the script language must be used to call the
programmed dialogs. The functions required for this purpose are described in Section "Predefined functions (Page 237)".
Overview
A configuration file consists of the following elements:
● Description of the "main" start menu with start softkeys
● Definition of dialogs
● Definition of variables
● Description of the blocks
● Definition of softkey bars
Function Manual
208 6FC5397-7EP40-0BA0, 08/2013
<DialogGui>
…
<FORM name ="Hello_World">
<INIT>
<CAPTION>Hello World</CAPTION>
</INIT>
...
</FORM>
</DialogGui>
Instructions
The following instructions can be used for executing conditional instructions and loop controls:
● For loop
● While loop
● Do with loop
● Conditional processing
● Switch and case instructions
● Operator controls in a dialog form
● Softkey descriptions
● Define variables
For a detailed description of instructions, see Section "Instruction/identifier description (Page 209)".
Note
Attribute values that are in quotation marks "<...>" should be replaced by the currently used expressions.
Example:
<DATA_LIST action="read/write/append" id="<list name>">
is programmed as follows:
<DATA_LIST action="read/write/append" id="my datalist">
Function Manual
6FC5397-7EP40-0BA0, 08/2013 209
Tag identifier Meaning
DATA The tag enables the NC, PLC, and GUD data to be directly written to.
The "Addressing components (Page 219)" section contains details on address formation.
Attribute:
● name
Variable address
Tag value:
All alphanumeric terms are approved as tag values. If a value is to be written from a local
variable directly, the $ replacement operator preceding the name of the local variable
should be used.
Syntax:
<DATA name="<variable name>"> value </DATA>
Example:
<DATA name = "plc/mb170"> 1 </DATA>
…
<LET name = "tempVar"> 7 </LET>
<!— the contents of the local variables "tempVar" are written to
bit memory byte 170 →
<DATA name = "plc/mb170">$tempVar</DATA>
DATA_LIST The tag enables the listed machine data to be saved or restored.
Up to 20 temporary data lists can be created.
Attributes:
● action
read– the values of the listed variables are stored in a temporary memory
append– the values of the listed variables are added to an existing list
write– the backed up values are copied to the relevant machine data
● id
The identifier is used to identify the temporary memory
Syntax:
<DATA_LIST action="<read/write/append>" id="<list name>">
NC/PLC Address compilation
</DATA_LIST>
Example:
<DATA_LIST action ="read" id="<name>">
nck/channel/parameter/r[2]
nck/channel/parameter/r[3]
nck/channel/parameter/r[4]
$MN_USER_DATA_INT[0]
…
</ DATA_LIST>
<DATA_LIST action ="write" id="<name>" />
ELSE Instruction for situations where the condition has not been met (IF, THEN, ELSE)
Function Manual
210 6FC5397-7EP40-0BA0, 08/2013
Tag identifier Meaning
FORM The tag contains the description of a user dialog. The relevant tags are described in the
section on generating menus and dialog forms.
Syntax:
<FORM name="<dialog name>" color="#ff0000">
Attributes:
● color
Background color of the dialog form (color coding, see Section Color coding
(Page 218))
– Default white
● name
Identifier of the form
● xpos
X-position of the top left corner of the dialog box (optional)
● ypos
Y position of the top left corner (optional)
● width
Extension in the X direction (in pixels) (optional)
● height
Extension in the Y direction (in pixels) (optional)
HMI_RESET The tag initiates an HMI restart.
The interpretation is cancelled after this operation.
IF Conditional statement (IF, THEN, ELSE)
The THEN and ELSE tags are enclosed in the IF tag.
The condition that is executed in the CONDITION tag follows the IF tag. The further
processing of the instructions depends upon the result of the operation. If the function
result is true, the THEN branch is executed and the ELSE branch is skipped. If the result
of the function is false, the parser executes the ELSE branch.
Syntax:
<IF>
<CONDITION> Condition != 7 </CONDITION>
<THEN>
Instruction for the case: Condition fulfilled
</THEN>
<ELSE>
Instruction for the case: Condition not fulfilled
</ELSE>
</IF>
Example:
<IF>
<CONDITION> "plc/mb170" != 7 </CONDITION>
<THEN>
<OP> "plc/mb170" = 7 </OP>
…
</THEN>
<ELSE>
<OP> "plc/mb170" = 2 </OP>
…
</ELSE>
</IF>
Function Manual
6FC5397-7EP40-0BA0, 08/2013 211
Tag identifier Meaning
INCLUDE The instruction includes an XML description.
(see also DYNAMIC_INCLUDE in this table)
Attribute:
● src
Contains the path name.
Syntax:
<?INCLUDE src="<Path name>" ?>
LET The instruction creates a local variable under the specified name.
Fields:
Using the attribute dim (dimension) single or two-dimensional fields can be created. The
field index is used to address the individual field elements.
For a two-dimensional field, initially the line index is specified and then the column index.
● Single-dimensional field:
Indices 0 to 4
● Two-dimensional field:
Index line 0 to 3 and index column 0 to 5
Attributes:
● name
Variable name
● type
The variable type can be an integer (INT), double (DOUBLE), float (FLOAT) or string
(STRING). If there is no type instruction specified, the system creates an integer
variable.
<LET name = "VAR1" type = "INT" />
● permanent
If the attribute is set to true, the variable value is saved permanently. This attribute is
only effective for a global variable.
● dim
The following number of field elements must be specified. For a two-dimensional field,
the second dimension is specified after the first dimension separated by a comma.
A field element is accessed via the field index, which is specified in square brackets
after the variable name.
name[index] or name[row,column]
– Single-dimensional field: dim="<Number of elements>"
– Two-dimensional field: dim="<Number of lines>,<number of columns>"
Non-initialized field elements are pre-assigned with "0".
Function Manual
212 6FC5397-7EP40-0BA0, 08/2013
Tag identifier Meaning
LET Continued Example:
Single-dimensional field:
<let name="array" dim="10"></let>
Two-dimensional field:
<let name="list_string" dim="10,3" type="string"></let>
Pre-assignment:
A variable can be initialized with a value.
<LET name = "VAR1" type = "INT"> 10 </LET>
If values comprising NC or PLC variables are saved in a local variable, the assignment
operation automatically adapts the format to that of the variables which have been loaded.
● Pre-assignment for a string variable:
Texts containing more than one line can be assigned to a string variable if the
formatted text is transferred as a value. If a line is to end with a line feed <LF> , the
characters "\\n" should be added at the end of the line.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 213
Tag identifier Meaning
MSGBOX The instruction opens a message box whose return value can be used for branching.
Syntax:
<MSGBOX text="<Message>" caption="<caption>" retvalue="<variable
name>" type="<button type>" />
Attributes:
● text
Text
● caption
Header
● retvalue
Name of the variables to which the return value is copied:
1 – OK
0 – CANCEL
● type
Acknowledgement options:
"BTN_OK"
"BTN_CANCEL"
"BTN_OKCANCEL"
If an alarm number is used for the "text" or "caption" attribute, the message box displays
the text which is saved for the number.
Example:
<MSGBOX text="Test message" caption="Information"
retvalue="result" type="BTN_OK" />
OP The tag executes the specified operations.
For the purpose of accessing the NC, PLC, and drive data, the complete variable name
should be placed in quotation marks.
PLC: "PLC/MB170"
NC: "NC/Channel/…"
Example:
<LET name = "tmpVar" type="INT"> </LET>
<OP> tmpVar = "plc/mb170" </OP>
<OP> tmpVar = tmpVar *2 </OP>
<OP> "plc/mb170" = tmpVar </OP>
Character string processing:
The operation instruction is able to process character strings and assign the results to the
string variable specified in the equation.
The identifier _T should be placed at the start as a means of identifying text terms.
Formatting of variable values is also possible. The identifier _F should be placed at the
start of the formatting regulation, followed by the format instruction. The address is then
specified for the variable.
Example:
<LET name="buffer" type="string"></LET>
…
…
…
<OP> buffer = _T"unformatted value R0= " +
"nck/Channel/Parameter/R[0]" + _T" and " + _T"$$85051" + _T"
formatted value R1 " + _F%9.3f"nck/Channel/Parameter/R[1]" </OP>
Function Manual
214 6FC5397-7EP40-0BA0, 08/2013
Tag identifier Meaning
PASSWORD The tag opens a dialog for entering the password.
Once the entry has been confirmed, the character string is available in the specified
reference variable.
Syntax:
<PASSWORD refVar ="<variable name>" />
Attribute:
● refVar
Name of the reference variable
Example:
<PASSWORD refvar="plc/mw107" />
POWER_OFF A message prompts the operator to switch the machine off. The message text is
permanently saved in the system.
PRINT The tag outputs a text in the dialog line or copies the text to the variable specified.
If the text contains formatting identifiers, the variable values are inserted at the
appropriate places.
Syntax:
<PRINT name="Variable name " text="text %Formatting "> Variable, …
</PRINT>
<PRINT text="text %Formatting"> Variable, … </PRINT>
Attributes:
● name
Name of the variable where the text is to be stored (optional)
● text
Text
Formatting:
The character "%" causes the variable specified as the value to be formatted.
%[Flags] [Width] [.decimal places] type
● Flags:
Optional character for defining output formatting:
– Right-justified or left-justified ("-") for left-justified
– Add leading zeros ("0")
– Fill with blanks
● Width:
The argument defines the minimum output width for a non-negative number. If the
value to be output has fewer places than the argument defined, the missing spaces
are filled with blanks.
● Decimal places:
With floating point numbers, the optional parameter defines the number of decimal
places.
● Type:
The type character defines which data formats are transferred for the print instruction.
These characters need to be specified.
– d: Integer value
– f: Floating point number
– s: String
Function Manual
6FC5397-7EP40-0BA0, 08/2013 215
Tag identifier Meaning
PRINTContinued Values:
Number of variables whose values are to be inserted into the text.
The variable types must match the corresponding type identifier for the formatting
instruction and must be separated from one another using a comma.
Example:
Output of a text in the information line
<PRINT text="Infotext" />
Output of a text with variable formatting
<LET name="trun_dir"></LET>
<PRINT text="M%d">trun_dir</PRINT>
Output of a text in a string variable with variable formatting
<LET name="trun_dir"></LET>
<LET name="str" type="string" ></LET>
<print name="str" text="M%d ">trun_dir</print>
STOP Interpretation is cancelled at this point.
SWITCH The SWITCH instruction describes a multiple choice. A term is evaluated once and
compared with a number of constants. If the expression matches the constants, the
instructions are executed within the CASE instruction.
The DEFAULT instruction is executed when none of the constants match the expression.
Syntax:
<SWITCH>
<CONDITION> Value </CONDITION>
<CASE value="Constant 1">
Instructions
…
</CASE>
<CASE value="Constant 2">
Instructions
…
</CASE>
<DEFAULT>
Instructions
…
</DEFAULT>
</SWITCH>
THEN Operation, if the condition has been fulfilled (IF, THEN, ELSE)
Function Manual
216 6FC5397-7EP40-0BA0, 08/2013
Tag identifier Meaning
FOR For loop
for (initialization; test; continuation) instruction(s)
Syntax:
<FOR>
<INIT>…</INIT>
<CONDITION>…</CONDITION>
<INCREMENT>…</INCREMENT>
Instructions
…
</FOR>
The For loop is executed as follows:
1. Evaluation of the term initialization (INIT).
2. Evaluation of the term test (CONDITION) as a Boolean term.
If the value is false, the For loop is ended.
3. Execution of the following instructions.
4. Evaluation of the term continuation (INCREMENT)..
5. Continue with 2.
All the variables used within the INIT, CONDITION, and INCREMENT branches should be
created outside the FOR loop.
Example:
<LET name = "count">0</LET>
<FOR>
<INIT>
<OP> count = 0</OP>
</INIT>
<CONDITION> count <= 7 </CONDITION>
<INCREMENT>
<OP> count = count + 1 </OP>
</INCREMENT>
<OP> "plc/qb10" = 1+ count </OP>
</FOR>
WAITING The tag waits for the component to undergo a hot restart after an NC reset.
Attributes:
● WAITINGFORNC = "TRUE" - the system waits for the NC to restart
Syntax:
<WAITING WAITINGFORNC = "TRUE"/>
Function Manual
6FC5397-7EP40-0BA0, 08/2013 217
Tag identifier Meaning
WHILE WHILE loop
WHILE (Test)
Instruction
Syntax:
<WHILE>
<CONDITION>…</CONDITION>
Instructions
…
</WHILE>
The While loop is used to execute a sequence of instructions repeatedly while a condition
is met. This condition is tested before the sequence of instructions is executed.
Example:
<WHILE>
<CONDITION> "plc/ib9" == 0 </CONDITION>
<DATA name = "PLC/qb11"> 15 </DATA>
</WHILE>
DO_WHILE Do while loop
DO
Instructions
WHILE (Test)
Syntax:
<DO_WHILE>
Instructions
…
<CONDITION>…</CONDITION>
</DO_WHILE>
The Do while loop comprises a block of instructions and a condition. The code within the
instruction block is executed first, and then the condition is analyzed. If the condition is
true, the function executes the code section again. This is continuously repeated until the
condition is false.
Example:
<DO_WHILE>
<DATA name = "PLC/qb11"> 15 </DATA>
<CONDITIION> "plc/ib9" == 0 </CONDITION>
</DO_WHILE>
Function Manual
218 6FC5397-7EP40-0BA0, 08/2013
The following characters are affected:
Character Notation in XML
< <
> >
& &
" "
' '
18.10.6.5 Operators
The operation instruction processes the following operators:
Operator Meaning
= Assignment
== Equal to
<, < Less than
>, > Greater than
<=, <= Less than or equal to
>=, >= Greater than or equal to
| OR operation in bits
|| Logic OR operation
&, & AND operation in bits
&&, && Logic AND operation
+ Addition
- Subtraction
* Multiplication
/ Division
! Not
!= Not equal to
Operation instructions are processed from left to right. It may make sense to place terms in parentheses under certain
circumstances in order to define the priority for executing subterms.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 219
Mx.b Bit memory
Vx.b Variable
B Byte
W Word
D Double word
Data format identification is not applicable to bit addressing.
Address x:
Valid S7-200 address identifier
Bit addressing:
b – Bit number
Examples:
<data name = "plc/mb170">1</data>
<data name = "i0.1"> 1 </data>
<op> "m19.2" = 1 </op>
Function Manual
220 6FC5397-7EP40-0BA0, 08/2013
Direct addressing of the axis:
<DATA name ="$MA_CTRLOUT_MODULE_NR[0, AX1] ">1</DATA>
…
…
Indirect addressing of the axis:
<LET name ="axisIndex"> 1 </LET>
<DATA name ="$MA_CTRLOUT_MODULE_NR[0, AX$axisIndex] ">1</DATA>
by the system after the <CUSTOM> operating area ( ) has been activated. Further menu branches and dialog-box
activation can be defined within the tag.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 221
Tag identifier Meaning
FORM This tag contains the description of a user dialog.
Attributes:
● color
Background color of the dialog box (color coding, see Chapter, color coding)
● name
Identifier of the form
● xpos
X-position of the top left corner of the dialog box (optional)
● ypos
Y position of the top left corner (optional)
● width
Extension in the X direction (in pixels) (optional)
● height
Extension in the Y direction (in pixels) (optional)
Dialog messages:
● INIT
● PAINT
● TIMER
● CLOSE
● FOCUS_IN
FORM continued Syntax:
<FORM name = "<dialog name>" color = "#ff0000">
Example:
<FORM name = "R-Parameter">
<INIT>
<DATA_ACCESS type = "true" />
<CAPTION>R - Parameter</CAPTION>
<CONTROL name = "edit1" xpos = "322" ypos = "34" refvar =
"nck/Channel/Parameter/R[1]" />
<CONTROL name = "edit2" xpos = "322" ypos = "54" refvar =
"nck/Channel/Parameter/R[2]" />
<CONTROL name = "edit3" xpos = "322" ypos = "74"
</INIT>
<PAINT>
<TEXT xpos = "23" ypos = "34">R - Parameter 1</TEXT>
<TEXT xpos = "23" ypos = "54">R - Parameter 2</TEXT>
<TEXT xpos = "23" ypos = "74">R - Parameter 3</TEXT>
</PAINT>
</FORM>
INIT Dialog box message
The tag is executed immediately after the dialog box is generated. All the input elements
and hotlinks for the dialog form should be created here.
Function Manual
222 6FC5397-7EP40-0BA0, 08/2013
Tag identifier Meaning
FOCUS_IN Dialog box message
The tag is called if the system places the focus on a control. In order to identify the control,
the system copies the name of the control to variable $focus_nameand the value of the
attribute item_data to variable $focus_item_data. The system creates the variables
automatically.
This message can be used, for example, to output images depending on the focus position.
Example:
<focus_in>
<PRINT text="focus on filed:%s, %d">$focus_name,
$focus_item_data </PRINT>
</focus_in>
PAINT Dialog box message
The tag is executed when the dialog box is displayed. All the texts and images which are to
be displayed in the dialog box should be specified here.
Further, the tag is executed if the system identifies that parts of the dialog box are to be
redisplayed. For example, this can be initiated by closing high-level windows.
TIMER Dialog box message
The tag is executed cyclically.
Each form is assigned a timer that initiates that the timer - tag is executed approx. every 100
ms.
CAPTION The tag contains the title of the dialog box.
This tag should be used within the INIT tag.
Syntax:
<CAPTION>Titel</CAPTION>
Example:
<CAPTION>my first dialogue</CAPTION>
CLOSE Dialog box message
This tag is executed before the dialog box is closed.
CLOSE_FORM The tag closes the active dialog.
This instruction is only necessary if it involves a cycle dialog that is used in the program
editor area. Generally, dialogs are automatically managed and do not have to be explicitly
closed.
Syntax:
<CLOSE_FORM/>
Example:
<softkey_ok>
<caption>OK</caption>
<CLOSE_FORM />
<navigation>main_menu</navigation>
</softkey_ok>
Function Manual
6FC5397-7EP40-0BA0, 08/2013 223
Tag identifier Meaning
CONTROL The tag is used to generate control elements.
Syntax:
<CONTROL name = "<control name>" xpos = "<X position>" ypos = "<Y
position>" refvar = "<NC variable>" hotlink = "true" format =
"<format>" />
Attributes:
● name
Identifier of the field.
The identifier simultaneously represents a local variable, and must not be used a
multiple number of times in the form.
● xpos
X position of the top left corner
● ypos
Y position of the top left corner
● fieldtype
Field type
If no type is specified, the field is set as an edit field.
– edit
Data can be changed
– readonly
Data cannot be changed
combobox
The field displays the corresponding identifiers instead of numerical values.
If the field type "combobox" is selected, then the expressions to be displayed must
also be assigned to the field.
The <ITEM> TAG should be used for this purpose.
The combo box saves the index of the currently selected text in the variable
belonging to the control (see the attribute refvar).
– progressbar
A progress bar with a value range of 0 to 100 appears.
The valley value and peak value properties can be used to adapt the value range to
the data to be displayed.
Function Manual
224 6FC5397-7EP40-0BA0, 08/2013
Tag identifier Meaning
CONTROL continued ● fieldtype
– listbox
The field type generates an empty list box control.
Using the tag <ITEM> a list box element can be inserted in the list box.
The ITEM attribute value allows this element to be assigned a unique value.
For example, this can be used to identify the element.
Parameters width and height specify the width and height of the list box.
After the control has been created, additional list box elements can be inserted using
the functions AddItem, InsertItem or LoadItem.
– graphicbox
The field type generates a 2d broken line graphic control.
Using the tag <ITEM> a graphic element can be inserted into the control.
Parameters width and height specify the width and height of the box.
After the control has been created, additional elements can be inserted using the
functions AddItem or InsertItem. The parameter itemdata is not evaluated for this
control.
– itemlist
The field type generates a static control, which displays the corresponding identifier
instead of numerical values.
The <ITEM> tag can be used to assign an identifier to the field.
● item_data
A user-specific integer value can be assigned to the attribute. This value is given as part
of the FOCUS_IN message for identifying the focus field.
● refvar
Identifier of the reference variable that can be linked to the field (optional).
● hotlink = "TRUE" " If the value of the reference variable changes, then the field is
automatically updated (optional).
● format
The attribute defines the display format of the specified variable.
Formatting data, see print-Tag (optional).
Function Manual
6FC5397-7EP40-0BA0, 08/2013 225
Tag identifier Meaning
CONTROL continued Attributes:
● time
specifies the data refresh rate (optional).
The following specifications are possible:
– super fast
Refresh time < 100 ms
– fast
Refresh time approx. 100 ms
– normal
Refresh time approx. 200 ms
– slow
Refresh time approx. 500 ms
● font
The attribute defines the font size used.
– 0: 8*8
– 1: 16*8
– 2: 24*16 (only numbers)
– 3: 8*8 double the character height
– 4: 16*8 double the character height
– 5: 24*16 double the character height (only numbers)
● color_bk
The attribute sets the background color of the control.
● color_fg
The attribute sets the foreground color of the control.
("color coding" see Section "Color coding (Page 218)")
● display_format
The attribute defines the processing format of the specified variable. This attribute must
be used when accessing a PLC float variable, as the access is realized by reading a
double word.
The following data formats are permitted:
– FLOAT
– INT
– DOUBLE
– STRING
Assigning expressions (e.g. text or graphic element to be displayed) to a list box, graphics
box or combo box:
Syntax:
<ITEM>Expression</ITEM>
<ITEM value ="<Value>">Expression</ITEM>
Function Manual
226 6FC5397-7EP40-0BA0, 08/2013
Tag identifier Meaning
CONTROL continued Example:
<CONTROL name = "button1" xpos = "10" ypos = "10" fieldtype = "
combobox ">
<ITEM>text1</ITEM>
<ITEM>text2</ITEM>
<ITEM>text3</ITEM>
<ITEM>text4</ITEM>
</CONTROL>
If any integer value is to be assigned to an expression, the attribute value = "value" should
be added to the tag.
Rather than consecutive numbers, the control variable now contains the item's assigned
value.
Example:
<CONTROL name = "button1" xpos = "10" ypos = "10" fieldtype = "
combobox ">
<ITEM value = "10">text1</ITEM>
<ITEM value = "20">text2</ITEM>
<ITEM value = "12">text3</ITEM>
<ITEM value = "1">text4</ITEM>
</CONTROL>
Example of a progress bar:
<CONTROL name = "progress1" xpos = "10" ypos = "10" width = "100"
fieldtype = "progressbar" hotlink = "true" refvar =
"nck/Channel/GeometricAxis/actProgPos[1]">
<PROPERTY min = "0" />
<PROPERTY max = "1000" />
</CONTROL>
Example, list box:
<let name="item_string" type="string"></let>
<let name="item_data" ></let>
Function Manual
6FC5397-7EP40-0BA0, 08/2013 227
Tag identifier Meaning
CONTROL continued Example, graphic box:
<CONTROL name= "graphic" xpos = "8" ypos="23" width="300"
height="352" fieldtype="graphicbox" />
● Adding elements:
Elements are added using the function additem or loaditem.
The following 2d elements can be used:
– Line - l(inc)
– Circle sector - c(ircle)
– Point - p(oint)
Structure of an element:
<Element type>; coordinates
● Line:
l; xs; ys; xe, ye
I - line marking
Xs - X start position
Ys - Y start position
Xe - X end position
Ye - Y end position
● Circle:
C, xs, ys, xe, ye, cc_x, cc_y, r
C - circular sector marking
Xs - X start position
Ys - Y start position
Xe - X end position
Ye - Y end position
Cc_x – X coordinate, circle center point
CC_y – Y coordinate circle center point
● Radius:
R
● Point:
P, x, y
P - point marking
X - X position
Y - Y position
● Deleting the graphic:
The content is deleted using the function empty.
Function Manual
228 6FC5397-7EP40-0BA0, 08/2013
Tag identifier Meaning
CONTROL continued Example:
<let name="item_string" type="string"></let>
<let name="s_z" type="double">100</let>
<let name="s_x" type="double">50</let>
<let name="itemdata"></let>
…
…
<control name= "gbox" xpos = "6" ypos="24" width="328" height="356"
fieldtype="graphicbox" />
…
…
<print name ="item_string" text="p; %f; %f">s_z, s_x</print>
<function name="control.additem">_T"gbox", item_string,
itemdata</function>
…
Example itemlist:
<CONTROL name = "itemlist1" xpos = "10" ypos = "10" fieldtype = "
itemlist">
<ITEM value = "10">text1</ITEM>
<ITEM value = "20">text2</ITEM>
<ITEM value = "12">text3</ITEM>
<ITEM value = "1">text4</ITEM>
</CONTROL>
HELP_CONTEXT This tag defines the help topic to be called. It should be programmed in the INIT block.
The name specified in the attribute is supplemented by the prefix XmlUserDlg_ and is
transferred to the help system. The associated structure of the help file should be taken
from the topic - generating an online help.
Sequence when activating the help system:
1. Press the "Info" key.
2. The dialog supplies the expression "my_dlg_help".
3. Parser converts the expression into "XmlUserDlg_my_dlg_help" .
4. Activating the help system.
5. Submitting the search term "XmlUserDlg_my_dlg_help".
Syntax:
<HELP_CONTEXT name="<context name>" />
Example:
...
<INIT>
...
<CAPTION>my dialogue</CAPTION>
<HELP_CONTEXT name="my_dlg_help" />
...
</INIT>
Function Manual
6FC5397-7EP40-0BA0, 08/2013 229
Tag identifier Meaning
DATA_ACCESS The tag controls the behavior of the dialog forms when user inputs are being saved.
The behavior should be defined within the INIT tag.
If the tag is not used, inputs are buffered in each case.
Exception: The attribute hotlink is set to true .
Attribute::
● type = "TRUE" – the input values are not buffered. The dialog form copies the input
values to the reference variables directly.
● type = "FALSE" – the values are only copied to the reference variable with the
UPDATA_DATA type = "FALSE" tag.
Example:
<DATA_ACCESS type = "true" />
MENU The tag defines a menu containing the softkey description and the dialog to be opened.
Attribute::
● name
Menu name
Syntax:
<MENU name = "<menu name>">
…
<open_form …>
…
<SOFTKEY …>
</SOFTKEY>
</MENU>
NAVIGATION This tag defines the menu to be called. This tag can only be set within a softkey block.
Syntax:
<NAVIGATION>menu name</NAVIGATION>
Example:
<menu name = "main">
<softkey POSITION="1">
<caption>sec. form</caption>
<navigation>sec_menu</navigation>
</softkey>
</menu>
Function Manual
230 6FC5397-7EP40-0BA0, 08/2013
Tag identifier Meaning
OPEN_FORM The tag opens the dialog form given under the name.
Attribute::
● name
Name of the dialog form
Syntax:
<OPEN_FORM name = "<form name>" />
Example:
<menu name = "main">
<open_form name = "main_form" />
<softkey POSITION="1">
<caption>main form</caption>
<navigation>main</navigation>
</softkey>
</menu>
<form name="main_form">
<init>
</init>
<paint>
</paint>
</form>
PROPERTY This tag can be used to define additional properties for an operator control.
Attributes:
● max= "<maximum value>"
● min= "<minimum value>"
● default = "<pre-assignment>"
● factor = "conversion factor"
● color_bk= "<background color coding>"
● color_fg= "<font color coding>"
● font = "<Font number>"
● password = "<true>" - entered character is displayed with "*"
● multiline = "<true>" - permits multi-line inputs in an edit control
● disable = "<true/false>" - locks/permits the input in an edit control
Example:
<CONTROL name = "progress1" xpos = "10" ypos = "10" width = "100"
fieldtype = "progressbar" hotlink = "true" refvar =
"nck/Channel/GeometricAxis/actProgPos[1]">
<PROPERTY min = "0" />
<PROPERTY max = "1000" />
</CONTROL>
<CONTROL name = "edit1" xpos = "10" ypos = "10">
<PROPERTY min = "20" />
<PROPERTY max = "40" />
<PROPERTY default = "25" />
</CONTROL>
Function Manual
6FC5397-7EP40-0BA0, 08/2013 231
Tag identifier Meaning
SOFTKEY The tag defines the properties and responses of a softkey.
Attributes:
● position
Number of the softkey. 1-8 horizontal softkeys, 9-16 vertical softkeys
The following additional actions can be defined within the softkey block:
● caption
● navigation
● update_controls
● function
Syntax:
<softkey position = "<1>">
…
…
</softkey>
TEXT The tag is used to display a text in the specified position.
If an alarm number is used, the dialog box displays the text which is saved for the number.
Syntax:
<TEXT xpos = "<X position>" ypos = "<Y position>"> Text </TEXT>
Attributes:
● xpos
X position of the top left corner
● ypos
Y position of the top left corner
● color
Text color (color coding)
Value:
Text to be displayed
Function Manual
232 6FC5397-7EP40-0BA0, 08/2013
Tag identifier Meaning
IMG The tag is used to display an image in the specified position. The BMP and PNG image
formats are supported.
Syntax:
<IMG xpos = "<X position>" ypos = "<Y position>" name = "<name>" />
Attributes:
● xpos
X position of the top left corner
● ypos
Y position of the top left corner
● name
complete path name
● transparent
Transparent color of the bitmap (see Chapter "Color coding")
Optional:
If the image display is to differ from the original size, the dimensions can be defined using
the attributes width and height.
● width
Width in pixels
● height
Height in pixels
Examples:
<IMG xpos = "20" ypos = "40" name = "f:/appl/test.bmp" />
<IMG xpos = "5" ypos = "23" name = "f:/appl/test.bmp" height =
"355" width = "550"/>
BOX The tag draws a rectangle at the specified position, colored as indicated.
Syntax:
<BOX xpos = "<X position>" ypos = "<Y position>" width = "<X
extension>" height = "<Y extension>" color = "<Color code>" />
Attributes:
● xpos
X position of the top left corner
● ypos
Y position of the top left corner
● width
Extension in X direction (in pixels)
● height
Extension in Y direction (in pixels)
● color
Color coding (for details on color coding, see chapter, Color coding)
Function Manual
6FC5397-7EP40-0BA0, 08/2013 233
Tag identifier Meaning
FUNCTION Function call
The tag executes the function body, which is specified under the attribute "name.
Attributes:
● name= "Name of the function body"
● return = "Variable name for saving the result of the function"
Values:
List of variables to be transferred to the function body. The variables must be separated by
a comma. A maximum of 10 parameters can be transferred.
It is also possible to specify constants or text expressions as call parameters. The identifier
_T should be placed at the start as a means of identifying text terms.
Syntax:
<FUNCTION name = "<function name>" />
Calling function expects a return value
<FUNCTION name = "<function name>" return = "<Variablenname>" />
Parameter transfer
<FUNCTION name = "<function name>"> var1, var2, var3 </FUNCTION>
<FUNCTION name = "<function name>"> _T"Text", 1.0, 1 </FUNCTION>
Examples:
See "FUNCTION_BODY".
Function Manual
234 6FC5397-7EP40-0BA0, 08/2013
Tag identifier Meaning
FUNCTION_BODY Function body
The tag contains the function body of a subfunction. The function body needs to be
programmed within the DialogGui tag.
Attributes:
● name = "Name of the function body"
● parameter = "Parameter list" (optional)
The attribute lists the transfer parameters that are required. The parameters must be
separated by a comma.
When the function body is called, the values of the parameters specified in the function
call are copied to the transfer parameters listed.
● return = "true"
If the attribute is set to true then the local variable $return is created. The function's
return value which is forwarded to the calling function on quitting the function should be
copied to this variable.
Syntax:
Function body without parameter
<FUNCTION_BODY name = "<function name>">
…
…
…
</ FUNCTION_BODY>
Function body with parameter
<FUNCTION_BODY name = "<function_name>" parameter = "<p1, p2, p3>">
…
<LET name = "tmp></LET>
<OP> tmp = p1 </OP>
…
</FUNCTION_BODY>
Function body with return value
<FUNCTION_BODY name = "<function_name>" parameter = "<p1, p2, p3>"
return = "true">
…
<LET name = "tmp></LET>
<OP> tmp = p1 </OP>
…
<OP> $return = tmp </OP>
</FUNCTION_BODY>
FUNCTION_BODY Example:
continued <function_body name = "test" parameter = "c1,c2,c3" return = "true">
<LET name = "tmp">0</LET>
<OP> tmp = c1+c2+c3 </OP>
<OP> $return = tmp </OP>
</function_body>
…
…
…
<LET name = "my_var"> 4 </LET>
<function name = "test" return = " my_var "> 2, 3,4</function>
<print text = "result = %d"> my_var </print>
…
…
Function Manual
6FC5397-7EP40-0BA0, 08/2013 235
Tag identifier Meaning
REQUEST The tag is used to add a variable to the cyclic reading service (hotlink). As a consequence,
the access time to variables, which are not linked to the control, is reduced.
If a function is to be called automatically when a value changes, then the name of the
function should be specified as an additional attribute
This tag is only processed within the INIT operation.
Attribute:
● name
Address identifier
Syntax:
<REQUEST name = "<NC-Variable>" />
UPDATE_CONTROLS The tag runs a comparison between the operator controls and the reference variables.
Attribute::
● type
The attribute defines the direction of the data comparison.
= TRUE – data is read from the reference variables and copied to the operator controls.
= FALSE – Data is copied from the operator controls to the reference variables.
Syntax:
<UPDATE_CONTROLS type = "<Direction>"/>
Example:
<SOFTKEY_OK>
< UPDATE_CONTROLS type="false"/>
</SOFTKEY_OK>
<caption>$$$field_name</caption>
Function Manual
236 6FC5397-7EP40-0BA0, 08/2013
18.10.9 Predefined functions
The script language offers various string processing and standard mathematical functions.
The function names listed below are reserved and cannot be overloaded.
Function name Meaning
String.cmp Two strings are compared with one another from a lexicographical
perspective.
The function gives a return value of zero if the strings are the same,
a value less than zero if the first string is smaller than the second
string or a value greater than zero if the second string is smaller than
the first string.
Parameter:
str1 - string
str2 - comparison string
Syntax:
<function name="string.cmp" return ="<int var>" >
str1, str2 </function>
Example:
<let name="rval">0</let>
<let name="str1" type="string">A brown bear hunts a
brown dog.</let>
<let name="str2" type="string">A brown bear hunts a
brown dog.</let>
Function Manual
6FC5397-7EP40-0BA0, 08/2013 237
Function name Meaning
String left The function extracts the first nCount character from string 1 and
copies this to the return variable.
Parameter:
str1 - String
nCount - Number of characters
Syntax:
<function name="string.left" return="<result
string>"> str1, nCount </function>
Example:
<let name="str1" type="string">A brown bear hunts a
brown dog.</let>
<let name="str2" type="string"></let>
Example:
<let name="str1" type="string">A brown bear hunts a
brown dog.</let>
<let name="str2" type="string"></let
Function Manual
238 6FC5397-7EP40-0BA0, 08/2013
Function name Meaning
String middle The function extracts the specified number of characters from string
1, starting from the iFirst index, and copies these to the return
variable.
Parameter:
str1 - string
iFirst - start index
nCount - number of characters
Syntax:
<function name="string.middle" return="<result
string>"> str1, iFirst, nCount </function>
Example:
<let name="str1" type="string">A brown bear hunts a
brown dog.</let>
<let name="str2" type="string"></let
Function Manual
6FC5397-7EP40-0BA0, 08/2013 239
Function name Meaning
String.remove The function removes all the substrings found.
Parameter:
string - string variable
remove string - substring to be deleted
Syntax:
<function name="string.remove"> string, remove
string </function>
Example:
<let name="index">0</let>
Syntax:
<function name="string.delete"> string, start index
, nCount </function>
Example:
<let name="str1" type="string">A brown bear hunts.
</let>
Function Manual
240 6FC5397-7EP40-0BA0, 08/2013
Function name Meaning
String.find The function searches the transferred string for the first match with
the substring.
If the substring is found, the function provides the index to the first
character (starting with zero) or, failing this, -1.
Parameter:
string - string variable
findstring - string to be found
Syntax:
<function name="string.find" return="<int val>">
str1, find string </function>
Example:
<let name="index">0</let>
<let name="str1" type="string">A brown bear hunts a
brown dog. </let>
<function name="string.find" return="index"> str1,
_T"brown" </function>
Result:
Index = 2
String.reversefind The function searches the transferred string for the last match with
the substring.
If the substring is found, the function provides the index to the first
character (starting with zero) or, failing this, -1.
Parameter:
string - string variable
find string - string to be found
Syntax:
<function name="string.reversefind" return="<int
val>"> str1, find string </function>
Example:
<let name="index">0</let>
<let name="str1" type="string">A brown bear hunts a
brown dog. </let>
<function name="string.reversefind" return="index">
str1, _T"brown" </function>
Result:
Index = 21
String.trimleft The function trims the starting characters from a string.
Parameter:
str1 - string variable
Syntax:
<function name="string.trimleft" > str1 </function>
Example:
<let name="str1" type="string"> test trim
left</let>
<function name="string.trimleft" > str1 </function>
Result:
str1 = "test trim left"
Function Manual
6FC5397-7EP40-0BA0, 08/2013 241
Function name Meaning
String.trimright The function trims the closing characters from a string.
Parameter:
str1 - string variable
Syntax:
<function name="string.trimright" > str1
</function>
Example:
<let name="str1" type="string"> test trim right
</let>
<function name="string.trimright" > str1
</function>
Result:
str1 = "test trim right"
sin The function calculates the sine of the value transferred in degrees.
Parameter:
double - angle
Syntax:
<function name="sin" return="<double val>"> double
</function>
Example:
<let name= "sin_val" type="double"></let>
<function name="sin" return="sin_val"> 20.0
</function>
cos The function calculates the cosine of the value transferred in
degrees.
Parameter:
double - angle
Syntax:
<function name="cos" return="<double val>"> double
</function>
Example:
<let name= "cos_val" type="double"></let>
<function name="cos" return="cos_val"> 20.0
</function>
tan The function calculates the tangent of the value transferred in
degrees.
Parameter:
double - angle
Syntax:
<function name="tan" return="<double val>"> double
</function>
Example:
<let name= "tan_val" type="double"></let>
<function name="tan" return="tan_val"> 20.0
</function>
Function Manual
242 6FC5397-7EP40-0BA0, 08/2013
Function name Meaning
arcsin The function calculates the arcsine of the value transferred in
degrees.
Parameter:
double - x in the range from -PI/2 to +PI/2
Syntax:
<function name="arcsin" return="<double val>">
double </function>
Example:
<let name= "arcsin_val" type="double"></let>
<function name="arcsin" return=" arcsin_val"> 20.0
</function>
arccos The function calculates the arccosine of the value transferred in
degrees.
Parameter:
double - x in the range from -PI/2 to +PI/2
Syntax:
<function name="arcos" return="<double val>">
double </function>
Example:
<let name= "arccos_val" type="double"></let>
<function name="arccos" return=" arccos_val"> 20.0
</function>
arctan The function calculates the arctan of the value transferred in
degrees.
Parameter:
double - arctan of y/x
Syntax:
<function name="arctan" return="<double val>">
double </function>
Example:
<let name= "arctan_val" type="double"></let>
<function name="arctan" return="arctan_val"> 20.0
</function>
dll.load The function loads an additional user DLL to the memory.
Parameter:
dll_name - DLL name
class_name - name of the function class
Syntax:
<function name="dll.load"> dll_name, class_name
</function>
Example:
<function name="dll.load"> _T"customer.dll",
_T"customer" </function>
Function Manual
6FC5397-7EP40-0BA0, 08/2013 243
Function name Meaning
dll.function The function calls a function from a user DLL. All parameters listed
after the parameter ID are transferred to the function called.
Parameter:
class_name - name of the function class
id - of the function
parameter - maximum seven function parameters (string variables)
Syntax:
<function name="dll.function"> class_name, id,
parameter1, parameter2</function>
Example
<function name="dll.function"> _T"customer", 290,
_T"par1", _T"par2"</function>
File processing
doc.readfromfile The function loads the contents of the file specified to a string
variable.
Attribute:
Return - name of the local variable
Parameter:
Progname - file name
Syntax:
<function name="doc.readfromfile" return="<string
var>"> progname </function>
Example:
<let name = "my_var" type="string" ></let>
<function name="doc.writetofile">_T"\spf\test.mpf",
my_var </function>
doc.remove The function removes the file specified from the directory.
Parameter:
progname - file name
Syntax:
<function name="doc.remove" > progname </function>
Example:
<function name="doc.remove">_T"\mpf\test.mpf"
</function>
Function Manual
244 6FC5397-7EP40-0BA0, 08/2013
Function name Meaning
doc.exist If the file exists, the function returns the value 1.
Parameter:
progname - file name
Syntax:
<function name="doc.exist" return="<int_var>" >
progname </function>
Example:
<let name ="exist">0</let>
<function name="doc.exist"
return="exist">_T"\mpf\test.mpf" </function>
ncfunc.select The function selects the program specified for execution. The
program must be stored in the NC file system.
Parameter:
progname - file name
Syntax:
<function name="ncfunc.select"> progname
</function>
Example:
<function name="ncfunc.select"> _T"\mpf\test.mpf"
</function>
Function Manual
6FC5397-7EP40-0BA0, 08/2013 245
18.11 Hot keys
The following functions can be carried out with certain key combinations on the full PPU keyboard:
Key combination Description
<ALT> + <X> Opens the machining operating area:
● +
<ALT> + <H> Calls the online help system
<ALT> + <L> Enables input of lowercase letters, with the following icon displayed in the tip area:
<ALT> + <S> Applicable only when the user interface language is Chinese
Calls the input method editor for entering Chinese characters
<=> Calls the pocket calculator.
Note that this function is not applicable in "MDA" mode.
<CTRL> + <B> Selects text in program blocks
<CTRL> + <C> Copies the selected text
<CTRL> + <D> Shows pre-defined slides on the screen
<CTRL> + <P> Captures screens
<CTRL> + <R> Restarts the HMI
<CTRL> + <S> Saves start-up archives
Increases the screen backlight brightness
<CTRL> +
Decreases the screen backlight brightness
<CTRL> +
Function Manual
246 6FC5397-7EP40-0BA0, 08/2013
19 Licensing in the SINUMERIK 808D ADVANCED
SINUMERIK 808D ADVANCED licensing
The PPU software on the CNC PPU has already been licensed in the factory before delivery.
Depending on specific requirements, factory licensing is available for the following machining types:
● SINUMERIK 808D ADVANCED T (Turning)
● SINUMERIK 808D ADVANCED M (Milling)
You can also purchase the following optional functions for the SINUMERIK 808D ADVANCED control system. To use the
functions, first activate them on the control via the HMI user interface.
● Additional axis (Page 249)
● Bidirectional LEC (Page 251)
● Manual Machine Plus (Page 252) (only for a turning variant)
● Transmit/Tracyl (Page 253)
● Gantry (BASIC) (Page 254)
Note
You can obtain the corresponding licenses from the Web License Manager (http://www.siemens.com/automation/license).
Requirements
The following prerequisites must be met when you assign a license to a piece of hardware via direct access and HMI user
interface:
● The control system is powered up.
● The login data for direct access (e.g. per CoL) is available:
– License number
– Dispatch note number
● The type of the control system is available.
● The CF card serial number from the CompactFlash Card system is available.
Note
Ensure that the CF card serial number displayed is just the one you want to make the assignment for. The assignment of a
license to a piece of hardware cannot be reversed via the Web License Manager.
Operating sequences
Function Manual
6FC5397-7EP40-0BA0, 08/2013 247
2 Press these three softkeys in succession. Then you can find the CF card serial number on the
displayed screen.
7. Confirm your input for the new license key with this softkey.
Note
For detailed information about activating the optional functions, refer to section "Activating the optional functions
(Page 249)".
Function Manual
248 6FC5397-7EP40-0BA0, 08/2013
19.2 Activating the optional functions
In this section, it's supposed that all optional functions are activated on a turning variant. The same activation process
applies to a milling variant.
If you have entered one or two license keys, the corresponding box is set to 1or 2, respectively
indicating that one or two additional axes are available. Otherwise, 0 is displayed in the box.
3. When one license is available, you can activate 0 or 1 additional axis by setting the
corresponding box respectively to 0 or 1.
When two licenses are available, you can activate 0, 1, or 2 additional axes by setting the
corresponding box respectively to 0, 1, or 2.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 249
4. Press this softkey, and a warm restart is triggered on the control system. After the restart is
finished, the corresponding software function is active.
After you assign one additional axis and set the relevant parameters correctly, the additional axis
name will be displayed in some operating areas, as shown in the following example.
Note
To use the additional axis function after activating it, set the following MDs first:
● MD10000[1]
● MD20070[3]/[4]
● MD20080[3]/[4]
When necessary, set the following MDs:
● MD30300
● MD30310
● MD30320
● MD30330
Function Manual
250 6FC5397-7EP40-0BA0, 08/2013
19.2.2 Bidirectional LEC
To activate the bidirectional LEC function, proceed as follows:
1. Select the desired operating area.
+
2. Press these three softkeys in succession. Then the following window is displayed.
If you have entered the license key of this function, the corresponding box is ticked, as shown
below.
3. Press this hardkey to activate the function. Then the corresponding box is ticked, as shown below.
4. Press this softkey, and a warm restart is triggered on the control system. After the restart is
finished, the corresponding software function is active.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 251
19.2.3 Manual Machine Plus
To activate the Manual Machine Plus function, proceed as follows:
1. Select the desired operating area.
+
2. Press these three softkeys in succession. Then the following window is displayed.
If you have entered the license key of this function, the corresponding box is ticked, as shown
below.
3. Press this hardkey to activate the function. Then the corresponding box is ticked, as shown below.
4. Press this softkey, and a warm restart is triggered on the control system. After the restart is
finished, the corresponding software function is active.
Function Manual
252 6FC5397-7EP40-0BA0, 08/2013
19.2.4 Transmit/Tracyl
To activate the Transmit/Tracyl function, proceed as follows:
1. Select the desired operating area.
+
2. Press these three softkeys in succession. Then the following window is displayed.
If you have entered the license key of this function, the corresponding box is ticked, as shown
below.
3. Press this hardkey to activate the function. Then the corresponding box is ticked, as shown below.
4. Press this softkey, and a warm restart is triggered on the control system. After the restart is
finished, the corresponding software function is active.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 253
19.2.5 Gantry (BASIC)
To activate the Gantry (BASIC) function, proceed as follows:
1. Select the desired operating area.
+
2. Press these three softkeys in succession. Then the following window is displayed.
If you have entered the license key of this function, the corresponding box is ticked, as shown
below.
3. Press this hardkey to activate the function. Then the corresponding box is ticked, as shown below.
4. Press this softkey, and a warm restart is triggered on the control system. After the restart is
finished, the corresponding software function is active.
Function Manual
254 6FC5397-7EP40-0BA0, 08/2013
19.3 Internet links
Overview of Internet links used:
No. Topic Address
1 Web License Manager http://www.siemens.com/automation/license
2 Siemens A&D Mall: Customer login http://mall.automation.siemens.com
3 Download server http://software-download.automation.siemens.com
→ )
● Printing on the CompactFlash Card system
License key The License Key is the "technical representative" of the sum of all the licenses that are
assigned to one particular piece of hardware, which is uniquely marked by its hardware serial
number.
Option One option is a SINUMERIK software product that is not contained in the basic version and
which requires the purchase of a license for its use.
Function Manual
6FC5397-7EP40-0BA0, 08/2013 255
Term Description
Product A product is marked by the data below within the license management of SINUMERIK
software products:
● Product designation
● Order number:
● License number
Trademarks
All names identified by ® are registered trademarks of Siemens AG. The remaining trademarks in this publication may be trademarks whose
use by third parties for their own purposes could violate the rights of the owner.
Disclaimer of Liability
We have reviewed the contents of this publication to ensure consistency with the hardware and software described. Since variance cannot
be precluded entirely, we cannot guarantee full consistency. However, the information in this publication is reviewed regularly and any
necessary corrections are included in subsequent editions.
Siemens AG
Industry Sector
Postfach 48 48
90026 NÜRNBERG