FB1 0309 en en-US
FB1 0309 en en-US
03/2009
6FC5397-0BP10-4BA0
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
with a safety alert symbol, indicates that minor personal injury can result if proper precautions are not taken.
CAUTION
without a safety alert symbol, indicates that property damage can result if proper precautions are not taken.
NOTICE
indicates that an unintended result or situation can occur if the corresponding information is not taken into
account.
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 device/system may only be set up and used in conjunction with this documentation. Commissioning and
operation of a device/system may only be performed by qualified personnel. Within the context of the safety notes
in this documentation qualified persons are defined as persons who are authorized to commission, ground and
label devices, systems and circuits in accordance with established safety practices and standards.
Proper use of Siemens products
Note the following:
WARNING
Siemens products may only be used for the applications described in the catalog and in the relevant technical
documentation. If products and components from other manufacturers are used, these must be recommended
or approved by Siemens. Proper transport, storage, installation, assembly, commissioning, operation and
maintenance are required to ensure that the products operate safely and without any problems. The permissible
ambient conditions must be adhered to. The information in the relevant documentation must be observed.
Trademarks
All names identified by ® are registered trademarks of the Siemens AG. The remaining trademarks in this
publication may be trademarks whose use by third parties for their own purposes could violate the rights of the
owner.
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.
SINUMERIK® Documentation
The SINUMERIK documentation is organized in three parts:
● General documentation
● User documentation
● Manufacturer/service documentation
Information on the following topics is available at
http://www.siemens.com/motioncontrol/docu:
● Ordering documentation
Here you can find an up-to-date overview of publications.
● Downloading documentation
Links to more information for downloading files from Service & Support.
● Researching documentation online
Information on DOConCD and direct access to the publications in DOConWEB.
● Compiling individual documentation on the basis of Siemens contents with the My
Documentation Manager (MDM), refer to http://www.siemens.com/mdm.
My Documentation Manager provides you with a range of features for generating your
own machine documentation.
● Training and FAQs
Information on our range of training courses and FAQs (frequently asked questions) is
available via the page navigation.
Target group
This publication is intended for:
● Project engineers
● Technologists (from machine manufacturers)
● System startup engineers (Systems/Machines)
● Programmers
Benefits
The function manual describes the functions so that the target group knows them and can
select them. It provides the target group with the information required to implement the
functions.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 3
Preface
Standard version
This documentation only describes the functionality of the standard version. Extensions or
changes made by the machine tool manufacturer are documented by the machine tool
manufacturer.
Other functions not described in this documentation might be executable in the control.
This does not, however, represent an obligation to supply such functions with a new control
or when servicing.
Further, for the sake of simplicity, this documentation does not contain all detailed
information about all types of the product and cannot cover every conceivable case of
installation, operation or maintenance.
Installation
Structure of this Function Manual:
● Inner title (page 3) with the title of the Function Manual, the SINUMERIK controls as well
as the software and the version for which this version of the Function Manual is
applicable and the overview of the individual functional descriptions.
● Description of the functions in alphabetical order (e.g. A2, A3, B1 etc.)
● Appendix with:
– List of abbreviations
– Fax template for feedback for documentation
– Overview
● Index of terms
Note
For detailed descriptions of data and alarm see:
• Machine and setting data:
Detailed description of machine data (only electronically on DOConCD or
DOConWEB)
• NC/PLC interface signals:
Function Manual Basic Functions; NC/PLC Interface Signals (Z1)
Function Manual Basic Functions; NC/PLC Interface Signals (Z2)
Function Manual Special Functions; NC/PLC Interface Signals (Z3)
• Alarms:
Diagnostics Manual
Basic Functions
4 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Preface
Data types
The following elementary data types are used in the control system:
Quantity structure
Explanations concerning the NC/PLC interface are based on the absolute maximum number
of sequential components:
● Mode groups (DB11)
● Channels (DB21, etc.)
● Axes/spindles (DB31, etc.)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 5
Preface
Technical Support
If you have any questions, please contact our hotline:
Europe/Africa
Phone +49 180 5050 - 222
Fax +49 180 5050 - 223
€0.14/min. from German landlines, cell phone prices may differ
Internet http://www.siemens.de/automation/support-request
Americas
Phone +1 423 262 2522
Fax +1 423 262 2200
E-mail mailto:[email protected]
Asia/Pacific
Phone +86 1064 757575
Fax +86 1064 747474
E-mail mailto:[email protected]
Note
You will find telephone numbers for other countries for technical support on the Internet:
http://www.automation.siemens.com/partner
Basic Functions
6 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Table of Contents
Preface ...................................................................................................................................................... 3
1 Various NC/PLC Interface Signals and Functions (A2) ............................................................................ 29
1.1 Brief description ...........................................................................................................................29
1.2 NC/PLC interface signals.............................................................................................................30
1.2.1 General ........................................................................................................................................30
1.2.2 Ready signal to PLC ....................................................................................................................32
1.2.3 Status signals to PLC...................................................................................................................33
1.2.4 SINUMERIK 840Di-specific interface signals ..............................................................................34
1.2.5 Signals to/from panel front ...........................................................................................................34
1.2.6 Signals to channel........................................................................................................................36
1.2.7 Signals to axis/spindle .................................................................................................................36
1.2.8 Signals from axis/spindle .............................................................................................................47
1.2.9 Signals to axis/spindle (digital drives)..........................................................................................48
1.2.10 Signals from axis/spindle (digital drives)......................................................................................50
1.3 Functions......................................................................................................................................53
1.3.1 Screen settings ............................................................................................................................53
1.3.2 Settings for involute interpolation.................................................................................................54
1.3.3 Activate DEFAULT memory.........................................................................................................57
1.3.4 Read/write PLC variable ..............................................................................................................58
1.3.5 Access protection via password and keyswitch...........................................................................61
1.3.5.1 Access protection via password and keyswitch...........................................................................61
1.3.5.2 Password .....................................................................................................................................63
1.3.5.3 Keyswitch settings (DB10, DBX56.4 to 7) ...................................................................................64
1.3.5.4 Parameterizable protection levels................................................................................................65
1.4 Examples .....................................................................................................................................66
1.5 Data lists ......................................................................................................................................68
1.5.1 Machine data................................................................................................................................68
1.5.1.1 Drive-specific machine data.........................................................................................................68
1.5.1.2 Memory-specific machine data ....................................................................................................68
1.5.1.3 NC-specific machine data ............................................................................................................71
1.5.1.4 Channel-specific machine data....................................................................................................71
1.5.1.5 Axis/spindle-specific machine data..............................................................................................71
1.5.2 System variables..........................................................................................................................72
1.5.3 Signals .........................................................................................................................................72
1.5.3.1 Signals to NC ...............................................................................................................................72
1.5.3.2 Signals from NC...........................................................................................................................72
1.5.3.3 Signals to operator panel front.....................................................................................................73
1.5.3.4 Signals from operator panel front ................................................................................................73
1.5.3.5 Signals to channel........................................................................................................................74
1.5.3.6 Signals from channel ...................................................................................................................74
1.5.3.7 Signals to axis/spindle .................................................................................................................74
1.5.3.8 Signals from axis/spindle .............................................................................................................75
2 Axis Monitoring, Protection Zones (A3).................................................................................................... 77
2.1 Brief description ...........................................................................................................................77
2.1.1 Axis monitoring functions .............................................................................................................77
2.1.2 Protection zones ..........................................................................................................................77
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 7
Table of Contents
Basic Functions
8 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Table of Contents
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 9
Table of Contents
Basic Functions
10 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Table of Contents
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 11
Table of Contents
Basic Functions
12 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Table of Contents
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 13
Table of Contents
8.13.6 Auxiliary function output with a type 5 block search (SERUPRO) ............................................ 482
8.13.7 ASUB at the end of the SERUPRO .......................................................................................... 487
8.14 Implicitly output auxiliary functions............................................................................................ 493
8.15 Information options.................................................................................................................... 495
8.15.1 Group-specific modal M auxiliary function display .................................................................... 495
8.15.2 Querying system variables........................................................................................................ 496
8.16 Supplementary conditions......................................................................................................... 499
8.16.1 General constraints ................................................................................................................... 499
8.16.2 Output behavior......................................................................................................................... 500
8.17 Examples................................................................................................................................... 502
8.17.1 Extension of predefined auxiliary functions............................................................................... 502
8.17.2 Defining auxiliary functions ....................................................................................................... 503
8.18 Data lists.................................................................................................................................... 508
8.18.1 Machine data............................................................................................................................. 508
8.18.1.1 NC-specific machine data ......................................................................................................... 508
8.18.1.2 Channel-specific machine data................................................................................................. 508
8.18.2 Signals....................................................................................................................................... 509
8.18.2.1 Signals to channel..................................................................................................................... 509
8.18.2.2 Signals from channel................................................................................................................. 509
8.18.2.3 Signals to axis/spindle............................................................................................................... 511
8.18.2.4 Signals from axis/spindle .......................................................................................................... 511
9 Mode Group, Channel, Program Operation, Reset Response (K1) ....................................................... 513
9.1 Brief description ........................................................................................................................ 513
9.2 Mode group (MG)...................................................................................................................... 516
9.2.1 Mode group Stop....................................................................................................................... 519
9.2.2 Mode group RESET .................................................................................................................. 519
9.3 Mode types and mode type change.......................................................................................... 520
9.3.1 Monitoring functions and interlocks of the individual modes..................................................... 526
9.3.2 Mode change ............................................................................................................................ 526
9.4 Channel ..................................................................................................................................... 528
9.4.1 Global start disable for channel ................................................................................................ 531
9.5 Program test.............................................................................................................................. 533
9.5.1 Program execution without setpoint outputs ............................................................................. 533
9.5.2 Program execution in single-block mode .................................................................................. 535
9.5.3 Program execution with dry run feedrate .................................................................................. 537
9.5.4 Skip part-program blocks .......................................................................................................... 539
9.6 Block search.............................................................................................................................. 540
9.6.1 Sequence for block search of Type 1, 2 and 4 ......................................................................... 541
9.6.2 Block search in connection with other NCK functions .............................................................. 543
9.6.2.1 ASUB after and during block search......................................................................................... 543
9.6.2.2 PLC actions after block search ................................................................................................. 544
9.6.2.3 Spindle functions after block search ......................................................................................... 545
9.6.3 Automatic start of an ASUB after a block search...................................................................... 546
9.6.4 Cascaded block search............................................................................................................. 548
9.6.5 Examples of block search with calculation................................................................................ 550
9.7 Block search Type 5 SERUPRO............................................................................................... 554
9.7.1 REPOS...................................................................................................................................... 560
9.7.1.1 Continue machining after SERUPRO search target found ....................................................... 560
Basic Functions
14 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Table of Contents
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 15
Table of Contents
Basic Functions
16 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Table of Contents
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 17
Table of Contents
Basic Functions
18 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Table of Contents
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 19
Table of Contents
Basic Functions
20 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Table of Contents
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 21
Table of Contents
Basic Functions
22 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Table of Contents
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 23
Table of Contents
Basic Functions
24 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Table of Contents
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 25
Table of Contents
17.10.7 Tool lengths in the WCS, allowing for the orientation ............................................................. 1504
17.10.8 Tool length offsets in tool direction ......................................................................................... 1505
17.11 Sum offsets and setup offsets................................................................................................. 1510
17.11.1 General.................................................................................................................................... 1510
17.11.2 Description of function............................................................................................................. 1511
17.11.3 Activation................................................................................................................................. 1514
17.11.4 Examples................................................................................................................................. 1520
17.11.5 Upgrades for tool length determination................................................................................... 1521
17.11.5.1 Taking the compensation values into account location-specifically and workpiece-
specifically ............................................................................................................................... 1521
17.11.5.2 Functionality of the individual wear values.............................................................................. 1526
17.12 Working with tool environments .............................................................................................. 1530
17.12.1 General.................................................................................................................................... 1530
17.12.2 Saving with TOOLENV............................................................................................................ 1530
17.12.3 Delete tool environment .......................................................................................................... 1533
17.12.4 How many environments and which ones are saved? ........................................................... 1534
17.12.5 Read T, D, DL from a tool environment .................................................................................. 1535
17.12.6 Read tool lengths, tool length components............................................................................. 1536
17.13 Tool lengths L1, L2, L3 assignment: LENTOAX ..................................................................... 1542
17.14 Supplementary conditions....................................................................................................... 1546
17.14.1 Flat D number structure .......................................................................................................... 1546
17.14.2 SD42935 expansions .............................................................................................................. 1546
17.15 Examples................................................................................................................................. 1547
17.15.1 Toolholder with orientation capability...................................................................................... 1547
17.15.1.1 Example: Toolholder with orientation capability...................................................................... 1547
17.15.1.2 Example of toolholder with orientation capability with rotary table ......................................... 1548
17.15.1.3 Basic tool orientation example ................................................................................................ 1551
17.15.1.4 Calculation of compensation values on a location-specific and workpiece-specific basis ..... 1551
17.15.2 Examples 3-6: SETTCOR function for tool environments ...................................................... 1554
17.16 Data lists.................................................................................................................................. 1561
17.16.1 Machine data........................................................................................................................... 1561
17.16.1.1 NC-specific machine data ....................................................................................................... 1561
17.16.1.2 Channel-specific machine data............................................................................................... 1561
17.16.1.3 Axis/spindle-specific machine data ......................................................................................... 1563
17.16.2 Setting data ............................................................................................................................. 1563
17.16.2.1 Channel-specific setting data .................................................................................................. 1563
17.16.3 Signals..................................................................................................................................... 1564
17.16.3.1 Signals from channel............................................................................................................... 1564
18 NC/PLC Interface Signals (Z1) ............................................................................................................ 1565
18.1 Brief description ...................................................................................................................... 1565
18.2 Various interface signals and functions (A2)........................................................................... 1566
18.2.1 Signals from PLC to NC (DB10) ............................................................................................. 1566
18.2.2 Selection/Status signals from HMI to PLC (DB10) ................................................................. 1567
18.2.3 Signals from the NC to the PLC (DB10) ................................................................................. 1568
18.2.4 Signals to operator panel front (DB19) ................................................................................... 1572
18.2.5 Signals from operator panel front (DB19) ............................................................................... 1581
18.2.6 Signals to channel (DB21, ...) ................................................................................................. 1588
18.2.7 Signals from channel (DB21, ...) ............................................................................................. 1589
18.2.8 Signals to axis/spindle (DB31, ...) ........................................................................................... 1590
18.2.9 Signals from axis/spindle (DB31, ...)....................................................................................... 1605
Basic Functions
26 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Table of Contents
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 27
Table of Contents
Basic Functions
28 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
1
Various NC/PLC Interface Signals and Functions
(A2)
Content
The PLC/NCK interface comprises a data interface on one side and a function interface on
the other. The data interface contains status and control signals, auxiliary functions and
G functions, while the function interface is used to transfer jobs from the PLC to the NCK.
This Description describes the functionality of interface signals, which are of general
relevance but are not included in the Descriptions of Functions.
● Asynchronous events
● Status signals
● PLC variable (read and write)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 29
Various NC/PLC Interface Signals and Functions (A2)
NC/PLC interface signals
1.2.1 General
NC/PLC interface
The NC/PLC interface comprises the following parts:
● Data interface
● Function interface
Data interface
The data interface is used for component coordination:
● PLC user program
● NC
● HMI (operator components)
● MCP (Machine Control Panel)
Data exchange is organized by the basic PLC program.
Basic Functions
30 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Various NC/PLC Interface Signals and Functions (A2)
NC/PLC interface signals
Function interface
The function interface is generated by function blocks (FB) and function calls (FC). Function
requests, e.g. to traverse axes, are sent from the PLC to the NC via the function interface.
References
For detailed information about the following subject areas, please refer to:
● Description of the basic PLC program:
→ Function Manual, Basic Functions, Basic PLC Program (P3)
● Description of the event-driven signal exchange (Auxiliary and G functions):
→ Function Manual Basic Functions; Auxiliary Function Output to PLC (H2)
● Overview of all interface signals, functional and data components:
→ Parameter Manual
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 31
Various NC/PLC Interface Signals and Functions (A2)
NC/PLC interface signals
Basic Functions
32 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Various NC/PLC Interface Signals and Functions (A2)
NC/PLC interface signals
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 33
Various NC/PLC Interface Signals and Functions (A2)
NC/PLC interface signals
Note
In order to prevent accidental operator actions when the screen is darkened via the
interface signal, we recommend disabling the keyboard at the same time.
DB19 DBX0.1 = 1 AND DB19 DBX0.2 = 1 (key disable)
Basic Functions
34 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Various NC/PLC Interface Signals and Functions (A2)
NC/PLC interface signals
DB19 DBB13 (control of the file transfer via hard disk) (HMI advanced only)
Job byte to control file transfer via hard disk. The jobs relate to the user control file in the
interface signals:
DB19 DBB16 (part program handling: Number of the control file for user file names)
DB19 DBB17 (part program handling: Index of the file to be transmitted from the user list)
DB19 DBB16 (control of file transfer via hard disk) (HMI Advanced only)
Control byte for file transfer via hard disk to define the index for the control file (job list). This
file is handled according to the job in the interface signal:
DB19 DBB13
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 35
Various NC/PLC Interface Signals and Functions (A2)
NC/PLC interface signals
DB19 DBB17 (control of file transfer via hard disk) (HMI Advanced only)
Control byte for file transfer via hard disk to indicate the line in the user control file in which
the control file to be transferred is stored
DB19 DBB26 (control of the file transfer via hard disk) (HMI advanced only)
Status byte for current status of data transfer for "select", "load" or "unload", or if an error
occurred during data transmission.
DB19 DBB27 (control of the file transfer via hard disk) (HMI advanced only)
Output byte for error values for data transfer via hard disk.
Basic Functions
36 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Various NC/PLC Interface Signals and Functions (A2)
NC/PLC interface signals
NOTICE
It is the sole responsibility of the machine manufacturer/system startup engineer to take
suitable action/carry out appropriate tests to ensure that the machine axis can be traversed
during the drive test without putting personnel or machinery at risk.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 37
Various NC/PLC Interface Signals and Functions (A2)
NC/PLC interface signals
Feedback:
DB31, ... DBX61.3 = 1 (follow-up mode active)
Note
When the servo enable is set from follow-up mode, if the part program is active, the last
programmed position is approached again internally in the NC (REPOSA: Approach along line
on all axes). In all other cases, all subsequent movements start at the current actual position.
NOTICE
With the "hold" function, once the servo enable has been set, the setpoint/actual-value
difference is corrected: directly by the position controller, i.e. without following the axial
acceleration characteristic.
Application example
Positioning response of machine axis Y following clamping when "servo enable" set.
Clamping pushed the machine axis from the actual position Y1 to the clamping position Yk.
Basic Functions
38 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Various NC/PLC Interface Signals and Functions (A2)
NC/PLC interface signals
3RVLWLRQVHWSRLQW
IURP,32
3RVLWLRQ
B FRQWUROOHU
&RQWUROOHU
HQDEOHFDQFHOHG
)ROORZXSVHWSRLQW
3RVLWLRQDFWXDOYDOXH
< ,6)ROORZXSPRGH
5HPRYH,66HUYRHQDEOH
6HTXHQFH 7HUPLQDOV
'LVFRQQHFWWHUPLQDOV
6HW,66HUYRHQDEOH
<. 1
<
5HWXUQ XVLQJSRVLWLRQFRQWUROOHU WR
1 <. SUHFODPSLQJSRVLWLRQ < ZKHQ
VHWWLQJVHUYRHQDEOH
3RVLWLRQVKLIWUHVXOWLQJIURP
FODPSLQJ
<
;
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 39
Various NC/PLC Interface Signals and Functions (A2)
NC/PLC interface signals
,6)ROORZXSPRGH
< 5HPRYH,66HUYRHQDEOH
6HTXHQFH 7HUPLQDOV
'LVFRQQHFWWHUPLQDOV
6HW,66HUYRHQDEOH
3DWKIROORZHGLIQRSDUWSURJUDPLVDFWLYH
7UDMHFWRU\LILQ1RQO\;LV
SURJUDPPHGDQGWKHSDUWSURJUDPLV
<. DFWLYH
< 1 5HWXUQXVLQJ5(326$LISDUW
SURJUDPLVDFWLYHLQ$8720$7,&
1 <. PRGH
$[LVPRYHPHQWJHQHUDWHGIURP
3RVLWLRQVKLIWUHVXOWLQJIURP SURJUDPPHGSRVLWLRQ <
FODPSLQJ <
;
Basic Functions
40 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Various NC/PLC Interface Signals and Functions (A2)
NC/PLC interface signals
Note
"Follow-up mode" does not have to be canceled because it only has an effect in
combination with "servo enable".
Note
If "follow-up mode" is deactivated for a machine axis, which is part of an active
transformation (e.g. TRANSMIT), this can generate movements as part of repositioning
(REPOS) other machine axes involved in the transformation.
Monitoring
If a machine axis is in follow-up mode, the following monitoring mechanisms will not act:
● Zero-speed monitoring
● Clamping monitoring
● Positioning monitoring
Effects on other interface signals:
● DB31, ... DBX60.7 = 0 (position reached with exact stop fine)
● DB31, ... DBX60.6 = 0 (position reached with exact stop coarse)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 41
Various NC/PLC Interface Signals and Functions (A2)
NC/PLC interface signals
3RVLWLRQUHIHUHFHYDOXH LVHW
IURPLQWHUSRODWRU
3RVLWLRQ 6SHHG 3RZHU (QFRG (QFRG
B FRQWUROOHU B FRQWUROOHU 0RWRU
FRQWUROOHU
LDFW
QDFW
30
30
30
30
3DUNLQJD[LV
The table below shows the functionality of the interface signals in conjunction with the "servo
enable".
DB31, ... DBX1.5 DB31, ... DBX1.6 DB31, ... DBX2.1 Function
1 0 (or 1) 1 Position measuring system 1 active
0 1 1 Position measuring system 2 active
0 0 0 "Parking" active
0 0 1 Spindle without position measuring system (speed-
controlled)
1 -> 0 0 -> 1 1 Switchover: Position measuring system 1 → 2
0 -> 1 1 -> 0 1 Switchover: Position measuring system 2 → 1
Basic Functions
42 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Various NC/PLC Interface Signals and Functions (A2)
NC/PLC interface signals
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 43
Various NC/PLC Interface Signals and Functions (A2)
NC/PLC interface signals
● The machine axis is decelerated taking into account the parameterized temporal duration
of the brake ramp for error states with a fast stop (speed setpoint = 0):
MD36610 $MA_AX_EMERGENCY_STOP_TIME (max. time duration of the braking ramp
in event of errors)
An alarm is displayed:
Alarm: "21612 Servo enable reset during movement"
Note
The servo enable is canceled at the latest when the cutout time expires:
MD36610 $MA_AX_EMERGENCY_STOP_TIME
Basic Functions
44 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Various NC/PLC Interface Signals and Functions (A2)
NC/PLC interface signals
3RVLWLRQFRQWUROOHURSHQHGLPPHGLDWHO\
)3 )3
DFW
$[LVLVPRYLQJ
5DSLGVWRS
ZLWKRSHQFLUFXLWSRVLWLRQFRQWUROORRS
0'67$1'67,//B9(/2B72/ )3
VHW
W
0'$;B(0(5*(1&<B6723B7,0(
,66HUYRHQDEOH 0'6(592B',6$%/(B'(/$<B7,0(
W
,63RVLWLRQFRQWUROOHUDFWLYH
W
6HUYRHQDEOHWRGULYH
,66SHHGFRQWUROOHUDFWLYH
W
Figure 1-5 Canceling the servo enable when the machine axis is in motion
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 45
Various NC/PLC Interface Signals and Functions (A2)
NC/PLC interface signals
Basic Functions
46 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Various NC/PLC Interface Signals and Functions (A2)
NC/PLC interface signals
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 47
Various NC/PLC Interface Signals and Functions (A2)
NC/PLC interface signals
Basic Functions
48 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Various NC/PLC Interface Signals and Functions (A2)
NC/PLC interface signals
1) Can only be used on SIMODRIVE 611D Performance2 control module and SIMODRIVE 611U
Only operating modes 1 and 2 are valid on main spindle drive:
● Operating modes 1: Star
● Operating modes 2: Delta
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 49
Various NC/PLC Interface Signals and Functions (A2)
NC/PLC interface signals
Basic Functions
50 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Various NC/PLC Interface Signals and Functions (A2)
NC/PLC interface signals
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 51
Various NC/PLC Interface Signals and Functions (A2)
NC/PLC interface signals
Basic Functions
52 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Various NC/PLC Interface Signals and Functions (A2)
Functions
1.3 Functions
Contrast
MD9000 $MM_LCD_CONTRAST (contrast)
For slimline operator panels with a monochrome LCD, the contrast to be applied following
system startup can be set.
There are 16 different contrast settings (0: dark, 15: light).
Monitor type
MD9001 $MM_DISPLAY_TYPE (monitor type)
Indicate the relevant monitor type for optimum color matching.
Foreground language
MD9003 $MM_FIRST_LANGUAGE (foreground language)
In case of SINUMERIK 840D/840Di 2 languages are available simultaneously.
The foreground language can be used to set the language to be displayed following control
ramp-up.
The language can be changed in the DIAGNOSTICS operating area on the HMI user
interface. Once the control has ramped up, the foreground language will be restored.
Display resolution
MD9004 $MM_DISPLAY_RESOLUTION (display resolution)
The number of places after the decimal point for the position display of the axes is defined in
the display resolution. The position display consists of max. 12 characters including sign and
decimal point. The number of digits after the decimal point can be set to between 0 and 5.
The default setting for the number of digits after the decimal point is 3, corresponding to a
display resolution of 10–3 [mm] or [degrees].
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 53
Various NC/PLC Interface Signals and Functions (A2)
Functions
REFRESH suppression
MD10131 $MN_SUPPRESS_SCREEN_REFRESH (screen refresh in case of overload)
Default setting for screen-refresh strategy with high NC utilization:
● Value 0: Refresh of current values is suppressed in all channels.
● Value 1: Refresh of current values is suppressed in time-critical channels.
● Value 2: Refresh of current values is never suppressed.
Introduction
The involute of the circle is a curve traced out from the end point on a "piece of string"
unwinding from the curve. Involute interpolation allows trajectories along an involute.
<
%DVHFLUFOHFHQWHU ; <
;<
6WDUWSRLQW
5
) ;
)
%DVHFLUFOH
(QGSRLQW
Basic Functions
54 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Various NC/PLC Interface Signals and Functions (A2)
Functions
Programming
A general description of how to program involute interpolation can be found in:
References:
/PG/ Programming Manual Fundamentals
In addition to the programmed parameters, machine data are relevant in two instances of
involute interpolation; these data may need to be set by the machine manufacturer/end user.
Accuracy
If the programmed end point does not lie exactly on the involute defined by the starting point,
interpolation takes place between the two involutes defined by the starting and end points
(see illustration below).
The maximum deviation of the end point is determined by the machine data:
MD21015 $MC_INVOLUTE_RADIUS_DELTA(end point monitoring for involute)
6WDUWSRLQW
5
(QGSRLQW
%DVHFLUFOH
0D[GHYLDWLRQ
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 55
Various NC/PLC Interface Signals and Functions (A2)
Functions
Limit angle
If AR is used to program an involute leading to the base circle with an angle of rotation that is
greater than the maximum possible value, an alarm is output and program execution
aborted.
$5PD[
$5
6WDUWSRLQW
The alarm display can be suppressed using the following parameter settings:
MD21016 $MC_INVOLUTE_AUTO_ANGLE_LIMIT = TRUE (automatic angle limitation for
involute interpolation)
The programmed angle of rotation is then also limited automatically and the interpolated path
ends at the point at which the involute meets the base circle. This, for example, makes it
easier to program an involute, which starts at a point outside the base circle and ends
directly on it.
Basic Functions
56 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Various NC/PLC Interface Signals and Functions (A2)
Functions
Dynamic response
Involutes that begin or end on the base circle have an infinite curvature at this point.
To ensure that the velocity is adequately limited at this point when tool-radius compensation
is active, without reducing it too far at other points, the "Velocity limitation profile" function
must be activated:
MD28530 $MC_MM_PATH_VELO_SEGMENTS > 1 (number of memory elements for
limiting the path velocity)
A setting of 5 is recommended. This setting need not be made if only involute sections are
used, which have radii of curvature that change over a relatively small area.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 57
Various NC/PLC Interface Signals and Functions (A2)
Functions
Access from NC
To allow the NC to access PLC variables (from a part program) quickly, $ variables are
provided in the NCK. The PLC uses a function call (FC) to read and write $ variables. Data
are transferred to and from the NCK immediately.
$ variables can be accessed (by the NCK) during preprocessing and in synchronized
actions.
Data type information is determined by the $ variable data type, the position index is
specified as an array index (in bytes).
The following $ variables are available:
Ranges of values
Basic Functions
58 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Various NC/PLC Interface Signals and Functions (A2)
Functions
1& 3/&
'DWDW\SH'ZRUG E\WHV
3RVLWLRQRIIVHW [
Supplementary conditions
● The user's programming engineer (NCK and PLC) is responsible for organizing the DPR
memory area. No checks are made for inconsistencies in the configuration.
● A total of 1024 bytes are available in the input and output directions.
● Single-bit operations are not supported and must be linked back to byte operations by the
user (programming engineer).
● Since the contents of variables are manipulated directly in the communications buffer, the
user must remember that intermediate changes in values occur as a result of multiple
access operations where a variable is evaluated several times or when variables are
linked (i.e. it may be necessary to store values temporarily in local variables or R
parameters or to set up a semaphore).
● The user's programming engineer is responsible for coordinating access operations to the
communications buffer from different channels.
● Data consistency can be guaranteed only for access operations up to 16 bits (byte and
word). The user's programming engineer is responsible for ensuring consistent
transmission of 32-bit variables (double and real). A simple semaphore mechanism is
provided in the PLC for this purpose.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 59
Various NC/PLC Interface Signals and Functions (A2)
Functions
Activation
The maximum number of simultaneously writable output variables is adjustable via:
MD28150 $MC_MM_NUM_VDIVAR_ELEMENTS (number of elements for writing PLC
variables)
Example
A WORD is to be transferred from the PLC to the NC.
The position offset within the NCK input (PLC output area) should be the fourth byte. The
position offset must be a whole-number multiple of the data width.
● Writing from PLC:
Basic Functions
60 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Various NC/PLC Interface Signals and Functions (A2)
Functions
Access authorization
Access to functions, programs and data is user-oriented and controlled via 8 hierarchical
protection levels. These are subdivided into:
● Password levels for Siemens, machine manufacturer and end user
● Keyswitch positions for end user
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 61
Various NC/PLC Interface Signals and Functions (A2)
Functions
Access features
● Protection level 0 provides the greatest number of access rights, protection level 7 the
least.
● If certain access rights are granted to a protection level, these protection rights
automatically apply to any higher protection levels.
● Conversely, protection rights for a certain protection level can only be altered from a
higher protection level.
● Access rights for protection levels 0 to 3 are permanently assigned by Siemens and
cannot be altered (default).
● Access rights can be set by querying the current keyswitch positions and comparing the
passwords entered. When a password is entered it overwrites the access rights of the
keyswitch position.
● Options can be protected on each protection level. However, option data can only be
entered in protection levels 0 and 1.
● Access rights for protection levels 4 to 7 are only suggestions and can be altered by the
machine tool manufacturer or end user.
Basic Functions
62 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Various NC/PLC Interface Signals and Functions (A2)
Functions
1.3.5.2 Password
Set password
The password for a protection level (0 – 3) is entered via the HMI user interface.
Example: HMI Advanced
DIAGNOSTIC operating area, softkey: SET PASSWORD
References:
/BAD/ Operating Manual HMI Advanced
Delete password
Access rights assigned by means of setting a password remain effective until they are
explicitly revoked by deleting the password.
Example: HMI Advanced
DIAGNOSTIC operating area, softkey: DELETE PASSWORD
References:
/BAD/ Operating Manual HMI Advanced
Note
Access rights and password status (set/deleted) are not affected by POWER OFF/ON!
Defaults
The following default passwords are defined for protection levels 1 to 3:
● Protection level 1: SUNRISE
● Protection level 2: EVENING
● Protection level 3: CUSTOMER
Note
Following NC-CPU ramp-up in commissioning mode (NCK commissioning switch:
position 1) the passwords for protection levels 1 – 3 are reset to the default settings. For
reasons of data protection, we strongly recommend that you change the default settings.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 63
Various NC/PLC Interface Signals and Functions (A2)
Functions
Key switch
The keyswitch has four positions, to which protection levels 4 to 7 are assigned. The
keyswitch comprises a number of keys in a variety of colors, which can be set to different
switch positions.
3RVLWLRQ %LW
RU
3RVLWLRQ EODFNNH\ %LW
RURU
3RVLWLRQ JUHHQNH\ %LW
RURU
3RVLWLRQ RU %LW
UHGNH\
Switch positions
Switch position 0 has the most restricted access rights. Switch position 3 has the least
restricted access rights.
DB10, DBX56.4/.5/.6/.7 (switch positions 0/1/2/3)
Machine-specific enables for access to programs, data and functions can be assigned to the
switch positions. For detailed information, please refer to:
References:
/IAM/ Startup CNC Part 2 (HMI); Access Protection
Basic Functions
64 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Various NC/PLC Interface Signals and Functions (A2)
Functions
Default values
On delivery or following standard commissioning, with very few exceptions, the default value
for the protection level will be set to 7, i.e. the lowest protection level.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 65
Various NC/PLC Interface Signals and Functions (A2)
Examples
1.4 Examples
Prerequisites
The parameter set changeover must be enabled by the machine data:
MD35590 $MA_PARAMSET_CHANGE_ENABLE [AX1] = 1 or 2 (parameter set change
possible)
The 1st parameter set for machine axis X1 is set, in accordance with machine data with
index "0" NC/PLC interface:
DB31, … DBX9.0 - DBX9.2 = 0 (controller parameter set)
Basic Functions
66 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Various NC/PLC Interface Signals and Functions (A2)
Examples
Changeover
In order to switch over the position-control gain, the PLC user program selects the 4th
parameter set for machine axis X1.
● Request by PLC user program:
DB31, ... DBX9.0 – DBB9.2 = 3 (controller parameter set)
– A request to change over to the 4th parameter set is sent for machine axis AX1.
– The parameter set is changed over once a delay has elapsed.
– Parameter set 4 is now active, in accordance with machine data with index "3"
● Feedback by NC:
DB31, … DBX69.0 – DBX69.2 = 3 (controller parameter set)
– The NC confirms/acknowledges the parameter-set changeover.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 67
Various NC/PLC Interface Signals and Functions (A2)
Data lists
Basic Functions
68 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Various NC/PLC Interface Signals and Functions (A2)
Data lists
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 69
Various NC/PLC Interface Signals and Functions (A2)
Data lists
Basic Functions
70 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Various NC/PLC Interface Signals and Functions (A2)
Data lists
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 71
Various NC/PLC Interface Signals and Functions (A2)
Data lists
Names Description
$P_FUMB Unassigned part program memory (Free User Memory Buffer)
$A_DBB[n] Data on PLC (data type BYTE)
$A_DBW[n] Data on PLC (WORD type data)
$A_DBD[n] Data on PLC (DWORD type data)
$A_DBR[n] Data on PLC (REAL type data)
1.5.3 Signals
1.5.3.1 Signals to NC
Basic Functions
72 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Various NC/PLC Interface Signals and Functions (A2)
Data lists
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 73
Various NC/PLC Interface Signals and Functions (A2)
Data lists
Basic Functions
74 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Various NC/PLC Interface Signals and Functions (A2)
Data lists
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 75
Various NC/PLC Interface Signals and Functions (A2)
Data lists
Basic Functions
76 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3) 2
2.1 Brief description
Function
Comprehensive monitoring functions are present in the control for protection of people and
machines:
● Contour monitoring
● Position monitoring
● Zero-speed monitoring
● Clamping monitoring
● Speed-setpoint monitoring
● Actual-velocity monitoring
● Measuring System monitoring
● Limit-switches monitoring
● Monitoring of the working area limitation
Function
With the help of protection zones, elements of the machine (e.g. spindle chuck, tool changer,
tool holder, tailstock, movable probe, etc.) and the workpiece can be protected against
collisions.
During automatic execution of part programs in the AUTOMATIC or MDI mode, the NC
checks at the start of every part-program block whether a collision between protection zones
can occur upon moving along the programmed path.
After manual deactivation of an active protection zone, the zone can be entered. After
leaving the protection zone, the protection zone automatically becomes active again.
The definition, activation and deactivation of protection zones takes place via part program
instructions.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 77
Axis Monitoring, Protection Zones (A3)
Axis monitoring
Basic Functions
78 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Axis monitoring
Function
In control engineering terms, traversing along a machine axis always produces a certain
following error, i.e. a difference between the set and actual position.
The following error that arises depends on:
● Position control loop gain
MD32200 $MA_POSCTRL_GAIN (servo gain factor)
● Maximum acceleration
MD32300 $MA_MAX_AX_ACCEL (Maximum axis acceleration)
● Maximum velocity
MD32000 $MA_MAX_AX_VELO (maximum axis velocity)
● With activated feedforward control: Precision of the path model and the parameters:
MD32610 $MA_VELO_FFW_WEIGHT (factor for the velocity feedforward control)
MD32800 $MA_EQUIV_CURRCTRL_TIME (Equivalent time constant current control loop
for feedforward control)
MD32810 $MA_EQUIV_SPEEDCTRL_TIME (equivalent time constant speed control loop
for feedforward control)
In the acceleration phase, the following error initially increases when traversing along a
machine axis. After a time depending on the parameterization of the position control loop,
the following error then remains constant in the ideal case. Due to external influences, more
or less large fluctuations in the following error always arise during a machining process. To
prevent these fluctuations in the following error from triggering an alarm, a tolerance range
within which the following error may change must be defined for the following-error
monitoring:
MD36400 $MA_CONTOUR_TOL (Contour monitoring tolerance range)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 79
Axis Monitoring, Protection Zones (A3)
Axis monitoring
)ROORZLQJHUURU
7ROHUDQFHEDQG
GV )LUVWFXW
0HDVXUHG
IROORZLQJHUURU 0'0$B&217285B72/
&DOFXODWHGIROORZLQJHUURU
PRGHO
%HJLQ
PDFKLQLQJ
W
Effectivity
The following-error monitoring only operates with active position control and the following
axis types:
● Linear axes with and without feedforward control
● Rotary axes with and without feedforward control
● Position-controlled spindles
Fault
If the configured tolerance limit is exceeded, the following alarm appears:
25050 "Axis <Axis identifier> Contour monitoring"
The affected axis/spindle is stopped via the configured braking ramp in follow-up mode:
MD36610 $MA_AX_EMERGENCY_STOP_TIME
(Maximum time for braking ramp when an error occurs)
Basic Functions
80 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Axis monitoring
Overview
The following overview shows the correlation between the positioning, zero speed and
clamping monitoring functions:
9RUV
(IIHFWLYHWROHUDQFH
IRU]HURVSHHGDQG
FODPSLQJPRQLWRULQJ
$FWXDO
YDOXH
'%'%; FODPSLQJLQSURJUHVV
0'0$B&/$03B326B72/
6HWSRLQW
0'0$B67$1'67,//B326B72/
0'0$B6723B/,0,7B&2$56(
0'0$B6723B/,0,7B),1(
0' ([DFWVWRSILQHVLJQDO W
0$B67$1'67,//
B'(/$<B7,0( ([DFWVWRSFRDUVHVLJQDO
0'0$B326,7,21,1*B7,0(
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 81
Axis Monitoring, Protection Zones (A3)
Axis monitoring
Function
At the end of a positioning operation:
● Set velocity = 0 AND
● DB31, ... DBX64.6/64.7 (motion command minus/plus) = 0
checks the position monitoring to ensure that the following error of every participating
machine axis is smaller than the exact-stop fine tolerance during the delay time.
MD36010 $MA_STOP_LIMIT_FINE (exact stop fine)
MD36020 $MA_POSITIONING_TIME (delay time exact stop fine)
After reaching "Exact stop fine", the position monitoring is deactivated.
Note
The smaller the exact stop fine tolerance is, the longer the positioning operation takes and
the longer the time until block change.
Effectivity
The position monitoring only operates with active position control and the following axis
types:
● Linear axes
● Rotary axes
● Position-controlled spindles
Fault
If the configured position-monitoring time is exceeded, the following alarm appears:
25080 "Axis <Axis identifier> Position monitoring"
Basic Functions
82 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Axis monitoring
The affected axis is stopped via the configured braking ramp in follow-up mode:
MD36610 $MA_AX_EMERGENCY_STOP_TIME
(Maximum time for braking ramp when an error occurs)
Function
At the end of a positioning operation:
● Set velocity = 0 AND
● DB31, ... DBX64.6/64.7 (motion command minus/plus) = 0
checks the zero-speed monitoring to ensure that the following error of every participating
machine axis is smaller than the standstill tolerance during the delay time.
MD36040 $MA_STANDSTILL_DELAY_TIME (Zero-speed monitoring delay time)
MD36030 $MA_STANDSTILL_POS_TOL (standstill tolerance)
After reaching the required exact-stop state, the positioning operation is completed:
DB31, ... DBX60.6/60.7 (position reached with exact stop coarse/fine) = 1
The position-monitoring function is deactivated and is replaced by the zero-speed
monitoring.
Zero-speed monitoring monitors the adherence to the standstill tolerance. If no new travel
request is received, the machine axis must not depart from the standstill tolerance.
Effectivity
The zero-speed monitoring only operates with active position control and the following axis
types:
● Linear axes
● Rotary axes
● Position-controlled spindles
Fault
If the delay time and/or the standstill tolerance is exceeded, the following alarm appears:
25040 "Axis <Axis identifier> Zero-speed monitoring"
The affected axis is stopped via the configured braking ramp in follow-up mode:
MD36610 $MA_AX_EMERGENCY_STOP_TIME
(Maximum time for braking ramp when an error occurs)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 83
Axis Monitoring, Protection Zones (A3)
Axis monitoring
2.2.2.4 Exact stop and standstill tolerance dependent on the parameter set
Clamping monitoring
For machine axes that are mechanically clamped upon completion of a positioning operation,
larger motions can result from the clamping process (> standstill tolerance). As a result,
zero-speed monitoring is replaced by clamping monitoring during the clamping process.
Clamping monitoring monitors the adherence to the configured clamping tolerance:
MD36050 $MA_CLAMP_POS_TOL (Clamping tolerance)
Activation
The clamping monitoring is activated by the following interface signal:
DB31, ... DBX2.3 (clamping in progress)
Note
The clamping monitoring is not active in "follow-up mode" (DB31, ... DBX1.4 = 1).
Basic Functions
84 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Axis monitoring
Fault
If the clamping tolerance is exceeded, the following alarm appears:
26000 "Clamping monitoring"
The affected axis is stopped via the configured braking ramp in follow-up mode:
MD36610 $MA_AX_EMERGENCY_STOP_TIME
(Maximum time for braking ramp when an error occurs)
Note
The NC detects whether an axis is clamped based on the "servo enable" state of the axis:
DB31, ... DBX2.2 = 0: no servo enable ⇒ axis is clamped
DB31, ... DBX2.2 = 1: servo enable ⇒ axis is not clamped
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 85
Axis Monitoring, Protection Zones (A3)
Axis monitoring
5HOHDVHD[LVFODPSLI
0'0$B6723B21B&/$03,1*>@ ಬ+ಬ
0RWLRQFRPPDQG
&ODPSD[LV
$[LVFODPSLQJSUHVVXUH
)HHGVWRS
6HUYRHQDEOH
3DWKYHORFLW\
1 1
*= *$7XUQURWDU\WDEOHGHJUHHV
W>PV@
The part-program blocks N310 and N410 refer to the following programming example:
Basic Functions
86 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Axis monitoring
5HOHDVHD[LVFODPSLI
0'0$B6723B21B&/$03,1*>@ ಬ+ಬ
0RWLRQFRPPDQG
&ODPSD[LV
$[LVFODPSLQJSUHVVXUH
)HHGVWRS
6HUYRHQDEOH
3DWKYHORFLW\
W>PV@
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 87
Axis Monitoring, Protection Zones (A3)
Axis monitoring
Basic Functions
88 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Axis monitoring
6HWD[LVFODPSLI
0'0$B6723B21B&/$03,1*>@ +
0RWLRQFRPPDQG
&ODPSD[LV
$[LVFODPSLQJSUHVVXUH
)HHGVWRS
6HUYRHQDEOH
)HHGRYHUULGH
3DWKYHORFLW\
W>PV@
Constraints
Continuous-path mode
For the above-mentioned functions:
● Automatic stopping for releasing the clamps
● Optimized release of the axis clamp through traverse command
● Automatic stopping for setting the clamps
the "Look Ahead" function must be active.
Part-program blocks without path motion (e.g. M82/M83) interrupt continuous-path mode and
thus also the "Look Ahead" function.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 89
Axis Monitoring, Protection Zones (A3)
Axis monitoring
Example:
The part-program blocks N320 and N420 are inserted in the programming example used.
Note
MD36052 $MA_STOP_ON_CLAMPING = 'H01' or 'H04'
Both functions can be used irrespective of the clamping of axes:
• MD36052 $MA_STOP_ON_CLAMPING = 'H01'
Generates a Look Ahead stop for the path motion if no servo enable signal is active
for the relevant axis.
• MD36052 $MA_STOP_ON_CLAMPING = 'H04'
Generates a Look Ahead stop for the path motion if the feed rate overrate = 0% at the
transition from the part-program blocks with rapid traverse to part-program blocks
without rapid traverse.
Both functions ensure that the path motion in continuous-path mode is already stopped
before the start of the relevant part-program block and not just within the part-program
block.
Basic Functions
90 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Axis monitoring
Note
The following interface signals can be evaluated by the PLC user program as the criterion for
activation of the "Follow-up mode":
DB31, ... DBX60.6/60.7 (position reached with exact stop coarse/fine)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 91
Axis Monitoring, Protection Zones (A3)
Axis monitoring
Function
The speed setpoint comprises:
● Speed setpoint of the position controller
● Speed setpoint portion of the feedforward control (with active feedforward control only)
● Dift compensation (only for drives with analog setpoint interface)
'ULIWYDOXH
)HHGIRUZDUGFRQWUROYDOXH DSSOLHVRQO\WRDQDORJGULYHV
7RVSHHG
.9 FRQWUROOHU
)ROORZLQJ
HUURU 6SHHG
VHWSRLQW
3RVLWLRQFRQWUROOHU PRQLWRULQJ
The speed-setpoint monitoring ensures by limiting the control or output signal (10V for
analog setpoint interface or rated speed for digital drives) that the physical limitations of the
drives are not exceeded:
MD36210 $MA_CTRLOUT_LIMIT (Maximum speed setpoint)
6SHHGVHWSRLQW>@
0'0$B&75/287B/,0,7>Q@
0'0$B&75/287B/,0,7>Q@
(J
IRUWHVWPRGH
Basic Functions
92 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Axis monitoring
Effectivity
The speed-setpoint monitoring is only active for closed-loop position-controlled axes and
cannot be deactivated.
Fault
If the configured delay time is exceeded, the following alarm appears:
25060 "Axis <Axis identifier> Speed-setpoint monitoring"
The affected axis is stopped via the configured braking ramp in follow-up mode:
MD36610 $MA_AX_EMERGENCY_STOP_TIME
(Maximum time for braking ramp when an error occurs)
Note
Upon reaching the speed-setpoint monitoring, the position feedback loop of the axis
becomes non-linear due to the limitation. Contour errors result if the axis is involved in
generating the contour.
Function
The actual-velocity monitoring checks that the current actual velocity of a machine
axis/spindle does not exceed the configured threshold:
MD36200 $MA_AX_VELO_LIMIT (velocity-monitoring threshold)
The threshold should be 10-15% above the configured maximum velocity.
● For axes:
MD32000 $MA_MAX_AX_VELO (maximum axis velocity)
● For spindles:
MD35110 $MA_GEAR_STEP_MAX_VELO_LIMIT[n] (maximum speed of gear stage)
If you use this setting the speed will not normally exceed the velocity-monitoring threshold
(exception: drive error).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 93
Axis Monitoring, Protection Zones (A3)
Axis monitoring
Activation
The actual-velocity monitoring is activated as soon as the active measuring system returns
valid actual values (encoder limit frequency not exceeded):
DB31, ... DBX1.5/1.6 (position measuring system 1/2)
Effectivity
The actual-velocity monitoring only operates with active position control and the following
axis types:
● Linear axes
● Rotary axes
● Open loop controlled and position controlled spindles.
Fault
If the threshold is exceeded, the following alarm appears:
25030 "Axis <Axis identifier> Actual-velocity alarm limit"
The affected axis is stopped via the configured braking ramp in follow-up mode:
MD36610 $MA_AX_EMERGENCY_STOP_TIME
(Maximum time for braking ramp when an error occurs)
Function
The encoder-limit-frequency monitoring checks that the encoder frequency does not exceed
the configured encoder limit frequency.
MD36300 $MA_ENC_FREQ_LIMIT (encoder limit frequency)
Encoder-limit-frequency monitoring always refers to the active measuring system selected in
the NC/PLC interface:
DB31, ... DBX1.5/1.6 (position measuring system 1/2)
Effectivity
The encoder limit frequency is operative for:
● Linear axes
● Rotary axes
● Open loop controlled and position controlled spindles.
Basic Functions
94 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Axis monitoring
Fault
Upon exceeding of the encoder limit frequency, the following occurs:
● Message to the PLC:
DB31, ... DBX60.2 or 60.3 = 1 (encoder limit frequency exceeded 1 or 2)
● Spindles
Spindles are not stopped but continue to turn with speed control.
If the spindle speed is reduced so much that the encoder frequency passes below the
encoder limit frequency, the actual value system of the spindle is automatically
resynchronized.
● Axes
The following alarm is displayed:
21610 "Channel <Channel number> Axis <Axis identifier> Encoder <Encoder number >
Frequency exceeded"
The affected axis is stopped via the configured braking ramp in follow-up mode:
MD36610 $MA_AX_EMERGENCY_STOP_TIME
(Maximum time for braking ramp when an error occurs)
Note
If the encoder limit frequency is exceeded, the position-controlled machine axis must be
re-referenced.
References:
/FB1/ Function Manual, Basic Functions; Reference Point Approach (R1)
Function
Zero-mark monitoring serves as a plausibility check for the actual values of the relevant
machine axis.
Note
The zero-mark monitoring is only active beneath the configured encoder limit frequency:
MD36302 $MA_ENC_FREQ_LIMIT_LOW (encoder limit frequency for encoder
resynchronization)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 95
Axis Monitoring, Protection Zones (A3)
Axis monitoring
Encoder Meaning
type
0 Simulation
1 Raw signal generator (high resolution)
4 General absolute encoder (e.g. with EnDat interface)
Activation/Deactivation
The function is activated/deactivated with machine data:
MD36310 $MA_ENC_ZERO_MONITORING (Zero-mark monitoring)
MD36310 Meaning
0 No zero-mark monitoring.
>0 Zero-mark monitoring active.
100 No zero-mark monitoring and all encoder alarms concealed.
Function
Incremental encoders with one or more zero marks use the zero-mark signals to check the
plausibility of the actual values.
Monitoring starts with the first zero-mark signal once the encoder has been switched on
(fault counter = 0). The function checks whether the number of incremental signals is
plausible after each zero mark (if equidistant zero marks) or after every second zero mark (if
distance-coded zero marks). This is the case, for example, if the number of incremental
signals from straight-line axis motions matches the value required for the distance between
two relevant zero marks. In the event of a non-plausible deviation, the fault counter
increases by 1. The zero-mark monitoring is tripped (alarm) if several non-plausible
deviations occur in direct sequence and the fault counter exceeds the configured permissible
number of deviations:
MD36310 $MA_ENC_ZERO_MONITORING (Zero-mark monitoring)
If a plausible value is recorded before this threshold is reached, the fault counter is reset to
0. This ensures that the non-plausible deviations only trigger an alarm if they occur in direct
sequence and in a non-tolerable number.
Note
If using external zero marks (BERO) instead of encoder zero marks, you must deactivate
zero-mark monitoring:
MD36310 $MA_ENC_ZERO_MONITORING = 0
Basic Functions
96 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Axis monitoring
Fault
Alarm 25020
If zero-mark monitoring is tripped in the active measuring system, alarm 25020 appears:
"Axis <Axis identifier> Zero-mark monitoring of active encoder"
The affected axis is stopped via the configured braking ramp in follow-up mode:
MD36610 $MA_AX_EMERGENCY_STOP_TIME
(Maximum time for braking ramp when an error occurs)
Alarm 25021
If zero-mark monitoring is tripped in the passive measuring system alarm 25021 appears:
"Axis <Axis identifier> Zero-mark monitoring of passive encoder"
There is no further alarm response.
Function
Absolute encoders use the absolute values supplied by the measuring system to check the
plausibility of the actual value.
During the check, the NC compares the cyclic position value held in the position control cycle
clock based on the incremental information from the encoder with a new position value
generated directly from the absolute and incremental information and checks that the
calculated position difference does not exceed the configured permissible deviation.
MD36310 $MA_ENC_ZERO_MONITORING (Zero-mark monitoring)
The permissible deviation is indicated in 1/2 rough lines.
Note
The "zero-mark monitoring" of absolute encoders specifically detects all deviations caused
by dirt on the absolute track or by faults when transferring the absolute value. However,
small errors in the incremental track (burst interference, impulse errors) are not detected. In
such instances the zero-mark monitoring only responds to deviations in the millimeter range.
This form of monitoring should therefore serve as additional monitoring to assist the
diagnosis of absolute-position faults.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 97
Axis Monitoring, Protection Zones (A3)
Axis monitoring
Note
In addition to $VA_ENC_ZERO_MON_ERR_CNT, the following system variables are
helpful for zero-mark diagnostics:
• $VA_ABSOLUTE_ENC_ERR_CNT (error counter in the absolute encoder)
• $VA_ABSOLUTE_ENC_STATE (absolute-encoder interface state)
• $VA_ENC_ZERO_MON_ACT (current internal values for zero-mark monitoring)
• $VA_ABSOLUTE_ENC_ZERO_MON_MAX (maximum for
$VA_ENC_ZERO_MON_ACT)
In the case of problems with settings, these system variables should also be logged
permanently via a synchronized action.
Note
Depending on the rigidity of the machine is (minimal load masses/moments of inertia are
optimum) and the controller settings, the control play "oscillates" with varying degrees of
intensity. Account must be taken of this by entering machine-specific limit values in
MD36310.
NOTICE
Upgrading the NCK software
If zero-mark monitoring is activated in absolute encoders (MD36310 > 0), the existing
MD36310 settings must be checked and, if necessary, increased during an upgrade of
the NCK software.
Fault
Alarm 25020
If zero-mark monitoring is tripped in the active measuring system, alarm 25020 appears:
"Axis <Axis identifier> Zero-mark monitoring of active encoder"
The affected axis is stopped via the configured braking ramp in follow-up mode:
Basic Functions
98 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Axis monitoring
MD36610 $MA_AX_EMERGENCY_STOP_TIME
(Maximum time for braking ramp when an error occurs)
Alarm 25021
If zero-mark monitoring is tripped in the passive measuring system alarm 25021 appears:
"Axis <Axis identifier> Zero-mark monitoring of passive encoder"
There is no further alarm response.
Alarm 25022
If the absolute value transfer is interrupted, alarm 25022 appears:
"Axis <Axis identifier> Encoder <Encoder number> Warning <Error fine identification>
There is no further alarm response.
Note
In the event of a fault, the adjustment of the absolute encoder is lost and the axis is no
longer referenced. The absolute encoder must be readjusted.
References:
Function Manual, Basic Functions; Reference Point Approach (R1);
chapter: Referencing with absolute encoders
NOTICE
Errors in the incremental track that cannot be detected with amplitude monitoring can cause
position deviations in the millimeter range. The deviation depends on the lattice pitch/line
count and the traversing velocity of the axis when the error occurs.
Complete position monitoring is only possible through redundancy, i.e. through comparison
with an independent second measuring system.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 99
Axis Monitoring, Protection Zones (A3)
Axis monitoring
Example:
Users can adjust the alarm and reaction behavior so that when machining an expensive
workpiece, which could be damaged if the axis is stopped as a result of an alarm, machining
stops before the machining quality of the workpiece is assessed using appropriate
synchronized action commands.
Effectivity
Customized monitoring can be activated in parallel to or as an alternative to standard zero-
mark monitoring, depending on the setting in machine data:
MD36310 $MA_ENC_ZERO_MONITORING (Zero-mark monitoring)
MD36310 Meaning
0 Customized monitoring is active, standard zero-mark monitoring is deactivated.
>0 Customized monitoring and standard zero-mark monitoring operate in parallel.
100 All encoder monitoring functions are deactivated.
If both monitoring functions are active (MD36310 > 0), you can perform cascaded
monitoring.
Example:
If a value falls below the threshold specified in MD36310, customized monitoring triggers a
prewarning; standard zero-marking monitoring will only detect a fault if the threshold is
exceeded and will then deactivate automatically.
System variables
You can implement customized error reactions using the following system variables:
Measuring systems with incremental encoders
n: Encoder number
ax: Machine axis
Basic Functions
100 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Axis monitoring
n: Encoder number
ax: Machine axis
Function
This monitoring function monitors the measuring systems of a machine axis for hardware
faults (e.g. measuring system failure, open circuit).
Fault
Alarm 25000
If a hardware fault is detected in the active measuring system, alarm 25000 appears:
"Axis <Axis identifier> Hardware fault active encoder"
The affected axis is stopped via the configured braking ramp in follow-up mode:
MD36610 $MA_AX_EMERGENCY_STOP_TIME
(Maximum time for braking ramp when an error occurs)
Alarm 25001
If a hardware fault is detected in the passive measuring system, alarm 25001 appears:
"Axis <Axis identifier> Hardware fault passive encoder"
There is no further alarm response.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 101
Axis Monitoring, Protection Zones (A3)
Axis monitoring
NOTICE
For hardware faults, the referencing status of the machine axis is reset:
DB31, ... DBX60.4/60.5 = 0 (referenced/synchronized 1/2)
Encoder-limit-frequency monitoring
In the case of systems with PROFIBUS drives, encoder-limit-frequency monitoring is also
performed in the NCK.
Zero-mark monitoring
PROFIBUS drives with incremental encoders
Zero-mark monitoring is performed by the drive software.
PROFIBUS drives with absolute encoders
The drive software performs the monitoring function, while the plausibility check is carried
out in the NCK (as for SIMODRIVE 611D systems).
Basic Functions
102 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Axis monitoring
Function
A hardware limit switch is normally installed at the end of the traversing range of a machine
axis. It serves to protect against accidental overtravelling of the maximum traversing range of
the machine axis while the machine axis is not yet referenced.
If the hardware limit switch is triggered, the PLC user program created by the machine
manufacturer sets the corresponding interface signal:
DB 31, ... DBX12.0/12.1 = 1 (Hardware limit switch minus/plus)
Parameterization
The braking behavior of the machine axis upon reaching the hardware limit switch is
configurable via the machine data:
MD36600 $MA_BRAKE_MODE_CHOICE (Braking behavior on hardware limit switch)
Value Significance
0 Braking with the configured axial acceleration
1 Rapid stop (set velocity = 0)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 103
Axis Monitoring, Protection Zones (A3)
Axis monitoring
Effectivity
The hardware limit-switch monitoring is active after the control has ramped up in all modes.
Effect
Upon reaching the hardware limit switch, the following occurs:
● Alarm 21614 "Channel <Channel number> Axis <Axis identifier> Hardware limit switch
<Direction>"
● The machine axis is braked according to the configured braking behavior.
● If the axis/spindle is involved in interpolation with other axes/spindles, these are also
braked according to their configured braking behavior.
● The traversing keys of the affected machine axis are blocked based on the direction.
Function
Software limit switches serve to limit the traversing range of a machine axis. Per machine
axis and per traversing direction, two (1st and 2nd) software limit switches are available:
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)
By default, the 1st software limit switch is active. The 2nd software limit switch can be
activated for a specific direction with the PLC user program:
DB31, ... DBX12.2/12.3 (2nd software limit switch minus/plus)
Effectivity
The software limit switches are active:
● immediately after the successful referencing of machine axis.
● in all operating modes.
Constraints
● The software limit switches refer to the machine coordinate system.
● The software limit switches must be inside the range of the hardware limit switches.
● The machine axis can be moved to the position of the active software limit switch.
Basic Functions
104 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Axis monitoring
● PRESET
After use of the function PRESET, the software limit-switch monitoring is no longer active.
The machine must first be re-referenced.
● Endlessly rotating rotary axes
No software limit-switch monitoring takes place for endlessly rotating rotary axes:
MD30310 $MA_ROT_IS_MODULO == 1 (Modulo conversion for rotary axis and spindle)
Exception: Setup-rotary axes
Effects
Automatic operating modes (AUTOMATIC, MDI)
● Without transformation, without overlaid movement, unchanged software limit switch:
A part program block with a programmed traversing motion that would lead to
overrunning of the software limit switch is not started.
● With transformation:
Different reactions occur depending on the transformation type:
– Behavior as above.
or
– The part program block with a programmed traversing motion that would lead to
overrunning of the software limit switch is started. The affected machine axis stops at
the active software limit switch. The other machine axes participating in the traversing
motion are braked. The programmed contour is left during this process.
● With overlaid motion
The part program block with a programmed traversing motion that would lead to
overrunning of the software limit switch is started. Machine axes that are traveling with
overlaid motion or have traveled with overlaid motion stop at the active software limit
switch in question. The other machine axes participating in the traversing motion are
braked. The programmed contour is left during this process.
Manual operating modes
● JOG without transformation
The machine axis stops at the software limit switch position.
● JOG with transformation
The machine axis stops at the software limit switch position. Other machine axes
participating in the traversing motion are braked. The preset path is left during this
process.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 105
Axis Monitoring, Protection Zones (A3)
Axis monitoring
General
● Changing of the software limit switch (1st ↔ 2nd software limit switch)
If the actual position of the machine axis after changing lies behind the software limit
switch, it is stopped with the maximum permissible acceleration.
● Overrunning the software limit switch in JOG mode
If the position of the software limit switch is reached and renewed pressing of the
traversing button should cause further travel in this direction, an alarm is displayed and
the axis is not traversed farther:
Alarm 10621 "Channel <Channel number> Axis <Axis identifier> is at the software limit
switch <Direction>"
2.2.8.1 General
Function
The "working area limitation" function can be used to limit the traversing range of a channel's
geometry and special axes to a permissible operating range. The function monitors
compliance with working area limits both in AUTOMATIC mode and in JOG mode.
The following versions are available:
● Working area limitation in the Basic Coordinate System (BCS)
The traversing range limits are specified relative to the Basic Coordinate System.
● Working area limitation in the workpiece coordinate system (WCS) or adjustable zero
system (AZS)
The traversing range limits are specified relative to the workpiece coordinate system or to
the adjustable zero system.
The two types of monitoring are independent of each other. If they are both active at the
same time, the traversing range limit which most restricts the access will take effect,
depending on the direction of travel.
Basic Functions
106 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Axis monitoring
Note
The machine data $MC_TRAFO_INCLUDES_TOOL_... is analyzed only in certain
transformations. Condition for a possible evaluation is that the orientation of the tool
with respect to the base coordinate system cannot be changed by the transformation.
With standard transformations, the condition is only fulfilled for the "inclined axis" type
of transformation.
Response
Automatic operating modes
● With/without transformation
The part program block with a programmed traversing motion that would lead to
overrunning of the working area limits is not executed.
● With superimposed motion
The axis, which would violate the working area limitation due to a superimposed motion,
is braked with maximum acceleration and without jerk limits (BRISK), and will come to a
stop in the position of the working area limitation. Other axes involved in the movement
are braked according to current acceleration behavior (e.g. SOFT). The path correlation
may be lost due to different braking accelerations (contour violation).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 107
Axis Monitoring, Protection Zones (A3)
Axis monitoring
Power-up response
If an axis moves outside the permissible working area when activating the working area
limits, it will be stopped promptly with the maximum permissible acceleration.
Geo-axis replacement
Through the following machine data it is adjustable, whether during geometry axis change
the active working area limitation is retained or deactivated:
MD10604 $MN_WALIM_GEOAX_CHANGE_MODE = <value>
Value = 0: The working area limitation is deactivated during the geometry axis change.
Value = 1: The working area limitation remains activated during the geometry axis change.
Application
Using the "working area limitation in BKS", the working area of a machine tool is limited so
that the surrounding devices (e.g. tool revolver, measuring stations) are protected against
damage.
Basic Functions
108 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Axis monitoring
3URJUDPPDEOHZRUNLQJ
;
DUHDOLPLWDWLRQ
*
; PD[
=
:
*
; PLQ * *
= PLQ = PD[
The programmed working area limitation has priority and overwrites the values entered in
SD43420 and SD43430.
Activation/Deactivation
Working area limitation through setting data
The activation/deactivation of the working area limitation for each axis takes place in a
direction-specific manner via the immediately effective setting data:
SD43400 $SA_WORKAREA_PLUS_ENABLE (Working area limitation active in the positive
direction)
SD43410 $SA_WORKAREA_MINUS_ENABLE (Working area limitation active in the
negative direction)
Value Significance
0 The working area limitation in positive or negative direction is switched off.
1 The working area limitation in positive or negative direction is active.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 109
Axis Monitoring, Protection Zones (A3)
Axis monitoring
Reset position
The reset position for the working area limitation (WALIMON or WALIMOF) is configurable via:
MD20150 $MC_GCODE_RESET_VALUES (RESET position of G groups)
Application
The working area limitation in the workpiece coordinate system (WCS) or adjustable zero
system (AZS) is mainly intended for defining working area limits in conventional lathes.
This allows "stops" to be defined for the channel axes, thereby enabling workpiece-specific
limits to be defined for the working area.
Basic Functions
110 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Axis monitoring
Parameters
<GN> Number of the working area limitation group
<AN> Channel axis number
The definition is given by writing the system variables through the user interface or in the
part program.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 111
Axis Monitoring, Protection Zones (A3)
Axis monitoring
Value Significance
1 Working area limitation based on the WCS
3 Working area limitation based on the AZS
Activation
The working area limitations for a working area limitation group are activated by means of
the NC program command WALCSn, where n is the number of the working area limitation
group:
Deactivation
Working area limitations are deactivated by the NC program command:
Basic Functions
112 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Axis monitoring
Note
For the storage of the limiting values for the linear axes, the default setting is considered for
the system of units (MD10240 $MN_SCALING_SYSTEM_IS_METRIC).
Data backup
The values of the system variables can be saved in specific backup files:
Note
The values of the system variables for the definition of the "working area limitations in
WKS/ENS" are also component of the file "_N_INITIAL_INI".
Effects
JOG mode
If in the JOG-mode several geometry axes are traversed simultaneously (e.g. using several
handwheels) and a rotating frame is active between the base coordinate system and the
reference coordinate system of the working area limitation (WCS or AZS), then a response
of the monitoring leads to the fact that the movements of the involved geometry axes are
continued in a straight line and stopped at the working area limits.
Reset response
The reset behavior or reset position of the working area limitation in the WCS/AZS can be
set via the following machine data:
MD20150 $MC_GCODE_RESET_VALUE[59] (reset position of G groups)
MD20152 $MC_GCODE_RESET_MODE[59] (reset behavior of G groups)
● Certain working area limitation group as a reset position
MD20152 $MC_GCODE_RESET_MODE[59] = 0
MD20150 $MC_GCODE_RESET_VALUE[59] = n
A reset causes the activation of working area limitation group n in accordance with
WALCSn.
● Last working area limitation group active in the part program as a reset position
MD20152 $MC_GCODE_RESET_MODE[59] = 1
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 113
Axis Monitoring, Protection Zones (A3)
Protection zones
2.3.1 General
Function
Protection zones are static or moveable in 2- or 3-dimensional ranges within a machine to
protect machine elements against collisions.
The following elements can be protected:
● Permanent parts of the machine and attachments (e.g. tool-holding magazine, swiveling
probe). Only the elements that can be reached by possible axis constellations are
relevant.
● Moving parts belonging to the tool (e.g. tool, toolholder)
● Moving parts belonging to the workpiece (e.g. parts of the workpiece, clamping table,
clamping shoe, spindle chuck, tailstock).
Protection zones are defined via part program instructions or system variables so that they
completely surround the element to be protected. The activation and deactivation of
protection zones also takes place via part program instructions.
Protection-zone monitoring by the NC is channel-specific, i.e. all the active protection zones
of a channel monitor one another for collisions.
Coordinate system
The definition of a protection zone takes place with reference to the geometric axis of a
channel in the basic coordinate system.
Basic Functions
114 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Protection zones
Referenc
● Tool-related protection zones
Coordinates for tool-related protection zones must be given as absolute values referred
to the tool carrier reference point F.
● Workpiece-related protection zones
Coordinates for workpiece-related protection zones must be given as absolute values
referred to the zero point of the basic coordinate system.
Note
If no tool-related protection zone is active, the tool path is checked against the workpiece-
related protection zones.
If no workpiece-oriented protection zone is active, protection-zone monitoring does not
take place.
Orientation
The orientation of the protection zones is determined by the plane definition
(abscissa/ordinate), in which the contour is described, and the axis perpendicular to the
contour (vertical axis).
The orientation of the protection zones must be the same for the tool and workpiece-related
protection zones.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 115
Axis Monitoring, Protection Zones (A3)
Protection zones
Coordinates
The coordinates of a protection zone must always be programmed as absolute values with
respect to the reference point of the protection zone. When the protection zone is activated
via the part program it is possible to apply a relative offset to the reference point of the
protection zone.
Examples
In the following figures some examples for protection zones have been presented:
:RUNSLHFHUHODWHG
; SURWHFWLRQ]RQHIRU 7RROKROGHU
VSLQGOHFKXFN
:RUNSLHFHUHODWHG
SURWHFWLRQ]RQHIRU
WRROKROGHU
'ULOO
0 3
=
:
;
Basic Functions
116 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Protection zones
< 7RROUHODWHG
SURWHFWLRQ]RQH
7RROUHODWHG
SURWHFWLRQ]RQH
:RUNSLHFHUHODWHG
; SURWHFWLRQ]RQH
=
:RUNSLHFHUHODWHG
SURWHFWLRQ]RQHIRU
3 WDLOVWRFN
: =
Figure 2-10 Example of a turning machine with relative protection zone for tailstock
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 117
Axis Monitoring, Protection Zones (A3)
Protection zones
General
A protection-zone definition must contain the following information:
● Protection zone type (workpiece- or tool-related)
● Orientation of the protection zone
● Type of limitation in the third dimension
● Upper and lower limits of the protection zone in the third dimension
● Activation type ("Protection zone immediately active": only possible via system variable)
● Contour elements
Definition beginning
The definition start is defined by the corresponding subroutine:
● CPROTDEF(n, t, applim, appplus, appminus)
● NPROTDEF(n, t, applim, appplus, appminus)
Basic Functions
118 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Protection zones
([WHUQDOSURWHFWLRQ]RQH
;
,QWHUQDOSURWHFWLRQ]RQH
3
: =
,QWHUQDOSURWHFWLRQ]RQH
;
Tool-related protection zones must be convex. If a concave protection zone is required, the
protection zone must be divided up into several convex protection zones.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 119
Axis Monitoring, Protection Zones (A3)
Protection zones
&RQYH[SURWHFWLRQ]RQHV
&RQFDYHSURWHFWLRQ]RQHV QRWSHUPLVVLEOH
Contour elements
The following contour elements are permissible:
● G0, G1 for straight contour elements
● G2 for circle segments in the clockwise direction
Permissible only for workpiece-related protection zones.
Not permissible for tool-related protection zones because they must be convex.
● G3 for circular segments in the counter-clockwise direction
A protection zone cannot be described by a complete circle. A complete circle must be
divided into two half circles.
The sequence G2, G3 or G3, G2 is not permitted. A short G1 block must be inserted
between the two circular blocks.
Constraints
During the definition of a protection zone, the following functions must not be active or used:
● Tool radius compensation (cutter radius compensation, tool nose radius compensation)
● Transformation
● Reference point approach (G74)
● Fixed point approach (G75)
● Dwell time (G4)
● Block search stop (STOPRE)
● End of program (M17, M30)
● M functions: M0, M1, M2
Programmable frames (TRANS, ROT, SCALE, MIRROR) and configurable frames (G54 to G57)
are ineffective.
Basic Functions
120 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Protection zones
End of definition
The end of definition is defined by the following subroutine:
EXECUTE(NOT_USED)
General
If the protection zones are defined with part program instructions (see Chapter: Definition for
each part program instructions), the protection zone data are stored in system variables.
The system variables can also be written directly so that the definition of protection areas
can also be performed directly in the system variables.
The same supplementary conditions apply for the definition of the contour of a protection
zone as for a protection-zone definition via part program instructions.
System variables
The protection zone definitions cover following system variables:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 121
Axis Monitoring, Protection Zones (A3)
Protection zones
Note
The system variables of the protection-zone definitions are not restored with REORG.
File Blocks
_N_NCK_PRO Data block for NC-specific protection zones
_N_CHAN1_PRO Data block for channel-specific protection zones in channel 1
_N_CHAN2_PRO Data block for channel-specific protection zones in channel 2
Basic Functions
122 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Protection zones
Data backup
The protection-zone definitions are saved in the following files:
File Blocks
_N_INITIAL_INI All data blocks of the protection zones
_N_COMPLETE_PRO All data blocks of the protection zones
_N_CHAN_PRO All data blocks of the channel-specific protection zones
General information
The activation status of a protection zone is:
● Preactivated
● Preactivated with conditional stop
● Enabled
● Deactivated
A protection zone is monitored for violation only when it is activated.
Activation
The activation of a protection zone can take place through:
● Part program instruction
● Automatically after the control powers up
● PLC user program
For activation through the PLC user program, the protection zone must be first
preactivated via a part program.
The preactivation, deactivation and activation of all protection zones always takes place
channel-specifically. A protection zone can also be active in multiple channels
simultaneously (application example: Double-slide single-spindle machine with one quill and
two machining slides.
Protection zones are activated immediately after the runup of the control, if the
corresponding system variable $SN_PA_ACTIV_IMMED[n] or. $SC_PA_ACTIV_IMMED[n]
has been set.
Note
Machine-related protection zones are activated after the runup of the control in all channels.
An activated protection zone is only taken into account after the successful referencing of all
participating geometry axes.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 123
Axis Monitoring, Protection Zones (A3)
Protection zones
Preactivation
Only preactivated protection zones can be activated from the PLC user program.
; 3UHDFWLYDWHGSURWHFWLRQ]RQH
: =
Figure 2-13 Example: Turning machine with preactivated protection zone for a sensor.
Memory requirements
The memory requirement of the persistent memory is determined with following machine
data:
MD18190 $MN_MM_NUM_PROTECT_AREA_NCK (Number of available machine-defined
protection zones)
MD28200 $MC_MM_NUM_PROTECT_AREA_CHAN (Number of available channel-defined
protection zones)
The memory requirement in the dynamic part with regard to the protection zones is
established with following machine data:
MD28210 $MC_MM_NUM_PROTECT_AREA_ACTIVE (Maximum number of protection
zones that can be activated simultaneously in the channel)
MD28212 $MC_MM_NUM_PROTECT_AREA_CONTUR (Maximum number of definable
contour elements per protection zone)
Basic Functions
124 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Protection zones
Offsets
During preactivation or activation of the protection zone, an offset can be entered in 0 to 3
dimensions. The offset refers to:
● Workpiece-related protection zones: Machine zero
● Tool-related protection zones: Tool holder reference point F
Note
A protection zone cannot be activated in a single channel with different offsets
simultaneously.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 125
Axis Monitoring, Protection Zones (A3)
Protection zones
Protection-zone violation
Activated and preactivated protection zones that are or would be violated by the
programmed traversing motions of the current part-program block if the PLC user program
would activate the preactivated protection zone:
DB21, ... DBX276.0 to DBX277.1 (machine-related protection zone 1 - 10 violated).
DB21, ... DBX278.0 to DBX279.1 (channel-specific protection zone 1 - 10 violated).
Activate
The preactivated protection zones can be activated from the PLC user program:
DB21, ... DBX8.0 to DBX9.1 (Activate machine-related protection zone 1 - 10)
DB21, ... DBX10.0 to DBX11.1 (Activate channel-specific protection zone 1 - 10)
Deactivation
Protection zones activated from the part program cannot be deactivated by the PLC user
program.
Note
It follows from the rules listed above that protection zones that should be activated via the
PLC user program are intended specially for this. Preactivation in the part program is only
useful for these protection zones.
For protection zones that are known only in the part program and not in the PLC user
program, only activation in the part program makes sense.
Program test
In automatic modes, activated and preactivated protection zones are monitored even during
program control: PROGRAM TEST.
Basic Functions
126 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Protection zones
Function
Workpiece and tool-related protection zones that are activated or deactivated are monitored
for collision. If a protection-zone violation is detected, behavior in the individual operating
modes is as follows.
Terminating temporary enabling
Temporary enabling of a protection zone is terminated after the following events:
● after NC RESET
● Operating modes AUTOMATIC or MDA End of block is outside the protection zone
● Manual operating modes: End of movement is outside the protection zone
● Activating a protection zone
On NC RESET all the enabled protection zones become active again. If the part program or
jog mode is started again, the protection zones must be re-enabled. If the current position
lies within a protection zone that becomes active again after NC RESET, this protection zone
must be enabled again on the first path movement.
Preactivated protection zones
Protection zones can be preactivated with part programs. To make them fully operative, they
must also be set to the "operative" state by the PLC.
In contrast to AUTOMATIC mode, a change in the NC/PLC interface signals "Make
preactivated protection zones operative" only has an effect on stationary axes in the
geometry system. This means: If an inoperative protection zone is made "operative" once a
motion has been started, it is not evaluated until the axes have stopped, possibly resulting in
the output of an alarm.
If a preactivated protection zone is made "operative" during traversing, the alarm 10704
"Protection-zone monitoring is not guaranteed" and the PLC interface signal are set:
DB31, ... DBX39.0 (protection-zone monitoring not guaranteed).
Deactivation of tool-related protection zones
Tool-related protection zones can be deactivated only in the part program or, if they have
been preactivated, by being rendered "inoperative" by the PLC.
Geometry axis change and transformation change
Through the following machine data it is adjustable, whether active protection zones are
retained or deactivated during the geometry axis change or transformation change:
MD10618 $MN_PROTAREA_GEOAX_CHANGE_MODE
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 127
Axis Monitoring, Protection Zones (A3)
Protection zones
)RUSUHDFWLYDWHGSURWHFWLRQ]RQHDFWLYDWHGE\3/&
Y )RUSUHDFWLYDWHGSURWHFWLRQ]RQHGHU RUIRUDFWLYDWHGSURWHFWLRQ]RQHDIWHUUHOHDVHRI
QRWDFWLYDWHGE\3/& FDVH SURWHFWLRQ]RQH FDVH
W
1 1 1 1 1 1
Figure 2-14 Behavior of the path velocity when entering a protection zone
Basic Functions
128 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Protection zones
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 129
Axis Monitoring, Protection Zones (A3)
Protection zones
Note
The end position for positioning axes is taken to be a position in the whole block. This means
that the alarm 10704 "Protection zones not guaranteed" is output when the positioning axis
starts to move. The overlaid motions themselves are not limited, nor is there any intervention
in processing of the program.
(QGSRLQWRIWKHPRWLRQZLWK
FRQWLQXRXV-2*
0D[D[LDOSDWKZLWK
-2*ZLWKDVLQJOH
D[LV
6WDUWSRLQW
When the geometry axes have completed their movements (end of interpolation), the alarm
is automatically reset and the final position checked to see whether it is within one or several
protection zones.
Basic Functions
130 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Protection zones
Note
While any one axis in the geometry system is still oscillating, the status "Motions of axes
in geometry system completed" cannot be reached.
The warning remains active, the other axes in the geometry system can continue to
traverse.
The alarm "Protection zone reached in JOG" is not output if the motion of the first axis to
be started is terminated by the limitation determined prior to the motion.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 131
Axis Monitoring, Protection Zones (A3)
Protection zones
Basic Functions
132 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Protection zones
Positioning axes
For positioning axes, only the programmed block end point is monitored.
An alarm is displayed during the traversing motion of the positioning axes:
Alarm: "10704 Protection-zone monitoring is not guaranteed".
Axis exchange
If an axis is not active in a channel because of an axis replacement, the position of the axis
last approached in the channel is taken as the current position. If this axis has not yet been
traversed in the channel, zero is taken as the position.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 133
Axis Monitoring, Protection Zones (A3)
Supplementary conditions
Settings
For correct operation of the monitoring, the following settings must be made or checked, in
addition to the machine data mentioned:
General
● MD31030 $MA_LEADSCREW_PITCH (Leadscrew pitch)
● MD31050 $MA_DRIVE_AX_RATIO_DENOM (Denominator load gearbox)
● MD31060 $MA_DRIVE_AX_RATIO_NUMERA (Numerator load gearbox)
● MD31070 $MA_DRIVE_ENC_RATIO_DENOM (Denominator measuring gearbox)
● MD31080 $MA_DRIVE_ENC_RATIO_NUMERA (Numerator measuring gearbox)
● MD32810 $MA_EQUIV_SPEEDCTRL_TIME (equivalent time constant speed control loop
for feedforward control)
● Encoder resolution
The corresponding machine data is described in:
References:
/FB1/ Function Manual, Basic Functions; Velocities, Setpoint/Actual Value Systems,
Closed-Loop Control (G2)
Only drives with analog speed setpoint interface
● MD32260 $MA_RATED_VELO (Nominal motor speed)
● MD32250 $MA_RATED_OUTVAL (Nominal output voltage)
Basic Functions
134 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Examples
2.5 Examples
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 135
Axis Monitoring, Protection Zones (A3)
Examples
Basic Functions
136 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Examples
...
N100 WALCS2 ...
...
Requirement
The following internal protection zones are to be defined for a turning machine:
● One machine- and workpiece-related protection zone for the spindle chuck, without
limitation in the third dimension
● One channel-specific protection zone for the workpiece, without limitation in the third
dimension
● One channel-specific, tool-related protection zone for the toolholder, without limitation in
the third dimension
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 137
Axis Monitoring, Protection Zones (A3)
Examples
The workpiece zero is placed on the machine zero to define the protection zone for the
workpiece.
When activated, the protection zone is then offset by 100mm in the Z axis in the positive
direction.
6WDUWSRLQW
)
3URWHFWLRQ]RQH 7RROKROGHU
;
IRUVSLQGOHFKXFN
6WDUWSRLQW
6WDUWSRLQW
'ULOO
0 3
: 5 =
3URWHFWLRQ]RQH
IRUWRROKROGHU
3URWHFWLRQ]RQH
IRUZRUNSLHFH
;
DEF INT AB
G18 ; Definition of the working plane
NPROTDEF(1,FALSE,0,0,0) ; Definition beginning: Protection zone for
spindle chuck
G01 X100 Z0 ; Contour description: 1st contour element
G01 X-100 Z0 ; Contour description: 2nd contour element
G01 X-100 Z110 ; Contour description: 3rd contour element
G01 X100 Z110 ; Contour description: 4th contour element
G01 X100 Z0 ; Contour description: 5th contour element
EXECUTE(AB) ; End of definition: Protection zone for
spindle chuck
CPROTDEF(1,FALSE,0,0,0) ; Definition beginning: Protection zone for
workpiece
G01 X80 Z0 ; Contour description: 1st contour element
Basic Functions
138 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Examples
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 139
Axis Monitoring, Protection Zones (A3)
Examples
Basic Functions
140 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Examples
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 141
Axis Monitoring, Protection Zones (A3)
Examples
Basic Functions
142 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Examples
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 143
Axis Monitoring, Protection Zones (A3)
Examples
Basic Functions
144 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Examples
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 145
Axis Monitoring, Protection Zones (A3)
Examples
Activation
Table 2- 4 Part program excerpt for activating the three protection zones for spindle chuck,
workpiece, and toolholder:
Basic Functions
146 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Data lists
Axis monitoring
Protection zones
Axis monitoring
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 147
Axis Monitoring, Protection Zones (A3)
Data lists
Protection zones
Axis monitoring
Basic Functions
148 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Data lists
Protection zones
None
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 149
Axis Monitoring, Protection Zones (A3)
Data lists
Protection zones
None
2.6.3 Signals
Axis monitoring
None
Protection zones
Basic Functions
150 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axis Monitoring, Protection Zones (A3)
Data lists
Protection zones
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 151
Axis Monitoring, Protection Zones (A3)
Data lists
Protection zones
None
Basic Functions
152 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1) 3
3.1 Brief description
Continuous-path mode
In continuous-path mode, the NC attempts to keep the programmed path velocity as
constant as possible. In particular, deceleration of the path axes at the block limits of the part
program is to be avoided.
LookAhead
LookAhead is a function for optimizing the continuous path mode.
Smooth machining of workpieces is necessary to ensure a high-quality surface finish. For
this reason, path velocity variations should be avoided during machining whenever possible.
Without LookAhead, the NC only takes the traversing block immediately following the current
traversing block into consideration when determining the possible path velocity. If the
following block contains only a short path, the NC must reduce the path velocity (decelerate
in the current block) to be able to stop in time at the end of the next block, if necessary.
When the NC "looks ahead" over a configurable number of traversing blocks following the
current traversing block, a much higher path velocity can be attained under certain
circumstances because the NC now has considerably more traversing blocks and more path
available for calculation.
This results in the following advantages:
● Machining with higher path velocities on average
● Improved surface quality by avoiding deceleration and acceleration processes
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 153
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Brief description
Basic Functions
154 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Brief description
NC block compression
When a workpiece design is completed with a CAD/CAM system, the CAD/CAM system
generally also compiles the corresponding part program to create the workpiece surface. To
do so, most CAD/CAM systems use linear blocks to describe even curved sections of the
workpiece surface. Many interpolation points are generally necessary to maintain the
required contour accuracy. This results in many linear blocks, typically with very short paths.
The "NC block compressor" function uses polynomial blocks to perform a subsequent
approximation of the contour specified by the linear blocks. During this process, an
assignable number of linear blocks is replaced by a polynomial block. Furthermore, the
number of linear blocks that can be replaced by a polynomial block also depends on the
specified maximum permissible contour deviation and the contour profile.
Use of polynomial blocks provides the following advantages:
● Reduction of the number of required part program blocks for describing the workpiece
contour
● Higher maximum path velocities
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 155
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Brief description
As with linear interpolation, the processing of splines can produce such short blocks that the
path velocity must be reduced to enable interpolation of the spline blocks. This is alao the
case, when the spline actually has a long, smooth curve. The "Combine short spline blocks"
function allows you to combine these spline blocks such that the resulting block length is
sufficient and does not reduce the path velocity.
Note
NC block compressor
The NC block compressor (COMPON, COMPCURV or COMPCAD) cannot be employed
while compressing spline blocks since it can only be used to compress linear blocks.
Basic Functions
156 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Exact stop mode
Application
Exact stop mode should always be used when the programmed contour must be executed
exactly.
Activation
Exact stop mode can be activated on a modal basis or in blocks in the part program:
G command Meaning
G60 Exact stop with modal effect
G9 Exact stop with block-by-block effect
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 157
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Exact stop mode
Exact stop criteria "Exact stop coarse" and "Exact stop fine"
The exact stop criteria "Exact stop coarse" and "Exact stop fine" are used to specify
tolerance windows for a machine axis reaching the "exact stop" state.
([DFWVWRSILQH 6(7326,7,21
$[LVGLUHFWLRQ $[LVGLUHFWLRQ
QHJDWLYH SRVLWLYH
([DFWVWRS
FRDUVH
$&78$/326,7,21
Parameters are assigned to the two exact stop criteria via the machine data:
MD36010 $MA_STOP_LIMIT_FINE (exact stop fine)
MD36000 $MA_STOP_LIMIT_COARSE (exact stop coarse)
Note
The tolerance windows of the exact stop criteria "Exact stop coarse" and "Exact stop fine"
should be assigned in such a way that the following requirement is fulfilled:
"Exact stop coarse" > "Exact stop fine"
Basic Functions
158 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Exact stop mode
Y %ORFNFKDQJH
:LWK*
$FWXDOYDOXH :LWK*
:LWK*
6HWSRLQW
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 159
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Exact stop mode
Basic Functions
160 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Exact stop mode
Assignable exact stop criterion for rapid traverse transitions in continuous path mode
The behavior at the block transition of part program blocks before and after rapid traverse
blocks can be parameterized as follows:
MD20552 $MC_EXACT_POS_MODE_G0_TO_G1 = <value>
Value Meaning
0 No additional stop at the block transition.
1 Stop at block transition: Same behavior as in the case of G601 (Exact stop window fine)
2 Stop at block transition: Same behavior as G602 (Exact stop window coarse).
3 Stop at block transition: Same behavior as G603 (Interpolator end).
4 Like 0, in addition, the override of the next non-G0 block is taken into account with
LookAhead in the G0 block during the transition from G0 to non-G0.
5 Like 0; in addition, the override of the next block is taken into account with LookAhead during
the transition from G0 to non-G0 and from non-G0 to G0.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 161
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
Continuous-path mode
In the continuous-path mode the path velocity is not decelerated for the block change in
order to permit the fulfillment of an exact stop criterion. The objective of this mode is to avoid
rapid deceleration of the path axes at the block-change point so that the axis velocity
remains as constant as possible when the program moves to the next block. To achieve this
objective, the "LookAhead" function is also activated when the continuous path mode is
selected.
Continuous-path mode causes the smoothing and tangential shaping of angular block
transitions by local changes in the programmed contour. The extent of the change relative to
the programmed contour can be limited by specifying the overload factor or rounding criteria.
Continuous-path operation causes:
● Contour rounding
● Shorter machining times through elimination of braking and acceleration processes that
are required to comply with the exact-stop criterion
● Improved cutting conditions because of the more constant velocity
Continuous-path mode is suitable if:
● A contour must be traversed as quickly as possible (e.g. with rapid traverse).
● The exact contour may deviate from the programmed contour within a specific tolerance
for the purpose of obtaining a continuous contour.
Continuous-path mode is suitable if:
● A contour is to be traversed precisely.
● An absolutely constant velocity is required.
Basic Functions
162 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
● If a positioning axis is declared to be the geometry axis, the previous block is terminated
at the interpolator end when the geometry axis is programmed.
● If a synchronized axis is programmed that was last programmed as a positioning axis or
spindle (initial setting of the special axis is positioning axis), the previous block is ended
at the interpolator end.
● If the transformation is changed, the block previously processed is terminated with the
active exact-stop criterion.
● A block is terminated on interpolator end if the following block contains the changeover of
the acceleration profile BRISK/SOFT.
References:
For more information about BRISK and SOFT, refer to the chapter "Acceleration (B2)".
● If the "empty buffer" function is programmed, the previous block is terminated when the
selected exact-stop criterion is reached.
Function
The function lowers the path velocity in continuous-path mode until the non-tangential block
transition can be traversed in one interpolation cycle while respecting the deceleration limit
and taking and overload factor into account.
With the reduced velocity, axial jumps in velocity are produced with a non-tangential contour
at the block transition. These jumps in velocity are also performed by the coupled motion
synchronized axes. 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.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 163
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
<D[LV
%ORFNFKDQJH
;D[LV
3DWKYHORFLW\
%ORFNFKDQJH W
9HORFLW\RI /HDGD[
WKH;D[LV
,32 W
F\FOH
9HORFLW\RI
WKH<D[LV /HDGD\
/HDGI\ D\
D[LDO
I\!I[! YHORFLW\MXPS
,32 W
I2YHUORDGIDFWRU F\FOH
With a practically tangential block transition, the path velocity is not reduced if the
permissible axial accelerations are not exceeded. This means that very small bends in the
contour (e.g. 0.5 degrees) are overtraveled directly.
Overload factor
The overload factor restricts step changes in the machine axis velocity at block ends. To
ensure that the velocity jump does not exceed the maximum load on the axis, the jump is
derived from the acceleration of the axis.
The overload factor indicates the extent by which the acceleration of the machine axis
(MD32300 $MA_MAX_AX_ACCEL) may be exceeded for an IPO-cycle.
The velocity jump results as follows:
Velocity jump = axis acceleration * (overload factor-1) * interpolator cycle.
The overload factor is saved in the machine data:
MD32310 $MA_MAX_ACCEL_OVL_FACTOR (overload factor for axial velocity jumps)
Basic Functions
164 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
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. This behavior is
equivalent to the function "Exact stop with interpolator end". This is undesirable for
continuous-path mode, so the factor must be set to greater than 1.0.
Note
For startup and installation, please note that the factor must be reduced if the machine is
likely to be subject to vibrations during angular block transitions and rounding is not to be
used.
By setting the following machine data, the block transitions are rounded independent of the
set overload factor with G641/G642:
MD20490 $MC_IGNORE_OVL_FACTOR_FOR_ADIS
Activation/Deactivation
Continuous-path mode with a reduction in speed according to the overload factor can be
activated in any NC part program block by the modal command G64.
Selecting the exact stop which works on a block-by-block basis enables rounding to be
interrupted (G9).
Continuous-path mode G64 can be deactivated by selecting:
● Modal exact stop G60
● Rounding G641, G642, G643, G644 or G645
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 165
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
3.3.3 Blending
Function
Rounding means that an angular block transition is changed to a tangential block transition
by a local change to the programmed contour. This gives the area in the vicinity of the
original angular block transition (including transitions between intermediate blocks inserted
by the CNC) a continuous contour.
During rounding, it is not only the geometry axes that are taken into account, but all machine
axes which traverse synchronously. The rounding function therefore smoothes the traversing
path of orientation axes as well as general velocity step changes in synchronized axes.
Note
Rounding cannot and should not replace the functions for defined smoothing, i.e. RND,
RNDM, ASPLINE, BSPLINE, CSPLINE.
If a rounding movement initiated by G641, G642, G643, G644 or G645 is interrupted, the
corner point of the original contour will be used for subsequent repositioning, rather than the
interruption point.
Synchronization
Rounding involves shortening discontinuously adjoining blocks and inserting one or two
intermediate blocks at this point. The original block boundary is removed and can no longer
be used for synchronization conditions (e.g. auxiliary function output parallel to motion, stop
at end of block).
With rounding, all synchronization conditions are best referred to the end of the shortened
first block and not to the end of the intermediate rounding block. The following block is thus
not started and with a stop at end of block, the contour of the following block can still be
changed.
Design
Rounding is only performed if the block transition is to be traveled with finite velocity. The
maximum path speed is influenced by the curvature. The maximum acceleration values of
the axes are not exceeded. A block without traverse information for the path axes requires
velocity "zero" and therefore no rounding.
Rounding is also used if the traversal of the block transition requires a velocity that lies below
the permissible velocity at the end of the block according to G64 (see overload factor).
Basic Functions
166 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 167
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
Synchronized axes
If a number of paths need to be synchronized (e.g. contour, special axis), then every path
must always have its own rounding area.
There are no practical means of achieving this exactly. Therefore, on the basis of the specific
meaning of the contour (geometry axis), the following procedure is applied:
Basic Functions
168 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
Function
In continuous-path mode with rounding according to a path criterion, the size of the rounding
area is influenced by the path criteria ADIS and ADISPOS.
The path criteria ADIS and ADISPOS describe the maximum distances which a rounding
block can occupy before and after a block.
SURJUDPPHG
3DWKFULWHULRQ EORFNLQWHUPHGLDWHSRLQW
$',6
$',6326
5RXQGLQJFRQWRXU
SURJUDPPHG
LQSXWEORFN SURJUDPPHG
RXWSXWEORFN
Note
Acute angles produce rounding curves with a large degree of curvature and therefore cause
a corresponding reduction in velocity.
Note
ADISPOS is programmed in the same way as ADIS, but must be used specifically for
movements in rapid traverse mode G00.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 169
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
● If a very small value is used for ADIS, the control must make sure that every interpolated
block, even an intermediate rounding block, contains at least one interpolation point. The
maximum path velocity is thereby limited to ADIS/interpolation cycle.
● Irrespective of ADIS and ADISPOS, the rounding area is limited by the block length.
In blocks with short distances (distance < 4* ADIS and < 4 * ADISPOS respectively), the
rounding distance is reduced so that a traversable part of the original block is retained.
The remaining length depends on the axis path and is approximately 60% of the distance
still to be traversed in the block. ADIS or ADISPOS is therefore reduced to the remaining
40% of the distance to be traversed. This algorithm prevents a rounding block being
inserted for a very small change in contour. In this case, switchover to continuous-path
mode G64 is automatic until rounding blocks can be inserted again.
1RFRUQHUURXQGLQJ
1
YE UHPDLQLQJSDWK
1
1
$',6
YESDWK1
1
$',6 $',6
YESDWK1 YESDWK1
%HJLQQLQJRI
EORFN1 $',6
Activation/Deactivation
Continuous-path mode with rounding based on a path criterion can be activated in any NC
part program block by the modal command G641. Before or on selection, the path criteria
ADIS/ADISPOS must be specified.
Selecting the exact stop which works on a block-by-block basis enables rounding to be
interrupted (G9).
Continuous-path mode with rounding based on a path criterion (G641) can be deactivated by
selecting:
● Modal exact stop (G60)
● Continuous-path mode G64, G641, G642, G644 or G645
Basic Functions
170 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
Programming example
Function
In continuous-path mode involving rounding in compliance with defined tolerances, the
rounding normally takes place while adhering to the maximum permissible path deviation.
Instead of these axis-specific tolerances, the maintenance of the maximum contour deviation
(contour tolerance) or the maximum angular deviation of the tool orientation (orientation
tolerance) can be configured.
Note
Expansion to include contour and orientation tolerance is only supported on systems
featuring the "Polynomial interpolation" option. When rounding in compliance with the
orientation tolerance, the additional option of "orientation transformation" is also necessary.
Activation
Continuous-path mode with rounding in compliance with defined tolerances can be activated
in any NC part program block by the modal command G642 or G643.
Selecting the exact stop which works on a block-by-block basis enables rounding to be
interrupted (G9).
Continuous-path mode with rounding in compliance with defined tolerances (G642/G643)
can be deactivated by selecting:
● Modal exact stop (G60)
● Continuous-path mode G64, G641, G644 or G645
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 171
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
G642 G643
With G642, the rounding path is determined on In the case of G643, each axis may have a
the basis of the shortest distance for rounding all different rounding path. The rounding travels are
axes. This value is taken into account when taken into account axis-specifically and block-
generating a rounding block. internally (⇒ no separate rounding block).
With G642, the rounding area results from the Very different specifications for the contour
smallest tolerance setting. tolerance and the tolerance of the tool orientation
can only have effect with G643.
Parameter assignment
Maximum path deviation
The maximum path deviation permitted with G642/G643 is set for each axis in the machine
data:
MD33100 $MA_COMPRESS_POS_TOL
Contour tolerance and orientation tolerance
The contour tolerance and orientation tolerance are set in the channel-specific setting data:
SD42475 $SC_SMOOTH_CONTUR_TOL (maximum contour deviation)
SD42466 $SC_SMOOTH_ORI_TOL (maximum angular deviation of the tool orientation)
The settings data can be programmed in the NC program and can in this way be specified
differently for each block transition.
Note
The setting data SD42466 $SC_SMOOTH_ORI_TOL is effective only in active orientation
transformation.
Rounding behavior
Rounding behavior with G642 and G643 is configured via the machine data:
MD20480 $MC_SMOOTHING_MODE (rounding behavior with G64x)
The units positions (E) define the behavior for G643, the tens positions (Z) the behavior for
G642:
Basic Functions
172 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
Value E or Z Description
0 All Axes:
Rounding by maintaining the maximum permitted path deviation:
MD33100 $MA_COMPRESS_POS_TOL
1 Geometry axes:
Rounding by maintaining the contour tolerance:
SD42465 $SC_SMOOTH_CONTUR_TOL
Remaining axes:
Rounding by maintaining the maximum permitted path deviation:
MD33100 $MA_COMPRESS_POS_TOL
2 Geometry axes:
Rounding by maintaining the orientation tolerance:
SD42466 $SC_SMOOTH_ORI_TOL
Remaining axes:
Rounding by maintaining the maximum permitted path deviation:
MD33100 $MA_COMPRESS_POS_TOL
3 Geometry axes:
Rounding by maintaining the contour tolerance and the orientation tolerance:
SD42465 $SC_SMOOTH_CONTUR_TOL
SD42466 $SC_SMOOTH_ORI_TOL
Remaining axes:
Rounding by maintaining the maximum permitted path deviation:
MD33100 $MA_COMPRESS_POS_TOL
4 All Axes:
The rounding length programmed with ADIS or with ADISPOS is used (as in case of
G641).
Any axis-specific tolerance or contour and orientation tolerance specifications are
ignored.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 173
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
Value Description
< 100: A profile of the limit velocity is calculated within the rounding area, based on the defined
maximum values for acceleration and jerk on the participating axes or path.
This can lead to an increase in the path velocity in the rounding area and therefore to
the acceleration of the participating axes.
≥100: A profile of the limit velocity is not calculated for rounding blocks with G641/G642.
A constant velocity limit is specified instead.
This prevents the participating axes being accelerated into the rounding area during
rounding with G641/G642. However, in certain cases, this setting can cause the
rounding blocks to be traversed too slowly, especially in large rounding areas.
1xx: No velocity profile for G641
2xx: No velocity profile for G642
Note
MD28530 $MC_MM_PATH_VELO_SEGMENTS (number of memory elements for limiting
the path velocity)
Constraints
Restriction for protection zones with active radius compensation and tool orientation:
Although tool radius compensation is applied for a tool orientation, which is not perpendicular
to one of the three datum planes of the basic coordinate system, the protection zones are
not rotated onto the corresponding plane.
For G643 the following must apply:
MD28530 $MC_MM_PATH_VELO_SEGMENTS > 0 (number of memory elements for
limiting the path velocity)
If this condition is met, then it must be applicable for all axes:
MD35240 $MC_ACCEL_TYPE_DRIVE = FALSE (acceleration characteristic line DRIVE for
axes on/off)
Basic Functions
174 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
Function
Maximizing the dynamic response of the axes is key to this type of continuous-path mode
with rounding.
Note
Rounding with G644 is only possible if:
• all the axes involved contain only a linear motion in both the observed blocks.
• no kinematic transformation is active
In case an involved axis contains a polynomial (polynomial programmed, spline active,
compressor active) or a kinematic transformation is active, the block transition is rounded
with G642.
Activation
Continuous-path mode with rounding with the maximum possible axial dynamic response
can be activated in any NC part program block by the modal command G644.
Selecting the exact stop which works on a block-by-block basis enables rounding to be
interrupted (G9).
Continuous-path mode with rounding with the maximum possible axial dynamic response
(G644) can be deactivated by selecting:
● Modal exact stop (G60)
● Continuous-path mode G64, G641, G642, G643 or G645
Parameter assignment
Rounding behavior with G644 is configured via the thousands and tens of thousands places
in the machine data:
MD20480 $MC_SMOOTHING_MODE (rounding behavior with G64x)
Value Description
Thousand's place:
0xxx: When rounding with G644, the maximum deviations for each axis specified by the
following machine data are respected:
MD33100 $MA_COMPRESS_POS_TOL
If the dynamics of the axis permit, then any specified tolerance is not utilized.
1xxx: Input the maximum rounding path by programming ADIS=... or ADISPOS=... (as for
G641).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 175
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
Value Description
2xxx: Input the maximum possible frequencies of each axis in the rounding area using the
machine data:
MD32440 $MA_LOOKAH_FREQUENCY (smoothing frequency for Look Ahead)
The rounding area is defined so that no frequencies in excess of the specified maximum
can occur while the rounding motion is in progress.
3xxx: Any axis that has a velocity jump at a corner traverses around the corner with the
maximum possible dynamic response (maximum acceleration and maximum jerk).
SOFT:
If SOFT is active, the maximum acceleration and the maximum jerk of each axis is
maintained.
BRISK:
If BRISK is active, only the maximum acceleration and not the maximum jerk of each axis
is maintained.
With this setting, neither the maximum deviations nor the rounding distance are checked.
The resulting deviations or rounding distances are determined exclusively by the dynamic
limits of the respective axis and the current path velocity.
4xxx: As in case of 0xxx, the maximum deviations of each axis specified with the following
machine data are used:
MD33100 $MA_COMPRESS_POS_TOL
Contrary to 0xxx, the specified tolerance is also utilized, if possible. Therefore, the axis
does not attain its maximum possible dynamics.
5xxx: As in case of 1xxx, the maximum possible rounding path is specified through
programming of ADIS=... or ADISPOS= respectively.
Contrary to 1xxx, the specified rounding path is also utilized, if possible. Therefore, the
axes involved do not attain their maximum possible dynamics.
Note
Apart from the ones mentioned, the following limitation can also become active additionally:
The rounding distance cannot exceed half the length of the original participating blocks.
Basic Functions
176 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
Jerk limitation
The smoothing of the velocity jump on each axis and thus the shape of the rounding path
depends on whether an interpolation is performed with or without jerk limitation.
Without jerk limitation the acceleration of each axis reaches its maximum value in the entire
rounding area.
9HORFLW\
3RVLWLRQ
7LPH
With jerk limitation, the jerk of each axis is limited to its maximum value within the rounding
area. The rounding motion thus generally consists of 3 phases:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 177
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
● Phase 1
During phase 1, each axis builds up its maximum acceleration. The jerk is constant and
equal to the maximum possible jerk on the respective axis.
● Phase 2
During phase 2, the maximum permissible acceleration is applied.
● Phase 3
During phase 3, which is the last phase, the acceleration of each axis is reduced back to
zero with the maximum permissible jerk.
9HORFLW\
3RVLWLRQ
7LPH
Basic Functions
178 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
Function
In continuous-path mode with rounding, rounding blocks are also only generated on
tangential block transitions if the curvature of the original contour exhibits a jump in at least
one axis.
The rounding movement is defined here so that the acceleration of all axes involved remains
smooth (no jumps) and the parameterized maximum deviations from the original contour
(MD33120 $MA_PATH_TRANS_POS_TOL) are not exceeded.
In the case of angular, non-tangential block transitions, the rounding behavior is the same as
with G642 (see "Rounding in compliance with defined tolerances (G642/G643) (Page 171)").
Activation/Deactivation
Continuous-path mode with rounding of tangential block transitions can be activated in any
NC part program block by the modal command G645.
Selecting the exact stop which works on a block-by-block basis enables rounding to be
interrupted (G9).
Continuous-path mode with rounding of tangential block transitions (G645) can be
deactivated by selecting:
● Modal exact stop (G60)
● Continuous-path mode G64, G641, G642, G644 or G645
Parameter assignment
The following machine data indicates the maximum permissible path deviation for each axis
during rounding with G645:
MD33120 $MA_PATH_TRANS_POS_TOL
This value is only of relevance to tangential block transitions with variable acceleration.
When angular, non-tangential block transitions are rounded, (as with G642) the tolerance
from MD33100 $MA_COMPRESS_POS_TOL becomes effective.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 179
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
See also
Free-form surface mode: Basic functions (Page 206)
3.3.4 LookAhead
Function
LookAhead is a function which is active in continuous-path mode (G64, G64x) and
determines a foreseeable velocity control for multiple NC part program blocks over and
beyond the current block.
Note
LookAhead is only available for path axes, not for spindles and positioning axes.
If a part program contains consecutive blocks with very small paths, only one velocity is
reached per block without LookAhead, enabling deceleration of the axes at the end of the
block while maintaining acceleration limits. This means that the programmed velocity is not
reached at all. With LookAhead, however, it is possible to implement the acceleration and
deceleration phase over multiple blocks with approximately tangential block transitions,
thereby achieving a higher feedrate with shorter distances.
)HHG
SURJUDPPHG
)
*/RRN$KHDGYHORFLW\FRQWURO
*&RQVWDQWYHORFLW\SKDVHFDQQRWEHDFKLHYHG
Figure 3-5 Velocity control with short distances and exact stop G60 or continuous-path mode G64
with LookAhead
Deceleration to velocity limits is possible with LookAhead such that violation of the
acceleration and velocity limit is prevented.
LookAhead takes plannable velocity limits into consideration such as:
Basic Functions
180 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
Principle
LookAhead carries out a block-specific analysis of velocity limits and specifies the required
brake ramp profile based on this information. LookAhead is adapted automatically to block
length, braking capacity and permissible path velocity.
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 serrated velocity profile (see the following fig.) which can be avoided
by reducing the set velocity or increasing the number of blocks considered by the
LookAhead function.
YVHW
Y Y DFW
Figure 3-6 Example for modal velocity control (number of blocks considered by the LookAhead
function = 2)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 181
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
Activation/Deactivation
LookAhead is activated by selecting continuous-path mode G64, G641, G642, G643, G644
or G645.
Selecting the exact stop which works on a block-by-block basis enables rounding to be
interrupted (G9).
LookAhead is deactivated by selecting the modal exact stop (G60).
Parameter assignment
Number of blocks
To achieve reliable axis traversal in continuous-path mode, the feedrate must be adapted
over several blocks. The number of blocks considered by the LookAhead function is
calculated automatically and can, if required, be limited by a machine data. The default
setting is "1", which means that LookAhead only considers the following block for velocity
control.
Because LookAhead is especially important for short blocks (relative to the deceleration
path), the number of blocks required is of interest for LookAhead braking. It is enough to
consider the path length to be equal to the deceleration path that is required to brake from
maximum velocity to standstill.
For a machine with a low axial acceleration of a = 1 m/s2 and a high feedrate of
vpath = 10 m/min, the following number of nLookAhead blocks are allocated to the control where it
has has an attainable block cycle time of TB = 10 ms:
nLookAhead = Deceleration path/Block length = ( vpath2 / (2a)) / (vpath * TB) = 9
Considering these conditions, it is advisable to adapt the feedrate over 10 blocks. The
number of blocks entered for the LookAhead function forecast does not change the
LookAhead algorithm and memory requirement.
Since the machining velocity is very often set to a lower value than the maximum velocity in
a program, more blocks than are required would be predicted, overloading the processor
unnecessarily. For this reason, the required number of blocks is derived from the velocity
which is calculated from the following multiplication:
● Programmed velocity * MD12100 $MN_OVR_FACTOR_LIMIT_BIN
(when using a binary-coded feed-rate override switch)
● Programmed velocity * MD12030 $MN_OVR_FACTOR_FEEDRATE[30]
(when using a gray-coded feed-rate override switch)
The value for MD12100 or the 31st override value for MD12030 defines the dynamic
response reserves which the velocity control provides for when the path feed is overshot.
Note
The 31st override value for MD12030 should correspond to the highest override factor which
is actually used.
Note
The number of blocks considered by the LookAhead function is limited by the possible
number of NC blocks in the IPO buffer.
Basic Functions
182 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
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.
● Determination of the 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.
The function is activated via the machine data:
MD20400 $MC_LOOKAH_USE_VELO_NEXT_BLOCK
Value Meaning
TRUE Function active
FALSE Function not active
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 183
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
Basic Functions
184 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
Y 9HORFLW\SURJUHVVLRQZLWKDQGRYHUULGH
Y PD[
3URJUDPPHG
VHWSRLQW
9HORFLW\SURILOHDQG
Note
If neither of the procedures has been activated, the setpoint velocity is always applied in the
current block.
Note
Plannable velocity limits restrict override-specific velocity limits.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 185
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
Limit conditions
Axis-specific feed stop/axis disable
Axis-specific feed stop and axis-specific axis disable are ignored by LookAhead.
If an axis is to be interpolated that should on the other hand be made stationary by axis-
specific feed stop or axis disable, LookAhead does not stop path movement before the block
in question but decelerates in the block itself.
If this response is not wanted, an axis-specific feed stop can be transferred to a channel via
the PLC to stop the path immediately (see also "Clamping monitoring (Page 84)").
Function
The "Free-form surface mode: Extension function" is an extension of the LookAhead
standard functionality and is used to calculate the path velocity profile during free-form
surface processing (see also "Free-form surface mode: Basic functions (Page 206)").
Its use optimizes the continuous-path mode as follows:
● Symmetry between the acceleration and deceleration profiles
● Uniform acceleration process, even with changing jerk or acceleration limits
● Uniform acceleration process of target velocity profiles, irrespective of the degree to
which they can or cannot be started with the specified dynamic response limit
● LookAhead braking to lower setpoint velocities
Uniformity and compliance with the dynamic response limit guarantee that the setpoint
velocity profiles are smoothed to a homogeneous velocity profile on the part. This serves to
minimize the effect of following errors on the quality of the surface.
Therefore, the function offers the following advantages:
● Greater uniformity in the surface of the workpiece
● Lower machine load
Applications
The "Free-form surface mode: Extension function" is used to process workpieces which
primarily comprise free-form surfaces.
Note
As better results are not achieved for standard processing applications, standard LookAhead
functionality should be used in these cases.
Basic Functions
186 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
Requirements
● The function is only effective:
– in AUTOMATIC mode
– in acceleration mode: acceleration with jerk limit (SOFT)
● Activation is only possible if the requisite memory is configured:
MD28533 $MC_MM_LOOKAH_FFORM_UNITS = <value>
Sensible value assignment depends upon the part program, the block lengths, the axial
dynamic response, as well as upon an active kinematic transformation.
The following setting applies as a guideline for processing free-form surfaces: 18
Note
Due to the additional storage requirements, MD28533 should only be set for the channels
in which free-form surfaces are being processed.
Activation/Deactivation
The function can be switched on or off independently for every dynamic response mode (see
"Dynamic response mode for path interpolation (Page 203)"):
MD20443 $MC_LOOKAH_FFORM[<n>]= <value>
Index <n> Dynamic response mode <value> Free-form surface mode: Extension
function
0 Standard dynamic response 0 off
settings (DYNNORM) 1 on
1 Positioning mode, tapping 0 off
(DYNPOS) 1 on
2 Roughing (DYNROUGH) 0 off
1 on
3 Finishing (DYNSEMIFIN) 0 off
1 on
4 Smooth-finishing (DYNFINISH) 0 off
1 on
The "Free-form surface mode: Extension function" is typically only active if the "Free-form
surface mode: Basic functions" are also active. Therefore, the settings in
MD20443 $MC_LOOKAH_FFORM[<n>] should correspond to the settings in
MD20606 $MC_PREPDYN_SMOOTHING_ON[<n>].
The standard LookAhead functionality is active in the dynamic response modes in which the
"Free-form surface mode: Extension function" is switched off.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 187
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
Programming
Generally speaking, the "Free-form surface mode: Extension function" becomes effective as
a result of a change in the dynamic response mode in the part program.
Example
The following parameters are assumed:
MD20443 $MC_LOOKAH_FFORM[0] = 0
MD20443 $MC_LOOKAH_FFORM[1] = 0
MD20443 $MC_LOOKAH_FFORM[2] = 1
MD20443 $MC_LOOKAH_FFORM[3] = 1
MD20443 $MC_LOOKAH_FFORM[4] = 1
Note
When switching between the standard LookAhead functionality and the "Free-form surface
mode: Extension function" or vice versa, continuous-path mode is interrupted by an
interpolator stop.
Basic Functions
188 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Continuous-path mode
Limit conditions
Automatic function switchover
Applying the following functions when the "Free-form surface mode: Extension function"
leads to an automatic switchover to standard LookAhead functionality:
● Feed profile (FLIN, FCUB, FPO)
● Deceleration at corners (G62, G621)
● Thread cutting/tapping (G33, G34, G35, G331, G332, G63)
● Path master-value coupling
● Punching, nibbling
● Acceleration of the path axes with jerk limit (SOFT)
● Cartesian PTP travel
The "Free-form surface mode: Extension function" is then switched on again automatically.
Using the commands of G function group 15 (feed types)
It is not advisable to use the following feed types when the "Free-form surface mode:
Extension function" is active:
● Feedrate per revolution (G95, G96, G97, etc.)
● Inverse-time feedrate (G93)
Time response during feedrate overrides
$ Feedrate overrides (via a machine control panel, $AC_OVR, ...) can extend the traverse
time over standard LookAhead functionality considerably.
Rapid traverse movements (G0)
G0 blocks which are interspersed during free-form surface processing do not switch the
LookAhead functionality over (from the "Free-form surface mode: Extension function" to
standard LookAhead functionality or vice versa).
This means that even though the standard dynamic response setting (DYNNORM) is
effective with G0, the standard LookAhead functionality which is preset for DYNNORM
(→ MD20443 $MC_LOOKAH_FFORM[0]) does not automatically become effective as well as
a result.
By retaining the LookAhead functionality which is currently active, a more homogeneous
velocity profile is achieved, particularly since G0 and polynomial blocks are usually
smoothed and connected by rounding.
Number of NC blocks in the IPO buffer
It is generally advisable to significantly increase the configured number of NC blocks in the
interpolation buffer when using the "Free-form surface mode: Extension function":
MD28060 $MC_MM_IPO_BUFFER_SIZE > 100
If the block memory capacity is too low, this may diminish the uniformity of the path-velocity
profile.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 189
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Dynamic adaptations
Introduction
The velocity control function utilizes the specified axial dynamic response. If the programmed
feedrate cannot be achieved, the path velocity is brought to the parameterized axial limit
values and the limit values of the path (velocity, acceleration, jerk). This can lead to repeated
braking and acceleration on the path.
If a short acceleration takes place during a machining function with high path velocity, and is
thus followed almost immediately by braking, the reduction in the machining time is only
minimal. Acceleration of this kind can, however, have undesirable effects if, for example, it
results in machine resonance.
In some applications in mold making, especially in the case of high speed cutting, it is
desirable to achieve a constant path velocity. In these cases, it can therefore be reasonable
to sacrifice transient acceleration processes in favor of a smoother tool path velocity.
Function
If the "smoothing the path velocity" function is active, a smoothing factor, which determines
the maximum permissible productivity loss, takes effect with a view to achieving smoother
path velocity control: Acceleration processes which contribute less than this factor to a
shorter program runtime are not performed. Account is only taken of acceleration processes
whose frequencies lie above the configurable limit frequencies of of the axes involved.
Benefits:
● Avoidance of excitations of possible machine resonance due to continuous, transient
braking and acceleration processes (in the area of less IPO cycles).
● Avoiding of constantly varying cutting rates due to acceleration which brings no significant
shortening of the program running time.
Note
The smoothing of the path velocity does not lead to contour errors.
Variations in axis velocity due to curvatures in the contour at constant path velocity may
continue to occur and are not reduced with this function.
Variations in path velocity due to the input of a new feedrate are not changed either. This
remains the responsibility of the programmer of the subprogram.
Basic Functions
190 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Dynamic adaptations
Requirements
● The smoothing of the path velocity is only effective in continuous-path mode with
LookAhead over multiple blocks with SOFT and BRISK. Smoothing is not effective with
G0.
● The controller's cycle times must be configured in such a way that preprocessing can
prepare sufficient blocks to enable an acceleration process to be analyzed.
Activation/Deactivation
The "smoothing of the path velocity" function is activated/deactivated with the machine data:
MD20460 $MC_LOOKAH_SMOOTH_FACTOR (smoothing factor for LookAhead)
Value Meaning
0.0 Smoothing of the path velocity not active (default)
>0 Smoothing of the path velocity active
A change in the MD setting is only made effective through NEW CONF.
Parameter assignment
Smoothing factor
The smoothing factor is set via the channel-specific machine data:
MD20460 $MC_LOOKAH_SMOOTH_FACTOR (smoothing factor for LookAhead)
The percentage value defines how much longer a processing step without
accelerations/decelerations may be than the corresponding step with
accelerations/decelerations.
This would be a "worst-case" value, if all accelerations within the part program, except the
initial approach motion, were smoothed. The actual extension will always be smaller, and
may even be 0, if the criterion is not met by any of the accelerations. Values between 50 and
100% may also be entered without significantly increasing the machining time.
Consideration of the programmed feed
The path velocity can be smoothed with or without taking the programmed feedrate into
consideration. The selection is made via the machine data:
MD20462 $MC_LOOKAH_SMOOTH_WITH_FEED (path smoothing with programmed
feedrate)
Value Description
0 Programmed feedrate is not taken into consideration.
1 Programmed feedrate is considered (default setting).
When considering the programmed feedrate, the specified smoothing factor (see MD20460)
is maintained better when the override is 100%.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 191
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Dynamic adaptations
Note
If vibrations are generated in the mechanical system of an axis and if the corresponding
frequency is known, MD32440 should be set to a value smaller than this frequency.
The needed resonance frequencies can be calculated using the built-in measuring functions.
Principle
The minimum value for MD32440 is calculated as fpath on the basis of the axes involved in
the path. For the smoothing only those acceleration processes are taken into consideration,
in which the start and the end velocity of this motion are reached within the time given below:
t = t2 - t1 = 2 / fpath
These acceleration processes are dispensed with if the resulting extension in the processing
time does not exceed the limit specified in excess of the smoothing factor (MD20460).
Example
The following parameters are assumed:
MD20460 $MC_LOOKAH_SMOOTH_FACTOR = 10 %
MD32440 $MA_LOOKAH_FREQUENCY[AX1] = 20 Hz
MD32440 $MA_LOOKAH_FREQUENCY[AX2] = 20 Hz
MD32440 $MA_LOOKAH_FREQUENCY[AX3] = 10 Hz
The path involves the 3 axes X = AX1, Y = AX2, Z = AX3.
The minimum value of MD32440 for these 3 axes is thus 10 Hz. This means that any
acceleration, which is completed within a period of t2 - t1 = 2/10 Hz = 200 ms, is examined.
The time t2 is the time it takes to reach velocity v1 again following an acceleration process
starting from velocity v1. The extending of the execution time is also only considered within
this range.
If the time t2 - t1 is greater than 200 ms or if the additional program execution time t3 - t2 is
more than 10% (= MD20460) of t2 - t1, the following time characteristic applies:
Basic Functions
192 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Dynamic adaptations
Y
Y
W W W
If, however, the time t2 - t1 is less than 200 ms or if the additional program execution time t3 -
t2 is no more than 10% of t2 - t1, the following time characteristic applies:
Y
Y
W
W W W
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 193
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Dynamic adaptations
Function
Highly dynamic acceleration and deceleration processes during machining can cause
excitation of mechanical vibrations of machine elements and consequently a reduction of the
surface quality of the workpiece.
The dynamic response of the acceleration and deceleration processes can be adapted to the
machine conditions using the "adaptation of the dynamic path response" function.
Note
The "adaptation of the dynamic path response" function only concerns the resulting path and
not the deceleration and acceleration processes of the individual axes involved in the path.
For this reason, critical deceleration and acceleration processes of the axes with respect to
the excitation of mechanical vibrations can occur due to discontinuous contour profiles or
kinematic transformations, even with a constant path velocity profile.
Activation
The "adaptation of the dynamic path response" function is only effective during path
movements:
● Continuous-path mode (G64, G64x)
In continuous-path mode, the optimal effect of the dynamic response adaptation is
attained with an active 100% override. Considerable deviations from this value or
functions that cause the path axes to decelerate (e.g. auxiliary function outputs to the
PLC) greatly reduce the desired action.
● Exact stop (G60)
In addition, the "adaptation of the dynamic path response" function is not active during path
movements:
● Programmed rapid traverse (G0)
● Changes in the override value
● Stop requests during motion (e.g. NC-STOP, NC-RESET)
● "Velocity-dependent path acceleration" function (DRIVE) is active
Activation/Deactivation
The function is activated/deactivated with the machine data:
MD20465 $MC_ADAPT_PATH_DYNAMIC (adaptation of the dynamic path response)
Value Meaning
= 1.0 Dynamic adaptation not active (default setting)
> 1.0 Dynamic adaptation active
When activation takes place, the "smoothing the path velocity" function is always activated
internally in continuous-path mode as well (see "Smoothing the path velocity (Page 190)").
Basic Functions
194 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Dynamic adaptations
Parameter assignment
Adaptation factor of the dynamic path response
Via the adaptation factor of the dynamic path response, temporary changes in the path
velocity are executed with smaller dynamic response limit values.
The adaptation factor is to be set on a channel-specific basis:
● For traversing motions with acceleration without jerk limiting (BRISK) via:
MD20465 $MC_ADAPT_PATH_DYNAMIC[ 0 ]
→ The adaptation factor acts on the acceleration.
● For traversing motions with acceleration with jerk limiting (SOFT) via:
MD20465 $MC_ADAPT_PATH_DYNAMIC[ 1 ]
→ The adaptation factor acts on the jerk.
Axis-specific limit frequencies
The dynamic response limiting should only be active during deceleration and acceleration
processes that trigger mechanical vibrations larger than a specific limiting frequency, thus
causing excitation of machine resonances.
This limit frequency from which the dynamic response limiting activates, is specified on an
axis-specific basis via the machine data:
MD32440 $MA_LOOKAH_FREQUENCY (smoothing frequency for LookAhead)
(See also "Smoothing the path velocity (Page 190)".)
Principle
During processing and via all the axes involved in the path, the controller cyclically
establishes the minimum of all the limit frequencies to be the limit frequency (f) for the
adaptation of the dynamic response and calculates the relevant time window (tadapt) from this:
tadapt = 1 / f
The size of the relevant time window tadapt determines the further behavior:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 195
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Dynamic adaptations
Example
The following example is intended to show the effect of the "adaptation of the dynamic path
response" function on traversing motions with acceleration and without jerk limiting (BRISK).
The following parameters are assumed:
Note
To illustrate the effect of dynamic response adaptation, the value for the smoothing factor
(MD20460) is set to "1", whereby the "smoothing of the path velocity" function is practically
deactivated.
Basic Functions
196 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Dynamic adaptations
Y
%
WDGDSW
Y WDGDSW
WDGDSW WDGDSW
W W W W W W W W W
Figure 3-9 Path velocity profile optimized for time without smoothing or dynamic adaptation
response
Y
%
WDGDSW
WDGDSW
WDGDSW
Y
W
W W W W W W W W
Figure 3-10 Path velocity profile with adaptation of dynamic path response
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 197
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Dynamic adaptations
Procedure
The determination of the dynamic response limits for the traversing of path axes by means of
acceleration with jerk limiting (SOFT) is described below. This procedure can be applied by
analogy to the case of acceleration without jerk limiting (BRISK).
1. Deactivate the "adaptation of the dynamic path response" function:
MD20465 $MC_ADAPT_PATH_DYNAMIC[1] = 1
2. Observe the positioning behavior of each path axis at different traversing velocities.
When doing so, set the jerk such that the desired positioning tolerance is maintained.
Note
The higher the traversing velocity from which the positioning process is started, the
higher in general the jerk can be set.
3. Use the maximum permissible jerk determined for the least critical traversing velocity:
MD32431 $MA_MAX_AX_JERK (maximum jerk)
4. Determine the FAPD factor for all of the path axes using:
FAPD = (largest determined jerk)/(smallest determined jerk)
Note
The smallest determined jerk is the value for the jerk during the most critical traversing
velocity.
5. Enter the largest FAPD factor that was determined via all the path axes as the value for the
adaptation factor for the path dynamic response:
MD20465 $MC_ADAPT_PATH_DYNAMIC[ 1 ] = FAPD
Basic Functions
198 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Dynamic adaptations
3.4.4 Interaction between the "smoothing of the path velocity" and "adaptation of the
path dynamic response" functions
The following examples serve to illustrate the interaction between the "smoothing of the path
velocity" and "adaptation of the path dynamic response" functions in continuous-path mode.
Example 1
Acceleration mode: BRISK
The path involves the 3 axes X = AX1, Y = AX2, Z = AX3.
The following parameters are assumed:
MD20465 $MC_ADAPT_PATH_DYNAMIC[0] = 3
MD20460 $MC_LOOKAH_SMOOTH_FACTOR = 80.0
MD32440 $MA_LOOKAH_FREQUENCY[AX1] = 20 TAX1 = 1/20 Hz = 50 ms
MD32440 $MA_LOOKAH_FREQUENCY[AX2] = 20 TAX2 = 1/20 Hz = 50 ms
MD32440 $MA_LOOKAH_FREQUENCY[AX3] = 20 TAX3 = 1/20 Hz = 50 ms
Y
%
Y
Y
W W W W W W
Figure 3-11 Path velocity profile optimized for time without smoothing or dynamic adaptation
response
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 199
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Dynamic adaptations
Y
%
Y
W
W W W W W
Figure 3-12 Path velocity profile with smoothing of the path velocity and adaptation of dynamic path
response
Interval t1 - t2: The acceleration and deceleration process between t1 and t2 does not
take place because the lengthening of the machining time without the
acceleration process to v12 is less than the resulting time if a
smoothing factor of 80 % is applied.
Interval t3 - t5: The acceleration and braking profile between t3 and t5 does not fulfill
this condition or takes longer than the parameterized smoothing time
TAxn = 2/20 Hz = 100 ms.
Effects of the dynamic response adaptation:
Note
The example shows that those acceleration or deceleration processes that are not
eliminated by the smoothing of the path velocity can be subsequently optimized by adapting
the dynamic path response. For this reason, both functions should always be activated, if
possible.
Example 2
Acceleration mode: SOFT
The path involves the 3 axes X = AX1, Y = AX2, Z = AX3.
The following parameters are assumed:
Basic Functions
200 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Dynamic adaptations
MD20465 $MC_ADAPT_PATH_DYNAMIC[1] = 1
MD20460 $MC_LOOKAH_SMOOTH_FACTOR = 0.0
MD32440 $MA_LOOKAH_FREQUENCY[AX1] = 10 TAX1 = 1/20 Hz = 100 ms
MD32440 $MA_LOOKAH_FREQUENCY[AX2] = 10 TAX2 = 1/20 Hz = 100 ms
MD32440 $MA_LOOKAH_FREQUENCY[AX3] = 20 TAX3 = 1/20 Hz = 50 ms
This leads to a path velocity profile which is optimized in terms of time without smoothing the
path velocity or adapting the dynamic path response:
/LPLWLQJRISDWKYHORFLW\BEDVHGRQ
G\QDPLFD[LVUHVSRQVHBRUSURJUDPPHG
IHHG
3DWKYHORFLW\FKDUDFWHULVWLF
7LPHLQLQWHUSRODWLRQF\FOHV
%ORFNFKDQJHPDUNHUV
MD20465 $MC_ADAPT_PATH_DYNAMIC[1] = 4
MD20460 $MC_LOOKAH_SMOOTH_FACTOR = 1.0
This results in a path velocity profile with adaptation of the dynamic path response and with
minimum, and thus virtually deactivated, smoothing of the path velocity:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 201
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Dynamic adaptations
6PRRWKHUSDWKYHORFLW\GXHWRORZHUSDWKMHUN
7LPHLQLQWHUSRODWLRQF\FOHV
The smoothing factor is set to 0% instead of 1% (in accordance with the default!):
Basic Functions
202 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Dynamic adaptations
1RDFFHOHUDWLRQRUEUDNLQJBHIIHFWRISDWKVPRRWK
6PRRWKHUSDWKYHORFLW\BGXHWR LQJ
UHGXFHGSDWKMHUN
7LPHLQLQWHUSRODWLRQ
F\FOHV
Function
Technology-specific, dynamic response settings can be saved in machine data and can be
activated in the part program via the commands from G function group 59 (dynamic
response mode for path interpolation).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 203
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Dynamic adaptations
Note
The dynamic response of the path axes alone is determined by the commands from G
function group 59 (dynamic response mode for path interpolation). They have no effect on:
• Positioning axes
• PLC axes
• Command axes
• Movements based on axis coupling
• Overlaid movements with handwheel
• JOG movements
• Reference point approach (G74)
• Fixed point travel (G75)
• Rapid traverse movements (G0)
The standard dynamic response setting (DYNNORM) always takes effect for these axis
movements.
Application
By switching the dynamic response settings, roughing a workpiece can be optimized in terms
of time and smoothing it can be optimized in terms of the surface, for example.
Parameter assignment
Parameters are assigned to the specific dynamic response settings:
● For the axis in question via the machine data:
– MD32300 $MA_ MAX_AX_ACCEL[<n>] (axis acceleration)
– MD32431 $MA_MAX_AX_JERK[<n>] (maximum axial jerk for path motion)
– MD32432 $MA_PATH_TRANS_JERK_LIM[<n>] (max. axial jerk at the block transition
in continuous-path mode)
– MD32310 $MA_MAX_ACCEL_OVL_FACTOR[<n>] (overload factor for axial jumps in
velocity)
– MD32433 $MA_SOFT_ACCEL_FACTOR[<n>] (scaling of the acceleration limitation
with SOFT)
● For the axis via the machine data:
– MD20600 $MA_MAX_PATH_JERK[<n>] (path-related maximum jerk)
– MD20602 $MC_CURV_EFFECT_ON_PATH_ACCEL[<n>] (influence of path curvature
on dynamic path response)
– MD20603 $MC_CURV_EFFECT_ON_PATH_JERK[<n>] (influence of path curvature
on path jerk)
Basic Functions
204 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Dynamic adaptations
NOTICE
Writing the machine data without an index places the same value in all field elements of the
machine data in question.
Reading the machine data without an index always supplies the value of the field with index
0.
Suppressing G commands
G commands from G function group 59 (dynamic response mode for path interpolation)
which are not intended for use should be suppressed by the machine manufacturer via the
following machine data:
MD10712 $MN_NC_USER_CODE_CONF_NAME_TAB[<n>] (list of reconfigured NC
commands)
The programming of a suppressed G command leads to an alarm signal. This prevents
machine data which has not been configured with the G command taking effect.
Example:
The G commands DYNPOS and DYNSEMIFIN can be suppressed with the following settings:
MD10712 $MN_NC_USER_CODE_CONF_NAME_TAB[0]="DYNPOS"
MD10712 $MN_NC_USER_CODE_CONF_NAME_TAB[1]=" "
MD10712 $MN_NC_USER_CODE_CONF_NAME_TAB[2]="DYNSEMIFIN"
MD10712 $MN_ NC_USER_CODE_CONF_NAME_TAB[3]=" "
References
You can find further information about programming the G commands from G function group
59 (dynamic response mode for path interpolation) in:
References:
Programming Manual, Fundamentals; chapter: "Path traversing behavior"
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 205
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Dynamic adaptations
Introduction
In applications in tool and mold making, it is important that the surfaces on the workpiece are
as uniform as possible. This requirement is generally more important than the precision of
the surface of the workpiece.
Workpiece surfaces which lack uniformity can be attributable to the following causes, for
example:
● The part program for manufacturing the workpiece contains a non-uniform geometry.
This, most notably, affects the profile of the curvature and torsion.
Note
The curvature k of a contour is the inverse of radius r of the nestling circle in a contour
point (k = 1/r). The torsion is the change in curvature (first derivative).
As a result of the lack of uniformity in geometry, the machine's dynamic response limits
are reached during processing of the part program, and needless deceleration and
acceleration processes occur. Depending on the extent of the effective over-travel of the
axes, this leads to different deviations in contours.
● Needless deceleration and acceleration processes can trigger machine vibrations which
result in unwelcome marks on the workpiece.
There are various options available for eliminating these causes:
● The part programs generated by the CAD/CAM system contain a very uniform curvature
and torsion profile, preventing needless reductions in path velocity.
● The maximum path velocity is determined in such a way that unwanted geometric
fluctuations in the curvature and torsion profile have no effect.
Function
"Free-form surface mode: Basic functions" can be used to make the definition of path
velocity limits insensitive to small geometric fluctuations in curvature and torsion without
exceeding the machine's dynamic limits in terms of the acceleration and jerk of the axes.
This results in the following advantages:
● Greater uniformity in the profile of the path velocity
● Greater uniformity in the surface of the workpiece
● Reduction in the processing time (if the dynamic response of the machine permits it)
Basic Functions
206 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Dynamic adaptations
Applications
The function is used to process workpieces which primarily comprise free-form surfaces.
Requirements
The function can only be activated if the requisite memory capacity is reserved during
memory configuration:
MD28610 $MC_MM_PREPDYN_BLOCKS = 10
The value entered prescribes the number of blocks which have to be taken into
consideration in the determination of the path velocity (velocity preparation).
A sensible value is "10".
If MD28610 has a value of "0", only the movements of the axes in a particular block are
taken into consideration when determining the maximum velocity of the path for that block. If
the geometry of neighboring blocks is also taken into consideration when determining the
velocity of the path (value > 0), a more uniform profile in path velocity is achieved.
Activation/Deactivation
The function can be switched on or off independently for every dynamic response mode (see
"Dynamic response mode for path interpolation (Page 203)"):
MD20606 $MC_PREPDYN_SMOOTHING_ON[<n>] = <value>
Index <n> Dynamic response mode <value> Free-form surface mode: Basic functions
0 Standard dynamic response 0 off
settings (DYNNORM) 1 on
1 Positioning mode, tapping 0 off
(DYNPOS) 1 on
2 Roughing (DYNROUGH) 0 off
1 on
3 Finishing (DYNSEMIFIN) 0 off
1 on
4 Smooth-finishing (DYNFINISH) 0 off
1 on
Note
Due to the additional storage requirements, the function should only be activated in the
relevant processing channels.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 207
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Dynamic adaptations
Parameter assignment
Change in the contour sampling factor
The secant error which occurs during the interpolation of curved contours is dependent on
the following factors:
● Curvature
● Interpolation cycle (display in the MD10071 $MN_IPO_CYCLE_TIME)
● Velocity with which the relevant contour is traversed
The max. possible secant error is defined for each axis in the machine data:
MD33100 $MA_COMPRESS_POS_TOL (maximum tolerance with compression)
If the set interpolation cycle is not sufficiently small, the max. path velocity may be reduced in
the case of contours with greater curvature. This is necessary for ensuring that the surface of
the workpiece is also produced with an adequate degree of precision in this case.
By changing the contour sampling factor, the time interval with which a curved contour is
sampled in the interpolator (contour sampling time) can be set at variance with the
interpolation cycle. A contour sampling time which is shorter than the interpolation cycle can
prevent a reduction in path velocity in the case of contours with greater curvature.
The contour sampling factor is set with the machine data:
MD10682 $MN_CONTOUR_SAMPLING_FACTOR
The effective contour sampling time is calculated as follows:
Ts = f * T 1
Note
MD10680 is specifically set for every controller model and cannot be changed.
Basic Functions
208 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Dynamic adaptations
Programming
Depending on the setting in machine data MD20606 $MC_PREPDYN_SMOOTHING_ON,
"Free-form surface mode: Basic functions" can be switched on and off in the part program by
changing the active dynamic response mode.
Example:
By assigning the parameters MD20606 $MC_PREPDYN_SMOOTHING_ON[2-4] = 1 and
MD20606 $MC_PREPDYN_SMOOTHING_ON[0-1] = 0, the function can be switched on via
the commands DYNROUGH, DYNSEMIFIN, and DYNFINISH and switched off via the
commands DYNNORM and DYNPOS.
See also
Rounding of tangential block transitions (G645) (Page 179)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 209
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Compressor functions
Function
COMPON, COMPCURV
The compression function COMPON or COMPCURV collects a series of linear blocks during
linear interpolation (the number is limited to 10) and approximates them within a tolerance
specified in machine data via a 3rd order (COMPON) or 5th order (COMPCURV) polynomial.
One traversing block is processed by the NC instead of a large number of small blocks.
COMPCAD
The compressor function COMPCAD generates mutually overlapping polynomial blocks with
constant acceleration. With adjacent paths, deviations head in the same direction.
The accuracy of the interpolation can be specified through machine data. The number of
blocks to be compressed is not limited to 10.
The aim of COMPCAD is an optimization regarding the surface finish and speed.
Since COMPCAD makes intensive use of computing time and memory area, it should only
be used if measures to improve the surface cannot be taken by the CAD/CAM program in
advance.
Rated conditions
● The NC block compression can only be executed for linear blocks (G1).
● Only blocks that comply with a simple syntax are compressed:
N... G1 X... Y... Z... F...
All other blocks are executed unchanged (no compression).
● Motion blocks with extended addresses such as C=100 or A=AC(100) can also be
compressed.
● The position values do not have to be programmed directly, but can also be indirectly
specified using parameter assignments, e.g. X=R1*(R2+R3).
● If the option "orientation transformation" is available, then NC blocks in which the tool
orientation (and where relevant, also the tool rotation) is programmed using direction
vectors can also be compressed.
References:
Function Manual Special Functions; 3 to 5-Axis Transformation (F2),
Chapter: "Compression of the orientation"
● It is interrupted by any other type of NC instruction, e.g. an auxiliary function output.
Basic Functions
210 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Compressor functions
Parameter assignment
Maximum path length
The maximum path length for the compression is set with the machine data:
MD20170 $MC_COMPRESS_BLOCK_PATH_LIMIT
Longer blocks are not compressed.
Recommended setting: 20 [mm]
Maximum deviation of the path feedrate FLIN and FCUB
The maximum permissible deviation of the path feedrate for active compressor function
COMPON or COMPCURV can be specified in the machine data together with FLIN and
FCUB:
MD20172 $MC_COMPRESS_VELO_TOL
Recommended setting: 100 [mm/min]
Axis accuracy
A tolerance can be specified for each axis. This value specifies the maximum deviation of
the generated spline curve from the programmed end points.
The setting is done via the following machine data:
MD33100 $MA_COMPRESS_POS_TOL
The higher the values, the more blocks can be compressed.
Note
Experience has shown that a value of 0.01 is suitable for most applications: If not, the value
can be increased to 0.02.
Contour accuracy
The maximum deviation of the contour is specified via the following setting data:
SD42475 $SC_COMPRESS_CONTUR_TOL (maximum contour deviation for compressor)
Compression mode
The manner in which the tolerances from MD33100 and SD42475 are to be considered is
set via the units position in the machine data:
MD20482 $MC_COMPRESSOR_MODE (mode of compression)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 211
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Compressor functions
Value Meaning
x0x/x2x Blocks with value assignments are compressed (default setting).
Notice: This behavior is incompatible with older releases of the software (< SW 6.3)!
x1x/x3x Blocks with value assignments are not compressed.
This behavior is compatible with older releases of the software (< SW 6.3).
The hundreds place in MD20482 is used to set whether or not circular blocks are linearized
and compressed when using COMPCAD:
Value Meaning
0xx Circular blocks are not compressed.
1xx Circular blocks are linearized and compressed by COMPCAD.
Advantage:
The compressor function works with greater precision and generally creates better
surfaces as a result.
Disadvantage:
The compressor function becomes more sensitive to defects in the NC programs. For
reasons of compatibility, it may therefore be necessary to retain setting 0xx.
A more detailed description of MD20482 can be found in:
References:
Function Manual Special Functions; 3 to 5-Axis Transformation (F2),
Chapter: "Compression of the orientation"
Corner limit angle for COMPCAD
A threshold angle can be defined for the compressor function COMPCAD via the following
setting data, starting from which a block transition is interpreted as angle:
SD42470 $SC_CRIT_SPLINE_ANGLE
Values between 10 and 40 degrees are useful. The recommended setting is 36.
Note
The angle serves only as an approximate measure for the corner identification. Owing to
plausibility considerations, the compressor can also classify flatter block transitions as
corners and also eliminate larger angles as outliers.
Basic Functions
212 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Compressor functions
Programming
Compressor functions are activated using the modal G commands COMPON, COMPCURV or
COMPCAD.
The rounding function G642 and jerk limitation SOFT can be used to achieve improvements
in surface quality. These commands must be entered at the start of the program:
COMPCAD SOFT G642
The G command COMPOF terminates the compressor function.
References
The programming of the compressor functions is described in:
Programming Manual Work Preparation
The use of the compressor function with active orientation transformation is described in:
Function Manual Special Functions; 3 to 5 axis transformation (F2),
Chapter: "Compression of the orientation"
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 213
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Compressor functions
Function
During the processing of splines short blocks can so occur, that the path velocity for the
interpolation of these spline blocks must be reduced. This is alao the case, when the spline
actually has a long, smooth curve.
The "Combine short spline blocks" function allows you to combine these spline blocks such
that the resulting block length is sufficient and does not reduce the path velocity.
Note
NC block compressor
The NC block compressor (COMPON, COMPCURV or COMPCAD) cannot be employed
while compressing spline blocks since it can only be used to compress linear blocks.
Activation
The function "overview of short spline blocks" can be activated for following cases
independent of each other:
● BSPLINE active
● BSPLINE/ORICURVE active
● CSPLINE active
The activation is done using machine data:
MD20488 $MC_SPLINE_MODE (setting for spline interpolation).
Basic Functions
214 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Compressor functions
Boundary conditions
● NC-blocks can be combined only if no other details have been programmed except the
axial motions and the feed rate. If, for example, auxiliary functions are programmed,
which must be given to the PLC, then this block cannot be omitted, since it must be active
in the interpolator. This is analogous to the possible compression of G1 blocks with the
compressors COMPON, COMPCURV and COMPCAD.
● The maximum number of blocks, which can be combined into a program part one after
the other, depends on the size of the available memory for blocks in the block processing.
This memory is established by the machine data:
MD28070 $MC_MM_NUM_BLOCKS_IN_PREP (number of blocks for block preparation)
Example
In order to attain a higher path velocity when processing the following program, the"combine
short spline blocks" function is activated for BSPLINE interpolation via MD20488:
MD20488 $MC_SPLINE_MODE, bit 0 = 1
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 215
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Contour/Orientation tolerance
Basic Functions
216 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Contour/Orientation tolerance
Note
The programmed tolerance also acts upon functions which are only implicitly dependent
upon the tolerance. These are currently:
• Limiting the chord error in the setpoint value calculation
• The basic functions of the free-form surface mode
Note
The following rounding functions are not affected by the programming of CTOL, OTOL, and
ATOL:
• rounding orientation with OSD
Reason: OSD does not use a tolerance, it uses a distance from the block transition.
• Rounding with G644
Reason: G644 is not used for processing, it is used for optimizing tool changes and other
movements in air.
• Rounding block transitions with uniform tangents and non-uniform curvature with G645
G645 virtually always behaves like G642 and, thus, uses the programmed tolerances.
The tolerance value from machine data MD33120 $MA_PATH_TRANS_POS_TOL is only
used in uniformly tangential block transitions with a jump in curvature, e.g. a tangential
circle/straight line transition. The rounding path at these points may also be located
outside the programmed contour, where many applications are less tolerant.
Furthermore, it generally takes a small, fixed tolerance to compensate for the sort of
changes in curvature which need not concern the NC programmer.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 217
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Contour/Orientation tolerance
Note
If no tolerance values have been programmed, the $A variables will not be differentiated
sufficiently to distinguish potential differences in the tolerances of the individual functions,
since they can only declare one value.
Circumstances like this can occur if the machine data and the setting data set different
tolerances for compressor functions, smoothing and orientation smoothing. The variables
then return the greatest value prevailing with regard to the currently active functions.
if, for example, a compressor function is active with an orientation tolerance of 0.1° and
ORISON orientation smoothing with 1°, the $AC_OTOL variable will return the value "1". If
orientation smoothing is deactivated, only the value "0.1" will remain to be read.
Basic Functions
218 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Contour/Orientation tolerance
Note
If no tolerance values have been programmed, the $P variables return the value "-1".
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 219
Continuous-Path Mode, Exact Stop, LookAhead (B1)
RESET response
MD20150
The channel-specific initial state is activated via a RESET for G function groups:
MD20150 $MC_GCODE_RESET_VALUES (RESET position of G groups)
The following G function groups are of relevance to "continuous-path mode, exact stop,
LookAhead":
● Group 10: Exact stop - continuous-path mode
● Group 12: Block-change criterion for exact stop
● Group 21: Acceleration profile
● Group 30: NC block compression
● Group 59: Dynamic response mode for path interpolation
References
For detailed information about setting initial states, see the section titled "Mode Group,
Channel, Program Operation, Reset Behavior (K1)."
Basic Functions
220 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Supplementary conditions
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 221
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Supplementary conditions
Example
Two traversing blocks N10 and N20 with programmed rounding G641. In the rounding area,
the traversing motion is interrupted and the axes are subsequently traversed, e.g. manually
to the REPOS starting point. Repositioning on the contour takes place differently, depending
on the active REPOS mode.
5(326VWDUWLQJSRLQW
5(326PRGH50% 5(326PRGH
50,50(501
,QWHUUXSWLRQSRLQW
1
<
3URJUDPPHGWUDYHUVLQJ
GLUHFWLRQ
%OHQGLQJDUHD
1
Basic Functions
222 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Data lists
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 223
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Data lists
Basic Functions
224 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Data lists
3.9.3 Signals
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 225
Continuous-Path Mode, Exact Stop, LookAhead (B1)
Data lists
Basic Functions
226 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Acceleration (B2) 4
4.1 Brief description
4.1.1 General
Scope of functions
The Description of Functions covers the following sub-functions:
● Acceleration
● Jerk
● Knee-shaped acceleration characteristic
Acceleration and jerk
The effective acceleration and jerk can be optimally matched to the machine and machining
situation concerned using axis- and channel-specific programmable maximum values,
programmable acceleration profiles in part programs and synchronized actions, and dynamic
adaptations and limitations.
Knee-shaped acceleration characteristic
The knee-shaped acceleration characteristic means that, in the case of machine axes
featuring a motor (in particular stepper motors) with a torque characteristic that is highly
dependent upon speed, acceleration can be set at the level required to ensure optimum
utilization of the motor whilst at the same time protecting it against overload.
4.1.2 Features
Acceleration
Axis-specific functions:
● Programmable maximum acceleration value
● Acceleration profile that can be selected via part-program instruction:
Acceleration without jerk limitation (BRISKA)
● Setting of maximum value using part-program instruction (ACC)
● Specific maximum value for programmed rapid traverse (G00).
● Specific maximum value for traverse with active jerk limitation
● Excessive acceleration for non-tangential block transitions
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 227
Acceleration (B2)
Brief description
Channel-specific functions:
● Acceleration profile that can be selected via part-program instruction:
Acceleration without jerk limitation (BRISK)
● Programmable constant travel time for the purpose of avoiding extreme sudden
acceleration
● Programmable acceleration margin for overlaid traversing
● Adjustable acceleration limitation
● Adjustable acceleration for specific real-time events
● Programmable acceleration margin for radial acceleration
Jerk
Axis-specific functions:
● Acceleration profile that can be selected via part-program instruction:
Acceleration with jerk limitation (SOFTA)
● Programmable maximum jerk value for single-axis interpolation
● Programmable maximum jerk value for path interpolation
Channel-specific functions:
● Acceleration profile that can be selected via part-program instruction:
Acceleration with jerk limitation (SOFT)
● Adjustable jerk limitation
● Adjustable path jerk for specific real-time events
● Specific maximum value for programmed rapid traverse (G00)
● Excessive jerk for block transitions without constant curvature
Basic Functions
228 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Acceleration (B2)
Functions
4.2 Functions
General information
In the case of acceleration without jerk limitation (jerk = infinite) the maximum value is
applied for acceleration immediately. As regards acceleration with jerk limitation, it differs in
the following respects:
● Advantages
Shorter processing times with the same maximum values for velocity and acceleration.
● Disadvantages
Increased load on the machine's mechanical components and risk of inducing high-
frequency and difficult-to-control mechanical vibrations.
Acceleration profile
D
DPD[
DPD[
YPD[
W W W W
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 229
Acceleration (B2)
Functions
The following features of the acceleration profile can be identified from the figure above:
● Time: t0
Sudden acceleration from 0 to +amax
● Interval: t0 - t1
Constant acceleration with +amax; linear increase in velocity
● Time: t1
Sudden acceleration from 2 * amax with immediate switchover from acceleration to braking
Note
The sudden acceleration can normally be avoided by specifying a constant velocity time
(see Section: "Sudden acceleration with constant velocity phase").
● Interval: t1 - t2
Constant acceleration with -amax; linear decrease in velocity
Function
The maximum acceleration value can be set for each specific machine axis:
MD32300 $MA_MAX_AX_ACCEL (maximum axis acceleration)
The path parameters are calculated by the path planning component during preprocessing
so that the programmed maximum values of the machine axes that are of relevance for the
path are not exceeded.
4.2.1.3 Parameterization
Programming
The maximum values are parameterized for specific axes using machine data:
MD32300 $MA_MAX_AX_ACCEL (maximum axis acceleration)
Basic Functions
230 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Acceleration (B2)
Functions
4.2.1.4 Programming
Syntax
BRISK
Functionality
The BRISK part-program instruction is used to select the "without jerk limitation" acceleration
profile for the purpose of path acceleration.
G group: 21
Effective: Modal
Reset response
The channel-specific initial setting is activated via a reset:
MD20150 $MC_GCODE_RESET_VALUES[20]
Supplementary conditions
If the acceleration profile is changed in a part program during machining (BRISK/SOFT) an
exact stop is performed at the end of the block.
Syntax
BRISKA (axis{,axis})
Function
The BRISKA part-program instruction is used to select the "without jerk limitation"
acceleration profile for single-axis movements (JOG, JOG/INC, positioning axis,
reciprocating axis, etc.).
G group: -
Effective: Modal
Axis:
● Value range: Axis identifier for channel axes
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 231
Acceleration (B2)
Functions
Reset response
The axis-specific initial setting is activated via a reset:
MD32420 $MA_JOG_AND_POS_ENABLE
Overview
In the case of acceleration without jerk limitation, sudden acceleration of 2 * amax occurs on
switchover between acceleration and braking. In order to avoid this sudden acceleration, a
channel-specific constant travel time can be programmed. The constant travel time defines
the time taken to traverse between the acceleration and braking phases at constant velocity:
MD20500 $MC_CONST_VELO_MIN_TIME (minimum time with constant velocity)
Note
The constant travel time is ineffective:
• Active function: Look Ahead
• In traversing blocks with a travel time that is less or equal to the interpolation cycle time.
Basic Functions
232 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Acceleration (B2)
Functions
D
DPD[
DPD[
Y
YPD[
W W W W W W W
The effect of the constant travel time can be seen from the figure above:
● Time: t1
End of acceleration phase with sudden acceleration 1 * amax
● Interval: t1 - t2
Acceleration 0; constant velocity using the parameterized constant travel time
● Time: t2
Start of braking phase with sudden acceleration 1 * amax
The times t0, t1' and t2' indicate the characteristic that would have been produced had no
constant travel time been defined.
4.2.2.2 Parameterization
Function
The constant travel time is parameterized for specific channels using machine data:
MD20500 $MC_CONST_VELO_MIN_TIME
(minimum time with constant velocity)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 233
Acceleration (B2)
Functions
Function
A part-program instruction (ACC) can be used to match the acceleration of specific axes to
the current machining situation. The range used for this purpose is anywhere between
greater than 0% and less than or equal to 200% of the maximum value programmed in the
machine data.
Effective
Effective Acceleration matching is effective for all types of interpolation in AUTOMATIC and
MDA operating modes as well as with dry-run feed.
Ineffective Acceleration matching is ineffective in JOG and JOG/REF (reference point
approach) operating modes.
Acceleration matching is also ineffective if the machine axes have been brought to a
standstill via a quick stop due to the detection of a fault (setpoint = 0).
4.2.3.2 Programming
Syntax
ACC[axis] = adjustment factor
Functionality
The ACC part-program instruction is used to adjust the maximum acceleration value of a
machine axis.
Axis:
● Value range: Axis identifier for the channel's machine axes
Adjustment factor:
● Value range: 0 < adjustment factor ≤ 200
● Unit: Per cent
Deactivate: ACC[axis] = 100
Effective: Modal
Reset response
The behavior during channel RESET or M30 can be controlled via MD32320
$MA_DYN_LIMIT_RESET_MASK:
Bit 0: 0 The programmed ACC value is reduced to 100 % with channel RESET/M30.
Bit 0: 1 The programmed ACC value is retained beyond channel RESET/M30.
Basic Functions
234 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Acceleration (B2)
Functions
General information
Under normal circumstances, preprocessing makes maximum use of the parameterized
maximum values of the machine axes for the purpose of path acceleration. In order that an
acceleration margin may be set aside for overlaid movements, e.g. within the context of the
"Rapid lift away from the contour" function, path acceleration can be reduced by a
programmable factor. When, for example, a factor of 0.2 is applied, preprocessing will only
use 80% of the maximum possible path acceleration. 20% is set aside as an acceleration
margin for overlaid movements.
4.2.4.2 Parameterization
Parameterization
Parameters for the acceleration margin are assigned for each channel by means of machine
datum:
MD20610 $MC_ADD_MOVE_ACCEL_RESERVE
(acceleration margin for overlaid motions)
General information
To enable a flexible response to the machining situations concerned, setting data can be
used to limit the path acceleration calculated during preprocessing for specific channels:
SD42500 $SC_SD_MAX_PATH_ACCEL (maximum path acceleration)
The value specified in the setting data is only taken into account if it is smaller than the path
acceleration calculated during preprocessing.
The limitation must be activated for specific channels using setting data:
SD42502 $SC_IS_SD_MAX_PATH_ACCEL = TRUE
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 235
Acceleration (B2)
Functions
4.2.5.2 Parameterization
Parameterization
Parameterization is carried out for specific channels using setting data:
SD42500 $SC_SD_MAX_PATH_ACCEL (maximum path acceleration)
SD42502 $SC_IS_SD_MAX_PATH_ACCEL (activation of path-acceleration limitation)
4.2.5.3 Programming
Limit value
Syntax
$SC_SD_MAX_PATH_ACCEL = limit value
Functionality
The path-acceleration limitation can be adjusted for the situation by programming the setting
data.
Limit value:
● Value range: ≥ 0
● Unit: m/s2
Application:
● Part program
● Static synchronized action
Switch ON/OFF
Syntax
$SC_IS_SD_MAX_PATH_ACCEL = value
Basic Functions
236 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Acceleration (B2)
Functions
Functionality
The path-acceleration limitation can be activated/deactivated by programming the setting
data.
Parameter: Value
● Value range: TRUE, FALSE
Application:
● Part program
● Static synchronized action
General information
So that no compromise has to be made between machining-optimized acceleration on the
one hand and time-optimized acceleration in connection with the following real-time events
on the other:
● NC-STOP/NC-START
● Feedrate override modifications
● Modification of the velocity default for "safely reduced velocity" within the context of the
"Safely Integrated" function
the path acceleration can be set for the real-time events specified above using a channel-
specific system variable:
$AC_PATHACC = path acceleration
Real-time event acceleration will only be active for the duration of the change in velocity in
respect of one of the real-time events specified above.
Limitation
If the specified path acceleration exceeds the capabilities of the machine axes that are of
relevance for the path, a limit will be imposed on the path acceleration within the control so
that the resulting axial acceleration (ares) is restricted to less than 2x the parameterized
maximum axial value (amax).
ares = 2 * amax, with amax = MD32300 $MA_MAX_AX_ACCEL
Note
Real-time-event path acceleration is enabled, irrespective of the radial acceleration.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 237
Acceleration (B2)
Functions
Effective
Effective Real-time event acceleration is only enabled in AUTOMATIC and MDA operating
modes in conjunction with the following real-time events:
• NC-STOP/NC-START
• Override modifications
• Modification of the velocity default for "safely reduced velocity" within the context
of the "Safely Integrated" function
Ineffective Path acceleration for real-time events is ineffective for changes in path velocity that
are attributable to path planning during preprocessing for the channel, such as
contour curvatures, corners, kinematic transformation limitations, etc.
Real-time-event path acceleration is ineffective if the programmed value is smaller
than the path acceleration calculated during preprocessing for the path section
concerned.
Programming
For information about programming system variables in the part program or synchronized
actions, see Chapter: Programming.
4.2.6.2 Programming
Syntax
$AC_PATHACC = path acceleration
Functionality
Real-time-event path acceleration is set via the channel-specific system variables.
Parameter: Path acceleration
● Value range: Path acceleration ≥ 0
● Unit: m/s2
Deactivation: $AC_PATHACC = 0
Application:
● Part program
● Static synchronized action
Reset response
Real-time-event path acceleration is deactivated on reset.
Supplementary conditions
Programming $AC_PATHACC in the part program automatically triggers a preprocessing
stop with REORG (STOPRE).
Basic Functions
238 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Acceleration (B2)
Functions
Frequently, the acceleration for the machine axes involved in the machining process must be
set lower than the machine's performance capability officially allows because of the
supplementary conditions associated with the specific process concerned.
For time-optimized traversing of the machine axes with programmed rapid traverse (part-
program instruction G00), a specific maximum value can be programmed for the axis-specific
acceleration.
4.2.7.2 Parameterization
The maximum value for axis-specific acceleration with programmed rapid traverse is
parameterized (G00) using the axis-specific machine data:
MD32434 $MA_G00_ACCEL_FACTOR
(scaling of the acceleration limitation with G00)
This is used to generate the maximum value for axis-specific acceleration with programmed
rapid traverse (G00) that is taken into account by the path planning component during
preprocessing:
Acceleration[axis] =
MD32300 $MA_MAX_AX_ACCEL * MD32434 $MA_G00_ACCEL_FACTOR
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 239
Acceleration (B2)
Functions
Function
Compared with acceleration without jerk limitation, acceleration with jerk limitation results in
a certain degree of time loss, even when the same maximum acceleration value is used. To
compensate for this time loss, a specific maximum value can be programmed for the axis-
specific acceleration as far as traversing of the machine axes with active jerk limitation
(SOFT/SOFTA) is concerned.
The maximum value for acceleration with active jerk limitation is parameterized using a
factor calculated in relation to the axis-specific maximum value. This is used to generate the
maximum value for axis-specific acceleration with active jerk limitation that is taken into
account by the path planning component during preprocessing:
Acceleration[axis] =
MD32300 $MA_MAX_AX_ACCEL * MD32433 $MA_SOFT_ACCEL_FACTOR
4.2.8.2 Parameterization
Function
The maximum value for acceleration with active jerk limitation (SOFT/SOFTA) is
parameterized using the axis-specific machine data:
MD32434 $MA_SOFT_ACCEL_FACTOR
(scaling of the acceleration limitation with SOFT)
Function
In the case of non-tangential block transitions (corners), the programmable controller may
have to decelerate the geometry axes significantly in order to ensure compliance with the
parameterized axis dynamics. For the purpose of reducing/avoiding deceleration in
connection with non-tangential block transitions, a higher level of axis-specific acceleration
can be enabled.
Excessive acceleration is parameterized using a factor calculated in relation to the axis-
specific maximum value. This is used to generate the maximum value for axis-specific
acceleration with non-tangential block transitions that is taken into account by the path
planning component during preprocessing:
Basic Functions
240 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Acceleration (B2)
Functions
Acceleration[axis] =
MD32300 $MA_MAX_AX_ACCEL * MD32310 $MA_MAX_ACCEL_OVL_FACTOR
4.2.9.2 Parameterization
Function
Excessive acceleration for non-tangential block transitions is parameterized using the axis-
specific machine data:
MD32310 $MA_MAX_ACCEL_OVL_FACTOR
(overload factor for velocity jumps)
Overview
In addition to the path acceleration (tangential acceleration), radial acceleration also has an
effect on curved contours. If this is not taken into account during parameterization of the path
parameters, the effective axial acceleration during acceleration and deceleration on the
curved contour can, for a short time, reach 2x the maximum value.
1
1
DSDWK
DUDGLDO
1
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 241
Acceleration (B2)
Functions
Radial acceleration =
MD20602 $MC_CURV_EFFECT_ON_PATH_ACCEL * MD32300 $MA_MAX_AX_ACCEL
Path acceleration =
(1 - MD20602 $MC_CURV_EFFECT_ON_PATH_ACCEL) * MD32300
$MA_MAX_AX_ACCEL
Example
The following machine parameters apply:
● MD32300 $MA_MAX_AX_ACCEL for all geometry axes: 3 m/s
● Maximum path velocity with a path radius of 10 mm due to mechanical constraints of the
machine: 5 m/min.
The radial acceleration is calculated as follows:
Y SDWK >PPLQ@
D UDGLDO PV
U>PP@ >PV @
0'0&B&859B())(&7B21B3$7+B$&&(/
Linear motions
The acceleration margin referred to above is ineffective in the case of linear motions (linear
interpolation) without active kinematic transformation.
Basic Functions
242 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Acceleration (B2)
Functions
4.2.10.2 Parameterization
Function
The proportion of maximum available axis acceleration to be taken into account as an
acceleration margin for radial acceleration on curved contours is parameterized using the
channel-specific machine data:
MD20602 $MC_CURV_EFFECT_ON_PATH_ACCEL
(influence of path curvature on dynamic path response)
Overview
As far as the functionality described in the rest of this document is concerned, constant
acceleration, i.e. acceleration with jerk limitation (jerk = infinite value), is the assumed
acceleration profile. In the case of acceleration with jerk limitation, linear interpolation is
applied in respect of acceleration from 0 to the maximum value.
Advantages
Minimal load on the machine's mechanical components and low risk of high-frequency and
difficult-to-control mechanical vibrations thanks to constant excessive acceleration.
Disadvantages
Longer machining times compared with stepped acceleration profile when the same
maximum velocity and acceleration values are used.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 243
Acceleration (B2)
Functions
Acceleration profile
U
UPD[
UPD[
D
DPD[
DPD[
Y
YPD[
W W W W W W W W
The following features of the acceleration profile can be identified from the figure above:
● Interval: t0 - t1
Constant jerk with +rmax; linear increase in acceleration; quadratic increase in velocity
● Interval: t1 - t2
Constant acceleration with +amax; linear increase in velocity
● Interval: t2 - t3
Constant jerk with -rmax; linear decrease in acceleration; quadratic decrease in excessive
velocity until maximum value +vmax is reached
● Interval: t3 - t4
Constant jerk with +rmax; linear increase in braking acceleration; quadratic decrease in
velocity
Basic Functions
244 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Acceleration (B2)
Functions
● Interval: t4 - t5
Constant braking acceleration with -amax; linear decrease in velocity
● Interval: t5 - t6
Constant jerk with -rmax; linear decrease in braking acceleration; quadratic decrease in
velocity reduction until zero velocity is reached v = 0
Function
The maximum jerk value can be set for each specific machine axis using the following
machine data:
MD32431 $MA_MAX_AX_JERK (maximum axis jerk)
The path parameters are calculated by the path planning component during preprocessing
so that the programmed maximum values of the machine axes that are of relevance for the
path are not exceeded.
Function
As well as it being possible to set the maximum jerk value for specific axes, it can also be
assigned as a channel-specific path parameter using the following machine data:
MD20600 $MC_MAX_PATH_JERK (path-related maximum jerk)
To prevent the axis and channel-specific maximum jerk values interfering with one another,
the channel-specific value must be set to a value greater then the maximum axial values.
4.2.11.4 Parameterization
Function
The axis- and channel-specific maximum values are parameterized using the following
machine data:
MD32431 $MA_MAX_AX_JERK (maximum axis jerk)
MD20600 $MC_MAX_PATH_JERK (path-related maximum jerk)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 245
Acceleration (B2)
Functions
4.2.11.5 Programming
Syntax
SOFT
Functionality
The SOFT part-program instruction is used to select the acceleration profile with jerk
limitation for the traversing operations of geometry axes in the channel.
G group: 21
Effective: Modal
Reset response
The channel-specific initial setting is activated via a reset:
MD20150 $MC_GCODE_RESET_VALUES[20]
Supplementary conditions
If the acceleration mode is changed in a part program during machining (BRISK ↔ SOFT), a
block change is performed at the point of transition with an exact stop at the end of the block,
even in continuous-path mode.
Overview
The maximum jerk value can be set for each specific machine axis for single-axis
movements (setup modes e.g. JOG, JOG/INC, positioning axis, reciprocating axis, etc.):
MD32430 $MA_JOG_AND_POS_MAX_JERK (maximum axis jerk)
Initial setting
Acceleration with jerk limitation can be set as the axial initial setting:
MD32420 $MA_JOG_AND_POS_JERK_ENABLE
(initial setting of axial jerk limitation)
Basic Functions
246 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Acceleration (B2)
Functions
4.2.12.2 Parameterization
Function
The function's initial setting and the maximum values are parameterized for specific axes
using machine data:
MD32420 $MA_JOG_AND_POS_JERK_ENABLE
(initial setting of axial jerk limitation)
MD32430 $MA_JOG_AND_POS_MAX_JERK (maximum axis jerk)
4.2.12.3 Programming
Syntax
SOFTA (Axis {Axis})
Functionality
The SOFTA part-program instruction is used to select acceleration with jerk limitation for
single-axis movements (positioning axis, reciprocating axis, etc.)
G group: -
Effective: modal
Axis:
● Value range: Axis identifier for channel axes
Reset response
The axis-specific initial setting is activated via a reset:
MD32420 $MA_JOG_AND_POS_ENABLE
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 247
Acceleration (B2)
Functions
Overview
To enable a flexible response to the machining situations concerned, setting data can be
used to limit the path jerk calculated during preprocessing for specific channels:
SD42510 $SC_SD_MAX_PATH_JERK (maximum path jerk)
The value specified in the setting data is only taken into account in the channel if it is smaller
than the path jerk calculated during preprocessing.
The limitation must be activated for specific channels using setting data:
SD42512 $SC_IS_SD_MAX_PATH_JERK = TRUE
4.2.13.2 Parameterization
Function
Parameterization is carried out for specific channels using setting data:
SD42510 $SC_SD_MAX_PATH_JERK (maximum path jerk)
SD42512 $SC_IS_SD_MAX_PATH_JERK
(activation of path-jerk limitation)
4.2.13.3 Programming
Syntax
$SC_SD_MAX_PATH_JERK = jerk value
Functionality
The path-jerk limitation can be adjusted for the situation by programming the setting data.
Jerk value:
● Value range: ≥ 0
● Unit: m/s3
Application:
● Part program
● Static synchronized action
Basic Functions
248 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Acceleration (B2)
Functions
Switch ON/OFF
Syntax
$SC_IS_SD_MAX_PATH_JERK = value
Functionality
The path-jerk limitation can be activated/deactivated by programming the setting data.
Parameter: Value
● Value range: TRUE, FALSE
Application:
● Part program
● Static synchronized action
Overview
So that no compromise has to be made between machining-optimized jerk on the one hand
and time-optimized jerk in connection with the following real-time events on the other:
● NC-STOP/NC-START
● Feedrate override modifications
● Modification of the velocity default for "safely reduced velocity" within the context of the
"Safely Integrated" function
the path jerk can be set for the real-time events specified above using a channel-specific
system variable:
$AC_PATHJERK = path jerk
Path jerk for real-time events will only be active for the duration of the change in velocity in
respect of one of the real-time events specified above.
Limitation
As the jerk is not a physical variable of any relevance to the drive, no limit is imposed on the
jerk set.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 249
Acceleration (B2)
Functions
Effective
Effective Path jerk for real-time events is only enabled in AUTOMATIC and MDA operating
modes in conjunction with the following real-time events:
• NC-STOP/NC-START
• Override modifications
• Modification of the velocity default for "safely reduced velocity" within the context
of the "Safely Integrated" function
Ineffective Path jerk for real-time events is ineffective for changes in the path velocity that are
attributable to path planning during preprocessing for the channel, such as contour
curvatures, corners, kinematic transformation limitations, etc.
Path jerk for real-time events is ineffective if the programmed value is smaller than
the path jerk calculated during preprocessing for the path section concerned.
Programming
For the purpose of setting the jerk for real-time events in accordance with the acceleration,
the system variables can be set as follows:
$AC_PATHJERK = $AC_PATHACC/smoothing time
● $AC_PATHACC: Path acceleration [m/s2]
Smoothing time: Freely selectable, e.g. 0.02 s
For information about programming system variables in the part program or synchronized
actions, see Chapter: Programming.
4.2.14.2 Programming
Syntax
$AC_PATHJERK = path jerk
Functionality
The path jerk for real-time events is set via the channel-specific system variables.
Jerk value:
● Value range: Path jerk ≥ 0
● Unit: m/s3
Application:
● Part program
● Static synchronized action
Basic Functions
250 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Acceleration (B2)
Functions
Reset response
The function is deactivated on reset.
Supplementary conditions
Programming $AC_PATHJERK in the part program automatically triggers a preprocessing
stop with REORG (STOPRE).
Overview
Frequently, the maximum jerk for the machine axes involved in the machining process must
be set lower than the machine's performance capability officially allows because of the
supplementary conditions associated with the specific process concerned.
For time-optimized traversing of the machine axes with programmed rapid traverse (part-
program instruction G00), a specific maximum value can be programmed for the axis-
specific jerk.
4.2.15.2 Parameterization
Function
The maximum value for axis-specific jerk with programmed rapid traverse is parameterized
(G00) using the axis-specific machine data:
MD32434 $MA_G00_ACCEL_FACTOR
(scaling of the acceleration limitation with G00)
This is used to generate the maximum value for axis-specific jerk with programmed rapid
traverse (G00) that is taken into account by the path planning component during
preprocessing:
Jerk[axis] =
MD32431 $MA_MAX_AX_JERK * MD32435 $MA_G00_JERK_FACTOR
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 251
Acceleration (B2)
Functions
4.2.16 Excessive jerk for block transitions without constant curvature (axis-specific)
Overview
In the case of block transitions without constant curvature (e.g. straight line > circle), the
programmable controller has to decelerate movement of the geometry axes significantly in
order to ensure compliance with the parameterized axis dynamics. For the purpose of
reducing/avoiding deceleration in connection with block transitions without constant
curvature, a higher level of axis-specific jerk can be enabled.
The excessive jerk is parameterized using a dedicated axis-specific maximum value.
4.2.16.2 Parameterization
Function
The excessive jerk for block transitions without constant curvature is parameterized using
the axis-specific machine data:
MD32432 $MA_PATH_TRANS_JERK_LIM
(excessive jerk for block transitions without constant curvature)
Overview
In certain application scenarios, e.g. when milling free-form surfaces, it may be beneficial to
smooth the position setpoint characteristics of the machine axes. This enables surface
quality to be improved by reducing the mechanical vibrations generated in the machine.
For the purpose of smoothing the position setpoint characteristic of a machine axis, a jerk
filter can be activated at position controller level, independently of the channel- and axis-
specific jerk limitations taken into account at interpolator level.
The effect of the jerk filter must be as strong as possible without having an unacceptable
impact on contour accuracy. The filter should also have as "balanced" a smoothing effect as
possible, i.e. if the same contour is traversed forwards and backwards, the contour
smoothed by the filter should be as similar as possible in both directions.
Basic Functions
252 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Acceleration (B2)
Functions
To enable the jerk filter to be optimally matched to the machine conditions, various filter
modes are available:
● 2nd-order filter (PT2)
● Sliding mean value generation
● Bandstop filter
V V ' =
˭ I= ˭ I=
+V
V V ' 1
˭ I1 ˭ I1
where:
fZ: Numerator natural freq.
fN: Denominator natural freq.
DZ: Numerator damping
DN: Denominator damping
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 253
Acceleration (B2)
Functions
Since a vibration-capable filter setting is not expected to yield useful results in any case, as
with the jerk filter's "2nd-order filter" (PT2) low-pass filter (PT2) mode there is no setting option
for the denominator damping DN. The denominator damping DN is permanently set to 1.
The bandstop filter can be parameterized in 2 different ways:
● Real bandstop filter
● Bandstop filter with additional amplitude response increase/decrease at high frequencies
Real bandstop filter
The real bandstop filter is applied when identical numerator and denominator natural
frequencies are selected:
● fZ = fN = fblock (blocking frequency)
If numerator damping setting = 0 is selected, the blocking frequency is equivalent to
complete attenuation. In this case the 3 dB bandwidth is calculated as follows:
● f3 dB bandwidth = 2 * fblock
If instead of complete attenuation, a reduction by a factor of k is all that is required, then
numerator damping should be selected in accordance with k. In this case the above formula
for calculating the 3 dB bandwidth no longer applies.
Bandstop filter with additional amplitude response increase/decrease at high frequencies
In this case, the numerator and denominator natural frequencies are set to different values.
The numerator natural frequency determines the blocking frequency.
By selecting a lower/higher denominator natural frequency than the numerator natural
frequency, you can increase/decrease the amplitude response at high frequencies. An
amplitude response increase at high frequencies can be justified in most cases, as the
controlled system generally possesses a low-pass characteristic itself, i.e. the amplitude
response drops at high frequencies anyway.
Supplementary conditions
If too high a numerator natural frequency is selected, the filter is disabled. In this case the
limiting frequency fZmax depends on the position-control cycle:
I =PD[ 6KDQQRQ7KHRUHP
˭ 7
=PLQ ˭ 7
3RVLWLRQFRQWUROF\FOH
and set with time specifications for the smoothing filter using machine data:
MD32410 $MA_AX_JERK_TIME (time constants for the axial return filter).
Basic Functions
254 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Acceleration (B2)
Functions
With SW 5.1 and higher, it is also possible to control the jerk limitation in the position
controller with a new filter based on a smoothing method that incurs few contour errors:
Mode 2 requires a bit more computation time, but with the same smoothing effect, it results
in lower contour errors or, with the same accuracy, in a smoother contour with smoother
movements. Mode 2 is recommended. Mode 1 is the default mode in SW 1 to SW 4.4 for
compatibility reasons.
For more information about how the jerk filter available with SW 5.1 and higher works
(balancing filter for improving the position setpoints of the position controller), please refer to:
References:
/FB1/ Manual of Functions, Basic Functions; Velocities, Setpoint/Actual-Value Systems,
Regulatory Control (G2), Chapter: "Control Optimization"
Mode 3
There are 2 parameterization options for the bandstop filter:
● "Real bandstop filter":
When identical numerator and denominator natural frequencies are selected (=blocking
frequency). If you select (numerator) damping setting zero, the blocking frequency is
equivalent to complete attenuation.
In this case the 3 dB bandwidth is determined on the following basis:
fbandwidth = 2 * fblock.
If instead of complete attenuation, a reduction by a factor of k is all that is required, then
the numerator damping should be selected in accordance with k.
● "Bandstop filter with additional amplitude response increase/decrease at high
frequencies":
In this case, the numerator and denominator natural frequencies are set to different
values. The numerator natural frequency determines the blocking frequency. By selecting
a lower (higher) denominator natural frequency than the numerator natural frequency,
you can increase (decrease) the amplitude response at high frequencies. An amplitude
response increase at high frequencies can be justified in most cases, as the controlled
system generally possesses a low-pass characteristic itself, i.e. the amplitude response
drops at high frequencies anyway.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 255
Acceleration (B2)
Functions
4.2.17.2 Parameterization
Activation
The jerk filter is activated using the machine data:
MD32400 $MA_AX_JERK_ENABLE = TRUE
The jerk filter is active in all operating modes and with all types of interpolation.
Filter mode
The mode is selected using the machine data:
MD32402 $MA_AX_JERK_MODE = mode
Basic Functions
256 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Acceleration (B2)
Functions
Function
Various types of motor, particularly stepper motors, have a torque characteristic that is highly
dependent upon speed and shows a steep decrease in torque in the upper speed range. To
ensure optimum utilization of the motor characteristic curve, it is necessary to reduce the
acceleration once a certain speed is reached.
0>1P@
0PD[
0UHG
Q>@
QUHG QPD[
0 = Constant characteristic
1 = Hyperbolic characteristic
2 = Linear characteristic
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 257
Acceleration (B2)
Functions
The following figures show typical velocity and acceleration characteristic curves for the
respective types of characteristic:
Constant characteristic
D Y
YPD[
DPD[
DUHG YUHG
YUHG YPD[ Y W
Figure 4-6 Acceleration and velocity characteristic with acceleration reduction: 0 = constant
Hyperbolic characteristic
D Y
YPD[
DPD[
YUHG
DUHG
YUHG YPD[ Y W
Figure 4-7 Acceleration and velocity characteristic with acceleration reduction: 1 = hyperbolic
Linear characteristic
D Y
YPD[
DPD[
YUHG
DUHG
YUHG YPD[ Y W
Figure 4-8 Acceleration and velocity characteristic with acceleration reduction: 2 = linear
Basic Functions
258 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Acceleration (B2)
Functions
vmax = $MA_MAX_AX_VELO
vred = $MA_ACCEL_REDUCTION_SPEED_POINT * $MA_MAX_AX_VELO
amax = $MA_MAX_AX_ACCEL
ared = (1 - $MA_ACCEL_REDUCTION_FACTOR) * $MA_MAX_AX_ACCEL
Function
The path acceleration characteristic curve is generated on the basis of the types of
characteristic for the axes that are of relevance for the path. If axes with different types of
characteristic curve are interpolated together, the acceleration profile for the path
acceleration will be determined on the basis of the reduction type that is most restrictive.
The following order of priorities applies, whereby 1 = top priority:
1. Acceleration reduction: 0 = constant characteristic
2. Acceleration reduction: 1 = hyperbolic characteristic
3. Acceleration reduction: 2 = linear characteristic
4. No acceleration reduction effective
A situation, whereby no acceleration reduction is active, arises for example when:
MD35220 $MA_ACCEL_REDUCTION_SPEED_POINT = 1
and/or
MD35230 $MA_ACCEL_REDUCTION_FACTOR = 0
Note
Machine axes featuring stepper motor and DC drive can be interpolated together.
Function
If the programmed path cannot be traversed using the parameterized acceleration
characteristic curve (e.g. active kinematic transformation), a substitute characteristic curve is
generated by reducing the dynamic limit values. The dynamic limit values are calculated to
ensure that the substitute characteristic curve provides the best possible compromise
between maximum velocity and constant acceleration.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 259
Acceleration (B2)
Functions
D
DPD[
DHUV
D
/RFNHG]RQH
DUHG
Basic Functions
260 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Acceleration (B2)
Functions
D
DPD[
Y
D1
U
DHUV
$[LDOFKDUDFWHULVWLFD Y
DUHG
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 261
Acceleration (B2)
Functions
Y
YPD[
YUHG
4.2.18.4 Parameterization
Activating
The knee-shaped acceleration characteristics can be activated specific to the machine axis
via the machine data:
MD35240 $MA_ACCEL_TYPE_DRIVE = TRUE
Function
The knee-shaped acceleration characteristic curve is parameterized for specific axes using
the following machine data:
MD32000 $MA_MAX_AX_VELO (maximum axis velocity)
MD35220 $MA_ACCEL_REDUCTION_SPEED_POINT
(speed for reduced acceleration)
MD35230 $MA_ACCEL_REDUCTION_FACTOR (reduced acceleration)
MD32300 $MA_MAX_AX_ACCEL (Maximum axis acceleration)
MD35242 $MA_ACCEL_REDUCTION_TYPE
(type of acceleration reduction: 0 = constant, 1 = hyperbolic, 2 = linear)
Basic Functions
262 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Acceleration (B2)
Functions
4.2.18.5 Programming
Syntax
DRIVE
Functionality
The knee-shaped characteristic curve is activated for path acceleration using the DRIVE
part-program instruction.
G group: 21
Effective: Modal
Reset response
The channel-specific default setting is activated via a reset:
MD20150 $MC_GCODE_RESET_VALUES[20]
Dependencies
If the knee-shaped acceleration characteristic curve is parameterized for a machine axis,
then this becomes the default acceleration profile for all traversing operations.
If the effective acceleration profile is changed for a specific path section using the SOFT or
BRISK part-program instructions, then an appropriate substitute characteristic curve with
lower dynamic limit values is used in place of the knee-shaped acceleration characteristic
curve.
The knee-shaped acceleration characteristic curve can be reactivated by reprogramming
DRIVE.
Syntax
DRIVEA (Axis {Axis})
Functionality
The knee-shaped characteristic curve is activated for all single-axis interpolations
(positioning axis, reciprocating axis, etc.) for specific axes using the part-program instruction.
G group: -
Effective: modal
Axis:
● Value range: Axis identifier for channel axes
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 263
Acceleration (B2)
Functions
Reset response
The channel-specific default setting is activated via a reset:
MD20150 $MC_GCODE_RESET_VALUES[20]
Dependencies
If the knee-shaped acceleration characteristic curve is parameterized for a machine axis,
then this becomes the default acceleration profile for all traversing operations.
If the effective acceleration profile is changed for a specific axis using the SOFTA or BRISKA
part-program instructions, then an appropriate substitute characteristic curve is used in place
of the knee-shaped acceleration characteristic curve.
It is possible to switch back to the knee-shaped acceleration characteristic curve for a
specific axis by programming DRIVEA.
Path interpolation
If for a machine axis involved in a programmed path the knee-shaped acceleration
characteristic parameterized without the part program instruction DRIVE is active, then a
substitute characteristic curve with reduced dynamic limiting values is determined for the
path.
Kinematic transformation
The knee-shaped acceleration characteristic is not considered in an active kinematic
transformation. With internal control, a switchover is done to acceleration without jerk
limitation (BRISK) and a substitute characteristic curve becomes active for the path
acceleration.
Basic Functions
264 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Acceleration (B2)
Examples
4.3 Examples
4.3.1 Acceleration
Key statement
An excerpt from a part program is provided below, together with the associated acceleration
characteristic, by way of an example. These are used to illustrate how the path velocity can
be adapted to take account of various events and the resulting change in acceleration.
;Approach
N1000 G0 X0 Y0 BRISK
N1100 TRANS Y=-50
N1200 AROT Z=30 G642
; Contour
N2100 X0 Y0
N2200 X = 70 G1 F10000 RNDM=10 ACC[X]=30 ACC[Y]=30
N2300 Y = 70
N2400 X0
N2500 Y0
M30
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 265
Acceleration (B2)
Examples
Y>PV@
$&B295
$&B295
W>PV@
1 1
Basic Functions
266 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Acceleration (B2)
Examples
4.3.2 Jerk
Key statement
An excerpt from a part program is provided below, together with the associated acceleration
characteristic, by way of an example. These are used to illustrate how the path velocity can
be adapted to take account of various events and the resulting change in jerk.
; Setting of path acceleration and path jerk in the event of external intervention:
N0100 $AC_PATHACC = 0.
N0200 $AC_PATHJERK = 4. * ($MA_MAX_AX_JERK[X] + $MA_MAX_AX_JERK[Y]) / 2.
; Synchronized actions for the purpose of varying the override (simulates external
intervention):
N53 ID=1 WHENEVER ($AC_TIMEC > 16) DO $AC_OVR=10
N54 ID=2 WHENEVER ($AC_TIMEC > 30) DO $AC_OVR=100
;Approach
N1000 G0 X0 Y0 SOFT
N1100 TRANS Y=-50
N1200 AROT Z=30 G642
; Contour
N2100 X0 Y0
N2200 X = 70 G1 F10000 RNDM=10
N2300 Y = 70
N2400 X0
N2500 Y0
M30
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 267
Acceleration (B2)
Examples
Y>PV@
295
W>PV@
1 1
Key statement
In the following example a short part program is used to illustrate the velocity and
acceleration characteristic for the X-axis. It also shows the connection between specific
velocity and acceleration-related machine data and the contour sections they influence.
Part program
Basic Functions
268 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Acceleration (B2)
Examples
1
1
1
1
[
0$;B$;B$&&(/>;@ 62)7B$&&(/B)$&725>;@
0'0$;B$&&(/B29/B)$&725>;@
0'0$;B$;B-(5.>;@
$[LVDFFHOHUDWLRQ
$[LVYHORFLW\ 0'3$7+B75$16B-(5.B/,0>;@
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 269
Acceleration (B2)
Examples
4.3.4.1 Activation
Key statement
The example given illustrates how the knee-shaped acceleration characteristic curve is
activated on the basis of:
● Machine data
● Part program instruction
Machine data
● Parameterizing the characteristic curve (example only)
X axis
MD35220 $MA_ACCEL_REDUCTION_SPEED_POINT[X] = 0.4
MD35230 $MA_ACCEL_REDUCTION_FACTOR[X] = 0.85
MD35242 $MA_ACCEL_REDUCTION_TYPE[X] = 2
MD35240 $MA_ACCEL_TYPE_DRIVE[X] = TRUE
Y axis
MD35220 $MA_ACCEL_REDUCTION_SPEED_POINT[Y] = 0.0
MD35230 $MA_ACCEL_REDUCTION_FACTOR[Y] = 0.6
MD35242 $MA_ACCEL_REDUCTION_TYPE[Y] = 1
MD35240 $MA_ACCEL_TYPE_DRIVE[Y] = TRUE
Z axis
MD35220 $MA_ACCEL_REDUCTION_SPEED_POINT[Z] = 0.6
MD35230 $MA_ACCEL_REDUCTION_FACTOR[Z] = 0.4
MD35242 $MA_ACCEL_REDUCTION_TYPE[Z] = 0
MD35240 $MA_ACCEL_TYPE_DRIVE[Z] = FALSE
Basic Functions
270 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Acceleration (B2)
Examples
N10 G1 X100 Y50 Z50 F700 Path motion (X,Y, Z) with DRIVE
N15 Z20 Path motion (Z) with DRIVE
N20 BRISK Switchover to BRISK
N25 G1 X120 Y70 Path motion (Y, Z) with substitute
characteristic curve
N30 Z100 Path motion (Z) with BRISK
N35 POS[X] = 200 FA[X] = 500 Positioning motion (X) with DRIVEA
N40 BRISKA(Z) Activate BRISKA for Z
N40 POS[Z] = 50 FA[Z] = 200 Positioning motion (Z) with BRISKA
N45 DRIVEA(Z) Activate DRIVEA for Z
N50 POS[Z] = 100 Positioning motion (Z) with DRIVE
N55 BRISKA(X) results in error message
...
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 271
Acceleration (B2)
Data lists
Basic Functions
272 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Acceleration (B2)
Data lists
Identifier Description
$AC_PATHACC Path acceleration for real-time events
$AC_PATHJERK Path jerk for real-time events
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 273
Acceleration (B2)
Data lists
Basic Functions
274 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Diagnostic Tools (D1) 5
5.1 Brief description
Diagnostic tools
Integrated and external diagnostic tools are available for operating the SINUMERIK control.
In addition, the NC assists with error delimitation for drive problems by providing the option
of simulating the drive interface of machine axes.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 275
Diagnostic Tools (D1)
Brief description
● Circularity test
● Archiving drive and control data
By means of the DAC configuration, the 611D drive modules enable the output of all
important control loop variables of the position, speed and torque levels to external
measurement devices (e.g. oscilloscope, signal plotter) via measuring sockets.
References
A detailed description of the 611D commissioning software can be found in:
/FBA/ Function Manual, Drive Functions, Speed Control Loop (DD2)
A detailed description of the circularity test can be found in:
/FB2/ Function Manual, Extended Functions, Compensations (K3)
Basic Functions
276 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Diagnostic Tools (D1)
Description of diagnostic tools
Scope
The Function Manual deals with displays of the user interface, system functions, procedures
for determining system statuses and, if necessary, measures for avoiding undesirable
conditions for the NC control, PLC and drives.
General
Alarm log
The alarm log contains the alarms that have occurred and the time. Detailed information on
the individual alarms can be found in:
References:
/DA/ Diagnostics Manual or in the case of systems with HMI Advanced see Online Help.
Note
The corresponding explanations for alarms and messages which the machine tool
manufacturer issues (range of values ......),
can be found in the machine tool manufacturer's documentation.
Alarm handler
Application
The alarm handler provides an infrastructure for activating and managing alarms on the
NCK.
Functions
● Buffering of a maximum of 16 alarms that have been activated since system power-up
and which have not yet been reset.
● Alarm reactions can be programmed as channel-specific, mode-group-specific or NCK-
specific reactions.
● The "NoReady" alarm reaction can also be programmed as a channel-specific reaction.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 277
Diagnostic Tools (D1)
Description of diagnostic tools
Activation
The alarm handler is activated when an error status is detected in the NCK, causing an
alarm to be output.
It is possible to trigger an alarm in a part program using the SETAL command.
References: /PGA/ Programming Manual Advanced
Note
The currently active alarms in the NCK are read via the operator panel interface.
It is not possible to set alarms externally in the NCK.
Alarms with an alarm ID in the 60000 to 60999 range can be activated in a part program.
Data backup
On Power ON , the alarm-handler data are reinitialized completely, since they are not
stored in the buffered SRAM.
Compatibility
As of SW 4
As of SW 4.1 and later, it is possible to set the channel-specific signal
CHANNEL_NOREADY in the VDI interface in response to alarms.
Up to SW 3.x
Machine data:
MD11412 $MN_ALARM_REACTION_CHAN_NOREADY
controls whether the channel-specific signal CHANNEL_NOREADY function is used. This
ensures that earlier PLC versions remain compatible.
Default setting: CHANNEL_NOREADY signal is not used.
Alarms that have specified a channel-specific NOREADY signal are reconfigured to the
mode-group-specific NOREADY signal.
Clearing criterion
For each alarm, you must specify how the alarm can be cleared again. The following clearing
criteria are possible:
● POWERONCLEAR
The alarm is cleared by switching the control off and then on again.
● RESETCLEAR
When the Reset key is pressed, the alarm is cleared in the channel in which it occurred.
● CANCELCLEAR
The alarm is cleared in any channel when the Cancel key is pressed. The alarm can also
be cleared by means of an NC start or Reset.
Basic Functions
278 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Diagnostic Tools (D1)
Description of diagnostic tools
● NCSTARTCLEAR
The alarm is cleared in the channel in which the alarm occurred by starting a program.
The alarm can also be cleared by means of a Reset.
● CLEARHIMSELF
The alarm is not cleared by an operator input or action, but explicitly by a "clearAlarm"
programmed in the NCK source code.
● BAGRESETCLEAR
The alarm is cleared by a "BAGRESETCLEAR" command or by executing a Reset in
every channel of this mode group.
● NCKRESETCLEAR
The alarm is cleared by an "NCKRESETCLEAR" command or by executing a Reset in
every channel.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 279
Diagnostic Tools (D1)
Service displays
Conditions of use
Conditions for the use of service displays are specified. Service displays are differentiated
between in terms of axis/spindle, drive and profibus DP
Operation
For how to operate the service displays see:
References:
/BAD/ "HMI Advanced Operating Manual"
/BEM/ "HMI Embedded Operating Manual"
Note
On HMI Advanced, it is possible to switch between the displays using the vertical soft key for
Part view/Overall view. The data in the partial view are updated at significantly shorter
intervals.
General
In principle, the following service displays are available:
● Axis/spindle service displays
● Drive service displays
● Profibus-DP service displays
Note
System dependencies
The availability of individual service displays depends on the particular system, e.g.:
• Drive service displays: for digital drives only
• Profibus-DP service displays: for SINUMERIK 840Di only
Basic Functions
280 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Diagnostic Tools (D1)
Axis/spindle service display
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 281
Diagnostic Tools (D1)
Axis/spindle service display
Following error
The difference between the position setpoint and the actual position value of active
measuring system 1 or 2.
Unit: mm, inch or degrees
Error signal
The difference between the position setpoint at the position controller input and the actual
position value of active measuring system 1 or 2.
Unit: mm, inch or degrees
Contour deviation
The current contour deviation is displayed with this value (variations of the following error
caused by settling operations on the speed controller due to load changes).
The contour deviation results from the difference between an actual position pre-calculated
from the position setpoint and the actual position value of active measuring system 1 or 2.
Unit: mm, inch or degrees
Basic Functions
282 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Diagnostic Tools (D1)
Axis/spindle service display
6SHHGVHWSRLQW
6HUYRJDLQIDFWRU
)ROORZLQJHUURU
>PPLQ@
8QLW ZLWKVWDQGDUGVHWWLQJ
>PP@
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 283
Diagnostic Tools (D1)
Axis/spindle service display
Speed setpoint
Speed setpoint transferred to the drive (= speed setpoint from position controller and feed
forward control).
Unit: %
100% corresponds to the maximum speed setpoint (10 V for an analog interface, maximum
speed for SIMODRIVE 611 digital).
Override
The effective correction factor of the feed or spindle correction switch is displayed.
Unit: %
Basic Functions
284 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Diagnostic Tools (D1)
Axis/spindle service display
Controller mode
Displays the current controller modes.
0: Position Control
1: Speed Control
2: Stopping
3: Parking
4: Follow-up
5: Braking
For a more detailed description of controller modes, refer to:
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 285
Diagnostic Tools (D1)
Axis/spindle service display
Basic Functions
286 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Diagnostic Tools (D1)
Axis/spindle service display
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 287
Diagnostic Tools (D1)
Axis/spindle service display
6SLQGOH 6SLQGOHVSHHGVHWSRLQW
VSHHG FXUUHQW )HHG
IRUZDUG
VHWSRLQW FRQWURO
SURJ 3RVLWLRQVHWSRLQW
VSHHGVHWSRLQW 6SHHGVHWSRLQW>@
(UURUVLJQDO
-HUNOLPLWDWLRQ
,QWHUSRODWRU )LQH 3RVLWLRQ 6SHHG
,32 '\QDPLF FRQW &XUUHQW 3RZHU 0
LQWHUSRODWRU UHVSRQVH FRQWURO FRQWURO VHFWLRQ
OHU UROOHU
DGDSWDWLRQ OHU
&RQWURO $FWXDOVSHHGYDOXH>@
&RQWURO SDUDPHWHUVHW
ORRS
PRGHO
$FWXDOVSHHG
YDOXH
&RQWRXU VSHFLILFDWLRQ
)ROORZLQJHUURU GHYLDWLRQ &RPSHQVDWLRQ
%DFNODVK/(&
$EVFRPSHQVDWLRQYDOXH
$FWLYH 0HDVXULQJV\VWHP
PHDVXULQJ
V\VWHP
$FWXDOSRVLWLRQYDOXHRIPHDVXULQJV\VWHP $FWXDOYDOXH
SURFHVVLQJ *
,WDOLFIRQW ฬ 9DOXHLVGLVSOD\HGLQXVHULQWHUIDFH
Checks
Basic Functions
288 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Diagnostic Tools (D1)
Axis/spindle service display
6SHHGVHWSRLQW >PPLQ@
6HUYRJDLQIDFWRU 'HIDXOW
)ROORZLQJHUURU >PP@
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 289
Diagnostic Tools (D1)
Axis/spindle service display
Basic Functions
290 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Diagnostic Tools (D1)
Drive service display (for digital drives only)
Displays
Displays on the control's user interface that show values and statuses allow for evaluation of
the operating statuses of the digital drives.
Access
For the purposes of commissioning and diagnosing
● feed drives (FDD) and
● main spindle drives (MSD)
"Diagnostic" information are displayed for each axis/spindle via the operator panel front in
the operating area.
Note
The parameters in the "Drive" service display are not necessary for connecting drives via the
PROFIBUS-DP. For SINUMERIK 840Di, the drives are defined as PROFIBUS nodes. The
appropriate service data is displayed in 840Di-Start-up in the menu Diagnostics -->
PROFIBUS.
Application
The diagnostic options are used for:
● checking the status of enabling and control signals
(e.g. pulse enable, drive enable, motor selection, setpoint parameter set)
● checking the status of FDD/MSD operating modes
(e.g. setup mode, parking axis)
● displaying temperature warnings
● checking the current setpoint/actual value display
(e.g. actual position value measuring system 1/2, speed setpoint, actual speed value)
● checking the drive status (drive ready)
● displaying the current ramp-up phase
● displaying the group error message (message status class 1)
● displaying the drive status messages
(e.g. threshold torque not reached, minimum speed not reached, actual speed = set
speed)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 291
Diagnostic Tools (D1)
Drive service display (for digital drives only)
Explanations/Terms
The individual status displays, warnings, messages, etc., are explained in the following
sections. For HMI SW 6 and higher, the status is shown in plain text as "yes" or "no" instead
of "0" and "1".
For additional information, see:
References:
/IAD/ Installation and Startup Guide
Basic Functions
292 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Diagnostic Tools (D1)
Drive service display (for digital drives only)
State 1: Ramp-up function generator quick stop is not active for the drive.
State 0: Ramp-up function generator quick stop is active. The drive is stopped without
a ramp function with speed setpoint = 0 and without pulse suppression.
Display corresponds to IS DB31, ... DBX92.1 ("Ramp-function generator rapid stop").
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 293
Diagnostic Tools (D1)
Drive service display (for digital drives only)
Enable pulses
Message indicating whether the drive pulses have been enabled.
State 0: The drive module pulses are suppressed. The axis/spindle can therefore not
be traversed.
State 1: The drive module pulses are enabled. The axis/spindle can now be traversed.
Display corresponds to IS DB31, ... DBX93.7 ("Enable pulses").
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2).
Drive ready
Display of the current status of the selected drive.
State 0: The drive is not ready.
State 1: The drive is ready.
Display corresponds to IS DB31, ... DBX93.5 ("Drive Ready").
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2)
Display indicating the current ramp-up phase of the selected drive.
Meaning:
CRC error
Display of communications errors detected in hardware between NC and drive.
Note
If the display shows a value other than "0", please contact your SIEMENS Regional Office!
ZK1 Messages
Display indicates whether messages of status class 1 are active.
State 0: There is no pending ZK1 message.
State 1: One or several status class 1 messages are active.
Status class 1 messages are alarms with the following characteristics:
● They lead to internal responses (e.g. regenerative braking, immediate pulse suppression)
● They are modal.
Basic Functions
294 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Diagnostic Tools (D1)
Drive service display (for digital drives only)
DC link voltage
indicates the current DC link voltage level within the drive grouping.
Unit: Volts
Speed setpoint
The displayed speed setpoint represents the unfiltered total setpoint value. It consists of the
position controller output component and the speed feedforward branch.
Unit: rpm
Display corresponds to machine data:
MD1706 $MD_DESIRED_SPEED (speed setpoint value).
Motor temperature
Display of motor temperature measured via temperature sensors.
Unit: Degrees Celsius
Display corresponds to machine datum:
MD1702 $MD_MOTOR_TEMPERATURE (motor temperature).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 295
Diagnostic Tools (D1)
Drive service display (for digital drives only)
Integrator disabling
This display indicates whether the speed controller integrator is active.
State 0: The integrator of the speed controller is enabled. The speed controller
functions as a PI controller.
State 1: Deactivation of the speed-controller integrator as requested by the PLC using
IS DB 31, ... DBX 21.6
("Integrator disable speed controller") is active for the drive module. The
speed controller has therefore switched from a PI to a P controller.
Display corresponds to IS DB31, ... DBX93.6 ("Speed-controller integrator disabled").
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2)
Setup mode
Mode display of the SIMODRIVE 611 digital.
State 0: Normal operation is active for the drive.
State 1: Setup mode is active for the drive.
Display corresponds to NST DB31, ... DBX92.0 ("Setup mode active").
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2)
Basic Functions
296 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Diagnostic Tools (D1)
Drive service display (for digital drives only)
Parking axis
Mode display of the SIMODRIVE 611 digital.
Operating mode
Display indicating whether the motor is operating as a feed drive or main spindle drive.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 297
Diagnostic Tools (D1)
Drive service display (for digital drives only)
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2)
Basic Functions
298 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Diagnostic Tools (D1)
Drive service display (for digital drives only)
State 0: The ramp-up function has not yet been completed after a new speed setpoint
was defined.
State 1: The actual speed value has reached the speed tolerance band after a new
speed setpoint was defined.
The speed tolerance band corresponds to machine datum:
MD1426 $MD_SPEED_DES_EQ_ACT_TOL (tolerance band for 'nset-nactual' message).
Display corresponds to NST DB31, ... DBX94.2 ("Ramp-up function completed").
References:
/FB1/ Function Manual Basic Functions; Various Interface Signals (A2)
State 0: In the stationary condition (i.e. ramp-up procedure completed), the torque
setpoint is greater than the threshold torque.
State 1: In the stationary condition, the torque setpoint has not reached the threshold
torque.
The threshold torque corresponds to the machine data:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 299
Diagnostic Tools (D1)
Drive service display (for digital drives only)
State 0: The actual speed value is outside the speed tolerance band after a
new speed setpoint was defined.
State 1: The actual speed value has reached the speed tolerance band after a new
speed setpoint was defined.
Basic Functions
300 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Diagnostic Tools (D1)
Drive service display (for digital drives only)
Variable signal 1
Status display of 611D variable signaling function.
With the variable signaling function, any memory location can be monitored to see whether a
definable threshold is exceeded. In addition to the threshold, a tolerance band can be
defined which is also taken into account when scanning for violation of the threshold value.
The signal can be combined with an ON delay or OFF delay time.
State 0: Threshold value not reached
State 1: Threshold value exceeded
Parameters for the variable signal function are set using the following 611D machine data:
For details on the behavior of the NC control in response to individual alarms, and remedial
action, please refer to:
References:
/DA/ Diagnostic Manual
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 301
Diagnostic Tools (D1)
Service display PROFIBUS DP 840Di
Basic Functions
302 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Diagnostic Tools (D1)
Service display PROFIBUS DP 840Di
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 303
Diagnostic Tools (D1)
Service display PROFIBUS DP 840Di
Basic Functions
304 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Diagnostic Tools (D1)
Service display PROFIBUS DP 840Di
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 305
Diagnostic Tools (D1)
Communication log
Log assistance
In event of a fault and when developing OEM applications, control logs may assist with the
analysis.
Communication log
The communication errors which have occurred between the HMI and NC are displayed in
chronological order via the soft key Comm. log in the "Diagnostics" operating area This error
list assists developers of OEM applications in localizing sporadic errors. The list has no
relevance for normal operation.
Logbook
The logbook display selected by means of soft key Logbook in the "Diagnostics" operating
area automatically lists details of all alterations to the control that are relevant for the system
(e.g. changes in access level).
For SINUMERIK 840Di, the logbook is displayed in 840Di Start-Up.
Version
in case of service, the integrated HMI or NC software version can be read (Operating area
"Diagnosis" under the Version) softkey.
The software version of each software module is recorded additionally in a list.
Basic Functions
306 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Diagnostic Tools (D1)
PLC status
Application
The end customer or service personnel can use this function on site without a programming
device to do the following:
● Check the input and output signals of the PLC I/Os.
● Carry out limited troubleshooting
● Check the interface signals for diagnostic purposes.
Operation
For information about status display operation and changing PLC signals, refer to the
Operating Manual for the relevant HMI software.
Status display
The status of the following data can be displayed on the operator panel.
● Interface signals from the machine control panel
● Interface signals to the machine control panel
● Interface signals between the NCK and PLC
● Interface signals between the HMI and PLC
● Data blocks (DB 0-127)
● Flags (FB 0-255)
● Timers (T 0-127)
● Counters (C 0-63)
● Inputs (IB 0-127)
● Outputs (QB 0-127)
For a breakdown of the interface signals (DBx, DBBy), refer to:
References:
/LIS2/ Lists (Volume 2)
Change in status
The status of the above signals can be changed for test purposes. Signal combinations are
also possible. A maximum of ten operands can be altered at any one time.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 307
Diagnostic Tools (D1)
Other diagnostics tools
Archiving of data
The PCIN software package can be used to archive machine data, setting data, part
programs, etc.
A description of how to use this can be found in the associated documentation:
References:
/PI/ PCIN 4.3
840Di Start-Up
For diagnosing the SINUMERIK 840Di, the WINDOWS program 840Di Start-Up can be
used. This provides information, e.g. on the current operating mode and the nodes of
PROFIBUS-DP.
Basic Functions
308 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Diagnostic Tools (D1)
Identifying defective drive modules
Deactivate drives
Drives can be removed from the NC configuration using a piece of machine data.
Troubleshooting may involve a situation where a drive module (SIMODRIVE 611 digital)
displayed in an alarm text needs to be removed from the bus in order to determine whether
this module has caused the displayed error.
With machine datum:
MD13030 $MN_DRIVE_MODULE_TYPE,
individual modules can be removed from the NC-side drive bus configuration (the affected
axes are switched to simulation).
Note
You must remove the desired module from the drive bus configuration (SIMODRIVE 611
digital) before you activate the function. To do this, connect the drive so as to exclude the
module.
Since this internal modification to the machine configuration can result in damage to the
machine if implemented incorrectly, the axes are prevented from moving.
If Safety Integrated has been activated for the modules concerned, you must disable it
manually (safety, logged, EMERGENCY STOP scheme).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 309
Diagnostic Tools (D1)
Identifying defective drive modules
Example
The 2-axis module with drive numbers "1" and "2" must be removed from a drive grouping.
Note
Before activating the function, the module in question must be removed from the drive bus
configuration
(SIMODRIVE 611 digital). To do this, connect the drive bus so as to exclude the module.
If Safety Integrated has been activated for the modules concerned, you must disable it
manually (safety, logged, EMERGENCY STOP scheme).
Module Drive no. Active Type Module type Power section code
1 10 1 ARM/MSD Axis 6
Left 1 1 SRM/FDD Axis 14
Right 2 1 SRM/FDD Axis 14
Left 4 1 HLA Axis
Right 5 1 ANA Axis
4 12 1 SLM Axis 11
5 11 1 PER DMP-C
Module "2" must now be removed:
● Machine datum:
MD13030 $MN_DRIVE_MODULE_TYPE
is to be selected on the "General MD" MD screen.
● DRIVE_MODULE_TYPE[0] = 1
DRIVE_MODULE_TYPE[1] = 2 <- set this entry to zero
DRIVE_MODULE_TYPE[2] = 2 <- set this entry to zero
DRIVE_MODULE_TYPE[3] = 2
DRIVE_MODULE_TYPE[4] = 2
DRIVE_MODULE_TYPE[5] = 1
DRIVE_MODULE_TYPE[6] = 9
Basic Functions
310 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Diagnostic Tools (D1)
Identifying defective drive modules
Note
If alarm 300003 "Axis xx drive yy incorrect module type zz" appears, then you have removed
only one part of a 2-axis module. In this case, you should check the module type in the drive
configuration display. "NO" axis type is shown for removed modules.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 311
Diagnostic Tools (D1)
Data lists
Basic Functions
312 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Diagnostic Tools (D1)
Data lists
5.11.3 Signals
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 313
Diagnostic Tools (D1)
Data lists
Basic Functions
314 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Travel to Fixed Stop (F1) 6
6.1 Brief description
Customer benefit
The "Travel to fixed stop" function can be used for operations such as traversing tailstocks or
sleeves to an end limit position in order to clamp workpieces.
Features
● The clamping torque and a fixed stop monitoring window can be programmed in the part
program and can also be altered via setting data once the fixed stop has been reached.
● The "travel to fixed stop" function can be implemented for axes as well as for spindles
with axis-traversing capability.
● The function can be implemented for several axes simultaneously and parallel to the
motion of other axes.
● Torques or the power can be adjusted to a specific setting.
● Travel with limited torque/power (Force Control, FOC) can be activated.
● The "travel to fixed stop" functions can be enabled from synchronized actions.
● Block search with calculation, multi-channel (SERUPRO).
Move axes with FXS and FOC in simulation mode.
● Vertical axes can also be moved with FXS to a fixed stop.
● With SW 6.4 and higher, VDI signals can be used to set a REPOS offset for each axis and
display the FXS status currently active on the machine after the search target has been
located.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 315
Travel to Fixed Stop (F1)
General functionality
Programming
Travel to fixed stop is selected or deselected with the following commands:
FXS[Machine axis identifier]=1 (selected)
FXS[Machine axis identifier]=0 (deselected)
The commands are modal.
The clamping torque is set with command:
FXST[Machine axis identifier] = <Torque>
adjusted.
It is in % of the static torque for VSA of the drive:
(MD1118 MOTOR_STANDSTILL_CURRENT)
or in % of the engine torque for HSA drives:
(MD1130 MOTOR_NOMINAL_POWER)
entered.
The command is used for setting the width of the fixed stop monitoring window.
FXSW[machine axis identifier] = monitoring window
The unit is dependent on the default setting: mm, inch or degrees.
Basic Functions
316 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Travel to Fixed Stop (F1)
General functionality
Examples
References:
/PG/, "Programming Manual: Fundamentals"
All four of the following programming lines have the same effect when the channel axis X is
imaged on the machine axis AX1, X1:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 317
Travel to Fixed Stop (F1)
General functionality
Functional sequence
The function is explained by the example below (sleeve is pressed onto workpiece).
$FWXDOSRVLWLRQDIWHUBWUDYHO
WRIL[HGVWRS
)L[HGVWRS 6WDUWSRVLWLRQ
3URJU(QG PRQLWRULQJZLQGRZ
SRVLWLRQ
Selection
The NC detects that the function "travel to fixed stop" is selected via the command
FXS[x]=1 and signals the PLC via the NST DB31, ... DBX62.4 ("Activate travel to fixed
stop") that the function has been selected.
If the machine data:
MD37060 FIXED_STOP_ACKN_MASK
(Monitoring of PLC acknowledgments for travel to fixed stop)
is set correspondingly, the acknowledgement of the PLC via the NST DB31 is, ... DBX3.1
("Enable travel to fixed stop") is waited for.
The programmed target position is then approached from the start position at the
programmed velocity. The fixed stop must be located between the start and target positions
of the axis/spindle. A programmed torque limit is effective from the start of the block, i.e. the
fixed stop is also approached with reduced torque. Allowance for this limitation is made in
the NC through an automatic reduction in the acceleration rate.
If no torque has been programmed in the block or since the start of the program, then the
value is valid in the axis-specific machine data:
MD37010 $MA_FIXED_STOP_TORQUE_DEF
(Default setting for clamping torque)
Basic Functions
318 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Travel to Fixed Stop (F1)
General functionality
Internal processes
Once the NC has detected the "Fixed stop reached" status, it deletes the distance-to-go and
the position setpoint is made to follow. The controller enabling command remains active.
Subsequently the PLC is through the NST DB31, ... DBX62.5 ("Fixed stop reached")
informed.
If the machine data:
MD37060 $MA_FIXED_STOP_ACKN_MASK
is set correspondingly, the acknowledgement of the PLC via the NST DB31 is, ... DBX1.1
("Acknowledge fixed stop reached") is waited for.
The NC then executes a block change or considers the positioning motion to be completed,
but still leaves a setpoint applied to the drive actuator to allow the clamping torque to take
effect.
The fixed stop monitoring function is activated as soon as the stop position is reached.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 319
Travel to Fixed Stop (F1)
General functionality
Monitoring window
If no fixed stop monitoring window was programmed in the block or from program start, then
the value set in the machine data:
MD37020 $MA_FIXED_STOP_WINDOW_DEF
(Default for fixed stop-monitoring window)
is valid.
If the axis leaves the position it was in when the fixed stop was detected, then alarm 20093
"Fixed stop monitoring has responded" is displayed and the "Travel to fixed stop" function
deselected.
The window must be selected by the user such that the alarm is activated only when the axis
leaves the fixed stop position.
Function abort
If the "Travel to fixed stop" function is aborted owing to a pulse cancellation command,
cancelation of PLC acknowledgments or a Reset in the approach block, the display or
suppression of alarm 20094 can be controlled via machine data:
MD37050m $MA_FIXED_STOP_ALARM_MASK
Basic Functions
320 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Travel to Fixed Stop (F1)
General functionality
Interrupts
If the fixed stop position is not reached when the function is active, alarm 20091 "Fixed stop
not reached" is output and a block change executed.
If a travel request (e.g. from the part program, the PLC, from compile cycles or from the
operator panel) is provided for an axis after the fixed stop has been reached, the alarm
20092 "Travel to fixed stop still active" is output and the axis is not moved.
If an axis has reached the fixed stop and is then moved out of this position by more than the
value specified in
SD FIXED_STOP_WINDOW (Fixed stop monitoring window)
from the position, then the alarm 20093 "Standstill monitoring has triggered at the stop" is
given, the function "Travel to fixed stop" for this axis is deselected and the system variable is
set $AA_FXS[x]=2.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 321
Travel to Fixed Stop (F1)
General functionality
Deselection
The NC recognizes the function deselection via programming of the command FXS[x]=0.
Then an advance stop (STOPRE) is internally released, since it can't be forseen where the
axis will be after deselection.
The torque limitation and monitoring of the fixed stop monitoring window are canceled.
The NST DB31, ... DBX62.4 ("Activate travel to fixed stop") and DB31, ... DBX62.5 ("Fixed
stop reached") are reset.
Depending on the machine data:
MD37060 $MA_FIXED_STOP_ACKN_MASK
the acknowledgement of the PLC is awaited through resetting of the NST
DB 31, ... DBX3.1 ("Enable travel to fixed stop").and/or
DB 31, ... DBX1.1 ("Acknowledge fixed stop reached") is waited for.
The axis will then change to position control. The follow-up mode of the position setpoints is
ended and a synchronization to the new actual position is carried out.
A programmed traverse motion can then be executed. This motion must lead away from the
fixed stop or else the stop or even the machine may sustain damage.
A block change is executed after the target position has been reached.
Multiple selection
A selection may only be carried out once. If the function is called once more due to faulty
programming (FXS[Axis]=1) the alarm 20092 "Travel to fixed stop still active" is initiated.
Basic Functions
322 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Travel to Fixed Stop (F1)
General functionality
N10 G0 G90 X0 Y0
N20 WHEN $AA_IW[X]>17 DO FXS[X]=1 ; If X reaches a position greater
N30 G1 F200 X100 Y110 ; 17mm FXS is activated
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 323
Travel to Fixed Stop (F1)
General functionality
Response to RESET
During selection (fixed stop not yet reached) the function FXS can be aborted with RESET.
The termination is carried out such that an "almost achieved" fixed stop (setpoint already
beyond the fixed stop, but still within the threshold for the fixed stop detection) will not result
in damage.
This is achieved by synchronizing the position setpoint to the new actual position. As soon
as the fixed stop is reached, the function remains operative even after RESET.
Function abort
A function abort can be triggered by the following events:
● EMERGENCY STOP:
– With an 840D control, the NC and drive are disconnected from the supply after
EMERGENCY STOP, i.e. the PLC must react.
– With an 840Di control, the NC and drive are disconnected from the supply after
EMERGENCY STOP, i.e. the PLC must react.
CAUTION
Make sure that after canceling the function
"travel to fixed stop" by "EMERGENCY STOP," no dangerous machine situation
(MD37002 $MA_FIXED_STOP_CONTROL e.g. canceling pulse disable) can arise.
Basic Functions
324 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Travel to Fixed Stop (F1)
General functionality
FOC
FOCON/FOCOF is activated modally. It is already active in the approach block.
SERUPRO
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 325
Travel to Fixed Stop (F1)
General functionality
CAUTION
SERUPRO approach does not really take the statementFXS into account. The approach to
the programmed end position of the FXS block is only simulated without torque limitation.
The user can log the turning on and turning off of FXS in the part program. If necessary, the
user can start an ASUB in order to activate or deactivate FXS in this SERUPRO-ASUP.
Basic Functions
326 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Travel to Fixed Stop (F1)
General functionality
Course of values
Course of values of system variables $VA_FXS[ ] with values 1 to 5
'HVHOHFWEORFNZLWK);6>[@
,6$FWLYDWHWUDYHOWRIL[HGHQGVWRS
7HUPLQDOFODPSDFWLYH
,6(QDEOHWUDYHOWRIL[HGVWRS
,6)L[HGVWRSUHDFKHG
7HUPLQDOFODPSDFWLYH
,6$FNQRZOHGJHIL[HGVWRSUHDFKHG
6HWYHORFLW\
7DUJHWSRVLWLRQGHVHOHFWHGUHFRUG
5HFRUGFKDQJH
DFFHOHUDWLRQDFFRUGLQJWR0'0$;B$;B$&&(/
7HUPLQDOFODPSLVVWLOODFWLYHZLWKRXWFKDQJHRYHURIWHUPLQDOFODPS
Figure 6-2 Diagram for FXS with a digital drive (611 digital)
Example
If in the SERUPRO process axis Y traversal is simulated with FXS[Y]=1, then $AA_FXS has
a value of 3.
If in the SERUPRO process axis Y traversal is simulated with FXS[Y]=0, then $AA_FXS has
a value of 0.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 327
Travel to Fixed Stop (F1)
General functionality
During simulation with SERUPRO, $AA_FXS cannot have the values 1, 2, 4, 5, since the
actual status of $VA_FXS "travel to fixed stop" can never be detected.
Note
The state $AA_FXS = 1 is never reached during the SERUPRO operation. This means that
other program branches can be processed which will produce different results due to the
simulation.
If after the SERUPRO process axis Y is traversed again, then variables $AA_FXS and
$VA_FXS are assigned the same values again.
Basic Functions
328 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Travel to Fixed Stop (F1)
General functionality
Example
If the machine is at the fixed stop, and the block search has reached a block after
deselection of FXS , the new target position is displayed via NST DB31, ... DBX62.5 ("Fixed
stop reached") as REPOS offset.
Note
A SERUPRO-ASUP without FXS handling or no SERUPRO-ASUP results in fully
automatic FXS-REPOS.
CAUTION
FXS-REPOS moves all path axes in a path grouping to the target position. Axes with and
without FXS treatment thus traverse together with the G code and feedrate valid at the
time the target block is processed. As a result, the fixed stop may be approached in
rapid traverse(G0) or higher velocity.
Note
A continuously changing torque characteristic cannot be implemented with FOC-REPOS.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 329
Travel to Fixed Stop (F1)
General functionality
Example
A program moves axis X from 0 to 100 and activates FOC every 20 millimeters for 10
millimeters at a time. This torque characteristic is generated with nonmodal FOC and
therefore cannot be traced by FOC-REPOS. FOC-REPOS will traverse axis X from 0 to 100
with or without FOC.
For programming examples of FXS "travel to fixed stop," please see:
References:
/FB1/ Function Manual Basic Functions; Mode Group, Channel, Program Operation (K1);
Section: Program test
6.2.4 Miscellaneous
Setting data
The following axis-specific setting data are provided for the "Travel to fixed stop" function:
SD43500 $SA_FIXED_STOP_SWITCH (selection of travel to fixed stop)
SD43510 $SA_FIXED_STOP_TORQUE (clamping torque for travel to fixed stop)
SD43520 $SA_FIXED_STOP_WINDOW (fixed stop monitoring window)
The setting data are effective only when the axis has reached the fixed stop.
The status of the setting data is displayed via the operator panel in the "Parameters" area.
The commands FXS[x], FXST[x] and FXSW[x] effect a blocksynchronous change in
these setting data.
If FXST[x] and FXSW[x] are not programmed, then, if "Travel to fixed stop" is activated, the
defaults from the following machine data is copied to the corresponding setting data:
MD37010 $MA_FIXED_STOP_TORQUE_DEF (default for fixed stop clamping torque)
MD37020 $MA_FIXED_STOP_WINDOW_DEF (default for fixed stop monitoring window)
The setting data for clamping torque and fixed stop monitoring window can be changed by
the operator and via the PLC. It is thus possible to specify a higher or lower clamping torque
or a modified fixed stop monitoring window after the fixed stop has been reached.
Changing the clamping torque using the ramp and values greater than 100%
A clamping torque change is transferred to the drive step-like. It is possible to specify a ramp
to always ensure that a modified torque limit is reached: The setting is done via the following
machine data:
MD37012 $MA_FIXED_STOP_TORQUE_RAMP_TIME
Basic Functions
330 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Travel to Fixed Stop (F1)
General functionality
Program code
X300 Y500 F200 FXS[X1]=1 FXST[X1]=25 FXSW[X1]=5
IF $AA_FXS[X1]=2 GOTOF FXS_ERROR
G01 X400 Y200
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 331
Travel to Fixed Stop (F1)
General functionality
Inoperative IS signals
The following NC/PLC interface signals (PLC → NCK) have no effect for axes at end stop
until deselected (incl. traversing motion):
● DB31, ... DBX1.3 (axis/spindle disable)
● DB31, ... DBX2.1 (controller enable)
Contour monitoring
The axis contour monitoring function is inoperative while "Travel to fixed stop" is active.
Positioning axes
When "Travel to fixed stop" is applied toPOSA axes, block changes are made independently
of the fixed stop motion.
Vertical axes
The "Travel to fixed stop" function can be used for vertical axes even when alarms are
active.
Should the traversal of vertical axes be aborted as a result of an FXS alarm when "Travel to
fixed stop" is active, the relevant drives are not disconnected from the supply via the VDI
interface.
This functionality has the same effect on vertical axes as an electronic weight compensation
and can be configured via machine data:
MD37052 $MA_FIXED_STOP_ALARM_REACTION
MD37052
With the machine data MD37052 $MA_FIXED_STOP_ALARM_REACTION, the drive is not
disconnected from the power supply by setting the bits, even when an alarm is generated, as
the NC/PLC interface signal DB11 DBX6.3 (mode group ready) remains active.
Bit value=0:
The alarms have an effect on FXS (drive becomes disconnected as previously).
Basic Functions
332 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Travel to Fixed Stop (F1)
General functionality
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 333
Travel to Fixed Stop (F1)
General functionality
Terminal 663
When pulse enabling is canceled by terminal 663, the drive is de-energized and coasts to a
standstill immediately.
In the case of:
MD1012 $MD_FUNC_SWITCH, Bit 2 = 0
this is not signalled to the NC.
The status can be checked in the line "Pulse enable" (terminal 663) in service display service
drive.
Note
Travel to fixed stop can be aborted by blocking the pulse of NST " DB31, ...DBX21.7 ("Pulse
enable") or the terminal 663 only, if:
MD37002 $MA_FIXED_STOP_CONTROL, Bit 0 = 0
and
MD1012 $MD_FUNC_SWITCH, Bit 2 = 1
is met.
If on the one hand FXS should be interrupted, and on the other hand, "Travel to fixed stop",
the following settings are required:
MD37002 $MA_FIXED_STOP_CONTROL, Bit 0 = 0
and
MD1012 $MD_FUNC_SWITCH, Bit 2 = 0.
Basic Functions
334 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Travel to Fixed Stop (F1)
General functionality
Without ramp
The torque limit is changed without taking into account the ramp if:
● FXS is activated with (FXS[]=1), to make sure that the reduction is activated
immediately (especially for synchronized actions).
● The drive needs to be de-energized as quickly as possible in the event of a fault.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 335
Travel to Fixed Stop (F1)
General functionality
Function
For applications in which torque or force are to be changed dynamically depending on the
travel or on the time or on other parameters (e.g. pressing), the following functionalityFOC
(Force Control) is provided.
Force/travel or force/time profiles are thus possible using the "Interpolation cycle" resolution.
The function allows torque/force to be modified at any time using synchronized actions.
The function can be activated modally or block-related.
Programming
The programming of the axis is carried out in square brackets.
The following are permissible:
● Geometry axis identifiers
● Channel axis identifiers
● Machine axis identifiers
Basic Functions
336 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Travel to Fixed Stop (F1)
General functionality
Example:
Priority FXS/FOC
An activation of FXS with FOC active has priority, i.e. FXS is executed.
A deselection of FXS will cancel the clamping.
A modal torque/force limitation remains active.
After PowerOn the activation takes effect with the machine data:
MD37010 $MA_FIXED_STOP_TORQUE_DEF.
This torque can be modified at any time by programmingFXST.
Synchronized actions
The language commands FOC, FOCON, FOCOF can also be programmed in synchronized
actions as the commands for "travel to fixed stop."
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 337
Travel to Fixed Stop (F1)
General functionality
Restrictions
The function FOC is subject to the following restrictions:
● The change of the torque/force limitation representing itself as an acceleration limitation
is only taken into account in the traversing movement at block limits (see command ACC).
● Only FOC:
No monitoring is possible from the VDI interface to check that the active torque limit has
been reached.
● If the acceleration limitation is not adapted accordingly, an increase of the drag distance
during the traversing motion occurs.
● If the acceleration limitation is not adapted accordingly, the end-of-block position is
possibly reached later than specified in:
MD36040 $MA_STANDSTILL_DELAY_TIME.
The machine data:
MD36042 $MA_FOC_STANDSTILL_DELAY_TIME
is introduced for this and monitored in this status.
Basic Functions
338 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Travel to Fixed Stop (F1)
Travel to fixed stop with analog drives
Selection
The NC detects that the function "travel to fixed stop" is selected via the command
FXS[x]=1 and signals the PLC via the interface signal DB31, ... DBX62.4 ("Activate travel to
fixed stop") that the function has been selected.
If the machine data:
MD37050 FIXED_STOP_ACKN_MASK
is set correspondingly, the acknowledgement of the PLC via the NST
DB 31, ... DBX3.1 ("Enable travel to fixed stop") is awaited.
and after that the function is started.
This acknowledgment is not required by the NC for digital drives.
The axis now traverses to the target position at the programmed velocity. At the same time,
the clamping torque (specified via FXST[x]) is transferred to the drive via the digital
interface, and this limits its effective torque. In addition, the acceleration is reduced
accordingly in the NC automatically acc. to FXST[x]).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 339
Travel to Fixed Stop (F1)
Travel to fixed stop with analog drives
Deselection
The NC recognizes the function deselection via programming of the command FXS[x]=0.
Then an advance stop (STOPRE) is internally released, since it can't be forseen where the
axis will be after deselection.
The torque limitation and monitoring of the fixed stop monitoring window are canceled.
The NST DB31, ... DBX62.4 ("Activate travel to fixed stop") and DB31, ... DBX62.5 ("Fixed
stop reached") are reset.
Depending on the machine data:
MD37060 FIXED_STOP_ACKN_MASK
the acknowledgement of the PLC is awaited through resetting of the NST
DB 31, ... DBX3.1 ("Enable travel to fixed stop").and/or
("Acknowledge fixed stop reached") is waited for. DB 31, ... DBX1.1
The axis will then change to position control. The follow-up mode of the position setpoints is
ended and a synchronization to the new actual position is carried out.
A programmed traverse motion can then be executed. This motion must lead away from the
fixed stop or else the stop or even the machine may sustain damage.
A block change is executed after the target position has been reached.
Basic Functions
340 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Travel to Fixed Stop (F1)
Travel to fixed stop with analog drives
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 341
Travel to Fixed Stop (F1)
Travel to fixed stop with analog drives
Diagram
In the following diagram the progress of motor current, following error and NST signals for
DB31, ... DBX62.4 ("Activate travel to fixed stop") and DB31, ... DBX62.5 ("Fixed stop
reached") have been presented for digital drive (SIMODRIVE 611 digital).
6HOHFWUHFRUGZLWK);6>[@
,6$FWLYDWHWUDYHOWRIL[HGHQGVWRS
7HUPLQDOFODPSDFWLYH FXUUHQWOLPLWDWLRQ
,6(QDEOHWUDYHOWRIL[HGVWRS
6HWYHORFLW\
W &KDQJHRYHU
*
7UDFNLQJHUURU
0'),;('B6723B7+5(6+2/'
,6)L[HGVWRSUHDFKHG
7HUPLQDOFODPSDFWLYH
W &KDQJHRYHU ,6)L[HGVWRSUHDFKHG
DFNQRZOHGJH
5HFRUGFKDQJH
* acceleration appropriate
0'0$;B$;B$&&(/ 0'),;('B6723B$1$B72548(
7HUPLQDOFODPSLVVWLOODFWLYHZLWKRXWVKLIWLQJRIWHUPLQDOFODPS
t Changeover > 10 ms with 611-A (VSA)
!PVZLWK$ +6$
Figure 6-3 Diagram for FXS with a digital drive (611 digital)
Basic Functions
342 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Travel to Fixed Stop (F1)
Travel to fixed stop with analog drives
6.3.2 Travel to fixed stop with hydraulic drives SIMODRIVE 611 digital (HLA module)
Velocity/force control
If the function FXS (FXS[x]=1) is activated for the hydraulic module 611 digital (HLA
module), only a change from velocity control to force control takes place. Positioning from
the NC is no longer possible in this case.
NC
When traveling to fixed stop, the NC evaluates a torque/force limit acting in addition to the
limits set on the drive:
● Current
● Force/torque,
● Power, pull-out power
● Setup mode
Note
For relevant explanations on velocity control and force control as well as details about
adaptations for SIMODRIVE 611 digital or digital (HLA module), please see:
References:
/FBHLA/ Function Manual HLA module; drive functions firmware
/FB2/ Function Manual Extended Functions, Compensations (K3); Section: Electronic
weight compensation
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 343
Travel to Fixed Stop (F1)
Travel to fixed stop with analog drives
Current/torque control
The torque control and limit mentioned in the following text is realized with
611 analog (VSA) as current control and -limit.
Selection
The NC detects that the function "travel to fixed stop" is selected via the command
FXS[x]=1 and signals the PLC via the IS "Activate travel to fixed stop" (DB31, ... DBX62.4)
that the function has been selected.
The PLC must then activate the current limitation on the actuator (terminal 96).
If the machine data:
MD37060 FIXED_STOP_ACKN_MASK
is set correspondingly, the acknowledgement of the PLC via the NST
"Enable travel to fixed stop" (DB31, ... DBX3.1) awaited
and after that the function is started.
Basic Functions
344 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Travel to Fixed Stop (F1)
Travel to fixed stop with analog drives
Note
(This acknowledgment should always be programmed for analog drives for safety reasons,
i.e. so that the motion is not started before the torque has been limited).
Subsequently the NC internally sets the torque limit on the value specified via the machine
data:
MD37070 FIXED_STOP_ANA_TORQUE
(Torque limit while approaching the fixed stop for analog drives).
This must correspond to the torque limit value activated via terminal 96.
In addition, the acceleration is automatically reduced in the NC according to the value in the
machine data:
MD37070 FIXED_STOP_ANA_TORQUE
The axis now traverses to the target position at the programmed velocity.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 345
Travel to Fixed Stop (F1)
Travel to fixed stop with analog drives
Deselection
The NC detects that the function has been deselected on the basis of commandFXS[x]=0
and specifies a speed or current setpoint of "0," i.e. zero clamping torque.
Then the NC resets IS "Activate travel to fixed stop" (DB31, ... DBX62.4) and "Fixed stop
reached" (DB31, ... DBX62.5).
If current-controlled operation is activated, the PLC must first switch on the current limitation
(terminal 96) and switch the drive over to speed-controlled operation (terminal 22) (a speed
setpoint of "0" is applied by NC).
Then current limitation must then be deactivated (terminal 96).
Depending on the machine data:
MD37060 FIXED_STOP_ACKN_MASK
the acknowledgement of the PLC is awaited through resetting of the NST
"Enable travel to fixed stop" (DB31, ... DBX3.1) and/or
("Acknowledge fixed stop reached") (DB31, ... DBX1.1) is awaited.
The axis then switches over to position control mode (follow-up mode is terminated) and
synchronization with the new actual position takes place.
The programmed travel motion is then executed.
A block change is executed after the target position has been reached.
Basic Functions
346 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Travel to Fixed Stop (F1)
Travel to fixed stop with analog drives
C-axis operation
The control system has to switch the spindle into C-axis mode before the "Travel to fixed
stop" function is selected. The PLC does this by activating one of the programmable
terminals E1-D9 (e.g. terminal E1) of the drive actuator.
Selection
The NC detects that the function "travel to fixed stop" is selected via the command
FXS[x]=1 and signals the PLC via the IS "Activate travel to fixed stop" (DB31, ... DBX62.4)
that the function has been selected.
As a result, the PLC activates the unassigned gear stage, in which the torque limitation is
effective, by means of programmable terminals E1 - E9 of the drive actuator. It then switches
the speed controller monitor off (one terminal (E1-E9) to deactivate error F11 of drive
actuator).
If the machine data:
MD37060 FIXED_STOP_ACKN_MASK
is set correspondingly, the acknowledgement of the PLC via the NST
"Enable travel to fixed stop" (DB31, ... DBX3.1) is awaited and after that the function is
started.
Note
(This acknowledgment should always be programmed for analog drives for safety reasons,
i.e. so that the motion is not started before the torque has been limited).
Subsequently the controller internally sets the torque limit to the value specified through the
machine data: MD37070 FIXED_STOP_ANA_TORQUE (Torque limit while approaching the
fixed stop for analog drives).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 347
Travel to Fixed Stop (F1)
Travel to fixed stop with analog drives
This must correspond to the torque limit value set in the actuator.
In addition, the acceleration is automatically reduced in the NC according to the value in the
machine data:
MD37070 FIXED_STOP_ANA_TORQUE is reduced.
The rotary axis now traverses to the target position at the programmed velocity.
Basic Functions
348 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Travel to Fixed Stop (F1)
Travel to fixed stop with analog drives
Deselection
The NC detects that the function has been deselected on the basis of command FXS[x]=0
and specifies a speed or torque setpoint of "0," i.e. zero clamping torque.
Then the NC resets the NST "Activate travel to fixed stop"
(DB31, ... DBX62.4) and "Fixed stop reached" (DB31, ... DBX62.5)
If torque-controlled operation is activated, the PLC must first select the unassigned gear
stage in which the torque limitation is effective and switch the drive over to speed-controlled
operation (a speed setpoint of "0" is applied by NC). The PLC must also deactivate the
speed controller monitoring function.
The PLC then activates the preceding gear stage, thus deactivating the torque limitation. It
also switches on the speed control monitoring function again.
Depending on the machine data:
MD37060 FIXED_STOP_ACKN_MASK
the acknowledgement of the PLC is awaited through resetting of the NST
"Enable travel to fixed stop" (DB31, ... DBX3.1) and/or
("Acknowledge fixed stop reached") (DB31, ... DBX1.1) is awaited.
The C-axis then switches over to position control mode (follow-up mode is terminated) and
synchronization with the new actual position takes place.
The programmed travel motion is then executed.
A block change is executed after the target position has been reached.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 349
Travel to Fixed Stop (F1)
Travel to fixed stop with analog drives
6HOHFWUHFRUGZLWK);6>[@
,6$FWLYDWHWUDYHOWRIL[HGHQGVWRS
7HUPLQDOFODPSDFWLYH FXUUHQWOLPLWDWLRQ
,6(QDEOHWUDYHOWRIL[HGVWRS
6HWYHORFLW\
W &KDQJHRYHU
7UDFNLQJHUURU 7DUJHWSRVLWLRQ
5HFRUGFKDQJH
Figure 6-4 Diagram for FXS selection (fixed stop is reached) with analog drive
Basic Functions
350 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Travel to Fixed Stop (F1)
Travel to fixed stop with analog drives
)L[HGVWRSFRUUHFWO\DSSURDFKHG
5HFRUGZLWK);6>[@
167$FWLYDWH);6
9$B);6 9$B);6
7UDFNLQJHUURU )L[HGVWRSGHWHFWHG
0'),;('B6723B7+5(6+2/'
9$B);6 9$B);6
3UHYLRXVKLVWRU\ :DLWIRUGHOHWHGLVWDQFHWRJR
)L[HGVWRSQRWFRUUHFWO\DSSURDFKHG
5HFRUGZLWK);6>[@
,6$FWLYDWH);6
9$B);6 9$B);6
7UDFNLQJHUURU $[LVQRWDWIL[HGVWRS
9$B);6
$FWLYDWHSRVLWLRQFRQWUROOHU
Figure 6-5 Diagram for FXS selection (fixed stop is not reached) with analog drive
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 351
Travel to Fixed Stop (F1)
Travel to fixed stop with analog drives
FXS deselection
The following diagram shows the sequence of the following error and interface signals for
"FXS Deselection" on analog drives.
);67>[@RU0'),;('B6723B72548(B'()
0RWRUFXUUHQW
7UDFNLQJHUURU 0'),;('B6723B7+5(6+2/'
5HFRUGZLWK);6>[@
,6$FWLYDWH);6
,6);6UHDFKHG
5HFRUGFKDQJH
Basic Functions
352 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Travel to Fixed Stop (F1)
Examples
6.5 Examples
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 353
Travel to Fixed Stop (F1)
Examples
Multiple selection
A selection may only be carried out once. If the function is called once more due to faulty
programming (FXS[Axis]=1) the alarm 20092 "Travel to fixed stop still active" is initiated.
Programming code that scans $AA_FXS[] or a separate flag (here R1) in the condition will
ensure that the function is not activated more than once.
N10 R1=0
N20 IDS=1 WHENEVER ($R1 == 0 AND $AA_IW[AX3]>7) DO R1=1 FXS[AX1]=1
FXST[AX1] = 12
N10 G0 G90 X0 Y0
N20 WHEN $AA_IW[X]>17 DO FXS[X]=1 ; If X reaches a position greater
N30 G1 F200 X100 Y110 ; 17mm FXS is activated
Basic Functions
354 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Travel to Fixed Stop (F1)
Data lists
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 355
Travel to Fixed Stop (F1)
Data lists
6.6.3 Signals
Basic Functions
356 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
7
Velocities, Setpoint/Actual Value Systems, Closed-
Loop Control (G2)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 357
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Velocities, traversing ranges, accuracies
7.2.1 Velocities
,QWHUQDOLQFUHPHQWVPP
(QFRGHULQFUHPHQWVPP (1&B5(62/>Q@ LQWHUQDOPXOWLSOLFDWLRQ
'5,9(B(1&B5$7,2B180(5$>Q@
'5,9(B(1&B5$7,2B'(120>Q@
'5,9(B$;B5$7,2B'(120>Q@
'5,9(B$;B5$7,2B180(5$>Q@
/($'6&5(:B3,7&+
,17B,1&5B3(5B00
Basic Functions
358 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Velocities, traversing ranges, accuracies
Example
Interpolation cycle = 12 ms
N10 G0 X0 Y0; [mm]
N20 G0 X100 Y100; [mm]
⇒ Path length programmed in block = 141.42 mm
⇒ Vmax = (141.42 mm/12 ms) * 0.9 = 10606.6 mm/s = 636.39 m/min
The following restriction applies to the minimum path or axis velocity:
ಥ
9PLQ ,QFU
&RPSXWDWLRQDOUHVROXWLRQ> PPRUGHJUHHV
@ LQWHUSRODWLRQF\FOH>V@
,QWHUQDOLQFUHPHQWVPP
(QFRGHULQFUHPHQWVPP (1&B5(62/>Q@ LQWHUQDOPXOWLSOLFDWLRQ
'5,9(B(1&B5$7,2B180(5$>Q@
'5,9(B(1&B5$7,2B'(120>Q@
'5,9(B$;B5$7,2B'(120>Q@
'5,9(B$;B5$7,2B180(5$>Q@
/($'6&5(:B3,7&+
,17B,1&5B3(5B00
Example
MD10200 $MN_INT_INCR_PER_MM = 1000 [incr. /mm];
Interpolation cycle = 12 ms;
⇒ Vmin = 10 -3/(1000 incr/mm x 12 ms) = 0.005 mm/min;
The value range of the feed rates depends on the selected computational resolution
When the machine data:
MD10200 $MN_INT_INCR_PER_MM
(computational resolution for linear positions) (1000 incr./mm)
or
MD10210 $MN_INT_INCR_PER_DEG
(computational resolution for angular positions) (1000 incr./degree)
is assigned its default values, the following range of values can be programmed with the
specified resolution:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 359
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Velocities, traversing ranges, accuracies
Basic Functions
360 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Velocities, traversing ranges, accuracies
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 361
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Velocities, traversing ranges, accuracies
,QSXWGLVSOD\UHVROXWLRQ 6FDOLQJH[DPSOH
HQWHUHGYLDWKHRSHUDWRU 0DFKLQHGDWDLQSXWDQGGLVSOD\LQ
SDQHOXVHG FP ZLWKPHWULFEDVLFV\VWHP
,QSXWRXWSXWXQLW (JIRU0'326B/,07B3/86
VWVRIWZDUHOLPLWVZLWFKSOXV
FP
<HV 0' 1R
6&$/,1*B6<67(0
B,6B0(75,&
0'
6&$/,1*B6<67(0B,6B0(75,&
0' 0'
6&$/,1*B)$&7256B86(5B'() 6&$/,1*B)$&7256B86(5B'()>Q@
VHOHFWHGZLWK VHOHFWHGZLWK
0' 0' 0'
6&$/,1*B86(5B'()B0$6. 6&$/,1*B86(5B'()B0$6. 6&$/,1*B)$&7256B86(5B'()>@
RQO\HIIHFWLYHRQPDFKLQHDQG RQO\HIIHFWLYHRQPDFKLQHDQG
VHWWLQJGDWD VHWWLQJGDWD 0'
6&$/,1*B86(5B'()B0$6. +
ELWQRDVKH[YDOXH
0'6&$/,1*B9$/8(B,1&+
,QWHUQDOXQLW
>PPRUGHJUHHV@
PP
0',17B,1&5B3(5B00
RU
0',17B,1&5B3(5B'(*
FRPSXWDWLRQDOUHVROXWLRQ 0'17B,1&5B3(5B00
,QWHUQDOLQFUHPHQWV PPRUGHJUHHV
SODFHVDIWHUGHFLPDOSRLQWORVW
$FWXDOYDOXHUHVROXWLRQ
6SHHGVHWSRLQW HQFRGHULQFUHPHQWV
UHVROXWLRQ PPRUGHJUHHV
7ULJJHUGHYLFH
IRUWKH'
IRUWKH'
0RWRU (QFRGHU
PXOWLSOLFDWLRQ
This diagram shows how input values are converted into internal units.
Basic Functions
362 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Velocities, traversing ranges, accuracies
It also shows the following conversion to internal increments/(mm or degrees), which can
cause loss of decimal places if the computational resolution was selected to be coarser than
the input resolution.
In addition, it provides an overview of the following topics:
● Selection of measuring system (metric/inch)
● Scaling of physical quantities of machine and setting data
● Conversion of basic system
● Setting of computational resolution
An example is given showing how a physical quantity
(MD36110 $MA_POS_LIMIT_PLUS)
as a function of machine data parameterization
(MD10230 $MN_SCALING_FACTORS_USER_DEF,
MD10220 $MN_SCALING_USER_DEF_MASK).
Resolutions: Differences
Resolutions, e.g. resolutions of linear and angular positions, velocities, accelerations and
jerk, must be differentiated as follows:
● Input resolution
Data is input via the control panel or part programs.
● Display resolution
Data is displayed via the control panel.
● Computational resolution
Data input via the control panel or part program is displayed internally.
The input and display resolution is defined via the control panel being used, whereby the
display resolution of position values can be changed with machine data:
MD9004 $MM_DISPLAY_RESOLUTION.
Machine data:
MD9011 $MM_DISPLAY_RESOLUTION_INCH
can be used to configure the display resolution of position values using the inch system.
This allows you to display up to six decimal places with the inch setting.
For the programming of part programs, the input resolutions listed in the Programming
Manual apply.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 363
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Velocities, traversing ranges, accuracies
It is independent of the input/display resolution but should have at least the same resolution.
The maximum number of places after the decimal point for position values, velocities, etc., in
the part program and the number of places after the decimal point for tool offsets, zero
offsets, etc. (and therefore also for the maximum possible accuracy). is defined by the
computational resolution.
The accuracy of angle and linear positions is limited to the computational resolution by
rounding the product of the programmed value with the computational resolution to an
integer number.
To make the rounding clear, powers of 10 should be used for the computational resolution.
Example of rounding
Computational resolution: 1000 increments/mm
Programmed path: 97.3786 mm
Effective value = 97.379 mm
Basic Functions
364 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Velocities, traversing ranges, accuracies
Input/output units
Machine and setting data that possess a physical quantity are interpreted in the input/output
units below depending on whether the metric or inch system is selected:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 365
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Velocities, traversing ranges, accuracies
,QSXWRXWSXWXQLWVIRUPDFKLQH
DQGVHWWLQJGDWD
'RWKH
LQSXWRXWSXWXQLWVFRUUHV
SRQGWRWKHVWDQGDUGEDVLF 1R
V\VWHP"
LQFKRUPHWULF
8VHUGHILQHG
<HV 0'6&$/,1*B)$&7256B86(5B'()>Q@
0'6&$/,1*B)$&7256B86(5B'()B0$6.
&RQYHUVLRQRILQWHUQDOXQLWV
,QWHUQDOXQLWV
Basic Functions
366 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Velocities, traversing ranges, accuracies
Example 1
Machine data input/output of the linear velocities is to be in m/min instead of mm/min (initial
state).
(The internal unit is mm/s)
⇒ The scaling factor for the linear velocities is to differ from the standard setting. For
this in the machine data:
MD10220 $MN_SCALING_USER_DEF_MASK
the bit number 2 must be set.
⇒ MD10220 $MN_SCALING_USER_DEF_MASK = 'H4'; (bit no. 2 as hex value)
⇒ The scaling factor for the linear velocities is to differ from the standard setting. For
this in the machine data:
MD10220 $MN_SCALING_USER_DEF_MASK
the bit number 2 must be set.
⇒ MD10220 $MN_SCALING_USER_DEF_MASK = 'H4'; (bit no. 2 as hex value)
,QSXWRXWSXWXQLWVHOHFWHG
0'6&$/,1*B)$&7256B86(5B'()>Q@
,QWHUQDOXQLW
P PP
PLQ V
0'6&$/,1*B)$&7256B86(5B'()>Q@
PP PP
V V
0'6&$/,1*B)$&7256B86(5B'()>Q@
Index 2 defines the "linear velocity" in the "Scaling factors of physical quantities" list.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 367
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Velocities, traversing ranges, accuracies
Example 2
In addition to the change in Example 1, the machine data input/output of linear accelerations
must be in ft/s2 instead of m/s2 (initial state).
(The internal unit is mm/s2.)
ය 0'6&$/,1*B)$&7256B86(5B'()>@
Index 4 defines the "linear acceleration" in the "Scaling factors of physical quantities" list.
Basic Functions
368 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Metric/inch measuring system
7.3.1 General
Basic system
The control system can operate with the metric or inch measuring system. The initial state of
the measuring system, i.e. the basic system, is defined via the following machine data:
MD10240 $MN_SCALING_SYSTEM_IS_METRIC (metric basic system).
Depending on the basic system, all length-related data is interpreted either as metric or inch
measurements.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 369
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Metric/inch measuring system
Basic Functions
370 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Metric/inch measuring system
G functions G700/G710
The G functions G700/G710 extend the functionality of G70/G71 as follows:
1. The feedrate is interpreted in the programmed measuring system:
– G700: length parameters [inch]; feedrates [inch/min]
– G710: length parameters [mm]; feedrates [mm/min]
The programmed feedrate is modal and therefore remains active after subsequent
G70/G71/G700/G710 commands. If the feedrate is to apply in the new
G70/G71/G700/G710 context, it must be re-programmed.
2. System variables and machine data specifying lengths in the part program are read and
written in the programmed measuring system.
Differences during the reading and writing of machine data and system variables
The following differences exist between G70/G71 and G700/G710 in terms of reading and
writing machine data and system variables in the part program:
● G70/G71: Reading and writing takes place in the configured basic system.
● G700/G710: Reading and writing takes place in the configured measuring system.
Example
The following part program is executed with an initial metric state:
MD10240 $MN_SCALING_SYSTEM_IS_METRIC = 1
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 371
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Metric/inch measuring system
N120: if G70 is replaced by G700, alarm 61000 (N220) does not occur.
Synchronized actions
To ensure in the case of synchronized actions that the current part program context does not
determine the measuring system used in the condition and/or action part, the measuring
system must be defined within the synchronized action (condition and/or action parts). This
is the only way of achieving defined, reproducible behavior in the use of length-related data
within a synchronized action.
Example 1
The measuring system is not specified within the synchronized action. Therefore, the
traversing motion of the X axis takes place in the measuring system of the configured initial
state:
Example 2
The "metric" measuring system is explicitly programmed with G71 within the synchronized
action. This means the traversing motion of the X axis takes place in the metric measuring
system:
Basic Functions
372 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Metric/inch measuring system
Reading and writing of data in the case of G70/G71 and G700/G710 in the part program
NOTICE
Read position data in synchronized actions
If a measuring system has not been explicitly programmed in the synchronized action
(condition component and/or action component) length-related position data in the
synchronized action are always read in the parameterized basic system.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 373
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Metric/inch measuring system
References:
/PG/ Programming Manual, Fundamentals; List of Addresses
General
The relevant softkey on the HMI in the "Machine" operating area is used to change the
measuring system of the controller.
The change in the measuring system occurs only under the following boundary conditions:
● MD10260 $MN_CONVERT_SCALING_SYSTEM=1
● Bit 0 of MD20110 $MC_RESET_MODE_MASK is set in every channel.
● All channels are in the Reset state.
● Axes doe not traverse with JOG, DRF or PLC.
● Constant grinding wheel peripheral speed (GWPS) is not active.
Actions such as part program start or mode change are disabled for the duration of the
measuring system changeover.
If the measuring system cannot be changed, this is indicated by a message to that effect on
the user interface. These measures ensure that a consistent set of data is always used for a
running program with reference to the measuring system.
The actual change in the measuring system is made by writing all the necessary machine
data and subsequently activating them with a RESET.
Basic Functions
374 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Metric/inch measuring system
Machine data:
MD10240 $MN_SCALING_SYSTEM_IS_METRIC
and the corresponding G70/G71/G700/G710 settings in machine data:
MD20150 $MN_GCODE_RESET_VALUES
are switched automatically and consistently for all configured channels.
The value of machine data:
MD20150 $MC_GCODE_RESET_VALUES[12]
changes between G700 and G710.
This process takes place independently of the protection level currently set.
Note
The availability of the soft key and, therefore, its functionality, can be configured using the
compatibility machine data:
MD10260 $MN_CONVERT_SCALING_SYSTEM.
If several NCUs are linked by NCU-link, the switchover has the same effect on all linked
NCUs. If the prerequisites for a switchover are not fulfilled on one of the NCUs linked, no
switchover will take place on none of the NCUs. It is assumed that interpolations between
several NCUs will take place on the existing NCUs, whereby the interpolations can provide
correct results only if the same unit systems are used.
References:
/FB2/ Function Manual, Extended Functions; Several Control Panels on Multiple NCUs,
Decentralized Systems (B3)
System data
When changing over the measuring system, from the view of the user, all length-related
specifications are converted to the new measuring system automatically.
This includes:
● Positions
● Feedrates
● Acceleration rates
● Jerk
● Tool offsets
● Programmable, settable and work offsets external and DRF offsets
● Compensation values
● Protection zones
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 375
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Metric/inch measuring system
● Machine data
● Jog and handwheel factors
After the changeover, all of the above data is available in physical quantities.
Data, for which no unique physical units are defined, is not converted automatically.
This includes:
● R parameters
● GUDs (Global User Data)
● LUDs (Local User Data)
● PUD (Program global User Data)
● Analog inputs/outputs
● Data exchange via FC21
The user is prompted to take the current valid measuring system:
MD10240 $MN_SCALING_SYSTEM_IS_METRIC
into account.
The current measuring system setting can be read at the PLC interface via the "inch
measuring system" signal:
DB10 DBX107.7.
Signal:
DB10 DBB71 (inch/metric measuring system modification counter)
can be used for reading the "measuring system modification counter".
Reference point
The reference point is retained. It is not necessary to repeat referencing.
Basic Functions
376 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Metric/inch measuring system
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 377
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Metric/inch measuring system
Data backup
Data sets, which can be read separately from the control and have access to data relevant to
the measuring system, receive an INCH or METRIC identifier during the read action,
depending on machine data:
MD10260 $MN_CONVERT_SCALING_SYSTEM.
The identifier corresponds to machine data:
MD10240 $MN_SCALING_SYSTEM_IS_METRIC.
This records the measuring system, in which the data were originally read out.
This information is intended to prevent data sets from being read into the control system with
a measuring system, which is different from the active system. In this case, alarm 15030 is
triggered and the write process is interrupted.
Since the language instruction is also evaluated in part programs, these can also be
"protected" against operator errors as described above. You can, therefore, prevent part
programs containing only metric data, for example, from running on an inch measuring
system.
Archives and machine data sets are downward compatible if:
MD11220 $MN_INI_FILE_MODE = 2.
Note
The INCH/METRIC instruction is only generated if compatibility machine data:
MD10260 $MN_CONVERT_SCALING_SYSTEM
is set.
Basic Functions
378 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Metric/inch measuring system
Programming
It should be possible to program the effective machining feedrate in the usual way as a path
feedrate via the F value in processing procedures where the tool, the workpiece or both are
moved by a rotary axis (e.g. laser machining of rotating tubes).
In order to achieve this, it is necessary to specify an effective radius (reference radius) for
each of the rotary axes involved. You can do this by programming the modal NC address:
FGREF[<rotary axis>]=<reference radius>
The unit of the reference radius depends on the G70/G71/G700/G710 setting.
In order to include the axes in the calculation of the path feedrate, they must all be specified
in the FGROUP command.
In order to ensure compatibility with the behavior with no FGREF programming, the factor 1
degree = 1 mm is activated on system power-up and RESET.
This corresponds to a reference radius of:
FGREF = 360 mm/(2π) = 57.296 mm
This default is independent of the active basic system
(MD10240 $MN_SCALING_SYSTEM_IS_METRIC) and the currently active
G70/G71/G700/G710 setting.
Special features of the feedrate weighting for rotary axes in FGROUP:
Program code
N100 FGROUP(X,Y,Z,A)
N110 G1 G91 A10 F100
N120 G1 G91 A10 X0.0001 F100
CAUTION
The FGREF factor also works if only rotary axes are programmed in the block. The normal F
value interpretation as degree/min applies in this case only if the radius reference
corresponds to the FGREF default:
• For G71/G710: FGREF[A]=57.296
• For G70/G700: FGREF[A]=57.296/25.4
Example:
The following example is intended to demonstrate the effect of FGROUP on the path and path
feedrate. The variable $AC_TIME contains the time of the block start in seconds. It can only
be used in synchronized actions.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 379
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Metric/inch measuring system
Diagnostics
Read reference radius
The value of the reference radius of a rotary axis can be read using system variables:
● For the display in the user interface, in synchronized actions or with a preprocessing stop
in the part program via the system variables:
Basic Functions
380 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Metric/inch measuring system
$AA_FGROUP[<axis>] Returns the value "1" if the specified axis affects the
path velocity in the current main run record by means of
the basic setting or through FGROUP programming.
Otherwise, the variable returns the value "0".
$AC_FGROUP_MASK Returns a bit key of the channel axes programmed with
FGROUP which are to affect the path velocity.
● Without preprocessing stop in the part program via system variables:
$PA_FGROUP[<axis>] Returns the value "1" if the specified axis affects the
path velocity by means of the basic setting or through
FGROUP programming. Otherwise, the variable returns
the value "0".
$P_FGROUP_MASK Returns a bit key of the channel axes programmed with
FGROUP which are to affect the path velocity.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 381
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Setpoint/actual-value system
7.4.1 General
Control loop
A control loop with the following structure can be configured for every closed-loop controlled
axis/spindle:
$FWXDOYDOXH (QFRGHU
*
SURFHVVLQJ
$FWXDO
180B(1&6 YDOXH
URXWLQJ
$FWXDOYDOXH (QFRGHU
SURFHVVLQJ *
Setpoint output
A setpoint can be output for each axis/spindle. The setpoint output to the sensor is done
digitally in SINUMERIK 840D.
Actual-value acquisition
A maximum of two measuring systems can be connected for each axis/spindle, e.g. a direct
measuring system for machining processes with high accuracy requirements and an indirect
measuring system for high-speed positioning tasks.
The number of encoders used is recorded in the machine data:
MD30200 $MA_NUM_ENCS (number of encoders)
In the case of two actual-value branches, the actual value is acquired for both branches.
The active measuring system is always used for position control, absolute value calculation
and display. If both measuring systems are activated at the same time by the PLC interface,
positioning measuring system 1 is chosen internally by the control.
Reference point approach is executed by the selected measuring system.
Basic Functions
382 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Setpoint/actual-value system
Simulation axes
The speed control loop of an axis can be simulated for test purposes.
The axis "traverses" with a following error, similar to a real axis.
A simulation axis is defined by setting the two following machine data to "0":
MD30130 $MA_CTRLOUT_TYPE[n] (output value of setpoint)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 383
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Setpoint/actual-value system
Actual-value correction
If actual-value corrections performed by the NC on the encoder selected for position control
do not influence the actual value of another encoder defined in the same axis, then this
encoder is to be declared as "independent" via the following machine data:
MD30242 $MA_ENC_IS_INDEPENDENT
Actual-value corrections include the following:
● Modulo treatment
● Reference point approach
● Measuring system comparison
● PRESET
General
In order to carry out speed setpoint and actual-value routing, the following must be defined
for each axis/spindle:
● Assignment of 1st measuring circuit
● Assignment of 2nd measuring circuit (if present)
● Assignment of setpoint branch
Multiple assignment is also possible, e.g. using a measuring circuit for position actual-value
acquisition for the alternating control of several axes/spindles.
Note
When a SIMODRIVE 611 universal is operated via the PROFIBUS-DP, various machine
data that need to be parameterized for digital and analog drives are not assigned.
Basic Functions
384 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Setpoint/actual-value system
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 385
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Setpoint/actual-value system
MD30110 $MA_CTRLOUT_MODULE_NR[n]
(setpoint assignment: Drive number/module number):
The number of the module in the bus segment, via which the output is to be addressed, is entered
here.
The logial number of the axis module via the machine data:
MD13010 $MN_DRIVE_LOGIC_NR[n]
can be set for:
• SINUMERIK 840D as 611 digital drive number Range of values 0 - 31
• SINUMERIK 840D Profibus at link module Range of values 0 -125
MD30120 $MA_CTRLOUT_NR[n])
(setpoint assignment: Setpoint output on drive module/module):
The number of the output is to be entered here, through which the setpoint output is done
(SINUMERIK 840D always via output 1).
Actual-value routing
For actual-value routing, the following actual-value assignments for parameterizing the
associated machine data must be made:
Basic Functions
386 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Setpoint/actual-value system
MD30220 $MA_ENC_MODULE_NR[n])
(actual-value assignment: drive module number/measuring circuit number):
The number of the module in the bus segment, via which the encoder is addressed, is entered here.
The logial number of the axis module via the machine data:
MD13010 $MN_DRIVE_LOGIC_NR[n]
can be set for:
• SINUMERIK 840D as 611 digital drive number Range of values 0 - 31
• SINUMERIK 840D Profibus at link module Range of values 0 -125
MD30230 $MA_ENC_INPUT_NR[n])
(actual-value assignment: Input on drive module/measuring circuit module):
The number of the input, to which the position actual-value encoder is connected, is entered here.
• For SINUMERIK 840D: = 1 or 2 (counting down)
MD30242 $MA_ENC_IS_INDEPENDENT[n]:
To prevent actual-value corrections influencing the actual value of an encoder defined in the same
axis, the latter must be declared independent.
0: Encoder is independent
1: Encoder is dependent
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 387
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Setpoint/actual-value system
[encoder no.]
0 For first encoder
1 For second encoder
$FWXDOYDOXHDVVLJQPHQWIRUD[LV; 0''5,9(B/2*,&B15
0'(1&B02'8/(B15
1&&38
6,02'5,9(
',2%86
/RFDOEXVIRU ,QSXWDOVRXVHGE\
6,180)01& 6,02'5,9('
$[LV;
0'(1&B,1387B15
0'(1&B6(*0(17B15
7DEOH
* 0 6SLQGOH
/LQHDUVFDOH
6HWSRLQWDVVLJQPHQWIRUD[LV;
0''5,9(B/2*,&B15
1&&38
6,02'5,9(
',2%86
/RFDOEXVIRU 0'&75/287B15
6,180)01&
0'&75/287B02'8/(B15
0'&75/287B6(*0(17B15
Basic Functions
388 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Setpoint/actual-value system
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 389
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Setpoint/actual-value system
Gear types
The following gear types are available for adapting the mechanical ratios:
Basic Functions
390 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Setpoint/actual-value system
0 7RRO
0RWRUORDG ,QWHUPHGLDWH 3RZHUHGWRROV
JHDU JHDU
'5,9(B$;B5$7,2B180(5$ =
1RRIORDGUHYV
'5,9(B$;B5$7,2B'(120 1RRIWRROUHYV
'5,9(B$;B5$7,2B180(5$ 1RRIPRWRUUHYV
=
'5,9(B$;B5$7,2B'(120 1RRIORDGUHYV
Motor/load gear
The motor/load gear supported by SINUMERIK is configured via the following machine data:
MD31060 $MA_DRIVE_AX_RATIO_NUMERA (Numerator load gearbox)
MD31050 $MA_DRIVE_AX_RATIO_DENOM (Denominator load gearbox)
The transmission ratio is obtained from the numerator/denominator ratio of both machine
data. The associated parameter sets are used automatically as default by the control to
synchronize the position controller with the relevant transmission ratios.
Since a gear stage change is not always carried out automatically, and there are also
several ways to request a gear stage change, the position controller is not always
incorporated via parameter sets.
Note
For more information about parameter sets during gear stage change, see:
References:
/FB1/ Function Manual, Basic Functions; Spindles (S1).
Intermediate gear
Additional, configurable load intermediate gears are also supported by the control:
MD31066 $MA_DRIVE_AX_RATIO2_NUMERA (intermediate gear numerator)
MD31064 $MA_DRIVE_AX_RATIO2_DENOM (intermediate gear denominator)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 391
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Setpoint/actual-value system
Power tools generally have their "own" intermediate gear. Such variable mechanics can be
configured by multiplying the active intermediate gearbox and the motor/load gearbox.
CAUTION
Unlike the motor/load gear, there is no parameter set for the intermediate gear and,
therefore, no way of controlling the time-synchronized switchover to part program or PLC
(VDI interface). Part programming during gear change is, therefore, ruled out. It remains the
task of the user to match the synchronization of the relevant changed machine data to the
corresponding mechanical switchover and activate it. On switchover during a movement,
compensations cannot be ruled out due to jumps in the scaling factors. These are not
monitored for violation of the maximum acceleration.
Supplementary conditions
If the encoder to be used for position control is connected directly at the tool, the gear stage
change only affects the physical quantities at the speed interface between the NC and the
drive of the motor/load gear. The internal parameter sets are not changed.
Basic Functions
392 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Setpoint/actual-value system
CAUTION
The control cannot detect all possible situations that can lead to loss of the machine
position reference. Therefore, it is the responsibility of the commissioning engineer or user
to initiate explicit referencing of zero marker synchronization in such cases.
Note
To facilitate re-referencing without a disruptive RESET,
machine data:
MD34080 $MA_REFP_MOVE_DIST
and
MD34090 $MA_REFP_MOVE_DIST_CORR
should be reset to NewConfig efficacy.
For more information about referencing, please see:
References:
/FB1/ Function Manual, Basic Functions; Reference Point Approach (R1)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 393
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Setpoint/actual-value system
Note
Velocity adjustment and maximum speed setpoint
Owing to the automatic speed setpoint comparison a velocity adjustment is not necessary for
SINUMERIK 840D!
Basic Functions
394 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Setpoint/actual-value system
Q 6HW 6SHHGVHWSRLQW
0D[VSHHGVHWSRLQW
0'&75/287B/,0,7
0D[D[LVYHORFLW\
0'0$;B$;B9(/2
W>V@
However, due to control processes, the axes should not reach their maximum velocity
(MD32000 $MA_MAX_AX_VELO) at 100% of the speed setpoint, but at 80% to 95%.
In case of axes, whose maximum speed is attained at around 80% of the speed setpoint
range, the default value (80%) of the machine data:
MD32000 $MA_MAX_AX_VELO (maximum axis velocity).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 395
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Setpoint/actual-value system
Note
For further explanations for setpoint value adjustment for SIMODRIVE digital drive see:
References:
/IAD/ Installation and Startup Guide; Axes and Spindles
For explanations for setpoint standardization for SIMODRIVE analog drives see
References:
/FB3/ Function Manual Special Functions; Analog axes (TE2)
Actual-value resolution
In order to be able to create a correctly closed position control loop, the control system must
be informed of the valid actual-value resolution. The axis-specific machine data below are
used for this.
The control calculates the actual-value resolution from the settings made in the MD. The
control parameter sets of the position control are identified as servo parameter sets.
The machining process of the machine forms the basis of the position actual-value
acquisition.
Depending on the type of axis (linear axis, rotary axis) and the type of actual-value
acquisition (directly at the machine, indirectly at the motor), the following machine data must
be parameterized to calculate the actual-value resolution:
Basic Functions
396 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Setpoint/actual-value system
Note
These machine data are not required for encoder matching (path evaluation).
However, they must be entered correctly for the setpoint calculation!
Otherwise the required servo gain (KV) factor will not be set.
In machine data:
MD31050 $MA_DRIVE_AX_RATIO_DENOM
one enters the load rotations, in machine data:
MD31060 $MA_DRIVE_AX_RATIO_NUMERA
the motor rotations.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 397
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Setpoint/actual-value system
Index [n] of the following machine data depend on the servo parameter sets of the position
controller, with which the actual-value resolution is calculated automatically in the control:
MD DRIVE_AX_...[servo parameter set no.]: 0-5
For the following machine data, the control does not consider any parameter set nor any
indices for coded encoders.
Note
These machine data can be activated in part programs with the command NEWCONF or via
the HMI operator panel using a soft key.
Basic Functions
398 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Setpoint/actual-value system
&RPSXWDWLRQDOUHVROXWLRQ ,QWHUQDOLQFUHPHQWV PP
$FWXDOYDOXHUHVROXWLRQ (QFRGHULQFUHPHQWV PP
The internal pulse multiplication factor provided by the measuring system logic module is
● 2048
For raw signal generators on 840D with SIMODRIVE 611 digital
0',6B527B$;
7DEOH
0 %DOOVFUHZ
/LQHDUVFDOH
/RDGJHDU
0'(1&B,6B/,1($5
0'(1&B*5,'B32,17B',67 OLQHDUHQFRGHU
0'(1&B,19(56 LQWKHRSSRVLWHGLUHFWLRQ
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 399
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Setpoint/actual-value system
In order to adapt the actual-value resolution to the calculation resolution, the control
calculates the quotients from the "internal increments/mm" and the "encoder increments/mm"
as follows:
(1&B,6B/,1($5B ,6B527B$;
n
(QFRGHU (1&B,6B/,1($5B
7DEOH
* 0 %DOOVFUHZ
0HDV /RDG
JHDU JHDU n /($'6&5(:B3,7&+
n 6SLQGOH
0RWRU
(1&B5(62/ '5,9(B$;B5$7,2B180(5$ 1RRIPRWRUUHYV
=
'5,9(B$;B5$7,2B'(120 1RRIVSLQGOHUHYV
'5,9(B(1&B5$7,2B180(5$ 1XPEHURIPRWRUUHYROXWLRQV
=
'5,9(B(1&B5$7,2B'(120 1XPEHURIHQFRGHUUHYROXWLRQV
In order to adapt the actual-value resolution to the calculation resolution, the control
calculates the quotients from the "internal increments/mm" and the "encoder increments/mm"
as follows:
SINUMERIK example
Linear axis with rotary encoder (2048 Impulse) on motor;
internal multiplication (2048)
Gear: Motor/leadscrew 5
Pitch 10 mm
10000 increments per mm
Basic Functions
400 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Setpoint/actual-value system
,QWHUQDOLQFUHPHQWVPP
(QFRGHULQFUHPHQWVPP (1&B5(62/>Q@ LQWHUQDOPXOWLSOLFDWLRQ
'5,9(B(1&B5$7,2B180(5$>Q@
'5,9(B(1&B5$7,2B'(120>Q@
'5,9(B$;B5$7,2B'(120>Q@
'5,9(B$;B5$7,2B180(5$>Q@
/($'6&5(:B3,7&+
,17B,1&5B3(5B00
⇒ MD30300 $MA_IS_ROT_AX =0
MD31000 $MA_ENC_IS_LINEAR[0] =0
MD31040 $MA_ENC_IS_DIRECT[0] =0
MD31020 $MA_ENC_RESOL[0] = 2048
MD31030 $MA_LEADSCREW_PITCH = 10
MD31080 $MA_DRIVE_ENC_RATIO_NUMERA[0] = 1
MD31070 $MA_DRIVE_ENC_RATIO_DENOM[0] =1
MD31060 $MA_DRIVE_AX_RATIO_NUMERA[0] =5
MD31050 $MA_DRIVE_AX_RATIO_DENOM[0] =1
MD10200 $MN_INT_INCR_PER_MM = 10000
,QWHUQDOLQFUHPHQWVPP
(QFRGHULQFUHPHQWVPP
Result:
1 encoder increment corresponds to 0.004768 increments of the internal unit. In practice, the
available encoder resolution should not be resolved more accurately than the internal
computational resolution.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 401
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Setpoint/actual-value system
,6B527B$; (1&B,6B',5(&7
(1&B,6B/,1($5
7DEOH
0 *
%DOOVFUHZ (1&B5(62/
/RDG 0HDV
JHDU JHDU
/($'6&5(:B3,7&+
Q 6SLQGOH Q (QFRGHU
'5,9(B(1&B5$7,2B180(5$ 1RRIVSLQGOHUHYV
'5,9(B(1&B5$7,2B'(120 1RRIHQFRGHUUHYV
In order to adapt the actual-value resolution to the calculation resolution, the control
calculates the quotients from the "internal increments/mm" and the "encoder increments/mm"
as follows:
,QWHUQDOLQFUHPHQWVPP
(QFRGHULQFUHPHQWVPP (1&B5(62/>Q@ LQWHUQDOPXOWLSOLFDWLRQ
'5,9(B(1&B5$7,2B180(5$>Q@
'5,9(B(1&B5$7,2B'(120>Q@
/($'6&5(:B3,7&+
,17B,1&5B3(5B00
Basic Functions
402 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Setpoint/actual-value system
(1&B,6B/,1($5
(1&B,6B',5(&7
Q (QFRGHU Q /RDG ,6B527B$;
* 0 /
5RWDU\WDEOH
'5,9(B(1&B5$7,2B180(5$ 1XPEHURIPRWRUUHYROXWLRQV
'5,9(B(1&B5$7,2B'(120 1XPEHURIHQFRGHUUHYROXWLRQV
In order to adapt the actual-value resolution to the calculation resolution, the control
calculates the quotients from the "internal increments/degree" and the "encoder
increments/degree" as follows:
Example for rotary axis with encoder on motor
Rotary axis with rotary encoder (2048 Impulse) on motor;
internal multiplication (2048)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 403
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Setpoint/actual-value system
,QWHUQDOLQFUHPHQWVGHJUHHV GHJUHHV
(QFRGHULQFUHPHQWVGHJUHHV (1&B5(62/>Q@ LQWHUQDOPXOWLSOLFDWLRQ
'5,9(B(1&B5$7,2B180(5$>Q@
'5,9(B(1&B5$7,2B'(120>Q@
'5,9(B$;B5$7,2B'(120>Q@
'5,9(B$;B5$7,2B180(5$>Q@
,17B,1&5B3(5B'(*
⇒ MD30300 $MA_IS_ROT_AX =1
MD31040 $MA_ENC_IS_LINEAR[0] =0
MD31040 $MA_ENC_IS_DIRECT[0] =0
MD31040 $MA_ENC_RESOL[0] = 2048
MD31080 $MA_DRIVE_ENC_RATIO_NUMERA[0] =1
MD31080 $MA_DRIVE_ENC_RATIO_DENOM[0] =1
MD31060 $MA_DRIVE_AX_RATIO_NUMERA[0] =5
MD31050 $MA_DRIVE_AX_RATIO_DENOM[0] =1
MD10210 $MN_INT_INCR_PER_DEG = 1000
,QWHUQDOLQFUHPHQWVGHJUHHV GHJUHHV
(QFRGHULQFUHPHQWVGHJUHHV
LQFUGHJUHHV
Result:
1 encoder increment corresponds to 0.017166 increments of the internal unit.
The encoder resolution is thus coarser than the computational resolution by a factor of 58.
Basic Functions
404 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Setpoint/actual-value system
Q /RDG
5RWDU\WDEOH (1&B,6B',5(&7
Q (QFRGHU
(1&B5(62/
0 / * (1&B,6B/,1($5B
/RDGJHDU 5HVROYHUJHDULQJ
In order to adapt the actual-value resolution to the calculation resolution, the control
calculates the quotients from the "internal increments/degree" and the "encoder
increments/degree" as follows:
,QWHUQDOLQFUHPHQWVGHJUHHV GHJUHHV
(QFRGHULQFUHPHQWVGHJUHHV (1&B5(62/>Q@ LQWHUQDOPXOWLSOLFDWLRQ
'5,9(B(1&B5$7,2B180(5$>Q@
'5,9(B(1&B5$7,2B'(120>Q@
,17B,1&5B3(5B'(*
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 405
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Setpoint/actual-value system
'5,9(B$;B5$7,2B180(5$ 1RRIORDGUHYV
'5,9(B$;B5$7,2B'(120 1RRIVSLQGOHUHYV
(1&B,6B',5(&7
(1&B,6B',5(&7 Q
7RRO
5RWDWLQJWRRO
* 0 7RRO
0HDV /RDG ,QWHUPHGLDWHJHDU
JHDU JHDU
Q Q
(QFRGHU 0RWRU (1&B,6B',5(&7 (1&B,6B',5(&7
(1&B5(62/ (1&B,6B',5(&7 (1&B,6B',5(&7
'5,9(B$;B5$7,2B180(5$ 1RRIPRWRUUHYV
'5,9(B$;B5$7,2B'(120 1RRIVSLQGOHUHYV
'5,9(B(1&B5$7,2B180(5$ 1XPEHURIPRWRUUHYROXWLRQV
'5,9(B(1&B5$7,2B'(120 1XPEHURIHQFRGHUUHYROXWLRQV
Figure 7-10 Intermediate gear with encoder directly on the rotating tool
In order to adapt the actual-value resolution to the calculation resolution, the control
calculates the quotients from the "internal increments/mm" and the "encoder increments/mm"
as follows:
,QWHUQDOLQFUHPHQWVGHJUHHV GHJUHHV
(QFRGHULQFUHPHQWVGHJUHHV (1&B5(62/>Q@ LQWHUQDOPXOWLSOLFDWLRQ
'5,9(B(1&B5$7,2B180(5$>Q@
'5,9(B(1&B5$7,2B'(120>Q@
,17B,1&5B3(5B'(*
Basic Functions
406 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Closed-loop control
7.5.1 General
0'$;B-(5.B(1$%/(
0'$;B-(5.B02'( 0'326&75/B*$,1>Q@
0'$;B-(5.B7,0(
For a description of the feedforward control, backlash, friction compensation with further
machine data, and leadscrew error compensation, see:
References:
/FB2/ Function Manual Extended Functions; Compensations (K3)
For a description of jerk limitation, see:
References:
/FB1/ Function Manual, Basic Functions; Acceleration (B2).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 407
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Closed-loop control
Fine Interpolation
The fine interpolator (FIPO) is used to adjust the setpoint of the (generally lower) interpolator
cycle clock to the later position-control cycle.
Fine interpolation further improves the quality of the contour (decreasing the step effect of
the speed setpoint).
There are three types of FIPOs:
1: Differential FIPO
2: Cubic FIPO
3: Cubic FIPO, optimized for operation with feedforward control
The type of fine interpolation can be determined through the following machine data:
MD33000 $MA_FIPO_TYPE (fine interpolator type)
A differential FIPO not only performs cycle matching but also calculates a mean value
(smoothing) from an IPO cycle.
The cubic FIPO, type 3, supplies the best contour accuracy in addition to the cycle
adaptation.
Kv factor
In order that few contour deviations occur in the continuous path mode, a high Kv-Factor is
necessary:
MD32200 $MA_POSCTRL_GAIN[n]
However, if the servo gain factor (Kv) is too high, instability, overshoot and possibly
impermissibly high loads on the machine will result.
The maximum permissible servo gain factor (Kv) depends on the following:
● Design and dynamics of the drive
(rise time, acceleration and braking capacity)
● Machine quality
(elasticity, oscillation damping)
● Position-control cycle
The servo gain factor (Kv) is defined as follows:
9HORFLW\ >PPLQ@
.9
)ROORZLQJHUURU >PP@
Basic Functions
408 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Closed-loop control
6WHSUHVSRQVH
RIWKHSRVLWLRQ
FRQWUROORRS $[LVHTXLYWLPH
$[LVZLWKORZVHUYRJDLQ
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 409
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Closed-loop control
Axis 1: 0 ms
Axis 2: 10 ms
Axis 3: 6 ms
Approximation formulae
The equivalent time constant of the position control loop of an axis is calculated according to
the following formula:
● No feedforward control is active
76SDUHV ป
0'326&75/B*$,1>V@
76SDUHV ป 0'(48,9B63(('&75/B7,0(
76SDUHV ป 0'(48,9B&855&75/B7,0(
Note
If a dynamic response adaptation is done for a geometry axis, then the same dynamic
behavior is necessary for all other geometry axes and is to be activated with the following
setting:
MD32900 $MA_DYN_MATCH_ENABLE= 1
References:
/IAD/, Start-up Guide, SINUMERIK 840D/611D
Basic Functions
410 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Closed-loop control
The following machine data can be changed by switching over the parameter set during operation:
Denominator load gearbox MD31050 $MA_DRIVE_AX_RATIO_DENOM[n]
Numerator load gearbox MD31060 $MA_DRIVE_AX_RATIO_NUMERA[n]
Kv factor MD32200 $MA_POSCTRL_GAIN[n]
Backlash compensation MD32452 $MA_BACKLASH_FACTOR[n]
Feedforward control factor MD32610 $MA_VELO_FFW_WEIGHT[n]
Exact stop limits MD36012 $MA_STOP_LIMIT_FACTOR[n]
MD36000 $MA_STOP_LIMIT_COARSE
MD36010 $MA_STOP_LIMIT_FINE
and zero-speed window MD36030 $MA_STANSTILL_POS_TOL
Equivalent time constant MD32800 $MA_EQUIV_CURRCTRL_TIME[n]
current control loop for torque feedforward
control
Equivalent time constant MD32810 $MA_EQUIV_SPEEDCTRL_TIME[n]
speed control loop for speed feedforward control
Time constant for dynamic matching MD32910 $MA_DYN_MATCH_TIME[n]
Threshold value for velocity monitoring MD36200 $MA_AX_VELO_LIMIT[n]
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 411
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Closed-loop control
DB31, ... DBX16.0 - 16.2 (actual gear stage) Active parameter set
000 1st gear stage 2 (Index=1)
001 1st gear step 2 (Index=1)
010 2nd gear step 3 (Index=2)
011 3rd gear step 4 (Index=3)
100 4th gear step 5 (Index=4)
101 5th gear step 6 (Index=5)
110
111
For more information on gear stages for spindles see:
References:
/FB1/ Function Manual Basic Functions; Spindles (S1)
Application
Some machines use the same drive for moving various machine parts, which, in view of
considerably varying speeds, results in a gear stage change. With each gear stage change,
the corresponding parameter set is also switched over.
Now several parameter sets are provided for further practical applications and for setting the
feedforward control of the control loop.
Functionality
To optimize closed-loop control during startup, these codable parameter sets support
practice-oriented startup by substantially reducing configuration expenditure with regard to
the new functions, such as backlash compensation, feedforward control factor, exact stop
limits, and zero-speed window.
Basic Functions
412 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Closed-loop control
Advantages
● The indirect switchover of a single function: (e.g. MD32452 not 1)
The parameter set-dependent function is only relevant if required.
● The indirect switchover of several functions: (e.g. MD36012 not 1)
The common weighting factor forces the ratios of all parameter set-dependent functions
within various machine data to remain constant. To switch over several functions, one
single machine data can be sufficient.
In this way, configuration errors are avoided and input work reduced.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 413
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Closed-loop control
Basic Functions
414 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Closed-loop control
Example
Effects of various parameter sets with backlash compensation:
In parameter set 1 (index 0) of the first axis (AX1), a backlash compensation factor with the
value 1.0 has the following effect:
1.0 * MD32450 = 0.01 mm (or inch or degrees)
The backlash compensation is twice as large in parameter set 2, three times as large in
parameter set 3, etc.
The maximum value is 100.
Supplementary conditions
The functional expansion is available for all control variants.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 415
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Optimization of the control
Application
The stability and positioning response of axes with a low natural frequency (up to approx. 20
Hz) and a mechanical design capable of generating oscillations is improved by active
oscillation damping with simultaneous use of the feedforward control.
To illustrate this, the difference in position between two measuring systems is generated
and injected as an additional current setpoint for the feedforward control, according to the
weighting of machine data:
MD32950 $MA_POSCTRL_DAMPING.
The function is used predominantly for axes with strong tendency to vibrate.
Functionality
The positional deviation is injected in the NC in the position controller cycle of the higher-
level position control loop in the NC.
The difference in position between a direct and an indirect measuring system is generated
and injected as an additional current setpoint, depending on the weighting of machine data:
MD32950 $MA_POSCTRL_DAMPING.
MD32950
The function is activated via the following machine data setting:
MD32950 $MA_POSCTRL_DAMPING = 1.
It is possible to enter both positive and negative values,
which will then serve to scale the injection of the positional deviation.
Standard setting:
MD32950 $MA_POSCTRL_DAMPING = 0.
In this case, the injection of positional deviation is inactive.
Basic Functions
416 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Optimization of the control
Note
The weighting of machine data:
MD32950 $MA_POSCTRL_DAMPING
can be set on the basis of step responses, for example.
If the control approaches the stability limit (vibration inclination increases), then the
parameter is too large.
Supplementary condition
1. The functional expansion is available for all control variants,
which use SIMODRIVE 611 digital drives.
2. The function can only be used on axes with two encoders:
MD30200 $MA_NUM_ENCS = 2
One of the encoders must be parameterized as an indirect measuring system and the
other as a direct measuring system.
If these conditions are not met, reset alarm 26016 will acknowledge the function when an
attempt is made to activate machine data:
MD32950 $MA_POSCTRL_DAMPING.
Application
For speed and torque feedforward control
With feedforward control active, the position setpoint is sent through a so-called balancing
filter before it reaches the controller itself. It is thus possible to control the speed setpoint to
100 % in advance, without resulting in overshoots when positioning.
Functionality
Until now, it was possible to compensate the negative effects of the balancing filter (a low
pass with an adjustable time constant), which has remained unchanged since SW 1 and
admits undesired undershoots of some 10 micrometers instead of an overshoot, as follows:
● Setting a compromise of overshoots and undershoots
● Setting the positioning slightly overshooting and reducing the amplitude of these
overshoots by way of position setpoint signal smoothing and jerk limitation
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 417
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Optimization of the control
● Setting a speed controller with reference model instead of PI behavior (only possible with
840D)
● Setting the filter time to zero and setting the feedforward control factor to a value less
than 100 %
● Sacrificing the feedforward control and bringing the machine to a very high position
controller gain using dynamic stiffness control. This measure requires a rigid machine.
In view of this, a second improved balancing filter is available with SW 5 and higher. The
existing filter is still installed and is active with the same function when transferring existing
archives (e.g. in the case of upgrades).
Advantages
The new balancing filter provides the following improvements:
● An axis with feedforward control:
– Has a considerably lower inclination to undershoots when positioning
– Achieves a higher degree of accuracy on curved contours (can be measured using the
circularity test, for example)
– Is easier to set (part of the setting is carried out by the control system automatically)
Filter activation
The new filter is activated and the feedforward control variant selected by changing the axial
machine data:
MD32620 $MA_FFW_MODE
Value Meaning
3 Speed feedforward control with new balancing
4 Torque feedforward control (only possible with SINUMERIK 840D) with new balancing
For reasons of a compatible response of archives that contain only changes compared with
the default settings, no default value can be set for these new values 3 and 4 in the new
software versions.
Basic Functions
418 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Optimization of the control
Supplementary conditions
The functional expansion is available for all control variants.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 419
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Optimization of the control
Magnifying MD32810
Increasing the value of MD32810 slows the axis down and increases the geometric contour
error on curves to some degree.
It has a similar effect to reducing the position controller gain:
MD32200 $MA_POSCTRL_GAIN
This can also be watched in the Diagnostics area in the screen form "Service Axis" based on
the servo gain value calculated.
Reducing MD32810
Reducing the value of MD32810 quickens the axis.
Therefore, MD32810 should be assigned as small a value as possible, with the overshoot
setting the limit during positioning.
MD32810 fine adjustment
Experience has shown that the initial value is only modified slightly during fine adjustment,
typically by adding or deducting 0.25 ms.
For example, if the initial value is 1.5 ms, the optimum value calculated manually is usually
within the range 1.25 ms to 1.75 ms.
In the case of axes equipped with direct measuring systems (load encoders) and strong
elasticity, you may possibly accept small overshoots of some micrometers.
Basic Functions
420 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Optimization of the control
These can be reduced with the help of the position setpoint filter for dynamic response
adaptation (MD32910 $MA_DYN_MATCH_TIME) and for jerk (MD32410
$MA_AX_JERK_TIME), which also reduces the axis speed.
Identical axis data within an interpolation group
All the axes within an interpolation group must have identical settings in the following data:
MD32200 $MA_POSCTRL_GAIN
MD32620 $MA_FFW_MODE
MD32610 $MA_VELO_FFW_WEIGHT
MD32810 $MA_EQUIV_SPEEDCTRL_TIME (or MD32800 $MA_EQUIV_CURRCTRL_TIME)
MD32400 $MA_AX_JERK_ENABLE
MD32402 $MA_AX_JERK_MODE
MD32410 $MA_AX_JERK_TIME
The servo gain display (KV) in the axis service screen form is used for checking.
If identical values are not possible for the above data, the following machine data can be
used to make an adjustment:
MD32910 $MA_DYN_MATCH_TIME
This allows the same servo gain value (KV) to be displayed; however, this rarely occurs.
Different servo gain values (KV) usually point to the following:
● The gear ratios do not match in one or several axes.
● The feedforward control setting data do not match.
● The jerk filter setting data is incorrect at some point.
Automatic switchover when changing the position-control cycle
Previously, if the position-control cycle (MD10050 $MN_SYSCLOCK_CYCLE_TIME)
changed or the acceptance time of the speed setpoints was modified in order to increase the
servo gain (KV) (MD10082 $MN_CTRLOUT_LEAD_TIME), or dynamic stiffness control was
enabled (MD32640 $MA_STIFFNESS_CONTROL_ENABLE), the adjustment of MD32810
$MA_EQUIV_SPEEDCTRL_TIME had to be repeated, as the optimum value changed
significantly.
With setting MD32620 $MA_FFW_MODE = 3 or 4, the control takes these changes into
account automatically so that MD32810 $MA_EQUIV_SPEEDCTRL_TIME no longer has to
be reset.
After major changes, however, you should nevertheless check the positioning behavior (via
servo trace).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 421
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Optimization of the control
FFWON now enables the speed feedforward control in the program (with all axes of the
channel with the same settings as X1); FFWOF will disable them again.
FFWON can also be preset for every channel via the following machine data:
MD20150 $MC_GCODE_RESET_VALUES[23] (reset position of G groups)
In this case, the speed feedforward control with X1 is enabled continuously, also in JOG
mode. MD20150 $MC_GCODE_RESET_VALUES[ ], FFWON and FFWOF have no effect on
X1.
This can be useful if the machine is only permitted to run with feedforward control, e.g. for
reasons of accuracy, or if you also want to test the feedforward control without a program
during startup.
Note
The setting of the feedforward control must be the same for all axes of an interpolation
group.
Basic Functions
422 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Optimization of the control
Note
If DSC is to be activated (MD32640 = 1), no parameters may be assigned for actual-value
inversion in the NC (MD32110 $MA_ENC_FEEDBACK_POL = -1). Otherwise, error 26017
occurs.
In DSC mode, actual-value inversion may only be undertaken in the drive (SINAMICS
parameter p410).
FFWON now enables the torque feedforward control in the program (with all axes of the
channel with the same settings as X1); FFWOF will disable them again.
FFWON can also be preset for every program via the following machine data:
MD20150 $MC_GCODE_RESET_VALUES[23] (reset position of G groups)
In this case, the torque feedforward control with X1 is enabled continuously, also in JOG
mode. MD20150 $MC_GCODE_RESET_VALUES[ ], FFWON and FFWOF have no effect on
X1. This can be useful if the machine is only permitted to run with feedforward control, e.g.
for reasons of accuracy, or if you also want to test the feedforward control without a program
during startup.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 423
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Optimization of the control
For more information about the effect of the feedforward control relating to the speed and
torque position controller setpoints, please refer to:
References:
Function Manual, Extended Functions; Compensations (K3)
Note
The setting of the feedforward control must be the same for all axes of an interpolation
group.
Application
In some applications, such as when milling sculptured surfaces, it can be advantageous to
smooth the position setpoint curves to obtain better surfaces, due to reduced excitations of
machine vibrations.
Functionality
The filter effect of the position setpoints must be as strong as possible without impermissibly
affecting contour accuracy.
The smoothing behavior of the filter must also be as "symmetrical" as possible, i.e. if the
same contour was to be traveled in both forward and reverse, the characteristic rounded by
the filter should be as similar as possible in both directions.
The effect of the filter can be monitored by means of the effective servo gain factor (KV),
which is displayed on the Axis service screen form. The filtering effect rounds the position
setpoints slightly, thus reducing the path accuracy so that with increasing filter time a smaller
effective servo gain factor (KV) is displayed.
Advantages
The filter available since software version 1, which is set via:
MD32400 $MA_AX_JERK_ENABLE = 1
and
MD32410 $MA_AX_JERK_TIME = filter time,
meets the requirements for a strong filter effect with smoothing behavior that is as
symmetrical as possible for small time constants of up to approximately 10 ms.
A considerably better result is achieved using this new filter type for axial jerk limitation with
floating averaging. In this case, filter time constants of approx. 20 to 40 ms can be used,
depending on the particular machine.
Thanks to the floating averaging, the new filter achieves lower contour errors with the same
smoothing effect, compared with the previous 2nd degree filter type. The contour of the
smoothing behavior is to a large degree balanced.
Basic Functions
424 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Optimization of the control
Note
For new machines, the new filter is generally recommended:
MD32402 $MA_AX_JERK_MODE = 2.
Only if very high filter times are needed and contour accuracy plays a minor part (e.g. as
sometimes occurs when positioning axes), can the old filter be more advantageous.
Fine adjustment
The fine adjustment of the position setpoint filter is carried out as follows:
1. Assess the traversing response of the axis
(e.g. based on positioning processes with servo trace).
2. Modify the filter time in MD32410 $MA_AX_JERK_TIME.
3. Activate the modified time via "Enable machine data" or RESET on the machine control
panel.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 425
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Optimization of the control
Disabling
Disabling the position setpoint filter:
1. Disable filter calculation:
MD32410 $MA_AX_JERK_ENABLE = 0.
2. Activate the interlock via "Enable machine data" or RESET on the machine control panel.
Supplementary conditions
The position setpoint filter is available in all control system variants as follows:
● Effective filter times are limited to a range between a minimum of 1 position-control cycle
up to a maximum of 32 position-control cycles (31 position-control cycles are available).
Further supplementary conditions regarding the filter effect:
● The display of the calculated servo gain factor (KV) in the Axis service screen form
displays smaller values than would be appropriate based on the filter effect.
● Path accuracy is better than the displayed servo gain (KV) suggests.
Therefore, on resetting
MD32400 $MA_AX_JERK_MODE = 1
to
MD32400 $MA_AX_JERK_MODE = 2,
the displayed servo gain (KV) can be reduced while retaining the same filter time,
although the path accuracy improves.
Axes that interpolate with each other must be set identically.
Once an optimum value has been identified for these axes, the one with the longest filter
time should be used as the setting for all axes within the interpolation group.
For more information about jerk limitation on an interpolator level, please refer to:
References:
/FB1/ Function Manual, Basic Functions; Acceleration (B2)
Chapter: "Axis-oriented jerk limitation"
Chapter: "Axis-specific machine data".
Basic Functions
426 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Optimization of the control
Function
In the default scenario, the core of the position controller is a proportional controller with the
above-mentioned upstream override options.
For special uses (such as for electronic gearing), an integral part can be connected. The
resulting proportional-plus-integral-action controller then corrects the error between setpoint
and actual positions down to zero in a finite, settable time period when the appropriate
machine data are set accordingly.
CAUTION
When the proportional-plus-integral-action controller is active, overshoots occur in the
actual position. In this instance, you must decide whether this effect is admissible or
acceptable for the application in question. Expert knowledge of control engineering and
measurements taken using servo trace are absolutely essential when using this function. If
incorrect settings are made for the relevant machine data, there is a risk of damaging the
machine, due to possible instability.
Background
The transfer function of the proportional-plus-integral-action controller is as follows:
*5 V .5 V
7Q
Procedure
1. First optimize the position control loop as a proportional-action controller first using the
tools described in the previous subsections.
2. Increase the tolerances of the following machine data while measurements are being
taken to determine the quality of the position control with proportional-plus-integral-action
controller:
– MD36020 $MA_POSITIONING_TIME
– MD36030 $MA_STANDSTILL_POS_TOL
– MD36040 $MA_STANDSTILL_DELAY_TIME
– MD36400 $MA_CONTOUR_TOL
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 427
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Optimization of the control
Example
Setting result after several iterative processes for KR and Tn.
Each of the following quantities - following error, actual velocity, actual position, and position
setpoint - has been recorded by servo trace. When traversing in JOG mode, the
characteristic of the individual data shown in the following figure was then drawn.
Set machine data:
MD32220 $MA_POSCTRL_INTEGR_ENABLE = 1
MD32210 $MA_POSCTRL_INTEGR_TIME = 0.003
MD32200 $MA_POSCTRL_GAIN[1] = 5.0
Parameter set selection 0
Basic Functions
428 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Optimization of the control
*UDSKLF7U$[LV;7U$[LV;!
7U)ROORZLQJHUURU 0DUNHU;
7U$FWXDOYHORFLW\
*UDSKLF7U$[LV;7U$[LV;!
7U$FWXDOSRVLWLRQPHDVXULQJV\VW 0DUNHU;
7U3RVLWLRQVHWSRLQW
Figure 7-13 Following error (1), actual velocity (2), position actual value (3), position setpoint (4)
Application
For all applications that must quickly react to pulse enabling, the status of the pulse enable is
imaged to a new system variable in order to accelerate the braking signal.
This system variable is preferably evaluated in synchronized actions. Using the synchronized
action, either a direct output to an NCK output can be carried out or a faster transfer to the
PLC.
Functionality
Since 611D digital drives have no integrated braking signal, the brakes are normally
controlled from the PLC. The brake can be closed again by deleting the pulse enable in the
PLC.
If the pulse enable is deleted due to external events (611D interface, terminal 663 to the
PLC) or due to drive or axis errors, the PLC can close the brake only with a delay, since the
transport of the pulse enable signal via servo and interpolator requires 2 to 3 interpolator
cycle clocks. In the worst case, the PLC needs another two PLC cycles. With hanging axes
and linear motors, this is often slow.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 429
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Optimization of the control
Activation
The variable is predefined and can be used at any time acc. to the data type BOOL with
FALSE or TRUE. While communication with the drive is not yet established, the value 0
(FALSE) is supplied.
The synchronized actions, in which the variable is evaluated, should preferably be carried
out as soon as the control powers up, e.g. by starting an ASUB from the PLC. To make sure
that the synchronized actions remain continuously active and are not affected by the mode
change, we recommend that they are programmed as "static synchronized actions" (using
IDS as the vocabulary word).
Example
Output of the pulse enable of machine axis X1 to the first digital NCK output in all modes
IDS = 1 DO $A_OUT[1] = $VA_DPE[X1]
Supplementary conditions
The functional expansion is available for digital drives in all control variants providing
synchronized actions.
Basic Functions
430 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Optimization of the control
Application
In the case of design-conditioned non-linearities and elasticities, as often occurs in material
handling and high-bay racking technology, it is often necessary to sacrifice the position
control due to the unstable position control loop. The axes are, therefore, traversed closed-
loop controlled and not open-loop controlled. To this aim, the WF723 module offers the
special function of the "deceleration axes".
Functionality
This "deceleration axes" function blocks any path movements, but allows positioning with
approach to the target position by reducing the velocity step by step. The response
corresponds to that of a multi-point controller.
For reasons relating to position control loop stability, the position controller algorithm is
extended instead of the special positioning function "deceleration axes". It is thus also
possible to operate drives that might cause problems using the position control.
Advantages
Compared with the existing method "deceleration axes", the expansion of the position
controller algorithm provides the following advantages:
● The structure of the interpolation and control is extended only slightly.
Thus, this axis automatically has all the properties of a normal axis.
● Traversing on the path also becomes possible; exactly which path can be foreseen
considerably earlier, e.g. a high-bay racking cage will take at different velocities.
A possible collision can thus be avoided.
● It is much easier to configure the function.
● In particular, with feedforward control enabled, the positioning processes are faster.
MD32930/MD32940
The low-pass filter is activated via setting:
MD32930 $MA_POSCTRL_OUT_FILTER_ENABLE = 1.
The filter time constant is input via machine data:
MD32940 $MA_POSCTRL_OUT_FILTER_TIME.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 431
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Optimization of the control
Stability risk
The expanded position controller algorithm will reduce the risks that a stable control admits
only a rather poor setting of the gain, or that the position control loop does not remain stable
despite the effective extensions, to a minimum.
Supplementary conditions
The functional expansion is available for all control variants.
The low-pass filter is only activated if dynamic stiffness control is inactive:
MD32640 $MA_STIFFNESS_CONTROL_ENABLE = 0.
If the low-pass filter is active, the modeled following error is larger than usual during
acceleration phases.
It can, therefore, be necessary to increase machine data:
MD36400 $MA_CONTOUR_TOL
above the standard value,
in order to prevent activation of axial contour monitoring (alarm 25050).
If the adjustable "dead zone" of the position controller retains its standard setting:
MD32960 $MA_POSCTRL_ZERO_ZONE = 0,
this corresponds to an input value, which is the same size as the current encoder fine
resolution.
The default setting is therefore compatible with earlier software versions.
If the "dead zone":
MD32960 $MA_POSCTRL_ZERO_ZONE
is configured to be larger than the zero-speed tolerance:
MD36030 $MA_STANDSTILL_POS_TOL,
zero-speed monitoring (alarm 25040) could be activated on termination of a positioning
process.
Basic Functions
432 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Optimization of the control
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 433
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Data lists
Basic Functions
434 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Data lists
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 435
Velocities, Setpoint/Actual Value Systems, Closed-Loop Control (G2)
Data lists
Basic Functions
436 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2) 8
8.1 Brief description
8.1.1 Function
Auxiliary functions permit activation of the system functions of NC and PLC user functions.
Auxiliary functions can be programmed in:
● Part programs
● Synchronized actions
● User cycles
References:
For detailed information on using auxiliary function outputs in synchronized actions, refer to
the Function Manual, Synchronized Actions.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 437
Auxiliary Function Outputs to PLC (H2)
Brief description
Basic Functions
438 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Brief description
M functions
M (special function)
Address extension Value
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 439
Auxiliary Function Outputs to PLC (H2)
Brief description
● The predefined auxiliary functions M0, M1, M17, M30, M6, M4, M5 cannot be redefined.
● M function-specific machine data:
MD10800 $MN_EXTERN_CHAN_SYNC_M_NO_MIN
MD10802 $MN_EXTERN_CHAN_SYNC_M_NO_MAX
MD10804 $MN_EXTERN_M_NO_SET_INT
MD10806 $MN_EXTERN_M_NO_DISABLE_INT
MD10814 $MN_EXTERN_M_NO_MAC_CYCLE
MD10815 $MN_EXTERN_M_NO_MAC_CYCLE_NAME
MD20094 $MC_SPIND_RIGID_TAPPING_M_NR
MD20095 $MC_EXTERN_RIGID_TAPPING_M_NR
MD20096 $MC_T_M_ADDRESS_EXT_IS_SPINO
MD22200 $MC_AUXFU_M_SYNC_TYPE
MD22530 $MC_TOCARR_CHANGE_M_CODE
MD22532 $MC_GEOAX_CHANGE_M_CODE
MD22534 $MC_TRAFO_CHANGE_M_CODE
MD22560 $MC_TOOL_CHANGE_M_CODE
S functions
S (spindle function)
Address extension Value
Basic Functions
440 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Brief description
H functions
H (aux. function)
Address extension Value
T functions
T (tool number) 5) 6)
Address extension Value
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 441
Auxiliary Function Outputs to PLC (H2)
Brief description
Further information
● Identification of the tools, optionally via tool number or location number.
References:
Function Manual, Tool Management
Function Manual, Basic Functions; Tool Offset (W1)
● When T0 is selected, the current tool is removed from the tool holder but not replaced by
a new tool (default setting).
● T function-specific machine data:
MD22220 $MC_AUXFU_T_SYNC_TYPE (Output time of the T functions)
D functions
D (tool offset)
Address extension Value
DL functions
Basic Functions
442 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Brief description
F functions
F (feedrate)
Address extension Value
FA functions
FA (axial feedrate)
Address extension Value
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 443
Auxiliary Function Outputs to PLC (H2)
Brief description
FA (axial feedrate)
Value range Meaning Value range Type Meaning Number 8)
1 - 31 Axis number 0.001 ... 999 999.999 REAL Axial feedrate 6
Remarks:
---
8) See "Meaning of footnotes" at the end of the overview.
Application
Axial velocity.
Further information
● F function-specific machine data:
MD22240 $MC_AUXFU_F_SYNC_TYPE (output time of F functions)
Meaning of footnotes
1) If tool management is active, neither a T change signal nor a T word is output to the
interface (channel).
2) The type for the values can be selected by the user via MD22110
$MC_AUXFU_H_TYPE_INT.
3) Because of the limited display options on the operator panel screens, the REAL type
values displayed are restricted to:
–999 999 999.9999 to 999 999 999.9999
The NC calculates internally but with complete accuracy.
4) The REAL values are rounded and output to the PLC when setting the machine data:
MD22110 $MC_AUXFU_H_TYPE_INT = 1 (type of H-auxiliary functions is an integer)
The PLC user program must interpret the value transferred according to the machine
data setting.
5) If the tool management is active, the meaning of the address extension can be
parameterized. Address extension = 0 means the value must be replaced by that of the
master spindle number, i.e. it is equivalent to not programming the address extension.
Auxiliary functions M19 "Position spindle" collected during a block search are not output
to the PLC.
6) M6: Value range of the address extension:
- without tool management: 0 ... 99
- with tool management: 0 ... maximum spindle number
0: to be replaced by the value of the master spindle number or master tool holder
7) If tool management is active, the auxiliary function M6 "Tool change" can only be
programmed once in a part program block, irrespective the address extensions that are
programmed.
8) Maximum number of auxiliary functions per part program block.
Basic Functions
444 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Predefined auxiliary functions
Function
Predefined auxiliary functions are auxiliary functions for activating system functions. The
assignment of predefined auxiliary functions to system function cannot be changed.
During execution of a predefined auxiliary function, the corresponding system function is
activated and the auxiliary functions are output to the NC/PLC interface.
System function
Index <n> (index for the machine data for setting the parameters of an auxiliary function)
Type: MD22050 $MC_AUXFU_PREDEF_TYPE[<n>]
Address extension: MD22060 $MC_AUXFU_PREDEF_EXTENSION[<n>]
Value: MD22070 $MC_AUXFU_PREDEF_VALUE[<n>]
Group: MD22040 $MC_AUXFU_PREDEF_GROUP[<n>]
Output behavior: Bits 0 - 18
MD22080 $MC_AUXFU_PREDEF_SPEC[<n>]
Stop 0 M 0 0 1 → See the next table!
Conditional stop 1 M 0 1 1
End of subroutine 2 M 0 2 1
3 M 0 17 1
4 M 0 30 1
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 445
Auxiliary Function Outputs to PLC (H2)
Predefined auxiliary functions
System function
Index <n> (index for the machine data for setting the parameters of an auxiliary function)
Output behavior: Bits 0 - 18
MD22080 $MC_AUXFU_PREDEF_SPEC[<n>]
18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Stop 0 0 0 0 (0) 0 0 0 0 (0) 0 0 1 0 0 0 0 0 (0) (1)
Conditional stop 1 0 0 0 (0) 0 0 0 0 (0) 0 0 1 0 0 0 0 0 (0) (1)
End of subroutine 2 0 0 0 (0) 0 0 0 0 (0) 0 0 1 0 0 0 0 0 (0) (1)
3 0 0 0 (0) 0 0 0 0 (0) 0 0 1 0 0 0 0 0 (0) (1)
4 0 0 0 (0) 0 0 0 0 (0) 0 0 1 0 0 0 0 0 (0) (1)
Tool change 5 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (1)
Spindle right 6 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (1)
Basic Functions
446 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Predefined auxiliary functions
Spindle left 7 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (1)
Spindle stop 8 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (1)
Position spindle 9 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (1)
Axis mode 10 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (1)
Automatic gear stage 11 0 0 0 (0) 0 0 0 (0) (0) (0) (0) 0 0 1 (0) (0) (0) (0) (1)
Gear stage 1 12 0 0 0 (0) 0 0 0 (0) (0) (0) (0) 0 0 1 (0) (0) (0) (0) (1)
Gear stage 2 13 0 0 0 (0) 0 0 0 (0) (0) (0) (0) 0 0 1 (0) (0) (0) (0) (1)
Gear stage 3 14 0 0 0 (0) 0 0 0 (0) (0) (0) (0) 0 0 1 (0) (0) (0) (0) (1)
Gear stage 4 15 0 0 0 (0) 0 0 0 (0) (0) (0) (0) 0 0 1 (0) (0) (0) (0) (1)
Gear stage 5 16 0 0 0 (0) 0 0 0 (0) (0) (0) (0) 0 0 1 (0) (0) (0) (0) (1)
Spindle speed 17 0 0 0 (0) 0 0 0 (0) (0) (0) 0 (0) (1) (0) (0) (0) 0 (0) (1)
Feed 18 0 0 0 (0) 0 0 0 (0) (0) (0) 0 (0) (1) (0) 0 (1) 0 (0) (1)
Cutting edge selection 19 0 0 0 (0) 0 0 0 (0) (0) (0) 0 (0) (0) (1) 0 (0) 0 (0) (1)
DL 20 0 0 0 (0) 0 0 0 (0) (0) (0) 0 (0) (0) (1) 0 (0) 0 (0) (1)
Tool selection 21 0 0 0 (0) 0 0 0 (0) (0) (0) 0 (0) (0) (1) 0 (0) 0 (0) (1)
Stop (associated) 22 0 0 0 (0) 0 0 0 0 (0) 0 0 1 0 0 0 0 0 (0) (1)
Conditional stop 23 0 0 0 (0) 0 0 0 0 (0) 0 0 1 0 0 0 0 0 (0) (1)
(associated)
End of subroutine 24 0 0 0 (0) 0 0 0 0 (0) 0 0 1 0 0 0 0 0 (0) (1)
Nibbling 25 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (1) (0) 0 (0) (0) (0) (1)
Nibbling 26 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (1) (0) 0 (0) (0) (0) (1)
Nibbling 27 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (1) (0) 0 (0) (0) (0) (1)
Nibbling 28 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (1) (0) 0 (0) (0) (0) (1)
Nibbling 29 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (1) (0) 0 (0) (0) (0) (1)
Nibbling 30 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (1) (0) 0 (0) (0) (0) (1)
Nibbling 31 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (1) (0) 0 (0) (0) (0) (1)
Nibbling 32 0 0 0 (0) 0 0 0 (0) (0) (0) (0) (0) (1) (0) 0 (0) (0) (0) (1)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 447
Auxiliary Function Outputs to PLC (H2)
Predefined auxiliary functions
Type
The identifier of an auxiliary function is defined via the "type," e.g.:
Note
The "type" cannot be changed for predefined auxiliary functions.
Basic Functions
448 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Predefined auxiliary functions
Address extension
The "address extension" of an auxiliary function is for addressing different components of the
same type. In the case of predefined auxiliary functions, the value of the "address extension"
is the spindle number to which the auxiliary function applies.
The setting is done via the following machine data:
MD22060 $MC_AUXFU_PREDEF_EXTENSION[<n>] (address extension for predefined
auxiliary functions)
Grouping together auxiliary functions
To assign an auxiliary function for all spindles of a channel to the same auxiliary function
group, the value "–1" is entered for the "address extension" parameter.
Example:
The auxiliary function M3 (machine data index = 6) is assigned to the second auxiliary
function group for all the channel's spindles.
MD22040 $MC_AUXFU_PREDEF_GROUP[ 6 ] =2
MD22050 $MC_AUXFU_PREDEF_TYPE[ 6 ] = "M"
MD22060 $MC_AUXFU_PREDEF_EXTENSION[ 6 ] = -1
MD22070 $MC_AUXFU_PREDEF_VALUE[ 6 ] =3
Value
The parameters "value" and "type" define the meaning of an auxiliary function, i.e. the
system function that is activated on the basis of this auxiliary function.
The "value" of an auxiliary function is defined in the machine data:
MD22070 $MC_AUXFU_PREDEF_VALUE[<n>] (value of predefined auxiliary functions)
Note
The "value" cannot be changed for a predefined auxiliary function. For some predefined
auxiliary functions, the "value" can be reconfigured via additional machine data (see
"Associated auxiliary functions (Page 461)").
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 449
Auxiliary Function Outputs to PLC (H2)
Predefined auxiliary functions
Basic Functions
450 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Predefined auxiliary functions
Note
Parameterization of the output behavior of auxiliary functions as "quick auxiliary functions" is
only possible in conjunction with user-defined auxiliary functions.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 451
Auxiliary Function Outputs to PLC (H2)
Predefined auxiliary functions
Note
In the case of auxiliary functions for which no output behavior has been defined, the
following default output behavior is active:
• Output duration one OB1 cycle
• Output at block end
Basic Functions
452 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Predefined auxiliary functions
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 453
Auxiliary Function Outputs to PLC (H2)
Predefined auxiliary functions
06;B2XWSXWRSWLRQ
6SLQGOH
(GLWLRQ 4XLW UHVSRQVH
0 $[LVPRWLRQ
W
%ORFN
Y FKDQJH
6SLQGOH 06;B2XWSXWRSWLRQ
UHVSRQVH
(GLWLRQ 4XLW
0 $[LVPRWLRQ
W
%ORFN
Y
FKDQJH
6SLQGOH 06;B2XWSXWRSWLRQ
UHVSRQVH
(GLWLRQ 4XLW
0 $[LVPRWLRQ
W
Y %ORFN
FKDQJH
6SLQGOH
UHVSRQVH 06;B2XWSXWRSWLRQ
(GLWLRQ 4XLW
0 $[LVPRWLRQ
W
%ORFN
FKDQJH
Basic Functions
454 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Predefined auxiliary functions
6SLQGOH 0;
UHVSRQVH B2XWSXWRSWLRQ
(GLWLRQ 4XLW
$[LVPRWLRQ
0
%ORFNFKDQJH W
Y
6SLQGOH 0;
UHVSRQVH B2XWSXWRSWLRQ
(GLWLRQ 4XLW
0
$[LVPRWLRQ
%ORFNFKDQJH W
Y
6SLQGOH
UHVSRQVH
(GLWLRQ 4XLW 'HIDXOWVHWWLQJ
06;
0 B2XWSXWRSWLRQ
$[LVPRWLRQ
%ORFNFKDQJH W
Y
6SLQGOH
UHVSRQVH 'HIDXOWVHWWLQJ
(GLWLRQ 4XLW 06;
0 B2XWSXWRSWLRQ
$[LVPRWLRQ
%ORFNFKDQJH W
Y
6SLQGOH
'HIDXOWVHWWLQJ
UHVSRQVH
0;
(GLWLRQ 4XLW
B2XWSXWRSWLRQ
0
$[LVPRWLRQ
%ORFNFKDQJH W
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 455
Auxiliary Function Outputs to PLC (H2)
Predefined auxiliary functions
'HIDXOWVHWWLQJ
6SLQGOHUHVSRQVH 0;
2XWSXW $FN
2XWSXWEHKDYLRU
0
$[LVPRYHPHQW
W
%ORFNFKDQJH
Y
6SLQGOHUHVSRQVH 'HIDXOWVHWWLQJ
0;
2XWSXW $FN 2XWSXWEHKDYLRU
0
$[LVPRYHPHQW
W
%ORFNFKDQJH
Y
6SLQGOHUHVSRQVH 'HIDXOWVHWWLQJ
2XWSXW $FN 06;
6 2XWSXWEHKDYLRU
$[LVPRYHPHQW
W
%ORFNFKDQJH
Basic Functions
456 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
User-defined auxiliary functions
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 457
Auxiliary Function Outputs to PLC (H2)
User-defined auxiliary functions
Example:
Extension of the predefined auxiliary function for the system function "spindle right" for the
second and third spindle of the channel.
Auxiliary function "spindle right" for the second spindle of the channel:
MD22010 $MC_AUXFU_ASSIGN_TYPE[ n ] = "M"
MD22020 $MC_AUXFU_ASSIGN_EXTENSION[ n ] =2
MD22030 $MC_AUXFU_ ASSIGN_VALUE[ n ] =3
Auxiliary function "spindle right" for the third spindle of the channel:
MD22010 $MC_AUXFU_ ASSIGN_TYPE[ m ] = "M"
MD22020 $MC_AUXFU_ASSIGN_EXTENSION[ m ] =3
MD22030 $MC_AUXFU_ ASSIGN_VALUE[ m ] =3
Basic Functions
458 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
User-defined auxiliary functions
Type
The name of an auxiliary function is defined via the "type".
The identifiers for user-defined auxiliary functions are:
Address extension
MD22020 $MC_AUXFU_ASSIGN_EXTENSION[<n>] (address extension user-defined
auxiliary functions)
The functionality of the address extension is not defined in user-specific auxiliary functions. It
is generally used to distinguish between auxiliary functions with the same "value".
Grouping together auxiliary functions***
If all the auxiliary functions of the same type and value are assigned to the same auxiliary
function group, a value of "-1" must be entered for the "address extension" parameter.
Example:
All user-specific auxiliary functions with the value "= 8" are assigned to the tenth auxiliary
function group.
MD22000 $MC_AUXFU_ASSIGN_GROUP [ 1 ] = 10
MD22010 $MC_AUXFU_ ASSIGN_TYPE [ 1 ] = "H"
MD22020 $MC_AUXFU_ ASSIGN_EXTENSION [ 1 ] = -1
MD22030 $MC_AUXFU_ ASSIGN_VALUE [ 1 ] =8
Value
MD22030 $MC_AUXFU_ASSIGN_VALUE[<n>] (value of user-defined auxiliary functions)
The functionality of the "value" parameter is not defined in user-specific auxiliary functions.
The value is generally used to activate the corresponding PLC user function.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 459
Auxiliary Function Outputs to PLC (H2)
User-defined auxiliary functions
MD22000 $MC_AUXFU_ASSIGN_GROUP [ 2 ] = 11
MD22010 $MC_AUXFU_ ASSIGN_TYPE[ 2 ] = "H"
MD22020 $MC_AUXFU_ ASSIGN_EXTENSION[ 2 ] = 2
MD22030 $MC_AUXFU_ ASSIGN_VALUE[ 2 ] = -1
Basic Functions
460 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Associated auxiliary functions
Function
Associated auxiliary functions are user-defined auxiliary functions that have the same effect
as the corresponding predefined auxiliary functions. User-defined auxiliary functions can be
associated for the following predefined auxiliary functions:
● M0 (stop)
● M1 (conditional stop)
Requirements
The precondition for association of a user-defined auxiliary function with one of the
predefined auxiliary functions mentioned is parameterization of a user-defined auxiliary
function. Only "M" is allowed as a "type" parameter of the user-defined auxiliary function.
Parameter assignment
Association of a user-defined auxiliary function with one of the predefined auxiliary functions
mentioned is set in the machine data:
MD22254 $MC_AUXFU_ASSOC_M0_VALUE (additional M function for program stop)
MD22256 $MC_AUXFU_ASSOC_M1_VALUE (additional M function for conditional stop)
Group assignment
The group assignment of an associated user-defined auxiliary function is always the group
assignment of the corresponding predefined auxiliary function.
Application
Associated auxiliary functions can be used in:
● Main program
● Subroutine
● Cycle
Note
Associated auxiliary functions may not be used in synchronized actions.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 461
Auxiliary Function Outputs to PLC (H2)
Associated auxiliary functions
Note
A change in machine data MD22254 and/or MD22256 may require corresponding
adjustment of the PLC user program:
Boundary conditions
Please note the following boundary conditions:
● A user-defined auxiliary function may not be multiply associated.
● Predefined auxiliary functions (e.g. M3, M4, M5 etc.) may not be associated.
Example
Associating the user-defined auxiliary function M123 with M0:
MD22254 $MC_AUXFU_ASSOC_M0_VALUE = 123
The user-defined auxiliary function M123 thus has the same functionality as M0.
Basic Functions
462 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Type-specific output behavior
Function
The output behavior of auxiliary functions relative to a traversing motions programmed in the
part program block can be defined type-specifically.
Parameter assignment
Parameters are assigned to type-specific output behavior via the machine data:
MD22200 $MC_AUXFU_M_SYNC_TYPE (output time for M functions)
MD22210 $MC_AUXFU_S_SYNC_TYPE (output time for S functions)
MD22220 $MC_AUXFU_T_SYNC_TYPE (output time for T functions)
MD22230 $MC_AUXFU_H_SYNC_TYPE (output time for H functions)
MD22240 $MC_AUXFU_F_SYNC_TYPE (output time for F functions)
MD22250 $MC_AUXFU_D_SYNC_TYPE (output time for D functions)
MD22252 $MC_AUXFU_DL_SYNC_TYPE (output time for DL functions)
The following output behaviors can be parameterized:
MD $MC_AUXFU_xx_SYNC_TYPE = <value>
Note
For the output behavior that can be set for each type of auxiliary function, please refer to the
"Detailed Description of Machine Data" Parameter Manual.
Example
Output of auxiliary functions with different output behaviors in a part program block with
traverse movement.
Output behavior for which parameters have been assigned:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 463
Auxiliary Function Outputs to PLC (H2)
Type-specific output behavior
Program code
...
N10 G01 X100 M07 H5 T5
...
;
7
0
+
!6WDUW1
Basic Functions
464 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Priorities of the output behavior for which parameters have been assigned
8.6 Priorities of the output behavior for which parameters have been
assigned
The following priorities must be observed for the following areas in connection with the
parameterized output behavior of an auxiliary function:
● Output duration (normal/quick acknowledgment)
● Output relative to motion (prior to/during/after the motion)
As a general rule, the parameterized output behavior with lower priority becomes active if no
output behavior with higher priority has been parameterized.
Output duration
The following priorities apply to the output duration:
Note
Part program blocks without path motion
In a part program block without a path motion (even those with positioning axes and
spindles), the auxiliary functions are all output immediately in a block.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 465
Auxiliary Function Outputs to PLC (H2)
Programming an auxiliary function
Syntax
An auxiliary function is programmed in a part program block with the following syntax:
<Type>[<Address extension>=]<Value>
Note
If no address extension is programmed, the address extension is implicitly set = 0.
Predefined auxiliary functions with the address extension = 0 always refer to the master
spindle of the channel.
Symbolic addressing
The values for the "address extension" and "value" parameters can also be specified
symbolically. The symbolic name for the address extension must then be stated in brackets.
Example:
Symbolic programming of the auxiliary function M3 (spindle right) for the first spindle:
Note
If you use symbolic names to program an auxiliary function, the symbolic name is not
transferred when the auxiliary function is output to the PLC. The corresponding numerical
value is transferred instead.
Examples
Example 1: Programming of predefined auxiliary functions
Basic Functions
466 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Programming an auxiliary function
Example 2: Programming examples of auxiliary functions with the corresponding values for
output to the PLC
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 467
Auxiliary Function Outputs to PLC (H2)
Programmable output duration
Function
User-specific auxiliary functions, for which the output behavior "Output duration of an OB1
cycle (slow acknowledgement)" was parameterized, can be defined for individual outputs via
the part program guide QU (Quick) for auxiliary functions with quick acknowledgement.
Syntax
An auxiliary function with quick acknowledgment is defined in a part program block with the
following syntax:
<Type>[<Address extension>]=QU(<Value>)
Example
Different behavior for the output of the auxiliary functions M100 and M200 in a part program.
The output behavior of the auxiliary functions is parameterized as follows:
● M100
– Output duration one OB1 cycle (slow acknowledgment)
– Output during motion
● M200
– Output duration one OB1 cycle (slow acknowledgment)
– Output prior to motion
Basic Functions
468 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Programmable output duration
;D[LV
<D[LV
0
0
%ORFNQXPEHU 1 1 1 1 1
6WUREHIURP1&.DQG 0
DFNQRZOHGJPHQWE\EDVLF
3/&SURJUDP 0
0FKDQJH ,6
0FKDQJH ,6
3/&F\FOHWLPH 2%
2%
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 469
Auxiliary Function Outputs to PLC (H2)
Auxiliary function output to the PLC
Function
On output of an auxiliary function to the PLC, the following signals and values are passed to
the NC/PLC interface:
● Change signals
● "Address extension" parameter
● "Value" parameter
References
● A detailed description of the above data areas in the NC/PLC interface can be found in:
Parameter Manual, Lists, Book 2; chapter: "Signals from/to NCK channel (DB 21 –
DB 30)"
● The access methods for the NC/PLC interface are described in:
Function Manual, Basic Functions, Basic PLC Program (P3)
Basic Functions
470 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Auxiliary functions without block change delay
Function
For auxiliary functions with parameterized and/or programmed output behavior, too:
● "Output duration one OB40 cycle (quick acknowledgment)"
● "Output before the motion" or "Output during the motion"
there may be drops in velocity in continuos-path mode (short traverse paths and high
velocities). This the system has to wait for acknowledgment of the auxiliary function by the
PLC toward the end of the block. To avoid these velocity drops, the block change can be
made irrespective of whether such auxiliary functions have been acknowledged:
Parameter assignment
Suppression of the block change delay with quick auxiliary functions is set via the machine
data:
MD22100 $MC_AUXFU_QUICK_BLOCKCHANGE (block change delay with quick auxiliary
functions)
Value Meaning
0 In the case of quick auxiliary function output to the PLC, the block change is delayed until
acknowledgment by the PLC (OB40).
1 In the case of quick auxiliary function output to the PLC, the block change is not delayed.
Boundary conditions
Synchronism of auxiliary functions that are output without a block change delay is no longer
ensured for the part program block in which they are programmed. In the worst case
scenario, acknowledgment comes one OB40 cycle and execution of the auxiliary function
comes one OB1 cycle after the change to the next part program block.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 471
Auxiliary Function Outputs to PLC (H2)
M function with an implicit preprocessing stop
Function
Triggering a preprocessing stop in conjunction with an auxiliary function can be programmed
explicitly via the STOPRE part program command. Always triggering a preprocessing stop in
M function programming can be parameterized for each M function via the following machine
data:
MD10713 $MN_M_NO_FCT_STOPRE[<n>] (M function with preprocessing stop)
Example
The user-defined M function M88 is intended to trigger a preprocessing stop.
Parameter assignment:
MD10713 $MN_M_NO_FCT_STOPRE [ 0 ] = 88
Application:
Part program (extract)
Boundary conditions
If a subroutine called indirectly via an M function in a part program in one of the following
ways, no preprocessing stop is performed:
● MD10715 $MN_M_NO_FCT_CYCLE (M function to be replaced by subroutine)
● M98 (ISO dialect T/ISO dialect M)
Basic Functions
472 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Response to overstore
Overstore
On the SINUMERIK operator interface, before starting the following functions:
● NC START of a part program
● NC START to resume an interrupted part program
the auxiliary functions that are output at the start can be changed by the "Overstore"
function.
Possible applications include:
● Addition of auxiliary functions after block search
● Restoring the initial state to position a part program
Duration of validity
An overstored auxiliary function, e.g. M3 (spindle right), is valid until it is overwritten by
another auxiliary function from the same auxiliary function group, by additional overstoring or
by programming in a part program block.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 473
Auxiliary Function Outputs to PLC (H2)
Block-search response
Output behavior
In the case of type 1, 2, and 4 block searches, the auxiliary functions are collected on the
basis of specific groups. The last auxiliary function in each auxiliary function group is output
after NC-START in a separate part program block before the actual reentry block, and has
the following output behavior:
● Output duration of one OB1 cycle (normal acknowledgment)
● Output prior to motion
Output control
Whether or not the auxiliary function is output to the PLC after a block search can be
configured via bit 8 of the machine data:
● MD22080 $MC_AUXFU_PREDEF_SPEC[<n>]
(output behavior of predefined auxiliary functions)
where <n> = system function index (0 ... 32)
● MD22035 $MC_AUXFU_ASSIGN_SPEC[<n>]
(output behavior of user-defined auxiliary functions)
where <n> = auxiliary function index (0 ... 254)
● MD11110 $MN_AUXFU_GROUP_SPEC[<n>]
(output behavior of the auxiliary functions in a group)
where <n> = group index (0 ... 63)
Basic Functions
474 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Block-search response
The user can scan the collected auxiliary functions after a block search and, under certain
circumstances, output them again by means of the subprogram or synchronous actions.
Note
The following auxiliary functions are not collected:
• Auxiliary functions which are not assigned to any auxiliary function group.
• Auxiliary functions which are assigned to the first auxiliary function group.
References
For detailed information on the block search, please refer to:
Function Manual, Basic Functions, Mode Group, Channel, Program Operation, Reset
Behavior (K1)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 475
Auxiliary Function Outputs to PLC (H2)
Block-search response
Function
User-defined auxiliary functions can also be assigned to multiple groups via the group
assignment (MD22000 $MC_AUXFU_ASSIGN_GROUP). During the block search these
auxiliary functions are collected for all the configured groups.
Note
Predefined auxiliary functions can only be assigned to one group.
Example
The DIN includes the following M-commands for coolant output:
● M7: Coolant 2 ON
● M8: Coolant 1 ON
● M9: Coolants 1 and 2 OFF
Consequently, both coolants can also be active together:
● If M7 and M8 are collected in two separate groups (e.g. groups 5 and 6)
● If M9 has to be assigned to these two groups, e.g.:
– Group 5: M7, M9
– Group 6: M8, M9
Parameter assignment:
MD11100 $MN_AUXFU_MAXNUM_GROUP_ASSIGN = 4
MD22000 $MC_AUXFU_ASSIGN_GROUP[0] = 5
MD22000 $MC_AUXFU_ASSIGN_GROUP [1] = 5
MD22000 $MC_AUXFU_ASSIGN_GROUP [2] = 6
MD22000 $MC_AUXFU_ASSIGN_GROUP [3] = 6
MD22010 $MC_AUXFU_ASSIGN_TYPE [0] = M
MD22010 $MC_AUXFU_ASSIGN_TYPE [1] = M
MD22010 $MC_AUXFU_ASSIGN_TYPE [2] = M
MD22010 $MC_AUXFU_ASSIGN_TYPE [3] = M
MD22020 $MC_AUXFU_ASSIGN_EXTENSION[0] = 0
MD22020 $MC_AUXFU_ASSIGN_EXTENSION[1] = 0
MD22020 $MC_AUXFU_ASSIGN_EXTENSION[2] = 0
MD22020 $MC_AUXFU_ASSIGN_EXTENSION[3] = 0
MD22030 $MC_AUXFU_ASSIGN_VALUE[0] = 7
MD22030 $MC_AUXFU_ASSIGN_VALUE[1] = 9
Basic Functions
476 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Block-search response
MD22030 $MC_AUXFU_ASSIGN_VALUE[2] = 8
MD22030 $MC_AUXFU_ASSIGN_VALUE [3] = 9
MD22035 $MC_AUXFU_ASSIGN_SPEC [0] = 'H121'
MD22035 $MC_AUXFU_ASSIGN_SPEC [1] = 'H121'
MD22035 $MC_AUXFU_ASSIGN_SPEC [2] = 'H121'
MD22035 $MC_AUXFU_ASSIGN_SPEC [3] = 'H121'
Part program (section):
Program code
...
N10 ... M8
N20 ... M9
N30 ... M7
...
During the block search, the auxiliary function M9 is collected for groups 5 and 6.
Scan of the collected M auxiliary functions:
M function of the fifth group: $AC_AUXFU_M_VALUE [4] = 7
M function of the sixth group: $AC_AUXFU_M_VALUE [5] = 9
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 477
Auxiliary Function Outputs to PLC (H2)
Block-search response
Function
The following predefined procedure is provided to simplify the process of determining the
output sequence of M auxiliary functions for the programmer:
AUXFUMSEQ(VAR INT _NUM_IN, VAR INT _M_IN[], VAR INT _EXT_IN[], VAR
INT _NUM_OUT, VAR INT _M_OUT[], VAR INT _EXT_OUT[])
Input parameters:
VAR INT _NUM_IN: Number of relevant M commands
VAR INT _M_IN[]: Field of relevant M codes
VAR INT _EXT_IN[]: Field of relevant M address extensions
Output parameters:
VAR INT _NUM_OUT: Number of determined M codes
VAR INT _M_OUT[]: Field of determined M codes
VAR INT _EXT_OUT[]: Field of determined M address extensions
The function determines the sequence in which the M auxiliary functions, which have been
collected on a group-specific basis, are output for the predefined M codes. The sequence is
determined from the collection times $AC_AUXFU_M_TICK[<n>] (see "Time stamp of the
active M auxiliary function (Page 477)").
A particular M code is only taken into account once, even if it belongs to more than one
group. If the number of relevant M commands is less than or equal to 0, all the collected M
codes are output. The number of relevant M commands is limited to 64.
Example
M commands for coolant output:
● M7: Coolant 2 ON
● M8: Coolant 1 ON
● M9: Coolants 1 and 2 OFF
Group assignment:
● Group 5: M7, M9
● Group 6: M8, M9
Program code
...
N10 ... M8
N20 ... M9
N30 ... M7
...
Basic Functions
478 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Block-search response
During block searches, the auxiliary functions are collected on the basis of specific groups.
The last auxiliary function in an auxiliary function group is output to the PLC following a block
search:
● Group 5: M7
● Group 6: M9
If they are output in the sequence M7 → M9, no coolant is then active. However, coolant 2
would be active during the execution of the program. Therefore, the correct output sequence
for the M auxiliary functions is determined with an ASUP which contains the predefined
procedure AUXFUMSEQ(…):
Program code
DEF INT _I, _M_IN[3], _EXT_IN[3], _NUM_OUT, _M_OUT[2], _EXT_OUT[2]
_M_IN[0]=7 _EXT_IN[0]=0
_M_IN[1]=8 _EXT_IN[1]=0
_M_IN[2]=9 _EXT_IN[2]=0
AUXFUMSEQ(3,_M_IN,_EXT_IN,_NUM_OUT,_M_OUT,_EXT_OUT)
FOR _I = 0 TO _NUM_OUT-1
M[_EXT_OUT[_I]]=_M_OUT[_I]
ENDFOR
Function
In certain situations, such as a tool change, it may be necessary not to output the spindle-
specific auxiliary functions collected during the block search in action blocks, but to delay
output, for example, until after a tool change. The automatic output of the spindle-specific
auxiliary functions after a block search may be suppressed for this purpose. Output can then
be performed manually later by overstoring or by an ASUB.
Parameterization
Suppression of the automatic output of the spindle-specific auxiliary functions after a block
search is set via machine data:
MD11450 $MN_SEARCH_RUN_MODE (behavior after a block search)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 479
Auxiliary Function Outputs to PLC (H2)
Block-search response
System variables
The spindle-specific auxiliary functions are always stored in the following system variables
during block searches, irrespective of the parameter assignment described above:
Note
The contents of the system variables $P_S, $P_DIR and $P_SGEAR may be lost after block
search due to synchronization operations.
More detailed information on ASUB, block search, and action blocks is to be found in:
References:
Function Manual, Basic Functions; BAG, Channel, Program Operation, Reset Response
(K1), Chapter: "Program test"
Example
Block search for contour with suppression of output of the spindle-specific auxiliary functions
and start of an ASUB after output of action blocks.
Parameter assignment: MD11450 $MN_SEARCH_RUN_MODE, bit 2 = 1
After the block search on N55, the ASUB is started.
Part program:
Basic Functions
480 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Block-search response
ASUB:
Explanation of example
If the number of spindles is known, outputs of the same type can be written in one part
program block to reduce program runtime.
Output of $P_SEARCH_SDIR should be made in a separate part program block because
spindle positioning or switchover to axis mode in conjunction with the gear change can
cause an alarm.
If the ASUB which has been started is ended with REPOSA, spindle 1 remains at position 111
degrees, while spindle 2 is repositioned at position 77 degrees.
If a different response is required, the program sequence for block search (for example)
"N05 M3 S..." and "N30 SPOS[2] = IC(...)" requires special treatment.
Whether block search is active can be ascertained in the ASUB via the system variable
$P_SEARCH.
$P_SEARCH==1 ; Block search active
In the case of incremental positioning after speed control operation, the path to be traversed
is defined but, in some cases, the final position reached only becomes known during
positioning. This is the case, for example, during position calibration on crossing the zero
mark when switching on position control. For this reason, the distance programmed after the
zero position is accepted as the REPOS position (REPOSA in the ASUB).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 481
Auxiliary Function Outputs to PLC (H2)
Block-search response
Boundary conditions
Collected S values
The meaning of an S value in the part program depends on the feed type that is currently
active:
G93, G94, G95, G97, G971: The S value is interpreted as the speed
G96, G961: The S value is interpreted as a constant cutting rate
If the feed operation is changed (e.g. for a tool change) before output of the system variable
$P_SEARCH_S, the original setting from the target block in the part program must be
restored to avoid use of the wrong type of feed.
Collected direction of rotation
For output of the direction of rotation, the system variable $P_SEARCH_SDIR is assigned
default value "-5" at the start of the block search. This value has no effect on output.
This ensures that the last spindle operating mode is retained for a block search across
program section in which spindles are not programmed with a direction of rotation,
positioning or axis mode.
The programming of M19, SPOS, and SPOSA is collected as "M-19" (internal M19) in the
system variables $P_SEARCH_SDIR as an alternative to M3, M4, M5, and M70.
For the output of "M-19", the positioning data is read internally from the system variables
$P_SEARCH_SPOS and $P_SEARCH_SPOSMODE. Both system variables can also be
written to, in order, for example, to make corrections.
Note
Because of the assignments described above (e.g. M[<n>] = $P_SEARCH_SDIR[<n>]), the
values "–5" and "–19" generally remain hidden from the user and only have to be observed in
the case of special evaluation of the system variables in the ASUB.
Output behavior
In the case of type 5 block searches (SERUPRO), an auxiliary function can be output to the
PLC during the block search and/or collected on a group-specific basis in the following
system variables:
● $AC_AUXFU_PREDEF_INDEX[<n>] (index of a predefined auxiliary function)
● $AC_AUXFU_TYPE[<n>] (type of auxiliary function)
● $AC_AUXFU_STATE[<n>] (output state of the auxiliary function)
● $AC_AUXFU_EXT[<n>] (address extension of the auxiliary function)
● $AC_AUXFU_VALUE[<n>] (value of the auxiliary function)
For a description of the system variables, see "Querying system variables (Page 496)".
Basic Functions
482 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Block-search response
Output control
Whether an auxiliary function is output to the PLC during a type 5 block search (SERUPRO)
and/or collected on a group-specific basis in the following system variables can be
configured via bits 9 and 10 of the machine data:
● MD22080 $MC_AUXFU_PREDEF_SPEC[<n>]
(output behavior of predefined auxiliary functions)
where <n> = system function index (0 ... 32)
● MD22035 $MC_AUXFU_ASSIGN_SPEC[<n>]
(output behavior of user-defined auxiliary functions)
where <n> = auxiliary function index (0 ... 254)
● MD11110 $MN_AUXFU_GROUP_SPEC[<n>]
(output behavior of the auxiliary functions in a group)
where <n> = group index (0 ... 63)
Output counter
The user can output the collected auxiliary functions to the PLC on a channel-by-channel
basis in the block search ASUB. For the purposes of serialized output via multiple channels,
the three output counters are changed across all the channels each time an auxiliary
function is output:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 483
Auxiliary Function Outputs to PLC (H2)
Block-search response
which have been collected in one IPO cycle all have the same sequence counter. Auxiliary
functions which have been collected in one package (block or synchronized action) all have
the same package counter. The total on the auxiliary function counter increases every time
an auxiliary function is collected.
Q Q Q
$&B$8;)8B35('()B,1'(;>Q@ $&B$8;)8B35('()B,1'(;>Q@ $&B$8;)8B35('()B,1'(;>Q@
$&B$8;)8B7<3(>Q@ $&B$8;)8B7<3(>Q@ $&B$8;)8B7<3(>Q@
$&B$8;)8B(;7>Q@ $&B$8;)8B(;7>Q@ $&B$8;)8B(;7>Q@
$&B$8;)8B9$/8(>Q@ $&B$8;)8B9$/8(>Q@ $&B$8;)8B9$/8(>Q@
$&B$8;)8B67$7(>Q@ $&B$8;)8B67$7(>Q@ $&B$8;)8B67$7(>Q@
$&B$8;)8B63(&>Q@ $&B$8;)8B63(&>Q@ $&B$8;)8B63(&>Q@
$&B$8;)8B7,&.>Q@ $&B$8;)8B7,&.>Q@ $&B$8;)8B7,&.>Q@
*OREDOOLVWRIDX[LOLDU\IXQFWLRQV
Basic Functions
484 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Block-search response
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 485
Auxiliary Function Outputs to PLC (H2)
Block-search response
Note
Within the context of the "axis interchange" and "axis container rotation" functions, the
auxiliary functions for programming the spindle must always be specified in a way which
ensures compatibility with the actual (motor) state during interchange/rotation. A distinction is
made here between the axis interchange and axis container mechanisms.
Example of axis container rotation:
An axis container has four spindles, each assigned to a separate channel (1 - 4). M3 S1000
is always programmed in channel 1, and an axis container rotation is then executed. The
other channels do not perform any spindle programming. Following the third axis container
rotation and the fourth spindle programming, M3, all four spindles rotate clockwise at a
speed of 1,000 rpm. If the end of the SERUPRO now lies within this range, every ASUB for a
channel is expected to contain an M3 S1000 for the local spindle.
During interchange however, the collected auxiliary functions may only be assigned to the
channel where the spindle is currently located.
Basic Functions
486 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Block-search response
Function
The collected auxiliary functions should be output in the ASUBs at the end of the SERUPRO,
serialized on a channel-by-channel basis. The user is provided with predefined subroutine
calls for this purpose.
<NUM>: The number of auxiliary functions per block is supplied via the call-
by-reference parameter <NUM>.
If the number is -1, no further strings are supplied. If the number is 0,
a valid string has been supplied containing no auxiliary functions; it
contains the likes of WAITM, G4 F0.001, etc. instead.
<GROUP INDEX>: The group indices for all the auxiliary functions which can be output
in one block are supplied via the field parameter <GROUP INDEX>.
Up to ten auxiliary functions can be output simultaneously per block.
<ASSEMBLED>: The auxiliary function block to be output can be returned in the
STRING parameter <ASSEMBLED>. The actual parameter must be a
STRING-type parameter (max. length: 400).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 487
Auxiliary Function Outputs to PLC (H2)
Block-search response
Further information:
If an auxiliary function has been collected via a synchronized action, two strings are supplied
in order containing an action which is synchronized by blocks and a block that can be
executed, such as
WHEN TRUE DO M100 M102
G4 F0.001
If an implicit M19, activated by SPOS, is collected, the function returns the string
"SPOS[<spindle number>] = IC(0)". The purpose of this instruction is to bring the spindle into
the positioning mode. The position which is programmed in the part program is approached
by means of REPOS.
If the implicit M19 is activated by means of a synchronized action, the string "WHEN TRUE
DO SPOS[<spindle number>] = IC(0)" is supplied.
Basic Functions
488 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Block-search response
Examples
The following examples serve as a template for an ASUB at the end of the SERUPRO:
Example 1:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 489
Auxiliary Function Outputs to PLC (H2)
Block-search response
Example 2 (in case the user wishes to set up the output string himself):
Basic Functions
490 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Block-search response
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 491
Auxiliary Function Outputs to PLC (H2)
Block-search response
Basic Functions
492 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Implicitly output auxiliary functions
Function
Implicitly output auxiliary functions are auxiliary functions which have not been programmed
explicitly and which are also output by other system functions (e.g. transformation selection,
tool selection, etc.). These implicit auxiliary functions do not lead to any system function;
instead, the M codes are collected according to output behavior parameters assigned to
them and/or are output to the PLC.
Parameterization
The M codes for auxiliary functions to be output implicitly are defined with the machine data:
● MD22530 $MC_TOCARR_CHANGE_M_CODE (M code with a toolholder change)
This machine data value indicates the number of the M code which is output when a
toolholder is activated at the NC/PLC interface.
If the value is positive, the unchanged M code is always output.
If the value is negative, the number of the toolholder is added to the machine data value,
and this number is output.
● MD22532 $MC_GEOAX_CHANGE_M_CODE (M code when switching the geometry
axes)
Number of the M code which is output when the geometry axes on the NC/PLC interface
are switched.
● MD22534 $MC_TRAFO_CHANGE_M_CODE (M code in the case of transformation
changes)
Number of the M code which is output during a transformation switch of the geometry
axes at the NC/PLC interface.
Note
No M code is output if the number of the M code being output or the
MD22530/MD22532/MD22534 value is between 0 and 6, or is either 17 or 30. Whether or
not an M code which is generated in this manner leads to conflicts with other functions is
not monitored.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 493
Auxiliary Function Outputs to PLC (H2)
Implicitly output auxiliary functions
Output behavior
In the case of implicitly output auxiliary functions, bit 13 is set in machine data MD22080 or
MD22035 (output behavior of predefined or user-defined auxiliary functions).
This bit can be queried via the system variable $AC_AUXFU_SPEC[<n>].
Basic Functions
494 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Information options
Function
The output status and acknowledgement status of M auxiliary functions can be displayed on
the user interface on a group-specific basis.
Requirements
To implement function-oriented acknowledgement and display of M auxiliary functions,
the auxiliary functions must be managed in the PLC and, thus, in the user program itself.
Therefore, it is up to the PLC programmer to program the acknowledgement of these
auxiliary functions. He has to know which auxiliary functions in which group have to be
acknowledged.
Standard
M auxiliary functions that are not managed by means of the PLC are identified by the NC as
"transferred" and output to the PLC. There is no functional acknowledgement for these
auxiliary functions. All M-auxiliary functions collected after a block search are also displayed
so that the operator knows which auxiliary functions will be output after a start following a
block search.
PLC activities
In the case of auxiliary function groups that are managed by the PLC itself, the PLC user
program must acknowledge all auxiliary functions of this groups when Apply and Function
End are activated. The PLC programmer must know all the auxiliary functions of these
groups.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 495
Auxiliary Function Outputs to PLC (H2)
Information options
Miscellaneous
Only the group-specific M auxiliary functions are displayed. The block-by-block display is
also retained. Up to 15 groups can be displayed, whereby only the last M function of a group
that was either collected or output to the PLC is displayed for each group. The M functions
are presented in various display modes depending on their status:
Display update
The display is organized in such a way that the collected auxiliary functions are always
displayed first, before those that were managed by the PLC and before those that were
managed by the NC. A collected auxiliary function is marked as collected until it has been
output from the NCK to the PLC. PLC-managed auxiliary functions are retained until they are
displaced by another auxiliary function. In the case of a reset, only the collected auxiliary
functions and the NC-managed auxiliary functions are deleted.
Function
Auxiliary functions can be queried on a group-specific basis via system variables in the part
program and via synchronized actions:
$AC_AUXFU_... [<n>] = <value>
Basic Functions
496 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Information options
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 497
Auxiliary Function Outputs to PLC (H2)
Information options
Example
All M-auxiliary functions of the 1st group will be stored in the order they are output
id=1 every $AC_AUXFU_M_STATE[0]==2 do
$AC_FIFO[0,0]=$AC_AUXFU_M_VALUE[0]
References
For more information on the system variables, refer to:
Parameter Manual, System variables
Basic Functions
498 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Supplementary conditions
Spindle replacement
Because the auxiliary functions are parameterized channel-specifically, if function: "spindle
replacement" is used, the spindle-specific auxiliary function must be parameterized
immediately in all channels that use the spindles.
Tool management
If tool management is active, the following constraints apply:
● T and M<k> functions are not output to the PLC.
Note
k is the parameterized value of the auxiliary function for the tool change (default: 6):
MD22560 $MC_TOOL_CHANGE_M_CODE (auxiliary function for tool change)
● If no address extension is programmed, the auxiliary function refers to the master spindle
or the master tool holder of the channel.
Definition of the master spindle:
– MD20090 $MC_SPIND_DEF_MASTER_SPIND
– Part program instruction: SETMS
Definition of the master tool holder
– MD20124 $MC_TOOL_MANAGEMENT_TOOLHOLDER
– Part program instruction: SETMTH
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 499
Auxiliary Function Outputs to PLC (H2)
Supplementary conditions
Thread cutting
During active thread cutting G33, G34 and G35, the following output behavior:
● Output duration one OB40 cycle (quick acknowledgment)
● Output during motion
is always active for the spindle-specific auxiliary functions:
● M3 (spindle right)
● M4 (spindle left)
The spindle-specific auxiliary function M5 (spindle stop) is always output at the end of the
block. The part program block that contains M5 is always ended with exact stop, i.e. even
during active continuous path mode.
Synchronized actions
With output auxiliary functions from synchronized actions, the parameterized output behavior
is ignored except for the following parameters:
● Bit0: Output duration one OB1 cycle (normal acknowledgment)
● Bit1: Output duration one OB40 cycle (quick acknowledgment)
Basic Functions
500 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Supplementary conditions
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 501
Auxiliary Function Outputs to PLC (H2)
Examples
8.17 Examples
Task
Parameter assignment of auxiliary functions M3, M4, and M5 for the second spindle of the
channel
Parameter assignment: M3
Requirements:
● Machine data index: 0 (first user-defined auxiliary function)
● Auxiliary function group: 5
● Type and value: M3 (spindle right)
● Address extension: 2 as appropriate for the 2nd spindle of the channel
● Output behavior:
– Output duration one OB1 cycle (normal acknowledgment)
– Output prior to motion
Parameter assignment:
MD22000 $MC_AUXFU_ASSIGN_GROUP[ 0 ] =5
MD22010 $MC_AUXFU_ASSIGN_TYPE [ 0 ] = "M"
MD22020 $MC_AUXFU_ASSIGN_EXTENSION [ 0 ] = 2
MD22030 $MC_AUXFU_ASSIGN_VALUE [ 0 ] =3
MD22035 $MC_AUXFU_ASSIGN_SPEC [ 0 ] = 'H21'
Parameter assignment: M4
Requirements:
● Machine data index: 1 (second user-defined auxiliary function)
● Auxiliary function group: 5
● Type and value: M4 (spindle left)
● Address extension: 2 as appropriate for the 2nd spindle of the channel
● Output behavior:
– Output duration one OB1 cycle (normal acknowledgment)
– Spindle response following acknowledgment
– Output during motion
Basic Functions
502 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Examples
Parameter assignment:
MD22000 $MC_AUXFU_ASSIGN_GROUP [ 1 ] =5
MD22010 $MC_AUXFU_ASSIGN_TYPE [ 1 ] = "M"
MD22020 $MC_AUXFU_ASSIGN_EXTENSION [ 1 ] = 2
MD22030 $MC_AUXFU_ASSIGN_VALUE [ 1 ] =4
MD22035 $MC_AUXFU_ASSIGN_SPEC [ 1 ] = 'H51'
Parameter assignment: M5
Requirements:
● Machine data index: 2 (third user-defined auxiliary function)
● Auxiliary function group: 5
● Type and value: M5 (spindle stop)
● Address extension: 2 as appropriate for the 2nd spindle of the channel
● Output behavior:
– Output duration one OB1 cycle (normal acknowledgment)
– Spindle response following acknowledgment
– Output at block end
Parameter assignment:
MD22000 $MC_AUXFU_ASSIGN_GROUP [ 2 ] =5
MD22010 $MC_AUXFU_ASSIGN_TYPE [ 2 ] = "M"
MD22020 $MC_AUXFU_ASSIGN_EXTENSION [ 2 ] = 2
MD22030 $MC_AUXFU_ASSIGN_VALUE [ 2 ] =5
MD22035 $MC_AUXFU_ASSIGN_SPEC [ 2 ] = 'H91'
Task
Parameter assignment of the auxiliary function-specific machine data for a machine with the
following configuration:
Spindles
● Spindle 1: Master spindle
● Spindle 2: Second spindle
Gear stages
● Spindle 1: 5 gear stages
● Spindle 2: No gear stages
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 503
Auxiliary Function Outputs to PLC (H2)
Examples
Requirements
Spindle 1 (master spindle)
Note
Default assignments
• The auxiliary functions M3, M4, M5, M70 and M1=3, M1=4, M1=5, M1=70 of spindle 1
(master spindle) are assigned as standard to the second auxiliary function group.
• All S and S1 values of spindle 1 (master spindle) are assigned to the third auxiliary
function group by default.
● The gear stage last programmed is to be output after block search. The following auxiliary
functions are assigned to the ninth auxiliary function group for this reason:
– M40, M41, M42, M43, M44, M45
– M1=40, M1=41, M1=42, M1=43, M1=44, M1=45
● The auxiliary functions M3, M4, M5, M70 and M1=3, M1=4, M1=5, M1=70
(second auxiliary function group) and S and S1 values (third auxiliary function group)
should possess the following output behavior:
– Output duration one OB40 cycle (quick acknowledgment)
– Output prior to motion
● The auxiliary functions for gear changeover M40 to M45 and M1=40 to M1=45
(ninth auxiliary function group) should have the following output behavior:
– Output duration one OB1 cycle (normal acknowledgment)
– Output prior to motion
Basic Functions
504 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Examples
Spindle 2
● Only one M function for directional reversal may be programmed in one block. The
direction of rotation last programmed is to be output after block search. The following
auxiliary functions are assigned to the tenth auxiliary function group for this reason:
– M2=3, M2=4, M2=5, M2=70
● All S2 values are assigned to auxiliary function group 11.
● The auxiliary functions M2=3, M2=4, M2=5, M2=70 (tenth auxiliary function group) and
S2 values (auxiliary function group 11) should have the following output behavior:
– Output duration one OB40 cycle (quick acknowledgment)
– Output prior to motion
Cooling water
● It is not permissible to switch the cooling water on and off in one part program block. After
a block search, the cooling water will be switched on or off. For this purpose, the following
auxiliary functions are assigned, for example, to auxiliary function group 12 or 13:
– Auxiliary function group 12: M50, M51
– Auxiliary function group 13: M52, M53
● The auxiliary functions M50, M51 (auxiliary function group 12) and M52, M53 (auxiliary
function group 13) should have the following output behavior:
– Output duration one OB1 cycle (normal acknowledgment)
– Output prior to motion
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 505
Auxiliary Function Outputs to PLC (H2)
Examples
Basic Functions
506 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Examples
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 507
Auxiliary Function Outputs to PLC (H2)
Data lists
Basic Functions
508 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Data lists
8.18.2 Signals
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 509
Auxiliary Function Outputs to PLC (H2)
Data lists
Basic Functions
510 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Auxiliary Function Outputs to PLC (H2)
Data lists
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 511
Auxiliary Function Outputs to PLC (H2)
Data lists
Basic Functions
512 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
9
Mode Group, Channel, Program Operation, Reset
Response (K1)
Channel
An NC channel represents the smallest unit for manual traversing of axes and automatic
processing of part programs. At any one time, a channel will always be in a particular mode,
e.g. AUTOMATIC, MDA, or JOG. A channel can be regarded as an independent NC.
Mode group
A channel always belongs to a mode group. A mode group can also consist of several
channels.
A mode group can be identified by the fact that all channels of the mode group are always in
the same mode at a particular time, e.g. AUTOMATIC, MDA, or JOG. This is ensured
through the NC internal mode logic.
A mode group can be regarded as an independent multi-channel NC.
Channel gaps
When channels are configured, placeholder channels can be provided in order to create as
uniform a configuration as possible over machines in a series. Only the channels that are
actually used are then activated.
Program test
The following options are available for testing or moving in position a new part program.
● Program execution without setpoint outputs
● Program execution in single-block mode
● Program execution with dry run feedrate
● Skip part program blocks
● Block search with or without calculation.
Block search
The block search function enables the following program simulations for locating specific
program points:
● Type 1 without calculation at contour
● Type 2 with calculation at contour
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 513
Mode Group, Channel, Program Operation, Reset Response (K1)
Brief description
Program operation
The execution of part programs or part program blocks in AUTOMATIC or MDA modes is
referred to as program operation. During execution, the program sequence can be controlled
by PLC interface signals and commands.
For each channel, basic settings or channel-specific machine data can be specified. These
initial settings affect, for example, G groups and auxiliary function output.
A part program can be selected only if the relevant channel is in the Reset state.
Furthermore, all further program runs are handled by PLC interface signals and the
corresponding commands.
● Start of part program or part program block
● Part program calculation and program control
● RESET command, program status, and channel status
● Responses to operator and program actions
● Event-driven program calls
Single block
With the single-block function, the user can execute a part program block-by-block.
There are 3 types of setting for the single-block function:
● SLB1: = IPO single block
● SLB2: = Decode single block
● SLB3: = Stop in cycle
Basic Functions
514 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Brief description
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 515
Mode Group, Channel, Program Operation, Reset Response (K1)
Mode group (MG)
Mode group
A mode group combines NC channels with axes and spindles to form a machining unit.
A mode group contains the channels that are required to run simultaneously in the same
mode from the point of view of the machining sequence.
The configuration of a mode group defines which channels are to be included in the group.
Note
This description assumes one mode group and one channel.
Functions that need several channels (e.g. axis replacement), are described in:
References:
/FB2/ Functional Manual Extension functions; BAGs, Channels, Axis replacement (K5)
Note
The control system does not recognize mode group-specific data. However, it is possible to
make some channel-specific settings that pertain to the mode group.
Channel-specific assignments
Axes can be assigned to multiple channels that, in turn, are allocated to different mode
groups. The axes can then be interchanged between these channels (axis replacement).
Axis replacement functions independently of the mode group.
Machine axes and spindles are assigned to a channel. They differ as follows:
● Geometry axes can be operated in the path grouping.
Using the master spindle, they can perform functions such as G96, G961, G331, G332,
etc.
● Channel axes that are not defined as geometry axes can be moved as path axes,
synchronous axes, positioning axes, PLC axes, and command axes.
● Special axes have no geometric relationship with one another.
Basic Functions
516 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Mode group (MG)
● Master spindle geometry axes can perform functions using the master spindle.
● Auxiliary spindles are all other spindles/axes in the channel apart from the master
spindle.
The GEOAX replacement command can be programmed to declare a channel axis as a
geometry axis and define its geometry axis number. It is defined with SETMS, which spindle
in the channel should be the master spindle.
Any axis in the channel can be configured as a spindle. The number of axes per channel
depends on the control version. In order to optimize the performance utilization, the available
channel and axis configurations are limited depending on the hardware.
With SINUMERIK 840D or 840D sl, the following configurations are permissible depending
on the HW/SW version:
● Up to 12 axes/spindles per channel
● Maximum of 31 axes or 20 spindles per NCU
For more information about other axis configurations such as axis containers, link axes,
reciprocating axes, master axes, rotary axes, linear axes, master axes, and slave axes and
the various versions, please refer to:
References:
/FB1/ Function Manual Basic Functions; Axes, Coordinate Systems, Frames (K2)
/FB1/ Function Manual Basic Functions; Spindles (S1)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 517
Mode Group, Channel, Program Operation, Reset Response (K1)
Mode group (MG)
Machine data
There are no mode group-specific machine data.
Channel gaps
The channels to which a mode group is assigned with MD10010 are regarded as activated.
Instead of a mode group number, the number "0" can be assigned to channels. The result is
as follows:
● The non-activated channel does not take up memory space in the control.
● Series machines with similar designs can be kept uniform during configuration. Only the
channels that can actually be used by the machine tool are activated (channels with
mode group number greater than 0).
Special case:
Channel 1 must always be available!
⇒ If:
MD10010 $MN_ASSIGN_CHAN_TO_MODE_GROUP [0] = 0
is specified, the control automatically sets
MD10010 $MN_ASSIGN_CHAN_TO_MODE_GROUP [0] = 1 (mode group 1).
Example configurations:
MD10010 $MN_ASSIGN_CHAN_TO_MODE_GROUP[0] = 1
MD10010 $MN_ASSIGN_CHAN_TO_MODE_GROUP[1] = 2
...
MD10010 $MN_ASSIGN_CHAN_TO_MODE_GROUP[3] = 0 ; gap
...
MD10010 $MN_ASSIGN_CHAN_TO_MODE_GROUP[8] = 1
MD10010 $MN_ASSIGN_CHAN_TO_MODE_GROUP[9] = 2
Basic Functions
518 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Mode group (MG)
Function
The following NC/PLC interface signals are used to stop the traversing motions of the axes
or of the axes and spindles in all mode group channels and to interrupt part program
execution:
DB11 DBX0.5 (mode group Stop)
DB11 DBX0.6 (mode group Stop axes plus spindles)
Function
A mode group Reset is requested via a mode group-specific NC/PLC interface signal:
DB11 DBX0.7 = 1 (mode group reset)
Effect
Effect on the channels of mode group:
● Part program preparation (preprocessing) is stopped.
● All axes and spindles are decelerated to zero speed according to their acceleration
curves without contour violation.
● Any auxiliary functions not yet output to the PLC are no longer output.
● The preprocessing pointers are set to the interruption point, and the block pointers are set
to the beginning of the appropriate part programs.
● All initial settings, (e.g. the G functions), are set to the parameterized values.
● All alarms with "Channel reset" criterion are canceled.
If all the channels of the mode group are in reset state, then:
● All alarms with "Mode group reset" cancel criterion are canceled.
● The NC/PLC interface indicates completion of the mode group Reset and the mode
group's readiness to operate:
DB11 DBX6.7 (all channels in the reset state)
DB11 DBX6.3 = 1 (mode group ready)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 519
Mode Group, Channel, Program Operation, Reset Response (K1)
Mode types and mode type change
Unique mode
The channels of a mode group operate in one mode.
A mode group is either in AUTOMATIC, JOG, or MDA mode.
Several channels of the same mode group cannot be in different modes at the same time.
If individual channels are assigned to different mode groups, a channel switchover activates
the corresponding mode group. This allows mode changes to be initiated via a channel
switchover.
Basic Functions
520 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Mode types and mode type change
Selection
The user can select the desired operating mode by means of soft keys on the operator
interface.
This selection (AUTOMATIC, MDA, or JOG) is forwarded to interface signals:
DB11 DBX4.0 to DBX4.2 (mode strobe)
in the PLC, but is not activated at this point.
Display
The current mode of the mode group is displayed via the interface signals:
DB11 DBX6.0 to DBX6.2 (active mode)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 521
Mode Group, Channel, Program Operation, Reset Response (K1)
Mode types and mode type change
Basic Functions
522 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Mode types and mode type change
Operating statuses
The following three channel statuses can occur in each mode:
1. Channel reset
The machine is in its initial state. This is defined by the machine manufacturer's PLC
program, e.g. after POWER ON or at the end of the program.
2. Channel active
A program has been started, and the program is being executed or a reference point
approach is in progress.
3. Channel interrupted
The running program or reference point approach has been interrupted.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 523
Mode Group, Channel, Program Operation, Reset Response (K1)
Mode types and mode type change
Basic Functions
524 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Mode types and mode type change
● If JOG movement is active, the NCK is internally in JOG mode, and, thus, a block search
request is refused and a Start cannot start the part program. Start starts any remaining
increment or has no effect.
● While a mode group axis is being traversed in JOG mode, the mode group remains
internally in JOG mode.
Remark: This phase can begin with the JOG movement of an axis and end with the end
of the JOG movement of another axis.
● Axis replacement is not possible for an axis with active JOG movement. (The axis might
change mode group). The NCK blocks any axis replacement attempt.
● The PLC user interface indicates "Automatic" mode:
DB11 DBX6.0=1
DB11 DBX6.1=0
DB11 DBX6.2=0
DB11 DBX7.0=0
DB11 DBX7.1=0
DB11 DBX7.2=0
● In “JOG in AUTOMATIC”, the PLC user interface displays whether the mode group is in
“Mode group RESET”. This enables the NCK to now automatically switch internally to
JOG, if required.
DB11 DBX6.4
DB11 DBX26.4; For mode group 2
DB11 DBX46.4; For mode group 3
● In “JOG in AUTOMATIC”, the PLC user interface displays whether the NCK has
automatically switched to “Internal JOG”.
DB11 DBX6.5
DB11 DBX26.5; For mode group 2
DB11 DBX46.5; For mode group 3
Boundary conditions
“JOG in AUTOMATIC” can only switch internally to JOG if the mode group is in “Mode group
RESET” state, i.e. it is not possible to jog immediately in the middle of a stopped program.
The user can jog in this situation by pressing the JOG key or the Reset key in all channels of
the mode group.
Selecting AUTOMATIC disables the INC keys and the user can/must press the INC keys
again to select the desired increment. If the NCK switches to “Internal JOG”, the selected
increment is retained.
If the user attempts to jog the geometry or orientation axes, the NCK switches to “Internal
JOG” and the motion is executed. Several axes can be physically moved in this way; they
must all be “JOG-capable”.
Following the JOG movement, the NCK deactivates “Internal JOG” again and selects AUTO
mode again. The internal mode change is delayed until the movement is complete. This
avoids unnecessary multiple switching operations, e.g. when using the handwheel. The PLC
can only rely on the “Internal JOG active” PLC signal.
The NCK will then switch to “Internal JOG” if the axis is not enabled.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 525
Mode Group, Channel, Program Operation, Reset Response (K1)
Mode types and mode type change
Introduction
A mode change is requested and activated via the mode group interface (DB11, ...). A mode
group will either be in AUTOMATIC, JOG, or MDA mode, i.e. it is not possible for several
channels of a mode group to take on different modes at the same time.
What mode transitions are possible and how these are executed can be configured in the
PLC program on a machine-specific basis.
Note
The mode is not changed internally until the signal "Channel status active" is no longer
pending. For error-free mode change however, all channels must assume a permissible
operating mode.
Basic Functions
526 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Mode types and mode type change
Special cases
● Errors during mode change
If a mode change request is rejected by the system, the error message "Operating mode
cannot be changed until after NC Stop" is output. This error message can be cleared
without changing the channel status.
● Mode change disable
A mode change can be prevented by means of interface signal:
DB11, DBX0.4 (Mode change disable).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 527
Mode Group, Channel, Program Operation, Reset Response (K1)
Channel
9.4 Channel
Channel properties
A channel constitutes an "NC" in which one part program can be executed at a time.
Machine axes, geometry axes and positioning axes are assigned to the channels according
to the machine configuration and the current program status (AXIS CHANGE, GEO AXIS
CHANGE, SETMS).
The system assigns each channel its own path interpolator with associated programming.
Each channel can run its own machining program, which is controlled from the PLC.
The following channel-specific functions make it possible for the channels to process part
programs independently:
● Each channel has its own NC Start, NC Stop, RESET.
● One feedrate override and one rapid traverse override per channel.
● Dedicated interpreter for each channel.
● Dedicated path interpolator for each channel, which calculates the path points such that
all the machining axes of the channel are controlled simultaneously from path axes.
● Selection and deselection of tool cutting edges and their length and radius
compensations for a tool in a specific channel.
For more information on tool offset, refer to:
References:
/FB1/ Function Manual, Basic Functions; Tool Offset (W1)
● Channel-specific frames and frames active in the channel for transforming closed
calculation rules into Cartesian coordinate systems. Offsets, rotations, scalings, and
mirrorings for geometry axes and special axes are programmed in a frame.
For more information on frames, refer to:
References:
/FB1/ Function Manual, Basic Functionse; Axes, Coordinate Systems, Frames (K2),
Chap: "External work offset"
● Display of channel-specific alarm responses.
● Display of current machining sequence (axis position, current G functions, current
auxiliary functions, current program block) for each channel.
● Separate program control functions for each channel.
These functions (with the exception of the display functions) are controlled and checked by
the PLC with interface signals.
Channels in the same mode group always have to be operated in the same mode
(AUTOMATIC, JOG, MDA).
Basic Functions
528 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Channel
Channel configuration
Channels can be filled with their own channel name via the following machine data:
MD20000 $MC_CHAN_NAME (channel name)
The various axes are then assigned to the available channels via machine data. There can
be only one setpoint-issuing channel at a time for an axis/spindle. The axis/spindle actual
value can be read by several channels at the same time. The axis/spindle must be registered
with the relevant channel.
Moreover, the following channel-specific settings can also be defined via machine data:
● Position of deletions or the basic program settings of G groups via the machine data:
MD20150 $MC_GCODE_RESET_VALUES (RESET position of G groups)
● Auxiliary function groups regarding the combination and the output time.
● Transformation conditions between machine axes and geometry axes
● Other settings for the execution of a part program
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 529
Mode Group, Channel, Program Operation, Reset Response (K1)
Channel
Interface signals
NCK channel 1 signals lie in DB21 of the user interface, those of channel 2 in DB22. The
channel or channels can be monitored and controlled from the PLC or NCK.
Technology in channel
The machine data can be used to relate the technology specification for the machine to
specific channels:
MD27800 $MC_TECHNOLOGY_MODE
Among other functions, this information is used for evaluation in HMI, PLC, and standard
cycles.
Siemens supplies standard MD for milling. If the machine tool is not a milling machine, but
some other type, a different data/program block can be loaded by the HMI or PLC depending
on the technology mode set in the machine data.
Basic Functions
530 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Channel
User/PLC
A global Start disable can be set for the selected channel via the HMI or from the PLC.
Function
When Start disable is set, no new program starts are accepted for the selected channel.
Start attempts are counted internally.
If a start is executed by the PLC before a global block disable is sent from the HMI to the
NCK, the program is not stopped by the Start disable and its status is transmitted to the HMI.
NC Start disable and global Start disable have the same effect on the internal counter for
starts that have been sent but not executed. (OPI variable startRejectCount).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 531
Mode Group, Channel, Program Operation, Reset Response (K1)
Channel
Messages
If desired, a message can be issued when a Start attempt occurs while a global block
disable is active.
The control is exercised using machine data:
MD11411 $MN_ENABLE_ALARM_MASK Bit 6
Basic Functions
532 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program test
Test options
The following test options are described below:
● Program execution without setpoint outputs
● Program execution in single-block mode
● Program execution with dry run feedrate
● Skip part program blocks
● Block search with or without calculation.
Function
In the "Program test" status, a part program is executed without the output of axis or spindle
setpoints.
The user can use this to check the programmed axis positions and auxiliary function outputs
of a part program. This program simulation can also be used as an extended syntax check.
Selection
This function is selected via the operator interface in the "Program control" menu.
The selection sets the following interface signal:
DB21, ... DBX25.7 (program test selected)
This does not activate the function.
Activating
The function is activated via interface signal:
DB21, ... DBX1.7 (activate program test)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 533
Mode Group, Channel, Program Operation, Reset Response (K1)
Program test
Display
The corresponding field on the operator interface is reversed and the interface signal in the
PLC as a checkback of the active program test:
DB21, ... DBX33.7 (program test active)
CAUTION
The signals for exact stop:
DB31, ... DBX60.6/60.7 (exact stop coarse/fine)
mirror the actual status on the machine.
They are only canceled during program testing if the axis is pushed out of its set position
(the set position remains constant during program testing).
With signal:
DB21, ... DBX33.7 (program test active)
both the PLC program and the part program can use variable
$P_ISTEST
to decide how to react or branch in response to these signals during testing.
Note
Dry run feedrate
"Program execution without axis motion" can also be activated with the function "Dry run
feedrate". With this function, part program sections with a small programmed feedrate can be
processed in a shorter time.
Basic Functions
534 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program test
Note
Tool management
Because of the axis disable, the assignment of a tool magazine is not changed during
program testing. A PLC application must be used to ensure that the integrity of the data in
the tool management system and the magazine is not corrupted. The toolbox diskettes
contain an example of the basic PLC program.
Function
In case of "Program execution in single block mode" the part program execution stops after
every program block. If tool cutter radius compensation or a tool nose radius correction is
selected, processing stops after every intermediate block inserted by the control.
The program status switches to "Program status stopped".
The channel status remains active.
The next part program block is processed on NC Start.
Application
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 can
call the next block.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 535
Mode Group, Channel, Program Operation, Reset Response (K1)
Program test
CAUTION
In a series of G33/G34/G35 blocks, a single block is only operative if "dry run feed" is
selected.
Calculation blocks are not processed in single step mode (only if single decoding block is
active).
SBL2 is also ineffective with G33/G34/G35.
Selection
It is possible to select the single block mode:
● via the machine control panel (key "Single Block")
● via the user interface
For an exact procedure see:
References:
Operations Manual of the installed HMI Application
Note
In case of HMI Advanced without machine control panel, a user display must be
configured with a corresponding softkey.
Activating
The function is activated through the PLC basic program via the interface signal:
DB21, ... DBX0.4 (activate single block)
Display
Active single block mode is indicated by a reversal in the relevant field in the status line 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 signal is set:
DB21, ... DBX35.3 (program status interrupted)
Basic Functions
536 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program test
● Init blocks
● Subroutines with DISPLOF
● Non-reorganizable blocks
● Non-repositionable blocks
● Reposition block without travel information
● Tool approach block.
The setting is done via the following machine data:
MD10702 $MN_IGNORE_SINGLEBLOCK_MASK (Prevent single block stop)
The assignment of the processes to the bits of the machine data is given in:
References:
Detailed machine data description
Function
During "Program execution with dry run feedrate" the traversing speeds, which have been
programmed together with G01, G02, G03, G33, G34 and G35, are replaced by a
parameterized feedrate value:
SD42100 $SC_DRY_RUN_FEED (dry run feed rate)
The dry run feedrate value also replaces the programmed revolutional feedrate in program
blocks with G95.
The exact way of working of the parameterized dry run feedrate (SD42100) depends on the
setting of another setting data:
SD42101 $SC_DRY_RUN_FEED_MODE (Mode for test run speed)
Value Description
0 Dry run feedrate is the maximum of the programmed feedrate and setting data SD42100.
(Default setting!)
⇒ SD42100 becomes effective only when the stored value is greater than the programmed
feedrate.
1 Dry run feedrate is the minimum of the programmed feedrate and SD42100.
⇒ SD42100 becomes effective only when the stored value is less than the programmed
feedrate.
2 The value in SD42100 acts as the dry run feed rate, regardless of the programmed feedrate.
10 As in the case of "0", except thread cutting (G33, G34, G35) and thread boring (G331, G332,
G63). These functions are executed as programmed.
11 As in the case of "1", except thread cutting (G33, G34, G35) and thread boring (G331, G332,
G63). These functions are executed as programmed.
12 As in the case of "2", except thread cutting (G33, G34, G35) and thread boring (G331, G332,
G63). These functions are executed as programmed.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 537
Mode Group, Channel, Program Operation, Reset Response (K1)
Program test
A dry run feedrate can be selected in the automatic modes and activated on interruption of
an automatic mode or end of a block.
For more information on feedrate control, refer to:
References:
/FB1/ Function Manual, Basic Functions; Feeds (V1)
Application
DANGER
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
This function is selected via the operator interface in the "Program control" menu.
The selection sets the following interface signal:
DB21, ... DBX24.6 (dry run feed rate selected)
This does not activate the function.
Activating
The function is activated via interface signal:
DB21, ... DBX0.6 (activate dry run feed)
Display
Active dry run feedrate mode is indicated by a reversal in the relevant field in the status line
on the operator interface.
Basic Functions
538 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program test
Function
When testing or breaking in new programs, it is useful to be able to disable or skip certain
part program blocks during program execution. For this, the respective records must be
marked with a slash.
Main program/subroutine
%100
N10 ...
N20 ...
Block being N30 ...
processed
Skip blocks
/N40 ... N40 and N50 during
processing
/N50 ...
N60 ...
N70 ...
N80 ...
N90 ...
N100 ...
N110 ...
N120 M30
Selection
This function is selected via the operator interface in the "Program control" menu.
The selection sets the following interface signal:
DB21, ... DBX26.0 (skip block selected)
This does not activate the function.
Activating
The function is activated via the interface signal:
DB21, ... DBX2.0 (activate skip block)
Note
The "Skip part programs" function remains active during block searches.
Display
Activated "Skip block" function is indicated by a reversal of the relevant field on the operator
interface.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 539
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search
Function
Block search offers the possibility of starting part program execution from almost any part
program block.
This involves the NC rapidly performing an internal run through the part program (without
traversing motions) to the selected target block during block search. Here, every effort is
made to achieve to the exact same control status as would result at the target block during
normal part program execution (e.g. with respect to axis positions, spindle speeds, loaded
tools, NC/PLC interface signals, variable values) in order to be able to resume automatic part
program execution from the target block with minimum manual intervention.
Note
For more information on block searches, refer to:
References:
/FB1/ Function Manual Basic Functions; Auxiliary Function Output to PLC (H2),
Chapter: "Behavior on block search"
Basic Functions
540 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search
Subsequent actions
After completion of a block search, the following subsequent actions may occur:
● Type 1 - Type 5: Automatic Start of an ASUB
When the last action block is activated, a user program can be started as an ASUB.
● Type 1 - Type 4: Cascaded block search
A further block search with a different target specification can be started from "Search
target found".
Time sequence
The block search (Types 1, 2, and 4) proceeds as follows:
1. Activate search via input in HMI Advanced or HMI Embedded
2. Search target found, or alarm if target cannot be found
3. NC Start for output of action blocks
4. NC Start for program continuation.
Block search Search target 1 Block search Search target 2 NC Start Last
starting found starting found action blocks action block
being output
Block search
active (DB21, ...
DBX33.4)
Action block
active (DB21, ...
DBX32.3)
Channel status
Reset (DB21, ...
DBX35.7)
Channel status
interrupted
(DB21, ... DBX35.6)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 541
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search
Interface signals
In the PLC, the following interface signals are set according to the time sequence shown in
the figure:
DB21, ... DBX33.4 (block search active)
DB21, ... DBX32.3 (action block active)
DB21, ... DBX32.4 (approach block active)
DB21, ... DBX32.6 (last action block active)
DB21, ... DBX1.6 (PLC action complete)
If an axis is first programmed after "Block search with calculation at block end point", the
incremental value can be added to the value accumulated up to the search target using
setting data
SD42444 $SC_TARGET_BLOCK_INCR_PROG.
Action blocks
Action blocks contain the actions accumulated during "Block search with calculation", such
as auxiliary function outputs and tool (T, D), spindle (S), and feedrate 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
With the action blocks, the accumulated spindle programming (S value, M3/M4/M5/M19,
SPOS) also becomes active.
The PLC user program must ensure that the tool can be operated and that, if necessary, the
spindle programming is reset via PLC signal:
DB31, ... DBX2.2(spindle reset)
or the spindle programming is not output.
Basic Functions
542 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 543
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search
Basic Functions
544 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search
System variables
The spindle-specific auxiliary functions are always stored in the following system variables
on block search, irrespective of the programming described above:
Note
The contents of the system variables $P_S, $P_DIR and $P_SGEAR may be lost after block
search due to synchronization operations.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 545
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search
References:
More detailed information on ASUB, block search, and action blocks is to be found in:
● /FB1/ Function Manual, Basic Functions; Auxiliary Function Output to PLC (H2),
Section: Output suppression of spindle-specific auxiliary functions
● /FB1/ Function Manual, Basic Functions; Mode Group, Channel, Program Operation (K1)
Section: Program test
● /FB1/ Function Manual, Basic Functions; Spindles (S1),
Section: Auxiliary spindle functions after block search
Parameter assignment
Making the function effective
The automatic ASUB start after a block search is activated by the following MD setting:
MD11450 $MN_SEARCH_RUN_MODE, bit 1 = 1
Program to be activated
In the default setting, the program _N_PROG_EVENT_SPF is activated from the directory
_N_CMA_DIR as ASUB after the block search by changing the last action block. If another
program is to be activated, then the name of this user program must be entered in the
following machine data:
MD11620 $MN_PROG_EVENT_NAME
Behavior when the single block processing is set
Via the following channel-specific machine data it can be set, whether the activated ASUB
are processed without interruption despite a set single block processing or whether the
single block processing is to be made active:
MD20106 $MC_PROG_EVENT_IGN_SINGLEBLOCK
Basic Functions
546 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search
Note
For moe information on parameterization of \MD11620, MD20108 and MD20107 see "Event-
driven Program calls > Parameterization (Page 621)".
Programming
The event that has started this ASUB can be determined by scanning the system variable
$P_PROG_EVENT. In case of an automatic activation after a block search
$P_PROG_EVENT returns the value "5".
Sequence
Sequence of automatic start of an ASUB after a block search
1. Start block search (with/without calculation, at contour, at end-of-block point).
2. Stop after "Search target found".
3. NC Start for output of action blocks.
4. Last action block is activated.
5. Automatic start of /_N_CMA_DIR/_N_PROG_EVENT_SPF (default) as an ASUB.
6. The NC will stop after changing the last ASUB block (REPOSA command) and the
following NC/PLC interface signal is set:
DB21, ... DBX32.6 (last action block active)
The alarm 10208 "Enter NC-start for program continuation" is generated.
Note
If bit 0 is set to "1" in MD11450 $MN_SEARCH_RUN_MODE, then the alarm 10208 is
generated only when the PLC requests this by setting the following NC/PLC interface
signal:
DB21, ... DBX1.6 (PLC action complete)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 547
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search
Functionality
The "Cascaded block search" function can be used to start another block search from the
status "Search target found". The cascading can be continued after each located search
target as often as you want and is applicable to the following block search functions:
● Type 1 block search without calculation
● Type 2 block search with calculation at contour
● Type 3 block search with calculation at block end point
Note
Another "cascaded block search" can be started from the stopped program execution
only if the search target has been found.
Activation
The "cascaded block search" is configured in the existing machine data:
MD11450 $MN_SEARCH_RUN_MODE
● Cascaded block search is enabled (i.e. several search targets can be specified)
with Bit 3 = 0 (FALSE).
● For compatibility reasons, the cascaded block search can be disabled with Bit 3 = 1
(TRUE). By default, the cascaded block search is set with Bit 3 = 0.
Execution behavior
Basic Functions
548 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search
Block search Search target 1 Block search Search target 2 NC Start Last
starting found starting found action blocks action block
being output
Block search
active (DB21, ...
DBX33.4)
Action block
active (DB21, ...
DBX32.3)
Channel status
Reset (DB21, ...
DBX35.7)
Channel status
interrupted
(DB21, ... DBX35.6)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 549
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search
Selection
From the following examples, select the type of block search that corresponds to your task.
Basic Functions
550 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search
200
Approach movement
Target block N220
100
Approach point
(170,30)
0 X
100 200 300 400
Figure 9-4 Approach movement for search to block end point (target block N220)
Note
"Search to contour" with target block N220 would generate an approach movement to the
tool change point (start point of the target block).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 551
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search
Y
Tool
change point
300 (450,300)
N260
Approach point
100
0 X
100 200 300 400
Figure 9-5 Approach movement for search to contour (target block N260)
Note
"Search to block end point" with target block N260 would result in Alarm 14040 (circle end
point error).
;Main program
...
;Machine contour section 1 with "CUTTER_1"tool
...
N100 G0 G40 X200 Y200 ; Deselect radius compensation
N110 Z100 D0 ; Deselect length compensation
;End of contour section 1
;
;Machine contour section 2 with "CUTTER_2"tool
N200 T="CUTTER_2" ; Preselect tool
N210 WZW ; Call tool change routine
N220 G0 X170 Y30 Z10 S3000 M3 D1 ; Approach block for contour section 2
N230 Z-5 ; Infeed
N240 G1 G64 G42 F500 X150 Y50 ; Start point of contour
N250 Y150
N260 G2 J50 X100 Y200
N270 G1 X50
N280 Y50
Basic Functions
552 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search
N290 X150
N300 G0 G40 G60 X170 Y30 ; Deselect radius compensation
N310 Z100 D0 ; Deselect length correction
End of contour section 2
...
M30
PROC WZW
Tool change routine
N500 DEF INT TNR_AKTIV ; Variable for active T number
N510 DEF INT TNR_VORWAHL ; Variable for preselected T number
N520 TNR_AKTIV = $TC_MPP6[9998,1] ; Read T number of active tool
N530 GETSELT(TNR_VORWAHL) ; Read T number of preselected tool
;
;Execute tool change only if tool is not yet active
N540 IF TNR_AKTIV == TNR_VORWAHL GOTOF ENDE
N550 G0 G40 G60 G90 SUPA X450 Y300 Z300 D0 ; Approach tool change position
N560 M6 ; Execute tool change
;
END: M17
PROC SUCHLAUF_ENDE SAVE
ASUB for calling the tool change routine after block search
N1000 DEF INT TNR_AKTIV ; Variable for active T number
N1010 DEF INT TNR_VORWAHL ; Variable for preselected T number
N1020 DEF INT TNR_SUCHLAUF ; Variable for T number determined in
search
N1030 TNR_AKTIV = $TC_MPP6[9998,1] ; Read T number of active tool
N1040 TNR_SUCHLAUF = $P_TOOLNO ; Read T number determined by search
N1050 GETSELT(TNR_VORWAHL) ; Read T number of preselected tool
N1060 IF TNR_AKTIV ==TNR_SUCHLAUF GOTOF ASUP_ENDE
N1070 T = $TC_TP2[TNR_SUCHLAUF] ; T selection by tool name
N1080 WZW ; Call tool change routine
N1090 IF TNR_VORWAHL == TNR_SUCHLAUF GOTOF ASUP_ENDE
N1100 T = $TC_TP2[TNR_VORWAHL] ; Restore T preselection by tool name
ASUP_ENDE:
N1110 M90 ; Check-back signal to PLC
N1120 REPOSA ; ASUB end
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 553
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
SERUPRO
The "search via program test" is from now on referred to as SERUPRO. This acronym has
been derived from "SEarch RUn by PROgram test".
Function
SERUPRO can be used for a cross-channel block search.
This search permits a block search with calculation of all necessary data from the previous
history, so as to acquire all previously valid status data for a particular overall NC status. The
PLC is hereby updated to the current status.
The NC is operated in "Program test" mode during this block search so that interactions
between a channel and synchronized actions or between several channels, can take place
within an NCU.
Channels
In combination with the HMI, SERUPRO is provided for the following channels:
● For the current SERUPRO channel only (1)
● For all channels with the same workpiece name as the SERUPRO channel (2)
● For all channels with the same mode group as the SERUPRO channel (3)
● For all channels of the NCU (4)
The scope of channels for SERUPRO is selected by means of configuration file
maschine.ini, in Section [BlockSearch]:
Section [BlockSearch] Enable search function for HMI and select search configuration
SeruproEnabled=1 ;SERUPRO softkey available for HMI. Default value is (1)
SeruproConfig=1 ;Number (1) to (4) of above indicated channel grouping. Default value is (1)
All other channels started with SERUPRO are operated in "Self-Acting SERUPRO" mode.
Only the channel in which a target block has been selected can be started with a block
search in SERUPRO mode.
Supported functions
Supported NC functions during SERUPRO:
● Gear stage change
● Setpoint and actual value linkages for drives such as "master-slave" as well as "electronic
gear" and "axial master value coupling"
● Coupled motion in axis grouping
● Gantry axes
● Tangential follow-up of individual axes
Basic Functions
554 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
Activating
SERUPRO is activated via the HMI. SERUPRO is operated using the "Prog.Test Contour"
softkey.
SERUPRO uses REPOS to approach the target block.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 555
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
4. The part program command WAITM/WAITE/WAITMC will wait for the partner channels
involved.
This waiting occurs if the partner channels are:
– In SERUPRO mode
– In Program test more or are actually running
5. Selection of program test and dry run feedrate is rejected with corresponding Alarm
16935.
6. The NC stops at the beginning of the target block, deselects "Program test" internally,
and displays the Stop condition "Search target found" in its block display.
7. As required, the user can start an ASUB that is traversed really. This ASUB is referred to
below as the SERUPRO-ASUB.
8. The user presses Start:
The spindles are started. Then, the path axes start a REPOS operation that guides them
to the block starting point of the target block.
The REPOS operation is implemented by a system ASUB and can be expanded using
the "Editable ASUB" function.
SERUPRO operation
The sequence of operations in items 2. to 6. corresponds to one SERUPRO operation.
SERUPRO ASUP
An ASUB that can be called optionally when the target block is reached. It is actually
executed.
SERUPRO approach
Approach to the starting point of the target block during a block search in SERUPRO test
mode.
Basic Functions
556 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
Machine data:
MD10707 $MN_SERUPRO_TEST_MASK
allows program testing to be deactivated in the stopped state without the SERUPRO
operation being affected. The default setting allows program testing to be deactivated only in
the RESET state.
Note
After program testing has been deactivated, a REPOS operation is initiated that is subject to
the same restrictions as a SERUPRO approach operation. Any adverse effects can be
inhibited using an ASUB.
Bit 2 Reserved
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 557
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
Basic Functions
558 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
Note
If the machine manufacturer decides to start an ASUB after the SERUPRO operation as
described in item 7, the following must be observed:
Stopped status acc. to point 6.:
Machine data:
MD11602 $MN_ASUP_START_MASK
and
MD11604 $MN_ASUP_START_PRIO_LEVEL
allow the NCK to start the ASUB from stopped status automatically via the FC9 block.
Acknowledgement of FC9 only after completion of REPOS block:
The ASUB can only be signaled as complete from the FC9 block with "ASUB Done" if the
REPOS block has also been completed.
Deselection of assigned REPOS operation after Item 8:
The start of the ASUB deselects the assigned REPOS operation!
Therefore, the ASUB should be ended with REPOSA in order to retain the REPOS
operation.
Deleting an unwanted REPOS operation:
The unwanted REPOS operation is deleted by completing the ASUB with M17 or RET.
Special handling of ASUB:
As a basic rule, an ASUB that ends with REPOS and is started from stopped status receives
special treatment.
The ASUB stops automatically before the REPOS block and indicates this via:
DB21, ... DBX318.0 (ASUB is stopped)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 559
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
Note
The automatic ASUB start with MD11450 requires Starts to continue the program.
The procedure is in this respect similar to other search types.
9.7.1 REPOS
MD11470
REPOS occurs according to machine data:
MD11470 $MN_REPOS_MODE_MASK
Case A:
The REPOS operation moves all axes from the current position to the start of the target
block in a single block.
MD11470 $MN_REPOS_MODE_MASK Bit 3 = 1
Case B:
The path axes are repositioned together in one block. The SPOS and POS axes are
repositioned in the residual block.
MD11470 $MN_REPOS_MODE_MASK Bit 3 = 0
SERUPRO approach
The user can change the REPOS behavior of individual axes at specific times to reposition
certain axis types either earlier, later, or not at all. This affects SERUPRO approach in
particular. Repositioning movements of some axes can also be controlled independently of
SERUPRO approach during the REPOS operation.
Basic Functions
560 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
CAUTION
The REPOS operation moves all axes from the current position to the start of the target
block in a single block with the appropriate setting of machine data:
MD11470 $MN_REPOS_MODE_MASK Bit 3.
During this process, the NC cannot detect any possible collisions with the machine or the
workpiece!
Protection zones and software limits are monitored.
Bit 0 = 1 The dwell time is resumed at the point of interruption in the residual
repositioning block.
Bit 1 = 1 Reserved
Bit 2 = 1 Prevent repositioning of individual axes using VDI signals.
Bit 3 = 1 Reposition positioning axes in the approach block during block search via
program test (SERUPRO).
Bit 4 = 1 Positioning axes in approach block on every REPOS.
Bit 5 = 1 Modified feedrates and spindle speeds are valid immediately in the residual
block. Otherwise, not until the next block.
Bit 6 = 1 After SERUPRO, neutral axes and positioning spindles in the approach block
are repositioned as command axis.
Bit 7 = 1 The level of interface signal:
DB31, ... DBX10.0 (REPOSDELAY)
is read if REPOSA is interpreted.
Axes, which are neither geometry nor orientation axes, are then excluded by
REPOS and are not moved.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 561
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
Path axes cannot be influenced individually. For all other axes that are not geometry axes,
repositioning of individual axes can be prevent temporarily and also delayed. VDI signals can
be used to subsequently reenable or to continue blocking individual channel axes that
REPOS would like to traverse.
DANGER
Signal:
DB31, ... DBX2.2 (Delete distance-to-go, axis-specific)
produces the following dangerous behavior with ”Prevent repositioning of individual axes"
via:
MD11470 $MN_REPOS_MODE_MASK (Bit 2==1).
As long as an axis is programmed incrementally after the interruption, the NC approaches
different positions than those approached with no interruption (see example below).
Basic Functions
562 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
MD11470 $MN_REPOS_MODE_MASK
Bit 3=1 for block search via program test (SERUPRO)
Bit 4=1 for each REPOS
Note
If neither bit 3 nor bit 4 is set, "non-path axes" are repositioned in the residual block in this
phase.
Bit 5 = 1 Modified feedrates and spindle speeds are valid immediately in the residual
block and are given priority. This behavior relates to every REPOS operation.
Bit 6 = 1 Neutral axes and positioning spindles are repositioned after SERUPRO.
Neutral axes that are not allowed to be further repositioned must receive
interface signal:
DB31, ... DBX10.0 (REPOSDELAY)
This cancels the REPOS movement.
Bit 7 = 1 The level of interface signal:
DB31, ... DBX10.0 (REPOSDELAY)
is read if REPOSA is interpreted.
Axes, which are neither geometry nor orientation axes, are then excluded by
REPOS and are not moved.
Note: REPOSDELAY is changed from edge to level evaluation.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 563
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
CAUTION
Interface signal:
DB31, ... DBX10.0 (REPOSDELAY)
has no effect on machine axes that form a path.
Whether an axis is a path axis can be determined with:
DB31, ... DBX76.4 (path axis).
Case B:
No repositioning block of a currently active REPOS operation is contained in the main run.
Each future REPOS operation wishing to reapproach the current main program block is
controlled by the level of interface signal:
DB21, ... DBX31.0-31.2 (REPOSPATHMODE0 till 2)
and
DB31, ... DBX10.0 (REPOSDELAY).
Basic Functions
564 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
Note
In the running ASUB affects the NST:
DB21, ... DBX31.4 (REPOSMODEEDGE)
does not affect the final REPOS, unless this signal applies to the REPOS blocks.
In Case A, the signal is only allowed in the stopped state.
Response to RESET:
NCK has acknowledged the PLC signal
If the level of the signals:
DB21, ... DBX31.4 (REPOSMODEEDGE) = 1
and
DB21, ... DBX319.0 (REPOSMODEEDGEACKN) = 1
and
a RESET occurs in this situation, then the interface signal of the NCK:
DB21, ... DBX319.1–319.3 (Repos Path Mode Ackn0 to 2)
is deleted.
NCK has not yet acknowledged the PLC signal:
If the level of the signals:
DB21, ... DBX31. (REPOSMODEEDGE 4) = 1
and
DB21, ... DBX319.0 (REPOSMODEEDGEACKN) = 0
and a RESET occurs in this situation, the NCK cancels interface signal:
DB21, ... DBX319.0 (REPOSMODEEDGEACKN) = 0
and
DB21, ... DBX319.1–319.3 (Repos Path Mode Ackn0 to 2).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 565
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
Note
If the NCK has not yet acknowledged interface signal:
DB21, ... DBX31.4 (REPOSMODEEDGE)
with interface signal:
DB21, ... DBX319.0 (REPOSMODEEDGEACKN)
a RESET in this situation causes the program to abort, and the REPOS that is to be used to
control the REPOSPATHMODE can no longer take place.
A REPOSMODE specified by the PLC from NCK with the interface signals:
DB21, ... DBX319.1-319.3 (Repos Path Mode Ackn0 to 2)
Basic Functions
566 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
and
DB31, ... DBX10.0 (Repos Delay)
with:
DB31, ... DBX70.2 (Repos Delay Ackn)
in the following way:
A part program is stopped at N20 (→ time (2) in figure). The NCK stops according to the
braking ramp. After the PLC has specified the REPOSPATHMODE, the NCK accepts the
REPOSPATHMODE with the 0/1 edge of REPOSMODEEDGE at → Time (3). Repos Path
Mode Ackn remains set until the ASUB is initiated (→ Time (4)). The REPOS command is
started in the ASUB (→ Time (5)). The ASUB RESET block is activated again (→ Time (6)):
&RPPDQGLVVWDUWHGZLWK$683
5HSRVLWLRQIURP5(326LV
WHUPLQDWHG
7KHUHPDLQLQJEORFNVWDUWV
1
6HOHFW501
6WRSSDUWSURJUDP
6WDUWSDUWSURJUDP 7KHUHPDLQLQJEORFNLV
ILQLVKHG
5(3263$7+02'(
5(32602'(('*(
5(32602'(('*($&.1
5HSRV3DWK0RGH$FN
W
Figure 9-6 REPOS sequence in part program with timed acknowledgement signals from NCK
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 567
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
Interface signal:
DB31, ... DBX70.2 (Repos Delay Ackn) is defined in the same way.
DB31, ... DBX70.1 (Repos offset valid) = 1, if:
DB21, ... DBX319.1-319.3 (Repos Path Mode Ackn0 to 2) = 4 (RMN).
Range of validity
Interface signal:
DB31, ... DBX70.0 (REPOS offset)
is supplied at the end of the SERUPRO operation.
The REPOS offset is invalidated at the start of a SERUPRO ASUB or the automatic ASUB
start.
Basic Functions
568 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
Value 0: All axes currently controlled by this channel have either no REPOS offset or
their REPOS offsets are invalid.
Value 1: Miscellaneous.
Approach modes
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 569
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
$$FWXDOSRVLWLRQGXULQJVHDUFK
%3RVLWLRQUHDFKHGXVLQJ-2*NH\
DIWHUWKH6(58352RSHUDWLRQ
&6(58352DSSURDFKPRYHVIURP%
WR&DV&LVWKHSRLQWQH[WWR%LQ
$ WDUJHWEORFN
$SDUWSURJUDPZLWKWKHEORFNV
%
&
Basic Functions
570 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
Note
RMN is a general REPOS extension and it is not restricted to SERUPRO. For SERUPRO RMI
and RMB are identical.
With DB21, ... DBX31.0–31.2 (REPOSPATHMODE0 to 2), the path as a whole is controlled.
The path axes cannot be changed individually.
The behavior of the other axis types can be changed individually using interface signal
DB31, ... DBX10.0 (REPOSDELAY). This REPOS offset is not applied immediately, but only
when it is next programmed.
For further information on the programming of repositioning point, please refer to
References:
/PGA/ Job Planning Programming Manual; "Path Behavior" repositioning on Contour
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 571
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
CAUTION
The NC as a discrete system generates a sequence of interpolation points.
It is possible that a synchronized action that was triggered in normal operation will no
longer be triggered in SERUPRO.
Basic Functions
572 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
Tool management
If tool management is active, the following setting is recommended:
Set MD18080 $MA_TOOL_MANAGEMENT_MASK BIT 20 = 0.
The tool management command generated during the SERUPRO operation is thus not
output to the PLC!
The tool management command has the following effect:
● The NC acknowledges the commands automatically.
● No magazine data are changed.
● Tool data are not changed.
Exception:
The tool enabled during the test mode can assume 'active' status. As a result, the spindle
may contain the incorrect tool after the SERUPRO operation.
Remedy:
The user starts a SERUPRO ASUB that is actually traversed. Prior to the start, the user
can start an ASUB that loads the correct tool.
SERUPRO operation: Functionality: In sequence steps 2. to 6.
SERUPRO ASUB: Functionality: The sequence of point 7.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 573
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
Example
Tool change subroutine
ASUB for calling the tool change routine after block search type 5
PROC ASUPWZV2
N1000 DEF INT TNR_SPINDEL ; Variable for active T number
N1010 DEF INT TNR_VORWAHL ; Variable for preselected T number
N1020 DEF INT TNR_SUCHLAUF ; Variable for T number determined in
block search
N1030 TNR_SPINDEL = $TC_MPP6[9998,1] ; Read tool T number on the spindle
N1040 TNR_SUCHLAUF = $P_TOOLNO ; read T number determined by search
run, i.e. that tool determines the
current tool offset.
N1050 GETSELT(TNR_VORWAHL) ; Read T number of preselected tool
N1060 IF TNR_SPINDEL ==TNR_SUCHLAUF GOTOF ;
ASUP_ENDE1
Basic Functions
574 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
In both of the programs PROC L6 and PROC ASUPWZV2, the tool change is programmed
with M206 instead of M6.
ASUB program "ASUPWZV2" uses different system variables to detect the progress of the
program ($P_TOOLNO) and represent the current status of the machine
($TC_MPP6[9998,1] ).
Spindle ramp-up
When the SERUPRO ASUB is started, the spindle is not accelerated to the speed specified
in the program because the SERUPRO ASUB is intended to move the new tool into the
correct position at the workpiece after the tool change.
A spindle ramp-up is performed with SERUPRO ASUB as follows:
● SERUPRO operation has finished completely.
● The user starts the SERUPRO ASUB via function block FC 9
in order to ramp up the spindle.
● The start after M0 in the ASUB does not change the spindle status.
● SERUPRO ASUB automatically stops before the REPOS part program block.
● The user presses START.
● The spindle accelerates to the target block state if the spindle was not programmed
differently in the ASUB.
Note
Modifications for REPOS of spindles:
The transitions of speed control mode and positioning mode must be taken into
consideration in the event of modifications in SERUPRO approach and spindle
functionality.
For further information about operating mode switchover of spindles, see
References: /FB1/ Function Manual, Basic Functions; Spindles (S1), 2.1 Spindle Modes.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 575
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
Self-acting SERUPRO
The channel-specific function "Self-acting SERUPRO" allows a SERUPRO sequence without
having to previously define a search target in a program of the associated SERUPRO
channels.
In addition, a special channel, the "serurpoMasterChan", can be defined for each "Self-acting
SERUPRO". A search target can be defined in this channel.
The "Self-acting SERUPRO" function supports the SERUPRO cross-channel block search.
Function
The "Self-Acting SERUPRO" operation cannot be used to find a search target. If the search
target is not reached, no channel is stopped. In certain situations, however, the channel is
nevertheless stopped temporarily. In this case, the channel will wait for another channel.
Examples are: Wait marks, couplings, or axis replacement.
Basic Functions
576 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
Activation
"Self-acting SERUPRO" is activated via the HMI as a block search start for the Type 5 block
search for target channel "seruproMasterChan".
No search target is specified for dependent channels started from the target channel.
9.7.5 Inhibit specific part of the program in the part program for SERUPRO
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 577
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
IPTRLOCK
Freezes the interrupt pointer at the next "machine function block". This block is referred to
below as the Hold block. If a program abort occurs after IPTRLOCK, then the hold block is
used as a search pointer.
Machine function block
Is a single block (SBL1) that can be executed in the main run with a stop after each function
block.
IPTRUNLOCK
The interrupt pointer is repositioned at the current block at the time of the interrupt for the
subsequent program section.
Note
When a search target is found, the interrupt pointer is set to the hold block. The block search
can be repeated for a new search target with the same hold block.
A search-suppressed area in the part program can be detected using the $P_IPRTLOCK
variable.
Nesting rules
The following features regulate the interaction between NC commands IPTRLOCK and
IPTRUNLOCK with nesting and end of subroutine:
1. IPTRLOCK is activated implicitly at the end of the subroutine in which IPTRUNLOCK is
called.
2. IPTRLOCK in an untraceable section has no effect.
3. If subprogram1 calls subprogram2 in a search-suppressed area, subprogram2 remains
search-suppressed. IPTRUNLOCK in particular has no effect in subroutine 2.
Basic Functions
578 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 579
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
Basic Functions
580 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
N100 G0 X100 ;
N200 EGON(Y, "NOC", X, 1, ; search-suppressed program section starts
1)
N300 LEADON(A, B, 1) ;
... ;
N400 EGOFS(Y) ;
... ;
N500 LEADOF(A, B) ; search-suppressed program section ends
N600 G0 X200 ;
A program abort within search-suppressed program section (N200 - N500) always provides
the interrupt pointer with N100.
CAUTION
Using an overlap of the "programmable interrupt pointer" and
"automatic interrupt pointer" via machine data, the NC selects the largest possible search-
suppressed area.
A program may need a coupling for almost all of the runtime. In this case, the automatic
interrupt pointer would always point to the start of the program and the SERUPRO function
would in fact be useless.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 581
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
STOPRE block
The STOPRE block receives all modal settings from the preceding block and can, therefore,
apply conditions in advance in relation to the following actions:
● Synchronize program line currently processing with the main run.
● Derive modal settings for SERUPRO in order, for example, to influence this REPOS
motion on approach of SERUPRO.
Example 1
Position a Z axis by specifying an X axis setpoint.
When block "G1 F100 Z=$AA_IM[X]" is interpreted, the preceding STOPRE block ensures
synchronization with the main run. The correct setpoint of the X axis is thus read via $AA_IM
to move the Z axis to the same position.
Example 2
Read and correctly calculate external zero offset.
Via an implicit STOPRE before N50, the NCK can read and correctly and correctly compute
the current zero offset.
For a SERUPRO operation on the search target N50 repositioning occurs in the SERUPRO
approach to the implicit STOPRE and the speed is determined from N40 with F5000.
Basic Functions
582 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
SPOS
If a spindle is programmed with M3/M4 and the target block contains an SPOS command,
the spindle is switched over to SPOS on completion of the SERUPRO process (search
target located). This is indicated on the VDI interface.
SERUPRO is inactive during POWER ON. The mode change is permitted during
SERUPRO. RESET will cancel SERUPRO and deselects the internally selected program
test. SERUPRO cannot be combined with other block search types.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 583
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
FXS
The functionality of FOC is repeated automatically with REPOS and designated FXS-
REPOS below. Every axis is taken into account and the torque last programmed before the
search target is applied.
Furthermore, the meaning of system variable $AA_FXS is redefined for SERUPRO as
follows:
● $AA_FXS displays the current status of program simulation.
● $VA_FXS always describes the real machine status.
The two system variables $AA_FXS and $VA_FXS have the same values continuously
outside the SERUPRO function.
The user can treat FXS and FOC as special commands in a SERUPRO ASUB.
Basic Functions
584 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
Boundary condition
A continuously changing torque characteristic cannot be implemented with FOC-REPOS.
Example
A program moves axis X from 0 to 100 and activates FOC every 20 increments for 10
increments at a time. This torque characteristic is usually generated with non-modal FOC
and cannot, therefore, be traced by FOC-REPOS. FOC-REPOS will traverse axis X from 0 to
100, with or without FOC, according to the last programming.
Note
For further information about the SERUPRO block search in relation to FXS or
FOC, see
References: /FB1/ Function Manual Basic Functions; Traversing to Fixed Stop (F1), General
Functions
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 585
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
CAUTION
In order to be able to simulate couplings correctly, the couplings must have been
switched off previously.
This can occur with machine data MD10708 $MA_SERUPRO_MASK.
LEADON
The following specifications apply for the simulation of axial master value couplings:
1. Simulation always takes place with setpoint coupling.
2. SERUPRO approach takes place with active coupling and an overlaid motion of the
following axis in order to reach the simulated target point.
The following axis that is moved solely by the coupling cannot always reach the target point.
In SERUPRO approach, an overlaid linear motion is calculated for the following axis to
approach the simulated point!
Basic Functions
586 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
Note
For further information about the repositioning of soupled axes, see
"Continue machining after SERUPRO search target found".
Master-slave
During the block search, only the link status should be updated without calculating the
associated positions of the coupled axis.
A system ASUB can be started automatically after the block search is finished. In this
subroutine, the user can control the link status and the associated axis positions
subsequently. The information needed can be read from additional block search system
variables.
System variable for master/slave
The following system variables are needed for the position offset between the axes to be
coupled with the desired link status:
Note
This block search for the master/slave link is effective only if the position offset between the
axes can be determined.
In order to determine the programmed positions, the axes to be linked must be in the same
channel at the time of the block search. If this is not the case, the block search is aborted
with alarm 15395.
Variables $P_SEARCH_MASLD, $P_SEARCH_MASLC and $AA_MASL_STAT are cleared
on MASLON.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 587
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
The system ASUB is called progevent.spf and must be available in the /_N_CMA_DIR
directory. The contents might be as follows:
progevent.spf
X=Master axis, Y=Slave axis
Programming
N10 IF(($S_SEARCH_MASLC[Y]< >0) AND ($AA_MASL_STAT[Y]< >0))
N20 MASLOF(Y)
N30 SUPA Y=$AA_IM[X]-$P_SEARCH_MASLD[Y]
N40 MASLON(Y)
N50 ENDIF
N60 REPOSA
To ensure that the ASUB can be automatically started, the following machine data must be
set:
MD11602 $MN_ASUB_START_MASK = 'H03'
MD11604 $MN_ASUP_START_PRIO_LEVEL = 100
MD11450 $MN_SEARCH_RUN_MODE = 'H02'
Coupled axes
The following coupled axes links are compatible with the SERUPRO operation:
● Coupled motion TRAILON and TRAILOF
● Gantry axes
● Tangential control
● The activatable and deactivatable "master/slave" link as long as activation and
deactivation is not selective
Note
In case of the leading axis, whose following axes are in another channel, with:
MD22601 $MC_SERUPRO_SPEED_FACTOR = positive
the measure for acceleration of the processing speed does not work.
Coupled motion
The motion-synchronous action for coupled motion of an axis grouping with TRAILON,
TRAILOF is supported by SERUPRO.
For further information about coupled motion with TRAILON, TRAILOF please refer to
References:
/FB3/ Function Manual, Special Functions; M3, "Axis Couplings and ESR"
/PGA/ Job Planning Programming Manual; "Path Behavior" and "Motion-Synchronous
Actions"
Basic Functions
588 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
Gantry axes
Mechanically linked machine axes can be moved without a mechanical offset using the
gantry axis function. This operation is simulated correctly with SERUPRO.
For further information about the functionality of gantry axes, refer to
References:
/FB3/ Function Manual Special Functions; G1, "Gantry Axes"
Tangential control
Tangential follow-up of individual axes is supported by SERUPRO.
For further information about tangential control, see:
References:
/FB3/ Function Manual Special Functions; T3, "Tangential Control"
If "overlaid movements" are used, only the block search via program test (SERUPRO) can
be used, since the overlaid movements are interpolated accordingly in the main run. This
applies in particular to $AA_OFF.
SERUPRO conditions
The special conditions for SERUPRO must be observed with axis enable, autonomous axis
operations, and axis replacement.
Axis enable
The axial IS DB31, ... DBX3.7 ("Program test axis/spindle enable") controls the axis enables
if no closed-loop controller enable is to (or can) be issued at the machine and is active only
during the program test or when SERUPRO is active.
It is possible, via the interface signal PLC → NCK
DB31, ... DBX3.7 (program test axis/spindle enable) to do this enabling. If the real servo
enable is missing during program testing or SERUPRO, the effect on the axes/spindles is as
follows:
● As soon as the simulated program run intends to move an axis/spindle, the message
"Waiting for axis enable" or "Waiting for spindle enable" is displayed and the simulation is
stopped.
● If, during a simulated movement, the VDI signal DB31, ... DBX3.7 (program test
axis/spindle enable) is canceled again, the alarm 21612: "Channel %1 axis %2 VDI signal
’servo enable’ reset during motion” is activated.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 589
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
FC18. The PLC takes over control of the axis before the approach block and is responsible
for positioning this axis. This is valid for all block search types.
For further information about autonomous single-axis operations, see:
References:
/FB2/ Function Manual Extended functions; P2, "Positioning axes"
Axis replacement
Problem: A program moves an axis and gives up control before the target block with
WAITP(X). X is thus not subject to REPOS and the axis is not taken into account in
SERUPRO approach.
Via the machine data MD11470 $MN_REPOS_MODE_MASK, the following behavior can be
achieved for SERUPRO-REPOS:
The neutral axes are moved as "command axes" in the SERUPRO-REPOS. The axis
interpolates without a path context even it was last programmed as a path axis. In this
scenario, the velocity results from MD32060 $MA_POS_AX_VELO. After SERUPRO
approach, this axis is again neutral.
Neutral axes that are however not allowed to be repositioned must receive the axial VDI
signal “REPOSDELAY”. This deletes the REPOS movement.
Example:
After SERUPRO, one axis is deliberately moved in the synchronized action via technology
cycles. The command axes are always moved in the approach block, never in the target
block. The target block can only be changed if all command axes have been moved to the
end.
CAUTION
The PLC-controlled axis is not repositioned!
Axes enabled by RELEASE(X) before the target block are not repositioned.
Basic Functions
590 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
Operational sequences
The gear stage change (GSW) requires physical movements from the NCK in order to shift
into a new gear.
In the SERUPRO operation, no gear stage change is required and is carried out as follows:
Some gears can only be changed when controlled by the NC, since either the axis must
oscillate or a certain position must be approached beforehand.
The gear stage change can be suppressed selectively for DryRun, program test, and
SERUPRO using bits 0 to 2 in MD35035 $MA_SPIND_FUNCTION_MASK.
The gear stage change must then be performed in REPOS; this will work even if the axis
involved is to be in "speed control mode" at the target block. In other cases, the automatic
gear stage change is denied with an alarm if, for example, the axis was involved in a
transformation or coupling between the gear stage change and the target block.
Note
For further information about gear stage changes in DryRun, Program test and SERUPRO,
see
References: /FB1/ Function Manual Basic Functions; Spindle Programming (S1)
Only SERUPRO
If "overlaid movements" are used, only the block search via program test (SERUPRO) can
be used, since the overlaid movements are interpolated accordingly in the main run. This
applies in particular to $AA_OFF.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 591
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
Basic Functions
592 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
Example
The synchronous spindle coupling at the beginning of the SERUPRO operation is retained
for the part program start.
SERUPRO detection
The SERUPRO sequence can be detected using the following system variables:
$P_ISTEST is TRUE (valid also for program test)
$P_SEARCH is set to 5 (search in extended program test)
$AC_ASUP Bit 20 in system ASUB is set after the search target
is found (SERUPRO operation step 8.)
$P_ISTEST AND (5 == $P_SEARCHL) reliably detects SERUPRO.
$AC_SEARCH is not supplied by the SERUPRO operation.
Note
$P_SEARCHL is set at the beginning of the SERUPRO operation and
reset on RESET. As a result, $P_SEARCHL continues to be set in the SERUPRO ASUB and
in the residual part program and can continue to be evaluated.
In contrast, the $P_ISTEST variable is set only in the SERUPRO operation and is thus
suitable for search-specific adaptation of programs.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 593
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
Synchronized action
SERUPRO can be scanned in a synchronized action using system variable
$AC_SERUPRO = TRUE.
SERUPRO Updated REPOS acknowledgements can be scanned via:
Note
During interpretation of system variables $P_ISTEST and $AC_SERUPRO, a check is made
to determine whether the SERUPRO target block has already been found.
If so, an implicit preprocessing stop is inserted before the two system variables are
evaluated.
As a result, interpretation is halted and not continued again until SERUPRO is deactivated in
the main run as well. The decision as to whether SERUPRO must be active or inactive is
then made correctly.
Basic Functions
594 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Block search Type 5 SERUPRO
9.7.10 Restrictions
Conditional use
SERUPRO supports the following NC functions subject to certain restrictions:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 595
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Definition
The execution of part programs or part program blocks in AUTOMATIC or MDA modes is
referred to as program operation.
Channel control
Every channel can be manipulated by means of interface signals from the PLC. The control
is exercised via mode group-specific or channel-specific interface signals. An overview of
these signals is given under data lists in this Function Manual.
Status messages
Each channel reports its current program operation status to the PLC with interface signals.
These signals are, in turn, divided up into mode group-specific and channel-specific signals.
Machine data
Defined conditions can be set via machine data for the program operation or certain
implementations of the NC language scope.
MD settings
Initial settings
Initial settings can be programmed in channel-specific machine data for each channel.
These initial settings affect, for example, G groups and auxiliary function output.
Basic Functions
596 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
G groups
An initial programming setting can be specified for each of the available G groups using
MD20150 $MC_GCODE_RESET_VALUES (reset state of G groups). This initial setting is
automatically active during program start or in Reset until it is deselected by a G command
from the same G group.
Via the MD22510 $MC_GCODE_GROUPS_TO_PLC (G codes, which are output to interface
NCK-PLC after block change/RESET), the output of the G codes to the PLC interface can be
activated.
A list of G groups with the associated G functions is available in:
References:
/PG/ Programming Manual Fundamentals
NC language scope
The way that non-active options and functions should be moved with NC language
commands can be set via the machine data MD10711
$MN_NC_LANGUAGE_CONFIGURATION:
0: All available language commands can be programmed. Whether or not the needed
function is activated can only be recognized upon execution. This corresponds to the default
setting for previous controls such as SINUMERIK 840D and 840Di.
If only certain options are enabled and not all operations are available:
1: All the language commands are known. Language commands for non-enabled options are
already recognized at the beginning of the program interpretation and lead to the alarm
12553 "option/function is not active."
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 597
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
2: Only those language commands are known, which correspond to the current scope of
enabled options of the NCK software. All commands for non-enabled options are not
recognized and trigger the alarm 12550 "Name not defined or option/function not available".
Note
Option-free functions also have the status "enable option"
Check sample application for NC language scope on cylinder jacket transformation TRACYL
The cylinder jacket transformation is optional and must be enabled beforehand. In order to
check this, the following initial conditions are assumed:
The cylinder coat transformation option is not enabled and the machine data
$MN_NC_LANGUAGE_CONFIGURATION = 2; NC language command TRACYL is unknown
The following program is started
Basic Functions
598 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
MD10711 = 0 1 2 3 4
Option Function Return value as the basic information (1st digit from the left)
0 0 2 1 0 1 0
1 0 2 2 2 1 0
1 1 2 2 2 2 2
0 1 2 1 0 1 0
Definition for option/function:
0 corresponds to option not activated or function deactivated
1 corresponds to option/activated or function activated
For more detailed information on the value ranges of 2xx programmable functions, see
References:
/PGA/ Job Planning Programming Manual; Other Functions, "STRINGIS"
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 599
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Reset status
Channel status
A part program can be selected only if the relevant channel is in the Reset state.
Signals, Alarms
Basic Functions
600 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Execution of command
The part program or the part program block is automatically executed and the the following
interface signals are set:
DB21, ... DBX35.5 (channel status reset)
DB21, ... DBX35.0 (program status running)
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.
Alarms
Under certain conditions the START command will have no effect and one of the following
alarms will be triggered:
● 10200 "No NC Start permitted with active alarm"
● 10202 "No NC Start permitted with active command" (see /DA/)
● 10203 "No NC Start permitted for non-referenced axes"
"Interrupted" status
Channel status
The STOP command is executed only if the channel concerned has the status
IS DB21, ... D35.5 ("Channel active").
STOP commands
There are various commands that stop the program execution and set the channel status to
"interrupted". These are in particular the interface signals:
● DB21, ... DBX7.2 ("NC stop at the block limit)
● DB21, ... DBX7.3 ("NC stop")
● DB21, ... DBX7.4 ("NC stop, axes plus spindles")
● DB21, ... DBX2.0 ("Single block")
● Programming command "M00" or "M01".
For a further explanation of the individual interface signals, please see
References: /FB1/ Function Manual Basic Functions; NC/PLC interface signals (Z1), for
explanations of the individual part program instructions, see:
References: /PG/ Programming Manual Fundamentals; see "List of Instructions"
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 601
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Execution of command
After execution of the STOP command, the IS DB21, ... DBX35.3 ("Program status
interrupted") is set. Processing of the interrupted program can continue from the point of
interruption with the command START.
The following actions are executed when the STOP command is triggered:
● Part program execution is stopped at the next block limit (with NC stop at block limit,
M00/M01 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 of each channel are brought to a standstill along a braking ramp and part
program execution is then stopped.
● The block indicator stops at the point of interruption.
Basic Functions
602 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Command priority
Channel status
The RESET command can be executed in every channel state. This command is aborted by
another command.
Commands
RESET-Command
The following Reset commands are available:
● DB11, ... DBX0.7 ("mode group reset")
● DB21, ... DBX7.7 ("Reset")
For a further explanation of the individual interface signals, please see
References: /FB1/ Function Manual Basic Functions; NC/PLC interface signals (Z1)
A RESET command can be used to interrupt an active part program or a part program block
(in MDA).
After execution of the Reset command, the interface signal DB21, ... DBX35.7 ("Channel
status Reset") is set.
The part program cannot be continued at the point of interruption. All the axes of the channel
go into exact stop unless they are in follow-up mode. The same applies to the spindles
configured in the channel.
The following actions are executed when the RESET command is triggered:
● Part program preparation is stopped immediately.
● Axes and, if they exist, spindles in the channel are decelerated along a braking ramp.
● 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 Reset alarms (channel-specific, axis-specific, spindle-specific) are cleared from the
display.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 603
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Interface information
The status of the selected program is displayed in the interface for each channel.
The PLC can then trigger certain responses and interlocks configured by the manufacturer
depending on the status.
The program status is only displayed in the AUTOMATIC and MDA modes. In all other
modes the program status is aborted or interrupted.
Program statuses
The following program statuses are available at the interface:
● DB21, ... DBX35.4 ("Program status aborted")
● DB21, ... DBX35.3 ("program status interrupted")
● DB21, ... DBX35.2 ("Program status stopped")
● DB21, ... DBX35.1 ("Program status wait")
● DB21, ... DBX35.0 ("Program status running")
For a further explanation of the individual interface signals, please see
References: /FB1/ Function Manual Basic Functions; NC/PLC interface signals (Z1)
Basic Functions
604 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Interface representation
The current channel status is displayed in the interface. 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.
Channel statuses
The following channel statuses are available at the interface:
● DB21, ... DBX35.7 ("channel status reset")
● DB21, ... DBX35.6 ("channel status interrupted")
● DB21, ... DBX35.5 ("channel status reset")
For a further explanation of the individual signals see Chapter 5.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 605
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Status transitions
The following table shows the channel and program statuses that result after certain operator
and program actions.
The left-hand side of the table shows the channel and program statuses 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.
Situation Channel Program status Active mode Operator or program action (Situation after the action)
status
R U A N U S W A A M J
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)
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)
18 x x x Reset (4); wait for other channel (18)
Basic Functions
606 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Start handling
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 607
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Signal sequences
1&67$57 IURP3/&+0,&20;XVHUODQJXDJH
1&6723 IURP3/&+0,&20;XVHUODQJXDJH
,61&67$57',6$%/( '%'%;
,65HDGLQGLVDEOH '%'%;
,6$[LVFRQWUROOHUHQDEOH '%'%;
,6)HHG6723 '%'%;
,66SLQGOHFRQWUROOHUHQDEOH '%'%;
,66SLQGOH6723 '%'%;
,63URJUDPVWDWXVUXQQLQJ '%'%;
,63URJUDPVWDWXVLQWHUUXSWHG '%'%;
,63URJUDPVWDWXVVWRSSHG IURP1&.
'%'%;
,63URJUDPVWDWXVDERUWHG IURP1&.
'%'%;
,66SLQGOHLQVHWSRLQWUDQJH IURP1&.
'%'%;
3URJUDP
/LQNYLD3/&XVHUSURJUDP 1**;
$X[)0IURP3/&XVHUSURJUDPFRPSOHWHG 06)
LHEORFN1FRPSOHWHG $X[)RXWSXWGXULQJWUDYHUVH 0,I10,I
3URJUDPVWRSSHGZLWKUHDGLQGLVDEOH 6SLQGOHUDPSXS $[LVUXQQLQJ
3URJUDPDERUWHGZLWK5(6(7
Basic Functions
608 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Function
With the function "Jump back to start of the program" the control jumps back from a part
program to the beginning of the program. The program is then processed again.
As compared to the function "Program jumps to jump marks", with which a repeated
processing of the program can also be implemented, the function "Jump back to the start of
the program" offers the following advantages:
● The programming of a jump mark at the start of the program is not necessary.
● The program restart can be controlled through the NC/PLC interface signal:
DB21, ... DBX384.0 (control program branching)
● The timer for the program runtime can be reset to "0" at the restart of the program.
● The timer for workpiece counting can be incremented by "1" at program restart.
Application
The function is used, if the processing of subsequent workpieces is to be done through an
automatic program restart e.g. in case of turning machine with bar loader/-changer.
Activation
The jump back takes place only when the following NC/PLC interface signal is set:
DB21, ... DBX384.0 (control program branching) = 1
If the signal is at "0", then no jump back is exected and the program processing is continued
with the next part program block after the function call.
Parameter assignment
Program runtime
The runtime of the selected NC program is stored in the system variable $AC_CYCLE_TIME.
When starting a new program, the system variable is automatically reset to "0"(see Chapter
" Program runtime (Page 712)")
Via the following machine data it can be set that the system variable $AC_CYCLE_TIME is
reset to "0" even in case of a program restart through the function "jump back to start of
program":
MD27860 $MC_PROCESSTIMER_MODE (Activation of the program runtime measurement)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 609
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Note
In order that the setting of bit 8 can become effective, the measurement of the current
program runtime must be active (MD27860 bit 1 = 1).
Workpiece count
After the part program end (M02/M30) has been attained, the activated workpiece counters
($AC_TOTAL_PARTS/$AC_ACTUAL_PARTS/$AC_SPECIAL_PARTS) are incremented by
"1" (see Chapter " Workpiece Counter (Page 718)").
Via the following machine data it can be set that the activated workpiece counter is
incremented even in case of a program restart through the function "jump back to start of
program":
MD27880 $MC_PART_COUNTER (activation of workpiece counters)
Programming
The function is called in the main or the part program via the command GOTOS.
Syntax: GOTOS
Parameters: none
Note
GOTOS internally initiates a STOPRE (pre-processing stop).
Basic Functions
610 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Example
Programming Comment
N10 ... ; Beginning of the program
...
N90 GOTOS ; Jump to beginning of the program
...
9.8.11.1 Overview
Function
The program section repetition allows the repetition of any labeled section of a part program.
For more information on labels, please see:
References:
/PG/ Programming Manual Fundamentals; Program Jumps and Program Repetitions
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 611
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Functionality
Via REPEATB (B=Block) in part program block N150, the part program processing branches
to the part program block N120 that is labeled START_1. This is repeated x number of times.
If P is not specified, the program section is repeated exactly once. After the last repetition,
the part program is continued with the part program block N160 following the
REPEATBinstruction.
:
N100 ...
N120 START_1: ... ; Label: START_1
N130 ...
N140 ...
N150 REPEATB START_1 P=n ; Repetition after: START_1
N160 ...
:
Note
Label search direction
The part program block identified by the label can appear before or after the REPEATB
statement. The search initially commences toward the start of the program. If the label is not
found, a search is made in the direction of the program end.
Programming
Basic Functions
612 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Functionality
Via REPEAT in part program block N150, the part program processing branches to the part
program block N120 that is labeled START_1. This part program block and all of the
following part program blocks (N130 and N140) are repeated x number of times up to the
part program block that contains the REPEATinstruction (N150). If P is not specified, the part
program section (N120 - N140) is repeated exactly once. After the last repetition, the part
program is continued with the part program block N160 following the REPEATinstruction.
:
N100 ...
N120 START_1: ... ; Start label: START_1
N130 ...
N140 ...
N150 REPEAT START_1 P=n ; Repetition after: START_1
N160 ...
:
Note
Label search direction
The part program block marked with the Start label must come before the
REPEATinstruction.
Programming
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 613
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
9.8.11.4 A part program section between a start label and end label
Functionality
Via REPEAT in part program block N160, the part program processing branches to the part
program block N120 that is labeled START_1 with a start label. This part program block and
all the part program blocks up to and including the part program block marked with the end
label END_1 (N140) are repeated x number of times. If P is not specified, the part program
section (N120 - N140) is repeated exactly once. After the last repetition, the part program is
continued with the part program block N170 following the REPEATinstruction.
:
N100 ...
N120 START_1: ... ; Start label: START__1
N130 ...
N140 END_1 ... ; End label: END_1
N150 ...
N160 REPEAT START_1 END_1 P=n ; Repetition: START_1 until END_1
N170 ...
:
Note
Label search direction
The program section marked with the Start and End labels can come before or after the
REPEATinstruction. The search initially commences toward the start of the program. If the
Start label is not found, a search is made in the direction of the program end.
If the REPEAT instruction is between the Start and End label, only the part program section
from the Start label to the REPEAT instruction is repeated.
REPEAT instruction repeated.
Programming
Basic Functions
614 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
9.8.11.5 A part program section between a Start label and the key word: ENDLABEL
Functionality
Via REPEAT in part program block N150, the part program processing branches to the part
program block N120 that is labeled START_1 with a start label. This part program block and
all the part program blocks up to and including the part program block marked with the key
word ENDLABEL (N140) are repeated x number of times. If P is not specified, the part
program section (N120 - N140) is repeated exactly once. After the last repetition, the part
program is continued with the part program block N170 following the REPEATinstruction.
:
N100 ...
N120 START_1: ... ; Start label: START__1
N130 ...
N140 ENDLABEL: ... ; End label: Keyword ENDLABEL
N150 ...
N160 REPEAT START_1 END_1 P=n ; Repetition: START_1 until END_1
N170 ...
:
Note
Label search direction
The program section marked with the Start and End labels can come before or after the
REPEATinstruction. The search initially commences toward the start of the program. If the
Start label is not found, a search is made in the direction of the program end.
If no keyword ENDLABEL is located between the Start label and the REPEAT instruction, the
part program section from the Start label to the REPEAT instruction is repeated.
Programming
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 615
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
9.8.12.1 Function
Events
Triggering events can be:
● Part program start
● Part program end
● Operator panel reset
● Power-up of the NC control
The triggering events are selected with the machine data MD20108
$MC_PROG_EVENT_MASK (see chapter "Parameterization").
User program
In the default setting the program _N_PROG_EVENT_SPF is activated after the triggering
event occurs. If a different application program is to be activated, then it must be entered in
the machine date MD11620 $MN_PROG_EVENT_NAME (see chapter "Parameterization").
The application program activated by the event is basically processed in the channel, in
which the respective event occurred.
The application program is executed with the lowest priority and so can be interrupted by the
user ASUB.
Basic Functions
616 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Processing sequence
Sequence during activation through part program start
Initial state:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 617
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Basic Functions
618 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Signal chart
The following diagrams show the signal chart of the NC/PLC interface signals DB21, ...
DBB35 ("Program status" and "Channel status") in case of event-driven program call:
'%'%;
3URJUDPVWDWXVUXQQLQJ
'%'%;
3URJUDPVWDWXVVWRSSHG
'%'%;
3URJUDPVWDWXVDERUWHG
'%'%;
FKDQQHOVWDWXVDFWLYH
'%'%;
FKDQQHOVWDWXVLQWHUUXSWHG
'%'%;
&KDQQHOVWDWXVUHVHW
Figure 9-9 Signal chart in case of activation through part program start and part program end
'%'%;
3URJUDPVWDWXVUXQQLQJ
'%'%;
3URJUDPVWDWXVVWRSSHG
'%'%;
3URJUDPVWDWXVDERUWHG
'%'%;
FKDQQHOVWDWXVDFWLYH
'%'%;
FKDQQHOVWDWXVLQWHUUXSWHG
'%'%;
&KDQQHOVWDWXVUHVHW
Figure 9-10 Signal chart during activation through operator panel reset
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 619
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Note
DB21, ... DBX35.4 ("Program status aborted") and DB21, ... DBX35.7 ("Channel status
reset") are only received if event-driven use program is complete. Between program end and
the start of the event-driven application program these states are not imported. This is also
the case between an operator panel reset and the start of the application program.
Display
The information about the triggering event is provided to the PLC via the NC/PLC interface
byte DB21, ... DBB376.
Basic Functions
620 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Triggering event
Which events the application program should activate, is set channel-specific in the machine
data:
MD20108 $MC_PROG_EVENT_MASK (event-controlled program call)
Note
MD20108 $MC_PROG_EVENT_MASK is ignored during the simulation.
User program
In the default setting after an event set with MD20108 occurs, the program
_N_PROG_EVENT_SPF is activated from the directory _N_CMA_DIR.
If another program is to be activated, then the name of this user program must be entered in
the following machine data:
MD11620 $MN_PROG_EVENT_NAME
The specified program must be present in one of the cycle directories.
The following search path is run when an event set with MD20108 occurs.
1. /_N_CUS_DIR/ for user cycles
2. /_N_CMA_DIR/ for manufacturer cycles
3. /_N_CUS_DIR/ for standard cycles
The first found program with the given name is called.
Note
The specified name is checked syntactically as in case of a subroutine identifier i.e. the first
two characters must be alphabets or underscores (no digits). Prefix (_N_) and suffix (_SPF)
of the program names are added automatically, if not specified.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 621
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Note
The same protection mechanisms that can be activated for cycles (protection levels for
writing, reading etc.) are activated.
Basic Functions
622 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
If the single block processing is suppressed, then the event-driven user program is
processed without interruption.
Note
MD20106 $MC_PROG_EVENT_IGN_SINGLEBLOCK affects all single block processing
types.
Note
The single block processing in the event-driven user program can be switched-off through
the following configuration:
MD10702 $MN_IGNORE_SINGLEBLOCK_MASK (Prevent single block stop) bit 0 = 1
The differentiated settings in MD20106 $MC_PROG_EVENT_IGN_SINGLEBLOCK are then
ineffective.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 623
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Note
For bit 0 = 1 (user program is activated after part program start) the following constraint is
applicable:
If the user program is ended with the part program command RET, then RET always leads to
an executable block (similar to M17).
In case of bit 0 = 0, RET interpretation is done in the interpreter and leads to an executable
block.
Note
The system variables $AC_STAT and $AC_PROG are not affected by this function, i.e. in
the running event-driven user program $AC_STAT is set to "active" and $AC_PROG to
"running".
NC/PLC interface signals DB21, ... DBX35.0-7 ("Program status ..." and "Channel status ...")
also remain unaffected.
Basic Functions
624 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Note
A programming of DELAYFSTON/ DELAYFSTOF in the event-driven user program cannot be
provided with the behavior set with MD20193, because the NC Stop can cause an
interruption before the execution of the first command DELAYFSTON.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 625
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
9.8.12.3 Programming
User program
End of program
The following must be kept in mind, if the user program is to be activated through the part
program start.
● The user program must be ended with M17 or RET.
● A jump back by means of REPOS command is not permitted and leads to an alarm.
Block display
The display can be suppressed in the current block display using the DISPLOF attribute in
the PROC statement.
Processing status
Via the user M function the PLC can be informed about the processing status of the event-
driven user program.
Value Description
1 Activation through part program start
2 Activation through part program end
3 Activation through Operator panel reset
4 Activation through Power up
5 Activation after output of the last action block after Block search (see "Automatic Start of an
ASUB after block search (Page 546)")
Note
Power up is an event that takes place in all channels.
Basic Functions
626 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Note
The power up event occurs in all channels at the same time.
9.8.12.5 Examples
Programming:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 627
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
RET
Programming:
Meaning:
The part program _N_PROG_EVENT_SPF from the directory _N_CMA_DIR should be
started automatically with the RESET key and processed till the end, regardless of whether
the read-in disable is activated or deactivated.
Basic Functions
628 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Stop events
Overview of the NCK events that cause a stop:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 629
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Basic Functions
630 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program operation mode
Note
MD11411 $MN_ENABLE_ALARM_MASK (activation of warnings) Bit 7 activates this
alarm.
Stop criteria
A stop event can be triggered by the following
Note
Some NCK events are stopped for a short time, in order to perform a switching operation,
and restart immediately. These include e.g. the ASUB that stops the contour briefly in order
to then start the ASUB program immediately. These events are also allowed in the stop
delay area, however they are pushed back to its end and are thus considered "soft stop
events".
Conditions
The following conditions apply while a stop delay area is being processed:
● A change in the feed is ignored while in the stop delay area. A feed disable is thus not
effective until the program area has been exited, and is stopped.
● None of the main run axes, such as command axes and positioning axes, which are
traversed with POSA, is stopped.
● Part program command G4 is permitted in the stop delay area.
Other part program commands that cause a stop in the meantime (e.g. WAITM), are not
permitted and trigger the alarm 16954.
● A stop delay section entered with an override of 0% will not be accepted!
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 631
Mode Group, Channel, Program Operation, Reset Response (K1)
Asynchronous subroutines (ASUBs), interrupt routines
9.9.1 Function
Note
The terms "asynchronous subroutines (ASUB)" and "interrupt routines" used alternatively in
the description below refer to the same functionality.
interrupt routines
Interrupt routines are normal part programs, which are started by interrupt events (interrupt
inputs, process or machine status) related to the machining process or the relevant machine
status.
Any part program block currently being executed will be interrupted by the routine if it is not
specifically declared to be locked against interruption. It is possible to continue the
subroutine at the point of interruption at a later stage.
Basic Functions
632 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Asynchronous subroutines (ASUBs), interrupt routines
0DLQSURJUDPVXESURJUDP ,QWHUUXSWURXWLQH
16(7,17 DURXWLQHWRDQHYHQW
DQGVZLWFKLWUHDG\$VVLJQ
1
1
0
1
1
1 5HWXUQSRVVLEOH
10
Interrupt signals
● A total of 8 interrupt signals (inputs) are available.
● All inputs can be controlled via the PLC.
● The first four interrupt signals are also controlled via the 4 rapid NC inputs of the NCU
module.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 633
Mode Group, Channel, Program Operation, Reset Response (K1)
Asynchronous subroutines (ASUBs), interrupt routines
● The signal status of the rapid NC inputs can be read out via the PLC interface (DB10).
● The transmission of the rapid NC input signals to the interrupt signals can be disabled via
the PLC interface (DB10).
4 rapid NC inputs
PLC interface
For more information on PLC control of the rapid NC inputs (interrupt signals) see:
References:
Function Manual Basic Functions; PLC Basic program (P3)
Function Manual, Extended functions; Digital and analog NCK I/Os (A4)
Basic Functions
634 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Asynchronous subroutines (ASUBs), interrupt routines
Activating
The activation of an interrupt routine can be done:
● By a 0/1 transition of the interrupt signal, triggered by a 0/1 transition at the rapid NC
input
● by the call of the "Function Call ASUB"
References:
Function Manual Basic Functions; PLC Basic Program (P3)
● an exit is set via the synchronous action, which indirectly sets an interrupt entry via short-
circuit (see " Examples (Page 646)").
References:
Function Manual, Synchronized Actions
Display
The activation of an interrupt routine is shown with the following NC/PLC interface signal:
DB21, … DBX378.0 (ASUB active)
Reorganization
In addition to decelerating the axes, the previously decoded calculation blocks are calculated
back to the interruption block. i.e. all the variables, frames and G codes are assigned the
value that they would have at the point of interruption if the part program had not been
previously decoded. These values are put in the buffer so that they can be called up again
when the interrupt routine is completed.
Exceptions, where no reorganization is possible:
● In thread cutting blocks
● With complex geometries (e.g. spline or radius compensation)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 635
Mode Group, Channel, Program Operation, Reset Response (K1)
Asynchronous subroutines (ASUBs), interrupt routines
N20
N30
Interruption point N40
Basic Functions
636 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Asynchronous subroutines (ASUBs), interrupt routines
Note
The NC/PLC-interface signal DB21, ... DBX318.0 (ASUB is stopped) is available only for
the following case: Interrupt "interrupted" in program operation in the channel status.
Note
In case of interrupt routines that close without REPOS, the signals "Asub-Done" and
DB21, ... DBX318.0 (ASUB is stopped) occur at the same time.
9.9.1.4 NC response
The different reactions of the control to an activated interrupt routine in the various operating
states are given in the following table:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 637
Mode Group, Channel, Program Operation, Reset Response (K1)
Asynchronous subroutines (ASUBs), interrupt routines
Basic Functions
638 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Asynchronous subroutines (ASUBs), interrupt routines
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 639
Mode Group, Channel, Program Operation, Reset Response (K1)
Asynchronous subroutines (ASUBs), interrupt routines
Note
Explicit ASUB start
If MD11602 is set such that the ASUB may not be started automatically, the routine can still
be activated by the Start key. Any rapid retraction that may be parameterized is always
started.
Note
The function "Jogging during interruption of a JOG ASUB" acts only for those ASUB, which
have been activated from the program status "cancelled" (channel status reset).
The function does not work in multi-channel systems without MD11600 $MN_BAG_MASK
Bit1=1.
Effectiveness of MD11602
Priorities are assigned to the interrupt routines, which define the ranking during the
processing (see also "Programming"). There are priorities from 1 to 128. Priority 1
corresponds to the highest priority.
Starting from which priority the ASUB start conditions parameterized with
MD11602 $MN_ASUP_START_MASK are to be effective, is determined with the machine
data:
MD11604 $MN_ASUP_START_PRIO_LEVEL
MD11602 is considered from the priority given here till the highest priority.
Basic Functions
640 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Asynchronous subroutines (ASUBs), interrupt routines
Note
The settings in MD20116 $MC_IGNORE_INHIBIT_ASUP are ineffective, if the read-in
disable in the interrupt routines is ignored through the following configuration:
MD11602 $MN_ASUP_START_MASK (ignore stop conditions for ASUB) Bit 2 = 1
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 641
Mode Group, Channel, Program Operation, Reset Response (K1)
Asynchronous subroutines (ASUBs), interrupt routines
Note
MD20117 $MC_IGNORE_SINGLEBLOCK_ASUP is effective only for the single block
processing type 1 (SBL1).
Note
The settings in MD20117 $MC_IGNORE_SINGLEBLOCK_ASUB are ineffective, if the single
block processing in the interrupt routines is ignored through the following configuration:
MD10702 $MN_IGNORE_SINGLEBLOCK_MASK (Prevent single block stop) bit 1 = 1
Basic Functions
642 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Asynchronous subroutines (ASUBs), interrupt routines
Note
The system variables $AC_STAT and $AC_PROG are not affected by this function, i.e. in
the running interrupt routine $AC_STAT is set to "active" and $AC_PROG to "running".
NC/PLC interface signals DB21, ... DBX35.0-7 ("Program status ..." and "Channel status ...")
also remain unaffected.
9.9.3 Programming
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 643
Mode Group, Channel, Program Operation, Reset Response (K1)
Asynchronous subroutines (ASUBs), interrupt routines
● LIFTFAST
When the interrupt signal arrives, a "Fast retraction of the tool from the contour" is
executed before the interrupt routine starts. The motion direction for the fast retraction is
specified by the program instruction ALF.
● BLSYNC
Upon receiving the interrupt signal, the current program block is processed and only then
is the interrupt routine started.
Note
The assignment interrupt signal ↔ part program is cleared when the following happens:
• Channel in Reset state
• CLRINT instruction in part program
Priorities
If several SETINT instructions are in the part program and therefore several signals can be
simultaneously received, the assigned interrupt routines must be allocated priorities that
define the sequence in which the interrupt routines are executed:
PRIO=<value>
There are priorities from 1 to 128. Priority 1 corresponds to the highest priority.
Example:
The interrupt routines are executed in the sequence of the priority values if the inputs
become available simultaneously (are energized simultaneously): First "ABHEBEN_Z", then
"ABHEBEN_X".
REPOS-query
Interrupt routines sequences may be generated for which there is no unambiguous return to
an interruption point in the block processing sequence (REPOS).
The system variable $P_REPINF can be used to scan the ASUB to determine whether a
REPOS is possible.
Basic Functions
644 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Asynchronous subroutines (ASUBs), interrupt routines
Value Description
0 Repositioning with REPOS not possible because:
• not called in ASUB
• ASUB ran from reset status
• ASUB ran from JOG
1 Repositioning with REPOS possible in ASUB
Flexible programming
The following commands help in the flexible programming of interrupt routines:
Command Description
SAVE If the SAVE command has been used to define the interrupt routine, the G
codes, frames and transformations previously active in the interrupted
part program become operative again as soon as the interrupt routine is
ended.
DISABLE The DISABLE command can be set to protect part program sections from
being interrupted by an interrupt routine.
The assignment interrupt signal ↔ part program is maintained but the
interrupt routine no longer respond to the 0/1 signal transition.
ENABLE The DISABLE command can be reset with the ENABLE command.
Interrupt routines are not activated until the next 0/1 transition of the
interrupt signal.
CLRINT Clear assignment Interrupt signal ↔ part program
References
Programming Manual, Job Planning; Chapter: "Flexible NC Programming" > "Interrupt
routine (ASUB)"
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 645
Mode Group, Channel, Program Operation, Reset Response (K1)
Asynchronous subroutines (ASUBs), interrupt routines
9.9.4 Restrictions
9.9.5 Examples
Basic Functions
646 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
User-specific ASUB for RET and REPOS
9.10.1 Function
Function
The NCK software supplied contains preprogrammed processes (internal ASUBs) for
implementation of the RET and REPOS functions. They can be replaced by user-specific
ASUBs written by the machine tool manufacturer.
DANGER
The machine manufacturer is responsible for the contents of ASUB routines used to
replace ASUP.SYF supplied by Siemens.
Installation
In the manufacturer directory _N_CMA_DIR or in the user directory _N_CUS_DIR a routine
with the name "_N_ASUP_SPF" can be loaded. These must implement the actions desired
by the user for the functions RET and REPOS.
Activating
The parameters for the activation of the user-specific routine "_N_ASUP_SPF" are set with
the machine data:
MD11610 $MN_ASUP_EDITABLE (activation of a user-specific ASUP program).
Bit 0 and bit 1 specify, which of the internal system routines are to be replaced by the user-
specific ASUB:
Bit 2 defines in which directory the user-specific routine is to be searched first in case of
activation.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 647
Mode Group, Channel, Program Operation, Reset Response (K1)
User-specific ASUB for RET and REPOS
Basic Functions
648 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
User-specific ASUB for RET and REPOS
9.10.3 Programming
Bit
19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RET 1 1 * 1
REPOS 1 1 1 1 1 1 1 1 * 1 1 1
*: If bit 9 is set, then the behavior depends on MD20114 (see table below)
Bit Description
0 User interrupt "ASUB with BLSYNC"
Continuation: Freely selectable REORG or RET
1 User interrupt "ASUP"; The position at which it was stopped is stored for continuation with
REPOS.
Continuation: Freely selectable REORG or RET
2 User interrupt "ASUB from channel status Ready"
Continuation: Freely selectable REORG or RET
3 User interrupt "ASUB in a manual mode and in channel status not Ready"
Continuation: Freely selectable REORG or RET
4 User interrupt "ASUP"; The current position is stored when the interrupt occurs, for
continuation with REPOS.
Continuation: Freely selectable REORG or RET
5 Abort of the subroutine repeat
Continuation: With system ASUB REPOS
6 Activation of decoder single block
Continuation: With system ASUB REPOS
7 Activation of delete distance-to-go
Continuation: With system ASUB RET
8 Activation of axis synchronization
Continuation: With system ASUB REPOS
9 Mode change
Continuation: in case of system ASUP, REPOS or RET depending upon
MD20114 $MC_MODESWITCH_MASK (interruption of MDA through mode change):
Bit 0 = 0: → RET
Bit 0 = 1: → REPOS
10 Program continuation during TEACHIN or after TEACHIN deactivation
Continuation: With system ASUB RET
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 649
Mode Group, Channel, Program Operation, Reset Response (K1)
User-specific ASUB for RET and REPOS
Bit Description
11 Overstore selection
Continuation: With system ASUB REPOS
12 Alarm with reaction correction block with REPOS
Continuation: With system ASUB REPOS
13 Retraction motion in case of G33 and Stop
Continuation: With system ASUB RET
14 Activation of dry run feedrate
Continuation: With system ASUB REPOS
15 Deactivation of dry run feedrate
Continuation: With system ASUB REPOS
16 Activation of skip block
Continuation: With system ASUB REPOS
17 Deactivation of skip block
Continuation: With system ASUB REPOS
18 Activate machine data
Continuation: With system ASUB REPOS
19 Make user data effective
Continuation: With system ASUB REPOS
20 Activation of system ASUB, after search type SERUPRO has reached the search target
Continuation: With system ASUB REPOS
Basic Functions
650 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Single block
Block-by-block processing
With the single-block function, the user can execute a part program block-by-block.
Single-block types
There are 3 types of setting for the single-block function:
● SBL1 := IPO single block
When the SLB1 function is active, machining stops or pauses after each machine action
block (Ipo block).
● SBL2 := Decode single block
When the SLB2 function is active, machining always stops or pauses after each part
program block. If a part program block is processed in several IPO blocks, machining
stops after every Ipo block. Thread cutting is an exception.
● SBL3 := Decode single block
As for SLB2, but machining also stops in the part program blocks of the cycles.
1. Stopping after every block is undesirable in many situations and/or with certain blocks.
– 1st example:
Change after jog operation, if reorganization and/or repositioning
is not possible, MD10702, bits 6 and 7.
If a stop occurs in a block at the end of block, which cannot be
reorganized and/or repositioned, in this situation
Jog mode cannot be selected.
– 2nd example:
Change after JOG operation to a STOPRE block,
MD10702, bits 6 and 7
If AUTO mode is changed to Jog mode while a
STOPRE block is active, in addition to system ASUB2, a continuation start will be
followed by one residual block and one or possibly (with
decoder single block) two more STOPRE blocks. A logic operation,
which always triggers a part program start in single block
and then always changes to Jog mode, remains
at the STOPRE block indefinitely.
– 3rd example:
DISPOF: Deactivate block display, MD10702, bits 6 and 7
If DISPOF is programmed in a subroutine, the block display
is suppressed. The operator must continuously
press Start blindly in the single block up to the end of the subroutine.
2. When single block is deactivated there is no stop at end of block.
3. When STOPRE blocks are displayed, the main run and preprocessing are synchronized
in the decoding single block.
The following sections describe how to control the behavior of single blocks and prevent
stops in particular situations.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 651
Mode Group, Channel, Program Operation, Reset Response (K1)
Single block
Asynchronicity
As a result of preprocessing of part program blocks, the reference between the current block
display relative to the main run status of the NCK and the variable values displayed on the
HMI can be lost. The operator display then shows implausible variable values.
Note
This variant of SBL2 does not maintain an accurate contour. In other words, as a result of
the preprocessing stop, a different contour may be generated from the one created without
single-block mode or with SBL1.
Application: Debug mode for testing part programs.
SBLOF
Example for subroutine without stop in single block:
At the return command, the decision is made whether to stop at the end of the subprogram:
Basic Functions
652 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Single block
Asynchronous subprograms
The asynchronous subroutines ASUP1.SYF and ASUP2.SYF started system-internally in
REORG/REPOS can process the system ASUP in one step through the programming of
SBLOF.
Example: ASUP.SPF:
N10 SBLOF
N20 IF $AC_ASUP==’H200’
N30 RET ; No REPOS on mode change
N40 ELSE
N50 REPOSA ; REPOS in all other cases
N60 ENDIF
N70 RET
Constraints
● The current block display can be suppressed in cycles with DISPLOF.
● IfDISPLOF is programmed together withSBLOF, then the cycle call continues to be
displayed on single-block stops within the cycle.
● The preset behavior of asynchronous subroutines in single block mode specified in
MD20117 MC_IGNORE_SINGLEBLOCK_ASUP (process interrupt program fully despite
single block) can be overwritten on a program-specific basis using SBLOF.
Cycle
Example 1: A cycle is to act like a command for a user.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 653
Mode Group, Channel, Program Operation, Reset Response (K1)
Single block
Main program:
Program cycle:1
CYCLE1 is processed for an active single block, i.e. the Start key must be pressed once to
process CYCLE1.
Example 2: An ASUB, which is started by the PLC in order to activate a modified zero offset
and tool offsets, is to be executed invisibly.
Basic Functions
654 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Single block
Sequence
If an ASUB is activated during the single block, for example, execution of the ASUB is
completed. The deceleration movement does not take place until after the end of the ASUB
or the first IPO block in which single-block suppression is not activated. If the velocity is too
large for the deceleration to be performed in this block (with continuous-path mode G64
active), G64), further block changes are allowed.
For decoding single block, MD10702 is only effective with "internal ASUB", "user ASUB" and
"subroutines with the attribute DISPLOF". In these cases, it is already clear at the time of
interpretation that the block belongs to one of the above categories. In these cases, further
blocks can be generated.
SBLON in ASUB
The single block stop of an internal ASUP or user ASUP that is suppressed with MD10702
$MN_IGNORE_SINGLEBLOCK_MASK can be reactivated in ASUP by programming SBLON.
This functionality can be suppressed again with MD20117
$MC_IGNORE_SINGLEBLOCK_ASUB. The SBLON command then becomes ineffective.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 655
Mode Group, Channel, Program Operation, Reset Response (K1)
Single block
Boundary conditions
The following restriction applies to decoding single block SBL2:
● Block search approach blocks
● Block not in ASUB; DISPLOF, SBLOF
● Non-reorganizable and non-repositionable blocks
● Blocks that are not generated in the interpreter, e.g. intermediate blocks
Classifying channels
One mode group channel must be classified as a single-block control channel (KS), while the
other mode group channels must be classified as dependent channels (KA) via interface
signal. Type A or type B single-block behavior can be selected for KA channels.
Type A determines Stop (analogous to STOP key).
Type B determines Stop (analogous to stop at block limit).
Channel classification
In one channel (KS) in a mode group, the user should select single-block (NST DB21 ...
DBX0.4 (activate single block)). Single-block type A or B refers to other channels (KA) of a
mode group.
0RGHJURXS
&KDQQHO.6 &KDQQHO.$ &KDQQHO.$
&KDQQHOQ.$
%HKDYLRUFDQEHVHOHFWHGYLDW\SH$RUW\SH%
Basic Functions
656 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Single block
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 657
Mode Group, Channel, Program Operation, Reset Response (K1)
Program control
Options
1. Function selection (via operator interface or PLC)
2. Activation of skip levels
3. Adapting the size of the interpolation buffer
4. Program display modes via an additional basic block display
5. Execution from external source (buffer size and number)
6. Execution from external subroutines
Basic Functions
658 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program control
/, /0, ... /9
It is possible to skip blocks, which are not to be executed every time the program runs.
Blocks to be skipped are indicated in the part program by an oblique "/" before the block
number.
The skip levels in the part program are specified by "/0" to "/7".
Only one skip level can be specified for each part program block.
Number of levels
The number of skip levels is defined with MD9423 $MM_MAX_SKP_LEVEL (max. skip levels
in the NC program).
Example signals:
Blocks which are not to be executed in every program pass can be skipped according to the
following diagram (e.g. program test blocks):/ ; block skipped, (DB21, ... DBX2.0) 1st skip
level
/ N005 ; block skipped, (DB21, ... DBX2.0) 1st skip level
/0 N005 ; block skipped, (DB21, ... DBX2.0) 1st skip level
/1 N010 ; block skipped, (DB21, ... DBX2.1) 2nd skip level
/2 N020 ; block skipped, (DB21, ... DBX2.2) 3rd skip level
/3 N030 ; block skipped, (DB21, ... DBX2.3) 4th skip level
/4 N040 ; block skipped, (DB21, ... DBX2.4) 5th skip level
/5 N050 ; block skipped, (DB21, ... DBX2.5) 6th skip level
/6 N060 ; block skipped, (DB21, ... DBX2.6), 7th skip level
/7 N070 ; block skipped, (DB21, ... DBX2.7) 8th skip level
/8 N080 ; block skipped, (DB21, ... DBX31.6), 9th skip level
/9 N090 ; block skipped, (DB21, ... DBX31.7) 10th skip level
The 10 skip levels "/0" to "/9" are activated by the PLC setting the PLC -> NCK interface
signals.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 659
Mode Group, Channel, Program Operation, Reset Response (K1)
Program control
The function is activated from the HMI via the "Program control" menu in the Machine
operating area for skip levels
● "/0" to "/7" via interface HMI -> PLC DB21 ... DBB26 (Skip-block selected).
● "/8" to "/9" via interface HMI -> PLC DB21, ... DBX27.0 to DBX27.1.
References:
/BAD/ Operation Manual HMI Advanced "Operating Area, Machine"
Note
The levels to be skipped can only be changed when the control is in the STOP/RESET state.
MD28060
The channel-specific interpolator executes prepared blocks from the interpolation buffer
during the part program run. The maximum number of blocks requiring space in the
interpolation buffer at any given point in time is defined by the memory configuring MD28060
$MM_IPO_BUFFER_SIZE (number of NC blocks in the IPO buffer (DRAM)). For some
applications it may be meaningful not to use the full buffer capacity in order to minimize the
"interval" between preparation and interpolation.
SD42990
The number of blocks in the interpolation buffer can be restricted dynamically to a smaller
value than in MD28060 $MC_MM_IPO_BUFFER_SIZE (number of NC blocks in the IPO
buffer (DRAM)), minimum 2 blocks, with the setting data SD42990
$SC_MAX_BLOCKS_IN_IPOBUFFER (max. number of blocks in the IPO buffer).
Values of setting data SD42990 $SC_MAX_BLOCKS_IN_IPOBUFFER:
Value Effect
<0 No interpolation buffer limit active.
The max. possible interpolation buffer as set in MD28060
MM_IPO_BUFFER_SIZE is activated.
or 1 The minimum permissible interpolation buffer with 2 blocks is activated.
< < MM_IPO_BUFFER_SIZE The interpolation buffer is activated with no more than the maximum specified
number of blocks.
>= MM_IPO_BUFFER_SIZE The interpolation buffer is activated with the number of blocks specified in
MD28060 MM_IPO_BUFFER_SIZE.
Basic Functions
660 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program control
Note
If SD42990 $SC_MAX_BLOCKS_IN_IPOBUFFER is set in the part program, the
interpolation buffer limitation takes effect immediately if the block with the SD is being
preprocessed by the interpreter.
This means that the limitation of the IPO buffer may take effect a few blocks before the
intended limitation (see also MD28070 $MC_MM_NUM_BLOCKS_IN_PREP).
To avoid premature activation and to make the limitation of the IPO buffer take effect in
synchronism with the block, a STOPRE (preprocessing stop) must be programmed before
the SD is set in the part program.
Validity
SD42990 $SC_MAX_BLOCK_IN_IPOBUFFER has global, channel-specific validity and can
also be modified in a part program. This modified value is maintained at program end. If this
setting data is to be reset again on defined events, a so-called event-driven program must be
created to do this. For example, this setting data could always be set to a predefined value
on RESET.
Application
The IPO buffer limitation can be used whenever the number of blocks between block
preparation and interpolation must be minimized, e.g. when actual positions in the part
program must be read and processed for other purposes.
Example
N10 ...
N20 ...
..........
N100 $SC_MAX_BLOCKS_IN_IPOBUFFER = 5 ; Limitation of IPO buffer to 5 NC
blocks
N110 ...
N120 ...
............
N200 $SC_MAX_BLOCKS_IN_IPOBUFFER = -1 ; Cancellation of the IPO buffer
limitation
N210 ...
............
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 661
Mode Group, Channel, Program Operation, Reset Response (K1)
Program control
Processed values
Values processed in the basic block display coincide with the:
● selected tools
● feed and spindle speed
● actually approached position values
exceptions:
With active tool radius compensation, deviations can occur.
For modulo axes, the programmed value is displayed in the basic block display. This
value can also lie outside the modulo range.
Note
As a basic rule the positions are represented in the WCS or the SZS.
The basic block display can be activated or deactivated with setting data
SD42750 $SC_ABSBLOCK_ENABLE.
Basic Functions
662 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program control
Activating
The basic block display is activated by MD28400 $MC_MM_ABSBLOCK by means of Power
On. If MD28400 $MC_MM_ABSBLOCK is set to 1, a channel-specific display buffer (FIFO) is
created during power-up.
Size of display buffer (FIFO) = (MD28060 $MC_MM_IPO_BUFFER_SIZE + MD28070
$MC_MM_NUM_BLOCKS_IN_PREP) multiplied by 128 bytes. This corresponds to a size of
6KB in the machine data default setting.
Optimize size of display buffer:
The memory requirement can be optimized by entering a value between 128 and 512. The
display blocks preprocessed in the display buffer are transferred to the HMI via a
configurable upload buffer.
Maximum size of upload buffer is obtained by multiplying (MD28402
$MC_MM_ABSBLOCK_BUFFER_CONF[0] +
MD28402 $MC_MM_ABSBLOCK_BUFFER_CONF[1] + 1) by the block length configured in
MD28400 $MC_MM_ABSBLOCK.
The number of blocks before the current block is configured in
MD28402 $MC_MM_ABSBLOCK_BUFFER_CONF[0] and the number of blocks after the
current block is configured in MD28402 $MC_MM_ABSBLOCK_BUFFER_CONF[1].
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 663
Mode Group, Channel, Program Operation, Reset Response (K1)
Program control
Constraints
If the length of a display block configured in MD28400 $MC_MM_ABSBLOCK is exceeded,
this display block is truncated accordingly. This is represented by string "..." at the end of the
block.
For preprocessed cycles (MD10700 $MN_PREPROCESSING_LEVEL > 1), the display block
contains only axis positions.
Additional boundary conditions for the basic block display:
● Modal synchronized action blocks with absolute values are
not taken into account.
● The basic block display is deactivated during block search with or without computation.
● Polar coordinate programming is not shown in Cartesian system.
Radius/diameter values
Diameter values shown in the basic block display and position display may be needed as a
radius for internal calculation. These values for measurements in radius/diameter according
to G code group 29 can be manipulated using the following options:
● G code DIAMCYCOF (expansion of channel-specific diameter programming)
This G code deactivates the channel-specific diameter programming during the cycle
execution. In this way, computations in the cycle can always be done in the radius. The
position display and the basic block display are continued according to the state of the
diameter programming before DIAMCYCOF.
In the basic block display, the last displayed value is retained.
● G code DIACYCOFA[AX] (axis-specific diameter programming)
This G code deactivates the axis-specific diameter programming during the cycle
execution. In this way, computations in the cycle can always be done in the radius. In the
position display and in the basic block display, this continues according to the state of the
diameter programming before DIACYCOFA[AX].
In the basic block display, the last displayed value is retained.
● MD27100 $MC_ABSBLOCK_FUNCTION_MASK
Bit0 = 1 Transverse axis setpoints are always shown as diameter values in the
basic block display.
Basic Functions
664 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program control
Example
G0 X10 Y10 Z10 ; Block to be preprocessed for the basic block display
COMPCAD ; Compressor for optimized surface quality (CAD prog.) A
... ; string as character for missing display blocks
To avoid bottlenecks in the NCK performance, the basic block display is deactivated
automatically. As a sign that the display blocks are missing, a display block with the string
"..." is generated.
All display blocks are always generated in the single block.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 665
Mode Group, Channel, Program Operation, Reset Response (K1)
Program control
Note
The modulo correction is omitted for modulo axes, which means that positions outside the
modulo range can be displayed. It also means that the basic block display differs from the
position display in which values are always modulo-converted.
Examples
Comparisons between display block (original block) and basic block display:
● Programmed positions are displayed as absolute.
The addresses AP/RP are displayed with their programmed values.
Basic Functions
666 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program control
The following applies for H functions: Each programmed valus is display irrespective of the
output type to PLC
(MD22110 $MC_AUXFU_H_TYPE_INT (type of H auxiliary function is integer)).
● For Tool selection by tool command
display information is generated in the form T<value> or T=<string>. If an address
extension has been programmed, this is displayed as well.
If several spindles have been configured or the "Tool change via master tool holder"
function (MD20124 $MC_TOOL_MANAGEMENT_TOOLHOLDER (tool holder number))
is active, the T number is always output with address extension.
If no address extension has been programmed, the number of the master spindle or the
master toolholder is used instead (T<spindle_number/tool_holder>= ).
● For the Spindle programming via S, M3, M4, M5, M19, M40 - M45 and M70 (or MD20094
$MC_SPIND_RIGID_TAPPING_M_NR (M function for switching over in the controlled
axis operation)) the following regulation applies regarding the address extension:
If an address extension has been programmed, then this is also resolved.
If several spindles have been configured, then the address extension is also output.
If no address extension has been programmed, the number of the master spindle is used
(S<spindle_number>=).
● Indirect G code programming in form G[ <group> ] = <printout> is substituted by the
corresponding G code.
● Modal G codes that do not generate an executable block are collected and output with
the display block of the next executable block if permitted by the syntax (DIN block). If
this is not the case (e.g. predefined subroutine call TRANSMIT), a separate display block
containing the modified G codes is placed in front of the next executable block.
● A display block is always generated for part program lines in which the addresses F and
FA appear (including for MD22240 $MC_AUXFU_F_SYNC_TYPE = 3 (output time of the
F functions)).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 667
Mode Group, Channel, Program Operation, Reset Response (K1)
Program control
● The display blocks generated for the block display are derived directly from the
programmed part program blocks. If intermediate blocks (e.g. tool radius compensation
G41/G42, radius/chamfer RNDM, RND, CHF, CHR) are generated in the course of
contour preprocessing, these are assigned the display information from the part program
block on which the motion is based.
● With the EXECTAB command (processing a table of contour elements), the block
generated by EXECTAB is shown in the display block.
● For the EXECSTRING command, the block generated via EXECSTRING is displayed in
the display block.
Original block:
N910 DEF STRING[40] PROGSTRING = "N905 M3 S1000 G94 Z100 F1000 G55"
N920 EXECSTRING(PROGSTRING)
Display block:
N905 Z100 G55 G94 M3 S1000 F1000
Basic Functions
668 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program control
Function
The "Execution from external" function can be used to execute programs that cannot be
saved directly in the NC memory due to memory shortage from an external program
memory.
Note
Protected cycles (_CPF files) cannot be processed with this function.
Note
Execution from external source via USB interface with SINUMERIK 840D sl
If external programs are to be transferred from an external USB drive via a USB interface,
only the interface via X203 (named "TCU_1") can be used.
A USB FlashDrive cannot be recommended as a persistent storage medium.
Note
Execution from external source via V24 interface with SINUMERIK 840D
In HMI Embedded, the "Execution from external source" softkey can be used to transfer
external programs across the RS-232 interface onto the NC.
Applications
● Direct execution from external programs
In principle, any program that is accessible via the directory structure of the interface in
the "Execution from external" HMI mode can be selected and executed.
● Execution of external sub-programs from the part program
The external subroutine is called through the part program command EXTCALL with
specification of a call path (optional) and the subroutine identifier (→ refer to Chapter:
"Execution from external subroutines").
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 669
Mode Group, Channel, Program Operation, Reset Response (K1)
Program control
Parameterization
A reloading memory (FIFO buffer) must be reserved in the dynamic NC memory for
executing a program in the "Executing from external" mode (main program or subroutine).
Size of FIFO buffer
The size of the FIFO buffer is set in the machine data:
MD18360 $MN_MM_EXT_PROG_BUFFER_SIZE (FIFO buffer size for processing from
external)
Default: 30 kbyte
Number of the FIFO buffer
One FIFO buffer must be provided each for all programs (main run or subroutine) that are
executed simultaneously in the "Execution from external source" mode.
The number of the FIFO buffer is set in the machine data:
MD18362 $MN_MM_EXT_PROG_NUM (number of externally executed program levels
executable simultaneously)
Function
Individual machining steps for producing complex workpieces may involve program
sequences that require so much memory they cannot be stored in the NC memory.
In such cases, the user has the option of executing the program sequences as subroutines
from an external program memory in the "Execution from external source" mode with the
help of the EXTCALL part program instruction.
Preconditions
The following preconditions are applicable to the execution from external subroutines:
● The subroutines must be accessible via the directory structure of the operator interface.
● A reloading memory (FIFO buffer) must be reserved for each subprogram in the dynamic
NC memory.
Basic Functions
670 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program control
Parameterization
The path for the external subprogram directory can be preset using setting data:
SD42700 $SC_EXT_PROG_PATH (Program path for the EXTCALL external subprogram
call)
The entire path of the program to be called along with the subprogram path or identifier
specified during programming is derived therefrom.
Programming
An external subroutine is called by means of part program command EXTCALL.
Syntax: EXTCALL("<path/program_name>")
Parameter:
Path/program name: The path name is optional, i.e. the absolute path (or a relative
path) or only the program name (subroutine identifier) can be
specified.
The program name can be specified with or without the "_N_"
prefix and "_SPF" or "_MPF" file extension.
Type: STRING
Note
SINUMERIK 840D with HMI Embedded
An absolute path must always be specified for SINUMERIK powerline with HMI Embedded!
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 671
Mode Group, Channel, Program Operation, Reset Response (K1)
Program control
Effects
EXTCALL call with absolute path name
If the subprogram exists at the specified path, it will be executed following the EXTCALL call.
If it does not exist, program execution is cancelled.
EXTCALL call with relative path name/without path name
In the event of an EXTCALL call with a relative path name or without a path name, the
available program memories are searched as follows:
1. If a path name is preset in SD42700, the data specified in the EXTCALL call (program
name or with relative path name) is searched for first, starting from this path. The
absolute path results from linking the following characters:
– The path name preset in SD42700
– The "/" character as a separator
– The subprogram path or identifier programmed in EXTCALL
2. If the called subprogram is not found at the preset path, the data specified in the
EXTCALL call is then searched for in the user-memory directories.
3. If the called subprogram is not found on the program memory currently being searched
(e.g. CompactFlash card), the next program memory (e.g. network drive) is searched in
accordance with points 1 and 2.
4. The search ends when the subprogram is found for the first time.
If the search does not produce any hits, the program is canceled.
Basic Functions
672 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program control
Examples
1. Execution from local hard disk
System: SINUMERIK 840D sl/840D with HMI Advanced
The "_N_MAIN_MPF" main program is stored in NC memory and is selected for execution:
...
N... EXTCALL("\\R4711\Workpieces\Contour2.spf")
...
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 673
Mode Group, Channel, Program Operation, Reset Response (K1)
System settings for power-up, RESET/part-program end and part-program start
Concept
The control-system response after:
● Power up (POWER ON)
● Reset/part program end
● Part program start
can be modified for functions, such as G codes, tool length compensation, transformation,
coupled axis groupings, tangential follow-up, programmable synchronous spindle via
machine data.
Basic Functions
674 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
System settings for power-up, RESET/part-program end and part-program start
3RZHUXS
32:(521
%LW
%LW
%LW
0' 7KHWRROOHQJWKFRPSHQV
%LWDQGELW DWLRQVHOHFWHGEHIRUH
32:(521UHPDLQVDFWLYH
%LW
7RROOHQJWKFRPSHQVDWLRQDFWLYH
DFFWR0'0'0'
7UDQVIRUPDWLRQRII
7RROOHQJWKFRPSHQVDWLRQRII
*FRGHVDFFRUGLQJWR0'0&B*&2'(B5(6(7B9$/8(6
&RXSOHGD[LVJURXSLQJVDUHGHDFWLYDWHG
7DQJHQWLDOWUDFNLQJLVQRWDFWLYDWHG
6\QFKURQRXVVSLQGOHFRXSOLQJLVQRWDFWLYDWHG
$[LDOIHHGUDWHSHUUHYROXWLRQRII3DWKDQGV\QFKURQL]HGD[HVRQPDVWHUVSLQGOHEDFN
*HRPHWU\D[LVDVVLJQPHQWDFFRUGLQJWR0'0&B$;&21)B*(2$;B$66,*1B7$%
0DVWHUYDOXHFRXSOLQJLVQRWDFWLYDWHG
%DVLFIUDPHLVGHVHOHFWHG
(OHFWURQLFJHDULVQRWDFWLYDWHG
,QLWLDOVWDWHIRUPDVWHUVSLQGOHDFFRUGLQJWR0'0&B63,1'B'()B0$67(5B63,1'
0DVWHUWRROKROGHULQLWLDOVWDWHDFFRUGLQJWR0'0&B722/B0$1*(0(17B722/+2/'(5
5HIHUHQFHD[LVDFFRUGLQJWR0'0&B',$0(7(5B$;B'()
5(6(7SDUWVSURJUDPHQG
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 675
Mode Group, Channel, Program Operation, Reset Response (K1)
System settings for power-up, RESET/part-program end and part-program start
System settings after RESET/end of part program and part program start
MD20110 $MC_RESET_MODE_MASK, bit 0 = 0 or 1
5(6(7SDUWVSURJUDPHQG
%LW *FRGHVDFFRUGLQJWR0'DQG0'
0' 0'ELWVDUHHYDOXDWHGLH
5(6(7B02'(B0$6. WKHIXQFWLRQDVVLJQHGWRWKHUHVSHFWLYHELWV
%LW HLWKHUDGRSWVLWVUHVHWSRVLWLRQRUUHWDLQV
'HIDXOW LWVFXUUHQWSRVLWLRQ UHIHUWRWDEOHVEHORZ
%LW
7KHFXUUHQWVHWWLQJVDUHUHWDLQHG
3DUWVSURJUDPVWDUW
*FRGHVDFFRUGLQJWR0'
7RROOHQJWKFRPSHQVDWLRQRII
7UDQVIRUPDWLRQRII
&RXSOHGPRWLRQRII
7DQJHQWLDOWUDFNLQJRII 7KHVHWWLQJVDFWLYDWHGE\5(6(7
6\QFKURQRXVVSLQGOHRII EHFRPHYDOLG
*HRPHWU\D[LVDVVLJQPHQWDFFRUGLQJWR0'
0DVWHUYDOXHFRXSOLQJRII
$[LDOUHYROXWLRQDOIHHGUDWHRII
5HVHUYHG EDVLFIUDPH RII
0DVWHUVSLQGOHDFFRUGLQJWR0'
0DVWHUWRROKROGHURII
5HIHUHQFHD[LVDFFRUGLQJWR0'
%LW
%LWV
0' )XQFWLRQDGRSWV5(6(7SRVLWLRQ
5(6(7B02'(B0$6.
%LW
%LW
5HIHUHQFHD[LVLVUHWDLQHG
%LW GHIDXOW
%LWV7KHFXUUHQWVHWWLQJVDUHUHWDLQHG
%LW)XQFWLRQDGRSWV5(6(7SRVLWLRQ
,QWHUSUHWDWLRQRIWKHILUVWSDUWSURJUDPEORFN
Figure 9-15 System settings after RESET/part program end and part program start
Basic Functions
676 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
System settings for power-up, RESET/part-program end and part-program start
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 677
Mode Group, Channel, Program Operation, Reset Response (K1)
System settings for power-up, RESET/part-program end and part-program start
MD20152 $MC_GCODE_RESET_MODE
Each G code group controlled in MD20150 $MC_GCODE_RESET_VALUES[i] can be
selectively controlled with MD20152 $MC_GCODE_RESET_MODE[i].
MD20152 $MC_GCODE_RESET_MODE[i] 0 1
(i = G code group -1)
MD20150 $MC_GCODE_RESET_VALUES[i] The value stored in The last active/
MD20150 is active current value is active
Basic Functions
678 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
System settings for power-up, RESET/part-program end and part-program start
Note
In MD20110 bits set to 1 cause settings to be retained,
in MD20112 bits set to 0 cause settings to be retained.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 679
Mode Group, Channel, Program Operation, Reset Response (K1)
System settings for power-up, RESET/part-program end and part-program start
Example
1. Activate RESET setting on RESET:
MD20110 = 'H01' (bit 0)
MD20112 = '0'
2. Transformation remains active on RESET/part program start:
MD20110 = 'H81' (bit 0 + bit 7)
MD20112 = '0'
3. Tool length compensation remains active on RESET/part program start:
MD20110 = 'H41' (bit 0 + bit 6)
MD20112 = '0'
4. Active level (bit 4) and settable frame (bit 5) remain active after RESET and are reset on
part program start:
MD20110 = 'H41' (bit 4 + bit 5)
MD20112 = '30'
Note
For bit 5 and bit 6:
If MD20110/MD20112 are parameterized so that tool length compensation or a frame is
active on a part program start/MDA start, the first programming of the axes must use
absolute measurements (because of the offsetting process).
Exception: With MD42442/MD42440 the offsetting process for G91 is suppressed.
Basic Functions
680 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
System settings for power-up, RESET/part-program end and part-program start
Function
If processing with tool orientation is interrupted as a result of power failure, the
transformation which was previously active can be reselected when power is restored,
provided it is configured accordingly, and a frame can be generated towards the tool axis.
The tool can then be retracted in JOG mode by means of a retraction movement towards the
tool axis.
This procedures requires valid axis positions after POWER ON which are either delivered by
absolute encoders or by the function "Position restoration on POWER ON (Page 1170)".
Parameter assignment
In the event-driven program call for power-up (MD20108 bit 3=1), the user must wait in the
user program /_N_CMA_DIR/_N_PROG_EVENT_SPF and query the system variable
$AA_ENC_ACTIVE[<axis>] until valid axis positions are available.
A frame, which positions the tool axis in the direction of the X, Y or Z axes, can then be
generated by the part program commands TROTX/TROTY/TROTZ .
Note
Once the tool has been retracted in JOG mode, axes whose positions have been restored
are homed. See also machine data:
• MD20700 $MC_REFP_NC_START_LOCK
• MD34110 $MA_REFP_CYCLE_NR
Boundary condition
It is to be assumed that axes with incremental encoders and without actual-value buffering
are clamped with sufficient speed in the event of a power failure to prevent them drifting from
their last position setpoint.
Example
Example with orientation transformation and incremental encoders of the orientation axes:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 681
Mode Group, Channel, Program Operation, Reset Response (K1)
System settings for power-up, RESET/part-program end and part-program start
Basic Functions
682 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
9.14.1 General
Function
The NC-language offers the option of structuring more complex processing sequences
through subprograms. Normally these subprograms are started from the part programs with
explicitly programmed subprogram calls. Along with this, there is also the possibility of hiding
a subprogram call behind another NC-command (e.g. call of an M function) and thus of
replacing the actual command function by the subprogram.
Example: Call of the tool change cycle by the auxiliary function M6
The reasons for this are as follows:
● Existing part programs can be adapted to the changed environmental conditions without
correcting the part programs themselves.
● An introduced programming style can be maintained.
Replaceable NC functions
The following NC functions can be replaced by subprograms:
● M, T, and D/DL auxiliary functions:
– M Functions for switching operations
– T Functions for tool selection
– D/DL-Functions for tool compensation selection
● Spindle-related functions during active synchronous spindle coupling:
– Gear stage change (automatic change or direct gear stage)
– Spindle positioning with SPOS, SPOSA and M19
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 683
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
Conditions
The following conditions are applicable for replacing the M functions:
● A maximum of one function replacement is active for each block.
● The block with the function replacement may not contain the following elements:
– M98
– Modal subroutine call
– Subprogram return
– Part program end
● A subroutine call must not be superimposed on M functions with predetermined
significance (see Section "Non-configurable M functions").
Configuration
The numbers of the M functions to be replaced by the subprograms are specified in the
machine data:
MD10715 $MC_M_NO_FCT_CYCLE[<n>]
The names of the subprograms that are to replace the M functions specified in MD10715 are
entered in the machine data:
MD10716 $MC_M_NO_FCT_CYCLE_NAME[<n>]
Example:
MD10715 $MC_M_NO_FCT_CYCLE[0] = 101
MD10716 $MC_M_NO_FCT_CYCLE_NAME[0] = "SUB_M101"
⇒ Call of the subprogram SUB_M101 through M101
MD10715 $MC_M_NO_FCT_CYCLE[1] = 102
MD10716 $MC_M_NO_FCT_CYCLE_NAME[1] = "SUB_M102"
⇒ Call of the subprogram SUB_M102 through M102
Programming
If the M function configured with MD10715 is programmed in a part program block, the
appropriate subroutine is called at the end of the part program block.
If the M function is programmed again within the called subroutine, the M function is not
replaced again. In addition, other M function replacements configured with MD10715 or
MD10716 are not executed.
Exception:
The M function is also replaced in an ASUB if the ASUB was started in a subroutine that was
called via an M function.
Basic Functions
684 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
M function Remarks
M0 ... M5, Predefined auxiliary functions that trigger system functions
M17, M30, M19,
M40 ... M45
M98, M99 with activated external NC language:
MD18800 $MN_MM_EXTERN_LANGUAGE == TRUE
M functions can be defined for specific tasks using the following machine data. Through this,
they receive a fixed meaning and, therefore, must not be used to call subroutines:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 685
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
Note
An exception here is the M function for the tool change configured via the following machine
data:
MD22560 $MC_TOOL_CHANGE_M_CODE (Tool change with M Function)
This M function is permitted to be replaced by a subroutine (see " Replacement of the
M function for the tool change (Page 689)").
9.14.3.1 General
Conditions
The following conditions are applicable for the replacement of T or D or DL functions:
● A maximum of one function replacement is active for each block.
● The block with the function replacement may not contain the following elements:
– M98
– Modal subroutine call
– Subprogram return
– Part program end
Configuration
Specification of the replacement subroutine
The name of the subroutine, which is to become effective in case of T-Function replacement,
is entered in the machine data:
MD10717 $MN_T_NO_FCT_CYCLE_NAME
The name of the subroutine, which is to become effective in case of D/DL function
replacement, is entered in the machine data:
MD11717 $MN_D_NO_FCT_CYCLE_NAME
Basic Functions
686 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
Note
The same subroutine should be configured for the T and D/DL replacement subroutine.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 687
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
Note
Which replacements are to be performed at the block start and which are to be performed at
the block end is up to the user.
Programming
Read activation time of the replacement subroutine
The $P_SUB_STAT system variables can be used to define the time (block start/block end)
when the replacement operation is executed:
Value Description
0 Replacement subroutine is not active
1 Replacement subroutine is active, call at block start
2 Replacement subroutine is active, call at block end
Programming Comment
...
N110 D1
N120 G90 G0 X100 Y100 Z50 ; D1 is active
N130 D2 X110 Z0 T5 ; D1 remains active, programmed D2 is provided to
the T replacement cycle as a variable.
...
A comprehensive example for the T function replacement is given in " Examples of M/T
function replacement during tool change (Page 694) ".
Basic Functions
688 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
Note
The configuration of a replacement subroutine for the tool change with M code is dependent
on whether the tool change with M code was actually configured with MD22550
$MC_TOOL_CHANGE_MODE.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 689
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
The data (parameters) needed for the tool offset or the tool offset selection is passed to the
subroutine via the system variables. The parameters stored in the system variables always
refer to the part program line in which the M function to be replaced is programmed.
Note
The address extension and function value of the M function must be explicitly, i.e. constantly,
programmed for M function replacements with parameter transfer. An indirection definition
via variables is not allowed.
Permissible programming:
M<function value>
M=<function value>
M[<address extension>] = <function value>
Impermissible programming:
M=<Variable1>
M[<variable2>] = <variable1>
Basic Functions
690 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
CAUTION
The values passed to the replacement subroutine have not yet been executed and
must, therefore, be programmed again in this subroutine.
System variables
The programmed values (T, D or Dl numbers, M function for tool change, address
extensions) can be transferred to the replacement subroutine via the following system
variables:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 691
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
Programming Comment
...
N210 D1
N220 G90 G0 X100 Y100 Z50 ; D1 is active
N230 D2 X110 Z0 T5 ; D1 remains active, programmed D2 is provided
to the T replacement subroutine as a variable.
N240 M6 ; Execute tool change
...
Example 2:
Tool change with M6 should be active. The D/DL number is not to be transferred to the
replacement subroutine.
Programming Comment
...
N310 D1
N320 G90 G0 X100 Y100 Z50 ; D1 is active
N330 D2 X110 Z0 T5 ; D2 is activated, D2 is not transferred to the
T replacement subroutine as a variable
N340 M6 ; Execute tool change
...
Basic Functions
692 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
Example 3:
A replacement subroutine (MY_T_CYCLE ) is configured for T and M6.
In addition, MD10718 $MN_M_NO_FCT_CYCLE_PAR (M Function replacement with
parameters) was used to configure the parameter transfer to M6 replacement subroutine.
If M6 is now programmed in the block with D or DL, then the D or the DL number is also
transferred as parameter to the M6 replacement subroutine, when:
MD10719 $MN_T_NO_FCT_CYCLE_MODE = 1
Programming Comment
...
N410 D1
N420 G90 G0 X100 Y100 Z50 ; D1 is active
N330 D2 X110 Z0 T5 M6 ; D1 remains active, D2 and T5 are transferred
to the M6 replacement subroutine as a variable
...
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 693
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
Main program:
Programming
PROC MAIN
...
N10 T1 D1 M6
...
N90 M30
Replacement subroutine:
Programming Comment
PROC SUB_M6
N110 IF $C_T_PROG==TRUE ; Scan whether address T has been programmed
N120 T[$C_TE] = $C_T ; Execute T selection
N130 ENDIF
N140 M[$C_ME] = 6 ; Execute tool change
N150 IF $C_D_PROG==TRUE Scan whether address D has been programmed.
N160 D=$C_D Execute D selection
N170 ENDIF
N190 M17
Basic Functions
694 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
Main program:
Programming
...
N410 G01 F1000 X10 T1=5 D1
...
Replacement subroutine:
Programming Comment
N1000 PROC D_T_SUB_PROG DISPLOF SBLOF
...
N4100 IF $C_T_PROG==TRUE ; Scan whether address T has been
programmed
N4110 ; Replacement for address T with
tool no.
N4120 POS[B] = CAC($C_T) ; Move revolver to indexing position
N4130 T[$C_TE] = $C_T ; Select tool (T selection)
N4140 ENDIF
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 695
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
Program Comment
N1000 PROC D_T_SUB_PROG DISPLOF SBLOF
...
N4100 IF $C_T_PROG==TRUE ; Scan whether address T has been
programmed
N4110 ; Replacement for address T with
tool no.
N4120 POS[B] = CAC($C_T) ; Move revolver to indexing position
N4130 T[$C_TE] = $C_T ; Select tool (T selection)
N4140 ENDIF
Basic Functions
696 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
Multiple replacements
Multiple replacements mean that several replacement subroutines with different names have
been configured, e.g.:
● For Address D and DL:
MD11717 $MN_FCT_CYCLE_NAME = "D_SUB_PROG"
● For Address T:
MD10717 $MN_FCT_CYCLE_NAME = "T_SUB_PROG"
● for the M function for the tool change
MD10715 $MN_M_NO_FCT_CYCLE[0] = 6
MD10716 $MN_M_NO_FCT_CYCLE_NAME[0] = "M6_SUB_PROG"
MD10718 $MN_M_NO_FCT_CYCLE_PAR = 0
MD22550 $MC_TOOL_CHANGE_MODE = 1
MD22560 $MC_TOOL_CHANGE_M_CODE = 6
Conflict resolution
The following table illustrates how the control system resolves the conflicts in case of
multiple replacements:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 697
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
9.14.4.1 General
Function
In case of active synchronous spindle coupling, the following spindle-related functions can
be replaced by a subroutine for the leading spindleof this coupling:
● Direct gear stage change with M41 to M45 and automatic gear stage change in case of
speed programming with M40
● Spindle positioning with SPOS, SPOSA and M19
Conditions
● The replacement of a spindle-related function is executed only when:
– the programmed spindle is active as leading spindleof a synchronous spindle
coupling.
– Leading and following spindle are present in the same channel.
– in case of a gear-stage change actually a gear-stage change is present.
● Only one of the possible spindle-related function replacements can be executed in a part
program line. Multiple replacements lead to the termination of the part program
processing. If still several spindle-related functions have to be replaced, then the
respective function calls must be distributed to several part program lines.
Configuration
Functions to be replaced
The spindle-related functions to be replaced through the subprogram are selected in the
machine data:
MD30465 $MA_AXIS_LANG_SUB_MASK
Bit Description
0 Gear-stage change automatic (M40) and directly (M41-M45)
=0 No replacement
=1 Replacement through the subroutine set in MD15700 and MD15702
1 Spindle positioning with SPOS/SPOSA/M19
=0 No replacement
=1 Replacement through the subroutine set in MD15700 and MD15702
Name of subprogram
The name of the subroutine, which is to replace the spindle-related function selected in
MD30465, is to be entered in the machine data:
MD15700 $MN_LANG_SUB_NAME (Name for the substitution subroutine)
Basic Functions
698 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
Value Description
0 Path to the directory with the Manufacturer cycles: /_N_CMA_DIR
(default setting)
1 Path to the directory with the User cycles: /_N_CUS_DIR
2 Path to the directory with the Siemens cycles: /_N_CST_DIR
Value Description
0 Replacement subroutine is not active
1 Replacement subroutine is active, call at block start
2 Replacement subroutine is active, call at block end
Function
If a gear-stage change is to be done for the leading spindle of an active synchronous spindle
coupling and the replacement is configured through a subroutine
(MD30465 $MA_AXIS_LANG_SUB_MASK, Bit 0 = 1), then a replacement subroutine is
called for the implementation of the gear-stage change.
The replacement subroutine handles the following tasks:
1. Resolve coupling
2. The gear stage change of the spindles involved in the coupling is executed
3. Close coupling again
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 699
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
Basic Functions
700 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
Example
Configuration
The replacement subroutine for the gear-stage change is activated:
MD30465 $MA_AXIS_LANG_SUB_MASK[AX5] = 'H0001'
For the output of M41 to M45 to the PLC an output before the motion is configured:
MD22080 $MC_AUXFU_PREDEF_SPEC[12] = 'H21'
MD22080 $MC_AUXFU_PREDEF_SPEC[13] = 'H21'
MD22080 $MC_AUXFU_PREDEF_SPEC[14] = 'H21'
MD22080 $MC_AUXFU_PREDEF_SPEC[15] = 'H21'
MD22080 $MC_AUXFU_PREDEF_SPEC[16] = 'H21'
Main program:
Programming Comment
PROC MAIN
...
N110 COUPON(S2,S1) ; Activate synchronous spindle coupling
N120 G01 F100 X100 S5000 M3 M43 ; Call of _N_LANG_SUB_SPF due to M43
N130 M40 ; Automatic gear stage change on
N140 M3 S1000 ; Call of _N_LANG_SUB_SPF in case of
automatic gear-stage change based on S
programming.
Programming Comment
N1000 PROC LANG_SUB DISPLOF SBLOF
N1100 IF($P_SUB_AXFCT ==1) ; Replacement due to gear stage
change
...
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 701
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
Programming Comment
N1140 DELAYFSTON ; Start Stop Delay Area
N1150 COUPOF(S2,S1) ; Deactivate synchronous spindle
coupling
N1160 ; Execute gear-stage change
separately for main and following
spindle:
N1170 M1=$P_SUB_GEAR M2=$P_SUB_GEAR
N1180 DELAYFSTON ; End of Stop Delay Area
N1190 COUPON(S2,S1) ; Activate synchronous spindle
coupling
N1200 ENDIF
...
N9999 RET
Programming Comment
N1000 PROC LANG_SUB DISPLOF SBLOF
N1010 DEF AXIS _LA ; Auxiliary memory for leading axis/leading
spindle
N1020 DEF AXIS _CA ; Auxiliary memory for following
axis/following spindle
N1030 DEF INT _GEAR ; Auxiliary memory for gear stage
...
N1100 IF($P_SUB_AXFCT==1) ; Replacement due to gear stage change
N1110 _GEAR=$P_SUB_GEAR ; Save gear stage to be activated
temporarily
N1120 _LA=$P_SUB_LA ; Save axis identifier of the leading
spindle temporarily
N1130 _CA=$P_SUB_CA ; Save axis identifier of the following
spindle temporarily
N1140 DELAYFSTON ; Start Stop Delay Area
N1150 COUPOF(_CA,_LA) ; Deactivate synchronous spindle coupling
N1160 ; Execute gear stage change for leading and
following spindle:
N1170 M[AXTOSPI(_LA)]=_GEAR M[AXTOSPI(_CA)]=_GEAR
N1180 DELAYFSTOF End of Stop Delay Area
N1190 COUPON(_CA,_LA) ; Activate synchronous spindle coupling
N1200 ENDIF
...
N9999 RET
Basic Functions
702 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
Function
When the leading spindle of an active synchronous coupling with SPOS, SPOSA or M19 is to
be positioned and the replacement is configured through a subroutine
(MD30465 $MA_AXIS_LANG_SUB_MASK, Bit 1 = 1), then a replacement subroutine is
called for the implementation of the positioning.
The replacement subroutine handles the following tasks:
1. Resolve coupling
2. The spindles involved in the coupling are positioned separately at the position specified
by the leading spindle
3. Close coupling again
Application
Parallel processing of workpieces, e.g. in double-spindle machine. The spindles in such a
machine are coupled with the help of a coupling factor not equal to one and must, e.g. be
positioned at the same position due to a tool change. If the coupling is separated earlier,
then each spindle can be positioned at the tool change position separately.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 703
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
Basic Functions
704 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
Example
Configuration
The replacement subroutine for the spindle positioning is activated:
MD30465 $MA_AXIS_LANG_SUB_MASK[AX5]='H0002'
For the output of M19 to the PLC an output before the motion is configured:
MD22080 $MC_AUXFU_PREDEF_SPEC[9]='H0021'
For spindle positioning with M19 the spindle position "260" is configured:
SD43240 $SA_M19_SPOS[AX5]=260
For the position approach mode during spindle positioning with M19 "Approach in positive
direction (ACP)" is configured:
SD43250 $SA_M19_SPOSMODE[AX5]=4
Main program:
Programming Comment
PROC MAIN
...
N110 COUPON(S2,S1) ; Activate synchronous spindle coupling
N220 SPOS[1]=100 ; Position leading spindle with SPOS
...
N310 G01 F1000 X100 M19 ; Position leading spindle with M19
Programming Comment
N1000 PROC LANG_SUB DISPLOF SBLOF
...
N2100 IF($P_SUB_AXFCT==2)
N2110 ; Replacement of the SPOS/SPOSA/M19
command for an active synchronous
spindle coupling
N2185 DELAYFSTON ; Start Stop Delay Area
N2190 COUPOF(S2,S1) ; Deactivate synchronous spindle
coupling
N2200 ; Position leading and following spindle
N2210 IF($P_SUB_SPOS==TRUE) OR ($P_SUB_SPOSA==TRUE)
N2220 ; Positioning the spindle with SPOS:
N2230 SPOS[1]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE)
SPOS[2]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 705
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
Programming Comment
N2250 ELSE
N2260 ; Positioning the spindle using M19:
N2270 M1=19 M2=19 ; Position leading and following spindle
N2280ENDIF
N2285 DELAYFSTOF ; End of Stop Delay Area
N2290 COUPON(S2,S1) ; Activate synchronous spindle coupling
N2410 ELSE
N2420 ; Query on further replacements
...
N3300 ENDIF
...
N9999 RET
Programming Comment
N1000 PROC LANG_SUB DISPLOF SBLOF
N1010 DEF AXIS _LA ; Auxiliary memory for leading
axis/leading spindle
N1020 DEF AXIS _CA ; Auxiliary memory for following
axis/following spindle
N1030 DEF INT _LSPI ; Auxiliary memory for leading spindle
number (programmed spindle)
N1040 DEF INT _CSPI ; Auxiliary memory for following
spindle number
...
N2100 IF($P_SUB_AXFCT==2)
N2110 ; Replacement of the SPOS/SPOSA/M19
command for an active synchronous
spindle coupling
N2120 _LA=$P_SUB_LA ; Save axis identifier of the leading
spindle temporarily
N2130 _CA=$P_SUB_CA ; Save axis identifier of the following
spindle temporarily
N2140 _LSPI=AXTOSPI(_LA) ; Save the number of the leading
spindle temporarily
N2180 _CSPI=AXTOSPI(_LA) ; Save the number of the following
spindle temporarily
N2185 DELAYFSTON ; Start Stop Delay Area
N2190 COUPOF(_CA,_LA) ; Deactivate synchronous spindle
coupling
N2200 ; Position leading and following
spindle:
N2210 IF($P_SUB_SPOS==TRUE) OR ($P_SUB_SPOSA==TRUE)
Basic Functions
706 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
Programming Comment
N2220 ; Positioning the spindle with SPOS:
N2230 SPOS[_LSPI]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE)
SPOS[_CSPI]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE)
N2250 ELSE
N2260 ; Positioning the spindle using M19:
N2270 M[_LSPI]=19 M[_CSPI]=19 ; Position leading and following
spindle
N2280 ENDIF
N2285 DELAYFSTOF End of Stop Delay Area
N2290 COUPON(_CA,_LA) ; Activate synchronous spindle coupling
N2410 ELSE
N2420 ; Query on further replacements
...
N3300 ENDIF
...
N9999 RET
9.14.4.4 Sequence
The sequence of replacement of a spindle-related function depends on the replacement type
(gear-stage change or spindle positioning) and on the time of call of the replacement
subroutine (block start or block end).
The most important options are described in more detail below:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 707
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
Basic Functions
708 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
Sequence of a replacement program for a spindle positioning with M19 at block end
The part program line that leads to calling the replacement subroutine is executed first,
without the spindle positioning.
The system variable $P_SUB_STAT returns the value "2":
⇒ Replacement subroutine is active, call at block end.
The further sequence corresponds to the sequence of a replacement program for spindle
positioning at block start.
General rules
● Like any other subroutine, a replacement subroutine can contain a PROC statement.
● Replacement subroutines can also be called from the ISO-Dialect mode. The processing
of the replacement subroutine is basically done in Siemens standard mode. The return
shifts the control back to the language mode.
● No transfer parameters can be defined. The transfer of data to the replacement
subroutine always occurs via a system variable.
● The PROC statement enables program attributes such as SBLOF and DISPLOF to be
programmed.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 709
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
● The behavior in case of active single block and programmed SBLOF attribute depends on
the setting of bit 14 in the machine data:
MD10702 IGNORE_SINGLEBLOCK_MASK (Prevent single block stop)
Bit 14 = 0:
The replacement subroutine behaves like any other subroutine:
– Return jump with M17: Stop at the end of the subprogram
Note:
The output of the M function at the PLC depends on the setting of bit 0 in the machine
data:
MD20800 $MC_SPF_END_TO_VDI (subprogram end to PLC)
Bit 0 = 0: no output
Bit 0 = 1: M17 is output to the PLC.
– Return jump with RET: No stop at end of subprogram
Bit 14 = 1:
In a part program line, in which a replacement subroutine is called, stop is done only
once. Thereby it is not important, whether:
– the replacement subroutine was called at the block start and/or at the block end.
– from the replacement subroutine further subroutines were called.
– the replacement subroutine was exited with M17 or RET.
The single block stop takes place for the replacement of M functions at the end of the
replacement subroutine. For the replacement of T functions and D/DL functions the time
of the single block stop depends on the call time of the replacement subroutine:
Call at block start ⇒ single block stop at the end of the part program line
Call at block end ⇒ single block stop at the end of the replacement subroutine
● If the replacement subroutine has the DISPLOF attribute, the program line that has
resulted in the replacement subroutine call is displayed as the current block in the block
display.
● With DELAYFSTON and DELAYFSTOF areas or even the entire replacement subroutine
can be protected against interruptions, such as NC stop, read-in disable, etc.
● Replacements do not occur recursively, i.e. the function that has led to the replacement
subroutine call is no longer replaced if it is programmed again in the replacement
subroutine.
Basic Functions
710 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Replacement of NC functions by subprograms
Block-search response
The replacement subroutines are executed as in the normal program mode in case of block
search with calculation and SERUPRO.
9.14.6 Restrictions
For using the function "Replacement of NC functions through subroutines" the following
boundary conditions must be noted:
● Replacements in synchronized actions are not permitted
● Replacements in technology cycles are not permitted
● A part program line that contains language constructs to be replaced at the block start
may not be placed in front of any block-wise synchronized actions.
● Spindle-related replacements are executed only if the programmed spindle is the leading
spindle of an active synchronous spindle coupling. It is detected by the system only if the
leading spindle is located in the channel in which the coupling was closed. If the leading
spindle is changed to another channel, then a gear stage change or a repositioning of this
spindle does not lead to the desired call in the replacement cycle.
● Only the actions required for the respective replacements can be performed in the
replacement cycle.
● in a part program block in which a replacement subroutine is called at the block end, no:
– modular subroutine call should be active
– Ssubroutine return should be programmed.
– part program end should be programmed.
CAUTION
The system does not monitor whether the user actually replaces the respective
function in the replacement cycle. Therefore, if the user fails to implement this
correctly, the actual intended function can be omitted.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 711
Mode Group, Channel, Program Operation, Reset Response (K1)
Program runtime/part counter
Function
The "program runtime" function provides internal NC timers to monitor technological
processes, which can be read into the part program and into synchronized actions via the
NC and channel-specific system variables.
Time since the last control power-up
The timers for measuring the time since the last control power-up are always active and can
be read via NC-specific system variables:
Basic Functions
712 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program runtime/part counter
The following system variables are available for the timers that are always active:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 713
Mode Group, Channel, Program Operation, Reset Response (K1)
Program runtime/part counter
Note
Residual time for a workpiece
If the same workpieces are produceed one after the other, then from the timer values:
• Processing time for the last workpiece produced (see $AC_OLD_PROG_NET_TIME)
and
• current processing time (see $AC_ACT_PROG_NET_TIME)
the remaining residual time for a workpiece can be determined.
The residual time is displayed on the operator interface in addition to the current processing
time.
NOTICE
Using STOPRE
The system variables $AC_OLD_PROG_NET_TIME and
$AC_OLD_PROG_NET_TIME_CTR do not generate any implicity preprocessing stop. This
is uncritical when used in the part program if the value of the system variables comes from
the previous program run. However, if the trigger for the runtime measurement
($AC_PROG_NET_TIME_TRIGGER) is written very frequently and as a result
$AC_OLD_PROG_NET_TIME changes very frequently, then an explicit STOPRE should be
used in the part program.
Basic Functions
714 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program runtime/part counter
The following system variables are available for the timers that are activated/deactivated
through MD parameterization:
Activation/Deactivation
The activation/deactivation of the timers is done using machine data:
MD27860 $MC_PROCESSTIMER_MODE, Bit 0-2
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 715
Mode Group, Channel, Program Operation, Reset Response (K1)
Program runtime/part counter
Parameter assignment
With MD27860 the behavior of the active time measurements (bit 0, 1, 2 = 1) is also
determined during special functions (e.g. dry run feedrate, program test):
Boundary conditions
● Block search
No program runtimes are determined through block searches.
● REPOS
The duration of a REPOS process is added to the current processing time
($AC_ACT_PROG_NET_TIME).
Examples
Example 1: Parameterization of the runtime measurement via MD27860
● Activating the runtime measurement for the active NC program and hence no
measurement in case of active dry run feedrate and program test:
MD27860 $MC_PROCESSTIMER_MODE = 'H2'
● Activating the measurement for the tool action time and measurement also with active dry
run feedrate and program test.
MD27860 $MC_PROCESSTIMER_MODE = 'H34'
● Activating the measurement for the total runtime and the processing time with an active
tool, including measurement with a program test:
MD27860 $MC_PROCESSTIMER_MODE = 'H25'
Basic Functions
716 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program runtime/part counter
● Activating the measurement for the total runtime and the machining time (independent of
the tool), including measurement with a program test:
MD27860 $MC_PROCESSTIMER_MODE = 'Ha5'
● Activating the measurement for the processing time with an active tool, including
measurements at an override of 0%, but not with a trial run feed active:
MD27860 $MC_PROCESSTIMER_MODE = 'H22'
Program code
...
N50 DO $AC_PROG_NET_TIME_TRIGGER=2
N60 FOR ii= 0 TO 300
N70 mySubProgrammA
N80 DO $AC_PROG_NET_TIME_TRIGGER=1
N95 ENDFOR
N97 mySubProgrammB
N98 M30
After the program has processed line N80, the net runtime of "mySubProgrammA" is located
in $AC_OLD_PROG_NET_TIME.
The value from $AC_OLD_PROG_NET_TIME:
● is kept beyond M30.
● is updated each time the loop is run through.
Program code
N10 DO $AC_PROG_NET_TIME_TRIGGER=2
N20 mySubProgrammA
N30 DO $AC_PROG_NET_TIME_TRIGGER=3
N40 mySubProgrammB
N50 DO $AC_PROG_NET_TIME_TRIGGER=4
N60 mySubProgrammC
N70 DO $AC_PROG_NET_TIME_TRIGGER=1
N80 mySubProgrammD
N90 M30
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 717
Mode Group, Channel, Program Operation, Reset Response (K1)
Program runtime/part counter
Function
The "Workpiece counter" function makes available various counters which can be used in
particular internally in the control to count workpieces.
The counters exist as channel-specific system variables with read and write access in a
range of values from 0 to 999,999,999.
Channel-specific machine data can be used to control counter activation, counter reset
timing and the counting algorithm.
System variables for workpiece counting
Note
All workpiece counters are set to "0" when the control powers up with default values and can
be read and written independent of their activation.
Activation
The workpiece counter is activated with the machine data:
MD27880 $MC_PART_COUNTER (activation of workpiece counters)
Basic Functions
718 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program runtime/part counter
<n> Significance
0 MD27882[0] defines the M command code, in which $AC_TOTAL_PARTS is incremented.
1 MD27882[1] defines the M command code, in which $AC_ACTUAL_PARTS is incremented.
2 MD27882[2] defines the M command code, in which $AC_SPECIAL_PARTS is incremented.
The respective workpiece counter is incremented by "1", when a user-defined M command is
called.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 719
Mode Group, Channel, Program Operation, Reset Response (K1)
Program runtime/part counter
Boundary conditions
● Mode change/NC RESET
The counters are not affected by a mode change or NC RESET.
● $AC_REQUIRED_PARTS ≤ 0
Where $AC_REQUIRED_PARTS ≤ 0 and MD27880 $MC_PART_COUNTER bit 0 = 1,
the counting procedure and the identity comparison set with MD27880 are not conducted
for all the activated counters.
Examples
● Activation of the workpiece counter $AC_REQUIRED_PARTS:
MD27880 $MC_PART_COUNTER = 'H3'
– $AC_REQUIRED_PARTS is active
– Display alarm at: $AC_REQUIRED_PARTS == $AC_SPECIAL_PARTS
● Activation of the workpiece counter $AC_TOTAL_PARTS:
MD27880 $MC_PART_COUNTER = 'H10'
MD27882 $MC_PART_COUNTER_MCODE[0] = 80
– $AC_TOTAL_PARTS is active; the counter is incremented by the value 1 with each
M02.
– $MC_PART_COUNTER_MCODE[0] has no significance.
● Activation of the workpiece counter $AC_ACTUAL_PARTS:
MD27880 $MC_PART_COUNTER = 'H300'
MD27882 $MC_PART_COUNTER_MCODE[1] = 17
– $AC_TOTAL_PARTS is active; the counter is incremented by a value of "1" with each
M17.
● Activation of the workpiece counter $AC_SPECIAL_PARTS:
MD27880 $MC_PART_COUNTER = 'H3000'
MD27882 $MC_PART_COUNTER_MCODE[2] = 77
– $AC_SPECIAL_PARTS is active.
– The following takes place with every M77: $AC_SPECIAL_PARTS + 1
● Deactivation of the workpiece counter $AC_ACTUAL_PARTS:
MD27880 $MC_PART_COUNTER = 'H200'
MD27882 $MC_PART_COUNTER_MCODE[1] = 50
– $AC_ACTUAL_PARTS is inactive
Basic Functions
720 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Program runtime/part counter
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 721
Mode Group, Channel, Program Operation, Reset Response (K1)
Data lists
Basic Functions
722 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Data lists
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 723
Mode Group, Channel, Program Operation, Reset Response (K1)
Data lists
Block search
Basic Functions
724 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Data lists
Reset response
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 725
Mode Group, Channel, Program Operation, Reset Response (K1)
Data lists
Memory settings
Basic Functions
726 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Data lists
9.16.3 Signals
9.16.3.1 Signals to NC
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 727
Mode Group, Channel, Program Operation, Reset Response (K1)
Data lists
Basic Functions
728 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Mode Group, Channel, Program Operation, Reset Response (K1)
Data lists
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 729
Mode Group, Channel, Program Operation, Reset Response (K1)
Data lists
Basic Functions
730 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2) 10
10.1 Brief description
10.1.1 Axes
Machine axes
Machine axes are the axes that actually exist on a machine tool.
Channel axes
Every geometry axis and every special axis is assigned to a channel and, therefore, a
channel axis. Geometry axes and additional axes are always traversed in "their" channel.
Geometry axes
The three geometry axes always make up a fictitious rectangular coordinate system, the
basic coordinate system (BCS).
By using FRAMES (offset, rotation, scaling, mirroring), it is possible to image geometry axes
of the workpiece coordinate system (WCS) on the BCS.
Special axes
In contrast to geometry axes, no geometrical relationship is defined between the special
axes.
Path axes
Path axes are interpolated together (all the path axes of a channel have a common path
interpolator).
All the path axes of one channel have the same acceleration phase, constant travel phase
and delay phase.
Positioning axes
Positioning axes are interpolated separately (each positioning axis has its own axis
interpolator). Each positioning axis has its own feedrate and acceleration characteristic.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 731
Axes, Coordinate Systems, Frames (K2)
Brief description
Synchronized axes
Synchronous axes are interpolated together with path axes (all path axes and synchronous
axes of one channel have a common path interpolator).
All path axes and all synchronous axes of a channel have the same acceleration phase,
constant travel phase and deceleration phase.
Axis configuration
The machine data below are used to assign the geometry axes, special axes, channel axes
and machine axes as well as the names of the individual axis types:
MD20050 $MC_AXCONF_GEOAX_ASIGN_TAB (assignment of geometry axis to channel
axis)
MD20060 $MC_AXCONF_GEOAX_NAME_TAB (name of the geometry axis in the channel)
MD20070 $MC_AXCONF_MACHAX_USED (machine axis number valid in channel)
MD20080 $MC_AXCONF_CHANAX_NAME_TAB (name of the channel axis in the channel)
MD10000 $MN_AXCONF_MACHAX_NAME_TAB (machine axis name)
MD35000 $MA_SPIND_ASSIGN_TO_MACHAX (assignment of spindle to machine axis)
Link axis
Link axes are axes, which are physically connected to another NCU and whose position is
controlled from this NCU. Link axes can be assigned dynamically to channels of another
NCU. Link axes are not local axes from the perspective of a particular NCU.
The axis container concept is used for the dynamic modification of the assignment to an
NCU. Axis replacement with GET and RELEASE from the part program is not available for link
axes across NCU boundaries.
The link axes are described in
References:
/FB2/ Function Manual, Expansion Functions; Multiple Operator Panels on Multiple NCUs,
Distributed Systems (B3)
Basic Functions
732 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Brief description
Axis container
An axis container is a circular buffer data structure, in which local axes and/or link axes are
assigned to channels. The entries in the circular buffer can be shifted cyclically.
In addition to the direct reference to local axes or link axes, the link axis configuration in the
logical machine axis image also allows references to axis containers.
This type of reference consists of:
● Axis container number
● A slot (circular buffer location within the corresponding container)
The entry in a circular buffer location contains:
● A local axis
Or
● A link axis
The axis container function is described in
References:
/FB2/ Function Manual, Expansion Functions; Multiple Operator Panels on Multiple NCUs,
Distributed Systems (B3)
MCS
The machine coordinate system (MCS) has the following properties:
● It is defined by the machine axes.
● The machine axes can be perpendicular to each other to form Cartesian system or
arranged in any other way.
● The names of the machine axes can be defined.
● The machine axes can be linear or rotary axes.
BCS
The basic coordinates system (BKS) has the following properties:
● The geometry axes form a perpendicular Cartesian coordinate system.
● The BCS is derived from a kinematic transformation of the MCS.
BZS
The basic zero system (BZS) is the basic coordinate system with a basic offset.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 733
Axes, Coordinate Systems, Frames (K2)
Brief description
SZS
The settable zero system (SZS) is the workpiece coordinate system with a programmable
frame from the viewpoint of the WCS. The workpiece zero is defined by the settable frames
G54 to G599.
WCS
The workpiece coordinate system (WCS) has the following properties:
● In the workpiece coordinate system all the axes coordinates are programmed (part
program).
● It is made up of geometry axes and special axes.
● Geometry axes always form a perpendicular Cartesian coordinate system
● Special axes form a coordinate system without any geometrical relation between the
special axes.
● The names of the geometry axes and special axes can be defined.
● The workpiece coordinate system can be translated, rotated, scaled or mirrored with
FRAMES (TRANS, ROT, SCALE, MIRROR).
Multiple translations, rotational movements, etc., are also possible.
Basic Functions
734 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Brief description
10.1.3 Frames
FRAME
A FRAME is a closed calculation rule that translates one Cartesian coordinate system into
another.
FRAME components
6FDOLQJ
0LUURULQJ
5RWDWLRQ
)LQHRIIVHW
5RXJKRIIVHW
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 735
Axes, Coordinate Systems, Frames (K2)
Brief description
G58, G59
G58 and G59 can be programmed to replace the rough and fine offsets of the programmable
frame on an axial basis. These functions can only be used when the fine offset is configured.
● Rough offset with G58
G58 changes only the absolute translation component (rough offset) for the specified
axis; the total of additively programmed translations (fine offset) is retained.
● Fine offset with G59
G59 is used for axial overwriting of the additively programmed translations for the
specified axes that were programmed with ATRANS.
Frame rotations
Orientations in space are defined via frame rotations as follows:
● Rotation with ROT defines the individual rotations for all geometry axes.
● Solid angles with ROTS, AROTS, CROTS define the orientation of a plane in space.
● Frame rotation with TOFRAME defines a frame with a Z axis pointing in the tool direction.
Scaling
SCALE is used to program the programmable scale factors for all geometry axes and special
axes.
If a new scaling is to be based on a previous scaling, rotation, translation or mirroring, then
ASCALE must be programmed.
Mirroring
The axis to be mirrored can be set via the following machine data:
MD10610 MIRROR_REF_AX (reference axis for the mirroring)
Value Significance
0 Mirroring is performed around the programmed axis.
1, 2 or 3 Depending on the input value, mirroring is mapped onto the mirroring of a specific
reference axis and rotation of two other geometry axes.
Basic Functions
736 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Brief description
Frame chaining
The current FRAME is composed of the total basic frame, the settable FRAME, the system
frames and the programmable FRAME.
The current complete frame is calculated according to the formula below:
Value Significance
1 Zero offset is applied on FRAME and incremental programming of an axis (= default setting).
0 Only the programmed path is traversed.
Suppression of frames
Current frames can be suppressed with the following instructions:
Command Significance
G53 Current zero offset (ZO)
G153 Current frame including basic frame
SUPA Current ZO, incl. programmed offsets
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 737
Axes, Coordinate Systems, Frames (K2)
Brief description
Channel coordination
With NCU global frames, the user must ensure channel coordination and activation of the
frames (e.g. using the WAITMC command), to allow the frames to be calculated at the
desired point in the program.
Cross-channel activation of frames is not supported.
Basic Functions
738 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Axes
10.2 Axes
10.2.1 Overview
*HRPHWU\D[HV 6SHFLDOD[HV
&KDQQHOD[HV
.LQHPDWLF
WUDQVIRUPDWLRQ
/LQHDUD[HV
5RWDU\D[HV
2ULHQWDWLRQD[HV
0DFKLQHD[HV
Figure 10-2 Relationship between geometry axes, special axes and machine axes
0DFKLQHD[HV
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 739
Axes, Coordinate Systems, Frames (K2)
Axes
Meaning
Machine axes are the axes that actually exist on a machine tool.
%
=
&
;
<
Application
The following can be machine axes:
● Geometry axes X, Y, Z
● Orientation axes A, B, C
● Loader axes
● Tool turrets
Basic Functions
740 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Axes
Meaning
Each geometry axis and each special axis is assigned to a channel. Geometry axes and
additional axes are always traversed in "their" channel.
Meaning
The three geometry axes always make up a fictitious rectangular coordinate system.
By using FRAMES (offset, rotation, scaling, mirroring), it is possible to image geometry axes
of the workpiece coordinate system (WCS) on the BCS.
Application
Geometry axes are used to program the workpiece geometry (the contour).
Plane selection G17, G18 and G19 (DIN 66217) always refers to the three geometry axes.
That is why it is advantageous to name the three geometry axes X, Y and Z.
Significance
The "Replaceable geometry axes" function allows the geometry axes in a grouping to be
replaced by other channel axes.
Axes that are initially configured as synchronous special axes in a channel can replace any
selected geometry axis in response to a program command.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 741
Axes, Coordinate Systems, Frames (K2)
Axes
Example
On a machine with two Z axes, Z1 and Z2, either of the Z axes can be programmed as the
geometry axis in response to an instruction in the part program.
Activation
Axis replacement is activated by the program command:
GEOAX([n, channel axis name]...)
n=0: Removes an axis from the geometry axis grouping.
n=1, 2, 3: Index of the geometry axis
GEOAX( ): Establishes the basic setting defined via MD for the assignment of
channel axes to geometry axes.
Channel axis name: Name of channel axis, which is to operate as a geometry axis.
A channel axis, which has been designated a geometry axis, can only be addressed under
its geometry axis name. The geometry axes names themselves remain unchanged.
Geometry axes can be replaced either individually or as a group in one command.
Supplementary conditions
As a basic rule, any channel axis designated as a geometry axis can be replaced by another
channel axis.
In this case, the following restrictions apply:
● Rotary axes may not be programmed as geometry axes.
● A geometry axis, which has the same name as a channel axis, cannot be replaced by
another channel axis (alarm message). Nor can an axis of this type be removed from the
geometry axis grouping. It cannot change its position within the geometry axis grouping.
● Both axes in each of the axis pairs involved in the replacement operation must be block-
synchronized.
● The following functions may not be active when geometry axes are replaced:
– Transformation
– Spline interpolation
– Tool radius compensation
– Tool fine compensation
● Any active DRF offset or zero offset external will remain operative. They both act on
channel axes. The channel axis assignment is not affected by the replacement of
geometry axes.
Basic Functions
742 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Axes
RESET
The reset behavior of the changed geometry axis assignment is defined with the following
machine data:
MD20110 $MC_RESET_MODE_MASK (definition of initial control system settings after
RESET/TP end)
MD20118 $MC_GEOAX_CHANGE_RESET (allow automatic geometry axis change)
MD20110 $MC_RESET_MODE_MASK
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 743
Axes, Coordinate Systems, Frames (K2)
Axes
MD20118 $MC_GEOAX_CHANGE_RESET
Value Significance
0 The current configuration of the geometry axes remains unchanged on reset and program
start. With this setting, the response is identical to older software versions without geometry
axis replacement.
1 The configuration of the geometry axis remains unchanged during reset or part program end
as a function of machine data MD20110 $MC_RESET_MODE_MASK and during part
program start as a function of machine data MD20112 $MC_START_MODE_MASK
(definition of initial control system settings with NC START) or brought to the initial status
defined in the machine data MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB (assignment
of geometry axis to channel axis).
Program start
Analogously to the Reset response, the behavior during program start is based on the
setting in the machine data:
MD20112 $MC_START_MODE_MASK (definition of initial control system settings with
NC-START)
M code
A changeover of the geometry axis with GEOAX( ) can be communicated to the PLC
through the output of an M code:
MD22532 $MC_GEOAX_CHANGE_M_CODE (M-Code during tool holder change)
Note
If this machine data is set to one of the values 0 to 6, 17, 30, then no M code is output.
Basic Functions
744 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Axes
Transformation changeover
The following interrelationships must be noted with respect to kinematic transformation and
geometry axis replacement:
● Geometry axis assignments cannot be modified when the transformation is active.
● Activation of a transformation deletes the programmed geometry axis configuration and
replaces it by the geometry axis assignment stored in the machine data of the activated
transformation.
● The initial setting defined through MD for the geometry axis configuration becomes
effective after deactivating the transformation.
Should it be necessary to modify the geometry axis assignment in connection with
transformations, then another new transformation must be configured. The total number of
the transformations simultaneously available in the channel is equal to 8.
A maximum of two transformations per channel can be available simultaneously from the
transformation groups below:
● Orientation transformations
(3-axis, 4-axis, 5-axis and nutation transformation)
● TRAANG (oblique axis)
● TRANSMIT
● TRACYL
References:
/FB3/ Function Manual, Special Functions; 3-Axis to 5-Axis Transformation (F2)
/FB2/ Function Manual, Extension Functions; Kinematic Transformation (M1)
Example
In the example below, it is assumed that there are 6 channel axes with channel axis names
XX, YY, ZZ, U, V, W and three geometry axes with names X, Y, Z. The basic setting is
defined in machine data such that the geometry axes are imaged on the first three channel
axes, i.e. on XX, YY and ZZ.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 745
Axes, Coordinate Systems, Frames (K2)
Axes
G17 G2 X20 I10 F1000 ; Full circle in the X, Y plane. Channel axes XX and W
traverse.
GEOAX() ; The geometry axis assignment defined via the machine
data MD AXCONF_GEOAX_ASSIGN_TAB
is effective,
i.e. XX, YY and ZZ become geometry axes.
GEOAX (1, U, 2, V, 3, W) ; U, V and W become the first, second and third
geometry axes.
G1 X10 Y10 Z10 XX=25 ; Channel axes U, V, W each traverse to position 10,
XX traverses to position 25.
GEOAX(0,V) ; V is again removed from the geometry axis grouping.
U and W remain geometry axes. The second geometry
axis is no longer assigned.
GEOAX (1, U, 2, V, 3, W) ; U, V and W become the first, second and third
geometry axes, i.e. U and W remain unchanged.
GEOAX(3,V) ; V becomes the third geometry axis. This means that
W, which was previously the third geometry axis, is
removed from the geometry axis grouping. The second
geometry axis is no longer assigned.
Significance
In contrast to geometry axes, no geometrical relationship is defined between the special
axes.
Note
Geometry axes have an exactly defined relationship in the form of a right-angled coordinate
system.
Special axes are part of the basic coordinate system (BCS). With FRAMES (translation,
scaling, mirroring), special axes of the workpiece coordinate system can be mapped on the
basic coordinate system.
Application
Typical special axes are:
● Rotary axes
● Machine tool axes
● Tool revolver axes
● Loader axes
Basic Functions
746 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Axes
Meaning
Path axes are interpolated together (all the path axes of a channel have a common path
interpolator).
All the path axes of one channel have the same acceleration phase, constant travel phase
and delay phase.
The feedrate programmed under address F (path feedrate) applies to all the path axes
programmed in a block, with the following exceptions:
● An axis has been programmed that has been defined as having no control over the path
velocity with instruction FGROUP.
● Axes programmed with instructions POS or POSA have an individual feedrate setting (axis
interpolator).
Application
Path axes are used to machine the workpiece with the programmed contour.
Significance
Positioning axes are interpolated separately (each positioning axis has its own axis
interpolator). Each positioning axis has its own feedrate and acceleration characteristic.
Positioning axes can be programmed in addition to path axes (even in the same block). Path
axis interpolation (path interpolator) is not affected by the positioning axes. Path axes and
the individual positioning axes do not necessarily reach their block end points at the same
time.
Instructions POS and POSA are used to program positioning axes and define block change
criteria:
● POS
Block change takes place when the path axes and positioning axes have reached their
block end points.
● POSA
Block change takes place when the path axes have reached their end of block position.
Positioning axes continue to traverse beyond block limits to their block end point.
Concurrent positioning axes differ from positioning axes in that they:
● Only receive their block end points from the PLC
● Can be started at any time (not at block limits)
● Do not affect the execution of current part programs.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 747
Axes, Coordinate Systems, Frames (K2)
Axes
Application
Typical positioning axes are:
● Loaders for moving workpieces away from machine
● Tool magazine/turret
Reference
References:
/FB2/ Function Manual, Extended Functions, Positioning Axes (P2)
/FB1/ Function Manual, Basic Functions, Spindles (S1)
FB3/ Function Manual, Special Functions,; Gantry Axes (G1)
/FB3/ Function Manual, Special Functions; Axis Couplings and ESR (M3)
/FB1/ Function Manual, Basic Functions; Basic PLC Program (P3)
/FB2/ Function Manual, Expansion functions; Oscillation (P5)
/FBSY/ Function Manual Synchronized Actions
Significance
A main axis is an axis that is interpolated by the main run.
This interpolation can be started as follows:
● From synchronized actions
(as command axes due to an event via block-related, modal or static synchronized
actions)
● From the PLC via special function blocks in the PLC basic program
(named as a concurrent positioning axis or a PLC axis)
● Via the setting data or from the part program
(as an asynchronous or block-synchronous oscillating axis)
Channel control
An axis interpolated by the main axis reacts in terms of:
● NC STOP
● Alarm handling
● Program control
Basic Functions
748 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Axes
● End of program
● RESET
Note
The response at the end of the program varies. The axis movement need not always be
completed and, therefore, may carry on beyond the end of the program.
Application
Certain axes in the main run can be decoupled at the channel response triggered by the NC
program sequence and controlled from the PLC. These axes are also interpolated in the
main run and respond independently for the channel and program sequence.
A PLC-controlled axis can then be controlled independently by the NC. This concerns the
following actions:
● The sequence for canceling the axis (equivalent to delete distance-to-go)
● Stopping or interrupting the axis
● Continuing the axis (continue sequence of motion)
● Resetting the axis to its basic status
Significance
Synchronous axes are components of the path axes, which are not referenced in order to
calculate the tool path velocity. They are interpolated together with path axes (all path axes
and synchronous axes of one channel have a common path interpolator).
All path axes and all synchronous axes of a channel have the same acceleration phase,
constant travel phase and deceleration phase.
The feedrate (path feedrate) programmed under address F applies to all the path axes
programmed in a block but not to the synchronous axes.
Synchronous axes take the same time to cover the programmed path as the path axes.
FGROUP command
The command FGROUP specifies whether the axis is a feed-defining path axis (used to
calculate the path velocity) or a synchronous axis (not used to calculate the path velocity).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 749
Axes, Coordinate Systems, Frames (K2)
Axes
Example
Note
The channel axis name must be used for the FGROUP command.
This is defined by the machine data:
MD20080 $MC_AXCONF_CHANAX_NAME_TAB (name of the channel axis in the channel)
Application
In the case of helical interpolation FGROUP can be programmed to determine whether:
● The programmed feedrate should be valid on the path
(all 3 programmed axes are path axes)
● The programmed feedrate should be valid on the circuit
(2 axes are path axes and the infeed axis is a synchronous axis)
Basic Functions
750 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Axes
Allocation
The figure below shows the assignment between the geometry axes, special axes, channel
axes and machine axes as well as the names of the individual axis types. MD are used for
assignment.
0'0&B$;&21)B*(2$;B1$0(B7$% 0'0&B$;&21)B*(2$;B$66,*1B7$%
&KDQQHO &KDQQHO
&KDQQHO &KDQQHO
VWJHRPHWU\D[LV>@ ;
QGJHRPHWU\D[LV>@ <
UGJHRPHWU\D[LV>@ =
0'0&B$;&21)B&+$1$;B1$0(B7$% 0'0&B$;&21)B0$&+$;B86('
&KDQQHO &KDQQHO
&KDQQHO &KDQQHO
VWFKDQQHOD[LV>@ ;
QGFKDQQHOD[LV>@ <
UGFKDQQHOD[LV>@ =
WKFKDQQHOD[LV>@ %
WKFKDQQHOD[LV>@ :=0
WKFKDQQHOD[LV>@ &
WKFKDQQHOD[LV>@
WKFKDQQHOD[LV>@
0'01B$;&21)B0$&+$;B1$0(B7$% 0'0$B63,1'B$66,*1B72B0$&+$;
VWPDFKLQHD[LV>@ ;
QGPDFKLQHD[LV>@ <
UGPDFKLQHD[LV>@ =
WKPDFKLQHD[LV>@ %
WKPDFKLQHD[LV>@ :
WKPDFKLQHD[LV>@ &
WKPDFKLQHD[LV>@
WKPDFKLQHD[LV>@
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 751
Axes, Coordinate Systems, Frames (K2)
Axes
Note
Leading zeroes in user-defined axis identifiers are ignored.
Example:
MD10000 `$MN_AXCONF_MACHAX_NAME_TAB[0] = X01 corresponds to X1
The geometry axes must be assigned to the channel axes in ascending order leaving no
gaps.
Basic Functions
752 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Axes
If this is not carried out, an entry of 0 prevents other machine axes being assigned to
channel axes in the following machine data:
MD20070 $MC_AXCONF_MACHAX_USED (machine axis number valid in channel)
References:
/FB2/ Function Manual, Extension Functions; Several Control Panels on Multiple NCUs,
Decentralized Systems (B3)
Example
In the example below, a machine tool channel axis is specified without a real machine axis.
1&8
&KDQQHOD[LVQDPHV 0DFKLQHD[HVXVHGLQWKHFKDQQHO
0'0&B$;&21)B&+$1$;B1$0(B7$% 0'0&B$;&21)B0$&+$;B86('
&KDQQHO &KDQQHO
&KDQQHO &KDQQHO
VWFKDQQHOD[LV>@ ;
QGFKDQQHOD[LV>@ <
UGFKDQQHOD[LV>@ =
WKFKDQQHOD[LV>@ %
WKFKDQQHOD[LV>@ :=0 &KDQQHOD[LVJDS
WKFKDQQHOD[LV>@ &
WKFKDQQHOD[LV>@ &
WKFKDQQHOD[LV>@
/RJLFDOPDFKLQHD[LVLPDJH
0'01B$;&21)B/2*,&B0$&+$;B7$%
1&B$;Q
&7B6/
; < = %
$[LVFRQWDLQHUQDPHV
0'01B$;&7B1$0(B7$%
/RFDOPDFKLQHD[HV $[LVFRQWDLQHU&7
0'01B$;&21)B0$&+$;B1$0(B7$% 0'01B$;&7B$;&21)B$66,*1B7$% &7
VWPDFKLQHD[LV>@ 1&B$; 6ORW &7
;
QGPDFKLQHD[LV>@ < &7
UGPDFKLQHD[LV>@ = 1&B$; 6ORW &7
WKPDFKLQHD[LV>@ % &7
WKPDFKLQHD[LV>@ & 1&B$; 6ORW
&0 &7
WKPDFKLQHD[LV>@
WKPDFKLQHD[LV>@ 1&B$; 6ORW &7
WKPDFKLQHD[LV>@
1&QB$;P
&RQWDLQHUOLQND[LV
/LQND[LV$;QPDFKLQHD[LVRQ1&8
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 753
Axes, Coordinate Systems, Frames (K2)
Axes
Note
The gaps count as axes with reference to the number of channel axes and their indices.
If the following machine data is used to try to define a channel axis gap with the geo axis,
then the attempt is rejected without an alarm:
MD20050 $MC_AXCONF_GEOAX_ASIGN_TAB (assignment of geometry axis to channel
axis)
Using channel axes in
MD24120ff. $MC_TRAFO_GEOAX_ASSIGN_TAB1...
and
MD24110ff. $MC_TRAFO_AXES_IN1...8
to which no machine axes are assigned (gap) through
MD20070 $MC_AXCONF_MACHAX_USED (machine axis number valid in the channel),
triggers alarms 4346 or 4347.
Significance
Link axes are axes, which are physically connected to another NCU and whose position is
controlled from this NCU. Link axes can be assigned dynamically to channels of a different
NCU. From the perspective of a particular NCU, link axes are non-local axes.
The axis container concept is used for the dynamic modification of the assignment to an
NCU. Axis replacement with GET and RELEASE from the part program is not available for link
axes across NCU boundaries.
Basic Functions
754 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Axes
Requirements
● The participating NCUs, NCU1 and NCU2, must be connected by means of high-speed
communication via the link module.
References:
/PHD/Configuring Manual NCU 571-573.2; Link Module
● The axis must be configured appropriately by machine data.
● The link axis option must be installed.
&KDQQHO &KDQQHO
$ %
&KDQQHO
$
%
$
/LQNPRGXOH +: /LQNPRGXOH +:
/LQNFRPPXQLFDWLRQ
Note
The link axis functionality is currently not available with the SINUMERIK 840Di.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 755
Axes, Coordinate Systems, Frames (K2)
Axes
Axis container
An axis container is a circular buffer data structure, in which local axes and/or link axes are
assigned to channels. The entries in the circular buffer can be shifted cyclically.
In addition to the direct reference to local axes or link axes, the link axis configuration in the
logical machine axis image also allows references to axis containers. This type of reference
consists of:
● Container number
● a slot (circular buffer location within the container)
The entry in a circular buffer location contains:
● A local axis
Or
● A link axis
&KDQQHOD[HV
01B$;&21)B/2*,&B0$&+$;B7$%
;
\ $; /RFDOPDFKLQHD[LV
= $; /RFDOPDFKLQHD[LV
6
6
1&B$; /LQND[LVZLWKRXWFRQWDLQHU
&7B6/ $[LVFRQWDLQHUVORW
&7B6/ $[LVFRQWDLQHUVORW
&KDQQHO
0&B$;&21)B0$&+$;B86('
/RJLFDOPDFKLQHD[LVLPDJH
,QWHUQDOD[LVYLHZRIWKH1&.
$VVLJQHGWR1&8
1&8JOREDOLQOLQNPHPRU\
Figure 10-8 Mapping of channel axes onto axis containers via logical machine axis image
Basic Functions
756 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Axes
Axis container entries contain local machine axes or link axes from the perspective of an
individual NCU.
The entries in the logical machine axis image of an individual NCU:
MD10002 $MN_AXCONF_LOGIC_MACHAX_TAB
are fixed.
Note
The axis container functionality is currently not available with the SINUMERIK 840Di.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 757
Axes, Coordinate Systems, Frames (K2)
Zeros and reference points
Machine zero M
The machine zero M defines the machine coordinate system MCS. All other reference points
refer to the machine zero.
Workpiece zero W
The workpiece zero W defines the workpiece coordinate system in relation to the machine
zero M. The programmed part-program blocks are executed in the workpiece coordinate
system WCS.
Reference point R
The position of the reference point R is defined by cam switches. Reference point R
calibrates the position measuring system.
With incremental encoders, the reference point must be approached every time the control
power is switched on. The control can only then work with the measuring system and
transfer all position values to the coordinate systems.
Basic Functions
758 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Zeros and reference points
0 :
7
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 759
Axes, Coordinate Systems, Frames (K2)
Zeros and reference points
Control POWER ON
For incremental measuring probes, the reference point must be approached each time the
control is activated so that the control can transfer all position values to the coordinate
system.
0DFKLQH :RUNSLHFH
FRRUGLQDWH :RUNSLHFH FRRUGLQDWH
V\VWHP 0&6 6SLQGOH OHQJWK V\VWHP :&6
0 0
0DFKLQH :RUNSLHFH
]HUR ]HUR
Figure 10-9 Position of coordinate systems by machine zero M and workpiece zero W
;
=
5
5HIHU
HQFH
7 7RROKROGHU SRLQW
0DFKLQH
]HUR / ;
7RROKROGHUUHIHUHQFHSRLQW
/
Basic Functions
760 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Coordinate systems
10.4.1 Overview
] [
<
;<=
$[HVSHUSHQGLFXODUWR
%
RQHDQRWKHU
$%&
5RWDU\D[HVURWDWLQJ
DERXW;<=
r
&
;
$
=
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 761
Axes, Coordinate Systems, Frames (K2)
Coordinate systems
Basic Functions
762 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Coordinate systems
)UDPHFKDLQ
:&6
)UDPHIRUF\FOHVSURJUDPPDEOH
IUDPHWUDQVIRUPDWLRQV
6=6
6\VWHPIUDPHIRU72527
72)5$0( ZRUNSLHFHV
*WR*VHWWDEOHIUDPH
FKDQQHOVSHFRU1&8JOREDO
%=6
&KDLQHGILHOGRIEDVLFIUDPHV
FKDQQHOVSHFDQGRU1&8JOREDO
&KDLQHGV\VWHPIUDPHVIRU3$52735(6(7
VFUDWFKLQJ]HURRIIVHWH[WHUQDO
.LQHPDWLFWUDQVIRUPDWLRQ
0&6
+RPHSRVLWLRQRIIVHW
0&6 0DFKLQH&RRUGLQDWH6\VWHP
%&6 %DVLF&RRUGLQDWH6\VWHP
:&6 :RUNSLHFH&RRUGLQDWH6\VWHP
%=6 %DVLF=HUR6\VWHP
6=6 6HWWDEOH=HUR6\VWHP
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 763
Axes, Coordinate Systems, Frames (K2)
Coordinate systems
%
=
&
;
<
Basic Functions
764 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Coordinate systems
;
0
=
Note
After Preset, the reference points are invalid!
If possible do not use this function.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 765
Axes, Coordinate Systems, Frames (K2)
Coordinate systems
<
;
0&6 %&6
= 0DFKLQH]HUR
<%&6
.LQHPDWLF
WUDQVIRUPDWLRQ
<0&6
; %&6
%DVLFFRRUGLQDWHV\VWHP %&6
= %&6
; 0&6
0DFKLQHFRRUGLQDWHV\VWHP 0&6
= 0&6
Basic Functions
766 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Coordinate systems
Machine kinematics
The workpiece is always programmed in a two- or three-dimensional, right-angled coordinate
system (WCS). However, such workpieces are being programmed ever more frequently on
machine tools with rotary axes or linear axes not perpendicular to one another. Kinematic
transformation is used to represent coordinates programmed in the workpiece coordinate
system (rectangular) in real machine movements.
References:
/FB3/ Function Manual, Special Functions; 3-Axis to 5-Axis Transformation (F2)
/FB2/ Function Manual, Extension Functions; Kinematic Transformation (M1)
<
([WHUQDO
]HURRIIVHW
<
;
%DVLF]HURV\VWHP %=6
=
;
%DVLFFRRUGLQDWHV\VWHP %&6
=
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 767
Axes, Coordinate Systems, Frames (K2)
Coordinate systems
Effect of activation
The offset for an axis becomes active when the first motion block for this axis is executed
after the offset is activated.
Example of possible chronological sequence:
G0 X100
X150 ; A new "Zero offset external" is activated by the PLC during this
motion.
X200 ; The new "Zero offset external" is applied due to G0 programming at the
end of the block (X200), if no velocity reserve is available (100%).
Programming
Setting a new offset via the axis-specific system variables:
$AA_ETRANS[axis]=Ri
The instruction below reads the axis-specific active offset value:
Basic Functions
768 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Coordinate systems
Ri=$AA_ETRANS[axis]
Note
The read value can then differ from the previously set value, if the set value has not yet been
activated.
The read value corresponds to a value set previously, if the most recently set value has not
yet been activated. The system frame for the "Zero offset external" exists only if it has been
configured.
DRF offset
The DRF offset enables the adjustment of an additional incremental zero offset for geometry
and additional axes in the basic coordinate system through handwheel.
The DRF offset can be read via the axis-specific system variable:
$AC_DRF[<Axis>]
References:
/FB2/ Function Manual of Extension Functions; Jog with/without Handwheel (H1),
Section: DRF offset
Overlaid movements
The "Superimposed motion" for the programmed axis can only be accessed from
synchronized actions via the system variable $AA_OFF[axis].
Run-up
After run-up (POWER ON) the last used offset values for the "Zero offset external" are
stored and do not become effective again until there is a renewed activation signal.
System frames are retained during Power ON, depending on the following machine data:
MD24008 $MC_CHSFRAME_POWERON_MASK (reset system frames after Power On)
RESET/end of program
The activated values remain active after RESET and program end.
Reset response of channel-specific system fames as follows:
The system frame for the "external zero offset" is active after RESET with the following
machine data setting:
MD24006 $MC_CHSFRAME_RESET_MASK, Bit 1 = 1
The "external zero offset" in the active system frame is deleted in the data management
through the following machine data setting:
MD24006 $MC_CHSFRAME_RESET_MASK, Bit 1 = 0
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 769
Axes, Coordinate Systems, Frames (K2)
Coordinate systems
Suppression
The NC program instruction SUPA suppresses the "Zero offset external" while the block is
being processed.
The command G74 (reference point approach) and the equivalent operator actions in
"Reference point approach" mode suppress the "Zero offset external" for the duration of the
reference point approach.
With G74, i.e. "Automatic" or "MDA" mode, the previously active "Zero offset external"
automatically becomes active again with the next traverse motion in the block.
After a mode change from "Reference point approach" mode, the VDI signal for the
referenced axes must be set for reactivation.
<
%DVLFRIIVHW
<
;
%DVLF]HURV\VWHP %=6
=
;
%DVLFFRRUGLQDWHV\VWHP %&6
=
Basic Functions
770 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Coordinate systems
Basic offset
The basic offset describes the coordinate transformation between BCS and BZS. It can be
used, for example, to define the palette window zero.
The basic offset comprises:
● Zero offset external
● DRF offset
● Superimposed motion
● Chained system frames
● Chained basic frames
]
] 3URJUDPPDEOH
IUDPH
]
]
\ \
:RUNSLHFH
3URJUDPPDEOH
IUDPH
Note
Recommendation to the machine manufacturer
Use the 3rd basic offset onwards for your own applications.
The 1st and 2nd basic offset are reserved for PRESET and the "Zero offset external".
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 771
Axes, Coordinate Systems, Frames (K2)
Coordinate systems
<
**
<
;
6HWWDEOH]HURV\VWHP 6=6
=
;
%DVLF]HURV\VWHP %=6
=
Figure 10-21 Settable FRAME G54 ... G599 between BNS and ENS
Programmable offsets act on the "settable zero system". All programmable offsets refer to
the "settable zero system".
Basic Functions
772 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Coordinate systems
Value Significance
0 Actual-value display in relation to the WCS
1 Actual-value display in relation to the SZS
Note
Display of the current coordinate system
When "Actual-value display in relation to the SZS" is active, the WCS is still displayed on the
HMI operator interface as the coordinate system to which the actual-value display relates.
Example
Actual-value display in relation to the WCS or SZS
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 773
Axes, Coordinate Systems, Frames (K2)
Coordinate systems
<
3URJUDPPDEOHB)5$0(
ZLWKB3B3)5$0(
<
;
:RUNSLHFHFRRUGLQDWHV\VWHP :&6
=
;
6HWWDEOH]HURV\VWHP 6=6
=
Basic Functions
774 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
10.5 Frames
10.5.1 Overview
Frame
A frame is an axis-specific structure through all channel axes, in which there is a value for
each axis, for the translation, fine offset, rotation (only for geometry axes) scaling and
mirroring.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 775
Axes, Coordinate Systems, Frames (K2)
Frames
10.5.2.1 Translation
Programming
The program commands below are used to program the translation:
Command Comment
$P_UIFR[1] = CTRANS(x,10,y,10)
$P_UIFR[1,x,tr] = 10 Frame components
TRANS x=10 y=10 Prog. frame only
7UDQVODWLRQ
)LQHRIIVHW
Parameterization
The corresponding fine offset parameterization takes place through the machine data:
MD18600 $MN_MM_FRAME_FINE_TRANS (fine offset in FRAME (SRAM))
Value Significance
0 The fine offset cannot be entered or programmed.
1 Fine offset possible for settable frames, basic frames and the prog. frame via command or
program.
Programming
The fine offset can be programmed in the program using command CFINE (x, .., y, ...).
The coarse offset is defined with CTRANS(...). Coarse and fine offset add up to the total
offset.
Basic Functions
776 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
Function
The direction of rotation about the coordinate axes is determined by means of a right-hand,
rectangular coordinate system with axes X, Y and Z.
Rotations
If the rotary motion is in a clockwise direction when looking in the positive direction of the
coordinate axis, the direction of rotation is positive. A, B and C identify rotations whose axes
are parallel to X, Y and Z.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 777
Axes, Coordinate Systems, Frames (K2)
Frames
[
$
&
5LJKWKDQGUHFWDQJXODU
FRRUGLQDWHV\VWHP
]
Parameterization
The corresponding rotation in frame is parameterized through the machine data:
MD10600 $MN_FRAME_ANGLE_INPUT_MODE (rotation sequence in FRAME)
Value Significance
1 RPY notation
2 Euler angle
Basic Functions
778 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
RPY angles
Rotations with a RPY angle are carried out in the order Z, Y', X''.
]
] ]
] ] ]
[ [
[ \
\ \ \ \
[
[
[
Euler angle
Rotations with a Euler angle are carried out in the order Z, X', Z''.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 779
Axes, Coordinate Systems, Frames (K2)
Frames
]
] ]
\
\
\
] ]
\
\
\ [
[ [
[
[ [
RPY example
$P_UIFR[1]=crot(x,10,y,90,z,40) returns on reading back $P_UIFR[1]=crot(x,0,y,90,z,30)
$P_UIFR[1]=crot(x,190,y,0,z,-200) delivers during reading: $P_UIFR[1]=crot(x,-170,y,0,z,160)
On writing and reading frame rotation components, these limits should be observed so the
same results are achieved on writing and reading, or on repeated writing.
Programming
The program commands below are used to program the rotation:
$P_UIFR[1]=CROT(x,10,y,10)
ROT x=10 y=10
$P_UIFR[1,x,rt]=10
Basic Functions
780 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
This method offers the advantage that no axis identifier, around which a rotation should be
executed, has to be specified for a geometry coordinate axis.
As a rule, turning machines have only two geo axes, meaning that, up to now, a rotation in
the plane could not be programmed.
Parameter:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 781
Axes, Coordinate Systems, Frames (K2)
Frames
10.5.2.4 Scaling
J
LQ
DO
6F
[
Programming
The program commands below are used to program the scaling:
$P_UIFR[1] = CSCALE(x,1,y,1)
SCALE x = 1y = 1
$P_UIFR[1,x,sc] = 1
10.5.2.5 Mirroring
0LUURULQJ
Programming
The program commands below are used to program a mirroring:
$P_UIFR[1] = CMIRROR(x,1,y,1)
MIRROR x = 1y = 1
$P_UIFR[1,x,mi] = 1
Basic Functions
782 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
SPI
When programming frame instructions, the SPI(<spindle number>) axis function can be
used in place of an axis identifier.
SPI(<spindle number>) forms the reference of the spindle to the channel axis.
→ refer to MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ ] (assignment of spindle to
machine axis)
The following frame instructions can be programmed with SPI(spino):
CTRANS()
CFINE()
CMIRROR()
CSCALE()
A spindle can only be assigned to one rotary axis at a time. The CROT(..) function can
therefore not be programmed withSPI(), as only geometry axes are permitted forCROT().
The channel axis identifier or machine axis identifier of the axis belonging to the spindle is
always output when decompiling frames, even when axis identifiers have been programmed
in the part program with SPI(..).
If the spindle is assigned e.g. to the Channel Axis A then the programming:
N10 $P_UIFR[1] =
CTRANS(SPI(1),33.33,X,1):CSCALE(SPI(1),33.33):CMIRROR(SPI(1))
during recompilation:
$P_UIFR[1]=CTRANS(X,1,A,33.33):CSCALE(A,33.33):CMIRROR(A)
If a spindle and an assigned axis are programmed in a frame instruction, then Alarm 16420
"Axis % multiply programmed" is output.
Example:
$P_UIFR[1] = CTRANS(SPI(1),33.33,X,1,A,44)
(The spindle is assigned to Axis A.)
Programming examples
$P_PFRAME[SPI(1),TR]=22.22
$P_PFRAME=CTRANS(X, axis value,Y,axis value,SPI(1),axis value)
$P_PFRAME=CSCALE(X,Scale,Y,scale,SPI(2),scale)
$P_PFRAME=CMIRROR(S1,Y,Z)
$P_UBFR=CTRANS(A,10):CFINE(SPI(1),0.1)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 783
Axes, Coordinate Systems, Frames (K2)
Frames
6FDOLQJ
0LUURULQJ
5RWDWLRQ
)LQHRIIVHW
5RXJKRIIVHW
The formulae below are used to discover the coordinate transformation for geometry axes:
Basic Functions
784 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
10.5.3.1 Overview
There are various types of frame: system frames, basic frames, settable frames and the
programmable frame. Apart from the programmable frame, all types have a frame in the data
management and an active frame. The programmable frame is only active. Frames in the
data management are stored in the static NC memory and can be archived. The program
can describe both data management frames and active frames. HMI can only describe data
management frames.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 785
Axes, Coordinate Systems, Frames (K2)
Frames
6WDWLF1&PHPRU\
3B5(/)5 6\VWHPIUDPHV
3B,62)5
3B&<&)5
3B,62)5
3B75$)5
3B,62)5 %DVLFIUDPHV **
3B:3)5
3B,62)5
3B722/)5 1&8 &+$1 1&8&+$1
3B(;7)5 3B1&%)5>Q@ 3B&+%)5>Q@ 3B8,)5>Q@
3B6(7)5
***3,B6(78'7 5HVHWWUDQVIRUPDWLRQFKDQJH*(2$;
$FWLYHWRWDOIUDPH&KDLQRIDOODFWLYHIUDPHV
3B$&7)5$0( 3B3$57)5$0(3B6(7)5$0(3B(;7)5$0(
3B,62)5$0(3B,62)5$0(3B,62)5$0(
3B$&7%)5$0(3B,)5$0(3B722/)5$0(
3B:3)5$0(3B75$)5$0( 3B3)5$0(
3B,62)5$0(3B&<&)5$0(
3URJUDP
Basic Functions
786 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
Bit Significance
0 Data management frames are activated only by programming the $P_CHBFRMASK,
$P_NCBFRMASK and $P_CHSFRMASK bitmasks.
G500...G599 activate only the corresponding settable frame.
The reset response is independent of this.
1 Data management frames are not implicitly described by system functions, such as TOROT,
PAROT,
zero offset external and transformations.
The $P_CHSFRMASK variable is used to activate system frames from the data
management.
The value of the variables is specified as bitcoded according to the machine data:
MD28082 $MC_MM_SYSTEM_FRAME_MASK (SRAM system frames)
If the corresponding bit is set to one, the data management frame is activated. If the bit is
equal to zero, the data management frame is not active and the currently active system
frame remains active.
All the system frames whose bits are set in the following machine data are activated for
actual value setting and external zero offset after the RESET:
MD24006 $MC_CHSFRAME_RESET_MASK (active system frames after Reset)
The system frames for TCARR, PAROT and TOROT, TOFRAME are activated according to the
setting in the following machine data:
MD20150 $MC_GCODE_RESET_VALUES (RESET position of G groups)
As when selecting and deselecting transformations and GEOAX(), when switching geometry
axes the current complete frame is either deleted or recalculated on the basis of the new
geometry axis configuration, and activated. The system frames and all other frames are
conditioned again in relation to the geometry axes.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 787
Axes, Coordinate Systems, Frames (K2)
Frames
Basic Functions
788 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
10.5.4.1 Overview
The figure below shows the frame chain for the current complete frame. The frame chain is
stored between the BCS and WCS. The SZS (Settable Zero System) corresponds to the
WCS, transformed by the programmable frame. The BZS (Basic Zero System) still includes
the current settable frame. The system frame for the zero offset external is only available if it
has been configured, otherwise the zero offset external is interpolated as a superimposed
motion of the axis, as it has been up to this point.
Q
KDL
HF
DP
)U
:&63&6
3B75$)5$0(3B3)5$0(
3B,62)5$0(3B&<&)5$0(
6=6$&6
3B722/)5$0(3B:3)5$0(
3B,)5$0(
%=6)&6
3B$&7%)5$0(
3B3$57)5$0(3B6(7)5$0(3B(;7)5$0(
3B,62)5$0(3B,62)5$0(3B,62)5$0(
%&6%&6
+DQGZKHHO '5) RIIVHWVXSHULPSRVHGPRYHPHQW]HURRIIVHW
H[WHUQDONLQHPDWLFWUDQVIRUPDWLRQ
0&60&6
5HIHUHQFHSRLQWRIIVHW
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 789
Axes, Coordinate Systems, Frames (K2)
Frames
/
&6 5(
/
3
6 5(
:.
/
&6 5(
$
6 5(/
(1
(
$0
)5
(
(/
$0
5
)5
B
3
(/
5
B
:.63&6
3
(16$&6
Basic Functions
790 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
The data maintenance frame $P_RELFR can be written in the part program and via BTSS.
All the frame components can be modified.
The active system frame $P_RELFRAME can be written in the part program and via BTSS.
The configuring of the system frame $P_RELFR is done via the following machine data:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 791
Axes, Coordinate Systems, Frames (K2)
Frames
0'0&B)5$0(B$&6B6(7
:&6
3B&<&)5$0(
3B75$)5$0(3B3)5$0(
3B,62)5$0(
6=6
Basic Functions
792 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
0'0&B)5$0(B$&6B6(7
:&6
3B&<&)5$0(
6=6
3B75$)5$0(3B3)5$0(
3B,62)5$0(
The following machine data can be used to set whether the SZS is with or without the
programmable frame, the transformation frame and $P_ISO4FRAME:
MD24030 $MC_FRAME_ACS_SET (setting of the ENS coordinate system)
As default, the value 1 is set.
Reconfiguring the SZS affects all SZS actual-value displays and the $AA_IEN[axis] system
variables. Traversing geometry axes in JOG mode in the SZS also depends on the
configuration.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 793
Axes, Coordinate Systems, Frames (K2)
Frames
(
5$0
< &)
B&
3
6=6
3B75$)5$0(3B3)5$0(
Basic Functions
794 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
Programming
Command Significance
G53 Non-modal suppression of the following frames:
• System frame for cycles
• Programmable frame
• System frame for transformations, workpieces, TOROT and TOFRAME
• Active settable frame
G153 Non-modal suppression of the following frames:
• System frame for cycles
• Programmable frame
• System frame for TOROT and TOFRAME, workpieces
• Active settable frame
• All channel-specific and NCU global basic frames
• System frames for PAROT, PRESET, scratching, ext. ZO
SUPA Implicit preprocessing stop and non-modal suppression of frames analog G153 and
additional
• handwheel offsets (DRF)
• [ext. Zero offset]
• Overlaid motion
G500 Modal activation of the G500 frame. The G500 frame should be a zero frame.
DRFOF Deactivate (clear) the handwheel offsets (DRF)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 795
Axes, Coordinate Systems, Frames (K2)
Frames
3$
68
:&63&6
*
3B75$)5$0(3B3)5$0(
3B,62)5$0(3B&<&)5$0(
*
6=6$&6
3B722/)5$0(3B:3)5$0(
3B,)5$0(
%=6)&6
3B$&7%)5$0(
3B3$57)5$0(3B6(7)5$0(3B(;7)5$0(
3B,62)5$0(3B,62)5$0(3B,62)5$0(
%&6%&6
+DQGZKHHO '5) RIIVHWVXSHULPSRVHGPRYHPHQW]HURRIIVHWH[WHUQDO
.LQHPDWLFWUDQVIRUPDWLRQ
0&60&6
5HIHUHQFHSRLQWRIIVHW
Parameterization
Frame suppressions SUPA, G153 and G53 lead to the WCS, SZS and possibly the BZS
jumping when frame suppression is active. This characteristic for position display and pre-
defined position variables can be changed through the following machine data:
MD24020 $MC_FRAME_SUPPRESS_MODE (Positions during frame suppression)
Bit Significance
0 Positions for display (BTSS) are without frame suppression.
1 Position variables are without frame suppression.
When the bit is set, the position for the display or the variables is calculated without frame
suppression so that no further jumps in the position occur.
Basic Functions
796 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
10.5.5.1 Overview
There are up to four frame variants:
● Settable frames (G500,G54 to G599)
● Basic frames
● Programmable frame
● System frames
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 797
Axes, Coordinate Systems, Frames (K2)
Frames
Basic Functions
798 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 799
Axes, Coordinate Systems, Frames (K2)
Frames
Rotations cannot be used on global frames. The programming of a rotation is denied with
alarm: "18310 Channel %1 Block %2 Frame: rotation not allowed" is displayed.
It is not possible to program chaining of global frames and channel-specific frames, and any
attempt at this is rejected with the alarm 18314 "Frame: Type conflict". All global frames and
channel-specific frames are internally chained to the complete frame. This takes place in the
channel and only with all channel axes known in the channel. The assignment of a frame
with rotation components to a global frame is denied with alarm "Frame: Rotation not
allowed".
Example:
Basic Functions
800 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
3B$&7%)5$0(
3B&+%)5$0(>Q@
3B&+%)5$0(>@
3B1&%)5$0(>Q@
3B1&%)5$0(>@
$P_ACTBFRAME
corresponds to
$P_NCBFRAME[0] : ... : $P_NCBFRAME[n] : $P_CHBFRAME[0] : ... : $P_CHBFRAME[n].
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 801
Axes, Coordinate Systems, Frames (K2)
Frames
MIRROR
Mirrorings of a geometry axis were thus far (up to SW-P4) related to a defined reference axis
only using the machine data:
MD10610 $MN_MIRROR_REF_AX ("reference axis for the mirroring").
From the user's point of view, this definition is hard to follow. When mirroring the z axis, the
display showed that the x axis was mirrored and the y axis had been rotated about 180
degrees. When mirroring two axes this became even more complex and it was no longer
easy to understand, which axes had been mirrored and, which had not.
With SW P5 and higher, there is the option to clearly display the mirroring of an axis. A
mirroring is then not mapped to the mirroring of a reference axis and rotation of other axes.
This setting can be configured through the machine data setting:
MD10610 $MN_MIRROR_REF_AX = 0.
MIRROR and AMIRROR are used to expand the programming of the programmable frame.
Previously, the specified value of the coordinate axis, e.g. the value 0 for MIRROR X0, is not
evaluated, but the AMIRROR has a toggle function, i.e. MIRROR X0 activates the mirror and a
further AMIRROR X0 deactivates it. MIRROR always has an absolute effect and AMIRROR an
additive effect.
The
MD10612 $MN_MIRROR_TOGGLE = 0 ("Mirror Toggle")
machine data setting can be used to define that the programmed values are evaluated.
A value of 0, as inAMIRROR X0, deactivates the mirroring of the axis, and values not equal
to 0 cause the axis to be mirrored if it is not already mirrored.
It is possible to read or write mirrors component by component independent of machine data
MD10612 $MN_MIRROR_TOGGLE.
A value = 0 means that the axis is not mirrored and a value = 1 means that the axis will
always be mirrored, irrespective of whether it has already been mirrored or not.
Basic Functions
802 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 803
Axes, Coordinate Systems, Frames (K2)
Frames
7UDQVODWLRQ
5RXJKRUDEVROXWH )LQHRUDGGLWLYH
7UDQVODWLRQ 7UDQVODWLRQ
The fine component is transferred on saving the programmable frame in a local frame
variable (LUD or GUD) and on rewriting.
The table below shows the effect of various program commands on the absolute and
additive translation.
Basic Functions
804 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 805
Axes, Coordinate Systems, Frames (K2)
Frames
Basic Functions
806 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
● $P_RELFRAME
In the part program, the variable $P_RELFRAME can be used to read and write the
current system frame for relative coordinate systems. The variable returns a zero frame if
the system frame is not configured through MD28082.
● $P_ACSFRAME
The currently resulting frame that is defined by the ENS-(ACS) coordinate system, can be
read and written through the $P_ACSFRAME variable.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 807
Axes, Coordinate Systems, Frames (K2)
Frames
Basic Functions
808 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
The workpiece geometry is described by a coordinate system that is formed by the geometry
axes. A channel axis is assigned to each geometry axis and a machine axis is assigned to
each channel axis. An axial frame exists for each machine axis and for each frame (system
frame, basic frame, settable frame, programmable frame). When a new machine axis is
assigned to a geometry axis, the axial frame components of the machine axis, such as
translations (coarse and fine), scales and mirrors of the appropriate frame, are also applied.
The new geometry in the channel is then generated by the new contour frames resulting
from the new geometry axes (up to three in number).
The current valid frames are calculated again on the geometry axis switchover and a
resulting complete frame is generated. The data management frames are not included
unless they are activated.
Example:
The channel axis is to become a geometry axis x through geo axis substitution. The
substitution is to give the programmable frame a translation component of 10 in the x axis.
The current settable frame is to be retained.
MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 1
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 809
Axes, Coordinate Systems, Frames (K2)
Frames
Machine data:
$MN_FRAME_GEOAX_CHANGE_MODE = 1
$MC_AXCONF_CHANAX_NAME_TAB[0] = "CAX"
$MC_AXCONF_CHANAX_NAME_TAB[1] = "CAY"
$MC_AXCONF_CHANAX_NAME_TAB[2] = "CAZ"
$MC_AXCONF_CHANAX_NAME_TAB[3] = "A"
$MC_AXCONF_CHANAX_NAME_TAB[4] = "B"
$MC_AXCONF_CHANAX_NAME_TAB[5] = "C"
$MC_AXCONF_GEOAX_ASSIGN_TAB[0] = 1
$MC_AXCONF_GEOAX_ASSIGN_TAB[1] = 2
$MC_AXCONF_GEOAX_ASSIGN_TAB[2] = 3
$MC_AXCONF_GEOAX_NAME_TAB[0] = "X"
$MC_AXCONF_GEOAX_NAME_TAB[1]="Y"
$MC_AXCONF_GEOAX_NAME_TAB[2] = "Z"
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[0]=4
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[1]=5
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[2]=6
$MC_TRAFO_AXES_IN_1[0] = 4
$MC_TRAFO_AXES_IN_1[1] = 5
$MC_TRAFO_AXES_IN_1[2] = 6
$MC_TRAFO_AXES_IN_1[3] = 1
$MC_TRAFO_AXES_IN_1[4] = 2
Program:
$P_NCBFRAME[0] = ctrans(x,1,y,2,z,3,a,4,b,5,c,6)
$P_CHBFRAME[0] = ctrans(x,1,y,2,z,3,a,4,b,5,c,6)
$P_IFRAME = ctrans(x,1,y,2,z,3,a,4,b,5,c,6):crot(z,45)
$P_PFRAME = ctrans(x,1,y,2,z,3,a,4,b,5,c,6):crot(x,10,y,20,z,30)
Basic Functions
810 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 811
Axes, Coordinate Systems, Frames (K2)
Frames
TRANSMIT
&
Transmit expansions:
The machine data
MD24905 $MC_TRANSMIT_ROT_AX_FRAME_1 = 1
MD24905 $MC_TRANSMIT_ROT_AX_FRAME_2 = 1
can be used to take the axial complete frame of the transmit rotary axis, i.e. the translation,
fine offset, mirroring and scaling, into account in the transformation.
A rotary axis offset can, for example, be entered by compensating the oblique position of a
workpiece in a frame within a frame chain. As a rule, this offset can also be included in the
transformation as an offset in the rotary axis. A c axis offset, as in the figure above, then
leads to corresponding x and y values.
MD24905 $MC_TRANSMIT_ROT_AX_FRAME_1 = 2
MD24905 $MC_TRANSMIT_ROT_AX_FRAME_2 = 2
With this setting, the axial offset of the rotary axis is taken account of in the transformation
up to the SZS. The axial offsets of the rotary axis included in the SZS frames are entered
into the transformation frame as rotations. This setting is only effective if the transformation
frame has been configured.
Frame expansions:
The expansions described below are only valid for the machine data
$MN_FRAME_GEOAX_CHANGE_MODE = 1
$MN_FRAME_GEOAX_CHANGE_MODE = 2
The selection of transformation TRANSMIT produces a virtual geometry axis, coupled by way
of the rotary axis, which is merely included in the contour frame but does not have a
reference to an axial frame. The geometric value results from the rotation of a rotary axis. All
other geometry axes accept their axial components when the transformation is selected.
Basic Functions
812 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
Translations:
On selecting transmit, translations of the virtual axis are deleted. Translations of the rotary
axis can be taken into account in the transformation.
Rotations:
Rotations before the transformation are taken over.
Mirrorings:
Mirrorings of the virtual axis are deleted. Mirrorings of the rotary axis can be taken into
account in the transformation.
Scalings:
Scalings of the virtual axis are deleted. Scalings of the rotary axis can be taken into account
in the transformation.
Example:
Machine data for TRANSMIT
; FRAME configurations
$MN_MM_NUM_GLOBAL_USER_FRAMES = 0
$MN_MM_NUM_GLOBAL_BASE_FRAMES = 3
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 813
Axes, Coordinate Systems, Frames (K2)
Frames
$MN_NCBFRAME_RESET_MASK = 'HFF'
$MC_CHBFRAME_RESET_MASK = 'HFF'
$MC_TRAFO_TYPE_1 = 256
$MC_TRAFO_AXES_IN_1[0] = 1
$MC_TRAFO_AXES_IN_1[1] = 6
$MC_TRAFO_AXES_IN_1[2] = 3
$MC_TRAFO_AXES_IN_1[3] = 0
$MC_TRAFO_AXES_IN_1[4] = 0
$MA_ROT_IS_MODULO[AX6] = TRUE;
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[0]=1
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[1]=6
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[2]=3
$MC_TRANSMIT_BASE_TOOL_1[0]=0.0
$MC_TRANSMIT_BASE_TOOL_1[1]=0.0
$MC_TRANSMIT_BASE_TOOL_1[2]=0.0
$MC_TRANSMIT_ROT_AX_OFFSET_1 = 0.0
$MC_TRANSMIT_ROT_SIGN_IS_PLUS_1 = TRUE
$MC_TRANSMIT_ROT_AX_FRAME_1 = 1
$MC_TRAFO_TYPE_2 = 256
$MC_TRAFO_AXES_IN_2[0] = 1
$MC_TRAFO_AXES_IN_2[1] = 6
$MC_TRAFO_AXES_IN_2[2] = 2
Basic Functions
814 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
$MC_TRAFO_AXES_IN_2[3] = 0
$MC_TRAFO_AXES_IN_2[4] = 0
$MC_TRAFO_GEOAX_ASSIGN_TAB_2[0] = 1
$MC_TRAFO_GEOAX_ASSIGN_TAB_2[1] = 6
$MC_TRAFO_GEOAX_ASSIGN_TAB_2[2] = 2
$MC_TRANSMIT_BASE_TOOL_2[0] = 4.0
$MC_TRANSMIT_BASE_TOOL_2[1] = 0.0
$MC_TRANSMIT_BASE_TOOL_2[2] = 0.0
$MC_TRANSMIT_ROT_AX_OFFSET_2 = 19.0
$MC_TRANSMIT_ROT_SIGN_IS_PLUS_2 = TRUE
$MC_TRANSMIT_ROT_AX_FRAME_2 = 1
Part program:
; Frame settings
N820 $P_UIFR[1] = ctrans(x,1,y,2,z,3,c,4)
N830 $P_UIFR[1] = $P_UIFR[1] : crot(x,10,y,20,z,30)
N840 $P_UIFR[1] = $P_UIFR[1] : cmirror(x,c)
N850
N860 $P_CHBFR[0] = ctrans(x,10,y,20,z,30,c,15)
N870
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 815
Axes, Coordinate Systems, Frames (K2)
Frames
;Set frame
N1350 ROT RPL=-45
N1360 ATRANS X-2 Y10
N1370
;Four-edge roughing
N1390 G1 X10 Y-10 G41 OFFN=1; allowance 1 mm
N1400 X-10
N1410 Y10
N1420 X10
N1430 Y-10
N1440
Basic Functions
816 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
;Change tool
N1460 G0 Z20 G40 OFFN=0
N1470 T3 D1 X15 Y-15
N1480 Z10 G41
N1490
; Square finishing
N1510 G1 X10 Y-10
N1520 X-10
N1530 Y10
N1540 X10
N1550 Y-10
N1560
; Deselect frame
N2950 m30 N1580 Z20 G40
N1590 TRANS
N1600
N1610 if $P_BFRAME <> CTRANS(X,10,Y,0,Z,20,CAZ,30,C,15)
N1620 setal(61000)
N1630 endif
N1640 if $P_BFRAME <> $P_CHBFR[0]
N1650 setal(61000)
N1660 endif
N1670 if $P_IFRAME <>
TRANS(X,11,Y,0,Z,2,CAZ,3,C,4):CROT(X,10,Y,20,Z,30):CMIRROR(X,C)
N1680 setal(61000)
N1690 endif
N1730 if $P_ACTFRAME <>
TRANS(X,21,Y,0,Z,22,CAZ,33,C,19):CROT(X,10,Y,20,Z,30):CMIRROR(X,C)
N1740 setal(61001)
N1750 endif
N1760
N1770 TRAFOOF
N1780
N1790 if $P_BFRAME <> CTRANS(X,10,Y,20,Z,30,C,15)
N1800 setal(61000)
N1810 endif
N1820 if $P_BFRAME <> $P_CHBFR[0]
N1830 setal(61000)
N1840 endif
N1850 if $P_IFRAME <>
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 817
Axes, Coordinate Systems, Frames (K2)
Frames
TRANS(X,11,Y,2,Z,3,C,4):CROT(X,10,Y,20,Z,30):CMIRROR(X,C)
N1860 setal(61000)
N1870 endif
N1880 if $P_IFRAME <> $P_UIFR[1]
N1890 setal(61000)
N1900 endif
N1910 if $P_ACTFRAME <>
TRANS(X,21,Y,22,Z,33,C,19):CROT(X,10,Y,20,Z,30):CMIRROR(X,C)
N1920 setal(61002)
N1930 endif
N1940
N2010 $P_UIFR[1] = ctrans()
N2011 $P_CHBFR[0] = ctrans()
N2020 $P_UIFR[1] = ctrans(x,1,y,2,z,3,c,0)
N2021 G54
N2021 G0 X20 Y0 Z10 C0
N2030 TRANSMIT(1)
N2040 TRANS x10 y20 z30
N2041 ATRANS y200
N2050 G0 X20 Y0 Z10
N2051 if $P_IFRAME <> CTRANS(X,1,Y,0,Z,3,CAY,2)
N2052 setal(61000)
N2053 endif
N2054 if $P_ACTFRAME <> CTRANS(X,11,Y,20,Z,33,CAY,2):CFINE(Y,200)
N2055 setal(61002)
N2056 endif
N2060 TRAFOOF
N2061 if $P_IFRAME <> $P_UIFR[1]
N2062 setal(61000)
N2063 endif
N2064 if $P_ACTFRAME <> CTRANS(X,11,Y,2,Z,33):CFINE(Y,0)
N2065 setal(61002)
N2066 endif
Basic Functions
818 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
TRACYL
&
[
'LDPHWHUG
Tracyl expansions:
The machine data below can be used to take the axial complete frame of the tracyl rotary
axis, i.e. the translation, fine offset, mirroring and scaling, into account in the transformation:
MD24805 $MC_TRACYL_ROT_AX_FRAME_1 = 1
MD24855 $MC_TRACYL_ROT_AX_FRAME_2 = 1
A rotary axis offset can, for example, be entered by compensating the oblique position of a
workpiece in a frame within a frame chain. As a rule, this offset can also be included in the
transformation as an offset in the rotary axis or as a y offset. A c axis offset, as in the figure
above, then leads to corresponding x and y values.
MD24805 $MC_TRACYL_ROT_AX_FRAME_1 = 2
MD24855 $MC_TRACYL_ROT_AX_FRAME_2 = 2
With this setting, the axial offset of the rotary axis is taken account of in the transformation
up to the SZS. The axial offsets of the rotary axis included in the SZS frames are entered
into the transformation frame as offsets on the sheath surface. This setting is only effective if
the transformation frame has been configured.
Frame expansions:
The expansions described below are only valid for the machine data
MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 1
MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 2
The selection of transformation TRANSMIT produces a virtual geometry axis on the sheath
surface, coupled by way of the rotary axis, which is merely included in the contour frame but
does not have a reference to an axial frame. All components of the virtual geometry axis are
deleted. All other geometry axes accept their axial components when the transformation is
selected.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 819
Axes, Coordinate Systems, Frames (K2)
Frames
Translations:
On selecting tracyl, translations of the virtual axis are deleted. Translations of the rotary axis
can be taken into account in the transformation.
Rotations:
Rotations before the transformation are taken over.
Mirrorings:
Mirrorings of the virtual axis are deleted. Mirrorings of the rotary axis can be taken into
account in the transformation.
Scalings:
Scalings of the virtual axis are deleted. Scalings of the rotary axis can be taken into account
in the transformation.
Example:
Machine data for TRACYL:
; FRAME configurations
$MN_MM_NUM_GLOBAL_USER_FRAMES = 0
$MN_MM_NUM_GLOBAL_BASE_FRAMES = 3
Basic Functions
820 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
$MN_NCBFRAME_RESET_MASK = 'HFF'
$MC_CHBFRAME_RESET_MASK = 'HFF'
$MC_TRAFO_AXES_IN_3[0] = 1
$MC_TRAFO_AXES_IN_3[1] = 5
$MC_TRAFO_AXES_IN_3[2] = 3
$MC_TRAFO_AXES_IN_3[3] = 2
$MC_TRAFO_GEOAX_ASSIGN_TAB_3[0] = 1
$MC_TRAFO_GEOAX_ASSIGN_TAB_3[1] = 5
$MC_TRAFO_GEOAX_ASSIGN_TAB_3[2] = 3
$MC_TRACYL_BASE_TOOL_1[0] = 0.0
$MC_TRACYL_BASE_TOOL_1[1] = 0.0
$MC_TRACYL_BASE_TOOL_1[2] = 0.0
$MC_TRACYL_ROT_AX_OFFSET_1 = 0.0
$MC_TRACYL_ROT_SIGN_IS_PLUS_1 = TRUE
$MC_TRACYL_ROT_AX_FRAME_1 = 1
Part program:
; Frame settings
N500 $P_UIFR[1] = ctrans(x,1,y,2,z,3,b,4)
N510 $P_UIFR[1] = $P_UIFR[1] : crot(x,10,y,20,z,30)
N520 $P_UIFR[1] = $P_UIFR[1] : cmirror(x,b)
N530
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 821
Axes, Coordinate Systems, Frames (K2)
Frames
; Transformation ON
N780 TRACYL(40.)
N790
N800 if $P_BFRAME <> CTRANS(X,10,Y,0,Z,30,CAY,20,B,15)
N810 setal(61000)
N820 endif
N830 if $P_CHBFR[0] <> CTRANS(X,10,Y,0,Z,30,CAY,20,B,15)
N840 setal(61000)
N850 endif
N860 if $P_IFRAME <>
TRANS(X,1,Y,0,Z,3,CAY,2,B,4):CROT(X,10,Y,20,Z,30):CMIRROR(X,B)
N870 setal(61000)
N880 endif
N890 if $P_UIFR[1] <>
TRANS(X,1,Y,0,Z,3,CAY,2,B,4):CROT(X,10,Y,20,Z,30):CMIRROR(X,B)
N900 setal(61000)
Basic Functions
822 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
N910 endif
N920 if $P_ACTFRAME <>
TRANS(X,11,Y,0,Z,33,CAY,22,B,19):CROT(X,10,Y,20,Z,30):CMIRROR(X,B)
N930 setal(61001)
N940 endif
N950
N960 $P_UIFR[1,x,tr] = 11
N970 $P_UIFR[1,y,tr] = 14
N980
N990 g54
N1000
N1010 if $P_BFRAME <> CTRANS(X,10,Y,0,Z,30,CAY,20,B,15)
N1020 setal(61000)
N1030 endif
N1040 if $P_BFRAME <> $P_CHBFR[0]
N1050 setal(61000)
N1060 endif
N1070 if $P_IFRAME <>
TRANS(X,11,Y,0,Z,3,CAY,2,B,4):CROT(X,10,Y,20,Z,30):CMIRROR(X,B)
N1080 setal(61000)
N1090 endif
N1100 if $P_IFRAME <> $P_UIFR[1]
N1110 setal(61000)
N1120 endif
N1130 if $P_ACTFRAME <>
TRANS(X,21,Y,0,Z,33,CAY,22,B,19):CROT(X,10,Y,20,Z,30):CMIRROR(X,B)
N1140 setal(61001)
N1150 endif
N1160
; Transformation off
N1180 TRAFOOF
N1190
N1200 if $P_BFRAME <> CTRANS(X,10,Y,20,Z,30,B,15)
N1210 setal(61000)
N1220 endif
N1230 if $P_BFRAME <> $P_CHBFR[0]
N1240 setal(61000)
N1250 endif
N1260 if $P_IFRAME <>
TRANS(X,11,Y,2,Z,3,B,4):CROT(X,10,Y,20,Z,30):CMIRROR(X,B)
N1270 setal(61000)
N1280 endif
N1290 if $P_IFRAME <> $P_UIFR[1]
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 823
Axes, Coordinate Systems, Frames (K2)
Frames
N1300 setal(61000)
N1310 endif
N1320 if $P_ACTFRAME <>
TRANS(X,21,Y,22,Z,33,B,19):CROT(X,10,Y,20,Z,30):CMIRROR(X,B)
N1330 setal(61002)
N1340 endif
N1350
N1360 G00 x0 y0 z0 G90
N1370
N1380 m30
TRAANG
Frame expansions:
The expansions described below are only valid for the machine data
MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 1
MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 2
Translations:
On selecting traang, translations of the virtual axis are retained.
Rotations:
Rotations before the transformation are taken over.
Mirrorings:
Mirrorings of the virtual axis are taken over.
Scalings:
Scalings of the virtual axis are taken over.
Basic Functions
824 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
Example:
Machine data for TRAANG:
; FRAME configurations
$MN_MM_NUM_GLOBAL_USER_FRAMES = 0
$MN_MM_NUM_GLOBAL_BASE_FRAMES = 3
$MN_NCBFRAME_RESET_MASK = 'HFF'
$MC_CHBFRAME_RESET_MASK = 'HFF'
$MC_TRAFO_TYPE_1 = 1024
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 825
Axes, Coordinate Systems, Frames (K2)
Frames
$MC_TRAFO_AXES_IN_1[3] = 0
$MC_TRAFO_AXES_IN_1[4] = 0
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[0]=4
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[1]=2
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[2]=3
$MC_TRAANG_ANGLE_1 = 85.
$MC_TRAANG_PARALLEL_VELO_RES_1 = 0.
$MC_TRAANG_PARALLEL_ACCEL_RES_1 = 0.
$MC_TRAANG_BASE_TOOL_1[0] = 0.0
$MC_TRAANG_BASE_TOOL_1[1] = 0.0
$MC_TRAANG_BASE_TOOL_1[2] = 0.0
$MC_TRAFO_TYPE_2 = 1024
$MC_TRAFO_AXES_IN_2[0] = 4
$MC_TRAFO_AXES_IN_2[1] = 3
$MC_TRAFO_AXES_IN_2[2] = 0
$MC_TRAFO_AXES_IN_2[3] = 0
$MC_TRAFO_AXES_IN_2[4] = 0
$MC_TRAFO_GEOAX_ASSIGN_TAB_2[0] = 4
$MC_TRAFO_GEOAX_ASSIGN_TAB_2[1] = 0
$MC_TRAFO_GEOAX_ASSIGN_TAB_2[2] = 3
$MC_TRAANG_ANGLE_2 = -85.
$MC_TRAANG_PARALLEL_VELO_RES_2 = 0.2
$MC_TRAANG_PARALLEL_ACCEL_RES_2 = 0.2
$MC_TRAANG_BASE_TOOL_2[0] = 0.0
$MC_TRAANG_BASE_TOOL_2[1] = 0.0
$MC_TRAANG_BASE_TOOL_2[2] = 0.0
Basic Functions
826 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
Part program:
; Frame settings
N820 $P_UIFR[1] = ctrans(x,1,y,2,z,3,b,4,c,5)
N830 $P_UIFR[1] = $P_UIFR[1] : crot(x,10,y,20,z,30)
N840 $P_UIFR[1] = $P_UIFR[1] : cmirror(x,c)
N850
N860 $P_CHBFR[0] = ctrans(x,10,y,20,z,30,b,40,c,15)
N870
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 827
Axes, Coordinate Systems, Frames (K2)
Frames
;Set frame
N1350 ROT RPL=-45
N1360 ATRANS X-2 Y10
N1370
;Four-edge roughing
N1390 G1 X10 Y-10 G41 OFFN=1; allowance 1 mm
N1400 X-10
N1410 Y10
N1420 X10
N1430 Y-10
N1440
;Change tool
N1460 G0 Z20 G40 OFFN=0
N1470 T3 D1 X15 Y-15
N1480 Z10 G41
N1490
; Square finishing
N1510 G1 X10 Y-10
N1520 X-10
N1530 Y10
Basic Functions
828 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
N1540 X10
N1550 Y-10
N1560
; Deselect frame
N1580 Z20 G40
N1590 TRANS
N1600
N1610 if $P_BFRAME <> CTRANS(X,10,Y,20,Z,30,CAX,10,B,40,C,15)
N1620 setal(61000)
N1630 endif
N1640 if $P_BFRAME <> $P_CHBFR[0]
N1650 setal(61000)
N1660 endif
N1670 if $P_IFRAME <>
TRANS(X,11,Y,14,Z,3,CAX,1,B,4,C,5):CROT(X,10,Y,20,Z,30):CMIRROR(X,CAX,C)
N1680 setal(61000)
N1690 endif
N1700 if $P_IFRAME <> $P_UIFR[1]
N1710 setal(61000)
N1720 endif
N1730 if $P_ACTFRAME <>
TRANS(X,21,Y,34,Z,33,CAX,11,B,44,C,20):CROT(X,10,Y,20,Z,30):CMIRROR(X,CAX,C)
N1740 setal(61001)
N1750 endif
N1760
N1770 TRAFOOF
N1780
N1790 if $P_BFRAME <> CTRANS(X,10,Y,20,Z,30,B,40,C,15)
N1800 setal(61000)
N1810 endif
N1820 if $P_BFRAME <> $P_CHBFR[0]
N1830 setal(61000)
N1840 endif
N1850 if $P_IFRAME <>
TRANS(X,1,Y,14,Z,3,B,4,C,5):CROT(X,10,Y,20,Z,30):CMIRROR(X,C)
N1860 setal(61000)
N1870 endif
N1880 if $P_IFRAME <> $P_UIFR[1]
N1890 setal(61000)
N1900 endif
N1910 if $P_ACTFRAME <>
TRANS(X,11,Y,34,Z,33,B,44,C,20):CROT(X,10,Y,20,Z,30):CMIRROR(X,C)
N1920 setal(61002)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 829
Axes, Coordinate Systems, Frames (K2)
Frames
N1930 endif
N1940
N1950 m30
Bit 0: Rotations in active frames, which rotate coordinate axes with no geometry
axes, are deleted from the active frames.
Bit 1: Shear angles in the active frames are orthogonalized.
Bit 2: Scalings of all geometry axes in the active frames are set to value 1.
With machine data setting
MD24040 $MC_FRAME_ADAPT_MODE = 1,
all rotations in the active frames, which could produce coordinate axis movements for non-
existent geometry axes, are deleted.
The data management frames are not changed. Only the possible rotations are applied
when the data management frames are activated.
Example:
No y axis exists:
MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[0] = 1
MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[1] = 0
MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[2] = 3
$P_UIFR[1] = crot(x,45,y,45,z,45)
Basic Functions
830 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 831
Axes, Coordinate Systems, Frames (K2)
Frames
$TC_DP1[1,1]=120 ; Type
$TC_DP2[1,1]=20.;0
$TC_DP3[1,1]= 10. ; (z) length compensation vector
$TC_DP4[1,1]= 0. ; (y)
$TC_DP5[1,1]= 0. ; (x)
$TC_DP6[1,1]= 2. ; Radius
T1 D1
g0 x0 y0 z0 f10000
G54
$P_CHBFRAME[0] = crot(z,45)
$P_IFRAME[x,tr] = -sin(45)
$P_IFRAME[y,tr] = -sin(45)
$P_PFRAME[z,rt] = -45
Basic Functions
832 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
;Select tool
$AC_MEAS_T_NUMBER = 1
$AC_MEAS_D_NUMBER = 1
if RETVAL <> 0
setal(61000 + RETVAL)
endif
if $AC_MEAS_WP_ANGLE <> 30
setal(61000 + $AC_MEAS_WP_ANGLE)
endif
if $AC_MEAS_CORNER_ANGLE <> 90
setal(61000 + $AC_MEAS_CORNER_ANGLE)
endif
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 833
Axes, Coordinate Systems, Frames (K2)
Frames
; Transform measured frame and write in accordance with $P_SETFRAME in such a way
; that a complete frame is produced, as a result of the old complete frame
; being chained with the measuring frame.
m30
Programming
Basic Functions
834 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
10.5.8 Functions
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 835
Axes, Coordinate Systems, Frames (K2)
Frames
Basic Functions
836 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
Note
The external zero offset always acts absolutely.
10.5.8.3 Toolholder
Translations
With kinematics of type P and M the selection of a toolholder activates an additive frame
(table offset of the orientational toolholder), which takes into account the zero point offset as
a result of the rotation of the table. The zero offset is entered in a system frame
($P_PARTFR). In this case the translatory component of this frame is overwritten. Other
contents of this frame remain intact.
To be able to use this system frame, the bit 2 must be set in the machine data:
MD28082 $MC_MM_SYSTEM_FRAME_MASK.
Alternatively, there is the option to enter this offset into the basic frame identified by machine
data
MD20184 $MC_TOCARR_BASE_FRAME_NUMBER.
This option is available in the interests of compatibility with older software versions.
It is not recommended for use with new systems.
A frame offset as a result of a toolholder change becomes effective immediately on selection
of TCARR=.... A change in the tool length, on the other hand, only becomes effective
immediately if a tool is active.
A frame rotation does not take place on activation and a rotation which is already active is
not changed. As in case T (only the tool can be rotated), the position of the rotary axes used
for the calculation is dependent on the G code TCOFR/TCOABS and determined from the
rotation component of an active frame or from the entries $TC_CARRn. Activation of a frame
changes the position in the workpiece coordinate system accordingly, without compensating
movement by the machine itself.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 837
Axes, Coordinate Systems, Frames (K2)
Frames
2ULJLQDOSRVLWLRQRIWKH
FRRUGLQDWHV\VWHP
2ULJLQDOSRVLWLRQRIWDEOH
3RVLWLRQRIFRRUGLQDWHV\VWHP
DIWHU3$527
3RVLWLRQRIFRRUGLQDWHV\VWHP
DIWHU7&$55
3RVLWLRQRIWDEOH
DIWHUURWDWLRQ
With kinematics of type M (tool and table are each rotary around one axis), the activation of
a toolholder with TCARR simultaneously produces a corresponding change in the effective
tool length (if a tool is active) and the zero offset.
Rotations
Depending on the machining task, it is necessary to take into account not only a zero offset
(whether as frame or as tool length) when using a rotary toolholder or table, but also a
rotation. However, the activation of an orientational toolholder never leads directly to a
rotation of the coordinate system.
If only the tool can be rotated, a frame can be defined for it using TOFRAME or TOROT.
With rotary tables (kinematics types P and M), activation with TCARR similarly does not lead
to an immediate rotation of the coordinate system, i.e. even though the zero point of the
coordinate system is offset relative to the machine, while remaining fixed relative to the zero
point of the workpiece, the orientation remains unchanged in space.
If the coordinate system needs to be fixed relative to the workpiece, i.e. not only offset
relative to the original position but also rotated according to the rotation of the table, then
PAROT can be used to activate such a rotation in a similar manner to the situation with a
rotary tool.
With PAROT, the translations, scalings and mirroring in the active frame are retained, but the
rotation component is rotated by the rotation component of an orientational toolholder
corresponding to the table.
Up to and including SW P6.1, the rotation activated by PAROT is calculated in the
programmable frame ($P_PFRAME), thus changing its rotation component.
Basic Functions
838 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
With SW P6.2 and higher, the entire programmable frame remains unchanged, including its
rotation component.
The rotation component, which describes the rotation of the tool table, is then entered into
system frame $PARTFR, if bit 2 of machine data
MD28082 $MC_MM_SYSTEM_FRAME_MASK
is set.
Alternatively, the basic frame described in machine data
MD20184 $MC_TOCARR_BASE_FRAME_NUMBER
can also be used.
As with the note made in the description of the table offset, the second alternative here is not
recommended for use with new systems.
The rotation component of the part frame can be deleted with PAROTOF , independently of
whether this frame is found in a basic or a system frame.
The translation component is deleted when a toolholder, which does not produce an offset, is
activated or a possibly active orientational toolholder is deselected with TCARR=0.
PAROT or TOROT take into account the overall orientation change in cases where the table or
the tool are oriented with two rotary axes. With mixed kinematics only the corresponding
component caused by a rotary axis is considered. It is thus possible, for example, when
using TOROT, to rotate a workpiece such that an oblique plane lies parallel to the X-Y plane
fixed in space, whereby rotation of the tool must be taken into account in machining where
any holes to be drilled, for example, are not perpendicular to this plane.
Example:
On a machine, the rotary axis of the table points in the positive Y direction. The table is
rotated by +45 degrees. PAROT defines a frame, which similarly describes a rotation of 45
degrees about the Y axis. The coordinate system is not rotated relative to the actual
environment (marked in the figure with "Position of the coordinate system after TCARR"), but
is rotated by -45 degrees relative to the defined coordinate system (position after PAROT). If
this coordinate system is defined with ROT Y-45, for example, and if the toolholder is then
selected with active TCOFR, an angle of +45 degrees will be determined for the rotary axis of
the toolholder.
Language command PAROT is not rejected if no orientational toolholder is active. However,
such a call then produces no frame changes.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 839
Axes, Coordinate Systems, Frames (K2)
Frames
Instead of MOVT= ... it is also possible to write MOVT=IC( ...) if it is to be plainly visible
that MOVT is to function incrementally. There is no functional difference between the two
forms.
If the motion is programmed in the form MOVT=AC( ...), MOVT functions absolutely.
In this case a plane is defined, which runs through the current zero point, and whose surface
normal vector is parallel to the tool orientation. MOVT then gives the position relative to this
plane (see figure). The reference plane is only used to calculate the end position. Active
frames are not affected by this internal calculation.
$X[LOLDU\SODQH
Programming with MOVT is independent of the existence of a toolholder that can be oriented.
The direction of the motion is dependent on the active plane.
It runs in the directions of the vertical axes, i.e. with G17 in Z direction, with G18 in Y
direction and with G19 in X direction. This applies both where no orientational toolholder is
active and for the case of an orientational toolholder without rotary tool or with a rotary tool in
its basic setting.
MOVT acts similarly for active orientation transformation (3-4-5-axis transformation).
If in a block with MOVT the tool orientation is changed simultaneously (e.g. active 5-axis
transformation by means of simultaneous interpolation of the rotary axes), the orientation at
the start of the block is decisive for the direction of movement of MOVT.
With an active 5-axis transformation, the path of the tool center point (TCP) is not affected by
the change of orientation, i.e. the path remains a straight line and its direction is determined
by the tool orientation at the start of the block.
If MOVT is programmed, linear or spline interpolation must be active (G0,G1, ASPLINE,
BSPLINE, CSPLINE). Otherwise, an alarm is produced.
If a spline interpolation is active, the resultant path is generally not a straight line, since the
end point calculated by MOVT is treated as if it had been programmed explicitly with X, Y, Z.
A block with MOVT must not contain any programming of geometry axes (alarm 14157).
Basic Functions
840 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
In workpiece drawings, oblique surfaces are frequently described by way of solid angles, i.e.
the angles, which the intersection lines of the oblique plane form with the main planes (X-Y,
Y-Z, Z-X planes) (see figure). The machine operator is not expected to convert these solid
angles into the angles of rotation of a chaining of individual rotations.
2EOLTXHSODQH
\
[
For this reason, the language commands ROTS, AROTS and CROTS are used, with which the
rotations can be immediately described as solid angles.
The orientation of a plane in space is defined unambiguously by specifying two solid angles.
The third solid angle is derived from the first two. Therefore, a maximum of 2 solid angles
may be programmed, e.g. in the form ROTS X10 Y15. If a third solid angle is specified, an
alarm will be triggered.
It is permissible to specify a single solid angle. The rotations which are performed with ROTS
or AROTS in this case are identical to those for ROT and AROT.
An expansion of the existing functionality arises only in cases where exactly two solid angles
are programmed.
The two programmed axes define a plane, the non-programmed axis defines the related
third axis of a right-hand coordinate system. Which axis is first and which second is then
unambiguously defined for both programmed axes (the definition corresponds to those found
in the plane definition of G17/G18/G19). The angle programmed with the axis letter of an
axis of the plane then specifies the axis, around which the other axis of the plane must be
rotated in order to move this into the line of intersection, which the rotated plane forms with
the plane surrounded by the other and the third axis. This definition ensures that, in the case
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 841
Axes, Coordinate Systems, Frames (K2)
Frames
that one of the two programmed angles is towards zero, the defined plane enters the plane,
which is created if only one axis is programmed (e.g. with ROT or AROT).
The diagram shows an example where X and Y are programmed. Y here gives the angle, by
which the X axis must rotate around the Y axis to bring the X axis to the line of intersection
formed by the oblique plane and the X-Z plane. The same principle applies for the
programmed value of X.
Note
In the shown position of the oblique plane the value of Y is positive, that of X on the other
hand negative.
The specification of the solid angle does not define the orientation of the two-dimensional
coordinate system within the plane (i.e. the angle of rotation around the surface normal
vector). The position of the coordinate system is thus determined so that the rotated first axis
lies in the plane, which is surrounded by the first and third axes of the non-rotated coordinate
system.
This means that
● When programming X and Y the new X-axis lies in the old Z-X plane.
● When programming Z and X the new Z-axis lies in the old Y-Z plane.
● When programming Y and Z the new Y-axis lies in the old X-Y plane.
If the required coordinate system does not correspond to this basic setting, then an
additional rotation must be performed with AROT....
On programming the solid angles, they are converted into the equivalent RPY or Euler
angles, depending on machine data:
MD10600 $MN_FRAME_ANGLE_INPUT_MODE.
These then appear also in the display.
Basic Functions
842 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
TOFRAME or TOROT defines frames whose Z direction points in the tool direction. This
definition is suitable for milling, where G17 is usually active. However, particularly with
turning or, more generally, when G18 or G19 is active, it is desirable that frames, which will
be aligned on the X or Y axis, can be defined. As a result of this, the G codes below are
newly introduced into G code group 53:
TOFRAMEX
TOFRMAEY
TOFRAMEZ
TOROTX
TOROTY
TOROTZ
These G codes enable corresponding frames to be defined. The functions of TOFRAME and
TOFRAMEZ or of TOROT and TOROTZ are identical to one another.
With software version P6 and higher, there is the option to write frames produced by TOROT
or TOFRAME into their own system frame ($P_TOOLFR).
For this, bit 3 must be set in machine data:
MD28082 $MC_MM_SYSTEM_FRAME_MASK.
The programmable frame is then retained unchanged.
When programming TOROT or TOFRAME, etc. response is identical, with or without a system
frame. Differences occur when the programmable frame is processed further elsewhere.
In new systems, it is recommended that only the intended system frame is used for frames
produced by G codes in group 53.
Example:
TRANS is programmed after TOROT. TRANS without specified parameters deletes the
programmable frame. In the variant without a system frame, this also deletes the frame
component of the programmable frame produced by TOROT, but if the TOROT component is
in the system frame, it is retained.
TOROT or TOFRAME, etc. are disabled with language command TOROTOF. TOROTOF deletes
the entire system frame $P_TOOLFR. If the programmable frame (old variant) and not the
system frame is described by commands TOFRAME, etc. TOROT only deletes the rotation
component and leaves the remaining frame components unchanged.
If a rotating frame is already active before language command TOFRAME or TOROT is
activated, a request is often made that the newly defined frame should deviate as little as
possible from the old frame. This is the case, for example, if a frame definition needs to be
modified slightly because the tool orientation cannot be set freely on account of Hirth-toothed
rotary axes. The language commands uniquely define the Z direction of the new frame.
In previous software versions, machine data:
MD21110 $MC_X_AXIS_IN_OLD_X_Z_PLANE
can be used to choose between two variants for the position of the X-axis and Y-axis.
However, in both cases there is no reference to the previously active frame.
Setting data
SD42980 $SC_TOFRAME_MODE
is, therefore, introduced, which can be used to control the response of TOFRAME and TOROT.
It can accept values of 0 (inactive) to 3. If the value of the setting data is not zero, the effect
of machine data:
MD21110 $MC_X_AXIS_IN_OLD_X_Z_PLANE is overwritten.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 843
Axes, Coordinate Systems, Frames (K2)
Frames
1: The new X direction is chosen to lie in the X-Z plane of the old coordinate system.
In this setting the angle difference between the old and new Y axis will be minimal.
2: The new Y direction is chosen to lie in the Y-Z plane of the old coordinate system.
In this setting the angle difference between the old and new Y axis will be minimal.
3: The value chosen is the mean value of the two settings, which would have been
chosen with 1 and 2.
Characteristics and expansions:
Settings 1 and 2 are reached by rotating the coordinate system around the Z axis, starting
from any position on the X and Y axis, until the desired setting is reached. Setting 3 is
achieved by executing a rotation whose value is the exact mean of these two angles.
However, this only applies for the case that the old and new Z direction enclose an angle of
less than 90 degrees. With variant 1, both the old and new X axes form an angle of under 90
degrees, with variant 2 the same is true of the Y axis (the relevant axes point in
"approximately" the same direction). If the two Z directions form an angle of more than 90
degrees, however, the conditions of an angle < 90 degrees between the old and new axes
can no longer be met simultaneously for both X and Y. In this case, priority is given to the X
direction, i.e. a mean value is taken from the direction for 1 and the negative direction for 2.
If one of the G codes TOFRAMEX,TOFRAMEY,TOROTX,TOROTY is programmed in place of
TOFRAME(Z) or TOROT(Z), the descriptions for adapting the axis directions perpendicular to
the main direction are also valid for the cyclically exchanged axes. The assignments in the
table below are then valid:
Basic Functions
844 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
Example:
...
...
N90 $SC_TOFRAME_MODE=1
N100 ROT Z45
N110 TCARR=1 TCOABS T1 D1
N120 TOROT
...
...
N100 describes a rotation by 45 degrees in the X-Y plane. It is assumed that the toolholder
activated in N110 rotates the tool by 30 degrees around the X axis, i.e. the tool lies in the Y-
Z plane and is rotated by 30 degrees relative to the Z axis. As a result the Z axis of the frame
newly defined in N120 also points in this direction (independently of the value in setting data
SD42980 $SC_TOFRAME_MODE in N90).
In the figure below, the situation for setting data setting:
SD42980 $SC_TOFRAME_MODE=1
is shown:
[[
The old and new X axes X and X' coincide in the projection in the direction of the old Z axis.
The old and new Y axes Y and Y' form an angle of 8.13 degrees (right angles are generally
not retained in the projection).
For setting data setting:
SD42980 $SC_TOFRAME_MODE=2,
Y and Y' would coincide accordingly and X and X' would form an angle of 8.13 degrees.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 845
Axes, Coordinate Systems, Frames (K2)
Frames
Note
The named angles (8.13 and 4.11 degrees) are the angles, which the projections of the axes
form in the X-Y plane. They are not the spatial angles of these axes.
PAROTOF
PAROTOF is the switch off command for PAROT. This command deletes the rotations in the
system frame for PAROT. In so doing, the rotations in the current $P_PARTFRAME and in
the data management frame $P_PARTFR are deleted. The position of the coordinate system
is then recreated according to TCARR. PAROTOF is in the same G code group as PAROT and
appears, therefore, in the G code display.
Basic Functions
846 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
TOROTOF
TOROTOF is the switch off command for TOROT and TOFRAME. This command deletes the
system frame for TOROT and TOFRAME. The current $P_TOOLFRAME and the data
management frame $P_TOOLFR are also deleted. TOROTOF is in the same G code group as
TOROT and TOFRAME and appears, therefore, in the G code display.
Example
Example of using an orientational toolholder with deactivated kinematics:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 847
Axes, Coordinate Systems, Frames (K2)
Frames
Programmable frame
With the end of the subprogram the programmable frame active before the subroutine call is
reactivated.
System frames
If the system frames are changed by the subprogram, the change remains effective even
after the end of the subprogram.
Basic Functions
848 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 849
Axes, Coordinate Systems, Frames (K2)
Frames
$AA_IEN[axis]
The setpoints in the settable zero system (SZS) can be read for each axis using the
variables $AA_IEN[axis].
$AA_IBN[axis]
The setpoints in the basic zero system (BZS) can be read using the variable $AA_IBN[axis].
$AA_IW[axis]
The setpoints in the workpiece coordinate system (WCS) can be read using the variable
$AA_IW[axis].
10.5.12.1 POWER ON
Basic Functions
850 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
System frames
System frames are retained and remain active when the operating mode is changed.
JOG mode
In JOG mode, the frame components of the current frame are only taken into account for the
geometry axes if a rotation is active. No other axial frames are taken into account.
Bit Significance
0 System frame for actual value setting and scratching is active after RESET.
1 System frame for zero offset external is active after RESET.
2 Is not evaluated.
3 Is not evaluated.
4 System frame for workpiece reference point is active after RESET.
5 System frame for cycles is active after RESET.
6 Reserved, RESET response depends on MD20110 $MC_RESET_MODE_MASK.
7 System frame $P_ISO1FR is active after RESET.
8 System frame $P_ISO2FR is active after RESET.
9 System frame $P_ISO3FR is active after RESET.
10 System frame $P_ISO4FR is active after RESET.
11 System frame $P_RELFR is active after RESET.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 851
Axes, Coordinate Systems, Frames (K2)
Frames
RESET response of the system frames of TCARR, PAROT, TOROT and TOFRAME
The RESET response of the system frames of TCARR, PAROT, TOROT and TOFRAME
depends on the G-Code RESET setting.
The setting is made with machine data:
MD20110 $MC_RESET_MODE_MASK (definition of initial control settings after
RESET/TP end)
MD20152 $MC_GCODE_RESET_MODE[ ] (RESET response of G groups)
MD20150 $MC_GCODE_RESET_VALUES (RESET position of G groups)
MD20110 Significance
Bit 0 = 0 TCARR and PAROT system frames are retained as before the RESET.
MD20152 $MC_GCODE_RESET_MODE[52] = 0
MD20150 $MC_GCODE_RESET_VALUES[52] = 1 TOROTOF
MD20150 $MC_GCODE_RESET_VALUES[52] = 2 TOROT
MD20150 $MC_GCODE_RESET_VALUES[52] = 3 TOFRAME
TCARR and PAROT are two independent functions, which describe the same frame. With
PAROTOF, the component of TCARR is not activated on RESET.
Basic Functions
852 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
MD20110 Significance
Bit 0 = 1 and bit 14 = 0 Chained complete basic frame is deleted.
Bit 0 = 1 and bit 14 = 1 The complete basic frame is derived on the basis of:
MD24002 $MC_CHBFRAME_RESET_MASK
(active channel-specific basic frame after RESET)
and
MD10613 $MN_NCBFRAME_RESET_MASK
(active NCU global basic frame after RESET)
MD24002 $MC_CHBFRAME_RESET_MASK
Bit 0 = 1 1st channel basic frame is calculated into the chained
complete basic frame.
Bit 7 = 1 8th channel basic frame is calculated into the chained
complete basic frame.
MD10613 $MN_NCBFRAME_RESET_MASK
Bit 0 = 1 1st NCU global basic frame is calculated into the chained
complete basic frame.
Bit 7 = 1 8th NCU global basic frame is calculated into the chained
complete basic frame.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 853
Axes, Coordinate Systems, Frames (K2)
Frames
Bit Significance
0 System frame for actual value setting and scratching is deleted during RESET.
1 System frame for zero offset external is deleted during RESET.
2 Reserved, for TCARR and PAROT see MD20150 $MC_GCODE_RESET_VALUES[ ].
3 Reserved, for TOROT and TOFRAME see MD20150 $MC_GCODE_RESET_VALUES[ ].
4 System frame for workpiece reference points is deleted during RESET.
5 System frame for cycles is deleted during RESET.
6 Reserved, RESET response depends on MD20110 $MC_RESET_MODE_MASK.
7 System frame for $P_ISO1FR is deleted during RESET.
8 System frame for $P_ISO2FR is deleted during RESET.
9 System frame for $P_ISO3FR is deleted during RESET.
10 System frame for $P_ISO4FR is deleted during RESET.
11 System frame $P_RELFR is deleted during RESET.
Basic Functions
854 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Frames
Block search
Data management frames are also modified when carrying out a block search with
calculation.
Bit Significance
0 All frames in the data management are restored.
In case of cascaded block searches, the frames are set to the status of the previous block
search.
SERUPRO
The "SERUPRO" function is not supported.
10.5.12.6 REPOS
There is no special treatment for frames. If a frame is modified in an ASUB, it is retained in
the program. On repositioning with REPOS, a modified frame is included, provided the
modification was activated in the ASUB.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 855
Axes, Coordinate Systems, Frames (K2)
Workpiece-related actual-value system
10.6.1 Overview
Definition
The term "workpiece-related actual-value system" designates a series of functions that
permit the user:
● To use a workpiece coordinate system defined in machine data after power-up.
Features:
– No additional operations are necessary.
– Effective in JOG and AUTOMATIC modes
● To retain the valid settings for the following after end of program for the next part
program:
– Active plane
– Settable frame (G54-G57)
– Kinematic transformation
– Active tool offset
● To change between work coordinate system and machine coordinate system via the user
interface.
● To change the work coordinate system by operator action (e.g. changing the settable
frame or the tool offset).
Switchover to WCS
The change to the WCS via the user interface causes the axis positions relative to the origin
of the WCS to be displayed.
Switchover to MCS
The change to the MCS via the user interface causes the axis positions relative to the origin
of the MCS to be displayed.
Basic Functions
856 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Workpiece-related actual-value system
)UDPHFKDLQ
:&6
)UDPHIRUF\FOHVSURJUDPPDEOH
IUDPHWUDQVIRUPDWLRQV
6=6
6\VWHPIUDPHIRU72527
72)5$0( ZRUNSLHFHV
*WR*VHWWDEOHIUDPH
FKDQQHOVSHFRU1&8JOREDO
%=6
&KDLQHGILHOGRIEDVLFIUDPHV
FKDQQHOVSHFDQGRU1&8JOREDO
&KDLQHGV\VWHPIUDPHVIRU3$52735(6(7
VFUDWFKLQJ]HURRIIVHWH[WHUQDO
.LQHPDWLFWUDQVIRUPDWLRQ
0&6
+RPHSRVLWLRQRIIVHW
0&6 0DFKLQH&RRUGLQDWH6\VWHP
%&6 %DVLF&RRUGLQDWH6\VWHP
:&6 :RUNSLHFH&RRUGLQDWH6\VWHP
%=6 %DVLF=HUR6\VWHP
6=6 6HWWDEOH=HUR6\VWHP
References:
/PG/ Programming Manual, Fundamentals
/FB1/ Function Manual, Basic Functions; Tool Offset (W1)
/FB1/ Function Manual, Basic Functions; Auxiliary Function Outputs to PLC (H2)
/FB2/ Function Manual, Expansion Functions; Kinematic Transformation (M1)
/FB3/ Function Manual, Special Functions; Axis Couplings and ESR (M3);
Section: Coupled Motion, Chapter: Master Value Coupling
/FB3/ Function Manual, Special Functions; Tangential Control (T3)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 857
Axes, Coordinate Systems, Frames (K2)
Workpiece-related actual-value system
Overstore
Overstoring in RESET state of:
● Frames (zero offsets)
● Active plane
● Activated transformation
● Tool offset
immediately affects the actual-value display of all axes in the channel.
MD9440
If the HMI machine data
MD9440 ACTIVATE_SEL_USER_DATA
for the operator panel front is set, the entered values become active immediately in RESET
state.
When values are entered in the part-program execution stop state, they become effective
when program execution continues.
Actual-value reading
If the actual value of $AA_IW is read in the WCS after activation of a frame (zero offset) or a
tool offset, the activated changes are already contained in the result read even if the axes
have not yet been traversed with the activated changes.
The actual values in the settable zero system (SZS) can be read from the part program for
each axis using the variable $AA_IEN[axis].
The actual values in the basic zero system (BZS) can be read from the part program for
each axis using the variable $AA_IBN[axis].
Basic Functions
858 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Workpiece-related actual-value system
Actual-value display
The programmed contour is always displayed in the WCS.
The following offsets are added to the MCS:
● Kinematic transformation
● DRF offset/zero offset external
● Active frame
● Active tool offset of the current tool
Switchover by PLC
The actual values can be displayed in the WCS, SZS, BZS or MCS via the PLC. The PLC
can define, which coordinate system corresponds to the workpiece coordinate system on a
machine.
On MMC power-on the MCS is preset.
With the signal DB19 DBB0.7 "MCS/WCS switchover", it is also possible to switch from the
PLC to the WCS.
Transfer to PLC
Depending on machine data
MD20110/MD20112, bit 1,
the auxiliary functions (D, T, M) are output to the PLC (or not) on selection of the tool length
compensation.
Note
If the WCS is selected from the PLC, an operator action can still be used to switch between
the WCS and MCS for the relevant mode.
However, when the mode and or area is changed, the WCS selected by the PLC is
evaluated and activated.
References:
/FB1/ Function Manual, Basic Functions; Mode Group, Channel, Program Operation, Reset
Response (K1)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 859
Axes, Coordinate Systems, Frames (K2)
Restrictions
10.7 Restrictions
There are no supplementary conditions to note.
Basic Functions
860 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Examples
10.8 Examples
10.8.1 Axes
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 861
Axes, Coordinate Systems, Frames (K2)
Examples
<
:=0
%
;
=
MD20050 AXCONF_GEOAX_ASSIGN_TAB[0] =1
MD20050 AXCONF_GEOAX_ASSIGN_TAB[1] =2
MD20050 AXCONF_GEOAX_ASSIGN_TAB[2] =3
MD20060 AXCONF_GEOAX_NAME_TAB[0] =X
MD20060 AXCONF_GEOAX_NAME_TAB[1] =Y
MD20060 AXCONF_GEOAX_NAME_TAB[2] =Z
MD20070 AXCONF_MACHAX_USED[0] =1
MD20070 AXCONF_MACHAX_USED[1] =2
Basic Functions
862 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Examples
MD20080 AXCONF_CHANAX_NAME_TAB[0] =X
MD20080 AXCONF_CHANAX_NAME_TAB[1] =Y
MD20080 AXCONF_CHANAX_NAME_TAB[2] =Z
MD20080 AXCONF_CHANAX_NAME_TAB[3] =B
MD20080 AXCONF_CHANAX_NAME_TAB[4] = WZM
MD20080 AXCONF_CHANAX_NAME_TAB[5] = S1
MD30300 IS_ROT_AX[3] =1
MD30300 IS_ROT_AX[4] =1
MD30300 IS_ROT_AX[5] =1
MD30310 ROT_IS_MODULO[3] =1
MD30310 ROT_IS_MODULO[4] =1
MD30310 ROT_IS_MODULO[5] =1
MD30320 DISPLAY_IS_MODULO[3] =1
MD30320 DISPLAY_IS_MODULO[4] =1
MD20090 SPIND_DEF_MASTER_SPIND =1
MD35000 SPIND_ASSIGN_TO_MACHAX[AX1] =0
MD35000 SPIND_ASSIGN_TO_MACHAX[AX2] =0
MD35000 SPIND_ASSIGN_TO_MACHAX[AX3] =0
MD35000 SPIND_ASSIGN_TO_MACHAX[AX4] =0
MD35000 SPIND_ASSIGN_TO_MACHAX[AX5] =0
MD35000 SPIND_ASSIGN_TO_MACHAX[AX6] =1
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 863
Axes, Coordinate Systems, Frames (K2)
Examples
Machine data
Machine data for channel 1 Value Machine data for channel 1 Value
$MC_AXCONF_CHANAX_NAME_TAB[0] =X $MC_AXCONF_CHANAX_NAME_TAB[0] =X
$MC_AXCONF_CHANAX_NAME_TAB[1] =Y $MC_AXCONF_CHANAX_NAME_TAB[1] =Y
$MC_AXCONF_CHANAX_NAME_TAB[2] =Z $MC_AXCONF_CHANAX_NAME_TAB[2] =Z
$MC_AXCONF_MACHAX_USED[0] =1 $MC_AXCONF_MACHAX_USED[0] =4
$MC_AXCONF_MACHAX_USED[1] =2 $MC_AXCONF_MACHAX_USED[1] =5
$MC_AXCONF_MACHAX_USED[2] =3 $MC_AXCONF_MACHAX_USED[2] =6
$MC_AXCONF_GEOAX_NAME_TAB[0] =X $MC_AXCONF_GEOAX_NAME_TAB[0] =X
$MC_AXCONF_GEOAX_NAME_TAB[1] =Y $MC_AXCONF_GEOAX_NAME_TAB[1] =Y
$MC_AXCONF_GEOAX_NAME_TAB[2] =Z $MC_AXCONF_GEOAX_NAME_TAB[2] =Z
$MC_AXCONF_GEOAX_ASSIGN_TAB[0] =1 $MC_AXCONF_GEOAX_ASSIGN_TAB[0] =4
$MC_AXCONF_GEOAX_ASSIGN_TAB[1] =2 $MC_AXCONF_GEOAX_ASSIGN_TAB[1] =5
$MC_AXCONF_GEOAX_ASSIGN_TAB[2] =3 $MC_AXCONF_GEOAX_ASSIGN_TAB[2] =6
Basic Functions
864 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Examples
10.8.3 Frames
Example 1
The channel axis is to become a geometry axis through geometry axis substitution.
The substitution is to give the programmable frame a translation component of 10 in the X
axis.
The current settable frame is to be retained:
FRAME_GEOX_CHANGE_MODE = 1
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 865
Axes, Coordinate Systems, Frames (K2)
Examples
Example 2
Channel axes 4, 5 and 6 become the geometry axes of a 5-axis orientation transformation.
The geometry axes are thus all substituted before the transformation.
The current frames are changed when the transformation is activated.
The axial frame components of the channel axes, which become geometry axes, are taken
into account when calculating the new WCS. Rotations programmed before the
transformation are retained. The old WCS is restored when the transformation is
deactivated.
The most common application will be that the geometry axes do not change before and after
the transformation and that the frames are to stay as they were before the transformation.
Machine data:
$MN_FRAME_GEOAX_CHANGE_MODE = 1
$MC_AXCONF_CHANAX_NAME_TAB[0] = "CAX"
$MC_AXCONF_CHANAX_NAME_TAB[1] = "CAY"
$MC_AXCONF_CHANAX_NAME_TAB[2] = "CAZ"
$MC_AXCONF_CHANAX_NAME_TAB[3] = "A"
$MC_AXCONF_CHANAX_NAME_TAB[4] = "B"
$MC_AXCONF_CHANAX_NAME_TAB[5] = "C"
$MC_AXCONF_GEOAX_ASSIGN_TAB[0] = 1
$MC_AXCONF_GEOAX_ASSIGN_TAB[1] = 2
$MC_AXCONF_GEOAX_ASSIGN_TAB[2] = 3
$MC_AXCONF_GEOAX_NAME_TAB[0] = "X"
$MC_AXCONF_GEOAX_NAME_TAB[1]="Y"
$MC_AXCONF_GEOAX_NAME_TAB[2] = "Z"
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[0]=4
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[1]=5
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[2]=6
$MC_TRAFO_AXES_IN_1[0] = 4
$MC_TRAFO_AXES_IN_1[1] = 5
$MC_TRAFO_AXES_IN_1[2] = 6
$MC_TRAFO_AXES_IN_1[3] = 1
$MC_TRAFO_AXES_IN_1[4] = 2
Basic Functions
866 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Examples
Program:
$P_NCBFRAME[0] = ctrans(x,1,y,2,z,3,a,4,b,5,c,6)
$P_CHBFRAME[0] = ctrans(x,1,y,2,z,3,a,4,b,5,c,6)
$P_IFRAME = ctrans(x,1,y,2,z,3,a,4,b,5,c,6):crot(z,45)
$P_PFRAME = ctrans(x,1,y,2,z,3,a,4,b,5,c,6):crot(x,10,y,20,z,30)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 867
Axes, Coordinate Systems, Frames (K2)
Data lists
Basic Functions
868 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Data lists
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 869
Axes, Coordinate Systems, Frames (K2)
Data lists
Basic Functions
870 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Axes, Coordinate Systems, Frames (K2)
Data lists
Names Description
$AA_ETRANS[axis] Offset value zero offset external
$AA_IBN[axis] Actual value in basic zero coordinate system (BZS)
$AA_IEN[axis] Actual value in settable zero point coordinate system (ENS)
$AA_OFF[axis] Overlaid motion for programmed axis
$AC_DRF[axis] DRF offset (differential resolver function)
$AC_JOG_COORD Changeover of the manual operation coordinate system
$P_ACSFRAME Current frame for defining the ENS (ACS)
$P_ACTBFRAME Current chained total basic frame
$P_ACTFRAME Current total frame
$P_BFRAME Current first basic frame in the channel. Corresponds to $P_CHBFRAME
$P_CHBFR[n] Channel basic frames, activated via G500, G54 to G599
$P_CHBFRAME[n] Current basic frame in channel
0 to 15 NCU basic frames can be set through:
MD28081 MM_NUM_BASE_FRAMES
$P_CHBFRMASK Bit mask for definition of channel-specific basic frames
$P_CHSFRMASK Bit mask for activating system frames in data management
$P_CYCFR System frame for cycles
$P_CYCFRAME Current system frame for cycles
$P_EXTFR System frame for zero offset external in data management
$P_EXTFRAME Current system frame for zero offset external
$P_IFRAME Current settable frame
$P_ISO1FR System frame for ISO G51.1 mirroring
$P_ISO2FR System frame for G68 2DROT (ISO)
$P_ISO3FR System frame for G68 3DROT (ISO)
$P_ISO4FR System frame for G51 scale (ISO)
$P_ISO1FRAME Current system frame for ISO G51.1 mirroring
$P_ISO2FRAME Current system frame for G68 2DROT (ISO)
$P_ISO3FRAME Current system frame for G683DROT (ISO)
$P_ISO4FRAME Current system frame for G51 scale (ISO)
$P_NCBFR[n] NCU basic frames, activated via G500, G54 to G599
$P_NCBFRAME[n] Current NCU basic frame
0 to 15 NCU basic frames can be set through:
MD18602 MM_NUM_GLOBAL_BASE_FRAMES
$P_NCBFRMASK Bit mask for definition of NCU global basic frames
$P_PARTFR System frame for TCARR and PAROT in data management
$P_PARTFRAME Current system frame for TCARR and PAROT with an orientational toolholder
$P_PFRAME Current programmable frame
$P_SETFR System frame for PRESET and scratching in data management
$P_SETFRAME Current system frame for PRESET and scratching
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 871
Axes, Coordinate Systems, Frames (K2)
Data lists
Names Description
$P_TOOLFR System frame for TOROT and TOFRAME in data management
$P_TOOLFRAME Current system frame for TOROT and TOFRAME
$P_TRAFRAME System frame for transformations
$P_TRAFRAME Current system frame for transformations
$P_UBFR Basic frame in channel activated after G500, G54 to G599 Corresponds to
$P_CHBFR[0].
$P_UIFR[n] Settable frames, activated via G500, G54 to G599
$P_UIFRNUM Number of active frame $P_UIFR
$P_WPFR System frame for workpiece reference points
$P_WPFRAME Current system frame for workpiece reference points
$AA_ETRANS[X]
$AA_ETRANS[X] is an axis-specific system variable of the DOUBLE type. The default
setting in the system for this variable is zero.
Values set by the user are activated through the NC/PLC interface signal:
DB31, ... DBX3.0 (external zero offset)
10.9.4 Signals
Basic Functions
872 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Emergency Stop (N2) 11
11.1 Brief description
Function
The control system supports the machine manufacturer in implementing an emergency stop
function on the basis of the following functions:
● An emergency stop button is installed in a location easily accessible to the machine
operator on all SINUMERIK machine control panels. The functionality of the emergency
stop button includes the positive opening of electrical switching contacts and a
mechanical self-activating latching/locking.
● The emergency stop request to the NC is transmitted via the NC/PLC interface on the
PLC.
● In response to an emergency stop command, the NC decelerates all axes and spindles
as quickly as possible (with setpoint value 0), i.e. braking at the current limit of the drives.
● In the case of an emergency stop, all machine functions controlled by the PLC can be
brought to a safe state that can be set by the machine manufacturer.
● Unlatching the emergency stop button does not cancel the emergency stop state nor
does it initiate a restart.
● After the emergency stop state has been canceled, it is not necessary to reference the
machine axes or synchronize the spindles. The actual positions of the machine axes are
continuously tracked during the emergency stop sequence.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 873
Emergency Stop (N2)
Relevant standards
Relevant standards
Compliance with the following standards is essential for the emergency stop function:
● EN ISO 12000-1
● EN ISO 12000-2
● EN 418
● EN 60204
EMERGENCY STOP
In accordance with EN 418, an emergency stop is a function that:
● Is intended to prevent or diminish developing or existing risks to operating personnel, and
damage to the machine or machined materials.
● is triggered by a single action of a person, if the normal stop function is not suitable for it.
Hazards
In the terms of EN 418, risks may arise from:
● Functional irregularities (machine malfunctions, unacceptable properties of the material to
be machined, human error, etc.).
● Normal operation.
NOTICE
The machine manufacturer is expressly directed to comply with the national and
international standards. The SINUMERIK controllers support the machine manufacturer
in the implementation of the emergency stop function according to the specifications in
the following function description. But the responsibility for the emergency stop function
(its triggering, sequence, and acknowledgment) rests exclusively with the machine
manufacturer.
Basic Functions
874 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Emergency Stop (N2)
Emergency stop control elements
Connection conditions
For connecting the emergency stop button see:
References:
/BH/ Operator Components Manual
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 875
Emergency Stop (N2)
Emergency stop sequence
Basic Functions
876 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Emergency Stop (N2)
Emergency stop sequence
Note
The responsibility for interrupting the power supply rests with the machine manufacturer.
● The digital and analog outputs of the PLC I/O are not influenced by the emergency stop
sequence in the NC.
If individual outputs are required to attain a particular state or voltage level in the event of
an emergency stop, the machine manufacturer must implement this in the PLC user
program.
● The fast digital outputs of the NCK I/O system are not influenced by the emergency stop
sequence in the NC.
If individual outputs must assume a specific state in the case of emergency stop, the
machine manufacturer must transmit the desired state to the NC in the PLC user program
via interface signals:
DB10 DBB4-7
Note
If the sequence in the NC is not to be executed as described above, then the interface
signal DB10 DBX56.1 (emergency stop) must not be set until an emergency stop state
defined by the machine manufacturer in the PLC user program is reached.
As long as the interface signal is not set and no other alarm is pending, all interface
signals are operative in the NC. Any emergency stop state defined by the manufacturer
(including axis-, spindle-, and channel-specific emergency stop states) can therefore be
assumed.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 877
Emergency Stop (N2)
Emergency stop acknowledgement
Note
The emergency stop state cannot be reset with the interface signal DB21, ... DBX7.7 (Reset)
alone.
'%'%; (PHUJHQF\VWRS
1
'%'%;
$FNQRZOHGJHHPHUJHQF\VWRS
'%'%; (PHUJHQF\VWRSDFWLYH
'%'%; 5(6(7
3
Basic Functions
878 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Emergency Stop (N2)
Emergency stop acknowledgement
Effects
Resetting the emergency stop state has the following effects:
● within the controller for all machine axes:
– the servo enables are set.
– the follow-up mode is cancelled.
– the position control is activated.
● the following interface signals are set:
DB31, ... DBX60.5 (position control active)
DB11 DBX6.3 (Mode group ready).
● the following interface signal is reset:
DB10 DBX106.1 (Emergency stop active)
● the alarm 3000 "emergency off" is deleted.
● Part program processing is interrupted in all channels of the NC.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 879
Emergency Stop (N2)
Data lists
11.6.2 Signals
11.6.2.1 Signals to NC
Basic Functions
880 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Transverse Axes (P1) 12
12.1 Brief description
Transverse axis
Within the framework of "turning" technology, the transverse axis refers to the machine axis
that travels perpendicular to the axis of symmetry of the spindle, in other words, to
longitudinal axis Z.
Properties
● Every geometry axis of a channel can be defined as a transverse axis.
● Only one transverse axis can be defined per channel.
● A transverse axis is a linear axis for the following functions, which can be permitted and
activated at the same time or separately:
– Programming and display in the diameter
– Reference axis for constant cutting speed G96/G961/G962
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 881
Transverse Axes (P1)
Brief description
Note
Rotary axes are not permitted to serve as transverse axes.
Basic Functions
882 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Transverse Axes (P1)
Defining a geometry axis as transverse axis
Transverse axis
Within the framework of "turning" technology, the transverse axis refers to the machine axis
that travels perpendicular to the axis of symmetry of the spindle, in other words, to
longitudinal axis Z.
;
7UDQVYHUVHD[LV
0
:
/RQJLWXGLQDOD[LV
Figure 12-1 Position of the transverse axis in the machine coordinate system
Definition
Definition of a transversing axis in the channel
The definition of a geometry axis as a transverse axis is done using machine data:
MD20100 $MC_DIAMETER_AX_DEF (geometry axis with transverse axis function).
For this axis, diameter programming and assigning a constant cutting speed with
G96/G961/G962 are both permitted.
Definition of several transversing axes in the channel
The machine data MD30460 $MA_BASE_FUNCTION_MASK allows the definition of
additional transverse axes, for which axis-specific diameter programming with bit2=1 is
possible.
An axis can be simultaneously defined in MD20100 and in MD30460 with bit2. For this, the
channel-specific MD20100 has a higher priority than the axis-specific MD30460.
With:
● MD20100, the function G96/G961/G962 is assigned to the transverse axis during power
up.
● MD20100, the channel-specific diameter programming DIAMON, DIAMOF, DIAM90,
DIAMCYCOF is assigned to the transverse axis during power up.
This axis occupies the axis-specific basic position DIAMCHANA[AX] after power up.
● MD30460 bit2 the additional enabling of the axis-specific statements DIAMONA[AX],
DIAMOFA[AX], DIAM90A[AX], DIACYCOFA[AX], DIMCHANA[AX].
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 883
Transverse Axes (P1)
Defining a geometry axis as transverse axis
Restrictions
However, only exactly one geometry axis can be defined as transverse axis per channel.
With MD30460 $MA_BASE_FUNCTION_MASK bit2=1 is only permitted for linear axes.
Basic Functions
884 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Transverse Axes (P1)
Dimensional information for transverse axes
;
7UDQVYHUVHD[LV
0
:
' '
=
/RQJLWXGLQDOD[LV
Note
The additionally specified axis must be activated via MD30460
$MA_BASE_FUNCTION_MASK with bit2=1.
The axis specified must be a known axis in the channel. Geometry, channel or machine axes
are permitted.
Programming is not permitted in synchronized actions.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 885
Transverse Axes (P1)
Dimensional information for transverse axes
The following axis-specific modal statements can be programmed several times in a part
program block:
● DIAMONA[Axis]: Diameter programming for G90, G91 AC and IC ON
● DIAMOFA[Axis]: Diameter programming OFF, in other words, radius programming ON
● DIAM90A[axis]: Diametral or radius programming depending upon the reference mode:
– Diameter programming ON in connection with absolute dimensioning G90 and AC
– Radius programming ON in connection with incremental dimensioning G91 and IC
● DIACYCOFA[axis]: Radius programming for G90 and G91 ON , for the HMI, the last
active G code of this group remains active
● DIAMCHANA[axis]: Acceptance of diameter programming channel status
● DIAMCHAN: all axes with MD30460, bit2=1 accept the diameter programming channel
status
Axis-specific modal statements have priority over the channel setting.
Initial setting
The following machine data is used to parameterize the initial setting:
MD20150 $MC_GCODE_RESET_VALUES [28] (initial setting of the G groups)
and independently of MD20110 $MC_RESET_MODE_MASK for bit0 the
MD20152 $MC_GCODE_RESET_MODE
Basic Functions
886 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Transverse Axes (P1)
Dimensional information for transverse axes
Diameter-related data
After activation of the diameter programming, the following data refer to diameter
dimensions:
DIAMON/DIAMONA[AX]
● Display data of transverse axis in the workpiece coordinate system:
– Setpoint and actual position
– Distance-to-go
– REPOS Offset
● "JOG" mode:
– Increments for incremental dimension (INC) and handwheel travel (dependent upon
active MD)
● Part program programming:
– End positions, independent of reference mode (G90/G91)
– Interpolation parameters of circular-path programming (G2/G3) if these are
programmed with part program instruction: AC absolute.
● Actual values read with reference to the workpiece coordinate system (WCS):
– $AA_MW[Transverse axis]
System variable of the measuring functions MEAS (measuring with delete distance-to-
go) and MEAW (measuring without delete distance-to-go)
– $P_EP[Transverse axis]
– $AA_IW[Transverse axis]
DIAM90/DIAM90A[AX]
After activation of the reference-mode-dependent diameter programming, the following data
are always displayed in relation to diameter regardless of the operating mode (G90/G91):
● Actual value
● Actual values read with reference to the workpiece coordinate system (WCS):
– $AA_MW[Transverse axis]
System variable of the measuring functions MEAS (measuring with delete distance-to-
go) and MEAW (measuring without delete distance-to-go)
– $P_EP[Transverse axis]
– $AA_IW[Transverse axis]
DIAMCYCOF/DIACYCOFA[AX]
Just as for DIAMCYCOF, a changeover to radius programing takes place within the controller
for DIACYCOFA[AX]. The diameter programming status that was active before DIAMCYCOF
or DIACYCOFA[AX] continues to be displayed to the HMI.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 887
Transverse Axes (P1)
Dimensional information for transverse axes
Basic Functions
888 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Transverse Axes (P1)
Dimensional information for transverse axes
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 889
Transverse Axes (P1)
Dimensional information for transverse axes
Application examples
X is a transverse axis defined via MD20100 $MC_DIAMETER_AX_DEF.
Y is a geometry axis and U is an additional axis. These two axes are transverse axes with
specified diameter further defined in MD30460 $MA_BASE_FUNCTION_MASK with bit2=1.
DIAMON is not active after power up.
Channel 1
N10 G0 G90 X100 Y50 ;no diameter programming is active
N20 DIAMON ;Channel-specific diameter programming for X
N30 Y200 X200 ;Dimension: X in the diameter, Y in the radius
N40 DIAMONA[Y] ;Y axis-specific modal diameter programming
N50 Y250 X300 ;Dimension: X and Y in diameter
N60 SETM(1) ;Synchronous marker 1
N70 WAIT(1,2) ;wait for synchronous marker 1 in channel 2
Channel 2
...
N50 DIAMOF ;channel 2 no diameter programming active
...
N100 WAIT(1,1) ;wait for synchronous marker 1 in channel 1
N110 GETD(Y) ;Axis replacement direct Y
N120 Y100 ;Y the channel-specific diameter programming
;subordinated in channel 2, i.e. dimension in the radius
Basic Functions
890 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Transverse Axes (P1)
Data lists
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 891
Transverse Axes (P1)
Data lists
Basic Functions
892 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3) 13
13.1 Brief description
General
The PLC basic program organizes the exchange of signals and data between the PLC user
program and the NCK (Numerical Control Kernel), HMI (Human Machine Interface) and MCP
(Machine Control Panel). In the case of signals and data, a distinction is made between the
following groups:
● Cyclic signal exchange
● Event-driven signal exchange
● Messages
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 893
Basic PLC Program (P3)
Brief description
Messages
User messages are acquired and conditioned by the basic program. A defined bit field is
used to transfer the message signals to the basic program, where they are evaluated and, if
message events occur, entered in the PLC's interrupt buffer by means of the ALARM S/SQ
functions. Where an HMI (e.g. HMI embedded) is provided, the messages are transferred to
and displayed on the HMI.
Note
The function of the machine is largely determined by the PLC program. Every PLC program
in the RAM can be edited with the programming device.
Basic Functions
894 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Key data of the PLC-CPUs for 840D sl and 840Di sl
Scope of performance
The table given below shows the performance range of the PLC CPUs and the scope of the
basic PLC program with reference to various types of control.
Type of control
840Di sl 840D sl
PLC-CPU: Integrated PLC Integrated PLC
CPU317-2DP CPU317-2DP
master/slave master/slave
Key CPU data
Memory for user and basic program 128 to 768 KB 128 to 768 KB
Data block memory max. 256 KB max. 256 KB
Memory submodule no No
Bit memories 32768 32768
Timers 512 512
Meters 512 512
Clock memories 8 8
Program/data blocks:
OB 1, 10, 20-21, 32-35, 40, 1, 10, 20-21, 32-35, 40,
55-57, 80, 82, 85-87, 90, 55-57, 80, 82, 85-87, 90,
100, 121-122 100, 121-122
FB 0-2048 0-2048
FC 0-2048 0-2048
DB 1-2048 1-2048
Max. data block length 64 KB 64 KB
Max. block length FC, FB 64 KB 64 KB
Inputs/outputs (addressing capacity in bytes)
digital + analog 4096/4096 4096/4096
Incl. reserved area (8192/8192) (8192/8192)
Process image 256/256 256/256
Note: The inputs/outputs above 4096 are reserved for integrated drives.
Inputs/outputs 1) (addressing)
Row 0 is integrated in the Through optional Through optional configuring
NCU. configuring of I/O devices: of I/O devices:
From I/O byte 0 From I/O byte 0
digital From PI/PO byte 288 From PI/PO byte 288
analog PROFIBUS only PROFIBUS only
Processing time
Bit instructions (I/O) 0.03 ms/kA 0.03 ms/kA
Word instructions 0.1 ms/kA 0.1 ms/kA
PDIAG (Alarm S,SQ) Yes yes
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 895
Basic PLC Program (P3)
Key data of the PLC-CPUs for 840D sl and 840Di sl
Type of control
PROFIBUS Master/Slave Master/Slave
Number of PROFIBUS slaves max. 125 max. 125
Number of PROFIBUS slots max. 512 max. 512
DP master system no. DP 1 1
DP master system no. MPI/DP 2 2
DP master system No. internal PROFIBUS (PCI) - 3
Programmable block communication PBK yes yes
Consistent data to standard slave via SFC 14, 15 128 128
I/O expansion
I/O modules, central none none
PROFIBUS DP interfaces 1 (2) 1 (2)
Interfaces (MPI) 1 (0) 1 (0)
1) Row 0 is integrated in the NC. Rows 1 to 3 are available for I/O devices
PLC filter
840Di sl (MCI3) 840D sl (NCU 730.2 PN)
PLC-CPU: Integrated PLC Integrated PLC
CPU319-3PN/DP CPU319-3PN/DP
Master/Slave Master/Slave
Key CPU data
Memory for user and basic 512 to 1536 KB 512 to 1536 KB
program
Data block memory max. 256 KB max. 256 KB
Memory submodule No No
Bit memories 65536 65536
Timers 2048 2048
Counter 2048 2048
Clock memory 8 8
Program/data blocks:
OB 1, 10, 20-21, 32-35, 40, 1, 10, 20-21, 32-35, 40,
55-57, 80, 82, 85-87, 90, 55-57, 80, 82, 85-87, 90,
100, 121-122 100, 121-122
FB 0-2048 0-2048
FC 0-2048 0-2048
DB 1-4096 1-4096
Max. data block length 64 KB 64 KB
Max. block length FC, FB 64 KB 64 KB
Inputs/outputs (addressing capacity in bytes)
digital + analog 4096/4096 (8192/8192) 4096/4096 (8192/8192)
Incl. reserved area
Process image 256/256 256/256
Note: The inputs/outputs above 4096 are reserved for integrated drives.
Basic Functions
896 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Key data of the PLC-CPUs for 840D sl and 840Di sl
PLC filter
Inputs/outputs 1) (addressing)
1) Row 0 is integrated in the NC. Rows 1 to 3 are available for I/O devices
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 897
Basic PLC Program (P3)
Key data of the PLC-CPUs for 840D sl and 840Di sl
Note
Number of PROFIBUS slaves
The content of the SDB2000 and related further SDBs is stored by the PLC operating system
in internal data structures, which the PROFIBUS ASIC can also access. Furthermore,
information from SDB2000 is also conditioned (CPI interface) and transmitted to the NCK
and the PLC basic program. This is necessary in order to control drives and PROFIsafe
modules on the PROFIBUS. A memory area defined by the PLC is available for these data
structures. Its size is limited by the maximum number of slots. This means that during
loading, SDBs with fewer slaves than listed above may be refused. A slot is usually a slave
module or the slave itself. Only on a module with both I and Q areas does one module count
as 2 slots. It is, therefore, not possible to specify the size of SDB 2000 exactly. It cannot be
determined whether the configuration is legal until the SDB container has been loaded to the
CPU. The values shown above must be taken as guide values only. If the configuration is not
permissible, the alarm 410160 is set. If the configuration does not fit in the internal data
range, no PROFIsafe and no SFC 15 functions work.
PLC versions
● PLC 317-2DP with SIMATIC version 2.1.8 (version ID 20.70.31) or higher version is
implemented
● PLC 319-2DP with SIMATIC version 2.4 (version ID 24.90.xx) or higher version is
implemented.
These versions are compatible with the corresponding SIMATIC CPU 300, which means that
all modules and software packages that are approved for these versions and CPUs on
SIMATIC are, therefore, suitable. Exceptions are modules, which in general may only be put
in line 0.
Version identification in the version screen is made up of:
● SIMATIC CPU PLC primary version identifier
● Firmware transfer increment
● Internal increment
Basic Functions
898 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Key data of the PLC-CPUs for 840D sl and 840Di sl
PLC filter
840Di 840D sl
Scope
Axes/spindles See catalog 31
Channels 6 10
Mode groups 6 10
Functions
Status/control signals + +
M decoders (M00-99) + +
G group decoders + +
Aux. function distributors + +
Aux. function transfer, interrupt-driven + +
M decoding acc. to list + +
Move axes/spindles from PLC + +
Async. subprogram interface + +
Error/operating messages + +
Transfer MCP and HHU signals + +
Display control handheld unit + +
Read/write NCK variables and GUD + +
PI services + +
Tool management + +
Star/delta switchover + +
m:n + +
Safety Integrated +
Program diagnostics + +
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 899
Basic PLC Program (P3)
Key data of the PLC-CPUs for 840D sl and 840Di sl
Basic Functions
900 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Reserve resources (timers, counters, FC, FB, DB, I/O)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 901
Basic PLC Program (P3)
Startup hardware configuration of the PLC-CPUs
General procedure
The hardware configuration for the PLC CPUs used in the NCU7x0, including other
components of the NCU (NCK, CP, HMI, drive), must be defined via STEP 7. Proceed as
follows in STEP7:
1. Create a new project (File, New, Project)
2. Insert, Hardware, SIMATIC 300 station
3. Select the SIMATIC 300 station with the mouse
4. Right mouse button, open object
The HW-Config is now started.
5. A suitable SINUMERIK component is selected from the hardware catalog
"SIMATIC 300 \ SINUMERIK \ 840D sl".
6. I/Os are to be extended from the hardware catalog of STEP 7
The addresses for the I/O modules can be changed, if needed.
Prerequisites
In order to be able to select SINUMERIK components from the hardware catalog, you must
run the Toolbox setup program first ("Hardware expansions for STEP7" and "Starter"). The
current version of hardware expansions for STEP 7 can also be found under eSupport.
Basic Functions
902 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Startup hardware configuration of the PLC-CPUs
Note
On SINUMERIK 840D, SIMATIC line 0 is allocated for the SINUMERIK components.
In this line stretches to:
• Slot 2: the integrated PLC with the different bus systems
• Slot 3, empty
• Slot 4: the NCK 840D sl. The properties (I/O-address 256, process alarm) of the NCK
must not be changed, as process interrupts (e.g. auxiliary functions) of the NCK to PLC
may, in this case, no longer function.
• Slot 5: the integrated Ethernet CP 840D sl
• Slot 6: the integrated HMI 840D sl
The integrated drive is linked on the internal PCI bus (PROFIBUS protocol).
Currently, this bus does not support I/O access, and SFCs are not supported for this bus.
If you are using a different NCU, you can change the NCU using "drag & drop". The settings
remain unaffected. When using the program "Starter" the icon "SINAMICS_in_NCUxyz" is
also to be deleted and created again after the exchange of the NCU in the SIMATIC
Manager.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 903
Basic PLC Program (P3)
Startup hardware configuration of the PLC-CPUs
Figure 13-1 Hardware configuration on the SINUMERIK 840D sl and SINAMICS Properties dialog box
Basic Functions
904 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Startup hardware configuration of the PLC-CPUs
In the Properties dialog box for the integrated SINAMICS drive, object codes 1 to 6 are used
to identify axes 1 to 6. The axes are set for the largest possible message frame type 106 and
Safety Motion Monitoring as standard. This is the default setting. Telegram type 106 features
the longest possible user data length of an NC axis. The message frame type in the NC
machine data may not tally at all with this setting. In the context of an NC axis, message
frame type 106 means: 2 encoders + DSC
Object 8 contains the ALM via which, for example, enables have to be activated by the PLC
user program. Object 7 contains the CU (device 0). The manual for the NCU7x0 contains a
further description of these objects.
Axis expansions with the NX10 and NX15 modules are possible for NCU710, NCU720 and
NCU730. You will find NX10 and NX15 in the PROFIBUS-DP\SINAMICS module catalog.
You will find the clock settings for the drives in the dialog box under the "Isochronous
Operation" tab. In case the transmission cycles of the drives have to be changed, a change
must be made under this tab.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 905
Basic PLC Program (P3)
Startup hardware configuration of the PLC-CPUs
Ethernet communication
In case of CP 840D the Ethernet address is assigned by default for the port X127. As such,
the PLC can be reached via this port from a STEP 7 project. If needed, the Ethernet address
on the CP 840D can be changed to the Ethernet address of the port X120 or X130. Then a
cable connection to the PG of this port is also necessary.
Basic Functions
906 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Starting up the PLC program
Installation
The basic program is installed by the Toolbox by means of the execution of a setup program
for the basic program, hardware expansion for STEP7 (option package for SINUMERIK
840D sl) and NC-Var selector components, as well as for other tools. To start the installation,
run setup.exe in the main CD directory. You can then choose which components to install.
After the installation you can select the basic program library directly from STEP7
(bp7x0_14, 14 is the main basic program version 1.4). The concrete version of the basic
program can be scanned for the object properties of the library or the program folder in the
comment field.
General
The OB source programs, including standard parameterization, interface symbols and data-
block templates for the handheld unit and M decoding functions are included in the SIMATIC
project or SIMATIC library of the basic program.
STEP 7 must be installed before installing the basic program Toolbox. After an update of
STEP 7, it is generally recommended to reinstall the hardware expansion for STEP 7 from
the toolbox.
Comment
The catalog structures of a project and the procedure for creating projects and user
programs are described in the relevant SIMATIC documentation.
Procedure
The basic-program blocks are copied using the SIMATIC Manager and
"File" > "Open" > "Library".
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 907
Basic PLC Program (P3)
Starting up the PLC program
Basic Program
The version of the basic program is displayed on the HMI version screen along with the
controller type.
The controller type is encoded as follows:
User Program
Users can also display their own PLC version codes on the HMI version screen. For this
purpose, a data of type STRING containing a maximum of 54 characters must be defined in
any data block. The data can contain a text of the user's choice. Parameter assignments for
this string are made via a pointer in FB 1. Parameterization requires symbolic definition of
the data block.
See also section "block descriptions" > "FB 1: RUN_UP Basic program, start-up section
(Page 898) ".
Basic Functions
908 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Starting up the PLC program
The machine program can be created in various STEP 7 creation languages, e.g. AWL,
KOP, FUP, S7-HIGRAPH, S7GRAPH, SCL. The complete machine program must be
generated and compiled in the correct sequence.
This means that blocks that are called by other blocks must generally be compiled before
these blocks.
If blocks that are called by other blocks are subsequently modified in the interface
(VAR_INPUT, VAR_OUTPUT, VAR_IN_OUT, VAR) as the program is developed, then the
call block and all blocks associated with it must be compiled again. This general procedure
applies analogously to instance data blocks for FBs. If these sequence of operations is not
maintained, time-stamp conflicts occur when the data retranslated into STEP 7. As such, the
recompilability of the blocks is not ensured and with the function "Status of block"
unnecesary conflicts can also appear. It is, moreover, advisable to generate blocks in ASCII-
STL by means of the STEP 7 editor when they have been created in Ladder Diagram or in
single statements (incremental mode).
Note
No sensible recompilation is possible without the related project for this machine. This
especially affects, for instance the function status of the block or the necessary changes
done in the PLC-CPU programs later. It is, therefore, necessary to keep a backup copy of
the STEP 7 project located in the PLC CPU on the machine. This is a great help for the
service case and saves unnecessary consumption of time in restoring the original project.
If the STEP 7 project exists and has been created according to the instructions given above,
then symbols can be processed in the PLC-CPU on this machine. It may also be advisable
to store the machine source programs as ".awl" files in case they are required for any future
upgrade.
The source programs of all organization blocks and all instance data blocks should always
be available.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 909
Basic PLC Program (P3)
Starting up the PLC program
The PLC series archive can be generated directly from the relevant SIMATIC project as an
alternative. To do this, in STEP 7 select the "Archive" tab available under the "Options" >
"Settings" menu item. This contains an entry "SINUMERIK (*.arc)", which must be selected
to create a series commissioning file. After selection of the archive, select the "File" >
"Archive" menu item. The relevant series archive will then be generated. If the project
contains several programs, the program path can be selected. A series archive is set up for
the selected program path. All blocks contained in the program path are incorporated into the
archive, except for CPU-DBs (SFC 22 DBs). In addition, the "SDB archive" can be activated
or deactivated in the function. With this selection the SDB present in the STEP 7 project can
be added to the archive or left outside.
Automation
The process of generating a series archive can be automated (comparable to the command
interface in STEP7). In generating this series archive, the command interface is expanded.
The following functions are available for this expansion:
The functions (shown here in VB script) are not available until server instantiations and
Magic have been called:
Const S7BlockContainer = 1138689, S7PlanContainer = 17829889
Const S7SourceContainer = 1122308
set S7 = CreateObject("Simatic.Simatic.1")
instantiate rem command interface of STEP 7
Set S7Ext = CreateObject("SimaticExt.S7ContainerExt")
Call S7Ext.Magic("")
Functions:
Function Magic(bstrVal As String) As Long
Function MakeSeriesstart-up (FileName As String, Option As Long, Container As
S7Container) As Long
Description
Function Magic(bstrVal As String) As Long
Call gives access to certain functions. The function must be called once after server
instantiation. The value of bstrVal can be empty. This initiates a check of the correct STEP 7
version and path name in Autoexec. The functions are enabled with a return parameter of 0.
Return parameter (-1) = incorrect STEP 7 version
Return parameter (-2) = no entry in Autoexec.bat
Function MakeSeriesstart-up(FileName As String, Option As Long, Container As
S7Container) As Long
Basic Functions
910 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Starting up the PLC program
"Option" parameter:
0 = OK
-1 = Function unavailable, call Magic function beforehand
-2 = File name cannot be generated
-4 = Container parameter invalid or container block empty
-5 = Internal error (memory request rejected by Windows)
-6 = Internal error (problem in STEP 7 project)
-7 = Write error when generating series startup files (e.g. diskette full)
Use in script
The For Each ... Next Block programmed above can be programmed in the Delphi
programming language as follows (the programming for C, C++ programming languages is
similar):
Var
EnumVar: IEnumVariant;
rgvar: OleVariant;
fetched: Cardinal;
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 911
Basic PLC Program (P3)
Starting up the PLC program
Software upgrade
Whenever you update the PLC or NCK software, always reset the PLC to its initial state first.
This initial clear state can be achieved by means of a general PLC reset. In case of this
resetting all the available blocks are deleted.
In normal cases, the new basic program is to be linked for a new NCU software version. The
basic programs blocks must be loaded into the user project for this purpose. In this case no
OB 1, OB 40, OB 82, OB 86, OB 100, the FC 12 and also the DB 4 may not be transmitted, if
these blocks are already present in the user project. These blocks may have been modified
by the user. The new basic program must be linked with the user program.
To do this, proceed as follows:
1. Generate the text or source file of all user blocks before copying the basic program.
2. Then copy the new basic program blocks to this machine project (for a description, see
Subsection "Application of basic program")
3. All user programs "*.awl" must then be recompiled in the correct order! (see also:
"Machine program (Page 898)"):
4. This newly compiled machine program must then be loaded to the PLC CPU with STEP 7.
However, it is normally sufficient to recompile the organization blocks (OB) and the instance
data blocks of the machine program. This means you only need to generate sources for the
organization blocks and the instance data blocks (before upgrading).
Overall reset
A description of how to perform a general PLC reset appears in the Installation and Start-Up
Guide. However, a general reset does not delete the contents of the diagnostic buffer nor the
node address on the MPI bus. Another possible general reset method is described below.
This method must be used when the normal general reset process does not work.
Basic Functions
912 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Starting up the PLC program
Proceed as follows:
NC tags
The latest NC VAR selector can be used for each NC software version (even earlier
versions). For older NC software versions the variables can also be selected from the latest
complete list. The data cntent in DB 120 (default DB for variables) does not depend on the
software status. That is, variables selected in an older software version need not be
reselected when the software is upgraded.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 913
Basic PLC Program (P3)
Starting up the PLC program
13.5.9 Troubleshooting
This section describes problems which may occur, their causes and remedies and should be
read carefully before hardware is replaced.
Basic Functions
914 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Linking PLC CPUs to 840D
13.6.1 General
The AS 300 family is used as the PLC for all systems. On the SINUMERIK 840 D, the PLC
CPU is integrated into the NCU component as a sub-module. The relevant performance data
for PLC CPUs can be found in the above table or in the SIMATIC catalog.
Note
With the current SIMATIC CPUs, the PLC is not automatically started after voltage failure
and recovery when a PLC Stop is initiated via software operation. In this instance, the PLC
remains in the Stop state with an appropriate diagnostic entry for safety reasons. You can
start the PLC only via software operation "Execute a restart" or by setting the switch to
"Stop" and then "Run". This behavior is also integrated in the current versions of the
SINUMERIK PLC.
Physical interfaces
As the SINUMERIK 840D system has an integrated PLC, signals can be exchanged
between the NCK and PLC directly via a dual-port RAM.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 915
Basic PLC Program (P3)
Linking PLC CPUs to 840D
230&3
(6 3*
(WKHUQHW
6WDUWXSSRUW
(WKHUQHW3RUW
(WKHUQHW7&3,3
ZRUNVEXV
LQWHUQDOEXVಯ&EXVUDFNರ 6SURWRFRO
& 6 6
&EXV
6 &
6XEVWFRPP
'3'LUHFW &5LVF
$FFHVV
,QWHUQDOYLUWXDO352),%86
5HDOWLPHV\VWHP
6,180(5,.&RQWURO8QLW 1&8
352),%86 03,352),%86
([WHUQDO
'ULYH
(7
8QLW V
NCK/PLC interface
As illustrated in the figure, NCK/PLC data exchange is organized by the basic program in the
PLC. At the beginning of the cycle (OB1), the status information (e.g. "Program running")
written to the internal DPR (DPR = Dual Port RAM) by the NCK is copied to data blocks by
the basic program, which the user can then access (user interface). The control signals for
the NCK (e.g. NC start) entered in the interface data blocks by the user are also written to
the internal DPR and transmitted to the NCK at the start of the cycle.
Workpiece-program-specific auxiliary functions transferred to the PLC are first evaluated by
the basic program (interrupt-driven) and then transferred to the user interface at the start of
OB 1. If the relevant NC block contains auxiliary functions that require the interruption of the
NCK machining process (e.g. M06 for tool change), the basic program halts the decoding of
the NCK block initially for one PLC cycle. The user can then use the "read disable" interface
signal to halt the block execution until the tool change has been completed. If, on the other
hand, the relevant NC block does not contain auxiliary functions requiring the interruption of
the NC machining process (e.g. M08 for "Cooling on"), the transfer of these "rapid" auxiliary
Basic Functions
916 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Linking PLC CPUs to 840D
functions is enabled directly in OB 40, so that block execution is only marginally influenced
by the transfer to the PLC.
The evaluation and enabling of the G functions transferred from the NCK are also alarm-
driven, however they are transferred directly to the user interface. Where a G function is
evaluated at several points in the PLC program, differences in the information of the G
function within one PLC cycle may arise.
In the case of NC actions triggered and assigned with parameters by the PLC (e.g. traverse
concurrent axes), triggering and parameter assignment is performed using FCs and FBs, not
interface data blocks. The FCs and FBs belonging to the actions are supplied together with
the basic program. The FCs and FBs required must be loaded by the user and called in the
PLC program of the machine manufacturer (machine program). For an overview of FC, FB
and data blocks, sorted according to basic and extended functions, please refer to the
chapter "Start-up of PLC programs".
Interface HMI/PLC
HMI/PLC data exchange takes place via the software C bus or via the Ethernet, internal CP,
control-internal C bus link. The CP transfers the data intact from one bus segment to
another. The HMI is always the active partner (client) and the PLC is always the passive
partner (server). Data transmitted or requested by the HMI are read from and written to the
HMI/PLC interface area by the PLC operating system (timing: cycle control point). From the
viewpoint of the PLC application, the data are identical to I/O signals.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 917
Basic PLC Program (P3)
Interface structure
Interface DBs
Mapping in interface data blocks is necessary due to the large number of signals exchanged
between the NCK and PLC. These are global data blocks from the viewpoint of the PLC
program. During system start-up, the basic program creates these data blocks from current
NCK machine data (no. of channels, axes, etc.). The advantage of this approach is that the
minimum amount of PLC RAM required for the current machine configuration is used.
General
The PLC/NCK interface comprises a data interface on one side and a function interface on
the other. The data interface contains status and control signals, auxiliary functions and G
functions, while the function interface is used to transfer jobs from the PLC to the NCK.
Data interface
The data interface is subdivided into the following groups:
● NCK-specific signals
● Mode-group-specific signals
● Channel-specific signals
● Axis/spindle/drive-specific signals
Basic Functions
918 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Interface structure
Function interface
The function interface is formed by FBs and FCs. The figure below illustrates the general
structure of the interface between the PLC and the NCK.
'%
+0, 0HVVDJHV
'% 1&
6LJQDOVWR1&.FRPSLOHF\FOHV
1& 6LJQDOVIURP1&.FRPSLOHF\FOHV
'% 1&
6LJQDOVWR1&
6LJQDOVIURP1&
0RGHJURXS
'% 0RGHJURXS
%$* '% 0RGHJURXS
6LJQDOVWRPRGHJURXS
6LJQDOVIURPPRGHJURXS
'DWDLQWHUIDFH
'% +0,
+0, 6LJQDOVWR+0,
6LJQDOVIURP+0, 3/&XVHU
SURJUDP
'% &KDQQHO
'% &KDQQHO
'% &KDQQHO
6LJQDOVWRFKDQQHO
1&FKDQQHO 6LJQDOVIURPFKDQQHO
'% $[LVVSLQGOH
'% $[LVVSLQGOH
$[LV '% $[LVVSLQGOH
VSLQGOH 6LJQDOVWRD[LV
GULYH 6LJQDOVIURPD[LV
'% 7RROPDQDJHPHQW
7RRO -REIRUORDGLQJXQORDGLQJORFDWLRQV
PDQDJHPHQW -REIRUVSLQGOHDQGWXUUHW
)&
1&FKDQQHO 6WDUW$68%
$[LV 6WDUWFRQFXUUHQWD[LVVSLQGOH
VSLQGOH 3RVLWLRQLQJD[LVLQGH[LQJD[LV
7RRO $FNQRZOHGJPHQWIRUWRROPDQDJHPHQW
)XQFWLRQLQWHUIDFH
PDQDJHPHQW 'LUHFWLRQVHOHFWLRQIRUWRROPDJD]LQH
'ULYH 6WDUGHOWDVZLWFKRYHU
)%
5HDGZULWH1&.YDULDEOHV
1& 3,VHUYLFHV
5HDG*8'
+0, PQ
6DIHW\ 6,UHOD\%UDNHVWHVW
LQWHJUDWHG
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 919
Basic PLC Program (P3)
Interface structure
Compile-cycle signals
In addition to the standard signals exchanged between the PLC and NCK, an interface data
block for compile cycles is also generated if required (DB 9). The associated signals, which
are dependent on the compile cycles, are transmitted cyclically at the start of OB 1. The
basic program starts transmission at the lowest address and works up to the highest. First,
signals are transferred from the PLC to the NCK, then from the NCK to the PLC. The user
must synchronize the NCK and PLC as necessary (e.g. using the semaphore technique).
Signal transmission is asynchronous between NCK and PLC. This means, for example, that
active NCK data transmission can be interrupted by the PLC. This can mean that data is not
always consistent.
PLC/NCK signals
The group of signals from the PLC to NCK includes:
● Signals for modifying the digital and analog I/O signals of the NCK
● Keyswitch and emergency stop signals
'%
%\WH &RQWURORIGLJLWDO1&.LQSXWV
RQERDUGLQSXWV
&RQWURORIGLJLWDO1&.RXWSXWV
RQERDUGRXWSXWV
$[LVWDEOHV
.H\VZLWFKHPHUJHQF\6723
$FWXDOYDOXHVIRUGLJLWDO1&.LQSXWV
RQERDUGLQSXWV
6HWSRLQWVIRUGLJLWDO1&.RXWSXWV
RQERDUGRXWSXWV
9DULRXVVLJQDOV
1&.
+DQGZKHHOVHOHFWLRQ
+0,VWDWXVVLJQDOV +0,
%DVLFSURJUDPVWDWXVVLJQDOV %3
6WDWXVVLJQDOV
6RIWZDUHFDP
'HFRGLQJ &RQWURORIGLJLWDO1&.LQSXWV
KDQGZKHHO H[WHUQDOLQSXWV
VHOHFWLRQ &RQWURORIGLJLWDO1&.RXWSXWV
H[WHUQDORXWSXWV
$[LVLQWHUIDFH &RQWURORIDQDORJ1&.LQSXWV
*HRD[LVLQWHUIDFHLQ H[WHUQDOLQSXWV
FKDQQHO
&RQWURORIDQDORJ1&.RXWSXWV
H[WHUQDORXWSXWV
$FWXDOYDOXHVIRUGLJLWDO1&.LQSXWV
H[WHUQDOLQSXWV
6HWSRLQWVIRUGLJLWDO1&.RXWSXWV
H[WHUQDORXWSXWV
$FWXDOYDOXHVIRUDQDORJ1&.LQSXWV
H[WHUQDOLQSXWV
6HWSRLQWVIRUDQDORJ1&.RXWSXWV
H[WHUQDORXWSXWV
Basic Functions
920 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Interface structure
NCK/PLC signals
The group of signals from the NCK to PLC includes:
● Actual values of the digital and analog I/O signals of the NCK
● Ready and status signals of the NCK
Also output in this group are the HMI handwheel selection signals and the status signals.
The signals for handwheel selection are decoded by the basic program and entered in the
machine-/axis-specific interface.
Note
While realizing the digital and analog NCK I/Os the information contained in the following
documentation must be taken into account:
References:
Function Manual Extended Functions; Digital and analog NCK I/Os (A4)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 921
Basic PLC Program (P3)
Interface structure
'%
%\WH
%DVLFSURJUDP
&RQWUROVLJQDOV
0RGHJURXS
0RGHVHOHFWLRQ
0RGH
VHOHFWLRQ +0,
6HOHFWLRQVLJQDOVIURP+0,
$FWLYHPRGH
0&3 1&.
Basic Functions
922 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Interface structure
0&3
+0,
'%
%\WHV 3URJUDPFRQWURO
&RQWUROVLJQDOV
$FWLYDWLQJSURWHFWLRQ
]RQHV
7UDYHUVHVLJQDOV
%3 *(2D[HV
+0,VLJQDO 3URJUDPFRQWURO
URXWLQJ IURP+0,
3URJUDPFKDQQHO
VWDWXV 6WDWXVVLJQDOV
*HRD[HVVWDWXV
$X[LOLDU\IXQFWLRQ
FKDQJHVLJQDOV $X[LOLDU\*IXQFWLRQV
067''/+)
YDOXHV %3 1&FKDQQHO
'HFRGHG0VLJQDOV 0GHFRGHU
00
$FWLYH*IXQFWLRQV *JURXS
GHFRGHU
6WDWXVVLJQDOV
3URWHFWLRQ]RQHV
$[LVVSLQGOH 06)
LQWHUIDFH GLVWULEXWRU
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 923
Basic PLC Program (P3)
Interface structure
The M and S value are also entered via the M, S, F distributor of the basic program if one or
both values require processing.
'%
)HHGUDWHVSLQGOH
6KDUHG RYHUULGH
%\WHV D[LVVSLQGOH &RQWUROVLJQDOV
VLJQDOV 7UDYHUVHVLJQDOV
1&.
YDOXHVRI06DQG)GLVWULEXWRUVRIEDVLFSURJUDP
General
The following groups of functions are required for the PLC/HMI interface:
● Control signals
● Machine operation
● PLC messages
● PLC status display
Control signals
Some control signals are signal inputs, for example, via the machine control panel, which
have to be taken into account by the HMI. This group of signals includes, for example,
display actual values in MCS or WCS, key disable, etc. These are exchanged with the HMI
via a separate interface data block (DB19).
Basic Functions
924 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Interface structure
Machine operation
All operator inputs, which lead to response actions on the machine, are monitored by the
PLC. Operator actions are usually performed on the machine control panel (MCP). However,
it is also possible to perform some operator actions on the HMI e.g. mode selection.
The PLC operating system enters the operating signals sent by the HMI directly into the
interface data blocks. As standard, the basic program routes these operating signals in such
a way that, provided equivalent operator actions are available, these can be performed either
on the HMI or on the MCP. If required, the user can switch off the operation via HMI through
a parameter "MMCToIF" of FB1.
PLC messages
The signaling functions are based on the system diagnostic functions integrated in the
operating system of the AS 300. These have the following characteristics:
● The PLC operating system enters all important system states and state transitions in a
diagnostics status list. Communication events and I/O module diagnostics data (for
modules with diagnostic functions) are also entered.
● Diagnostics events, which lead to a system stop, are also entered with a time stamp in a
diagnostic buffer (circular buffer) in the chronological order of their occurrence.
● The events entered in the diagnostic buffer are automatically transmitted to human
machine interface systems (OP or HMI) via the bus systems once these have issued a
ready signal (message service). Transfer to the node ready is a function of the PLC
operating system. Receipt and interpretation of the messages are executed by the HMI
software.
● The PLC user program can also use SFCs (System Function Calls) to enter messages in
the diagnostic buffer or ALARM S/ALARM SQ buffer.
● The events are entered in the interrupt buffer.
The associated message texts must be stored on the OP or HMI.
An FC (FC 10) for message acquisition is prepared in conjunction with the basic program.
This FC records events, subdivides them into signal groups and reports them to the HMI via
the interrupt buffer.
The message acquisition structure is shown in the figure "Acquisition and signaling of PLC
events". The features include:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 925
Basic PLC Program (P3)
Interface structure
● Bit fields for events related to the VDI interface are combined in a single data block (DB2)
with bit fields for user messages.
● Bit fields are evaluated at several levels by FC10.
– Evaluation 1; Acquisition of group signals
A group signal is generated for each group of signals if at least one bit signal is set to
"1". This signal is generally linked to the disable signal of the VDI interface (on
modules with diagnostic functions). The group signals are acquired completely in
cycles.
– Evaluation 2; Acquisition of interrupt messages
A fixed specification exists to define which signals in a group generate an interrupt
message when they change from "0" to "1".
– Evaluation 3; Acquisition of operating signals
A fixed specification exists to define which signals in a group generate an operational
message.
● The scope of the user bit fields (user area) is set by default to 10 areas with 8 bytes each,
but the number of areas can also be adjusted to suit the requirements of the machine
manufacturer via basic program parameters in FB 1.
Acknowledgment concept
The following acknowledgment procedures are implemented for error and operational
messages:
Operating messages are intended for the display of normal operating states as information
for the user. Acknowledgment signals are, therefore, not required for this type of message.
An entry is made in the diagnostic status list for incoming and outgoing messages. The HMI
maintains an up-to-date log of existing operating messages using the identifiers "operating
message arrived" and "operating message gone".
Interrupt messages are used to display error states on the machine, which will usually lead
to the machine being stopped. Where several errors occur in rapid succession, it is important
to be able to distinguish their order of occurrence for troubleshooting purposes. This is
indicated, on the one hand, by the order in which they are entered in the diagnostic buffer
and on the other, by the time stamp, which is assigned to every entry.
If the cause of the error disappears, the associated interrupt message is only deleted if the
user has acknowledged it (e.g. by pressing a key on the MCP). In response to this signal, the
"Message acquisition" FC examines which of the reported errors have disappeared and
enters these in the diagnostic buffer with the entry "Interrupt gone". This enables the HMI to
also maintain an up-to-date log of pending interrupt messages. The time of day indicating the
time at which the error occurred is maintained for messages, which are still pending (in
contrast to a received interrogation).
STEP 7
A tool can be started in the SIMATIC Manager via menu item "Target system" > "CPU
messages". Alarms and messages can be displayed by number using this tool. To do this,
acivate the "Alarm" tab and enter a check mark under "A" in the upper half of the screen.
Basic Functions
926 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Interface structure
User program
The user PLC program merely needs to call the basic program block FC 10 with appropriate
parameter settings in the cyclic program section and set or reset the bit fields in DB2. All
further necessary measures are implemented by the basic program and HMI.
&KDQJHVLJQDOV
%LWILHOGV
0HVVDJH
DFTXLVLWLRQ
&KDQQHO )HHGGLVDEOH
5HDGLQGLVDEOH
1&VWDUWGLVDEOH
&KDQQHOQ $/$50B6
6)&
$/$50B64
$[LVVSLQGOH )HHGUDWHVSLQG
OHGLVDEOH
$[LVVSLQGOHQ
8VHUDUHD ,QWHUUXSW
EXIIHU
$FTXLVLWLRQ 0HVVDJHVHUYLFH
*URXSVLJQDOV RIJURXSVLJQDOV
GLVDEOHVLJQDOV IRUFKDQQHODQG 3* +0,23
D[LV'%
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 927
Basic PLC Program (P3)
Interface structure
Basic Functions
928 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Interface structure
General
There are three different connection options for the machine control panel (MCP) and the
handheld unit (HHU). This is in part due to the history of the MCP and HHU. This description
focuses primarily on the connection of the Ethernet components.
On SINUMERIK 840 D sl, the machine control panel (MCP) or HT8 (MCP) and handheld unit
HT1, HT2 (HHU) are connected via the Ethernet bus, which also links the TCU to the NCU.
The advantage of this is that only one bus cable is required to connect the operator unit.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 929
Basic PLC Program (P3)
Interface structure
++8
&XVWRPL]HG
7&8
NH\VGLVSOD\V 0&3
(WKHUQHWEXV
&3'VO 1&.
+0,
):
3*
(QJLQHHULQJ
(WKHUQHWEXV
'35
)%
0&3
VLJ
3/&
Bus addresses
On Ethernet components, MAC and IP addresses or logic names are determining factors in
respect of communication. The control system's system programs convert logic names into
MAC or IP addresses. On the PLC, the numeric component of the logic name is used for
communication. This numeric part is specified by the user to the FB 1 via the parameter
"MCPxBusAdr".
The logical name of an MCP or HHU always begins with "DIP". This is followed by a number
corresponding to the switch position of the MCP component (e.g. DIP 192, DIP 17).
Basic Functions
930 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Interface structure
)&
2SHUDWLQJPRGHV
,1&PRGH
,%Q .H\ )HHGUDWHVSLQGOHRYHUULGH
VLJQDOV 'LUHFWLRQNH\V
.H\ORFNVZLWFK
0RGH
8VHUNH\V JURXS
1&.D[LV
&XUUHQWPRGH VSLQGOH
/LJKW &XUUHQW,1&PRGH LQWHUIDFH
4%P HPLWWLQJ )HHGUDWHVSLQGOH1&VWDWXV
GLRGHV $FWLYHGLUHFWLRQNH\
/('V
6WDWXVRIFXVWRPL]HGNH\V
0RQLWRULQJRIWUDQVPLW
$'R
GDWD
$'S 5HFHLYHGDWD
PRQLWRULQJ
'HIDXOWVHWWLQJ
'!Q P R S
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 931
Basic PLC Program (P3)
Structure and functions of the basic program
General
The program is modular in design, i.e. it is structured according to NCK functions.
In the operating system, a distinction is made between the following levels of execution:
● Start-up and synchronization (OB 100)
● Cyclic mode (OB 1)
● Process interrupt handling (OB 40)
● Diagnostic interrupt, module failure processing (OB 82, OB 86)
Each section of the basic program - as illustrated in the figure below - must be called by the
user in OBs 1, 40 and 100.
Basic Functions
932 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Structure and functions of the basic program
)%
2%
6WDUWXS
5HVWDUW
8VHU
SURJUDP
2% 1&.
)& %$*
&\FOLF &KDQQHO
PDFKLQLQJ *32%
$[LVVSLQGOH
$X[LOLDU\IXQFWLRQV
6DIHW\
0&3++8
70
)&
0&3
8VHU 0&3B,)0
SURJUDP
)&
0&3B,)7
$68%
FRQ
)& $[HVVSLQGOHV
70
70B7UDQV )%
70B'LU 5HDGZULWH
YDU
)& 3,VHUYLFHV
6WDUGHOWD )&
++8
)& 'LVSOD\
(UURUDQG FRQWURO
VWDWXV
PHVVDJHV
2% )&
3URFHVV *JURXSV
LQWHUUXSW *3B35$/
70
352),VDIH
8VHU $X[LOIXQFWLRQV
SURJUDP
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 933
Basic PLC Program (P3)
Structure and functions of the basic program
Start-up
The synchronization of NCK and PLC is performed during startup. The system and user data
blocks are checked for integrity and the most important basic program parameters are
verified for plausibility. In cases of errors, the basic program produces an alarm (visible on
HMI) and switches the PLC to the Stop state.
A warm restart is not provided, i.e. following system initialization, the operating system runs
organization block OB 100 and always commences cyclic execution at the start of OB 1.
Synchronization
The PLC is synchronized with the HMI and NCK and CP during power-up.
Sign-of-life
After a correct initial start and the first complete OB1 cycle (initial setting cycle) the PLC and
NCK continuously exchange sign of life signals. If the sign of life from the NCK fails to
materialize, the PLC/NCK interface is initialized and the signal "NCK CPU ready" in DB 10 is
set to FALSE.
General
The NCK PLC interface is processed completely in cyclic mode. From a chronological
viewpoint, the basic program runs ahead of the user program. In order to minimize the
execution time of the basic program, only the control/status signals are transmitted cyclically;
transfer of the auxiliary functions and G functions only takes place on request.
The following functions are performed in the cyclic part of the basic program:
● Transmission of the control/status signals
● Distribution of the auxiliary functions
● M decoding (M00 - M99),
● M, S, F distribution
● Transmission of the MCP signals via the NCK (on the SINUMERIK 840D only)
● Acquisition and conditioning of the user errors and operating messages.
Basic Functions
934 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Structure and functions of the basic program
Control/Status signals
A shared feature of the control and status signals is that they are bit fields. The basic
program updates them at the start of OB1.
The signals can be subdivided into the following groups:
● General signals
● Mode group-specific signals (such as mode types)
● Channel-specific signals (such as program and feed modifications)
● Axis- and spindle-specific signals (such as feed disable)
The M, S, T, H, D and F values sent by the NCK are output together with the accompanying
change signals to the CHANNEL DB interface via the auxiliary/G functions (see Parameter
Manual). The function value and the extended address are transferred to the appropriate
data word. The accompanying modification signal is activated to 1 for one PLC cycle. When
the modification signal is reset, the acknowledgment is passed to the NCK. The
acknowledgment of high-speed auxiliary functions is given by the basic program immediately
the basic program detects the auxiliary function.
In addition to distribution of the auxiliary and G functions, selected signals are processed as
described below.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 935
Basic PLC Program (P3)
Structure and functions of the basic program
M decoder
M functions can be used to transfer both switching commands and fixed point values.
Decoded dynamic signals are output to the CHANNEL DB interface for standard M functions
(range M00 - M99) signal length = 1 cycle time).
G group decoders
In the case of G functions sent by the NCK, the related groups are decoded and the current
G number is entered in the corresponding interface byte of the CHANNEL DB, i.e. all active
G functions are entered in the channel DBs. The entered G functions are retained even after
the NC program has terminated or aborted.
Note
During system startup, all G group bytes are initialized with the value "0".
M, S, F distributor
The M, S, F, distributor is used to enter spindle-specific M words M(1...6)=[3,4,5], S words
and F words for axial feeds in the appropriate spindle and axis data blocks. The criterion for
distribution is the extended address, which is passed to the PLC for M words, S words and
axial F words.
User messages
The acquisition and processing of the user error and operational messages is performed by
an FC in the basic program.
Basic Functions
936 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Structure and functions of the basic program
General
A module diagnosis or module failure on an I/O module triggers OB 82/OB 86. These blocks
are supplied by the basic program. The basic program block FC5 is called in these OBs. This
is wired by default to trigger a PLC stop in the event of an error being detected.
A PLC Stop
● If the cause of the error is removed, a PLC stop will not be triggered.
● does not occur in case of the Profibus-MCPs specified as the FB 1 parameters.
The response can be changed by modifying the FC5 parameter setting.
PROFIBUS Diagnosis
The slaves of both the PROFIBUS connections MPI/DP or DP1 are registered by the basic
program as group message in the form of a ready signal in the interface signal
DB10 DBX92.0 (MPI/DP Bus Slaves OK) and
DB10 DBX92.1 (DP1 Bus Slaves OK)
The group message is derived from the LED status of the respective PROFIBUS (System
state list SZL 0x174).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 937
Basic PLC Program (P3)
Structure and functions of the basic program
If an error or a failure of a slave is detected, the alarm 400551 or 400552 is also reported.
The alarm is automatically deleted when the error is removed. Detailed information about the
error or the failure will be displayed in the alarm messages as exact cause of error in a future
HMI software version in the diagnostics. No FC 125, FB 125 is necessary for this diagnostic
display, because the information is called directly from the HMI via the corresponding SZL
functions of the PLC operating system via the communication channels to the PLC. This
saves the relatively large block in the PLC and reduces also the PLC cycle time. Since the
FB 125 works under interrupt disable during its processing, OBs with a higher priority can be
executed more quickly.
Note
Till the HMI software version with the diagnostic display for the PROFIBUS becomes
available, it is recommended to use FC 125 for PROFIBUS diagnostics. This block has
relatively less cycle time and the slave states can be updated via the DB 10 interface signal
mentioned earlier by activating the FC 125 block.
General
During cyclic operation, the PLC basic program continuously monitors NCK availability by
polling the sign-of-life character. If the NCK is no longer reacting, the NCK PLC interface is
initialized, and the NCK CPU ready signal in the area of the signals from NC (DB 10.DBX
104.7) is reset. Furthermore, the signals sent from the NCK to the PLC and vice versa are
set to an initial state.
The PLC itself remains active so that it can continue to control machine functions. However,
it remains the responsibility of the user program to set the machine to a safe state.
Basic Functions
938 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Structure and functions of the basic program
Auxiliary-function values:
Auxiliary-function values are retained so that it is possible to trace the last functions triggered
by the NCK.
G-function values:
G function values are reset (i.e. initialized with the value 0 respectively).
13.8.7 Functions of the basic program called from the user program
General
In addition to the modules of the basic program, which are called at the start of OBs 1, 40
and 100, functions are also provided, which have to be called and supplied with parameters
at a suitable point in the user program.
These functions can be used, for example, to pass the following jobs from the PLC to the
NCK:
● Traversing concurrent axes (FC 18)
● Start asynchronous subprograms (ASUBs) (FC 9),
● Selecting NC programs (FB 4)
● Control of spindle (FC 18),
● Read/write variables (FB 2, FB 3).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 939
Basic PLC Program (P3)
Structure and functions of the basic program
Note
The following note will later help you to check and diagnose a function call (FCs, FBs of
basic program). These are FCs and FBs, which are controlled by a trigger signal (e.g. via
parameter Req, Start, etc.), and which supply an execution acknowledgment as an output
parameter (e.g. via parameter Done, NDR, Error, etc.). A variable compiled of other
signals, which produce the trigger for the function call should be set. Start conditions may
be reset only as a function of the states of parameters Done, NDR and Error.
This control mechanism may be positioned in front of or behind the function call. If the
mechanism is placed after the call, the output variables can be defined as local variables
(advantage: Reduction of global variables, flags, data variables and time-related
advantages over data variables).
The trigger parameter must be a global variable (e.g. flag, data variable).
In OB 100, jobs still activated by the user program (Parameter Req,
Start, etc.:= TRUE) must be set to zero at the named parameters. A POWER OFF/ON
could result in a state in which jobs are still active.
Concurrent axes
The distinguishing features of concurrent axes are as follows:
● They must be defined as such via the NC machine data.
● They can be traversed either from the PLC or from the NC by means of the JOG keys,
● Starting from the PLC is possible in the NC operating modes MDA and AUTOMATIK via
FC,
● The start is independent of NC block boundaries.
Function calls are available for positioning axes, indexing axes and spindles (FC 18).
)&
6SLQ&WUO
6WDUW ,Q3RV
6WRS (UURU
)XQFW 6WDWH
0RGH
$[LV1R
3RV
)5DWH
,QSXW 6WDUWLQJ
SDUDPHWHUV SDUDPHWHUV
ASUBs
Asynchronous subprograms (ASUBs) can be used to activate any function in the NCK.
Before an asynchronous subprogram can be started from the PLC, it must be ensured that it
is available and prepared by the NC program or by FB 4 PI services (ASUB).
Basic Functions
940 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Structure and functions of the basic program
Once prepared in this way, it can be started at any time from the PLC. The NC program
running in one of the parameterized channels of FC 9 is interrupted by the asynchronous
subprogram. An ASUB is started by calling FC 9 from the user program by setting the start
parameter to 1.
)&
$683
6WDUW $FWLY
&KDQ1R 'RQH
,QW1R (UURU
6WDUW(UU
5HI
Note
If an asynchronous subprogram has not been prepared by an NC program or by FB 4
(ASUB) (e.g. if no interrupt no. has been assigned), a start error is output (StartErr = TRUE).
Read/Write NC variables
NCK variables can be read with FB GET while values can be entered in NCK variables with
FB PUT. The NCK variables are addressed via identifiers at inputs Addr1 to Addr8.
The identifiers (symbols) point to address data, which must be stored in a global DB.
To allow generation of this DB, PC software is supplied with the basic program with which
the required variables can be selected from a table, which is also supplied. The selected
variables are first collected in a second, project-related list. Command Generate DB creates
a "*.AWL" file, which must be linked to the program file for the machine concerned and
compiled together with the machine program.
1 to 8 values can be read or written with a read or write job. If necessary, the values are
converted [e.g. NCK floating point values (64 bits) are converted to PLC format (32 bits with
24-bit mantissa and 8-bit exponent) and vice versa]. A loss of accuracy results from the
conversion from 64-bit to 32-bit REAL. The maximum precision of 32-bit REAL numbers is
approximately 10 to the power of 7.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 941
Basic PLC Program (P3)
Structure and functions of the basic program
)% )%
*(7 387
5HT (UURU 5HT (UURU
1XP9DU 1'5 1XP9DU 'RQH
$GGU 6WDWH $GGU 6WDWH
8QLW 8QLW
&ROXPQ &ROXPQ
/LQH /LQH
5' 6'
Note
For the function AG_SEND the signal sequence for the parameter ACT is currently displayed
wrongly. ACT must be TRUE as long as an event is reported in DONE or ERROR.
When using the functions AG_SEND, AG_RECV a data transport to the other point takes
place via the Ethernet Bus of the CP. The other point is configured normally in STEP 7 in
NetPro. The special feature in the call of the functions lies in the specification of the
parameter "LADDR" to the named blocks.
In case of SINUMERIK 840D sl the parameter "LADDR" must be filled with the value
W#16#8110. In the basic program, these functions are available under the FC numbers
1005, 1006, 1007, 1008, 1010.
Basic Functions
942 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Structure and functions of the basic program
Table 13- 2 Allocation of the FC numbers to the corresponding FC in the library "SIMATIC_NET_CP"
FC number FC Blocks
1005 FC 5
1006 FC 6
1007 FC 7
1008 FC 8
1010 FC 10
These blocks can also be used in a SIMATIC-CPU 3xx with CP343-1.
The protocols TCP and UDP are supported. TCP is to be preferred.
Note
Other communication blocks, such as BSEND, USEND, which possess a CP343-1, are not
supported in SINUMERIK 840D sl.
General
Note
The basic program library on the CD supplied with the Toolbox for the 840D contains files
NST_UDTB.AWL and TM_UDTB.AWL.
The compiled UDT blocks from these two files are stored in the CPU program of the basic
program.
A UDT is a data type defined by the user that can, for example, be assigned to a data block
generated in the CPU.
Symbolic names of virtually all the interface signals are defined in these UDT blocks.
The UDT numbers 2, 10, 11, 19, 21, 31, 71, 72, 73 are used.
The assignments have been made as follows:
UDT assignments
UDT number Assignment to interface DB Significance
UDT 2 DB 2 Interrupts/Messages
UDT 10 DB 10 NCK signals
UDT 11 DB 11 Mode group signals
UDT 19 DB 19 HMI signals
UDT 21 DB 21 to DB 30 Channel signal
UDT 31 DB 31 to DB 61 Axis/spindle signals
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 943
Basic PLC Program (P3)
Structure and functions of the basic program
UDT assignments
UDT number Assignment to interface DB Significance
UDT 71 DB71 Tool management: Load/unload locations
UDT 72 DB 72 Tool management: Change in spindle
UDT 73 DB 73 Tool management: Change in revolver
UDT 77 DB 77 MCP and HHU signals with standard SDB 210
UDT 1002 DB 2 extended alarms/messages (FB 1-Parameter
"ExtendAlMsg:=TRUE"
To symbolically program the interface signals, the interface data blocks must first be
symbolically assigned using the symbol editor.
For example, symbol "AxisX" is assigned to operand DB31 with data type UDT 31 in the
symbol file.
After this input, the STEP 7 program can be programmed in symbols for this interface.
Note
Programs generated with an earlier software version that utilize the interface DBs described
above can also be converted into symbol programs. A fully qualified instruction for data
access e.g. "U DB31.DBX60.0" is then necessary here for (spindle/ no axis) in the program
created till now. This command is converted upon activation of the symbolics in the editor
"AxisX.E_SpKA".
Description
Abbreviated symbolic names of the interface signals are defined in the two STL files
NST_UDTB.AWL and TM_UDTB.AWL.
In order to create the reference to the names of the interface signals, the name is included in
the comment after each signal.
The names are based on the English language. The comments are in English.
The symbolic names, commands and absolute addresses can be viewed by means of a
STEP 7 editor command when the UDT block is opened.
Note
Unused bits and bytes are listed, for example, with the designation "f56_3".
• "56": Byte address of the relevant data block
• "3": Bit number in this byte
Basic Functions
944 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Structure and functions of the basic program
Description of functions
When the M decoding according to list function is activated via the GP parameter of FB1
"ListMDecGrp" (number of M groups for decoding), up to 256 M functions with extended
address can be decoded by the basic program.
The assignment of the M function with extended address and the bit to be set in the signal
list is defined in the decoding list. The signals are grouped for this purpose.
The signal list contains 16 groups with 16 bits each as decoded signals.
There is only one decoding list and one signal list i.e. this is a cross-channel function.
The M functions are decoded. Once they are entered in the decoding list, then the
associated bit in the signal list is set.
When the bit is set in the signal list, the read-in disable in the associated NCK channel is set
simultaneously by the basic program.
The read-in disable in the channel is reset once the user has reset all the bits output by this
channel and thus acknowledged them.
The output of an M function decoded in the list as a high-speed auxiliary function does not
result in a read-in disable.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 945
Basic PLC Program (P3)
Structure and functions of the basic program
The figure below shows the structure of the M decoding according to list:
'HFRGLQJOLVW )&;
0GHFRGLQJDFF
10 WROLVW
6LJQDOVWR1& '%
6LJQDOOLVW
5HDGLQ
GLVDEOH 3URFHVVLQJ
6WDWXVFRQWURO
&KDQQHO VLJQDOV
1&SDUWSURJUDP 5HDGLQ ฺ
GLVDEOH '% )&<
ฺ
5HDGLQGLVDEOH
10
'%
5HDGLQGLVDEOH
Basic Functions
946 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Structure and functions of the basic program
The bit address is generated correspondingly from the first M function ("MFirstAdr") to the
last M function ("MLastAdr") from bit 0 up to maximum bit 15 for each group.
Each entry in the decoding lists consists of 3 parameters, each of which is assigned to a
group.
Assignment of groups
Group Extended First M address in group Last M address in group
M address
1 MSigGrp[1].MExtAdr MSigGrp[1].MFirstAdr MSigGrp[1].MLastAdr
2 MSigGrp[2].MExtAdr MSigGrp[2].MFirstAdr MSigGrp[2].MLastAdr
... ... ... ...
16 MSigGrp[16].MExtAdr MSigGrp[16].MFirstAdr MSigGrp[16].MLastAdr
Signal list
Data block DB 76 is set up when the function is activated.
A bit is set in the appropriate group in DB 76 for an M signal decoded in the list.
At the same time, a read-in disable is set in the channel in which the M function has been
output.
Example
Three groups of M commands are to be decoded in the following example:
● M2 = 1 to M2 = 5
● M3 = 12 to M3 = 23
● M40 = 55
Structure of the decoding list in DB 75:
Example parameters
Group Decoding list (DB 75) Signal list
Extended First Last DB 76
M address M address M address
in group in group
1 2 1 5 DBX 0.0 ... DBX 0.4
2 3 12 23 DBX 2.0 ... DBX 3.3
3 40 55 55 DBX 4.0
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 947
Basic PLC Program (P3)
Structure and functions of the basic program
DATA_BLOCK DB 75
TITLE =
VERSION : 0.0
STRUCT
MSigGrp : ARRAY [1 .. 16 ] OF STRUCT
MExtAdr : INT ;
MFirstAdr : DINT;
MLastAdr : DINT;
END_STRUCT;
END_STRUCT;
BEGIN
MSigGrp[1].MExtAdr := 2;
MSigGrp[1].MFirstAdr := L#1;
MSigGrp[1].MLastAdr := L#5;
MSigGrp[2].MExtAdr := 3;
MSigGrp[2].MFirstAdr := L#12;
MSigGrp[2].MLastAdr := L#23;
MSigGrp[3].MExtAdr := 40;
MSigGrp[3].MFirstAdr := L#55;
MSigGrp[3].MLastAdr := L#55;
END_DATA_BLOCK
Call FB 1, DB 7(
...
ListMDecGrp := 3, //M decoding of three groups
...
);
The appending of the entry in OB 100 and transfer of DB 75 (decoding list) to the AG must
be followed by a restart. During the restart, the basic program sets up DB76 (signal list).
If the NC program is started at this point and the expanded M function (e.g. M3=17) is
processed by the NCK, this M function will be decoded and bit 2.5 set in DB 76 (see
decoding list DB 75). At the same time, the basic program sets the read-in disable and the
processing of the NC program is halted (in the corresponding NC-channel DB the entry
"expanded address M function" and "M function no." is made).
The read-in disable in the channel is reset once the user has reset and, therefore,
acknowledged, all the bits output by this channel in the signal list (DB 76).
Basic Functions
948 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Structure and functions of the basic program
General
The user has the option of storing PLC-specific machine data in the NCK. The user can then
process these machine data after the power-up of the PLC (OB 100). This enables, for
example, user options, machine expansion levels, machine configurations, etc., to be
implemented.
The interface for reading these data lies in the DB 20. However, DB20 is set up by the basic
program during power-up only when user machine data are used i.e. sum of GP parameters
"UDInt", "UDHex" and "UDReal" is greater than zero.
The sizes of the individual areas, and hence the total length of the DB 20, is set by the
following PLC machine data:
MD14504 $MN_MAXNUM_USER_DATA_INT
MD14506 $MN_MAXNUM_USER_DATA_HEX
MD14508 $MN_MAXNUM_USER_DATA_FLOAT
These settings are specified to the user in the GP parameters "UDInt", "UDHex" and
"UDReal".
The data is stored in the DB 20 by the BP in the sequence:
1. Integer-MD
2. Hexa-fields MD
3. Real-MD
The integer and real values are stored in DB 20 in S7 format.
Hexadecimal data are stored in DB20 in the order in which they are input (use as bit fields).
'%
8VHUPDFKLQH 1RRI8',QW
GDWDW\SH,17
8VHUPDFKLQH 1RRI8'+H[
GDWDW\SH%<7(
8VHUPDFKLQH 1RRI8'5HDO
GDWDW\SH5($/
Figure 13-15 DB 20
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 949
Basic PLC Program (P3)
Structure and functions of the basic program
Note
If the number of PLC machine data used is increased later, then DB20 must be deleted
beforehand. To prevent such extensions in use having any effect on the existing user
program, the data in DB20 should be accessed in symbolic form wherever possible, e.g. by
means of a structure definition in the UDT.
Interrupts
400120 Delete DB 20 in PLC and restart
Explanation DB length is not the same as the required DB length
Response Interrupt display and PLC Stop
To correct or Delete DB 20 followed by RESET
avoid errors
Continuation After cold restart
Example
The project in the example requires 4 integer values, 2 hexadecimal fields with bit
information and 1 real value.
Machine data:
MD14510 $MN_USER_DATA_INT[0] 123
MD14510 $MN_USER_DATA_INT[1] 456
MD14510 $MN_USER_DATA_INT[2] 789
MD14510 $MN_USER_DATA_INT[3] 1011
...
MD14512 $MN_USER_DATA_HEX[0] 12
MD14512 $MN_USER_DATA_HEX[1] AC
...
MD14514 $MN_USER_DATA_FLOAT[0] 123.456
Basic Functions
950 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Structure and functions of the basic program
DB 20
Address Data
0.0 123
2.0 456
4.0 789
6.0 1011
8.0 b#16#12
9.0 b#16#AC
10.0 1.234560e+02
The structure of the machine data used is specified in a UDT:
TYPE UDT 20
STRUCT
UDInt : ARRAY [0 .. 3 ] OF INT ;
UDHex0 : ARRAY [0 .. 15 ] OF BOOL ;
UDReal : ARRAY [0 .. 0 ] OF REAL ; //Description as field, for
// later expansions
END_STRUCT;
END_TYPE
Note
ARRAY OF BOOL are always sent to even-numbered addresses. For this reason, an array
range of 0 to 15 must generally be selected in the UDT definition or all Boolean variables
specified individually.
Although only a REAL value is used initially in the example, a field (with one element) has
been created for the variable. This ensures that extensions can be made easily in the future
without the symbolic address being modified.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 951
Basic PLC Program (P3)
Structure and functions of the basic program
Symbolic accesses
An entry is made in the symbol table to allow data access in symbolic form:
...
L "UData".UDInt[0];
L "UData".UDInt[1];
L "UData".UDInt[2];
L "UData".UDInt[3];
U "UData".UDHex0[0];
U "UData".UDHex0[1];
U "UData".UDHex0[2];
U "UData".UDHex0[3];
U "UData".UDHex0[4];
U "UData".UDHex0[5];
U "UData".UDHex0[6];
U "UData".UDHex0[7];
... ...
U "UData".UDHex0[15];
L "UData".UDReal[0];
...
General
Up to two machine control panels and one handheld unit can be in operation at the same
time. For the machine control panel or HT8 (MCP) and hand-held unit HT2, HT1 (BHG) there
are various connection options (Ethernet, PROFIBUS). It is possible to connect two MCPs to
different bus systems (mixed operation is only possible on Ethernet and PROFIBUS). This
can be achieved using FB1 parameter "MCPBusType". In this parameter, the right-hand
decade is responsible for the first MCP and the left-hand decade for the second MCP.
The components are parameterized by calling basic-program block FB 1 in OB 100. FB 1
stores its parameters in the associated instance DB (DB 7, symbolic name "gp_par").
Separate parameter sets are provided for each machine control panel and the handheld unit.
The input/output addresses of the user must be defined in these parameter sets. These input
and output addresses are also used in FC 19, FC 24, FC 25, FC 26 and FC 13. Further, the
addresses for status information, Profibus or Ethernet are also to be defined. The default
time settings for timeout and cyclic forced retriggering should not be changed. Please refer
Basic Functions
952 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Structure and functions of the basic program
to the Operator Components Manual for further information on MCPs and HHU(HT2)-
components.
Activation
Each component is activated either via the number of machine control panels (MCPNum
parameter) or, in the case of the handheld unit, via the HHU parameter. The MCP and HHU
connection settings are entered in FB1 parameters "MCPMPI", "MCPBusType" or "BHG",
"BHGMPI".
Configuration
Essentially, there are various communication mechanisms for transferring data between the
MCP/HHU and PLC. These mechanisms are characterized by the bus connection of the
MCP and HHU. In one case (Ethernet), data is transported via the "CP 840D sl".
The mechanism is parameterized completely via the MCP/HHU parameters in FB1.
In the other case the transmission is done through the PLC-operating system through the
Profibus configuration
The parameter setting is done via STEP 7 in HW-Config. To enable the basic program to
access these data and failure monitoring of MCP/HHU, the addresses set in FB 1-
parameters must be made available to the basic program.
An overview of the various coupling mechanisms appears below. Mixed operation can also
be configured.
If an error is detected due to a timeout monitor, an entry is made in the alarm buffer of the
PLC CPU (interrupts 400260 to 400262). In this case, the input signals from the MCP or from
the handheld unit (MCP1In/MCP2In or BHGIn) are reset to 0. If it is possible to
resynchronize the PLC and MCP/HHU, communication is resumed automatically and the
error message reset by the GP.
Note
In the following tables, "(n.r.)" indicates "not relevant".
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 953
Basic PLC Program (P3)
Structure and functions of the basic program
(WKHUQHW
&3 1&
'VO 0&3 0&3 ++8
LQW '
3
3/& 5
03,'3
'3
Basic Functions
954 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Structure and functions of the basic program
An error entry is also made in the PLC alarm buffer for timeouts. resulting in the following
error messages on the HMI:
● 400260: MCP 1 failure
or
● 400261: MCP 2 failure
● 400262: HHU failure
An MCP or HHU failure is detected immediately after a cold restart even if no data have yet
been exchanged between the MCP/HHU and PLC.
The monitoring function is activated as soon as all components have signaled "Ready" after
power-up.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 955
Basic PLC Program (P3)
Structure and functions of the basic program
MCP-Identification
Via the Identify interface in the DB 7 it is possible to query the type of the ethernet
component (MCP, HT2, HT8 or direct keys) with the relevant parameters at the input/output
in cyclic operation:
● Relevant parameters at the input:
"IdentMcpBusAdr", "IdentMcpProfilNo", "IdentMcpBusType", "IdentMcpStrobe"
● Relevant parameters at the output:
"IdentMcpType", "IdentMcpLengthIn", "IdentMcpLengthOut",
Here the DIP device address or the TCU index at the parameter "IdentMcpBusAdr" is
activated by the user program together with setting of the Strobe signal.
The input parameter "IdentMcpProfilNo" is normally to be set to the value 0. This parameter
is to be set to the value 1 only in the identification of the direct control keys. The parameter
"IdentMcpBusType" currently has no signifcance for a user program and is to be left in its
default value.
After resetting the Strobe signal by the basic program, valid output information becomes
available to the user. The resetting of the Strobe signals by the basic program can last for
several PLC cycles (up to 2 seconds).
The output parameters should show the user the size of the data areas for the addressed
device. Furthermore, it can be defined here, whether an HT2 or an HT8 or no device is
connected to the connection box. With this information the MCP channel or the HHU-channel
can be activated. In the cyclic operation the parameters can be written symbolically by the
user program and read via the symbol names of the DB 7 (gp_par).
Basic Functions
956 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Structure and functions of the basic program
IdentMcpBusProfilNo Value
MCP, BHG, HT8, HT2 B#16#0
Direct control keys, such as OP08T, OP12T B#16#1
IdentMcpType (Mcp-Type)
no device connected 0
MCP 483C IE (Compact) B#16#80
MCP 483C IE B#16#81
MCP 310 B#16#82
MCP OEM B#16#83
MCP DMG B#16#84
HT8 B#16#85
TCU_DT (Direct control keys) B#16#86
MCP_MPP B#16#87
HT2 B#16#88
OP08T (direct control keys) B#16#89
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 957
Basic PLC Program (P3)
Structure and functions of the basic program
(WKHUQHW
&3 1&.
'VO 0&3 0&3 ++8
LQW3/& '
3
5
03,'3
'3
3URILEXVFRQIIRU
0&3++8
Basic Functions
958 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Structure and functions of the basic program
(WKHUQHW
&3 1&.
'VO 0&3 0&3 ++8
'
LQW3/& 3
5
03,'3
'3
3URILEXVFRQI
IRU0&3
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 959
Basic PLC Program (P3)
Structure and functions of the basic program
Control signals
Parameters MCP1Stop, MCP2Stop and BHGStop can be used to stop communication with
individual components (parameter setting = 1). This function is available only on Ethernet
variants. This stop or activation of communication can be applied in the current cycle.
However, the change in value must be implemented through the symbolic notation of the
parameters and not by means of another FB 1 call.
Example of stopping transfer from the first machine control panel:
SET;
S gp_par.MCP1Stop;
Setting parameters MCP1Stop, MCP2Stop, BHGStop also results in a suppression or
deletion of interrupts 400260 to 400262.
Switchover of Bus address
An existing connection with a machine control panel (MCPl) or handheld unit (HHU) can be
aborted. Another MCP or HHU component already connected to the bus (different address)
can then be activated. Proceed as follows to switch addresses:
1. Stop communication with component to be decoupled via parameter MCP1Stop or
MCP2Stop or BHGStop = 1.
Basic Functions
960 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Structure and functions of the basic program
2. Following checkback in DB10 byte 104 (relevant bits 0, 1 and 2 are set to 0), the bus
address (with MCP, this is the FB1 parameter "MCP1BusAdr" or "MCP2BusAdr") is
changed; With HHU Ethernet variant, the bus address is set at FB1 parameter
"BHGRecGDNo") of this unit is changed to the new component.
3. In this PLC cycle, communication with the new component can now be activated again by
means of parameter MCP1Stop or MCP2Stop or BHGStop = 0.
4. Communication with the new component is taking place when the checkback is in DB 10
byte 104 (relevant bits 0, 1, 2 are set to 1).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 961
Basic PLC Program (P3)
SPL for Safety Integrated
Basic Functions
962 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Assignment overview
Number Significance
FB 15 Basic program
FB 1, FC 2, FC 3, FC 5 Basic program
FC 0 ... 29 Reserved for Siemens
FB 0 ... 29 Reserved for Siemens
FC 30 ... 999 1) Free for user assignment
FB 30 ... 999 1) Free for user assignment
FC 1000 ... 1023 Reserved for Siemens
FB 1000 ... 1023 Reserved for Siemens
FC 1024 ... upper limit Free for user assignment
FB 1024 ... upper limit Free for user assignment
1) The actual upper limit of the block number (FB/FC) depends on the PLC CPU on which the
selected NCU is located.
Note
Values of FC, FB see " Memory requirements of basic PLC program for SINUMERIK 840D
(Page 898)".
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 963
Basic PLC Program (P3)
Assignment overview
13.10.3 Assignment: DB
Note
Only as many data blocks as are required according to the NC machine data configuration
are set up.
Note
The data blocks of channels, axes/spindles and tool management functions that are not
activated may be assigned as required by the user.
Basic Functions
964 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Assignment overview
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 965
Basic PLC Program (P3)
Memory requirements of basic PLC program for SINUMERIK 840D
Basic Functions
966 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Memory requirements of basic PLC program for SINUMERIK 840D
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 967
Basic PLC Program (P3)
Memory requirements of basic PLC program for SINUMERIK 840D
Example
Based on the memory requirements in the table above, the memory requirements have been
determined for two sample configurations (see table below).
Basic Functions
968 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Basic conditions and NC VAR selector
Hardware
For the PLCs used in SINUMERIK 840D sl, the following equipment is required for the
programming devices or PCs:
Minimum Recommendation
Processor Pentium Pentium
RAM (MB) 256 512 or more
Hard disk, 500 > 500
free capacity (MB)
interfaces MPI, Ethernet incl. cable
Memory card
Graphic SVGA (1024*768)
Mouse Yes
Operating system Windows 2000 /XP Professional, STEP7 version 5.3 SP2 or
higher
The required version of STEP7 can be installed on equipment meeting the above
requirements in cases where the package has not already been supplied with the
programming device.
The following functions are possible with this package:
● Programming
– Editors and compilers for STL (complete scope of the language incl. SFB/SFC calls),
LAD, FBD
– Creation and editing of assignment lists (symbol editor)
– Data block editor
– Input and output of blocks ON/OFF line
– Insertion of modifications and additions ON and OFF line
– Transfer of blocks from programming device to the PLC and vice versa
● Configuring
– Parameterizing tool HW Config for CPU and I/O device parameterization
– NetPro parameterizing tool for setting the CPU communication parameters
– Output of system data such as hardware and software version, memory capacity, I/O
expansion/assignment
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 969
Basic PLC Program (P3)
Basic conditions and NC VAR selector
Note
More information about possible functions can be found in SIMATIC catalogs and
STEP 7 documentation.
Basic Functions
970 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Basic conditions and NC VAR selector
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 971
Basic PLC Program (P3)
Basic conditions and NC VAR selector
13.12.2.1 Overview
General
The PC application "NC VAR selector" fetches the addresses of required NC variables and
processes them for access in the PLC program (FB 2/FB 3). This enables the programmer to
select NC variables from the entire range of NC variables, to store this selection of variables,
to edit them by means of a code generator for the STEP7 compiler and finally to store them
as an ASCII file (*.AWL) in the machine CPU program. This process is shown in the figure
"NC VAR selector".
For storing the files created by NC-VAR-selector a catalog is to be implemented via the
Windows Explorer with any catalog name. The selected data of the NC-VAR selector
(data.VAR and data.AWL files) must be stored in this catalog. Therafter, the AWL file is to be
transferred and compiled via the menu option "Code" → "in STEP7 Project" The
"Daten.AWL" (STL data) file must then be inserted into the STEP 7 machine project via
"Insert", "External Source" in the STEP 7 Manager. The source container must be selected
in the manager for this purpose. This action stores this file in the project structure. Once the
file has been transferred, these AWL (STL) files must be compiled with STEP 7.
Note
The latest NC VAR selector can be used for each NC software version (even earlier
versions). For older NC software versions the variables can also be selected from the latest
complete list. The data cntent in DB 120 (default DB for variables) does not depend on the
software status. That is, variables selected in an older software version need not be
reselected when the software is upgraded.
Basic Functions
972 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Basic conditions and NC VAR selector
3URMHFW
YDU DZO
PGE
+DUGGLVN
After the "NC VAR selector" application has been started, select a list of variables of an NC
variant (hard disk → file Ncv.mdb) to display all the variables contained in this list in a
window.
The variable list ncv*.mdb is separated on:
SINUMERIK 840D
NC variables including machine and setting data: ncv_NcData.mdb
Machine data for 611D drive: ncv_611d.mdb
Machine data for 611D linear drive: ncv_611dLinear.mdb
Machine data of the 611D drive, Performance 2: ncv_611d_P2.mdb
Machine data of the 611D linear drive, Performance 2: ncv_611d_P2Linear.mdb
Machine data of the hydraulic drive: ncv_Hydraulics.mdb
SINUMERIK 840D sl
NC variables including machine and setting data: ncv_NcData.mdb
Parameters of the Drive: ncv_SinamicsServo.mdb
The user can also transfer variables to a second list (separate window). This latter selection
of variables can then be stored in an ASCII file or edited as a STEP 7 source file (.awl) and
stored.
Once he has generated a PLC data block by means of the STEP 7 compiler, the
programmer is able to read or write NCK variables via the basic program function blocks
"PUT" and "GET" using the STEP 7 file.
The list of selected variables is also stored as an ASCII file (file extension .var).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 973
Basic PLC Program (P3)
Basic conditions and NC VAR selector
The variable list supplied with the "NC VAR selector" tool is adapted to the current NC
software version. This list does not contain any variables (GUD variables) defined by the
user. These variables are processed by the function block FB 5 in the basic program.
Note
The latest version of the "NC VAR selector" is capable of processing all previous NC
software versions. It is, therefore, not necessary to install different versions of the "NC VAR
selector" in parallel.
Overview
The figure below illustrates how the NC VAR selector is used within the STEP 7
environment.
1&9$5VHOHFWRU 67(3b
8VHUGDWD
8, 9DU,'
&DOO)%9DU $UHDXQLW
9DU1DPH &ROXPQ
Basic Functions
974 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Basic conditions and NC VAR selector
The NC VAR selector is used to generate a list of selected variables from a list of variables
and then to generate an .awl file that can be compiled by the STEP 7 compiler.
● A *.awl file contains the names and alias names of the NC variables, as well as
information about their address parameters. Any data block generated from this file will
only contain the address parameters (10 bytes per parameter).
● The generated data blocks must always be stored in the machine-specific file storage
according to STEP 7 specifications.
● To ensure that the parameterization of the GET/PUT (FB 2/3) blocks with respect to NC
addresses can be implemented with symbols, the freely assignable, symbolic name of the
generated data block must be included in the STEP 7 symbol table.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 975
Basic PLC Program (P3)
Basic conditions and NC VAR selector
If, after selection of the project, new variables are to be added, a complete list of NC
variables must be selected. No complete list need be called if the user only wishes to delete
variables from the project.
Basic Functions
976 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Basic conditions and NC VAR selector
Storing a project
The variable list is stored using the "Project" > "Save" or "Save As...." menu items.
"Save" stores the variable list under a path, which is already specified. If the project path is
not known, then the procedure is as for "Save As....".
"Save As..." displays a window in which the path for the project to be stored can be
specified.
Printing a project
The "Print" command under the "Project" menu item can be selected to print a project file.
The number of lines per page is selected under the "Print Setting" menu item. The default
setting is 77 lines.
Undoing actions
Operator actions relating to the creation of the project file (transfer variables, delete
variables, change alias names) can be undone in this menu.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 977
Basic PLC Program (P3)
Basic conditions and NC VAR selector
The field variables (e.g. axis area, T area data, etc.) are indicated by means of brackets ([.]).
Additional information must be specified here. When the variables are transferred to the
project list, the additional information required is requested.
Displaying subsets
Double-click on any table field (with the exception of variable fields) to display a window in
which filter criteria can be preset.
Figure 13-25 Window with filter criteria for displaying list of variables
Basic Functions
978 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Basic conditions and NC VAR selector
Alias name
The variable names provided can be up to 32 characters in length. To make variables clearly
identifiable in the data block to be generated, several ASCII characters are added to the
selected name. However, the STEP 7 compiler recognizes only 24 ASCII characters as an
unambiguous STEP 7 variable. Since it cannot be precluded that variable names can only be
differentiated by the last 8 character positions, ALIAS names are used for names, which are
too long. When a variable is selected, the length of the STEP7 name to be used is, therefore,
checked. If the name is longer than 24 characters, the user must enter an additional name,
which is then used as the alias.
In this case, the user must ensure that the alias name is unambiguous.
Alias input can always be activated by the user in the "Options" menu.
An alias name can then be entered every time a variable is transferred.
It is also possible to edit alias names at a later point in time by double-clicking on the S7
variable name field. This action can also be undone under the "Edit" menu item.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 979
Basic PLC Program (P3)
Basic conditions and NC VAR selector
Scrolling
A scroll bar is displayed if it is not possible to display all variables in the window. The
remaining variables can be reached by scrolling (page up/down).
Figure 13-27 Entry field for line, column and block no.
Basic Functions
980 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Basic conditions and NC VAR selector
Delete variables
Variables are deleted in the window of selected variables by selecting the appropriate
variables (single mouse click) and pressing the "Delete" key. No deletion action is taken with
the double-click function. It is possible to select several variables for deletion (see "Selecting
variables").
This action can also be undone under the "Edit" menu item.
Note
Deleting of variables results in a change of the absolute addresses of the pointer structures
to the variables. When changing the variable selection, it is, therefore, absolutely necessary
to generate one or several text files of all user blocksprior to the change. This is the only way
to ensure that the assignment of the variables in FB "GET" or FB "PUT" remains correct,
even after recompilation.
Figure 13-28 Window for project path and name of file to be stored
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 981
Basic PLC Program (P3)
Basic conditions and NC VAR selector
Code generation
This menu item contains three selection options:
1. Settings (input of data block number to be generated) and other settings
2. Generate (create data block)
3. In the STEP7 project (transferring the data block to a STEP7 project)
Settings
Under this menu item, the DB number and the symbol for this DB number for which the code
is created is entered.
Under the "Mass System" tab, a selection is made to determine how the unit system
variables are calculated in the PLC.
Under the "Generate" tab, the project creation is defined for the relevant target system.
Generate
Under this menu item, the STEP 7 file from the selected variable list with extension ".awl" is
set.
A file is generated when "Select" is clicked:
An .awl file that can be used as an input for the STEP 7 compiler.
A window opens, in which path and name for the .awl file to be generated must be specified
for the file to be saved.
In STEP 7 project
The generated AWL file is transferred to a selectable SIMATIC project (program path) and
compiled. Furthermore, the symbol can also be transferred. This function is available from
STEP 7 version 5.1 onwards. This process takes a longer time owing to the call of STEP 7.
Before transferring a new AWL file the file window of the AWL file is to be closed in the
KOP/FUP/AWL Editor.
Basic Functions
982 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Basic conditions and NC VAR selector
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 983
Basic PLC Program (P3)
Block descriptions
Function
The synchronization of NCK and PLC is performed during startup. The data blocks for the
NC/PLC user interface are created with reference to the NC configuration defined in the
machine data and the most important parameters verified for plausibility. In the event of an
error, FB 1 passes an error identifier to the diagnostics buffer and switches the PLC to the
STOP state.
To enable an orderly start-up of the control, it is vital to synchronize the NCK and PLC, as
these systems have their own types of power-up procedure. During startup routine,
therefore, the CPUs perform "subsidiary startup functions" and exchange ID information to
ensure that the procedure is functioning correctly.
Since the startup procedure is asynchronous, it is unavoidable that one CPU may have to
"wait" until the other has "caught up". This is automatically managed by the basic program.
The integrated PLC only supports cold starts. A warm restart is not provided, i.e. following
system initialization, the operating system runs organization block OB 100 and always
commences cyclic execution at the start of OB 1.
Users need only supply the FB 1 parameters that are relevant to their applications. The
preset values in the associated instance DB 7 do not need to be assigned. The block can
only be called in OB 100.
Output parameters
The output parameters in FB 1 provide the PLC user with information about the control
system configuration. These data can also be accessed in the cyclic program section.
There are two access options:
1. Direct access to the DB 7 data block (instance of the FB 1) in symbolic format (e.g. L
gp_par.MaxChan; in this case, gp_par is the symbolic name of the DB 7)
2. Assignment of a flag; during parameterization of the FB 1, the data element is assigned
to the relevant parameter (e.g. MaxChan:=MW 20) Information about the maximum
number of channels can then be polled in memory word 20 in the rest of the user
program.
Note
For the values of the parameters of MCP and HHU see "Configuration machine control
panel, handheld unit, direct keys (Page 898) ".
Basic Functions
984 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
FUNCTION_BLOCK FB 1
VAR_INPUT
MCPNum: INT:=1; //0: No MCP
//1: 1 MCP (default)
//2: 2 MCPs
MCP1In: POINTER; //Start addr. input signals MCP 1
MCP1Out: POINTER; //Start addr. output signals MCP 1
MCP1StatSend: POINTER; //Status DW for sending MCP 1
MCP1StatRec: POINTER; //Status DW for receiving MCP 1
MCP1BusAdr: INT:=6; //Default
MCP1Timeout: S5TIME:= S5T#700MS;
MCP1Cycl: S5TIME:= S5T#200MS;
MCP2In: POINTER; //Start addr. input signals MCP 2
MCP2Out: POINTER; //Start addr. output signals MCP 2
MCP2StatSend: POINTER; //Status DW for sending MCP 2
MCP2StatRec: POINTER; //Status DW for receiving MCP 2
MCP2BusAdr: INT ;
MCP2Timeout: S5TIME:= S5T#700MS;
MCP2Cycl: S5TIME:= S5T#200MS;
MCPMPI: BOOL:= FALSE;
MCP1Stop: BOOL:= FALSE;
MCP2Stop: BOOL:= FALSE;
MCP1NotSend: BOOL:= FALSE;
MCP2NotSend: BOOL:= FALSE;
MCPSDB210: BOOL:= FALSE;
MCPCopyDB77: BOOL:= FALSE;
MCPBusType: BYTE=B#16#0;
HHU: INT:=0; //Handheld unit interface
//0: No HHU
//1: HHU on MPI
//2: HHU on OPI
BHGIn: POINTER; //Transmit data of the HHU
BHGOut: POINTER; //Receive data of the HHU
BHGStatSend: POINTER; //Status DW for sending HHU
BHGStatRec: POINTER; //Status DW for receiving HHU
BHGInLen: BYTE:= B#16#6; //Input 6 bytes
BHGOutLen: BYTE:= B#16#14; //Output 20 bytes
BHGTimeout: S5TIME:= S5T#700MS;
BHGCycl: S5TIME:= S5T#100MS;
BHGRecGDNo: INT:=2;
BHGRecGBZNo: INT:= 2;
BHGRecObjNo: INT:= 1;
BHGSendGDNo: INT:= 2;
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 985
Basic PLC Program (P3)
Block descriptions
BHGSendGBZNo: INT:= 1;
BHGSendObjNo: INT:= 1;
BHGMPI: BOOL:= FALSE;
BHGStop: BOOL:= FALSE;
BHGNotSend: BOOL:= FALSE;
NCCyclTimeout: S5TIME:= S5T#200MS;
NCRunupTimeout: S5TIME:= S5T#50S;
ListMDecGrp: INT:= 0;
NCKomm: BOOL:= FALSE;
MMCToIF: BOOL:= TRUE;
HWheelMMC: BOOL:= TRUE; //Handwheel selection via HMI
ExtendAlMsg : BOOL ;
MsgUser: INT:= 10; //Number of user areas in DB 2
UserIR: BOOL:= FALSE; //User programs in OB 40,
//Observe local data expansion!
IRAuxfuT: BOOL:= FALSE; //Evaluate T function in OB 40
IRAuxfuH: BOOL:= FALSE; //Evaluate H function in OB 40
IRAuxfuE: BOOL:= FALSE; //Evaluate DL function in OB 40
UserVersion: POINTER; //Pointer to string variable indicated in
//version screen display
OpKeyNum : INT;
Op1KeyIn POINTER;
Op1KeyOut : POINTER;
Op1KeyBusAdr : INT;
Op2KeyIn : POINTER;
Op2KeyOut : POINTER;
Op2KeyBusAdr : INT;
Op1KeyStop : BOOL ;
Op2KeyStop : BOOL ;
Op1KeyNotSend : BOOL ;
Op2KeyNotSend : BOOL ;
OpKeyBusType : BYTE ;
IdentMcpBusAdr : INT;
IdentMcpProfilNo : BYTE ;
IdentMcpBusType : BYTE ;
IdentMcpStrobe : BOOL ;
END_VAR
VAR_OUTPUT
MaxBAG: INT;
MaxChan: INT;
MaxAxis: INT;
ActivChan: ARRAY[1..10] OF BOOL;
ActivAxis: ARRAY[1..31] OF BOOL;
UDInt : INT;
Basic Functions
986 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
UDHex: INT;
UDReal : INT;
IdentMcpType : BYTE ;
IdentMcpLengthIn : BYTE ;
IdentMcpLengthOut : BYTE ;
END_VAR
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 987
Basic PLC Program (P3)
Block descriptions
Basic Functions
988 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 989
Basic PLC Program (P3)
Block descriptions
Basic Functions
990 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
ORGANIZATION_BLOCK OB 100
VAR_TEMP
OB100_EV_CLASS : BYTE ;
OB100_STRTUP : BYTE ;
OB100_PRIORITY : BYTE ;
OB100_OB_NUMBR : BYTE ;
OB100_RESERVED_1 : BYTE ;
OB100_RESERVED_2 : BYTE ;
OB100_STOP : WORD ;
OB100_RESERVED_3 : WORD ;
OB100_RESERVED_4 : WORD ;
OB100_DATE_TIME : DATE_AND_TIME;
END_VAR
BEGIN
CALL FB 1, DB 7 (
MCPNum := 1,
MCP1In := P#E0.0,
MCP1Out := P#A0.0,
MCP1StatSend := P#A8.0,
MCP1StatRec := P#A12.0,
MCP1BusAdr := 6,
MCP1Timeout := S5T#700MS,
MCP1Cycl := S5T#200MS,
NC-CyclTimeout := S5T#200MS,
NC-RunupTimeout := S5T#50S);
//INSERT USER PROGRAM HERE
END_ORGANIZATION_BLOCK
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 991
Basic PLC Program (P3)
Block descriptions
Function
The PLC user program can read variables from the NCK area using FB GET. The FB is
multi-instance-capable.
FB 2 also includes an Instance DB from the user area.
When FB 2 is called with a positive signal edge change at control input "Req", a job is
started, which reads the NCK variables referenced by ADDR1-ADDR8 and then copies them
to the PLC operand areas referenced by RD1 to RD8. Successful completion of the read
process is indicated by a logical "1" in status parameter "NDR".
The read process lasts for several PLC cycles (normally 1 ... 2). The block can be called up
in cyclic mode only.
Any errors are indicated by Error and State.
In order to reference the NC variables, all required variables are first selected with the "NC
VAR selector" tool and generated as STL source in a data block. A name must then be
assigned to this DB in the symbol table.
"DB name.S7 name" is transferred as the actual parameter of the NCK variable address
(Addr1 to Addr8) when FB 2 is called.
Variable addressing
For some NC variables, it is necessary to select area no. and/or line or column from the NC-
VAR selector. For these variables it is possible to select a basic type,
i. e. area/column/row is filled with "0" by default.
The contents of the area number, line and column specified by the NC VAR selector are
checked for a "0" in the FB. If a "0" is present, the value is transferred to the input parameter.
The user must supply the required parameters (UnitX/ColumnX/LineX) before calling FB GET.
NOTICE
FB 2 can read NC variables only if basic program parameter NCKomm ="1" has been set
(in OB 100: FB 1, DB 7). The call is permitted only in cyclic program OB1. An assignment
for all parameters with Req = 0 is also permitted in OB 100.
When channel-specific variables are read, only variables from one and the same channel
may be addressed via Addr1 to Addr8 in a job (FB 2 call).
In areas V and H, different logic axis numbers must not be assigned in one job. (Failure to
observe this rule results in Error:= TRUE, State:= W#16#02).
Basic Functions
992 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Area
Group 1 C[1] N B A T
Group 2 C[2] N B A T
Group 3 V[.] H[.]
The same rules apply to channels 3 to 10 as illustrated as examples in the above table in
groups 1 and 2.
Note
Especially when reading several long strings, the number of usable variables can be less
than 8.
FUNCTION_BLOCK FB 2
VAR_INPUT
Req : BOOL;
NumVar : INT ;
Addr1 : ANY ;
Unit1 : BYTE ;
Column1 : WORD ;
Line1 : WORD ;
Addr2 : ANY ;
Unit2 : BYTE ;
Column2 : WORD ;
Line2 : WORD ;
Addr3 : ANY ;
Unit3 : BYTE ;
Column3 : WORD ;
Line3 : WORD ;
Addr4 : ANY ;
Unit4 : BYTE ;
Column4 : WORD ;
Line4 : WORD ;
Addr5 : ANY ;
Unit5 : BYTE ;
Column5 : WORD ;
Line5 : WORD ;
Addr6 : ANY ;
Unit6 : BYTE ;
Column6 : WORD ;
Line6 : WORD ;
Addr7 : ANY ;
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 993
Basic PLC Program (P3)
Block descriptions
Unit7 : BYTE ;
Column7 : WORD ;
Line7 : WORD ;
Addr8 : ANY ;
Unit8 : BYTE ;
Column8 : WORD ;
Line8 : WORD ;
END_VAR
VAR_OUTPUT
Error : BOOL;
NDR : BOOL;
State : WORD ;
END_VAR
VAR_IN_OUT
RD1 : ANY ;
RD2 : ANY ;
RD3 : ANY ;
RD4 : ANY ;
RD5 : ANY ;
RD6 : ANY ;
RD7 : ANY ;
RD8 : ANY ;
END_VAR
Basic Functions
994 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Error identifiers
If it was not possible to execute a job, the failure is indicated by "logic 1" on status parameter
error. The error cause is coded at the block output State:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 995
Basic PLC Program (P3)
Block descriptions
Configuration steps
Proceed as follows to read NC variables:
● Select variables with the NC VAR selector.
● Save selected variables in a *.VAR file
● Generate a STEP 7 *.STL source file.
● Generate a DB with the associated address data.
● Enter the symbol for the generated DB in the symbol table so that it is possible to access
the address parameters symbolically in the user program.
● Set FB2 parameters
Pulse diagram
5HT
1'5
(UURU
Call example
Reading of three channel-specific machine data from channel 1, whose address
specifications are stored in DB120.
Select data with NC VAR selector and store in file DB120.VAR; then create file DB120.AWL:
Basic Functions
996 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Entry of the name in the S7 SYMBOL table (e.g. NCVAR for DB120):
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 997
Basic PLC Program (P3)
Block descriptions
DATA_BLOCK DB 120
VERSION : 0.0
STRUCT
C1_RP_rpa0_0:
STRUCT
SYNTAX_ID : BYTE := B#16#82;
area_and_unit : BYTE := B#16#41;
column : WORD := W#16#1;
line : WORD := W#16#0;
block type : BYTE := B#16#15;
NO. OF LINES : BYTE := B#16#1;
type : BYTE := B#16#F;
length : BYTE := B#16#8;
END_STRUCT;
END_STRUCT;
BEGIN
END_DATA_BLOCK
CALL FB 2, DB 110 (
Req := M 0.0,
NumVar := 2,
Addr1 := "NCVAR".C1_RP_rpa0_0,
Line1 := W#16#1,
Addr2 := "NCVAR".C1_RP_rpa0_0,
Line2 := W#16#2,
Error := M 1.0,
NDR := M 1.1,
State := MW 2,
RD1 := P#M 4.0 REAL 1,
RD2 := P#M 24.0 REAL 1);
Basic Functions
998 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Data types
The data types of the NCK are listed in the NC-VAR selector with the variables. The tables
below give the assignments to the S7 data types.
Function
The PLC user program can write variables in the NCK area using FB PUT. The FB is multi-
instance-capable.
Every FB 3 call must be assigned a separate instance DB from the user area.
When FB 3 is called with a positive signal edge change at control input Req, a job is started
to overwrite the NC variables referenced by Addr1 to Addr8 with the data of the PLC
operand areas locally referenced by SD1 to SD8. Successful completion of the write process
is indicated by a logical "1" in status parameter "Done".
The write process lasts for several PLC cycles (normally 1-2). The block can be called up in
cyclic mode only.
Any errors are indicated by Error and State.
In order to reference the NC variables, all required variables are first selected with the "NC
VAR selector" tool and generated as STL source in a data block. A name must then be
assigned to this DB in the symbol table.
"DB name.S7 name" is transferred as the actual parameter of the NCK variable address
(Addr1 to Addr8) when FB 3 is called.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 999
Basic PLC Program (P3)
Block descriptions
Variable addressing
For some NC variables, it is necessary to select area no. and/or line or column in the NC
VAR selector. For these variables it is possible to select a basic type, i.e. area/column/row is
filled with "0" by default.
The contents of the area number, line and column specified by the NC VAR selector are
checked for a "0" in the FB. If a "0" is present, the value is transferred to the input parameter.
The user must supply the required parameters (UnitX/ColumnX/LineX) before calling Here
unit corresponds to area no., column to column and line to row.
NOTICE
FB 3 can only write NC variables if basic program parameter "NCKomm" has been set
to "1" (in OB 100: FB 1, DB 7). The call is permitted only in cyclic program OB1. An
assignment for all parameters with Req = 0 is also permitted in OB 100.
When channel-specific variables are written, only variables from one and the same
channel may be addressed via Addr1 to Addr8 in a job (FB 3 call).
In areas V and H, different logic axis numbers must not be assigned in a single job.
(Failure to observe this rule results in Error:= TRUE, State:= W#16#02).
Area
Group 1 C[1] N B A T
Group 2 C[2] N B A T
Group 3 V[.] H[.]
The same rules apply to channels 3 to 10 as illustrated as examples in the above table in
groups 1 and 2.
Note
Especially when reading several long strings, the number of usable variables can be less
than 8.
Basic Functions
1000 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
FUNCTION_BLOCK FB 3
VAR_INPUT
Req : BOOL ;
NumVar : INT;
Addr1 : ANY ;
Unit1 : BYTE ;
Column1 : WORD ;
Line1 : WORD ;
Addr2 : ANY ;
Unit2 : BYTE ;
Column2 : WORD ;
Line2 : WORD ;
Addr3 : ANY ;
Unit3 : BYTE ;
Column3 : WORD ;
Line3 : WORD ;
Addr4 : ANY ;
Unit4 : BYTE ;
Column4 : WORD ;
Line4 : WORD ;
Addr5 : ANY ;
Unit5 : BYTE ;
Column5 : WORD ;
Line5 : WORD ;
Addr6 : ANY ;
Unit6 : BYTE ;
Column6 : WORD ;
Line6 : WORD ;
Addr7 : ANY ;
Unit7 : BYTE ;
Column7 : WORD ;
Line7 : WORD ;
Addr8 : ANY ;
Unit8 : BYTE ;
Column8 : WORD ;
Line8 : WORD ;
END_VAR
VAR_OUTPUT
Error : BOOL ;
Done : BOOL ;
State : WORD ;
END_VAR
VAR_IN_OUT
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1001
Basic PLC Program (P3)
Block descriptions
SD1 : ANY ;
SD2 : ANY ;
SD3 : ANY ;
SD4 : ANY ;
SD5 : ANY ;
SD6 : ANY ;
SD7 : ANY ;
SD8 : ANY ;
END_VAR
Basic Functions
1002 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Error identifiers
If it was not possible to execute a job, the failure is indicated by "logic 1" on status parameter
error. The error cause is coded at the block output State:
Configuration steps
To write NC variables, the same configuration steps are required as for reading NC
variables. It is useful to store the address data of all NC variables to be read or written in a
DB.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1003
Basic PLC Program (P3)
Block descriptions
Pulse diagram
5HT
'RQH
(UURU
Call example
Writing of three channel-specific machine data of channel 1:
Select the three data with NC VAR selector and store in the file DB120.VAR:
Basic Functions
1004 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
DATA_BLOCK DB 120
VERSION : 0.0
STRUCT
C1_RP_rpa0_0:
STRUCT
SYNTAX_ID : BYTE := B#16#82;
area_and_unit : BYTE := B#16#41;
column : WORD := W#16#1;
line : WORD := W#16#0;
block type : BYTE := B#16#15;
NO. OF LINES : BYTE := B#16#1;
type : BYTE := B#16#F;
length : BYTE := B#16#8;
END_STRUCT;
END_STRUCT;
BEGIN
END_DATA_BLOCK
CALL FB 3, DB 122 (
Req := M 10.0,
NumVar := 2,
Addr1 := "NCVAR".C1_RP_rpa0_0,
Line1 := W#16#1,
Addr2 := "NCVAR".C1_RP_rpa0_0,
Line3 := W#16#2
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1005
Basic PLC Program (P3)
Block descriptions
Error := M 11.0,
Done := M 11.1,
State := MW 12,
SD1 := P#M 4.0 REAL 1,
SD2 := P#M 24.0 REAL 1);
Function
FB PI_SERV can be used to start program-instance services in the NCK area.
Note
Recommendation: Use the extended FB 7 in place of FB 4.
A program section, which carries out a particular function (e.g. with tool management, search
for empty location in a magazine), is executed in the NCK by making a request via the PI
service.
Every FB 4 call must be assigned an instance DB from the user area.
The specified service is referenced via the "PIService" parameter. The selected PI service is
supplied via the freely assignable additional input variables with varying data types (Addr1 to
Addr4 for strings, WVar1 to WVar 10 for INTEGER or WORD variables).
A job is started when FB 4 is called by means of a positive edge change at control input Req.
Successful execution of the job is displayed by means of a logical "1" in status parameter
"Done". Any errors are indicated by Error and State.
The "PI" data block (DB16) contains internal descriptions of the possible PI services. A name
must then be assigned to this DB in the signal list. On calling the FB 4, "DB-Name.PI-Name"
is transferred as the actual parameter for "PIService".
The execution of the PI service extends over several PLC cycles (generally 1 to 2).
The block can be called up in cyclic mode only.
Note
FB 4 can start PI services only if the basic program parameter "NCKomm" has been set to
"1" (in OB 100: FB 1, DB 7). The call is permitted only in cyclic program OB1. An assignment
for all parameters with Req = 0 is also permitted in OB 100.
Basic Functions
1006 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
FUNCTION_BLOCK FB 4
VAR_INPUT
Req : BOOL ;
PIService : ANY ;
Unit : INT ;
Addr1 : ANY ;
Addr2 : ANY ;
Addr3 : ANY ;
Addr4 : ANY ;
WVar1 : WORD ;
WVar2 : WORD ;
WVar3 : WORD ;
WVar4 : WORD ;
WVar5 : WORD ;
WVar6 : WORD ;
WVar7 : WORD ;
WVar8 : WORD ;
WVar9 : WORD ;
WVar10 : WORD ;
END_VAR
VAR_OUTPUT
Error : BOOL ;
Done : BOOL ;
State : WORD ;
END_VAR
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1007
Basic PLC Program (P3)
Block descriptions
Error identifiers
If it was not possible to execute a job, the failure is indicated by "logic 1" on status parameter
error. The error cause is coded at the block output State:
Timing diagram
5HT
'RQH
(UURU
Basic Functions
1008 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
PI service Function
ASUB Assign interrupt
CANCEL Execute cancel
CONFIG Reconfiguration of tagged machine data
DIGION Digitizing on
DIGIOF Digitizing off
FINDBL Activate block search
LOGIN Activate password
LOGOUT Reset password
NCRES Trigger NC-RESET
SELECT Select program for processing for one channel
SETUDT Sets the current user data to active
SETUFR Activate user frame
PI service Function
CRCEDN Create new cutting edge
CREACE Create cutting edge
CREATO Generate tool
DELECE Delete a cutting edge
DELETO Delete tool
MMCSEM Semaphores for various PI services
TMCRTO Create tool
TMFDPL Empty location search for loading
TMFPBP Empty location search
TMGETT T-number for the specified tool identifier with duplo number
TMMVTL Prepare magazine location for loading, unload tool
TMPOSM Position magazine location or tool
TMPCIT Set increment value for workpiece counter
TMRASS Reset active status
TRESMO Reset monitoring values
TSEARC Complex search using search screen forms
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1009
Basic PLC Program (P3)
Block descriptions
PI service: ASUB
Function: Assign interrupt
A program stored on the NCK is assigned an interrupt signal for a channel. This is possible
only when the program file may be executed. The path names and the program names are
to be written in correct notation.
For the correct notation of the path and the program names see:
References:
Programming Manual Job Planning; Chapter: "File and Program Management" > "Program
Memory".
Parameterization
Signal Type Value range Meaning
PIService ANY PI.ASUP Assign interrupt
Unit INT 1 ... 10 Channel
WVar1 WORD 1 ... 8 Interrupt number
WVar2 WORD 1 ... 8 Priority
WVar3 WORD 0/1 LIFTFAST
WVar4 WORD 0/1 BLSYNC
Addr1 STRING Path name
Addr2 STRING Program name
Note
The SETINT instruction is also used to make the assignment.
The ASUP PI service may only be executed when the channel to be activated is in RESET
state.
References:
Programming Manual, Job Planning; Chapter: "Flexible NC-Programming" > "Interrupt
routine (ASUB)"
PI service: CANCEL
Function: Execute Cancel
Has the effect that the function "Cancel" (corresponding to the key on HMI) is executed.
Parameterization
Signal Type Value range Meaning
PIService ANY PI.CANCEL Cancel
Basic Functions
1010 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
PI service: CONFIG
Function: Reconfiguration
The reconfiguration command activates machine data, which have been entered sequentially
by the operator or the PLC, almost in parallel.
The command can only be activated when the control is in RESET state or the program is
interrupted (NC stop at block limit). An FB 4 error checkback message is output if these
conditions are not fulfilled (state = 3).
Parameterization
Signal Type Value range Meaning
PIService ANY PI.CONFIG Reconfiguration
Unit INT 1
WVar1 INT 1 Classification
PI service: DIGION
Function: Digitizing on
Selecting digitizing in the specified channel.
Parameterization
Signal Type Value range Meaning
PIService ANY PI.DIGION Digitizing on
Unit INT 1 to 10 Channel
PI service: DIGIOF
Function: Digitizing off
Deactivating digitizing in the specified channel.
Parameterization
Signal Type Value range Meaning
PIService ANY PI.DIGIOF Digitizing off
Unit INT 1 to 10 Channel
PI service: FINDBL
Function: Activate block search
A channel is switched to block search mode and the appropriate acknowledgment then
transmitted. The block search is then executed immediately by the NCK. The search pointer
must already be in the NCK at this point in time. The search can be interrupted at any time
by an NC RESET. Once the search is successfully completed, the normal processing mode
is reactivated automatically. NC Start then takes effect from the located search target. The
operator is responsible for providing a collision-free approach path.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1011
Basic PLC Program (P3)
Block descriptions
Parameterization
Signal Type Value range Meaning
PIService ANY PI.FINDBL Block search
Unit INT 1 to 10 Channel
WVar1 WORD x Preprocessing mode
PI service: LOGIN
Function: Create password
Transfers the parameterized password to the NCK. The passwords generally consist of
8 characters. If required, blanks must be added to the string of the password.
Example:
Password: STRING[8] := 'SUNRISE';
Parameterization
Signal Type Value range Meaning
PIService ANY PI.LOGIN Create password
Unit INT 1 NCK
Addr1 STRING 8 characters Password
PI service: LOGOUT
Function: Reset password
The password last transferred to the NCK is reset.
Parameterization
Signal Type Value range Meaning
PIService ANY PI.LOGOUT Reset password
Unit INT 1 NCK
Basic Functions
1012 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
PI service: NCRES
Function: Trigger NC-RESET
Initiates an NCK RESET. The Unit and WVar1 parameters must be assigned 0.
Parameterization
Signal Type Value range Meaning
PIService ANY PI.NCRES Trigger NC-RESET
Unit INT 0 0
WVar1 WORD 0 0
PI service: SELECT
Function: Select processing for a channel
A program stored on the NCK is selected for processing for one channel. This is possible
only if the file may be executed. The path name and program name must be entered as
described in the Programming Manual Job Planning, File and Program Management,
Section "Program Memory". Please also refer to example of FB 4 for notation of path and
program names.
Possible block types
Block types
Workpiece directory WPD
Main program MPF
Subroutine SPF
cycles CYC
Asynchronous subprograms ASP
Binary files BIN
Parameterization
Signal Type Value range Meaning
PIService ANY PI.SELECT Program selection
Unit INT 1 ... 10 Channel
Addr1 STRING Path name
Addr2 STRING Program name
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1013
Basic PLC Program (P3)
Block descriptions
PI service: SETUDT
Function: Set function current user data active
The current user data, such as tool offsets, basic frames and settable frames are set to
active in the next NC block (only in STOP state).
Parameterization
Signal Type Range of values Meaning
PI service: SETUFR
Function: Activate user frames
User frames are loaded to the NCK. All necessary frame values must be transferred to the
NCK beforehand by writing variables with FB 3.
Parameterization
Signal Type Value range Meaning
PIService ANY PI.SETUFR Activate
user frames
Unit INT 1 to 10 Channel
PI service: CRCEDN
Function: Create new cutting edge
If the T number of an existing tool is specified in parameter “T number” in the PI service, then
a cutting edge is set up for this particular tool (in this case, parameter “D number” (number of
cutting edge to be created) has a value range of 00001–00009). If a positive T number is
specified as a parameter and the tool for the T number entered does not exist, then the PI
service is aborted. If a value of 00000 is entered as the T number (model of absolute D
numbers), then the D number values can range from 00001-31999. The new cutting edge is
set up with the specified D number. If the specified cutting edge already exists, then the PI
service is aborted in both cases.
Basic Functions
1014 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Parameterization
Signal Type Range of values Significance
PIService ANY PI.CRCEDN Create new cutting edge
Unit INT 1 ... 10 TOA
WVar1 INT T number of tool for which cutting
edge must be created. A setting of
00000 states that the cutting edge
should not refer to any particular tool
(absolute D number).
WVar2 INT 1 ... 9 or Edge number of tool cutting edge
01 - 31999
PI service: CREACE
Function: Create cutting edge
Creation of the cutting edge with the next higher/next unassigned D number for the tool with
the transferred T number in TO, TS (if present). The cutting edge for the OEM cutting edge
data is set up simultaneously in the TUE block - if one is present.
Parameterization
Signal Type Range of values Significance
PIService ANY PI.CREACE Create cutting edge
Unit INT 1 ... 10 TOA
WVar1 INT T number
PI service: CREATO
Function: Create tool
Creation of a tool with specification of a T number. The tool is entered as existing in the tool
directory area (TV). The first "cutting edge" D1 (with zero contents) is created for tool offsets
in the TO block. D1 (with zero contents) is also created for the OEM "cutting edge" data in
the TUE block - if one is present. If a TU block exists, it will contain the data set for the tool.
Parameterization
Signal Type Range of values Significance
PIService ANY PI.CREATO Create tool
Unit INT 1 ... 10 TOA
WVar1 INT T number
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1015
Basic PLC Program (P3)
Block descriptions
PI service: DELECE
Function: Delete a tool cutting edge
If the T number of an existing tool is specified in parameter “T number” in the PI service, then
a cutting edge is deleted for this particular tool (in this case, parameter “D number” (number
of cutting edge to be created) has a value range of 00001–00009). If a positive T number is
specified as a parameter and the tool for the T number entered does not exist, then the PI
service is aborted. If a value of 00000 is entered as the T number (model of absolute D
numbers), then the D number values can range from 00001-31999. If the specified cutting
edge does not exist, then the PI service is aborted in both cases.
Parameterization
Signal Type Range of values Significance
PIService ANY PI.DELECE Delete cutting edge
Unit INT 1 ... 10 TOA
WVar1 INT T number of tool for which cutting
edge must be created. A setting of
00000 states that the cutting edge
should not refer to any particular tool
(absolute D number).
WVar2 INT 1 ... 9 Edge number of cutting edge that must
or be deleted
01 ... 31999
PI service: DELETO
Function: Deleting a tool
Deletes the tool assigned to the transferred T number with all cutting edges (in TO, in some
cases TU, TUE and TG (type 4xx), TD and TS blocks).
Parameterization
Signal Type Range of values Significance
PIService ANY PI.DELETO Delete tool
Unit INT 1 ... 10 TOA
WVar1 INT T number
Basic Functions
1016 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
PI service: MMCSEM
Semaphores for various PI services
For use by HMI and PLC
10 semaphores are provided for each channel. These protect critical functions for the
HMI/PLC. By setting the semaphore for the corresponding function number, several
HMI/PLC units can be synchronized with it in cases where a function contains a critical
section with respect to data to be fetched by the NCK. Semaphores are managed by the
HMI/PLC. A semaphore value of 1stipulates a Test & Set operation for the semaphore of the
specified function number. The return value of the PI service represents the result of this
operation:
● Checkback value Done := TRUE: Semaphore has been set, critical function can be called
● Checkback value Error := TRUE with state = 3: Semaphore was already set, critical
function cannot be called at the present time. The operation must be repeated later.
Note
On completion of the operation (reading data of this PI service) it is essential that the
semaphore is enabled again.
Parameter:
WVar1 = FunctionNumber
This function number represents a PI service:
WVar2=SemaphorValue
Value Description
0: Reset semaphore
1: Test and set semaphore
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1017
Basic PLC Program (P3)
Block descriptions
Parameterization
Signal Type Range of values Significance
PIService ANY PI.MMCSEM Set semaphore
Unit INT 1, 2 to 10 Channel
WVar1 INT 1 ... 10 FunctionNumber
WVar2 WORD 0, 1 SemaphoreValue
PI service: TMCRTO
Function Create tool:
Creating a tool with specification:
● of an identifier, a duplo number, e.g. with:
$TC_TP1[y] = duplo number;
$TC_TP2[y] = "tool identifier";
● optionally a T number, e.g. with:
y = T number
The tool is entered as existing in the tool directory area (TV). The first cutting edge "D1" (with
zero contents) is created for tool offsets in the TO block. "D1" (with zero contents) is also set
up for the monitoring data in the TS block, and simultaneously with zero contents for the
OEM cutting edge data in the TUE block - if one is present. The TD block contains the
identifier, duplo number and number of cutting edges (=1) for the T number that is entered
optionally or allocated by the NCK.
If a TU block exists, it will contain the data set for the tool. After execution of the PI, the T
number of the tool created is available in the TV block under TnumWZV.
Note
Before and after this PI service, the MMCSEM PI service must be called up with the
associated parameter WVar1 for this PI service. See PI service MMCSEM for more
information.
Parameterization
Signal Type Range of values Significance
PIService ANY PI.TMCRTO Create tool
Unit INT 1 - 10 TOA
WVar1 INT T number
WVar2 INT Duplo number
Addr1 STRING max. 32 characters Tool identifier
T number > 0 means a T number must be specified
T number = -1 means that the NCK should allocate a T number
The example shows T number = -1 ⇒ T number assigned by NCK
Basic Functions
1018 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
PI service: TMFDPL
Function: Empty location search for loading
(dependent on parameter assignment):
Location_number_to = -1, Magazine_number_to = -1:
Searches all magazines in the specified area (= channel) for an empty location for the tool
specified with a T number. After execution of the PI, the magazine and locations numbers
found during the search are listed in the configuration block of the channel (component
magCMCmdPar1 (magazine number) and magCMCmdPar2 (location number)).
Location_number_ID and magazine_number_ID can be set as search criteria or not (= -1).
The PI is acknowledged positively or negatively depending on the search result.
Location_number_to = -1, Magazine_number_to = Magazine_number:
An empty location for the tool specified with a T number is searched for in the specified
magazine. Location_number_ID and magazine_number_ID can be set as search criteria or
not (= -1). The PI is acknowledged positively or negatively depending on the search result.
Location_number_to = Location_number, Magazine_number_to = Magazine_number:
The specified location is checked, to confirm that it is free to be loaded with the specified
tool. Location_number_ID and magazine_number_ID can be set as search criteria or not
(= -1). The PI is acknowledged positively or negatively depending on the search result.
Command parameters 1 and 2 are located at source.
Loading: If source is an internal loading magazine, then the command parameters are
located at the target (a real magazine).
Unloading: Source is always a real magazine.
Note
Before and after this PI service, the MMCSEM PI service must be called up with the
associated parameter WVar1 for this PI service. See PI service MMCSEM for more
information.
Parameterization
Signal Type Range of values Significance
PIService ANY PI.TMFDPL Empty location
for loading
Unit INT 1 - 10 TOA
WVar1 INT T number
WVar2 INT Location_number
_to
WVar3 INT Magazine_number_to
WVar4 INT Location_number
_ID
WVar5 INT Magazine_number_ID
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1019
Basic PLC Program (P3)
Block descriptions
PI service: TMFPBP
Function: Empty location search
(dependent on parameter assignment):
For this see the description of FB 7: PI_SERV2 General PI services
PI service: TMGETT
Function: Determine T-number for the specified tool identifier with duplo number
Determining the T number for a specified tool identifier with duplo number. The PI-services
stores the T number determined for the tool as result in the variable TnumWZV in the block
TV. If the specified tool does not exist, then the T number "-0001" is returned. Since the PI-
service returns a result in the variable TnumWZV, the service is to be stored with the
semaphore mechanism (PI-service _N_MMCSEM) with the function number for
_N_TMGETT.
Note
Before and after this PI service, the MMCSEM PI service must be called up with the
associated parameter WVar1 for this PI service. See PI service MMCSEM for more
information.
Parameterization
Signal Type Range of values Significance
PIService ANY PI.TMGETT Determining the T
number
Unit INT 1 ... 10 TOA
Addr1 STRING max. 32 characters Name of the tool, for
which the T number is
searched
WVar2 INT Duplo number of the
tool, for which the T
number is searched
PI service: TMMVTL
Function: Prepare magazine location for loading, unload tool
This PI service is used both to load and unload tools. Whether the PI initiates a loading or
unloading operation depends on the assignment between the real locations and the "from"
parameters and "to" parameters: Loading ⇒ 'From' = Loading point/station, unloading ⇒ 'To'
= loading point/station
The TMMVTL PI service is used for all movements.
1. Loading and unloading (loading point ↔ magazine)
2. Loading and unloading (loading point ↔ buffer storage, e.g. spindle)
3. Relocation within a magazine
4. Relocation between different magazines
Basic Functions
1020 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Note
Before and after this PI service, the MMCSEM PI service must be called up with the
associated parameter WVar1 for this PI service. See PI service MMCSEM for more
information.
Parameterization
Signal Type Range of values Significance
PIService ANY PI.TMMVTL Make magazine
location ready for
loading, unload tool
Unit INT 1 ... 10 TOA
WVar1 INT T number
WVar2 INT Location_number_from
WVar3 INT Magazine_number_fro
m
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1021
Basic PLC Program (P3)
Block descriptions
Parameterization
Signal Type Range of values Significance
WVar4 INT Location_number_to
WVar5 INT Magazine_number_to
PI service: TMPOSM
Function: Position magazine location or tool
(dependent on parameter assignment):
A magazine location, which has either been specified directly or qualified via a tool located
on it, is traversed to a specified position (e.g. in front of a load location) via the PI service.
The PI service makes a magazine location, which can be qualified in various ways, traverse
in front of a specified load location. The load location must be specified in the PI parameters
"location number_from" and "magazine number_from" (compulsory!).
The magazine location to be traversed can be qualified by the following:
● T number of the tool
The location where the tool is positioned traverses;
the "tool identifier", "duplo number", "location number_from" and
"magazine number_from" parameters are irrelevant (i.e. values "" , "-0001", "-0001","-
0001").
or
● Tool identifier and duplo number
The location where the tool is positioned traverses;
the "T number", "location number_from" and "magazine number_from" parameters are
irrelevant (i.e. value "-0001" each).
or
● Direct specification of the location in the "location_number_from" and
"magazine_number_from" parameters
The tool-qualifying parameters T number, "tool identifier" and "duplo number" are
irrelevant (i.e. values "-0001", "", "-0001").
Parameterization
Signal Type Range of values Significance
PIService ANY PI.TMPOSM Position magazine
location or tool
Unit INT 1 ... 10 TOA
Addr1 STRING max. 32 characters Tool identifier
WVar1 INT T number
WVar2 INT Duplo number
WVar3 INT Location_number_from
WVar4 INT Magazine_number_fro
m
Basic Functions
1022 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Parameterization
Signal Type Range of values Significance
WVar5 INT Location number_ref
WVar6 INT Magazine number_ref
PI service: TMPCIT
Function: Set increment value for the workpiece counter
Incrementing the workpiece counter of the spindle tool
Parameterization
Signal Type Range of Significance
values
PIService ANY PI.TMPCIT Set increment value for workpiece counter
Unit INT 1 ... 10 TOA
WVar1 WORD 0 ... max. Spindle number; corresponds to the type index in the
location data with spindle location type of the buffer
magazine in channel.000 = main spindle
WVar2 WORD 0 ... max. Increment value; indicates the number of spindle
revolutions after which the workpiece counter is
incremented
PI service: TMRASS
Function: Reset the active status
Resetting the active status on worn tools
This PI service is used to search for all tools with the tool status active and disabled. The
active status is then canceled for these tools. Potentially appropriate times for this PI service
are the negative edge of VDI signal "tool disable ineffective", an end of program, or a
channel RESET. This PI service is intended mainly for the PLC, since it knows when the
disabled tool is finally no longer to be used.
Parameterization
Signal Type Range of Significance
values
PIService ANY PI. TMRASS Reset active status
Unit INT 1 ... 10 TO area
PI service: TRESMO
Function: Reset monitoring values
This PI service resets the monitoring values of the designated edges of the designated tools
to their setpoint (initial) values.
This only relates to tools with active monitoring.
Compare the NC-Speech Command RESETMON.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1023
Basic PLC Program (P3)
Block descriptions
Parameter assignment
Signal Type Value range Significance
PIService ANY PI. TRESMO Reset monitoring values
Unit INT 1 ... 10 TO area
WVar1 WORD - max ... max ToolNumber
0: Applies to all tools
> 0: Applies only to this tool
< 0: Applies to all sister tools of the specified T No.
WVar2 WORD 0 ... max. D number
< 0: Monitoring of specified edge of specified tools is
reset.
0: Monitoring of all edges of specified tools is reset.
WVar3 WORD 0 ...15 Monitoring types
Type of monitoring to be reset.
This parameter is binary-coded.
1: Tool-life monitoring is reset.
2: Count monitoring is reset.
4: Wear monitoring is reset.
8: Sum-offset monitoring is reset.
Combinations of monitoring types can be reset by
adding the values above.
0: All active tool-monitoring functions ($TC_TP9) are
reset.
PI service: TSEARC
Function: Complex search using search screen forms
(dependent on parameter assignment):
The PI service allows you to search for tools with specified properties within a search domain
(in one or more magazines starting and ending at a specific location). The specified
properties refer only to data of the tools and their cutting edges.
The PI service is only available if tool management is activated.
You can define a search direction and the number of hits for the PI service (e.g. one tool for
the next tool with matching properties or all tools with the specified properties).
As a result of this service, the user who made the call receives a list of the internal T
numbers of the tools found.
The search criteria can only be specified as AND operation. If an application needs to define
an OR operation for the search criteria, it must first execute a series of queries with AND
criteria and then combine/evaluate the results of the individual queries.
Basic Functions
1024 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
To assign the parameters of the PI service, the properties of the required tools are first
defined via variable service in the TF block. For this in the block TF in the operand masks
(parMaskT..) the relevant
● comparison criteria (which tool data is to be compared?) are highlighted,
● comparison operator-data (parDataT..) filled with the corresponding comparison types
(==, <, >, <=, >=, &&) to be executed
● and the comparison values are entered in the operand data.
The PI service is then initiated and, after its successful return, the variable service from the
TF block is used to read out the number of hits in the variable resultNrOfTools and the result
list in the variable resultToolNr (i.e. the list of internal T numbers of the tools found in the
search - resultNrOfTools quantity).
The PI service must be encapsulated with a semaphore from its preparation until the
successful return of the result. This is the only way to ensure exclusive access and the
exclusive use of the TF block in conjunction with the TSEARC PI service. The function
number provided for the semaphore feature (PI service MMCSEM) is the function number for
TSEARC.
If the service is configured incorrectly, a malfunction occurs. In all other cases, it will return a
result, even if no tools are found (resultNrOfTools = 0).
The search domain can be defined as follows in the parameters
"MagNrFrom", "PlaceNrFrom", "MagNrTo", "PlaceNrTo":
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1025
Basic PLC Program (P3)
Block descriptions
● the search area may stretch over only a single magazine (cases 2 and 5 from the above
table). If another search domain is specified, the service will malfunction.
● a reference location must be entered in the parameters "MagNrRef" and "PlaceNrRef",
with respect to which the symmetric search is done.
The reference location is a buffer location (a location from the magazine buffer, i.e. change
position, gripper, etc.) or a load point (a location from the internal loading magazine). The
search is executed symmetrically with reference to the magazine location in front of the
specified reference location. A multiple assignment to the magazine being searched must be
configured in the TPM block for the reference location. If this is not the case, a malfunction
occurs. If the magazine location in front of the reference location is outside the search
domain, the service responds as if it has not found a matching location.
Note
Before and after this PI service, the MMCSEM PI service must be called up with the
associated parameter WVar1 for this PI service. See PI service MMCSEM for more
information.
Parameter assignment
Signal Type Value range Significance
PIService ANY PI.TSEARC Complex search using search screen forms
Unit INT 1 - 10 TOA
WVar1 INT MagNrFrom Magazine number of magazine from which
search must begin
WVar2 INT PlaceNrFrom Location number of location in magazine
MagNrFrom, at which search must begin
WVar3 INT MagNrTo Magazine number of magazine at which search
must end
WVar4 INT PlaceNrTo Location number of location in magazine
MagNrTo, at which search must end
WVar5 INT MagNrRef Magazine number of (internal) magazine, with
reference to which the symmetrical search is to be
performed. (this parameter is only relevant with a
"symmetrical" search direction)
WVar6 INT PlaceNrRef Location number of location in magazine
MagNrRef, with reference to which the symmetrical search
is to be performed. This parameter is only relevant with a
"symmetrical" search direction
WVar7 INT 1, 2, 3 SearchDirection specifies the required search direction.
1: Forwards from the first location of the search domain
2: Backwards from the last location of the search
domain
3: symmetric to the real magazine location, which is
before the location specified with Magazin-
Number_ID and Location-Number_ID
WVar8 INT 0, 1, 2, 3 KindofSearch
0: Find all tool with this property cutting edge
specifically
Basic Functions
1026 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Parameter assignment
Signal Type Value range Significance
1: Search for the first tool found with this property
(cutting edge specifically)
2: Browse all cutting edges to find all tool with this
property
3: Browse all tools to search for the first tool found with
this property
Call example
Program selection in channel 1 (main program and workpiece program)
Entry of PI for DB 16 and STR for DB 124 with the S7 SYMBOL editor:
Parameterization
Symbol Operand Data type
PI DB 16 DB 16
STR DB 124 DB 124
DATA_BLOCK DB 124
struct
PName: string[32]:= '_N_TEST_MPF ';
Path: string[32]:= '/_N_MPF_DIR/'; //Main program
PName_WST: string[32]:= '_N_ABC_MPF';
Path_WST: string[32]:= //Workpiece program
'/_N_WCS_DIR/_N_ZYL_WPD';
end_struct
BEGIN
END_DATA_BLOCK
Function FC "PICall" : VOID
U I 7.7; //Unassigned machine control panel key
S M 0.0; //Activate req.
U M 1.1; //Done completed message
R M 0.0; //Terminate job
U I 7.6; //Manual error acknowledgment
U M 1.0; //Error pending
R M 0.0; //Terminate job
CALL FB 4, DB 126 (
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1027
Basic PLC Program (P3)
Block descriptions
Req := M0.0,
PIService := PI.SELECT,
Unit := 1, // CHAN 1
Addr1 := STR.Path,
Addr2 := STR.PName, //Main-program selection
//Addr1:=STR.Path_WST,
//Addr2:=STR.PName_WST, //Workpiece-program selection
Error := M1.0,
Done := M1.1,
State := MW2);
Function
The PLC user program can read a GUD variable (GUD = Global User Data) from the NCK or
channel area using the FB GETGUD.
The FB has multi-instance capability. The call is permitted only in cyclic program OB1. An
assignment for all parameters with Req = 0 is also permitted in OB 100. Capital letters must
be used for the names of GUD variables.
Every FB 5 call must be assigned a separate instance DB from the user area.
A job is started when FB 5 is called by means of a positive edge change at control input Req.
This job includes the name of the GUD variable to be read in parameter "Addr" with data
type "STRING". The pointer to the name of the GUD variables is assigned symbolically to
the "Addr" parameter with <DataBlockName>.<VariableName>. Additional information about
this variable is specified in parameters "Area", "Unit", "Index1" and "Index2" (see table of
block parameters).
When parameter "CnvtToken" is activated, a variable pointer (token) can be generated for
this GUD variable as an option. This pointer is generated via the NC-VAR selector for
system variables of the NC. Only this method of generating pointers is available for GUD
variables. Once a pointer has been generated for the GUD variable, then it is possible to
read and write via FB 2 and FB 3 (GET, PUT) with reference to this variable pointer. This is
the only method by which GUD variables can be read. When FB 2 or FB 3 is parameterized,
only parameter Addr1 ... Addr8 need to be parameterized for this GUD variable pointer. GUD
variable fields are an exception. In these fields Line1 to Line8 must also be parameterized
with the field device from these variables. The successful completion of the read process is
displayed by the status parameter "Done"=TRUE.
The read process extends over several PLC cycles (generally 1 to 2).
Basic Functions
1028 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Any errors are displayed via the output parameters "Error" and "State".
Note
In order to read a double variable from the NCK without adapting the format, an ANY pointer
of the REAL 2 type must be specified in the target area for read data (e.g. P#M100.0 REAL
2). If the basic program recognizes REAL 2 as the target type when reading a double
variable, the data is applied to the PLC data area as a 64-bit floating point number.
FB 5 can only write GUD variables if basic program parameter "NCKomm" has been set to
"TRUE" (in OB 100: FB 1, DB 7; see "FB 1: RUN_UP Basic program, start-up section
(Page 898)").
VAR_OUTPUT
Error : BOOL;
Done : BOOL;
State : WORD ;
END_VAR
VAR_IN_OUT
RD: ANY ;
END_VAR
BEGIN
END_FUNCTION_BLOCK
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1029
Basic PLC Program (P3)
Block descriptions
Error identifiers
If it was not possible to execute a job, the failure is indicated by "logic 1" on status parameter
error. The error cause is coded at the block output State:
Basic Functions
1030 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Configuration steps
To be able to read a GUD variable, its name must be stored in a string variable. The data
block with this string variable must be defined in the symbol table so that the "Addr"
parameter can be assigned symbolically for FB GETGUD. A structure variable can be
defined optionally in any data area of the PLC to receive the variable pointer (see
specification in following example).
Pulse diagram
5HT
'RQH
(UURU
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1031
Basic PLC Program (P3)
Block descriptions
Call example 1
Read a GUD variable from channel 1 with the name "GUDVAR1" (type definition of the
variables: INTEGER). The user-defined variable should be converted in a 10-byte variable
pointer for the subsequent writing with the F3 (see also the table "Assignment of the
datatypes" in "FB 2: Read GET NC variable (Page 898)").
Call and parameterization of FB 5 with instance DB 111:
STRUCT
GUDVar1 : STRING[32] := 'GUDVAR1'; //Name is defined by user
GUDVar1Token :
STRUCT
SYNTAX_ID : BYTE ;
area_and_unit : BYTE ;
column : WORD ;
line : WORD ;
block type : BYTE ;
NO. OF LINES : BYTE ;
type : BYTE ;
length : BYTE ;
END_STRUCT;
END_STRUCT;
BEGIN
END_DATA_BLOCK
FB 5
BEGIN
END_DATA_BLOCK
FB 3
BEGIN
END_DATA_BLOCK
Basic Functions
1032 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
CALL FB 5, DB 111 (
Req := M 100.0, //Starting edge for reading
Area := B#16#2, //Channel variable
Unit := B#16#1, //Channel 1
Index1 := 0, //No field index
Index2 := 0, //No field index
CnvtToken := TRUE, //Conversion into 10-byte token
VarToken := DB_GUDVAR.GUDVar1Token,
Error := M 102.0,
Done := M 100.1,
State := MW 104
RD := P#DB99.DBX0.0 DINT 1 // free memory area
);
After a successful FB-5 call the writing can be done via the returned address of the FB 5
parameter ("VarToken") with the help of FB3.
CALL FB 3, DB 112 (
Req := M 200.0,
NumVar := 1, //Write 1 GUD variable
Addr1 := DB_GUDVAR.GUDVar1Token,
Error := M 102.0,
Done := M 100.1,
State := MW 104
SD1 := P#DB99.DBX0.0 DINT 1);
Call example 2
Read a GUD variable from channel 1 with the name "GUD_STRING" (type definition of the
variables: STRING with length 30 bytes). The user-defined variable should be converted in a
10-byte variable pointer for subsequent writing with the FB 3.
Call and parameterization of FB 5 with instance DB 111:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1033
Basic PLC Program (P3)
Block descriptions
STRUCT
GUDVarS : STRING[32] := 'GUD_STRING'; //Name is defined by user
GUDVarSToken :
STRUCT
SYNTAX_ID : BYTE ;
area_and_unit : BYTE ;
column : WORD ;
line : WORD ;
block type : BYTE ;
NO. OF LINES : BYTE ;
type : BYTE ;
length : BYTE ;
END_STRUCT;
BEGIN
END_DATA_BLOCK
FB 5
BEGIN
END_DATA_BLOCK
FB 3
BEGIN
END_DATA_BLOCK
Basic Functions
1034 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
CALL FB 5, DB 111 (
Req := M 100.0, //Starting edge for reading
Addr := DB_GUDVAR.GUDVarS,
Area := B#16#2, //Channel variable
Unit := B#16#1, //Channel 1
Index1 := 0, //No field index
Index2 := 0, //No field index
CnvtToken := TRUE, //Conversion into 10-byte token
VarToken := DB_GUDVAR.GUDVar1Token,
Error := M 102.0,
Done := M 100.1,
State := MW 104
RD := DB_GUDVAR.string_of_GUD);
After a successful FB-5 call the writing can be done via the returned address of the FB 5
parameter ("VarToken") with the help of FB3.
CALL FB 3, DB 112 (
Req := M 200.0,
NumVar := 1, //Write 1 GUD variable
Addr1 := DB_GUDVAR.GUDVar1Token,
Error := M 102.0,
Done := M 100.1
State := MW 104
SD1 := DB_GUDVAR.new_name);
Function
A detailed description of the FB 7 is contained in the description of FB 4.
The FB is multi-instance-capable. The call is permitted only in cyclic program OB1.
An assignment for all parameters with Req = 0 is also permitted in OB 100.
The only difference to FB 4 is the number of WVar1 and subsequent parameters. These are
defined in FB 7 from WVar1 to WVar16 (FB 4 in the VAR_INPUT from WVar1 to WVar10).
All the other parameters are identical to FB 4.
This PI server can be used for all PI services that have been implemented with FB 4.
In addition, the PI services listed below can only be executed with FB 7.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1035
Basic PLC Program (P3)
Block descriptions
FUNCTION_BLOCK FB 7
Var_INPUT
Req : BOOL ;
PIService : ANY ;
Unit : INT ;
Addr1 : ANY ;
Addr2 : ANY ;
Addr3 : ANY ;
Addr4 : ANY ;
WVar1 : WORD ;
WVar2 : WORD ;
WVar3 : WORD ;
WVar4 : WORD ;
WVar5 : WORD ;
WVar6 : WORD ;
WVar7 : WORD ;
WVar8 : WORD ;
WVar9 : WORD ;
WVar10 : WORD ;
WVar11 : WORD ;
WVar12 : WORD ;
WVar13 : WORD ;
WVar14 : WORD ;
WVar15 : WORD ;
WVar16 : WORD ;
END_VAR
VAR_OUTPUT
Error : BOOL ;
Done : BOOL ;
State : WORD ;
END_VAR
Basic Functions
1036 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
PI service: TMFPBP
Function: Empty location search
(dependent on parameter assignment)
This service searches the magazine(s) named in the relevant parameters for an empty
location, which meets the specified criteria such as tool size and location type. The result of
the empty location search can be fetched from variables magCMCmdPar1 (magazine
number) and magCMCmdPar2 (location number) in block TMC when the service has
functioned correctly. As the PI service stores a result in variables magCMCmdPar1 and
magCMCmdPar2, the service must be protected by the semaphore mechanism (PI service
MMCSEM) with the function number for _N_TMFDPL in cases where several control units or
PLCs are operating on one NC. The search area can be predefined in the following way by
setting parameters "MagazineNumber_From", "LocationNumber_From",
"MagazineNumber_To", "LocationNumber_To":
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1037
Basic PLC Program (P3)
Block descriptions
Note
Before and after this PI service, the MMCSEM PI service must be called up with the
associated parameter WVar1 for this PI service. See PI service MMCSEM for more
information.
Parameterization
Signal Type Range of values Significance
PIService ANY PI.TMFPBP Empty location search
Unit INT 1 ... 10 TOA
WVar1 INT MagazinNumber_From
Magazine number of magazine, from which
search must begin
WVar2 INT LocationNumber_From:
Location number of location in magazine
MagazineNumber_From, at which search must
begin
WVar3 INT MagazineNumber_To:
Magazine number of magazine, at which
search must end
WVar4 INT LocationNumber_To:
Location number of location in magazine
MagazineNumber_To, at which search must
end
WVar5 INT MagazineNumber_Ref:
WVar6 INT LocationNumber_Ref:
WVar7 INT 0, 1 ... 7 Number of required half locations to left
WVar8 INT 0, 1 ... 7 Number of required half locations to right
Basic Functions
1038 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Parameterization
Signal Type Range of values Significance
WVar9 INT 0, 1 ... 7 Number of required half locations in upward
direction
WVar10 INT 0, 1 ... 7 Number of required half locations in downward
direction
WVar11 INT Number of required location type
WVar12 INT 0 ... 4 Specifies the required search direction
0: Empty location search strategy is set in
$TC_MAMP2
1: Upwards
2: Down
3: Symmetrical
Function
This block allows switchover between several control units (HMI operator panel fronts and/or
MCP machine control panels), which are connected to one or more NCU control modules via
a bus system.
References:
Function Manual, Extended Functions; Several Control Panels on Multiple NCUs,
Decentralized Systems (B3)
The Interface between the individual control units and the NCU (PLC) is the M : N interface
in the data block DB 19. The FB 9 works with the signals of these interfaces.
Apart from initialization, sign-of-life monitoring and error routines, the following basic
functions are also performed by the block for control unit switchover:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1039
Basic PLC Program (P3)
Block descriptions
MCP switchover
As an option, an MCP assigned to the HMI can be switched over at the same time. To
achieve this, the MCP address must be entered in the "mstt_adress" parameter of the
NETNAMES.INI configuration file on the HMI and "MCPEnable" must be set to TRUE. The
MCP of the passive HMI is deactivated so that there is only ever one active MCP on an NCU
at one time.
Boot condition
To prevent the previously selected MCP being reactivated when the NCU is restarted, input
parameters MCP1BusAdr = 255 (address of 1st MCP) and "MCP1STOP" =TRUE
(deactivate 1st MCP) must be set when FB1 is called in OB100.
Approvals
When one MCP is switched over to another, any active feed or axis enables will be retained.
Note
Keys actuated at the moment of switchover remain operative until the new MCP is activated
(by the HMI, which is subsequently activated). The override settings for feedrate and spindle
also remain valid. To deactivate actuated keys, the input image of the machine control
signals must be switched to non-actuated signal level on a falling edge of DB10.DBX104.0.
The override settings should remain unchanged. Measures for deactivating keys must be
implemented in the PLC user program (see example "Override Changeover").
The call is permitted only in cyclic program OB1.
Basic Functions
1040 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
FUNCTION_BLOCK FB 9
VAR_INPUT
Ack : BOOL ; //Acknowledge interrupts
OPMixedMode: BOOL:= FALSE; //Mixed operation with non-M-to-N-enabled
//OP deactivated
ActivEnable: BOOL:= TRUE; //Not supported
MCPEnable : BOOL:= TRUE; //Activate MCP switchover
END_VAR
VAR_OUTPUT
Alarm1 : BOOL ; //Interrupt: Error in HMI bus address, bus type!
Alarm2 : BOOL ; //Interrupt: No confirmation HMI 1 offline!
Alarm3 : BOOL ; //Interrupt: HMI 1 is not going offline!
Alarm4 : BOOL ; //Interrupt: No confirmation HMI 2 offline!
Alarm5 : BOOL ; //Interrupt: HMI 2 is not going offline!
Alarm6 : BOOL ; //Interrupt: Queuing HMI is not going online!
Report : BOOL ; //Message: Sign-of-life monitoring
ErrorMMC : BOOL ; //Error detection HMI
END_VAR
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1041
Basic PLC Program (P3)
Block descriptions
Note
The block must be called by the user program. The user must provide an instance DB with
any number for this purpose. The call is multi-instance-capable.
CALL FB 9, DB 109 (
Ack := Error_ack, //e.g. MCP RESET
OPMixedMode := FALSE,
ActivEnable := TRUE,
MCPEnable := TRUE); // Enable for MCP switchover
Note
Input parameter “MCPEnable” must be set to TRUE to enable the MCP switchover. The
default value of these parameters is set in this way and need not be specially assigned when
the function is called.
Interrupts, errors
The output parameters "Alarm1" to "Alarm6" and "Report" exist as information in the PLC
and are output in the event of M:N errors visualized on the HMI by the appearance of alarms
410900 - 410906.
If execution of an HMI function has failed (and an appropriate error message cannot be
displayed), status parameter "ErrorMMC" is set to 'logical 1' (e.g. booting error, when no
connection is made).
Basic Functions
1042 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
// Save override
L DB21.DBB 4; //Feed override interface
T EB 28; //Buffer storage (freely input
// or flag byte)
wei1:
U M 100.2; //Switchover takes place
O DB10.DBX 104.0; //MCP1Ready
JCN smth2;
U DB10.DBX 104.0; //MCP1Ready
FP M 100.1; //Edge trigger flag 2
JC smth2;
U M 100.2; //Switchover takes place
R M 100.2; //Reset auxiliary flag 1
JC smth2;
U M 100.3; //Comparison has taken place
SPB MCP; //Call MCP program
// Route the stored override to the interface of the switched MCP
// until the override values match
L EB 28; //Buffer storage open
T DB21.DBB 4; //Route override interface
L EB 3; //Override input byte for feed
<>i; //Match?
JC smth2; //No, jump
S M 100.3; //Yes, set auxiliary flag 2
// When override values match, call the MCP program again
MCP: CALL "MCP_IFM"( //FC 19
BAGNo := B#16#1,
ChanNo := B#16#1,
SpindleIFNo := B#16#0,
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1043
Basic PLC Program (P3)
Block descriptions
FeedHold := M 101.0,
SpindleHold := M 101.1);
wei2: NOP 0;
Function
The SPL block "Safety relay" for "Safety Integrated" is the PLC equivalent of the NC function
of the same name. The standard SPL "Safety relay" block is designed to support the
implementation of an emergency stop function with safe programmable logic. However, it
can also be used to implement other similar safety functions, e.g. control of a protective
door. The function contains 3 input parameters (In1, In2, In3). On switchover of one of these
parameters to the value 0, the output Out0 is deactivated without delay and outputs Out1,
Out2 and Out3 deactivated via the parameterized timer values (parameters TimeValue1,
TimeValue2, TimeValue3). The outputs are activated again without delay, if inputs In1 to In3
take the value 1 and a positive edge change is detected at one of the acknowledgement
inputs Ack1, Ack2. To bring the outputs to their basic setting (values = 0) after booting, the
parameter "FirstRun" must be configured as follows. The parameter "FirstRun" must be
switched to the value TRUE via a retentive data (memory bit, bit in data block) on the first
run after control booting. This data can be preset, e.g. in OB 100. The parameter is reset to
FALSE when FB 10 is executed for the first time. Separate data must be used for parameter
"FirstRun" for each call with its own instance.
The corresponding NCK-SPL-component is described in:
References:
Function Manual Safety Integrated
Basic Functions
1044 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
FUNCTION_BLOCK FB 10
VAR_INPUT
In1 : BOOL := TRUE; //Input 1
In2 : BOOL := TRUE; //Input 2
In3 : BOOL := TRUE; //Input 3
Ackn1 : : BOOL ; //Ack 1 signal
Ackn2 : :BOOL; //Ack 2 signal
TimeValue1 : TIME := T#0ms ; //TimeValue for output 1
TimeValue2 : TIME := T#0ms ; //TimeValue for output 2
TimeValue3 : TIME := T#0ms ; //TimeValue for output 3
END_VAR
VAR_OUTPUT
Out0 : BOOL ; //Output without delay
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1045
Basic PLC Program (P3)
Block descriptions
Note
The block must be called cyclically by the user program once following SPL program startup.
The user must provide an instance DB with any number for this purpose. The call is multi-
instance-capable.
Basic Functions
1046 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Function
The braking operation check should be used for all axes, which must be prevented from
moving in an uncontrolled manner by a holding brake. This check function is primarily
intended for the so-called "vertical axes".
The machine manufacturer can use his PLC user program to close the brake at a suitable
moment in time (guide value every 8 hours, similar to the SI test stop) and allow the drive to
produce an additional torque/additional force equivalent to the weight of the axis. In error-
free operation, the brake can produce the necessary braking torque/braking force and keep
the axis at a virtual standstill. When an error occurs, the actual position value exits the
parameterizable monitoring window. In this instance, the position controller prevents the axis
from sagging and negatively acknowledges the mechanical brake test.
The necessary parameterization of NC and Drive is described in:
References:
Function Manual Safety Integrated
The brake test must always be started when the axis is at a standstill. For the entire duration
of the brake test, the enable signals of the parameterized axis must be set to enable (e.g. the
controller inhibit, feed enable signals). Furthermore, the signal at the axis/spindle
DB31, ... .DBX28.7 (PLC-controlled axis) is to be set to status 1 by the user program for the
complete duration of the test.
Before activating the signal DB31, ... .DBX28.7 (PLC-controlled axis) the axis is to be
switched as "neutral axis", e.g. DB31, ... .DBX8.0 - 8.3 (assign NC axis to channel) is to be
set to channel 0 as well as DB31, ... .DBX8.4 (activation signal when using this byte) is to be
set.
The return message:
● about the current status can be queried in DB31, ... DBB68.
● the Nc via the signal DB31, ... .DBX63.1 (PLC controls axis) is to be awaited before the
block is started. The direction in which the drive must produce its torque/force is specified
by the PLC in the form of a "traversing motion" (e.g. via FC 18).
The axis must be able to reach the destination of this movement without risk of collision if the
brake is unable to produce the necessary torque/force.
Note
Instructions for FC 18
If FC18 is called for the same axis in the remainder of the user program, the calls must be
mutually interlocked. For example, this can be achieved via a common call of this function
with an interlocked common data interface for the FC 18 parameters. A second option is to
call the FC18 repeatedly, in which case the inactive FC18 will not be processed by the
program. A multiple-use interlock must be provided.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1047
Basic PLC Program (P3)
Block descriptions
Function_BLOCK FB 11
VAR_INPUT
Start : BOOL ; //Start of brake test
Ackn : BOOL ; //Acknowledge error
Bclosed : BOOL ; //Brake closed input (single channel - PLC)
Axis : INT; //Testing axis no.
TimerNo : TIMER ; //Timer from user
TV_BTactiv : S5TIME ; //TimeValue -> brake test active
TV_Bclose : S5TIM; //TimeValue -> close brake
TV_FeedCommand : S5TIME ; //TimeValue -> force FeedCommand
TV_FXSreached : S5TIME ; //TimeValue -> fixed stop reached
TV_FXShold : S5TIME ; //TimeValue -> test brake
END_VAR
VAR_OUTPUT
CloseBrake : BOOL ; //Signal close brake
MoveAxis : BOOL ; //Do move axis
Done : BOOL ;
Error : BOOL ;
State : BYTE ; //Error byte
END_VAR
Basic Functions
1048 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Fault IDs
State Significance
0 No error
1 Start conditions not fulfilled, e.g. the axis is not in closed-loop control/brake closed/axis
inhibited
2 No NC checkback in "Brake test active" signal on selection of brake test
3 No "Brake applied" checkback by input signal Bclosed
4 No travel command output (e.g. axis motion has not been started)
5 Fixed end stop will not be reached → axis RESET was initiated.
6 Traversing inhibit/Approach too slow → fixed stop cannot be reached. TV FXSreached
monitoring timeout
7 Brake is not holding at all (the end position is reached)/approach speed is too high
8 Brake opens during the holding time
9 Error when deselecting the brake test
10 Internal error
11 "PLC-controlled axis" signal not enabled in the user program
Note
The block must be called by the user program. The user must provide an instance DB with
any number for this purpose. The call is multi-instance-capable.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1049
Basic PLC Program (P3)
Block descriptions
Basic Functions
1050 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
U M 111.2; //Moveaxis
FP M 111.5; //FC18 Start
S M 111.7; //Start FC18
//optional begin
JCN m002:
L MB 115; //old channel status
OW W#16#10;
T DBB 8; //Request channel axis
m002: NOP 0;
//optional end
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1051
Basic PLC Program (P3)
Block descriptions
Function
Signal recorder
The diagnostics FB allows various diagnostic routines to be performed on the PLC user
program. A diagnostic routine logs signal states and signal changes. In this diagnostic
routine, function number 1 is assigned to the "Func" parameter. Up to 8 signals of the
parameters "Signal_1" to "Signal_8" are recorded in a ring buffer each time one of the
signals changes. The current information of parameters "Var1" as BYTE value, and "Var2"
and "Var3" as INTEGER values are also stored in the ring buffer.
The number of past OB 1 cycles is also stored in the buffer as additional information. This
information enables the graphical evaluation of signals and values in OB 1 cycle grid. The
first time the diagnostics FB is called in a new PLC cycle, the "NewCycle" parameter must be
set to TRUE. If the diagnostics FB is called several times in the same OB 1 cycle, the
"NewCycle" parameter must be set to FALSE for the second and subsequent calls. This
prevents a new number of OB 1 cycles from being calculated.
The ring buffer, specified by the user, must have an ARRAY structure specified as in the
source code. The array can have any number of elements. A size of 250 elements is
recommended. The "ClearBuf" parameter is used to clear the ring buffer and set the BufAddr
pointer (I/O parameter) to the start. The instance DB related to the FB is a DB from the user
area and is to be transferred to the FB Diagnostics with the parameter "BufDB".
Data trigger
The data trigger function is intended to allow triggering on specific values (or bits) at any
permissible memory cell. The cell to be triggered is "rounded" with a bit mask ("AndMask"
parameter) before the "TestVal" parameter is compared in the diagnostic block.
Basic Functions
1052 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Note
The source code for the function is available in the source container of the basic-program
library under the name "Diagnose.awl". The instance DB and the ring buffer DB are also
defined in this source block. The function call is also described in the function. The DB
numbers and the call must be modified.
FUNCTION_BLOCK FB 29
VAR_INPUT
Func : INT ; //Function number: 0 = No function,
//1 = Signal recorder, 2 = Data trigger
Signal_1 : BOOL ; //Start of brake test
Signal_2 : BOOL ;
Signal_3 : BOOL ;
Signal_4 : BOOL ;
Signal_5 : BOOL ;
Signal_6 : BOOL ;
Signal_7 : BOOL ;
Signal_8 : BOOL ;
NewCycle : BOOL ;
Var1 : BYTE ;
Var2 : INT;
Var3 : INT;
BufDB : INT;
ClearBuf : BOOL ;
DataAdr : POINTER; //Area pointer to testing word
TestVal : WORD ; //Value for triggering
AndMask : WORD ; //AND mask to the testing word
END_VAR
VAR_OUTPUT
TestIsTrue : BOOL ;
END_VAR
VAR_IN_OUT
BufAddr : INT;
END_VAR
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1053
Basic PLC Program (P3)
Block descriptions
TITLE =
//Ring buffer DB for FB 29
VERSION : 1.0
STRUCT
Field: ARRAY [0 .. 249 ] OF STRUCT //can be any size of this struct
Basic Functions
1054 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Configuration steps
● Select function of diagnostics block.
● Define suitable data for the recording as signal recorder or data triggering.
● Find a suitable point or points in the user program for calling the diagnostics FB.
● Create a data block for the ring buffer, see call example.
● Call the diagnostics FB with parameters in the user program.
In function 1, it is advisable to clear the ring buffer with the "ClearBuf" parameter. When the
recording phase with function 1 is completed, read out the ring buffer DB in STEP7 with the
function "opening the data block in the data view". The content of the ring buffer DB can now
be analyzed.
Call example
BEGIN
NETWORK
TITLE = NETWORK
CALL FB 29, DB 80 (
Func := 1,
Signal_1 :=M 100.0,
Signal_2 :=M 100.1,
Signal_3 :=M 100.2,
Signal_4 :=M 100.3,
Signal_5 :=M 10.4,
Signal_6 :=M 100.5,
Signal_7 :=M 100.6,
Signal_8 :=M 100.7,
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1055
Basic PLC Program (P3)
Block descriptions
NewCycle := TRUE,
Var1 := MB 100,
BufDB := 81,
ClearBuf :=M 50.0);
END_FUNCTION
Function
The complete processing of the NCK-PLC interface is carried out in cyclic mode. In order to
minimize the execution time of the basic program, only the control/status signals are
transmitted cyclically; transfer of the auxiliary functions and G functions only takes place
when requested by the NCK.
Declaration
FUNCTION FC 2: VOID
// no parameters
Call example
As far as the time is concerned, the basic program must be executed before the user
program. It is, therefore, called first in OB 1.
The following example contains the standard declarations for OB 1 and the calls for the basic
program (FC2), the transfer of the MCP signals (FC19), and the acquisition of error and
operating messages (FC10).
ORGANIZATION_BLOCK OB 1
VAR_TEMP
OB1_EV_CLASS : BYTE ;
OB1_SCAN_1 : BYTE ;
OB1_PRIORITY : BYTE ;
OB1_OB_NUMBR : BYTE ;
OB1_RESERVED_1 : BYTE ;
OB1_RESERVED_2 : BYTE ;
OB1_PREV_CYCLE : INT;
OB1_MIN_CYCLE : INT;
OB1_MAX_CYCLE : INT;
OB1_DATE_TIME : DATE_AND_TIME;
END_VAR
BEGIN
CALL FC 2; //Call basic program as first FC
Basic Functions
1056 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Function
Block-synchronized transfers from the NCK to the PLC (auxiliary and G functions) are
carried out in the interrupt-driven part of the basic program. Auxiliary functions are
subdivided into normal and high-speed auxiliary functions.
The high-speed functions of an NC block are buffered and the transfer acknowledged to the
NC. These are passed to the application interface at the start of the next OB1 cycle.
High-speed auxiliary functions programmed immediately one after the other, are not lost for
the user program. This is ensured by a mechanism in the basic program.
Normal auxiliary functions are acknowledged to the NC only after one completed cycle
duration. This allows the application to issue a read disable to the NC.
The G Functions are evaluated immediately and passed to the application interface.
NC process interrupts
If the interrupt is triggered by the NC (possible in each IPO cycle), a bit in the local data of
OB 40 ("GP_IRFromNCK") is set by the basic program, when the FB 1 parameter "UserIR":
= TRUE"). This data is not set on other events (process interrupts through I/Os). This
information makes it possible to branch into the associated interrupt routine in the user
program in order to initiate the necessary action.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1057
Basic PLC Program (P3)
Block descriptions
To be able to implement high-speed, job-driven processing of the user program for the
machine, the following NC functions are available in the interrupt processing routine (OB 40
program section) for the PLC user program:
● Selected auxiliary functions
● Tool-change function for tool-management option
● Position reached for positioning axes, indexing axes and spindles with activation via PLC
The functions listed above can or must be evaluated by the user program in OB 40 in order
to initiate reactions on the machine. As an example, the revolver switching mechanism can
be activated when a T command is programmed on a turning machine.
For further details on programming hardware interrupts (time delay, interruptibility, etc.) refer
to the corresponding SIMATIC documentation.
Auxiliary functions
Generally, high-speed or acknowledging auxiliary functions are processed with or without
interrupt control independently of any assignment.
Basic-program parameters in FB 1 can be set to define which auxiliary functions (T, H, DL)
must be processed solely on an interrupt-driven basis by the user program.
Functions which are not assigned via interrupts are only made available by the cyclic basic
program as in earlier versions. The change signals of these functions are available in a PLC
cycle.
Even if the selection for the auxiliary function groups (T, H, DL) is made using interrupt
control, only one interrupt can be processed by the user program for the selected functions.
A bit is set channel-specifically in the local data "GP_AuxFunction" for the user program (if
"GP_AuxFunction[1]" is set, then an auxiliary function is available for the 1st channel).
In the related channel-DB the change signal and the function value are available for the user.
Das Änderungssignal dieser interrupt driven function is reset to zero in the cyclic basic
program section after the execution of at least one full OB1 cycle (max. approx. two OB1
cycles).
Tool change
With the tool-management option, the tool-change command for revolver and the tool
change in the spindle is supported by an interrupt. The local data bit "GP_TM" in OB 40 is
set for this purpose. The PLC user program can thus check the tool management DB (DB 72
or DB 73) for the tool change function and initiate the tool change operation.
Position reached
In the bit structure, "GP_InPosition" of the local data of OB 40 is specific to the machine axis
(each bit corresponds to an axis/spindle, e.g. GP_InPosition[5] corresponds to axis 5).
If a function has been activated via FC 18 (spindle control, positioning axis, indexing axis) for
an axis or spindle, the associated "GP_InPosition" bit can be used to implement
instantaneous evaluation of the "InPos" signal of the FCs listed above. This feature can be
used, for example, to obtain immediate activation of clamps for an indexing axis.
Basic Functions
1058 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Declaration
FUNCTION FC 3 : VOID
// no parameters
Call example
As far as the time is concerned, the basic program must be executed before other interrupt-
driven user programs. It is, therefore, called first in OB 40.
The following example contains the standard declarations for OB 40 and the call for the
basic program.
ORGANIZATION_BLOCK OB 40
VAR_TEMP
OB40_EV_CLASS : BYTE ;
OB40_STRT_INF : BYTE ;
OB40_PRIORITY : BYTE ;
OB40_OB_NUMBR : BYTE ;
OB40_RESERVED_1 : BYTE ;
OB40_MDL_ID : BYTE ;
OB40_MDL_ADDR : INT;
OB40_POINT_ADDR : DWORD;
OB40_DATE_TIME : DATE_AND_TIME;
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1059
Basic PLC Program (P3)
Block descriptions
Function
Module defects and module failures are detected in this section of the basic program.
The FC5 block parameter can be used to define whether the PLC is to be placed in Stop
mode. The PLC is placed in STOP mode only for incoming events. Exceptions of the
parameter "PLC-Stop" are the Profibus-MCPs parameterized at FB 1 (must be connected to
the DP1 Bus).
Declaration
FUNCTION FC 5: VOID
VAR_INPUT
PlcStop: BOOL:= TRUE;
END_VAR
Call example
As far as timing is concerned, the basic program can be executed after other user programs.
This is advisable since the FC5 circuitry will place the PLC in Stop mode.
This example contains the standard declarations for OB 82 and OB 86 and the call of the
basic program block.
ORGANIZATION_BLOCK OB 82
VAR_TEMP
OB82_EV_CLASS : BYTE ;
OB82_FLT_ID : BYTE ;
OB82_PRIORITY : BYTE ;
OB82_OB_NUMBR : BYTE ;
OB82_RESERVED_1 : BYTE ;
OB82_IO_FLAG : BYTE ;
OB82_MDL_ADDR : INT ;
OB82_MDL_DEFECT : BOOL ;
OB82_INT_FAULT : BOOL ;
OB82_EXT_FAULT : BOOL ;
OB82_PNT_INFO : BOOL ;
OB82_EXT_VOLTAGE : BOOL ;
OB82_FLD_CONNCTR : BOOL ;
OB82_NO_CONFIG : BOOL ;
OB82_CONFIG_ERR : BOOL ;
OB82_MDL_TYPE : BYTE ;
OB82_SUB_NDL_ERR : BOOL ;
OB82_COMM_FAULT : BOOL ;
OB82_MDL_STOP : BOOL ;
OB82_WTCH_DOG_FLT : BOOL ;
OB82_INT_PS_FLT : BOOL ;
OB82_PRIM_BATT_FLT : BOOL ;
Basic Functions
1060 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
OB82_BCKUP_BATT_FLT : BOOL ;
OB82_RESERVED_2 : BOOL ;
OB82_RACK_FLT : BOOL ;
OB82_PROC_FLT : BOOL ;
OB82_EPROM_FLT : BOOL ;
OB82_RAM_FLT : BOOL ;
OB82_ADU_FLT : BOOL ;
OB82_FUSE_FLT : BOOL ;
OB82_HW_INTR_FLT : BOOL ;
OB82_RESERVED_3 : BOOL ;
OB82_DATE_TIME : DATE_AND_TIME;
END_VAR
BEGIN
CALL FC 5
(PlcStop := FALSE) ;
END_ORGANIZATION_BLOCK
ORGANIZATION_BLOCK OB 86
VAR_TEMP
OB86_EV_CLASS : BYTE ;
OB86_FLT_ID : BYTE ;
OB86_PRIORITY : BYTE ;
OB86_OB_NUMBR : BYTE ;
OB86_RESERVED_1 : BYTE ;
OB86_RESERVED_2 : BYTE ;
OB86_MDL_ADDR : WORD ;
OB86_RACKS_FLTD : ARRAY [0 .. 31]OF BOOL;
OB86_DATE_TIME : DATE_AND_TIME;
END_VAR
BEGIN
CALL FC 5
(PlcStop := TRUE) ;
END_ORGANIZATION_BLOCK
Function
After a revolver has been changed, the user will call this block FC TM_REV. The revolver
number (corresponding to interface number in DB 73) must be specified in parameter
"ChgdRevNo" for this purpose. As this block is called, the associated "Interface active" bit in
data block DB 73, word 0 of FC 7 is reset after parameter "Ready" := TRUE is returned.
Block FC TM_REV may be started (with "Start" parameter = "TRUE") only if an activation
signal for the appropriate interface (DB 73, word 0) for this transfer has been supplied by the
tool management function.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1061
Basic PLC Program (P3)
Block descriptions
When this job is executed correctly, the output parameter "Ready" contains the value TRUE.
The user must then set the"Start" parameter to FALSE or not call the block again.
If the "Ready" parameter is set to FALSE, the error code in the"Error" parameter must be
interpreted.
If the error code = 0, then this job must be repeated in the next PLC cycle (e.g. "Start"
remains set to "TRUE"). This means that the transfer job has not yet been completed (see
example FC 7 call and timing diagram).
The "Start" parameter does not need a signal edge for a subsequent job.
WARNING
A cancellation of a transfer (e.g. through an external signal RESET) is not permitted. The
"Start" parameter must always retain the 1 signal until the "Ready" and/or "Error"
parameters <> 0.
Note
For further details on tool management (also with regard to PLC) refer to the Function
Manual Tool Management. In addition, PI services for tool management via FB 4, FC 8 and
FC 22 are available.
TaskIdent = 4
TaskIdentNo = channel
NewToolMag = Magazine number of the revolver
NewToolLoc = Original location of the tool
OldToolMag = Magazine no. buffer storage (spindle) = 9998
OldToolLoc = Buffer storage number of the spindle
Status = 1
This action also causes the same T command to be resent to the tool-management interface
if the previous T is programmed again.
Basic Functions
1062 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
FUNCTION FC 7 : VOID
//NAME :TM_REV
VAR_INPUT
Start: BOOL ;
ChgdRevNo: BYTE ;
END_VAR
VAR_OUTPUT
Ready: BOOL ;
Error : INT;
END_VAR
BEGIN
END_FUNCTION
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1063
Basic PLC Program (P3)
Block descriptions
Pulse diagram
6WDUW
5HDG\
(UURU !
Call example
Basic Functions
1064 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Function
The user calls this block FC TM-TRANS when the position of the tool or the status of the
transfer operation changes. The parameter "TaskIdent" specifies the transfer job for the
block FC 8 at the tool management interface:
● For loading/unloading positions,
● For spindle change positions,
● For revolver change positions as transfer identifier
● Asynchronous transfer
● Asynchronous transfer with location reservation
The interface number is indicated in parameter "TaskIdentNo".
Example for loading point 5:
Parameter "TaskIdent":= 1 and "TaskIdentNo":= 5.
Furthermore, the current tool positions and status data (list of "Status" parameter in the
following text) are also transmitted for this transfer function.
Note
FC8 informs the NCK of the current positions of the old tool.
The NCK knows where the old and the new tool have been located until the position change.
In the case of a transfer without a so-called "old tool" (e.g. on loading), the value 0 is
assigned to parameters "OldToolMag", "OldToolLoc".
Block FC TM_TRANS may be started only with "Start" parameter = "TRUE" if an activation
signal for the appropriate interface (DB 71, DB 72, DB 73 in word 0) for this transfer has
been supplied by the tool management function.
When this job is executed correctly, the output parameter "Ready" contains the value TRUE.
The user must then set the"Start" parameter to FALSE or not call the block again.
If the "Ready" parameter = FALSE, the error code in the "Error" parameter must be
interpreted (see Call example FC 8 and timing diagram).
If the error code = 0, then this job must be repeated in the next PLC cycle (e.g. "Start"
remains set to "TRUE"). This means that the transfer operation has not yet been completed.
If the user assigns a value of less than 100 to the Parameter "Status", then the associated
interface in data block DB 71 or DB 72 or DB 73, word 0 is deactivated (process completed).
The appropriate bit for the interface is set to 0 by FC 8.
The "Start" parameter does not need a signal edge for a subsequent job. This means that
new parameters can be assigned with "Start = TRUE" immediately when "Ready = TRUE" is
received.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1065
Basic PLC Program (P3)
Block descriptions
Asynchronous transfer
To ensure that changes in the position of a tool are automatically signaled from PLC to tool
management (e.g. power failure during an active command or independent changes in the
position by the PLC), block FC 8 TM_TRANS with "TaskIdent": = 4 or 5 is called. This call
does not require interface activation by tool management.
If parameter "TaskIdent" = 5 the tool management reserves the location in addition to
changing the position. The location is only reserved if the tool has been transported from a
real magazine to a buffer storage.
A relevant NC channel must be parameterized in the "TaskIdentNo" parameter.
The previous position of the tool is specified in parameters "OldToolMag", "OldToolLoc"; the
current position of the tool is specified in parameters "NewToolMag", "NewToolLoc". Status =
1 must be specified.
With status 5, the specified tool remains at location "OldToolMag", "OldToolLoc". This
location must be a buffer (e.g. spindle). The real magazine and location must be specified in
the parameters "NewToolMag", "NewToolLoc"; the location is at the position of the buffer.
This procedure must always be used if the tool management is to be informed of the position
of a specific magazine location. This procedure is used for alignment in search strategies.
Note
A cancellation of a transfer (e.g. through an external signal RESET) is not permitted. The
"Start" parameter must always retain the 1 signal until the "Ready" and/or "Error" parameters
<> 0.
Note
For further details on tool management (also with regard to PLC) refer to the Function
Manual Tool Management. In addition, PI services for tool management via FB 4, FC 7 and
FC 22 are available.
Basic Functions
1066 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
FUNCTION FC 8 : VOID
//NAME :TM_TRANS
VAR_INPUT
Start: BOOL ;
TaskIdent: BYTE ;
TaskIdentNo: BYTE ;
NewToolMag: INT;
NewToolLoc: INT;
OldToolMag: INT;
OldToolLoc: INT;
Status: INT;
END_VAR
VAR_OUTPUT
Ready BOOL ;
Error : INT;
END_VAR
BEGIN
END_FUNCTION
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1067
Basic PLC Program (P3)
Block descriptions
Timing diagram
6WDUW
5HDG\
(UURU !
Basic Functions
1068 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Status list
Status = 1:
The WZV operation is completed (loading/unloading/reloading, prepare change, change).
The parameters "NewToolMag", "NewToolLoc", "OldToolMag", "OldToolLoc" of the FC 8
block are to be parameterized to the actual positions of the tools involved. Except in the case
of preparing change these are normally the specified target position of the tools of the
associated WZV interface, see also "Explanations of the formal parameters".
1. In the case of loading/unloading/reloading, the tool has arrived at the required target
address. If the bit in the interface in DB 71.DBX (n+0).3 "position at loading point" is
enabled, status 1 cannot be used for the function termination. Status 5 must be used for
correct termination.
2. In the case of "Prepare change", the new tool is now available. The tool may, for
example, be positioned in a buffer (gripper). In some cases, the target (magazine,
location) of the old tool has been moved to the tool-change position after placement of
the new tool in a buffer. However, the old tool still remains in the spindle. The
preparations for a tool change are thus complete. After this acknowledgment, the
"Change" command can be received. The positions in parameters "NewToolMag",
"NewToolLoc", "OldToolMag" and "OldToolLoc" correspond to the current tool positions.
3. In the case of "Change" (spindle or revolver), the tools addressed in the interface have
now reached the required target addresses.
The tool-change operation is thus completed.
Status = 2: The "new" tool cannot be made available.
This status is only admissible in conjunction with the "Prepare Change" command. When this
status is applied, the PLC must be prevented from making a change with the proposed tool.
The proposed (new) tool is disabled by the tool management function in the NCK. A new
command is then output by the tool management with a duplo tool. The positions in
parameters "NewToolMag", "NewToolLoc", "OldToolMag", and "OldToolLoc" correspond to
the original tool positions.
Status = 3: An error occurred.
The tool positions must not have been changed. Any changes to the magazine positions
which have taken place in the meantime must be notified beforehand, for example, with
status = 105 via FC 8 transfer block Only then will the tool positions be taken into account by
the tool management function.
Status = 4: It would be better to position the "old" tool in the magazine position specified in
parameters "OldToolMag" and "OldToolLoc".
This status is permissible only in conjunction with preparation for tool change (change into
spindle). After this status has been transferred to the tool management in the NCK, the tool
management tries to consider the specified magazine position in the next command. But this
is done only when this position is free. Parameters "NewToolMag" and "NewToolLoc" are not
taken into account.
Status = 5: The operation is complete.
The "new" tool is in the position specified in parameters "NewToolMag", "NewToolLoc".
In this case, the specified tool is not really in this position, but is still in the same magazine
location. However, this magazine location has been moved to the position set in the
parameters (e.g. tool change position). This status may be used only for revolvers, chain-
type magazines and disk magazines. Status 5 enables the tool management function to
adjust the current position of a magazine and to improve the search strategy for subsequent
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1069
Basic PLC Program (P3)
Block descriptions
commands. This status is permissible only in conjunction with loading, unloading, and
reloading operations and with preparations for a tool change.
The "OldToolMag" and "OldToolLoc" parameters must be parameterized with the data of a
buffer.
● Loading, reloading:
On loading or reloading, a location for the tool is already reserved in the NCK.
The machine operator must then insert the tool at the target location. Note: The location
reservation is canceled when the control system is switched on again.
● Tool-change preparation:
Tool motions still to be executed are not carried out until after the tool has been changed.
● Positioning to load point:
If the bit in the interface in DB 71.DBX (n+0).3 "position at loading point" is enabled,
status 1 cannot be used for the function termination.
Status = 6: The WZV job has been completed.
This status has the same function as status 1, but, in addition, a reservation of the source
location is carried out. This status is only permitted when reloading. The command is ended
and the source location of the tool is reserved if the target location is in a buffer magazine.
Status = 7: Initiate repetition of the command "Prepare Tool".
This status is only admissible in conjunction with the "Change tool" command. This status is
intended for use when the "new" tool has changed its position (e.g. via an asynchronous
command of the "new" tool). After "Ready = 1" has been provided by FC 8, the "Prepare
Change" command is repeated automatically with the same tool. For the automatic
repetition, a new tool search is carried out. The positions in parameters "NewToolMag",
"NewToolLoc", "OldToolMag", and "OldToolLoc" correspond to the original tool positions.
Status = 103: The "new" tool can be inserted.
This status is permitted only in the tool change preparation, when the PLC may reject the
new tool (e.g. in case of MD20310 $MC_TOOL_MANAGEMENT_MASK, bit 4=1 for the
possibility, request changed parameter from PLC once again). The tool positions have
remained unchanged. This status is thus necessary, when the processing is to be continued
in the NCK without an unnecessary stop.
References:
Function Manual Tool Management
Status = 104: The "new" tool is in the position specified in parameters "NewToolMag",
"NewToolLoc".
This status is only permissible if the tool is still in the magazine in the same location. The
"old" tool is in the position (buffer) specified in parameters "OldToolMag", "OldToolLoc". In
this case, however, the new tool is not really in this position, but is still in the same magazine
location. However, this magazine location has been moved to the position set in the
parameters (e.g. tool change position). This status may be used only in conjunction with
revolvers, chain-type magazines and disk magazines for the "Tool change preparation"
phase. Status enables the tool management to adjust the current position of a magazine and
to improve the search strategy for subsequent commands.
Basic Functions
1070 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Status = 105: The specified buffer has been reached by all tools involved
(standard case if the operation has not yet been completed).
The tools are in the specified tool positions (parameters "NewToolMag", "NewToolLoc",
"OldToolMag", "OldToolLoc").
Status definition
A general rule for the acknowledgment status is that the state information 1 to 7 leads to the
termination of the command. If FC 8 receives one of the statuses, the "Interface active bit" of
the interface specified in FC 8 is reset to "0" (see also interface lists DB 71 to DB 73), thus
completing the operation. The response if different in the case of status information 103 to
105. When the FC 8 receives one of these items of status information, the “Interface active
bit” of this interface remains at “1”. Further processing is required by the user program in the
PLC (e.g. continuation of magazine positioning). This item of status information is generally
used to transfer changes in position of one or both tools while the operation is still in
progress.
Call example
error: //Troubleshooting
r m 20.5: //Reset start
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1071
Basic PLC Program (P3)
Block descriptions
Function
The FC ASUB can be used to trigger any functions in the NC. Before an ASUB can be
started from the PLC, it must have been selected and parameterized by an NC program or
by FB 4 (PI service ASUB). The channel and the interrupt numbers for the parameters in FC
9 must match here.
Once prepared in this way, it can be started at any time from the PLC. The NC program
running on the channel in question is interrupted by the asynchronous subprogram. Only one
ASUB can be started in the same channel at a time. If the start parameter is set to logical 1
for two FC 9s within one PLC cycle, the ASUBs are started in the sequence in which they
are called.
The start parameter must be set to logic 0 by the user once the ASUB has been terminated
(Done) or if an error has occurred.
For the purpose of job processing, every FC ASUB requires its own WORD parameter "Ref"
from the global user memory area. This parameter is for internal use only and must not be
changed by the user. The parameter "Ref" is initialized with the value 0 in the first OB 1 cycle
and, for this reason, every FC 9 must be called absolutely. Alternatively, the user can
initialize parameter "Ref" with a value of 0 during startup. This option makes conditional calls
possible. When a conditional call is activated by parameter "Start" = 1, it must remain active
until parameter "Done" has made the transition from 1 to 0.
Note
The FB 4 call must be terminated before the FC 9 can be started. FC 9 cannot be started if
"Emergency off" is set. Neither can FC 9 be started if the channel reset is active.
FUNCTION FC 9 : VOID
//NAME :ASUP
VAR_INPUT
Start: BOOL ;
ChanNo: INT;
IntNo: INT;
END_VAR
VAR_OUTPUT
Active: BOOL ;
Done : BOOL ;
Error : BOOL ;
StartErr: BOOL ;
END_VAR
VAR_IN_OUT
Ref: WORD ;
END_VAR
Basic Functions
1072 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Timing diagram
6WDUW
$FWLY
'RQH
(UURU
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1073
Basic PLC Program (P3)
Block descriptions
Call example
Function
FC AL_MSG evaluates the signals entered in DB 2 and displays them as incoming and
outgoing error and operational messages on the HMI.
The incoming signals (positive edge) are displayed immediately in the case of both error and
operational messages.
Outgoing signals (negative edge) are only canceled immediately in the case of operating
messages. Error messages remain stored on the HMI - even if the signals no longer exist -
until the "acknowledge" parameter is issued, WCS.e. until the user acknowledges the
messages.
The "ToUserIF" parameter can be used to transfer the group signals for the feed, read and
NC start disabling signals and feed stop signal to the existing axis, spindle and channel
interfaces. The group signals are transferred to the user interface directly from the status
information in DB 2 irrespective of an interrupt acknowledgment.
1. If parameter "ToUserIF": is set to FALSE, signals are not transferred to the user interface.
In this case, the user must take measures in his PLC program to ensure that these
signals are influenced in the interface.
2. If parameter "ToUserIF": is set to TRUE, all signals listed above are sent to the user
interface as a group signal in each case. The user PLC program can, therefore, influence
these signals only via DB 2 in connection with a message or interrupt output. The
appropriate information is overwritten in the user interface.
As an alternative to the procedure described under paragraph 2, the user can influence the
disable and stop signals without a message output by applying a disable or stop signal state
to the interface signals after FC AL_MSG has been called.
Basic Functions
1074 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
CALL FC 10 (
ToUserIF := TRUE,
Ack := I 6.1);
FB 1-Parameter "ExtendAlMsg"
With the activation of the parameter a new structuring of the DB 2 becomes effective (see
"Interface PLC/HMI (Page 898)"). Upon activation the bit fields are available to the user for
the disable and halt signals, which do not generate any alarms, messages. As a result, the
user need not implement the aforesaid measures. The desired functionality is given
automatically by a simple setting, resetting of signals in the new DB 2 areas.
The error and the operating messages are stored by the user in data block DB 2 (see
description of DB 2 in the lists of interface signals).
Note
In DB 2, a "1" signal must be present for several OB1 cycles to ensure that a message can
also be displayed on the HMI. There is an upper limit for the number of interrupts and
messages that can be pending at the same time. This upper limit is dependent on the PLC
CPU. On PLC 317-2DP, the upper limit for messages pending simultaneously is 60.
See also Parameter Manual (Lists, Manual 2), chapter on PLC Alarms/Messages
FUNCTION FC 10 : VOID
// NAME: AL_MSG
VAR_INPUT
ToUserIF : BOOL ;
Ack : BOOL ;
END_VAR
END_FUNCTION
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1075
Basic PLC Program (P3)
Block descriptions
Call example
13.13.18 FC 12: AUXFU call interface for user with auxiliary functions
Function
FC AUXFU is generally called on an event-driven basis in the basic program if the channel
transferred in the input parameter contains new auxiliary functions. The PLC user can extend
FC AUXFU with program instructions for processing his auxiliary function to avoid cyclic
polling of the channel DBs. This mechanism permits auxiliary functions to be processed on a
job-driven basis. FC AUXFU is supplied as a compiled empty block in the basic program. In
this case, the basic program supplies parameter "Chan" with the channel number. The PLC
user knows which channel has new auxiliary functions available. The new auxiliary functions
can be determined by the auxiliary-function change signals in the channel concerned.
Basic Functions
1076 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Example
BEGIN
L Chan; //Channel index no., (0,1,2,..)
+ 21; //Channel DB offset
T ChanDB; //Save channel DB no.
TO DB[ChanDB]; //Channel DB is opened indirectly
// Auxiliary-function change signals are now scanned, etc.
BE;
END_FUNCTION
Function
This block carries out the display control for the handheld unit (HHU or HT2).
The information to be output on the display is stored as 32 characters in string data ChrArray
(these are 64 characters when using an HT2). A fixed text assignment of 32 or 64 characters
is, therefore, required for this string when the data block is created.
16 characters are sent to BHG/HT2 for each job, which lasts for several OB 1-cycle.
The assignment of the characters in ChrArray to each line is unique. For line 1 the
characters 1 to 16 and for the line 2 the characters 17 to 32 of the string data ChrArray are
transferred. In addition, for HT2 the line 3 with the characters 33 to 48 and line 4 made of
characters 49 to 64 are shown.
The block checks, whether the minimum length of the ChrArray is available for operating the
BHG or the HT2. If less characters are present in the string data than are to be displayed,
then the line is filled with blanks.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1077
Basic PLC Program (P3)
Block descriptions
By setting parameter Row to 0, it is possible to suppress the display (e.g. if several variables
in one or several PLC cycles need to be entered in the string without any display output). If
several lines are to be updated "simultaneously" (transfer of the characters to the lines lasts
for several OB 1 cycles) (Parameter Row > 1), then the lines are updated one by one each
with 16 characters per line.
Variable portions within the string can be inserted by means of the numerical converter
functionality (optional). For the numeric converter the parameter "Convert" must be set to
TRUE. The variable to be displayed is referenced via the pointer Addr. Parameter
"DataType" contains the format description of this parameter (see parameter table). The
number of bytes of the variable is linked to the format description. The address justified to
the right within the string is specified by parameter "StringAddr". The number of written
characters is shown in the parameter table.
Signals
Byte 1 is supplied by the output signals of the HHU and the character specifications are
supplied by the block. These may not be written by the PLC user program.
Additional parameters
HHU
The pointer parameters for the input and output data of the handheld unit must be
parameterized in the start OB 100 in FB 1, DB 7. Parameter "BHGIn" corresponds to the
input data of the PLC from the handheld unit (data received by PLC). Parameter "BHGOut"
corresponds to the output data of the PLC to the handheld unit (data transmitted by PLC).
These two pointers must be set to the starting point of the relevant data area (which is also
parameterized in SDB 210 with an MPI link).
For operating a BHG a "2" is to be entered at FB 1 parameter BHG.
HT2
For using a HT2 a "5" is to be entered at FB 1 parameter BHG. The pointer parameter of the
input and output data are also to be supplied, as described above.
Basic Functions
1078 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Note
Numerical conversion
If the numerical converter is used to display information, then it is better to avoid performing
a conversion in every PLC cycle for the sake of reducing the PLC cycle time.
The conversion routine can be used independently of the display control. This is to be
queried in parameter row "0", although the convert parameter should be set. Consequently,
only the string is processed, and the converter routine is executed.
High display resolution
If, for example, the actual axis value is to be displayed with a higher resolution, the following
should be noted:
Variables will continue to be read with FB 2 or FB 5. REAL 2 is used instead of ANY pointer
BYTE 8 as the criterion for output as a 64-bit floating point number (e.g.
When specifying the 64-bit floating point number on the HHU/HT2, an output format of up to
14 places, split freely between places before and after the decimal point, can be selected
instead of fixed formats.
FUNCTION FC 13 : VOID
VAR INPUT
Row : BYTE ; //Display line (see table)
ChrArray : STRING ; //Transfer at least string[32/64]
Convert : BOOL ; //Activate numerical conversion
Addr: POINTER; //Points to the variable being converted
DataType : BYTE ; //Data type of the variables
StringAddr : INT ; //right-justified string address (1...32/64)
Digits : BYTE ; //Number of decimal places (1 to 3)
END VAR
VAR OUTPUT
Error : BOOL ; //Conversion or string error
END VAR
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1079
Basic PLC Program (P3)
Block descriptions
Basic Functions
1080 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Ranges of values
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1081
Basic PLC Program (P3)
Block descriptions
Call example
//DB with the name strdat is declared in symbol table, data element disp is declared as
String[32] (in HT2:
//String[64]) and completely assigned with characters
CALL FC 13 (
Row := MB 26,
ChrArray := "strdat".disp,
Convert := M 90.1,
Addr := P#M 20.0, //Number to be converted
DataType := MB 28, //Data type of the variables
StringAddr := MW 30,
Digits := B#16#3, //3 decimal places
Error := M 90.2);
Function
The block for star/delta changeover controls the timing of the defined switching logic such
that the changeover can be performed in either direction even when the spindle is running.
This block may be used only for digital main spindle drives and must be called separately for
each spindle.
The changeover operation is implemented via 2 separate contactors in a sequence involving
4 steps:
Step 1: Deleting the interface signal DB31, ... .DBX21.5 (motor selection done) in the related
axis-DB and registering the changeover process via A with DB31, ... .DBX21.3 (motor
selection).
Step 2: As soon as the checkback message NST DB31, ... DBX93.7 (Pulse enabled) and the
acknowledgment of the announced motor selection from the drive have appeared, the
currently energized contactor drops out.
Step 3: The other contactor is energized after the time period set by the user in parameter
"TimeVal" has elapsed.
Step 4: After a further delay, the changeover is signaled to the drive with NST DB31, ...
.DBX21.5 (motor selection done):
Basic Functions
1082 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Error message
If the parameter "SpindleIFNo" is not in the permissible range, the PLC is stopped with
output of interrupt message number 401702.
Special features
When parameterizing "TimeVal" with the value 0, a default value of 100 ms is used. With a
value of less than 50 ms, the minimum setting of 50 ms is applied.
The block must be called unconditionally.
Note
Switchover does not take place if the spindle is in an axis mode such as M70, SPOS.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1083
Basic PLC Program (P3)
Block descriptions
Restrictions
Star/delta changeover on digital main spindle drives initiates a process, which contains
closed-loop control sequences. Since the closed-loop control system supports automatic
star/delta changeover, certain restrictions should be noted:
● Due to the automatic deactivation of the pulse on the drive, the NST DB31, ... .DBX93.7
(Pulse enabled) deactivates simultaneously the IS DB31, ... .DBX61.7 (current controller
active) and DB31, ... .DBX61.6 (speed controller active).
● If a changeover from star to delta takes place while the spindle is rotating and the spindle
position controller is switched on, IS "Position controller active" (DB31, ... DBX61.5), this
triggers alarm 25050 "Contour monitoring".
● Once the star/delta changeover has been initiated with FC17, it cannot be delayed by the
user, e.g. by waiting until the star/delta contactors change over during the course of
operation. The user can implement this signal interaction with PLC logic.
VAR_INPUT
YDelta: BOOL ; //Star = 0, delta = 1
SpindleIFNo: INT; //Machine axis number
TimeVal: S5TIME ; //Time value
TimerNo : INT; //User timer for changeover time
END_VAR
VAR_OUTPUT
Y: BOOL ; //Star contactor
Delta: BOOL ; //Delta contactor
END_VAR
VAR_IN_OUT
Ref: WORD ; //Block status word (instance)
END_VAR
Basic Functions
1084 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Call example
CALL FC 17 (
YDelta := I 45.7, //Star delta
SpindleIFNo := 4,
TimeVal := S5T#150ms,
TimerNo := 10, //Timer 10
Y := a 52.3, //Star contactor
Delta := a 52.4, //Delta contactor
Ref := mw 50); //Instance
Function
FC SpinCtrl can be used to control spindles and axes from the PLC.
References:
/FB1/ Function Manual, Basic Functions; Spindles (S1)
Function Manual, Extended Functions; Positioning Axes (P2)
Function Manual, Extended Functions; Indexing Axes (T1)
This block supports the following functions:
● Position spindle
● Rotate spindle
● Oscillate spindle
● Indexing axes
● Positioning axes
Each function is activated by the positive edge of the appropriate initiation signal (start, stop).
This signal must remain in the logic "1" state until the function has been acknowledged
positively or negatively by InPos="1" or Error = "1". The output parameters are deleted when
the relevant trigger signal is reset and the function terminated.
To be able to control an axis or spindle via the PLC, it must be activated for the PLC.
This can, for example, be achieved by calling the FC "SpinCtrl" with activation of the "Start"
or "Stop" parameter. In this case, the FC "SpinCtrl" requests control over the spindle/axis
from the NC.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1085
Basic PLC Program (P3)
Block descriptions
The NC feeds back the status of this spindle/axis in byte 68 in the associated spindle/axis
interface (DB31, ...) (see interface lists). Once the axis/spindle is operating under PLC
control, the travel command for the active state can be evaluated via the relevant axis
interface.
On completion ("InPos" is TRUE, "Start" changes to zero), the axis/spindle check function is
switched to a neutral status by FC "SpinCtrl".
Alternatively, the PLC user program can also request the check for the PLC prior to calling
FC "SpinCtrl".
By calling this function several times in succession, a better response reaction by the
spindle/axis can be obtained as the changeover process in the FC can be omitted.
Activation through the PLC user program is executed in the corresponding spindle interface
in byte 8.
After return of the check, the spindle can again be programmed by the NC program.
Note
Please note:
FC 18 must be called cyclically until signal "InPos" or, in the case of an error "Error",
produces an edge transition of 1 to 0. Only when the "InPos"/"Error" signal has a 0 state can
the axis/spindle concerned be "started" or "stopped" again (the next "start" must be delayed
by at least one PLC cycle). This also applies when the assignment in data byte 8 on the axial
interface has been changed.
Abort:
The function cannot be aborted by means of parameter "Start" or "Stop", but only by means
of the axial interface signals (e.g. delete distance-to-go). The axial interface also returns
status signals of the axis that may need to be evaluated (e.g. exact stop, traverse
command).
InPos on spindle - rotation/oscillation:
For the function "Rotate spindle" and also for "Oscillate spindle" the significance of the
parameter "InPos" is defined as follows:
Setpoint speed is output → unction started without errors.
Reaching the desired spindle speed must be evaluated via the spindle interface.
Simultaneity:
Several axes can be traversed simultaneously or subject to a delay by FC 18 blocks. The
upper limit is defined by the maximum number of axes. The NCK handles the PLC function
request (FC 18) via independent interfaces for each axis/spindle.
Axis disable:
With the axis disabled, an axis controlled via FC 18 will not move. Only a simulated actual
value is generated. (Behavior as with NC programming).
Basic Functions
1086 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
WARNING
If several block calls (FC 18) have been programmed for the same axis/spindle in the PLC
user program, then the functions concerned must be interlocked by conditional calls in the
user program. The conditional call of a started block (parameter Start or Stop = TRUE)
must be called cyclically until the signal state of output parameter "Active" or "InPos"
changes from 1 to 0.
Functions
1. Position spindle:
The following signals are relevant:
2. Rotate spindle:
The following signals are relevant:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1087
Basic PLC Program (P3)
Block descriptions
3. Oscillate spindle:
The following signals are relevant:
Note
With Funct: "4" = Indexing axis
The modulo conversion can be compared with approaching the indexing position via
POS[AX] = CIC (value) in the part program.
Basic Functions
1088 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
5 to 8. Position axes:
The following signals are relevant:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1089
Basic PLC Program (P3)
Block descriptions
Basic Functions
1090 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
FRate
The feed rate in FC 18 can also be specified as:
● Cutting rate with unit m/min or feet/min
● Constant grinding wheel surface speed in m/s or feet/s
These alternative velocity settings can be used only if this function is activated by the NC
program. Checkback signals for successful activation can be found in byte 84 on the axis
interface.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1091
Basic PLC Program (P3)
Block descriptions
Error identifiers
If a function could not be executed, this is indicated by the "Error" status parameter being set
to 'logic 1'. The error cause is coded at block output "State":
State Significance
Errors caused by PLC handling:
1 B#16#1 Several axis/spindle functions have been activated
simultaneously
20 B#16#14 A function has been started without the position being reached
30 B#16#1e The axis/spindle has been transferred to the NC while still in
motion
40 B#16#28 The axis is programmed by the NC program, NCK internal error
50 B#16#32 permanently assigned PLC axis traverses (JOG) or refers
60 B#16#3C permanently assigned PLC axis Channel status does not permit a
start
Errors that occur due to handling of the NCK.
The alarm numbers are described in the Diagnostics Manual SINUMERIK 840D sl/ 840Di
sl:
100 B#16#64 False position programmed for axis/spindle
(corresponds to alarm number 16830)
101 B#16#65 Programmed speed is too high
102 B#16#66 False value range constant cutting speed
(corresponds to \MMC-Alarm 14840)
104 B#16#68 Following spindle: illegal programming
(corresponds to alarm number 22030)
105 B#16#69 No measuring system available
(corresponds to alarm number 16770)
106 B#16#6a Positioning process of the axis still active
(corresponds to alarm number 22052)
107 B#16#6b Reference mark not found
(corresponds to alarm number 22051)
108 B#16#6c No transition from speed control to position control
(corresponds to alarm number 22050)
109 B#16#6d Reference mark not found
(corresponds to alarm number 22051)
110 B#16#6e Velocity/speed is negative
111 B#16#6f Setpoint speed is zero
112 B#16#70 Invalid gear stage
115 B#16#73 Programmed position has not been reached
117 B#16#75 G96/G961 is not active in the NC
118 B#16#76 G96/G961 is still active in the NC
120 B#16#78 Axis is indexing axis
(corresponds to MMC-alarm 20072)
121 B#16#79 Indexing position error (corresponds to MMC-alarm 17510)
125 B#16#7d DC (shortest path) not possible (corresponds to MMC-alarm
16800)
126 B#16#7e Absolute value Minus not possible (corresponds to MMC-alarm
16820)
Basic Functions
1092 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
State Significance
127 B#16#7f Absolute value Plus not possible (corresponds to MMC-alarm
16810)
128 B#16#80 No transverse axis available for diameter programming
(corresponds to MMC-alarm 16510)
130 B#16#82 Software end switch Plus (corresponds to MMC-alarm 20070)
131 B#16#83 Software end switch Minus (corresponds to MMC-alarm 20070)
132 B#16#84 Working area limit Plus (corresponds to MMC-alarm 20071)
133 B#16#85 Working area limit Minus (corresponds to MMC-alarm 20071)
134 B#16#85 Frame not permitted for indexing axis
135 B#16#87 Indexing axis with "Hirth-toothing" is active
(corresponds to MMC-alarm 17501)
136 B#16#88 Indexing axis with "Hirth-toothing" is active and axis not
referenced
(corresponds to MMC-alarm 17503)
137 B#16#89 Spindle operation not possible for transformed spindle/axis
(corresponds to MMC-alarm 22290)
138 B#16#8A for the axis the corresponding effective coordinate-system-
specific working area limit Plus violated
(corresponds to MMC-alarm 20082)
139 B#16#8B for the axis the corresponding effective coordinate-system-
specific working area limit Minus violated
(corresponds to MMC-alarm 20082)
System or other serious interrupts:
200 B#16#c8 Corresponds to system interrupt number 450007
Pulse diagram
6WDUW
,Q3RV
(UURU
6WDUW(UU
(1) Activation of function by means of a positive signal edge with start or stop
(2) Positive acknowledgment: Function executed/Position reached
(3) Reset function activation after receipt of acknowledgment
(4) Signal change using FC
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1093
Basic PLC Program (P3)
Block descriptions
6WDUW
,Q3RV
(UURU
6WDUW(UU
(1) Activation of function by means of a positive signal edge with start or stop
(2) Negative acknowledgment: Error has occurred
(3) Reset function activation after receipt of acknowledgment
(4) Signal change using FC
Call examples
1. Position spindle:
CALL FC 18 (
Start := M100.0,
Stop := FALSE,
Funct := B#16#1, //Position spindle
Mode := B#16#2, //Shortest path
AxisNo := 5,
Pos := MD104,
FRate := MD108,
InPos := M112.0,
Error := M113.0,
State := MB114);
Basic Functions
1094 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
CALL FC 18 (
Start := M100.0,
Stop := FALSE,
Funct := B#16q#, //Rotate spindle
Mode := B#16#5, //Rotational direction as for M4
AxisNo := 5,
Pos := 0.0,
FRate := MD108,
InPos := M112.0,
Error := M113.0,
State := MB114);
CALL FC 18 (
Start := M100.0,
Stop := FALSE,
Funct := B#16#3, //Oscillate spindle
Mode := B#16#0,
AxisNo := 5,
Pos := 0.0,
FRate := MD108,
InPos := M112.0,
Error := M113.0,
State := MB114);
CALL FC 18 (
Start := M100.0,
Stop := FALSE, //Not used
Funct := B#16#4, //Traverse indexing axis
Mode := B#16#0, //Position absolutely
AxisNo := 4,
Pos := MD104, //Default setting in REAL: 1.0;2.0;..
FRate := MD108,
InPos := M112.0,
Error := M113.0,
State := MB114);
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1095
Basic PLC Program (P3)
Block descriptions
5. Position axes
CALL FC 18 (
Start := M100.0,
Stop := FALSE, //Not used
Funct := B#16#5, //Position axes
Mode := B#16#1, //Position incrementally
AxisNo := 6,
Pos := MD104,
FRate := MD108,
InPos := M112.0,
Error := M113.0,
State := MB114);
Function
With the FC MCP_IFM (M-variant) from the machine control panel a range of 19 inch e.g.
MCP 483 are transferred to the corresponding signals of the NCK-/PLC-interface:
● Mode groups
● Axis selections
● WCS/MCS switchover commands
● Traversing keys
● Overrides
● Key-operated switch
In the basic program (FC 2) handwheel selections, modes and other operating signals are
transferred from the operator panel front (HMI) to the NCK/PLC interface so that the modes
support selection from the MCP or HMI.
Transfer of MMC signals to the interface can be deactivated by setting the value of the
parameter "MMCToIF" to "FALSE" in FB 1 (DB 7).
The following specifications apply to the feed override, axis travel keys and INC keys
depending on the active mode or on the coordinate system selected:
Basic Functions
1096 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
● Feed override:
– The feed override is transferred to the interface of the selected channel and to the
interface of the axes.
– The feed override signals are transferred to the NC channel in addition to the "Rapid
traverse override" (DBB 5) interface byte if the "Feed override for rapid traverse
effective" HMI signal is set (exception: Switch setting "Zero"). "Rapid traverse override
effective" is also set with this HMI signal.
● Machine functions for INC and axis travel keys:
– When the MCS is selected, the signals are transferred to the interface of the selected
machine axis.
– When the WCS is selected, the signals are transferred to the geo-axis interface of the
parameterized channel.
– When the system is switched between MCS and WCS, the active axes are generally
deselected.
The handwheel selection signals from the HMI are decoded and activated in the machine-
axis or the Geo-axis interface of the handwheel selected (only if parameter "HWheelMMC :=
TRUE" in FB 1).
The LEDs on the machine control panel derived from the selections in the acknowledgment.
Feedrate and spindle Start/Stop are not transferred to the interface, but output modally as a
"FeedHold" or "SpindleHold" signal. The user can link these signals to other signals leading
to a feed or spindle stop (this can be implemented, e.g. using the appropriate input signals in
FC 10: AL_MSG). The associated LEDs are activated at the same time.
If the machine control panel fails, the signals it outputs are preset to zero; this also applies to
"FeedHold" and "SpindleHold" output signals.
Multiple calls of FC 19 or FC 24, FC 25, FC 26 are permitted in a single PLC cycle. In this
case, the first call in the cycle drives the LED displays. Furthermore, all actions of the
parameterized block are carried out in the first call. In the following calls, only a reduced level
of processing of the channel and mode group interface takes place. The geometry axes are
supplied with directional data only in the first block call in the cycle.
Single block processing can be selected/deselected only in the first call in the cycle.
The second machine control panel can be processed if parameter "ModeGroupNo" has been
increased by B#16#10. When parameterizing, the HHU number is contained in the lower
nibble (lower 4 bits).
"BAGNo" = 0 or B#16#10 means that the mode group signals are not processed.
"ChanNo" = 0 means that the channel signals are not processed.
The INC selections are transferred to the mode group interface. The activation for this
specification is done via the DB10.DBX57.0 (INC-inputs in BAG-area active) through this
block once after power up.
Machine control panels can still be handled in parallel by this module. The module 2 call for
the 2nd machine control panel in OB1 cycle must come after the call of the 1st MCP Support
for two MCPs is provided in the control panel blocks up to certain limits (support is not
provided as standard for mutual interlocking of axis selections with identical assignments on
two MCPs).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1097
Basic PLC Program (P3)
Block descriptions
Example
More than nine axes are to be controlled with FC19 using a special application. We
recommend that you proceed as follows:
● Reserve free key on MCP
● Evaluate this key as a flipflop
● Evaluate the flipflop output as pos. and neg. edge
● For pos. edge write one set of axis numbers in the axis table (DB10) and switch on LED
via this key.
● For neg. edge write one set of axis numbers in the axis table (DB10) and switch on LED
via this key.
Basic Functions
1098 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
VAR_INPUT
BAGNo : BYTE ;
ChanNo: BYTE ;
SpindleIFNo: BYTE ;
END_VAR
VAR_OUTPUT
FeedHold : BOOL ;
SpindleHold : BOOL ;
END_VAR
BEGIN
END_FUNCTION
Key-operated switch
Source: Destination:
MCP - Switch Interface DB
Position 0 DB10.DBX56.4
Position 1 DB10.DBX56.5
Position 2 DB10.DBX56.6
Position 3 DB10.DBX56.7
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1099
Basic PLC Program (P3)
Block descriptions
Source: Destination:
MCP - Key Interface DB (parameter BAGNo)
Display for BAG 1
AUTOMATIC DB11.DBX0.0
MDI DB11.DBX0.1
JOG DB11.DBX0.2
REPOS DB11.DBX1.1
REF DB11.DBX1.2
TEACH IN DB11.DBX1.0
INC 1 ... 10 000, INC Var. DB11.DBX2.0 - 2.5
Source: Destination:
MCP - Key Interface DB (parameter ChanNo)
Direction key + DB21, ... .DBX12.7
Direction key - DB21, ... .DBX12.6
Rapid traverse override DB21, ... .DBX12.5
Direction key + DB21, ... .DBX16.7
Direction key - DB21, ... .DBX16.6
Rapid traverse override DB21, ... .DBX16.5
Direction key + DB21, ... .DBX20.7
Direction key - DB21, ... .DBX20.6
Rapid traverse override DB21, ... .DBX20.5
Source: Destination:
MCP - Key Interface DB (all axis DBs)
Direction key + DB31, ... .DBX4.7
Direction key - DB31, ... .DBX4.6
Rapid traverse override DB31, ... .DBX4.5
Override
Source: Destination:
MCP - Switch Interface DB (parameter ChanNo)
Feedrate override DB21, ... .DBB4
Basic Functions
1100 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Source: Destination:
MCP - Switch Interface DB (all axis DBs)
Feedrate override DB31, ... .DBB0 (selected axis number) The feed
override of the 1st MCP is applied to all axes.
Spindle override DB31, ... .DBB19 (parameter SpindleIFNo)
Channel signals
Source: Destination:
MCP - Keys Interface DB (parameter ChanNo)
NC start DB21, ... .DBX7.1
NC stop DB21, ... .DBX7.3
RESET DB21, ... .DBX7.7
Single BLock DB21, ... .DBX0.4
Source: Destination:
MCP - Keys FC output parameters
Feed stop Parameter: "FeedHold" linked with memory, LED
Feed enable are controlled
Spindle stop Parameter: "SpindleHold" linked with memory,
Spindle enable LED are controlled
Destination: Source:
MCP - LED Interface DB (parameter BAGNo)
Display for BAG 1
AUTOMATIC DB11.DBX6.0
MDA DB11.DBX6.1
JOG DB11.DBX6.2
REPOS DB11.DBX7.1
REF DB11.DBX7.2
TEACH IN DB11.DBX7.0
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1101
Basic PLC Program (P3)
Block descriptions
Aim: Source:
MCP - LED Interface DB (parameter BAGNo)
Display for BAG 1
INC 1 ... 10 000, INC Var. DB11.DBX2.0 - 8.5
Channel signals
Destination: Source:
MCP - LED Interface DB (parameter ChanNo)
NC start DB21, ... .DBX35.0
NC stop DB21, ... .DBX35.2 or DB21, ... .DBX35.3
Single Block DB21, ... .DBX0.4
Note
Direction key LEDs are controlled by operating the direction keys.
Axis selection and WCS/MCS LEDs are controlled by operating the relevant pushbutton
switch.
Call example
With these parameter settings, the signals are sent to the 1st mode group, the 1st channel
and all axes. In addition, the spindle override is transferred in the 4th axis/spindle interface.
The feed hold signal is passed to bit memory 22.0 and the spindle stop signal to data block
DB2, data bit 151.0.
Basic Functions
1102 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Solution:
The value 4 must be entered in DB10 byte (8+(9-1)) for the 4th axis.
Function
When the Transfer block is called, data are exchanged between the PLC and NCK according
to the selected function code. Data are transferred as soon as FC 21 is called, not only at the
start of the cycle.
The "Enable" signal activates the block.
FC 21 is processed only when "Enable" = "1".
The following functions for the data exchange between PLC and NCK are supported:
1. Signal synchronized actions at the NCK - channel
2. Signals synchronized actions from NCK - channel
3. Fast data exchange PLC-NCK (Read function in NCK)
4. Fast data exchange PLC-NCK (Write function in NCK)
5. Update control signals to NCK - channel
6. Update control signals to axes (data byte 2 of the user interface)
7. Update control signals to axes (data byte 4 of the user interface)
VAR_INPUT
Enable: BOOL ;
Funct: BYTE ;
S7Var: ANY ;
IVar1: INT;
IVar2: INT;
END_VAR
VAR_OUTPUT
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1103
Basic PLC Program (P3)
Block descriptions
Error: BOOL ;
ErrCode: INT;
END_VAR
Basic Functions
1104 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Call example:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1105
Basic PLC Program (P3)
Block descriptions
Basic Functions
1106 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
)XQFW )XQFW
UHDG ZULWH
QR QR
6HPDSKRUH " 6HPDSKRUH "
\HV \HV
7UDQVIHU 7UDQVIHU
(UURU (UURU
GDWDIURP GDWDIURP
(UU&RGH (UU&RGH
1&WR3/& 3/&WR1&
6HPDSKRUH 6HPDSKRUH
(UURU (UURU
(UU&RGH (UU&RGH
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1107
Basic PLC Program (P3)
Block descriptions
5HDGLQ :ULWHLQ
1&. 1&.
QR QR
6HPDSKRUH " 6HPDSKRUH "
\HV \HV
5HDGGDWD 7UDQVIHU
IURP3/& GDWDIURPWR
3/&
6HPDSKRUH 6HPDSKRUH
Basic Functions
1108 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Call example:
1. Read double word of position offset 4 with semaphore in byte 0 and store in MD100:
Data type Dword (4 bytes)
Position offset 4
6HPDSKRUH
CALL FC 21 (
Enable := M 10.0, // if TRUE, FC 21 active
Funct := B#16#3, //Read data
S7Var := P#M 100.0 DWORD 1,
IVAR1 := 4,
IVAR2 := 0,
Error := M 10.1,
ErrCode := MW12);
UN M10.1; //Enable as long as 1,
//till value is read
R F10.0;
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1109
Basic PLC Program (P3)
Block descriptions
CALL FC 21 (
Enable := M 10.0, // if TRUE, FC 21 active
Funct := B#16#3, //Read data
S7Var := P#M 104.0 WORD 1,
IVAR1 := 8,
IVAR2 := -1,
Error := M 10.1,
ErrCode := MW12);
Basic Functions
1110 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Function
The block TM_DIR provides the shortest path for positioning a magazine or a revolver based
on the actual and setpoint position.
As long as a 1 signal is applied to the Start input, all output parameters are updated
cyclically. Changes can be made to input parameters (e.g. position values) in subsequent
PLC cycles.
The output signals are undefined when the start signal is at 0 level.
In the case of direction selection with special positioning input "Offset" > 0, a new setpoint
position is calculated from the setpoint and special positions and the number of magazine
locations according to the following formula:
New setpoint position = (setpoint pos. - (special pos. -1)) neg. modulo # locations
The new setpoint position corresponds to the location number at which the magazine must
be positioned so that the setpoint position requested by the user corresponds to the location
number of the special position. The directional optimization is active both with and without
special positioning.
The block must be called once with the appropriate parameter settings for each magazine.
WARNING
The block may only be called in conjunction with the tool management.
Note
For further details on tool management (also with regard to PLC) refer to the Function
Manual Tool Management. Furthermore, PI services are provided for tool management via
the FB 4, FC 7 and FC 8 (see also the corresponding Sections in this documentation).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1111
Basic PLC Program (P3)
Block descriptions
VAR_OUTPUT
Cw: BOOL ;
Ccw: BOOL ;
InPos: BOOL ;
Diff: INT;
Error: BOOL ;
END_VAR
BEGIN
END_FUNCTION
Basic Functions
1112 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Call example
Function
With FC MCP_IFM2 (M variant slim machine control panel e.g. MCP 310), the following are
transferred from the machine control panel (MCP) to the corresponding signals of the
NCK/PLC interface:
● Mode groups
● Axis selections
● WCS/MCS switchover
● Traversing keys
● Overrides or override simulation signals
In the basic program (FC 2), handwheel selections, modes and other operating signals
continue to be transferred from the operator panel front or HMI to the NCK/PLC interface so
that the modes support selection from the MCP or HMI.
Transfer of HMI signals to the interface can be deactivated by setting the value of the
parameter "MMCToIF" to "FALSE" in FB 1 (DB 7). "MMCToIF" can also be
activated/deactivated in the cyclic program by setting and resetting (e.g. R
gp_par.MMCToIF).
The following specifications apply to the feed override, axis travel keys and INC keys
depending on the active mode or on the coordinate system selected:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1113
Basic PLC Program (P3)
Block descriptions
● Feed override:
– The feed override is transferred to the interface of the selected channel and to the
interface of the axes.
– The feed override signals are transferred to the NC channel in addition to the "Rapid
traverse override" (DBB 5) interface byte if the "Feed override for rapid traverse
effective" HMI signal is set (exception: Switch setting "Zero"). "Rapid traverse override
effective" is also set with this HMI signal.
● Machine functions for INC and axis travel keys:
– When the MCS is selected, the signals are transferred to the interface of the selected
machine axis.
– When the WCS is selected, the signals are transferred to the geo-axis interface of the
parameterized channel.
– When the system is switched between MCS and WCS, the active axes are generally
deselected.
The handwheel selection signals from HMI are decoded and activated in the machine-axis or
the Geo-axis interface of the handwheel selected (only if parameter "HWheelMMC := TRUE"
in FB 1).
The associated LEDs of the machine control panel are derived from the acknowledgments
from the relevant selections.
Feedrate and spindle Start/Stop are not transferred to the interface, but output modally as a
"FeedHold" or "SpindleHold" signal. The user can link these signals to other signals leading
to a feed or spindle stop (this can be implemented, e.g. using the appropriate input signals in
FC 10: AL_MSG). The associated LEDs are activated at the same time.
The spindle direction (+, -) is not switched directly either, but made available as output
parameter "SpindleDir". permitting, for example, FC 18 to be parameterized. A spindle
enable signal is also switched via parameter "SpindleHold". One possible method of moving
a spindle directly is to preselect it as an axis so that it can be traversed via (axis) direction
keys.
If the machine control panel fails, the signals it outputs are preset to zero; this also applies to
"FeedHold" and "SpindleHold" output signals.
Multiple calls of FC 24 or FC 19, FC 25, FC 26 are permitted in a single PLC cycle. In this
case, the first call in the cycle drives the LED displays. Furthermore, all actions of the
parameterized block are carried out in the first call. In the following calls, only a reduced level
of processing of the channel and mode group interface takes place. The geometry axes are
supplied with directional data only in the first block call in the cycle.
Single block processing can be selected/deselected only in the first call in the cycle.
The second machine control panel can be processed if parameter "ModeGroupNo" has been
increased by B#16#10. When parameterizing, the HHU number is contained in the lower
nibble (lower 4 bits).
"BAGNo" = 0 or B#16#10 means that the mode group signals are not processed.
ChanNo = 0 means that the channel signals are not processed.
Basic Functions
1114 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
The INC selections are transferred to the mode group interface. The activation for this
specification is done via the DB10.DBX57.0 (INC-inputs in BAG-area active) through this
block once after power up.
Furthermore, two machine control panels can be handled in parallel by this block. The
module 2 call for the 2nd machine control panel in OB1 cycle must come after the call of the
1st MCP Support for two MCPs is provided in the control panel blocks up to certain limits
(support is not provided as standard for mutual interlocking of axis selections with identical
assignments on two MCPs).
VAR_INPUT
BAGNo: BYTE ;
ChanNo: BYTE ;
SpindleIFNo: BYTE ;
END_VAR
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1115
Basic PLC Program (P3)
Block descriptions
VAR_OUTPUT
FeedHold: BOOL ;
SpindleHold: BOOL ;
SpindleDir: BOOL ;
END_VAR
BEGIN
END_FUNCTION
Call example
With these parameter settings, the signals are sent to the 1st mode group, the 1st channel
and all axes. In addition, the spindle override is transferred in the 4th axis/spindle interface.
The feed hold signal is passed to bit memory 22.0 and the spindle stop signal to data block
DB2, data bit 151.0. The spindle direction feedback signal supplied via parameter
"SpindleDir" can be used as a direction input for an additional FC 18 call.
Basic Functions
1116 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Function
With the FC MCP_IFM (M-variant) from the machine control panel a range of 19 inch e.g.
MCP 483 are transferred to the corresponding signals of the NCK-/PLC interface:
● Mode groups
● Direction keys of four axes
● WCS/MCS switchover commands
● Overrides
● Key-operated switch
In the basic program (FC 2), handwheel selections, modes and other operating signals
continue to be transferred from the operator panel front or HMI to the NCK/PLC interface so
that the modes support selection from the MCP or BT.
Transfer of HMI signals to the interface can be deactivated by setting the value of the
parameter "MMCToIF" to "FALSE" in FB 1 (DB 7).
The following specifications apply to the feed override, axis travel keys and INC keys
depending on the active mode or on the coordinate system selected:
● Feed override:
– The feed override is transferred to the interface of the selected channel and to the
interface of the axes.
– The feed override signals are transferred to the NC channel in addition to the "Rapid
traverse override" (DBB 5) interface byte if the "Feed override for rapid traverse
effective" HMI signal is set (exception: Switch setting "Zero"). "Rapid traverse override
effective" is also set with this HMI signal.
● Machine functions for INC and axis travel keys:
– When the MCS is selected, the signals are transferred to the interface of the selected
machine axis.
– When the WCS is selected, the signals are transferred to the geo-axis interface of the
parameterized channel.
The handwheel selection signals from the MMC are decoded and activated in the machine-
axis or the Geo-axis interface of the handwheel selected (only if parameter "HWheelMMC :=
TRUE" in FB 1). = TRUE").
The LEDs on the machine control panel derived from the selections in the acknowledgment.
Feedrate and spindle Start/Stop are not transferred to the interface, but output modally as a
"FeedHold" or "SpindleHold" signal. The user can link these signals to other signals leading
to a feed or spindle stop (this can be implemented, e.g. using the appropriate input signals in
FC 10: AL_MSG). The associated LEDs are activated at the same time.
If the machine control panel fails, the signals it outputs are preset to zero; this also applies to
"FeedHold" and "SpindleHold" output signals.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1117
Basic PLC Program (P3)
Block descriptions
Multiple calls of FC 25 or FC 19, FC 24, FC 26 are permitted in a single PLC cycle. In this
case, the first call in the cycle drives the LED displays. Furthermore, all actions of the
parameterized block are carried out in the first call. In the following calls, only a reduced level
of processing of the channel and mode group interface takes place. The geometry axes are
supplied with directional data only in the first block call in the cycle.
Single block processing can be selected/deselected only in the first cycle.
The second machine control panel can be processed if parameter "ModeGroupNo" has been
increased by B#16#10. When parameterizing, the HHU number is contained in the lower
nibble (lower 4 bits).
"BAGNo" = 0 or B#16#10 means that the mode group signals are not processed.
ChanNo = 0 means that the channel signals are not processed.
Note
For further information see "FC 19: MCP_IFM transmission of MCP signals to interface
(Page 898) ".
Basic Functions
1118 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
VAR_INPUT
BAGNo: BYTE ;
ChanNo: BYTE ;
SpindleIFNo: BYTE ;
END_VAR
VAR_OUTPUT
FeedHold: BOOL ;
SpindleHold: BOOL ;
END_VAR
BEGIN
END_FUNCTION
Call example
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1119
Basic PLC Program (P3)
Block descriptions
With these parameter settings, the signals are sent to the 1st mode group, the 1st channel
and all axes. In addition, the spindle override is transferred in the 4th axis/spindle interface.
The feed hold signal is passed to bit memory 22.0 and the spindle stop signal to data block
DB2, data bit 151.0.
Function declaration
VAR_INPUT
BAGNo: BYTE ;
ChanNo: BYTE ;
END_VAR
BEGIN
END_FUNCTION
Parameter
Basic Functions
1120 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Call examples
Call of the FC 26 for the first MCP, the first mode group and the first channel of the NC.
Call of the FC 26 for the second MCP, the second mode group and the third channel of the
NC.
Note
Mode switchover through HT 8 and/or HMI
The function FC 2 "GP_HP Basic program, cyclic part" transfers the signals of the block-
switchover in such a way that an alternative selection of MCP of HT 8 and of the HMI is
possible. The transfer of the HMI signals to the NC/PLC interface can also be switched
off in the function block FB 1 with the parameter "MMCToIF" = FALSE.
Active axes:
Using HT 8 a maximum of 6 axes can be addressed at the same time. The selection of
the axes is to be realized by the user/machine manufacturer in the PLC user program.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1121
Basic PLC Program (P3)
Block descriptions
Note
Please note the following constraints:
• A check of the permissible machine axis numbers is not done. Invalid machine axis
numbers can lead to a PLC Stop.
• The machine axis numbers can be changed dynamically. The table may not be written, if
currently a machine axis is being moved via a traversing key.
Transfer of the traversing key signals depending upon the active coordinate system
The traversing key signals for 6 axes lie in the HT 8 input data area below:
● EB n + 2, Bit 0 - Bit 5 (positive traversing direction)
● EB n + 3, Bit 0 - Bit 5 (negative traversing direction)
The switchover of the coordinate system is done via the input signal:
● EB n + 0, Bit 0 (MCS/WCS)
The input signal is evaluated in FC 26 with the help of the edge trigger flag. The active
coordinate system is shown in the following output signal:
● AB n + 0, Bit 0 (MCS/WCKS) with 0 = MCS, 1 = WCS
In case of active MCS the traversing key signals of the axes 1 - 6 are transferred in the axis-
specific interfaces (DB31, ... .DBX4.6 and DBX4.7 (traversing key +/-)) of the axes specified
in the machine axis tables (DB10.DBB8 to DBB13 or DBB32 to DBB37).
In case of active WCS it is assumed that the axes 1 - 3 of the machine axis table are
geometric axes. For this reason the traversing key signals:
● of the axes 1 - 3 (EB n + 2 / 3, Bit 0 - Bit 2) are transferred in the interface of the
geometric axes in DB21, ... .DBB 12 + (n * 4), with n = 0, 1, 2), Bit 6 and Bit 7 (traversing
keys +/-) of the channel specified with the parameter "ChanNo" .
Basic Functions
1122 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
The assignment of the traversing key signals of the axes 1, 2 and 3 to the geometric axes
1, 2 and 3 of the channel is permanent and may not be changed.
● of the axes 4 - 6 (EB n + 2 / 3, Bit 3 - Bit 5) are transferred in the axis-specific interface
(DB31, ... .DBX4.6 and DBX4.7 (traversing keys +/-)) of the axes 4 - 6 entered in the
machine axis table (DB10.DBB11 to DBB13 or DBB35 to DBB37).
Feed override
The value of the HT8 override switch is transferred as feed override in the chanel-specific
interface DB 21, ... .DBB4 (feedrate override) of the programmed channel (parameter:
"ChanNo") and in the axis-specific interfaces DB31, ... .DBB0 (feedrate override) of the axes
programmed in the table DB10.DBB8 to DBB13 (machine axis number).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1123
Basic PLC Program (P3)
Block descriptions
Handwheel selection
The hand-wheel selection signals are evaluated by HMI and transferred to the corresponding
NC/PLC interface signals of the machine or geometric axes:
● Geometry axes: DB21, ... DBB 12 + (n * 4), Bit 0 to Bit 2 (with n = 0, 1, 2)
● Machine axes: DB31, ... .DBX4.0 to DBX4.2
Requirement: FB 1-Parameter: "HWheelMMC" = TRUE
Basic Functions
1124 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Note
If an axis can be traversed from two MCP, then the implementation of a mutual interlocking
is the responsibility of the user (machine manufacturer).
Source: MCP Aim: Geometry axis of the prog. channel (Parameter: ChanNo)
Traversing key + DB21, ... .DBX12.7
Traversing key - DB21, ... .DBX12.6
Rapid traverse override DB21, ... .DBX12.5
Traversing key + DB21, ... .DBX16.7
Traversing key - DB21, ... .DBX16.6
Rapid traverse override DB21, ... .DBX16.5
Traversing key + DB21, ... .DBX20.7
Traversing key - DB21, ... .DBX20.6
Rapid traverse override DB21, ... .DBX20.5
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1125
Basic PLC Program (P3)
Block descriptions
Source: MCP Aim: Prog. axes corresponding to the table in DB 10, DBB 8 - 13
(1st MCP) or DBB 32 - 37 (2nd MCP)
Traversing key + DB31, ... .DBX4.7
Traversing key - DB31, ... .DBX4.6
Rapid traverse override DB31, ... .DBX4.5
Override
Source: MCP Aim: Prog. axes corresponding to the table in DB 10, DBB 8 - 13
(1st MCP) or DBB 32 - 37 (2nd MCP)
Feed override DB31, ... .DBB0
Channel signals
Basic Functions
1126 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Task
Machine control panel to application interface (FC 19 M variant, FC 24 slim variant, FC 25 T
variant, FC 26 HT8 variant)
Associated blocks
DB 7, no. of MOGs, channels, axes
DB 7, pointer of machine control panel
DB 8, storage for the next cycle
Resources used
None.
General
The blocks FC 19 (M version), FC 24 (slim-line version), FC 25 (T version) and FC 26 (HT8
version) transfer the signals of the machine control panel to and from the application
interface. In the input parameters, "ModeGroupNo" selects the mode group to be processed
by the block. The "ModeGroupNo" parameter also selects the number of the machine control
panel (Bit 4). "ChanNo" selects the channel to be processed.
Not FC 26:
The "SpindleIFNo" parameter defines the axis interface of the spindle. The spindle override
is transferred to this spindle interface. The parameters are checked for incorrect
parameterization.
Not FC 26:
Output parameters "FeedHold" and "SpindleHold" are generated from the 4 feed/spindle
disable and feed/spindle enable keys and are returned with "logical 1" for disable.
Information for the next cycle is stored in DB8, bytes 0 to 3 or bytes 62 to 65, depending on
the machine control panel number. This information is the edge trigger flag, feed value and
selected axis number. The blocks are provided with user data via the pointer parameters in
DB 7 "MCP1In" and "MCP1Out" ("MCP2In" and "MCP2Out"). The pointers are addressed
indirectly via a further pointer from the VAR section of DB7 in order to avoid absolute
addressing. This additional pointer is determined symbolically in FB1.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1127
Basic PLC Program (P3)
Block descriptions
Block description
All 4 components have a similar structure and are classified for the individual subtasks:
In the Input network, various parameters are copied to local variables. The machine control
signals (user data for input/output area) are also copied between locations using the various
pointers in DB 7 (gp_par). These local variables are handled in the block for reasons of
efficiency. Some values are initialized for the start-up.
MCS/WCS switchover with edge evaluation, axis selections, direction keys and rapid
traverse overlay is determined in the Global_IN network for further processing in the block
User-specific changes must take place in this part of the program, which are mainly oriented
at the axis selection.
Only the keyswitch information is copied in Network NC.
The mode group network transfers the modes of the keys as dynamic signals to the NCK.
The INC checkback signals from the NC are stored temporarily for the corresponding LEDs.
If the mode group number is 0, this network is not processed. A too large number generates
the message 401901 or 402501 and changes over after stop.
In the Channel network the NC Start, Stop, Reset and Single Block functions are activated
by corresponding checkback signals. The direction keys of the geometry axes are supplied if
a corresponding preselection is made, otherwise they are cleared. If the channel number is
0, this network is not processed. A too large number generates the message 401902 or
402502 and changes over after stop.
The Spindle network transfers the spindle override to the interface configured via
"SpindleIFNo".
The Network Axes transfers the feed override to the selected axis interface. The direction
keys are assigned to the selected axis/spindle. If an axis has been selected previously, the
direction information is set to 0.
The output parameters are prepared and the LED signals of the INC machine function are
generated in the Global_OUT network.
The Output network transfers the output signals of the machine control panel from the
VAR_TEMP image to the logical address. The data for the next cycle are also saved.
Basic Functions
1128 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Block descriptions
Note
The blocks are made available as STL sources if required. But they do not match the
current status of the block. Some details of the actual implementation in C have been
developed further. For this reason we recommend that you specify your additional
requirements for the blocks and that you pass these onto project management via the
sales department.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1129
Basic PLC Program (P3)
Signal/data descriptions
References
The NCK/PLC, HMI/PLC and MCP/PLC interface signals are contained in the Lists
document.
Lists sl (Book 2)
The reference code contained therein (according to the signal names) refer to the respective
function description, in which the signal is described.
The NCK signals that are evaluated by the basic program and transferred in conditioned
form to the user interface are presented in the following sections.
Note
The spindle-specific M functions below are not decoded: M3, M4, M5, and M70.
Basic Functions
1130 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Signal/data descriptions
Note
The M02/M30 auxiliary function output to the PLC does not state that the part program has
been terminated. To determine definitely the end of a part program in the channel, the
following interface signal must be evaluated:
DB21, ... .DBX33.5 (M02/M30 active)
The channel status must be RESET. The auxiliary function output could arise from an
asynchronous subroutine (ASUB) or a synchronized action and has nothing to do with the
real end of the part program in this case.
13.14.3 G Functions
The M functions programmed in the part program, ASUB or synchronized actions are
channel specifically transferred from the NC to the PLC:
● G functions from channel 1: DB 21
● G functions from channel 2: DB 22
● etc.
The signal length is one PLC cycle.
POWER ON
After POWER ON, the value zero, i.e. active G groups undefined, is specified in the NC/PLC
interface for all G groups.
Part program end or abort
After part program end or abort, the last state of the G group is retained.
NC START
After NC-START the values of the 8 G-groups specified in the machine data:
MD22510 $NC_ GCODE_GROUPS_TO_PLC
are overwritten according to the default setting set via the machine data as well as the
values programmed in the part program.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1131
Basic PLC Program (P3)
Signal/data descriptions
Basic Functions
1132 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Signal/data descriptions
Note
The number of user areas can be parameterized via FB 1.
After the configuration has been modified (FB 1: MsgUser), DB 2/3 must be deleted.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1133
Basic PLC Program (P3)
Programming tips with STEP 7
Copying variants
For the high-speed copying of data from one DB into another it is recommended
● for larger data quantities to use the system function SFC BLKMOV or SFC FILL, because
here a high-speed copying takes place.
● the routine given below is for smaller data quantities, because the supply of ANY
parameter to the SFCs consumes additional time.
Example
Code Comment
// DB xx.[AR1] is the source
// DI yy.[AR2] is the destination
OPEN DB 100; //Source DB
LAR1 P#20.0; //Source start address on data byte 20
OPEN DI 101; //Destination DB
LAR2 P#50.0; //Destination start address on data byte 50
//AR1, AR2, DB, DI loaded beforehand
L 4; //Transfer 8 bytes
M001:
L DBW [AR1,P#0.0]; //Copy word-oriented
T DIW [AR2,P#0.0];
+AR1 P#2.0;
+AR2 P#2.0;
TAK;
LOOP M001;
Basic Functions
1134 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Programming tips with STEP 7
Function
FC 99 has inputs parameters that are defined as POINTER or ANY.
The example shows a body program via which the subcomponents of the POINTER or ANY
can be accessed. In this case, the DB parameterized with POINTER or ANY is opened and
the address offset stored as a cross-area pointer in address register AR1, Thus allowing
access to data elements of variables (generally structures and arrays) that are addressed via
the POINTER, ANY.
This access operation is described at the end of the relevant program sequence in the
example. With data type ANY, it is also possible to execute a check or branch when the
variable is accessed based on the data type and the number of elements involved.
Example
Code Comment
FUNCTION FC 99: VOID
VAR_INPUT
Row: BYTE ;
Convert: BOOL ; //Activate numerical conversion
Addr: POINTER; //Points to variable
Addr1: ANY ;
END_VAR
VAR_TEMP
dbchr: WORD ;
Number: WORD ;
type: BYTE ;
END_VAR
BEGIN
NETWORK
TITLE =
//POINTER
L P##Addr;
LAR1 ; //Retrieve pointer
L W [AR1,P#0.0]; //Retrieve DB number
T #dbchr;
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1135
Basic PLC Program (P3)
Programming tips with STEP 7
Code Comment
L D [AR1,P#2.0]; //Offset part of pointer
LAR1 ;
AUF DB [#dbchr]; //Open DB of variables
L B [AR1,P#40.0]; //Retrieve byte value using pointer with
//address offset 40
//ANY
L P##Addr1;
LAR1 ; //Retrieve ANY
L B [AR1,P#1.0]; //Retrieve type
T #typ;
L W [AR1,P#2.0]; //Retrieve amount
T #Amount;
L W [AR1,P#4.0]; //Retrieve DB number
T #dbchr;
L D [AR1,P#6.0]; //Offset part of pointer
LAR1 ;
OPEN DB [#dbchr]; //Open DB of variables
L B [AR1,P#0.0]; //Retrieve byte value using ANY
Function
FB 99 has inputs parameters that are defined as POINTER or ANY.
The example shows a body program via which the subcomponents of the POINTER or ANY
can be accessed. In this case, the DB parameterized with POINTER or ANY is opened and
the address offset stored as a cross-area pointer in address register AR1, thus allowing
access to data elements of variables (generally structures and arrays) that are addressed via
the POINTER, ANY.
This access operation is described at the end of the relevant program sequence in the
example. With data type ANY, it is also possible to execute a check or branch when the
variable is accessed based on the data type and the number of elements involved.
Example
Code Comment
FUNCTIONBLOCK FB 99
VAR_INPUT
Row: BYTE ;
Convert: BOOL ; //Activate numerical conversion
Addr: POINTER; //Points to variable
Addr1: ANY ;
END_VAR
Basic Functions
1136 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Programming tips with STEP 7
Code Comment
VAR_TEMP
dbchr: WORD ;
Number: WORD ;
type: BYTE ;
END_VAR
BEGIN
NETWORK
TITLE =
//POINTER
L P##Addr;
LAR1 ; //Retrieve pointer from instance DB
L DIW [AR1,P#0.0]; //Retrieve DB number
T #dbchr;
L DID [AR1,P#2.0]; //Offset part of pointer
LAR1 ;
OPEN DB [#dbchr]; //Open DB of variables
L B [AR1,P#40.0]; //Retrieve byte value using pointer with
//address offset 40
//ANY
L P##Addr1;
LAR1 ; //Retrieve ANY from instance DB
L DIB [AR1,P#1.0]; //Retrieve type
T #typ;
L DIW [AR1,P#2.0]; //Retrieve amount
T #Amount;
L DIW [AR1,P#4.0]; //Retrieve DB number
T #dbchr;
L DID [AR1,P#6.0]; //Offset part of pointer
LAR1 ;
OPEN DB [#dbchr]; //Open DB of variables
L B [AR1,P#0.0]; //Retrieve byte value using ANY
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1137
Basic PLC Program (P3)
Programming tips with STEP 7
Note
Address register AR2 is used in the block. However, this address register AR2 is also used
for multi-instance DBs. For this reason, this FB should not be declared as multi-instance DB.
Code Comment
FUNCTIONBLOCK FB 100
CODE_VERSION1 //starting from STEP 7 Version 2 for deactivating the
//multi-instance DB
VAR_INPUT
WhichAny : INT ;
Addr1 : ANY ; //Observe predetermined order
Addr2 : ANY ;
Addr3 : ANY ;
Addr4 : ANY ;
END_VAR
VAR_TEMP
dbchr : WORD ;
Number: WORD ;
type : BYTE ;
Temp_addr : ANY ;
END_VAR
BEGIN
NETWORK
TITLE =
L WhichAny;
DEC 1;
L P#10.0; //10 bytes per ANY
*I;
Basic Functions
1138 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Programming tips with STEP 7
Code Comment
LAR2;
L P##Addr1;
+AR2; //Add ANY start addresses
L P##Temp_addr;
LAR1 ; //Retrieve pointer from VAR_TEMP
L DID [AR2,P#0.0]; //Transfer pointer value to VAR_TEM
T LD [AR1,P#0.0];
L DID [AR2,P#4.0];
T LD [AR1,P#4.0];
L DIW [AR2,P#8.0];
T LW [AR1,P#8.0];
Code Comment
FUNCTIONBLOCK FB 100
VAR_INPUT
DBNumber: INT ;
DBOffset : INT ;
Data type: INT ;
Number: INT ;
END_VAR
VAR_TEMP
dbchr : WORD ;
Temp_addr : ANY ;
END_VAR
BEGIN
NETWORK
TITLE =
L P##Temp_addr;
LAR1 ; //Retrieve pointer from VAR_TEMP
L B#16#10; //ANY identifier
T LB [AR1,P#0.0];
L Data type;
T LB [AR1,P#1.0];
L Amount;
T LW [AR1,P#2.0];
L DBNumber;
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1139
Basic PLC Program (P3)
Programming tips with STEP 7
Code Comment
T LW [AR1,P#4.0];
L DBOffset;
SLD 3; //Offset is a bit offset
T LD [AR1,P#6.0];
CALL FB 101, DB 100
(ANYPAR := #Temp_addr); //ANYPAR is data type ANY
13.15.3 Multi-instance DB
Function
From Version 2 in STEP 7, you can provide multi-instance enabled FBs, i.e. with multi-
instance DBs. The primary characteristic of multi-instance DBs is that a data module can be
used for various instances of FBs (see STEP 7 documentation), The quantity structure of the
DBs can be optimized this way.
Multi-instance DBs should be activated only when they are actually going to be used since
they increase the runtime and code size of the FBs.
Note
When complex programs are implemented in multi-instance enabled FBs that use a pointer
and address register, it is important for the programmer to observe certain rules.
With multi-instance DBs, the start address of the variable (VAR_INPUT, VAR_OUTPUT,
VAR_IN_OUT, VAR) is transferred with the DI data block register and address register AR2.
When variables are accessed within the multi-instance enabled FB, the compiler
independently controls the access operation via address register AR2. However, when
complex program sections also have to work with address registers in the same FB (e.g. to
copy data), then the old contents of AR2 must be saved before the register is changed. The
contents of AR2 must be restored to their original state before an instance variable
(VAR_INPUT, VAR_OUTPUT, VAR_IN_OUT, VAR) is accessed. The AR2 register of the
instance is to be saved most usefully in a local variable (VAR_TEMP).
The command "Load pointer to an instance variable" returns a pointer value from the start of
the instance data. To be able to access this variable via a pointer, the offset stored in AR2
must be added.
Basic Functions
1140 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Programming tips with STEP 7
Example
Code Comment
FUNCTION_BLOCK FB 99
VAR_INPUT
varin: INT ;
END_VAR
VAR
variable1: ARRAY[[0..9] of INT;
variable2: INT ;
END_VAR
BEGIN
L P##variable1; //Pointer at start of ARRAY
//The value 8500 0010 is now in the accumulator
//and a cross-area pointer is in the AR2
//Pointer. If one is to work across areas
//then, during the addition of these
//two pointers, an area is to be disabled.
AD DW#16#00FF_FFFF, //Skipping of an area
LAR1 //Load into AR1
TAR2;
+AR1 AR2; //AR2 instance offset to be added
//You can now indirectly access the ARRAY
//of variable 1 via AR1.
L DIW [AR1, P#0.0]; //E.g. access to the first element
END_FUNCTION_BLOCK
13.15.4 Strings
The STRING data type is required by certain services of the basic program. For this reason,
some additional facts about the string structure and general handling procedures for
parameter assignments are given below.
Structure of strings
A data of type STRING is generally stored (defined) in a data block. There are two methods
of defining a string:
1. Only the data type STRING is assigned to a variable. The STEP7 compiler automatically
generates a length of 254 characters.
2. Data type STRING is assigned to a variable together with a string length in square
parenthesis (e.g. [32]). With this method, the STEP7 compiler generates a string length
corresponding to the input.
Two bytes more than prescribed by the definition are always stored for variables of the
STRING data type. The STEP 7 compiler stores the maximum possible number of
characters in the 1st byte. The 2nd byte contains the number of characters actually used.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1141
Basic PLC Program (P3)
Programming tips with STEP 7
Normally, the useful length of the assigned strings is stored by the STEP 7 compiler.
The characters (1 byte per character) are then stored from the 3rd byte onwards.
String parameters are generally assigned to blocks of the basic program by means of a
POINTER or ANY. Such assignments must generally by made using symbolic programming
methods. The data block, which contains the parameterizing string, must be stored in the
symbol list. The assignment to the basic program block is then made by means of the
symbolic data block name followed by a full stop and the symbolic name of the string
variable.
Function
Another task, which occurs frequently, is symbolic determination of an offset address within
a structured DB, e.g. an ARRAY or STRUCTURE is stored somewhere within the DB. After
loading the address register symbolically with the start address, you might like to access the
individual elements of the ARRAY or STRUCTURE via an address register. One way of
loading the address register symbolically is to use an FC whose input parameter is a pointer.
The address of the ARRAY or STRUCTURE is then assigned symbolically to the input
parameter of this FC in the program. The program code in the FC now determines the offset
address from the input parameter, and passes the offset address in the address register
(AR1) to the calling function. Symbolic addressing is thus possible even with indirect access.
Example
Code Comment
FUNCTION FC 99: VOID
VAR_INPUT
Addr: POINTER; //Points to variable
END_VAR
BEGIN
NETWORK
TITLE =
L P##Addr;
LAR1 ; //Retrieve pointer from Addr
L D [AR1,P#2.0]; //Offset part of pointer of variable
LAR1 ;
END_FUNCTION
Basic Functions
1142 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Programming tips with STEP 7
13.15.6 FB calls
Function
For optimizing the flow speeds, it is useful to call all function block calls with many static
parameters, such as the blocks FB 2, 3, 4, 5, and 7 provided by the basic program in start-up
with the related instance parameters. In the start-up (OB 100), the preassignment of the
parameters must be done, which can then no longer be changed in the cyclic part (OB 1).
These fixed parameter values are no longer parameterized in the cyclic call, because they
have already been written in the Instance DB.
CALL FB 2, DB 110 (
Req := M 100.0,
NumVar := 2, //Read 2 variables
Addr1 := NCVAR.C1_RP_rpa0_0
Line1 : W#16#1
Addr2 := NCVAR.C1_RP_rpa0_0
Line2 . W#16#2
Error := M1.0,
NDR := M1.1,
State := MW 2,
RD1 := P#M 4.0 REAL 1,
RD2 := P#M 24.0 REAL 1,
CALL FB 2, DB 110 (
Req := FALSE,
NumVar := 2, //Read 2 variables
Addr1 := NCVAR.C1_RP_rpa0_0
Line1 : W#16#1
Addr2 := NCVAR.C1_RP_rpa0_0
Line2 . W#16#2
RD1 := P#M 4.0 REAL 1,
RD2 := P#M 24.0 REAL 1,
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1143
Basic PLC Program (P3)
Programming tips with STEP 7
CALL FB 2, DB 110 (
Req := M0.0,
Error := M1.0,
NDR := M1.1,
State := MW 2,
Note
Owing to this measure, a shorter cycle time is achieved in OB 1, because the static
parameter values need not be copied in the instance DB in each OB-1 cycle.
Basic Functions
1144 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Basic PLC Program (P3)
Data lists
Note
Machine data in integer/hex format is operated in the NC as DWORD. A machine data in
floating point format is managed in the NC as FLOAT (8-Byte IEEE) They are stored only in
the NC/PLC interface and can be read by the PLC user program from DB 20 even during
PLC booting.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1145
Basic PLC Program (P3)
Data lists
Basic Functions
1146 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1) 14
14.1 Brief description
Function
The "Reference Point Approach" function is used to synchronize the measuring system of a
machine axis with machine zero. The machine axis is traversed to machine zero and the
measuring system set to zero.
If it is not possible to approach machine zero directly, a reference point within the traversing
range of the machine axis is used whose position with reference to machine zero precisely
known.
After the reference point approach, the measuring system of the machine axis is not set to
zero but to the corresponding reference point value.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1147
Reference Point Approach (R1)
Brief description
Start
The reference point approach of a machine axis can be started manually or via the part
program:
● Manual: Operation mode JOG and MDA, machine function REF
● Part program: Part program command G74
Basic Functions
1148 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Axis-specific referencing
Direction enable
To avoid faulty operation, the direction release must be parameterized:
MD34010 $MA_REFP_CAM_DIR_IS_MINUS (approach reference point in minus direction)
The direction enable specifies which traversing key starts the reference point approach:
Value Description
0 Reference point approach in plus direction
1 Reference point approach in minus direction
Jog mode
The following machine data element can be used to specify whether reference point
approach is completed when the direction key is pressed once or whether the operator is
required to keep the direction key pressed (jogging) for safety reasons:
MD11300 $MN_JOG_INC_MODE_LEVELTRIGGRD (INC and REF in jog mode)
If the machine operator releases the direction key, the machine axis is decelerated to zero
speed. Reference point approach is not aborted. Reference point approach is continued the
next time the direction key is pressed.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1149
Reference Point Approach (R1)
Axis-specific referencing
Referencing status
The referencing status of the machine axis is reset with the start of the reference point
approach:
DB31, ... DBX60.4 (referenced/synchronized 1)
DB31, ... DBX60.5 (referenced/synchronized 2)
DB21, ... DBX36.2 (all axes with obligatory reference point are referenced)
Sequence
The machine operator or machine manufacturer (via the PLC user program) is responsible
for ensuring that the machine axes are referenced in the proper order.
● Machine operator
The machine axes must be started by the machine operator in the specified order.
● Machine manufacturer
The PLC user program of the machine manufacturer allows machine axes to be started
only in the proper order.
Basic Functions
1150 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Axis-specific referencing
For aborting the reference point approach, either mode group reset or channel reset for the
master channel of the machine axis must be activated:
DB11, ... DBX0.7 (mode group reset)
DB21, ... DBX7.7 (channel reset)
All machine axes that have not yet successfully completed reference point approach when
the action is cancelled remain in status "Not referenced":
DB31, ... DBX60.4 (referenced/synchronized 1)
DB31, ... DBX60.5 (referenced/synchronized 2)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1151
Reference Point Approach (R1)
Channel-specific referencing
Number Description
-1 The machine axis does not have to be referenced for NC START in the channel.
0 The machine axis does not participate in channel-specific reference point approach.
1 - 15 Sequence number in channel-specific reference point approach.
Basic Functions
1152 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Channel-specific referencing
Referencing status
The referencing status of the machine axis is reset with the start of the reference point
approach:
DB31, ... DBX60.4 (referenced/synchronized 1)
DB31, ... DBX60.5 (referenced/synchronized 2)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1153
Reference Point Approach (R1)
Reference point appraoch from part program (G74)
Programming
Syntax
G74Machine axis { Machine axis }
Function
Machine axes can be referenced from a part program with part program instruction G74
Parameter: Machine axes
The name of the machine axis must be specified. The machine axis must be a channel axis
of the channel in which the part program is processed.
Effective:
G74 is non-modal.
Special features
G74 must be programmed in a separate part program block.
Reset response
Mode group reset or channel reset aborts the reference point approach for all programmed
machine axes:
DB11, ... DBX0.7 (mode group reset)
DB21, ... DBX7.7 (channel reset)
All machine axes for which the reference point approach is not yet successfully completed
when the action is cancelled remain in status "Not referenced":
DB31, ... DBX60.4 (referenced/synchronized 1)
DB31, ... DBX60.5 (referenced/synchronized 2)
Basic Functions
1154 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Referencing with incremental measurement systems
Function
Referencing of incremental measuring systems is based on the unique position of the
encoder zero mark relative to the overall traversing range of the machine axis. If several
encoder zero marks are detected in the traversing range of the machine axis due to
machine-specific factors, e.g. reduction gear between encoder and load, a BERO must be
mounted on the machine and connected to the relevant drive module (SIMODRIVE 611D)
via a BERO input in order to uniquely specify the reference point. The position of the
reference point is then derived from the combination of BERO signal and encoder zero mark.
%(52
/RDG
'ULYH 0RWRU *HDU
6SLQGOH
0HDVXULQJV\VWHP
3RVLWLRQ
=HURPDUN
Zero mark evaluation with BERO must be parameterized as the referencing mode:
MD34200 $MA_ENC_REFP_MODE = 5
Negative edge evaluation
In the case of a referencing operation with a negative edge evaluation of the BERO signal:
MD34120 $MA_REFP_BERO_LOW_ACTIVE = FALSE
synchronization is with the next encoder zero mark encountered after the BERO is exited.
Positive edge evaluation
In the case of a referencing operation with a positive edge evaluation of the BERO signal:
MD34120 $MA_REFP_BERO_LOW_ACTIVE = TRUE
synchronization is with the next encoder zero mark encountered after the BERO is
approached.
If, mechanically, the BERO is sized in such a way that the positive BERO signal covers the
entire width of the encoder zero mark, the encoder zero mark will be reliably detected in both
traversing directions.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1155
Reference Point Approach (R1)
Referencing with incremental measurement systems
'%'%; GHFHOHUDWLRQRIUHIHUHQFHSRLQWDSSURDFK
'%'%; 0RWLRQFRPPDQGSOXV
'%'%; 0RWLRQFRPPDQGPLQXV
'%'%;DQG WUDYHUVLQJNH\SOXVPLQXV
'%'%;DQG UHIHUHQFHGV\QFKURQL]HG
=HURPDUNSRVLWLRQPHDVXULQJV\VWHP
9HORFLW\
0'0$B5()3B9(/2B6($5&+B&$0
5HIHUHQFHSRLQWDSSURDFKYHORFLW\
0'0$B5()3B9(/2B326
5HIHUHQFHSRLQWSRVLWLRQLQJYHORFLW\
0'0$B5()3B9(/2B6($5&+B0$5.(5
5HIHUHQFHSRLQWFUHHSYHORFLW\
W
Figure 14-2 Time sequence when referencing with incremental measuring systems (example)
Basic Functions
1156 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Referencing with incremental measurement systems
'%'%; GHFHOHUDWLRQRIUHIHUHQFHSRLQWDSSURDFK
'%'%; 0RWLRQFRPPDQGSOXV
'%'%; 0RWLRQFRPPDQGPLQXV
'%'%;DQG WUDYHUVLQJNH\SOXVPLQXV
'%'%;DQG UHIHUHQFHGV\QFKURQL]HG
=HURPDUNSRVLWLRQPHDVXULQJV\VWHP
9HORFLW\
0'0$B5()3B9(/2B6($5&+B&$0
5HIHUHQFHSRLQWDSSURDFKYHORFLW\
0'0$B5()3B9(/2B6($5&+B0$5.(5
5HIHUHQFHSRLQWFUHHSYHORFLW\
0'0$B5()3B9(/2B326
5HIHUHQFHSRLQWSRVLWLRQLQJYHORFLW\
3KDVH W
Phase 1: Start
For information on starting reference point approach, refer to "Axis-specific referencing" and
"Channel-specific referencing."
Phase 1: Sequence
In phase 1, depending on the position of the machine axis with reference to the homing cam,
we distinguish between three cases:
1. The machine axis is positioned before the reference cam
2. The machine axis is positioned on the reference cam
3. The machine axis has no reference cam
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1157
Reference Point Approach (R1)
Referencing with incremental measurement systems
0'0$B5()3B9(/2B6($5&+B0$5.(5
60,1
0'0$B0$;B$;B$&&(/
This minimum distance is required to ensure that the machine axis exits the reference cam in
Phase 2 at the parameterized reference point creep velocity.
Phase 1 is now complete. Reference point approach is continued with Phase 2.
0'0$B5()3B0$;B&$0B',67
0D[LPXPGLVWDQFHWRUHIHUHQFHFDP
9HORFLW\
0LQLPXPGLVWDQFH
0'0$B5()3B9(/2B6($5&+B&$0
5HIHUHQFHSRLQWDSSURDFKYHORFLW\
'LVWDQFH
Basic Functions
1158 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Referencing with incremental measurement systems
Zero must be entered in the following machine data for machine axes without a reference
point cam:
MD34000 $MA_REFP_CAM_IS_ACTIVE (Axis with reference cam) = 0
Phase 1 is now complete. Reference point approach is continued with Phase 2.
Phase 1: Features
● Feed override active.
● Feed stop (channel-specific and axis-specific) is active.
● NC-STOP and NC-START are active.
● The machine axis is stopped if the reference cam does not arrive within the
parameterized distance:
MD34030 $MA_REFP_MAX_CAM_DIST (max. distance to reference cam)
DB31, ... DBX12.7 (reference point approach delay) = 1
'%'%; GHFHOHUDWLRQRIUHIHUHQFHSRLQW
DSSURDFK
'%'%; 0RWLRQFRPPDQGSOXV
'%'%; 0RWLRQFRPPDQGPLQXV
'%'%;DQG WUDYHUVLQJNH\SOXVPLQXV
'%'%;DQG UHIHUHQFHGV\QFKURQL]HG
=HURPDUNSRVLWLRQPHDVXULQJV\VWHP
9HORFLW\
0'0$B5()3B9(/2B6($5&+B&$0
5HIHUHQFHSRLQWDSSURDFKYHORFLW\
0'0$B5()3B9(/2B326
5HIHUHQFHSRLQWSRVLWLRQLQJYHORFLW\
0'0$B5()3B9(/2B6($5&+B0$5.(5
5HIHUHQFHSRLQWFUHHSYHORFLW\
3KDVH
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1159
Reference Point Approach (R1)
Referencing with incremental measurement systems
Phase 2: Start
Phase 2 is automatically started when phase 1 has been completed without an alarm.
Initial situation:
The machine axis is positioned on the reference cam.
Zero mark search direction:
The zero mark is searched for in the parameterized direction and approached:
MD34050 $MA_REFP_SEARCH_MARKER_REVERSE (direction reversal on reference cam)
Phase 2: Sequence
Synchronization in Phase 2 can occur in two ways:
● Synchronization with falling reference cam signal edge
● Synchronization with rising reference cam signal edge
The type of synchronization is determined with the machine data:
MD34050 $MA_REFP_SEARCH_MARKER_REVERSE (direction reversal on reference cam)
Value Meaning
0 Synchronization with falling reference cam signal edge
1 Synchronization with rising reference cam signal edge
Note
If the actual velocity of the machine axis at appraoch of the reference cam has not yet
reached the target velocity of Phase 2 within the parameterized tolerence limits, Phase 1 will
be re-started:
MD35150 $MA_SPIND_DES_VELO_TOL (spindle speed tolerance)
This will be the case, for example, if the machine axes are positioned at the reference cam
when reference point approach starts.
Basic Functions
1160 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Referencing with incremental measurement systems
As soon as the encoder zero mark is detected, Phase 2 comes to an end. The machine axis
continues at constant velocity and reference point approach is continued with phase 3.
9HORFLW\
0'0$B5()3B0$;B0$5.(5B',67
0D['LVWDQFHWRUHIHUHQFHPDUN
0'0$B5()3B9(/2B6($5&+B&$0
5HIHUHQFHSRLQWDSSURDFKYHORFLW\
0'0$B5()3B9(/2B6($5&+B0$5.(5
5HIHUHQFHSRLQWFUHHSYHORFLW\
'LVWDQFH
6WDUWLQJSRVLWLRQ 5HIHUHQFH
=HUR SRLQWFDP
RID[LV
0DUN
'HFHOHUDWLRQ
5HIHUHQFHSRLQW
DSSURDFK
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1161
Reference Point Approach (R1)
Referencing with incremental measurement systems
9HORFLW\ 0'0$B5()3B0$;B0$5.(5B',67
0D[GLVWDQFHWRUHIHUHQFHPDUN
0'0$B5()3B9(/2B6($5&+B&$0
5HIHUHQFHSRLQWDSSURDFKYHORFLW\
0'0$B5()3B9(/2B6($5&+B0$5.(5
5HIHUHQFHSRLQWFUHHSYHORFLW\
'LVWDQFH
'(/$<
6WDUWLQJSRVLWLRQ RIUHIHUHQFHSRLQW
RID[LV =HUR
DSSURDFK
0DUN
The reference cam offset acts in the direction of zero mark search.
Prerequisite
The reference cam offset is only active for machine axes for which a reference cam has
been parameterized:
MD34000 $MA_REFP_CAM_IS_ACTIVE = 1
Basic Functions
1162 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Referencing with incremental measurement systems
7KHUPDOH[SDQVLRQ
&DPVLJQDO
=HURPDUNVHDUFK
=HURPDUN
&DPVLJQDOZLWK
RIIVHW
0'0$B5()3B&$0B6+,)7
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1163
Reference Point Approach (R1)
Referencing with incremental measurement systems
Setting notes
● reference cam
Aligning the signal edge of the reference cam directly between two zero marks has
proven to be the most practical method.
● Electronic reference cam offset
Information needed for parameterizing the electronic reference cam offset is to be found
in the read-only machine data:
MD34093 $MA_REFP_CAM_MARKER_DIST (distance between reference cam/reference
mark)
The indicated value is equivalent to the distance between departure from the reference
cam and detection of the reference mark. If the values are too small, there is a risk that
the determination of the reference point will be non-deterministic, due to temperature
effects or fluctuations in the operating time of the cam signal.
WARNING
If the reference cam adjustment is faulty or inaccurate, an incorrect zero mark can be
evaluated. The control then calculates an incorrect machine zero. As a result, the
machine axis will approach the wrong positions. Software limit switches, protected areas
and working area limitations act on incorrect positions and are therefore incapable of
protecting the machine. The path difference is +/- of the path covered by the machine
axis between 2 zero marks.
Phase 2: Features
● Feedrate override is not active.
Internal motion with feedrate override = 100%.
If a feedrate override of 0% is specified, motion is aborted.
● Feed stop (channel-specific and axis-specific) is active.
● NC-STOP and NC-START are not active.
● If the machine axis does not arrive at Phase 2 within the parameterized distance of the
reference mark (encoder zero mark), the machine axis will be stopped:
MD34060 $MA_REFP_MAX_MARKER_DIST (max. distance to the reference mark)
Basic Functions
1164 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Referencing with incremental measurement systems
'%'%; UHIHUHQFHSRLQWDSSURDFKGHFHOHUDWLRQ
'%'%; 0RWLRQFRPPDQGSOXV
'%'%; 0RWLRQFRPPDQGPLQXV
'%'%;DQG WUDYHUVLQJNH\SOXVPLQXV
'%'%;DQG UHIHUHQFHGV\QFKURQL]HG
=HURPDUNSRVLWLRQPHDVXULQJV\VWHP
9HORFLW\
0'0$B5()3B9(/2B6($5&+B&$0
5()(5(1&(32,17$3352$&+9(/2&,7<
0'0$B5()3B9(/2B326
5()(5(1&(32,17326,7,219(/2&,7<
0'0$B5()3B9(/2B6($5&+B0$5.(5
5()(5(1&(32,17&5((39(/2&,7<
3KDVH
Phase 3: Start
At the end of phase 2 the machine axis travels at reference point creep velocity. Therefore,
as soon as phase 2 is completed successfully without an alarm, phase 3 is started without
interruption.
Initial situation
The encoder zero mark has been detected.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1165
Reference Point Approach (R1)
Referencing with incremental measurement systems
Phase 3: Sequence
The machine axis moves at the assigned reference point positioning velocity:
MD34070 $MA_REFP_VELO_POS (reference point positioning velocity)
from the encoder zero mark detected in Phase 2 to the reference point.
The path sref to be covered is calculated from the sum of the reference point distance plus
reference point offset:
MD34080 $MA_REFP_MOVE_DIST (reference point distance)
MD34090 $MA_REFP_MOVE_DIST_CORR (reference point offset)
Velocity
MD34080 $MA_REFP_MOV_DIST +
MD34090 $MA_REFP_MOVE_DIST_CORR
Distance
Zero Mark of reference
DELAY point cam
of reference
point approach
When the reference point is reached the machine axis is stopped and the actual value
system of the machine axis is synchronized with the reference point value specified by the
PLC user program.
MD34100 $MA_ REFP_SET_POS [ n] (Reference point value)
The reference point value is specified by the PLC user program via:
DB31, ... DBX2.4/.5/.6/.7 (reference point value 1/2/3/4)
The reference point value, which was selected by the PLC user program at the time of the
arrival of the reference cam in Phase 1 (DB31, ... DBX12.7 = 1), is taken over by the NC.
The machine axis is now referenced. As identification, the NC sets the appropriate interface
signal depending on the active measuring system:
DB31, ... DBX60.4/.5 (Referenced/Synchronized 1/2) = 1
Basic Functions
1166 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Referencing with incremental measurement systems
Features of phase 3
● Feed override active.
● Feed stop (channel-specific and axis-specific) is active.
● NC STOP and NC START are active.
([DPSOH 0'0$B5()3B029(B',670'0$B5()3B6(7B326B&255
0'0$B5()3B6(7B326>RU@
9HORFLW\ UHIHUHQFHSRLQWYDOXH
0'0$B5()3B9(/2B6($5&+B&$0
5HIHUHQFHSRLQWDSSURDFK
YHORFLW\
0'0$B5()3B9(/2B6($5&+B0$5.(5
5HIHUHQFHSRLQWFUHHSYHORFLW\
'LVWDQFH
=HUR0DUN RIUHIHUHQFH
'(/$< SRLQWFDP
RIUHIHUHQFH
SRLQWDSSURDFK
Figure 14-11 Reference point distance plus reference point offset smaller than braking distance
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1167
Reference Point Approach (R1)
Referencing with incremental measurement systems
General information
In the case of incremental encoders, actual values can be buffered even after POWER OFF.
This gives rise to the following functionalities:
● "Buffered actual value" followed by automatic referencing.
● "Position restoration with POWER ON":
The buffered actual values are adopted as automatic reference values.
WARNING
During the time in which the measuring system (encoder) of the machine axis is switched
off (POWER OFF, "parking" the axis, etc.), the machine axis may not be moved any further
by mechanical means (e.g. "coasting" axes). This must be supported by the machine
manufacturer with such measures as holding brakes, etc., and ensured by the user.
Otherwise the actual value system of the machine axis will no longer be synchronized
resulting in danger to personnel and machine. If this situation cannot be prevented
mechanically, it would be better to use absolute encoders.
Automatic referencing
By buffering the actual value, "automatic referencing" is enabled, which does not require
machine axes with incremental measuring systems, after situations in which they are in the
"Not referenced" condition, to traverse back to the reference point for referencing of the
measuring system. For example, this is the case after:
● POWER OFF/ON
● "Parking" selected:
DB31, ... DBX1.5/1.6 (position measuring system 1/2) = 0
DB31, ... DBX2.1 (servo enable) = 0
If the function is active, referencing is performed without axis motion by synchronizing the
actual value system of the machine axis to the last valid actual value. The actual value is
buffered in a retentive memory area of the control even after POWER OFF.
Basic Functions
1168 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Referencing with incremental measurement systems
Note
Within the scope of actual value buffering, the following axis-specific interface signal is
evaluated:
DB31, ... DBX60.7 (Position reached with fine exact stop)
The actual values of machine axes that do not use the signal cannot be buffered.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1169
Reference Point Approach (R1)
Referencing with incremental measurement systems
Functional sequence
Two different cases apply for automatic referencing, which depend on the encoder status:
● Case 1: Encoder status = 2
Automatic referencing in parameterized, the measuring system has been referenced and
the machine axis was switched off in status "exact stop fine".
As a result:
– The actual value system of the machine axis is synchronized with the buffered actual
value.
– The status of the machine axis is set to "Referenced".
DB31, ... DBX60.4/60.5 (Referenced/Synchronized 1/2) = 1
● Case 2: Encoder status = 1
Automatic referencing in parameterized but the measuring system has either not yet been
referenced or the machine axis was not switched off in status "exact stop fine".
As a result:
– The actual value system of the machine axis is synchronized with zero.
– The status of the machine axis is set to "Not referenced":
DB31, ... DBX60.4/60.5 (Referenced/Synchronized 1/2) = 0
Function
In addition to the axis position, incremental encoder buffering also sets the referenced
status. However, the restored incremental encoder position is actually not the same as "real"
re-referencing. In order to assess the quality of the restored position, a "restored" status is
delivered instead of the "referenced" status.
Parameter assignment
In order to restore the last axis position buffered before switching off, the machine data must
be set:
MD34210 $MA_ENC_REFP_STATE = 3.
Referencing does not take place automatically. The encoder state is "Position restored".
Monitoring for the software limit switches is already activated in this state.
This state is indicated by signals in the NCK PLC interface:
NST DB31, ... DBX71.4 ("Restored 1") for encoder 1
NST DB31, ... DBX71.5 ("Restored 2") for encoder 2
Basic Functions
1170 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Referencing with incremental measurement systems
The "Position restored" state can only be exited by referencing the axis. NST DB31, ...
DBX71.4/5 ("Restored 1/2") are deleted and
NST DB31, ... DBX60.4/5 ("Referenced/Synchronized 1/2") are set.
Note
In the case of spindles, the states "Position restored" and "Referenced/Synchronized" can
also be deleted by exceeding the encoder limit frequency.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1171
Reference Point Approach (R1)
Referencing with distance-coded reference marks
Basic Functions
1172 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Referencing with distance-coded reference marks
5HIHUHQFHPDUN
Figure 14-12 DIADUR graduated glass scale with distance-coded reference marks
(dimensions in mm for 20 mm scale division)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1173
Reference Point Approach (R1)
Referencing with distance-coded reference marks
4. Measure the current position of the machine axis with reference to the machine zero
point.
5. Calculate absolute offset and enter in MD34090.
The absolute offset is calculated with respect to the machine coordinate system and
depending on the orientation of the measuring system (equidirectional or inverse) as:
WARNING
After determining the absolute offset and the entry in MD34090, the reference point
traversing for the machine axis must be carried out once more.
Referencing methods
Referencing with distance-coded reference marks can be performed in one of two ways:
● Evaluation of two consecutive reference marks:
MD34200 $MA_ENC_REFP_MODE (referencing mode) = 3
Advantage:
– Short travel path
● Evaluation of four consecutive reference marks:
MD34200 $MA_ENC_REFP_MODE = 8
Advantage:
– Plausibility check by NC is possible
– Increase in reliability of referencing result
Basic Functions
1174 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Referencing with distance-coded reference marks
Chronological sequence
Referencing with distance-coded reference marks can be divided into two phases:
● Phase 1: Travel across the reference marks with synchronization
● Phase 2: Traveling to a fixed destination point
'%'%; GHFHOHUDWLRQRIUHIHUHQFHSRLQWDSSURDFK
'%'%; 0RWLRQFRPPDQGPLQXV
'%'%;DQG WUDYHUVLQJNH\SOXVPLQXV
'%'%; UHIHUHQFHGV\QFKURQL]HG
5HIHUHQFHPDUNVOLQHDUPHDVXULQJV\VWHP
9HORFLW\
0'0$B5()3B9(/2B326
5HIHUHQFHSRLQWSRVLWLRQLQJYHORFLW\
0'0$B5()3B9(/2B6($5&+B0$5.(5
5HIHUHQFHSRLQWFUHHSYHORFLW\
3KDVH 3KDVH
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1175
Reference Point Approach (R1)
Referencing with distance-coded reference marks
Phase 1: Start
For information on starting reference point approach, refer to "Axis-specific referencing" and
"Channel-specific referencing."
Reference cam
In measuring systems with distance-coded reference marks, reference cams are not
required for the actual referencing action. For functional reasons, however, a reference cam
is required for channel-specific reference point approach and reference point approach from
the part program (G74) before the traversing range end of the machine axis.
Phase 1: Sequence
Sequence without touching a reference cam
Once reference point approach is started, the machine axis accelerates to the assigned
reference point creep velocity:
MD34040 $MA_REFP_VELO_SEARCH_MARKER (reference point creep velocity)
Once the parameterized number of reference marks has been crossed, the machine axis is
stopped again and the actual value system of the machine axis is synchronized to the
absolute position calculated by the NC.
Sequence when starting from the reference cam
If the machine axis is at the reference cam at the start of the reference point traversing, it
accelerates to the parameterized reference point creep velocity against the parameterized
reference point approach direction:
MD34040 $MA_REFP_VELO_SEARCH_MARKER (reference point creep velocity)
MD34010 $MA_CAM_DIR_IS_MINUS (Reference point approach in minus direction)
That ensures that the machine axis does not reach the travel range limit before it has
crossed the parameterized number of reference marks.
Once the parameterized number of reference marks has been crossed, the machine axis is
stopped again and the actual value system of the machine axis is synchronized to the
absolute position calculated by the NC.
Basic Functions
1176 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Referencing with distance-coded reference marks
Abort criterion
If the parameterized number of reference marks is not detected within the parameterized
distance, the machine axis is stopped and reference point traversing is aborted.
MD34060 $MA_REFP_MAX_ MARKER_DIST (max. distance to the reference mark)
Features of phase 1
After phase 1 is successfully completed, the actual value system of the machine axis is
synchronized.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1177
Reference Point Approach (R1)
Referencing with distance-coded reference marks
Phase 2: Start
Phase 2 is automatically started when phase 1 has been completed without an alarm.
Initial situation:
● The machine axis is positioned directly behind the last of the parameterized number of
reference marks.
● The actual value system of the machine axis is synchronized.
Phase 2: Sequence
In Phase 2, the machine axis completes reference point approach by traversing to a defined
target position (reference point). This action can be suppressed in order to shorten the
reference point approach:
MD34330 $MA_STOP_AT_ABS_MARKER
Value Meaning
0 Travel to target position
1 No travel to target position
Basic Functions
1178 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Referencing with distance-coded reference marks
Features of phase 2
Phase 2 will display different characteristics, depending on whether a reference point cam is
parameterized for the machine axis.
Machine axis without reference point cam
MD34000 $MA_REFP_CAM_IS_ACTIVE (Axis with reference point cam) = 0
Properties:
● Feed override active.
● The feed stop (channel-specific and axis-specific) is active.
● NC STOP and NC START are active.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1179
Reference Point Approach (R1)
Referencing with distance-coded reference marks
Note
The reference point position is mapped onto the assigned (ghost) modulo range even with
axis function "Determination of reference point position rotary, distance-coded encoder within
the configured modulo range":
MD30455 $MA_MISC_FUNCTION_MASK (axis functions), BIT1 = 1
Basic Functions
1180 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Referencing by means of actual value adjustment
Function
When actual value adjustment to the referencing measuring system is performed, the
resulting absolute actual position after successful referencing of the measuring system of a
machine axis is transferred directly to all other measuring systems of the machine axis, and
the machine axis is designated as referenced:
DB31, ... DBB60.4/60.5 (referenced/synchronized 1/2) = 1
Advantage
When the machine axis switches from an explicitly referenced measuring system to the
measuring system referenced by actual value adjustment, continuous servo control is
assured (servo enable active) because the matched actual position prevents a sudden
change in actual value.
Note
In order to improve positioning precision by determining the measuring-system-specific
encoder fine information, we recommend explicitly re-referencing the measuring system
previously referenced by actual value adjustment after switching over.
Activation
The activation of the actual value adjustment to the referencing measuring system is
machine-specifically carried out via:
MD34102 $MA_REFP_SYNC_ENCS = 1
Function
If a machine axis has several measuring systems and one of them is referenced, the
remaining measuring systems can be referenced by actual value adjustment to the
measuring system already referenced.
Advantage
Referencing does not take as long because the path to be traversed only has to be
sufficiently along to allow elimination of the backlash in both measuring systems.
If the distance to the traversing range limits is large enough, referencing can be started at
any point along the traversing range of the machine axis in any direction because no zero
mark, reference point cam, etc., is required.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1181
Reference Point Approach (R1)
Referencing by means of actual value adjustment
Parameter assignment
The following machine data must be parameterized for actual value adjustment to a
referenced measuring system:
● Homing mode: Actual value adjustment to a referenced measuring system
MD34200 $MA_ENC_REFP_MODE[measuring system] = 6
● Traverse path for backlash recovery:
MD34080 $MA_REFP_MOVE_DIST[measuring system] (reference point distance)
Note
Reference point distance greater than zero
To ensure reliable backlash recovery, the assigned value for the reference point distance
must be greater than the maximum backlash of both measuring systems.
Reference point distance equal to zero
The reference point distance can also equal zero. In this case, actual value adjustment is
performed without a traversing movement as soon as reference point approach starts. In
this case, the active backlash should be less than half the increment of the measuring
system whose actual value is taken.
14.7.3 Actual value adjustment for measuring systems with distance-coded reference
marks
Function
In order to improve positioning precision by determining the measuring-system-specific
encoder fine information, we recommend explicitly re-referencing the measuring system
previously referenced by actual value adjustment after switching over the measuring system.
If an encoder with distance-coded reference marks is used for the passive measuring
system, referencing can be avoided if the following conditions are met:
1. Active measuring system: indirect measuring system (motor measuring system) with
absolute encoder, for example
2. Passive measuring system: Direct measuring system with distance-coded reference
marks
3. Travel movement of the machine axis with the referenced indirect measuring system
before measuring system switchover in which the number of reference marks required for
referencing are crossed. This automatically references the passive direct measuring
system.
Basic Functions
1182 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Referencing by means of actual value adjustment
Parameterization
In addition to the specific machine data required to reference the individual measuring
systems, the following machine data must be set:
● Enable actual value adjustment:
MD34102 $MA_REFP_SYNC_ENCS = 1
● Direct measuring system with distance-coded reference marks:
– MD34200 $MA_ENC_REFP_MODE[measuring system] = 3
Distance-coded reference marks
– MD30242 $MA_ENC_IS_INDEPENDENT[measuring system] = 2
During actual value adjustment, the passive direct measuring system is adjusted to
the actual position of the active indirect measuring system, but is not marked as
referenced. After the parameterized number of reference marks have been crossed,
the passive direct measuring system is automatically referenced. Referencing is
performed in every operating mode.
Sequence
1. Initial situation: Neither of the measuring systems are referenced:
DB31, ... DBX60.4 = 0 (referenced/synchronized 1)
DB31, ... DBX60.5 = 0 (referenced/synchronized 2)
2. Reference the indirect measuring system according to the measuring system type:
DB31, ... DBX60.4 = 1 (referenced/synchronized 1)
DB31, ... DBX60.5 = 0 (referenced/synchronized 2)
3. Traverse the machine axis across the parameterized number of reference marks.
This automatically references the direct measuring system:
DB31, ... DBX60.4 = 1 (referenced/synchronized 1)
DB31, ... DBX60.5 = 1 (referenced/synchronized 2)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1183
Reference Point Approach (R1)
Referencing in follow-up mode
Function
Incremental measuring systems and measuring systems with distance-coded reference
marks can be referenced even when the machine axis is in follow-up mode. This requires
that reference point approach be properly parameterized according to the measuring system
in use (see "Referencing with incremental measuring systems" and "Referencing with
distance-coded reference marks").
When referencing in follow-up mode the machine axis is moved not by the NC but by means
of an external travel movement over the encoder zero mark and the parameterized number
of distance-coded reference marks. The measuring system is referenced when the encoder
zero mark or parameterized number of distance-coded reference marks are detected.
Note
Reproducibility of the referencing result
In NC-guided reference point approach, reproducibility of the referencing result is ensured
through adherence to the assigned traverse velocities during the referencing operation.
During referencing in follow-up mode, responsibility for achieving reproducibility of the
referencing results lies with the machine manufacturer/user.
Basic Functions
1184 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Referencing in follow-up mode
Enable
The "Referencing in follow-up mode" function is enabled with:
MD34104 $MA_REFP_PERMITTED_IN_FOLLOWUP = TRUE
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1185
Reference Point Approach (R1)
Referencing in follow-up mode
Basic Functions
1186 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Referencing in follow-up mode
7. The measuring system is referenced after the encoder zero mark or the assigned number
of distance-coded reference marks have been successfully detected:
DB31, ... DBX60.4/60.5 (referenced/synchronized 1/2) = 1
8. The block change occurs after the referencing operation has been successfully
completed.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1187
Reference Point Approach (R1)
Referencing with absolute value encoders
Adjustment
Adjustment of an absolute encoder involves matching the actual value of the encoder with
the machine zero once and then setting it to valid.
The current adjustment status of an absolute value encoder is displayed in the following
axis-specific machine data of the machine axis, to which it is connected:
MD34210 $MA_ENC_REFP_STATE (status of absolute encoder)
Value Meaning
0 Encoder not calibrated
1 Encoder adjustment enabled
2 Encoder is calibrated
Adjustment methods
The following adjustment methods are supported:
● Adjustment by entering a reference point offset
● Adjustment by entering a reference point value
● Automatic adjustment with probe
● Adjustment with BERO
Basic Functions
1188 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Referencing with absolute value encoders
Readjustment
Readjustment of the absolute encoder is required after:
● Gear change between load and absolute encoder
● Removal/installation of the absolute value encoder
● Removal/installation of the motor with the absolute value encoder
● Data loss in the static NC memory
● Battery failure
● Setting actual value (PRESETON)
NOTICE
The NCK can only detect a required readjustment during the following events:
• Gear change with change of gear ratio
• Addressing the zero-mark monitoring
• New encoder serial number after change of the absolute value encoder
Thereupon, the status of the absolute encoder is automatically reset by NCK to 0
(encoder not calibrated) (MD34210 = 0) and the following alarm is displayed:
Alarm 25022 "Axis <Axis identifier> Encoder <Number> Warning 0"
or when addressing the zero-mark monitoring (only systems with SIMODRIVE 611D):
Alarm 25020 "Axis <Axis identifier> Zero-mark monitoring of the active encoder"
In all other cases (e.g. PRESETON) it is the sole responsibility of the user, by resetting
the status to 0 (encoder not adjusted), to show the misalignment of the absolute value
encoder and to carry out a readjustment.
WARNING
Data backup
During the back-up of machine data of a machine A, the encoder status of the machine
axis (MD34210) is also backed up.
During loading of this data record into a machine B of the same type, e.g. in the context
of a serial start-up or after a case of maintenance, the referenced machine axes will be
automatically regarded as adjusted/referenced by the NC. It is the special responsibility
of the machine manufacturer/user to undertake a readjustment in such cases.
See also explanations regarding machine data:
MD30250 $MA_ACT_POS_ABS (Absolute encoder position at the time of switch-off)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1189
Reference Point Approach (R1)
Referencing with absolute value encoders
Function
During adjustment by entering the reference point offset, the difference between the position
displayed on the operator interface and the true actual position in the machine is determined
and made known to the NC as reference point offset.
Procedure
1. Determining the position of the machine axis with reference to the machine zero point via
e.g.:
– position measurement (e.g. laser interferometer)
– Moving the machine axis to a known position (e.g. fixed stop)
2. Reading the displayed actual position of the machine axis on the operator interface.
3. Calculating the reference point offset (difference between the actual positions determined
under point 1 and 2) and entering in machine data:
MD34090 $MA_REFP_MOVE_DIST_CORR (reference point offset)
4. Marking the absolute value encoder as adjusted:
MD34210 $MA_ENC_REFP_STATE = 2
Note
The encoder adjustment does not become active until the next time the encoder is
activated (e.g. when the controller is powered up).
Note
Backlash compensation
If backlash compensation is parameterized for a measuring system with absolute value
encoder, the following must be observed:
No backlash is permitted during machine axis travel to the adjusted machine position.
Activate reference point offset permanently
The entered reference point offset (MD34090) will be permanently active only after initial
POWER ON - Reset. If the machine axis is moved after the absolute encoder adjustment
without an interim POWER ON - Reset, the reference point offset entered in the machine
data can be overwritten, for example, as part of internal overrun offset.
Checking the actual position
Following adjustment of the absolute encoder, we recommend that you verify the actual
position of the machine axis the next time you power up the controller (POWER ON).
Basic Functions
1190 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Referencing with absolute value encoders
Function
During adjustment by entering the reference point value, the absolute position of the
machine axis with reference to the machine zero point is determined by e.g.:
● Position measurement (e.g. laser interferometer)
● Moving the machine axis to a known position (e.g. fixed stop)
This determined position value will be made known to the NC as the reference point value.
The NC then calculates the reference point offset from the difference between the encoder
absolute value and the reference point value.
Procedure
1. Set reference mode to "Take over of the reference point value"
MD34200 $MA_ENC_REFP_MODE = 0
2. Traversing machine axis in the JOG mode to the (e.g. Laser interferometer) position to be
measured or already known (e.g. fixed stop).
Note
The machine axis can only be traversed in the direction enabled for referencing with the
travel keys:
MD34010 $MA_REFP_CAM_DIR_IS_MINUS (approach reference point in minus
direction)
To avoid an invalid position because of backlash in the drive train, the known position
must be approached at low velocity.
3. Communicate the position of the machine axis relative to machine zero to the NC as the
reference point value:
MD34100 $MA_REFP_SET_POS = Position
4. Releasing encoder adjustment:
MD34210 $MA_ENC_REFP_STATE = 1
5. Activate NCK-Reset for acceptance of the entered machine data values.
6. Switch to JOG-REF mode.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1191
Reference Point Approach (R1)
Referencing with absolute value encoders
Note
Activate reference point offset permanently
The entered reference point offset (MD34090) will only be permanently active after
POWER ON - Reset.
If the machine axis is moved after the absolute encoder adjustment without an interim
POWER ON - Reset, the reference point offset entered in the machine data can be
overwritten, for example, within internal overrun corrections.
Checking the actual position
Following adjustment of the absolute encoder, we recommend that you verify the actual
position of the machine axis the next time you power up the controller (POWER ON).
Basic Functions
1192 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Referencing with absolute value encoders
Function
In automatic adjustment with a probe, a known position in the machine is approached with
the machine axis from a part program. The position value is stored in the NC as a reference
point value. The position is reached when the probe switches, and the NC then calculates
the reference point offset from the difference between the encoder value and reference point
value.
Note
Part program for automatic adjustment
The part program for automatic adjustment using a probe must be created by the machine
manufacturer/user for the specific requirements of the machine.
Freedom from collision
Because actual-value-related monitoring is not active for the machine axes being referenced,
the machine operator must take special care to ensure that collisions do not occur in the
machine while the machine axes are being moved!
Part program
The part program for automatic adjustment of absolute encoders with probe must perform
the points listed below for each axis in the order indicated:
1. Approach the adjustment position of machine axis, which is detected from the probe
response.
The position must be approached several times from the same direction, but at a velocity
which is gradually reduced on each approach, to ensure that the measured value
obtained is as accurate as possible. The measured value is stored in system variable
$AA_IM.
2. Calculating and writing the reference point offset:
0'0$B5()3B029(B',67B&255 0'0$B5()3B6(7B326ದ$$B,0
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1193
Reference Point Approach (R1)
Referencing with absolute value encoders
Sequence
Proceed as follows for automatic adjustment with probe:
1. Enable part program start even for non-referenced machine axes:
MD20700 $MC_REFP_NC_START_LOCK = 0
2. Enter the machine axis position relative to machine zero when probe is switched as the
reference point value for all relevant machine axes:
MD34100 $MA_REFP_SET_POS = reference point value
3. Activate NCK-Reset for the acceptance of the entered machine data values.
4. Start part program.
5. After completion of the part program, re-secure the partial program start for machine axes
which are not referenced:
MD20700 $MC_REFP_NC_START_LOCK = 1
6. Initiate POWER ON - Reset so that the reference point offset written by the part program
is permanently active:
MD34090 $MA_REFP_MOVE_DIST_CORR (reference point offset)
Note
Activate reference point offset permanently
The entered reference point offset (MD34090) will only be permanently active after
POWER ON - Reset.
If the machine axis is moved after the absolute encoder adjustment without an interim
POWER ON - Reset, the reference point offset entered in the machine data can be
overwritten, for example, as part of internal overrun offset.
Checking the actual position
Following adjustment of the absolute encoder, we recommend that you verify the actual
position of the machine axis the next time you power up the controller (POWER ON).
Basic Functions
1194 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Referencing with absolute value encoders
Function
For adjustment using BERO, a reference point approach to a defined machine position is
performed the same as for incremental measuring systems. In this case the BERO replaces
the encoder zero mark that the absolute encoder does not have. After successful completion
of reference point approach, the NC automatically calculates the reference point offset from
the difference between the encoder absolute value and the parameterized reference point
value.
Procedure
Proceed as follows for adjustment with BERO:
1. Set referencing mode to "Referencing with BERO":
MD34200 $MA_ENC_REFP_MODE = 2
2. Assign reference point value:
MD34100 $MA_REFP_SET_POS = Reference point value
3. Start reference point approach.
Reference point approach can be started manually in JOG-REF mode or in AUTOMATIC
or MDA mode from a part program (G74).
After a successful reference point approach, the absolute encoder is calibrated, the
actual value system of the machine axis is synchronized, and the machine axis is
referenced.
To identify this, the NC sets an interface signal for the measuring system that is currently
active:
DB31, ... DBB60.4/60.5 (referenced/synchronized 1/2) = 1
Note
If the BERO is removed after adjustment of the absolute encoder, the referencing mode
must be assigned to "Referencing with absolute encoder".
MD34200 $MA_ENC_REFP_MODE = 0
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1195
Reference Point Approach (R1)
Referencing with absolute value encoders
Note
Prerequisite for a correct compensation of signal propagation time is drives of type
SIMODRIVE 611 digital. The compensation times are pre-set in delivery condition in such a
way that changes are usually not required.
Creep velocity
If with the approach of BERO, it is to be proceeded with the parameterized reference point
creep velocity (MD34040 $MA_REFP_VELO_SEARCH_MARKER) then "BERO with
projected start velocity with spindles" must be parameterized as reference mode:
MD34200 $MA_ENC_REFP_MODE = 7
Value Meaning
0 Traversing is enabled.
When reference point approach is initiated, the machine axis moves to the reference point
position. Reference point approach is completed when the reference point position is
reached.
1 Traversing is not enabled.
After the activation of the reference point travel, the machine axis does not travel and the
reference point travel is immediately completed.
Basic Functions
1196 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Referencing with absolute value encoders
14.9.7 Reference point approach in rotary absolute encoders with external zero mark
Function
To be able to use the reference point approach with a zero mark, as is usual in incremental
encoders (refer to Chapter "Referencing in incremental measuring systems") even with
absolute encoders, the missing HW zero marks are created in software form once every
encoder revolution, always at the same position within the rotation.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1197
Reference Point Approach (R1)
Referencing with absolute value encoders
Requirement
The function can be used only with rotary absolute encoders:
● MD31000 $MA_ENC_IS_LINEAR = 0
● MD30240 $MA_ENC_TYPE = 4
Parameter assignment
● Reference point approach with zero marks:
MD34200 $MA_ENC_REFP_MODE = 1
● A reference point offset should not be input in the following MD:
MD34090 $MA_REFP_MOVE_DIST_CORR
This MD describes, in connection with absolute encoders, the offset between machine
and absolute encoder zero, and it therefore has a different meaning.
● The load-side zero mark search rate MD34040 $MA_REFP_VELO_SEARCH_MARKER
should not exceed the limiting frequency of the absolute trace of the encoder
MD36302 $MA_ENC_FREQ_LIMIT_LOW.
If the speed is too high, absolute information cannot be read any more, and thus, no
equivalent zero marks are generated.
● If no zero marks are found within:
MD34060 $MA_REFP_MAX_MARKER_DIST
otherwise, an alarm will be triggered.
● A start of the zero mark search with the override of a BERO (MD34200 = 5) is not
supported. MD34200 = 0 is to be used as a equivalent.
● The following MD must be set if the absolute encoder retains even the referenced status
through POWER OFF, besides the last position:
MD34210 $MA_ENC_REFP_STATE = 2
Basic Functions
1198 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Referencing with absolute value encoders
Function
Automatic encoder replacement detection is required for absolute encoders in order to detect
if the encoder has been replaced and therefore needs to be readjusted.
The NC reads the encoder-specific serial number of the encoder from the drive every time
the control is powered up. If the serial number has changed the NC resets the encoder
status to "Encoder not calibrated".
MD34210 $MA_ENC_REFP_STATE = 0
The status of the measuring system is indicated as "Not referenced":
DB31, ... DBB60.4/60.5 (referenced/synchronized 1/2) = 0
Note
Currently, only the serial numbers of absolute encoders with an EnDat interface can be read.
For all other encoders the display shows that no serial number has been read.
Automatic encoder replacement detection can therefore only be used with the specified
encoder types.
Avoiding readjustments
In some special cases, for example, when a machine axis (built-on rotary axes) is removed
and then mounted again, readjustment is not necessary/desirable.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1199
Reference Point Approach (R1)
Referencing with absolute value encoders
To avoid readjustment, zero must be parameterized as a serial number to be ignored for the
measuring system of the machine axis in question.
MD34232 $MA_EVERY_ENC_SERIAL_NUMBER = 0
If the NC now reads zero as the serial number, the encoder status is not reset and the serial
number indicated in the machine data is kept.
Example sequence of operation:
1. The NC reads the serial number of the absolute encoder for the measuring system of the
machine axis in question and the serial number is not equal to zero.
2. The absolute encoder is calibrated in the correct manner.
3. When the controller is powered up subsequently, the NC reads "zero" as the serial
number of the absolute encoder.
Serial number "zero" is ignored and the encoder status remains the same, that is
"calibrated".
4. When the controller is powered up, the NC again reads the serial number it read under
Item 1 and that is still indicated in the machine data. The encoder status continues to be
"Adjusted".
Note
PROFIBUS drives
As not every drive connected via PROFIBUS-DP is able to deliver the encoder serial
number in time for build-up of control or at all, the range of the encoder serial number
with PROFIBUS drives is pre-set with zero to avoid unnecessary new NC internal
adjustments:
MD34232 $MA_EVERY_ENC_SERIAL_NUMBER = 0
A manual parameterizing to 1 is ineffective.
Basic Functions
1200 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Referencing with absolute value encoders
0'
0'
0' 0'
Note
The position control switching speed relevant for spindles is set according to the encoder
limiting frequency of the absolute value encoder of the spindle:
MD35300 $MA_SPIND_POSCTRL_VELO (position control switching speed)
MD36300 $MA_ENC_FREQ_LIMIT (Encoder limit frequency)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1201
Reference Point Approach (R1)
Referencing with absolute value encoders
The following referencing variants are not supported when used with absolute encoders:
● Referencing/calibrating with encoder zero mark
● Distance-coded reference marks
● BERO with two-edge evaluation
Basic Functions
1202 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Supplementary conditions
Example:
An EQN 1325 rotary absolute encoder is connected to the motor of a linear axis. For an
effective leadscrew pitch of 10 mm this will result in a unique absolute value within the travel
range -20.48 to +20.48 m.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1203
Reference Point Approach (R1)
Supplementary conditions
Supplementary conditions
● Linear axes with a traversing range > 4096 encoder revolutions, rotatory absolute value
encoder EQN 1325 and a parameterized absolute value encoder range of
MD34220 $MA_ENC_ABS_TURNS_MODULO = 4096:
– The maximum possible travel range corresponds to that of incremental encoders.
● Endlessly turning rotary axes with absolute encoders:
– Any number of integer transmission ratios are permitted.
– We recommend that you parameterize endlessly turning rotary axes with absolute
encoders as modulo rotary axes (traversing range 0...360 degrees).
MD34220 $MA_ENC_ABS_TURNS_MODULO
Otherwise, the machine axis may require a very long traverse path to reach absolute
zero when the measuring system is activated.
● Machine axes with absolute encoders:
– To ensure that the NC correctly determines the current actual position when the
measuring system is reactivated, the machine manufacturer/user must ensure that the
machine axis is moved less than half the assigned traversing range when the
measuring system is deactivated (POWER OFF, "parking" selected).
MD34220 $MA_ENC_ABS_TURNS_MODULO
Basic Functions
1204 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Data lists
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1205
Reference Point Approach (R1)
Data lists
14.11.2 Signals
Basic Functions
1206 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Reference Point Approach (R1)
Data lists
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1207
Reference Point Approach (R1)
Data lists
Basic Functions
1208 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1) 15
15.1 Brief description
The primary function of a spindle is to set a tool or workpiece in rotary motion in order to
facilitate machining.
Depending on the type of machine, the spindle must support the following functions in order
to achieve this:
● Input of a direction of rotation for the spindle (M3, M4)
● Input of a spindle speed (S, SVC)
● Spindle stop, without orientation (M5)
● Spindle stop with orientation/Spindle positioning
(SPOS, M19 and SPOSA)
● Gear change (M40 to M45)
● Spindle-axis functionality (spindle becomes rotary axis and vice versa)
● Thread cutting (G33, G34, G35)
● Tapping with and without compensating chuck (G331, G33)
● Revolutional feedrate (G95)
● Constant cutting speed (G96, G961, G97, G971)
● Programmable spindle speed limits (G25, G26, LIMS=)
● Position encoder assembly on the spindle or on the spindle motor
● Spindle monitoring for min. and max. speed as well as
max. encoder limit frequency and end point monitoring of spindle
● Switching the position control (SPCON, SPCOF, M70) on/off
● Programming of spindle functions:
– From the part program
– Via synchronized actions
– Via PLC with FC18 or via special spindle interfaces for simple spindle activation
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1209
Spindles (S1)
Operating modes
15.2.1 Overview
Spindle modes
The spindle can have the following modes:
● Control mode
● Oscillation mode
● Positioning mode
● Synchronous mode, synchronous spindle
References:
Function Manual, Extension Functions, Synchronous Spindle (S3)
● Rigid tapping
References:
Programming Manual, Fundamentals; Chapter: Motion commands
Axis mode
The spindle can be switched from spindle mode to axis mode (rotary axis) if the same motor
is used for spindle and axis operation.
Basic Functions
1210 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Operating modes
2VFLOODWLRQPRGH 6\QFKURQRXVPRGH
&KDQJH *HDU
JHDU FKDQJHG &28321 &2832)
632606326$
&RQWUROPRGH 3RVLWLRQLQJPRGH
63&2)
000
0
0
63&2) 63260
000 6326$ $[LVQDPH
0
$[LVPRGH
* *
7DSSLQJ
ZLWKRXW
FRPSHQVDWLQJ
FKXFN
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1211
Spindles (S1)
Operating modes
Preconditions
A spindle position actual-value sensor is absolutely essential for M3/M4/M5 in connection with:
● Revolutional feedrate (G95)
● Constant cutting speed (G96, G961, G97, G971)
● Thread cutting (G33, G34, G35)
Basic Functions
1212 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Operating modes
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1213
Spindles (S1)
Operating modes
Value Description
0 When the spindle is reset or at the end of the program, the spindle immediately decelerates
to a stop at the active acceleration rate. The last programmed spindle speed and direction of
rotation are deleted.
1 Upon reset or at the end of the program, the last programmed spindle speed (S-value) and
the last programmed direction of spindle rotation (M3, M4, M5) are retained. The spindle is
not braked.
If prior to reset or end of program the constant cutting speed (G96) is active, the current
spindle speed (in relation to 100% spindle override) is internally accepted as the spindle
speed last programmed.
The spindle can only be stopped with the NC/PLC interface signal:
DB31, ... DBX2.2 (Delete distance-to-go/Spindle reset)
The direction of rotation is deleted in the event of all alarms generating a spindle quick stop.
The last programmed spindle speed (S value) is retained. Once the source of the alarm has
been eliminated, the spindle must be restarted.
Spindle actual speed display and spindle behavior with G96, G961
DB31, ... DBX61.4 (axis/spindle stationary)
The speed at which the spindle is deemed to be "stationary" is set with the machine data:
MD36060 $MA_STANDSTILL_VELO_TOL
The value should be measured in such a way that the following NC/PLC interface signal is
reliably present at a standstill:
DB31,... DBX61.4 (axis/spindle stationary)
If DB31,... DBX61.4 (axis/spindle stationary) is signaled and there is no closed-loop position
control active for the spindle, an actual speed of zero is displayed at the operator interface,
and zero is read with the system variable $AA_S[n].
References:
Function Manual, Basic Functions; Various Interface Signals and Functions (A2)
Spindle response at constant cutting speed G96, G961
● At the start of machining (transition from G0 to Gx) and after NC stop, G60 (exact stop,
modal) and G09 (exact stop, non-modal) the system waits until the actual speed has
reached the speed setpoint tolerance range before starting the path.
DB31, ... DBX83.5 (n_act = n_set)
● NC/PLC interface signals:
DB31, ... DBX83.5 (n_act = n_set)
and
DB31 to DBX83.1 (Setpoint speed limited)
are also set to defined values even if severe speed changes are specified (transverse
axis travels towards position 0).
Basic Functions
1214 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Operating modes
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1215
Spindles (S1)
Operating modes
SPOS[<n>]=AC(...)
Spindle positioning to an absolute position (0 to 359.999 degrees). The positioning direction
is determined either by the current direction of spindle rotation (spindle rotating) or the
distance-to-go.
SPOS[<n>]=IC(...)
Spindle positioning to an incremental position (+/- 999999.99 degrees) in relation to the last
programmed position. The positioning direction is defined by the sign of the path to be
traversed.
SPOS[<n>]=DC(...)
Spindle positioning across the shortest path to an absolute position (0 to 359.999 degrees).
The positioning direction is determined either by the current direction of spindle rotation
(spindle rotating) or automatically by the control (spindle stationary).
Basic Functions
1216 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Operating modes
SPOS[<n>]=...
Same functional sequence as SPOS [<n>]=DC(...).
SPOS[<n>]=ACP(...)
Approaches the position from the positive direction.
When positioning from a negative direction of rotation, the speed is decelerated to zero and
accelerated in the opposite direction to execute the positive approach.
SPOS[<n>]=ACN(...)
Approaches the position from the negative direction.
When positioning from a positive direction of rotation, the speed is decelerated to zero and
accelerated in the opposite direction to execute the negative approach.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1217
Spindles (S1)
Operating modes
Note
Activation via MD35035 should be preferred when using a spindle in multiple channels
(axis/spindle exchange).
Basic Functions
1218 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Operating modes
End of positioning
The positioning can be programmed with:
Block change
The program advances to the next block if the end-of-motion criteria for all spindles or axes
programmed in the current block, plus the block change criterion for path interpolation, are
fulfilled. This applies to both part-program and technology-cycle blocks.
SPOS, M19 and SPOSA have the same functionality but differ in their block change
behavior:
● SPOS and M19
The block change is carried out if all functions programmed in the block have reached
their end-of-block criterion (e.g. all auxiliary functions acknowledged by the PLC, all axes
have reached their end points) and the spindle has completed its positioning motion.
● SPOSA
The program moves to the next block if all the functions (except for spindle) programmed
in the current block have reached their end-of-block criterion. If SPOSA is the only entry in
the block, block change is performed immediately. The spindle positioning operation may
be programmed over several blocks (see WAITS).
Coordination
A coordination of the sequence of motions can be achieved with:
● PLC
● MD configuration
● Programming in the part program
PLC
If the NC/PLC interface signal:
DB31, ... DBX83.5 (spindle in setpoint range)
is not available, the channel-specific NC/PLC interface signal:
DB21, ...to DBX 6.1 (read-in disable)
can be set to wait for a certain spindle position.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1219
Spindles (S1)
Operating modes
MD configuration
Setting:
MD35500 $MA_SPIND_ON_SPEED_AT_IPO_START = 1
is used to perform path interpolation taking the tolerance:
MD35150 $MA_SPIND_DES_VELO_TOL
into account only if the spindle has rotated up to the preselected speed.
The setting
MD35500 $MA_SPIND_ON_SPEED_AT_IPO_START = 2
is used to stop traveling path axes before the start of machining at the last G0.
Machining continues:
● On the next traversing command
● If the spindle speed is reached
● When MD35510 $MA_SPIND_STOPPED_AT_IPO_START = 1
(path feed enable, if spindle stationary)
CAUTION
The part program author must ensure that one of the following maintenance conditions
occurs for WAITS.
• Position reached
• Spindle stationary
• Spindle up to programmed speed
In cases where one spindle is used in several channels, the part program author must
ensure that WAITS starts at the earliest in the phase in which the spindle from another
channel has already started to accelerate or decelerate towards the required new speed or
direction of rotation.
Basic Functions
1220 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Operating modes
Special cases
● Tolerance for spindle speed:
With machine data setting:
MD35150 $MA_SPIND_DES_VELO_TOL = 0,
the NC/PLC interface signal:
DB31, ... DBX83.5 (spindle in the setpoint range)
is always set to 1.
WAITS is terminated as soon as the spindle has reached the setpoint-side target after a
change in speed or direction (M3/M4).
● Missing enable signals:
If the WAITS function waits for the "Spindle in setpoint range" signal in speed control
mode and the spindle stops or fails to rotate because an enable signal (axial feed enable,
controller, pulse enable, etc.) is missing, the block is not terminated until the "Spindle in
setpoint range" signal is active, once enable signals are being received again.
● Response to NC and mode-group stop:
If an NC or mode-group stop is triggered during WAITS, the wait operation is resumed
after the NC start with all the above conditions.
Note
In particular when using spindles across different channels, care should be taken when
programming not to start WAITS too early in one channel, i.e. at a time when the spindle
in the other channel is still rotating at its "old" speed.
In such cases, the "Spindle in setpoint range" signal is activated and WAITS is stopped
too soon.
To prevent this happening, it is strongly recommended to set a WAITM before WAITS.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1221
Spindles (S1)
Operating modes
Feed
The positioning speed is configured in the machine data:
MD35300 $MA_SPIND_POSCTRL_VELO (position control switching speed)
The configured positioning speed can be modified by programming or by synchronized
actions:
FA[S<n>]=<value>
Acceleration
The accelerations are configured in the machine data:
MD35210 $MA_GEAR_STEP_POSCTRL_ACCEL(acceleration in position control mode)
MD35200 $MA_GEAR_STEP_SPEEDCTRL_ACCEL(Acceleration in the speed control
mode)
The configured dynamic response during positioning can be modified by programming or by
synchronized actions:
ACC[S<n>]=<value>
Special features
The spindle override switch is active.
Basic Functions
1222 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Operating modes
Initial situation
The spindle can be in speed control mode or in position control mode when positioning starts
(SPOS, M19 or SPOSA command in the program).
One must distinguish between the following cases:
Procedure
6SLQGOHVSHHG
UHYPLQ
3KDVHD VSHFLDOFDVH
FRQWUROUHVHUYH
0'(1&B)5(4B/,0,7
(QFRGHUOLPLWIUHTXHQF\
3KDVHE
3KDVH
0'(1&B)5(4B/,0,7B/2:
(QFRGHUOLPLWIUHTXHQF\
5HV\QFKURQL]DWLRQ
3KDVH
0'63,1'B326&75/B9(/2
3KDVHF 3RVLWLRQFRQWURODFWLYDWLRQVSHHG
3KDVHD
3KDVH
Note
The speed arising from the configuration of the encoder limit frequency for the
resynchronization of the encoder (MD36302 $MA_ENC_FREQ_LOW) must be greater than
the position-control activation speed (MD35300 $MA_SPIND_POSCTRL_VELO).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1223
Spindles (S1)
Operating modes
Phase 1
Positioning from phase 1a:
The spindle is rotating at a higher speed than the encoder limit frequency. The spindle is not
synchronized.
Positioning from phase 1b:
The spindle is rotating at a lower speed than the encoder limit frequency. The spindle is
synchronized.
Note
If the position control is active, the speed can only amount to 90% of the maximum speed of
the spindle or the encoder limit frequency (10% control reserve required).
Phase 2
Spindle speed > Position-control activation speed
When the SPOS, M19 or SPOSA command is activated, the spindle begins to slow down to
the position-control activation speed with the configured acceleration:
MD35200 $MA_GEAR_STEP_SPEEDCTL_ACCEL
The spindle is synchronized once the encoder limit frequency threshold is crossed.
Spindle speed < Position-control activation speed
SPOS, M19 or SPOSA are programmed to switch the spindle to position control mode (if it is
not already in that mode).
The configured acceleration in position control mode is activated:
MD35210 $MA_GEAR_STEP_POSCTRL_ACCEL
The travel path to the target point is calculated.
The spindle travels to the programmed end point optimally in terms of time. This means that
the end point is approached at the highest possible speed (maximum MD35300
$MA_SPIND_POSCTRL_VELO). Depending on the appropriate secondary conditions,
phases 2 - 3 - 4 - 5 or 4a - 5a are executed.
Basic Functions
1224 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Operating modes
Phase 3
Spindle speed > Position-control activation speed
When the configured position-control activation speed
(MD35300 $MA_SPIND_POSCTRL_VELO) is reached:
● Position control is activated (if not already active).
● The distance-to-go (to the target point) is calculated.
● There is a switch to the configured configured acceleration in position control mode (or
this acceleration is retained):
MD35210 $MA_GEAR_STEP_POSCTRL_ACCEL
Spindle speed < Position-control activation speed
The spindle was accelerated up to the configured position-control activation speed
(MD35300 $MA_SPIND_POSCTRL_VELO) to reach the end point. This is not exceeded.
The braking start point calculation detects when the programmed spindle position can be
approached accurately at the acceleration configured in position control mode (MD35210
$MA_GEAR_STEP_POSCTRL_ACCEL).
Phase 4
Spindle speed > Position-control activation speed
The spindle brakes from the calculated "braking point" with machine data:
MD35210 $MA_GEAR_STEP_POSCTRL_ACCEL
to the target position.
Spindle speed < Position-control activation speed
At the time identified by the braking start point calculation in phase 3, the spindle brakes to a
standstill with the acceleration configured in position control mode (MD35210
$MA_GEAR_STEP_POSCTRL_ACCEL).
Phase 4a:
When the SPOS command is activated the proximity of the end point is such that the spindle
can no longer be accelerated to the configured position-control activation speed (MD35300
$MA_SPIND_POSCTRL_VELO).
The spindle brakes to a standstill with the acceleration configured in position control mode
(MD35210 $MA_GEAR_STEP_POSCTRL_ACCEL).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1225
Spindles (S1)
Operating modes
Phase 5
Spindle speed > Position-control activation speed
Position control remains active and holds the spindle in the programmed position.
Note
The maximum encoder limit frequency of the spindle position actual-value encoder is
monitored by the control (it may be exceeded); in position control mode, the setpoint speed
is reduced to 90% of the measuring system limit speed.
The following NC/PLC interface signal is set:
DB31, ... DBX83.1 (programmed speed too high)
If "MS limit frequency exceeded" is still pending following a reduction in the setpoint speed,
an alarm is output.
Note
The positioning procedure is considered complete when the end-of-positioning criterion is
reached and signaled.
The condition is "Exact stop fine". This applies to SPOS, M19 or SPOSA from the part
program, synchronized actions and spindle positioning by the PLC using FC 18.
Basic Functions
1226 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Operating modes
Procedure
A distinction is made between two cases with regard to positioning from standstill:
● Case 1: The spindle is not synchronized.
This is the case if the spindle is to be positioned after switching on the control and drive
or after a gear step change (e.g. for a tool change).
MD31040 $MA_ENC_IS_DIRECT = 0
● Case 2: The spindle is synchronized.
This is the case if, after switching on the control and drive, the spindle is to be rotated
through a minimum of one revolution with M3 or M4 and then stopped with M5
(synchronization with the zero mark) before the first positioning action.
&DVH6SLQGOHQRWV\QFKURQL]HG
6SLQGOHVSHHG
UHYPLQ
6326>@
0'63,1'B326&75/B9(/2
3RVLWLRQFRQWURODFWLYDWLRQVSHHG
7LPH V
=HURPDUN
&DVH6SLQGOHV\QFKURQL]HG
UHYPLQ
6SLQGOHVSHHG
D 0'63,1'B326&75/B9(/2
3RVLWLRQFRQWURODFWLYDWLRQVSHHG
D 7LPH V
6326>@
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1227
Spindles (S1)
Operating modes
Phase 1
Case 1: Spindle not synchronized
With the programming of SPOS, M19 or SPOSA the spindle accelerates with the acceleration
from the machine data:
MD35200 $MA_GEAR_STEP_SPEEDCTRL_ACCEL (Acceleration in the speed control
mode)
This direction of rotation is defined by the machine data:
MD35350 $MA_SPIND_POSITIONING_DIR (Direction of rotation while positioning to
standstill)
Exception:
If ACN, ACP, IC is used for positioning, the programmed direction of travel is activated.
The spindle is synchronized at the next zero mark of the spindle position actual-value
encoder and switches to the position control mode.
Whether the zero mark is found in the traversed path (except for IC), is monitored:
MD34060 $MA_REFP_MAX_MARKER_DIST (maximum distance to the reference mark)
If the speed defined in machine data:
MD35300 $MA_SPIND_POSCTRL_VELO (Positioning speed)
is reached before the spindle is synchronized, the spindle will continue to rotate at the
positioning activation speed (it is not accelerated further).
Case 2: Spindle synchronized
SPOS, M19 or SPOSA will switch the spindle to position control mode.
The acceleration from the following machine data is active:
MD35210 $MA_GEAR_STEP_POSCTRL_ACCEL (acceleration in position control mode)
The direction of rotation is defined by the programmed motion (ACP, ACN, IC, DC) or via the
pending distance-to-go.
The speed entered in
MD35300 $MA_SPIND_POSCTRL_VELO (position control activation speed)
is not exceeded in the machine data.
The travel path to the end position is calculated.
The spindle travels to the programmed end point optimally in terms of time. This means that
the end point is approached at the highest possible speed (maximum MD35300
$MA_SPIND_POSCTRL_VELO). Depending on the appropriate secondary conditions, the
phases 1 - 2 - 3 - 4 or 1- 3a - 4a are executed.
Phase 2
Case 1: Spindle not synchronized
When the spindle is synchronized, position control is activated.
The spindle rotates at the maximum speed stored in machine data:
MD35300 $MA_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.
Basic Functions
1228 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Operating modes
Phase 3
At the point, which is determined by the braking start point calculation in Phase 2, the spindle
decelerates to a standstill with the acceleration given in the following machine data:
MD35210 $MA_GEAR_STEP_POSCTRL_ACCEL
Phase 3a:
When the SPOS command is activated the proximity of the end point is such that the spindle
can no longer be accelerated up to machine data:
MD35300 $MA_SPIND_POSCTRL_VELO.
The spindle is braked to a standstill with the acceleration given in the following machine
data:
MD35210 $MA_GEAR_STEP_POSCTRL_ACCEL
Phase 4, 4a
The spindle is stationary and it has reached the position. The position control is active and
stops the spindle in the programmed position.
NC/PLC IS:
DB31, ... DBX60.6 (Position reached with exact stop coarse)
and
DB31, ... DBX60.7 (Position reached with exact stop fine)
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.
This is defined in the machine data:
MD36010 $MA_STOP_LIMIT_FINE
MD36000 $MA_STOP_LIMIT_COARSE
Phase 3:
At the point, which is determined by the braking start point calculation in Phase 2, the spindle
decelerates to a standstill with the acceleration given in the following machine data:
MD35210 $MA_GEAR_STEP_ POSCTRL_ACCEL
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1229
Spindles (S1)
Operating modes
Phase 4:
The spindle is stationary and it has reached the position. The position control is active and
stops the spindle in the programmed position.
NC/PLC IS:
DB31, ... DBX60.6 (Position reached with exact stop coarse)
and
DB31, ... DBX60.7 (Position reached with exact stop fine)
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.
This is defined in the machine data:
MD36010 $MA_STOP_LIMIT_FINE
MD36000 $MA_STOP_LIMIT_COARSE
Prerequisites
● The same spindle motor is used for spindle mode and axis mode.
● The same position measurement system or separate position measurement systems can
be used for spindle mode and axis mode.
● A position actual-value encoder is a mandatory requirement for axis mode.
● If the axis is not synchronized, e.g. M70 is programmed after POWER ON, the axis must
first be referenced with G74. Only then does the mechanical position match the
programmed one.
Example:
M70
G74 C1=0 Z100
G0 C180 X50
Basic Functions
1230 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Operating modes
Configurable M function
The M function used to switch the spindle to axis mode can be configured in the machine
data:
MD20094 $MC_SPIND_RIGID_TAPPING_M_NR
The value on delivery is 70.
Note
From software version 2.6, the control system detects the transition to axis mode
automatically from the program sequence (see "Implicit transition to axis mode
(Page 1234)"). Therefore, there is no need at all for the explicit programming in the part
program of the configured M function for switching the spindle to axis mode (default: M70).
However, the M function can continue to be programmed, e.g. to increase the readability of
the part program.
Functionality
If the axis mode is active and the rotary axis homed, all axis functions can be used.
The most important functions are:
● Programming with axis name
● Use of zero offsets (G54, G55, TRANS, etc.)
● G90, G91, IC, AC, DC, ACP, ACN
● Use of kinematic transformations (e.g. TRANSMIT)
● Interpolation with other axes (path interpolation)
● Programming as a positioning axis
References:
Function Manual, Extension Functions; Rotary Axes (R2)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1231
Spindles (S1)
Operating modes
● The gear step cannot be changed when the axis mode is active.
The spindle must be switched to control mode.
This is done with M41 ... M45 or M5, SPCOF.
● In axis mode, the machine data from the servo parameter set with index zero are
effective in order to carry out adaptations in this mode.
Dynamic response
The dynamic limits of the axis stored in the machine data are applicable in axis operation.
The axis switches to the current feedforward control mode as designated by the MD and the
commands FFWON and FFWOF.
Programming Comment
SPOS=...
M5 ; Controller enable off (by PLC)
→ is output on PLC
Basic Functions
1232 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Operating modes
Programming Comment
M70 ; Switch actuator (by PLC on account of M70)
Controller enable on (by PLC)
C=... ; NC traverses with axis parameter set
Programming Comment
C=...
M71 ; → Output to PLC
Closed-loop controller enable off (by PLC)
Switch actuator (by PLC)
Switched to spindle parameter set (1-5) internally in
the NC, controller enable on (by PLC)
M3/4/5 or SPOS=... ; NC traverses with spindle parameter set
9DOLG
9DOLG
9DOLG
9DOLG 'HSHQGLQJRQJHDUVWHS
9DOLG
9DOLG
Figure 15-3 Validity of parameter sets for axis and spindle modes
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1233
Spindles (S1)
Operating modes
Function
The control system detects the transition to axis mode automatically from the program
sequence and generates the requisite M70 sequence within the control system. The situation
will dictate which steps are performed. At most, these will include:
1. Stopping the spindle
2. Switching on of the position control, treatment of feedforward control, and parameter
block changeover
3. Position synchronization of the block preparation (internal preprocessing stop, if
necessary)
This function is always active. Explicit programming of M70 in the part program is, therefore,
essentially not necessary.
Procedure
Sequence of the implicit transition to axis mode (M70 is not programmed in the part program):
● Transition from speed control mode (M3, M4, M5, SPCOF, ...) to axis mode:
The transition is detected internally by the control, and an intermediate block is inserted in
front of the block which requests the axis mode. The block created contains the M70
functionality. The execution duration for this block is more or less the same as the time
required to execute a programmed M70 block. Differences may arise in the event of short
switchovers when the spindle is stationary (no braking time) if the implicit generation and
output of the auxiliary function M70 to the PLC is dispensed with (see MD35035).
● Transition from positioning mode (M19, SPOS, SPOSA) to axis mode:
The transition is executed immediately and without the generation of an intermediate
block. Configured accordingly (see MD35035), the auxiliary function M70, which is
generated implicitly, is output to the PLC when the block in which the spindle has its axis
mode is loaded.
Basic Functions
1234 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Operating modes
Note
An auxiliary function M70 which is programmed in the part program is always output to the
PLC.
Properties
The properties of the implicitly generated auxiliary function output M70 are "Quick" and
"Output during motion". These properties are fixed settings and are independent of the M70
configuration in the auxiliary-function-specific machine data (MD..._$M..._AUXFU_...).
M70 is only generated once during transition to axis mode. No further M70 auxiliary functions
are generated and output in adjacent blocks in which the spindle is operated as an axis. M70
is not implicitly generated and output again until axis mode is exited via, for example, SPOS,
M3, M4, M5, SPCOF, etc. and following a renewed transition to axis mode.
Constraints
Synchronized actions
When the spindle is programmed as an axis in synchronized actions, it is essential to
continue making provisions in the application to ensure there are criteria for the transition to
axis mode.
If the spindle is in speed control mode, the instruction M70 or SPOS must be programmed
prior to programming as an axis. Otherwise alarm signals occur during axis programming.
FC 18
As with synchronized actions, transition to axis mode must also be undertaken on the
application side in FC 18, e.g. through preparatory positioning instructions. Otherwise, the
FC 18 call is acknowledged with an error bit in the FC 18 status word.
No auxiliary function M70 is implicitly generated in the event of transition to axis mode
through programming via FC 18.
Examples
Example 1:
Part program: Transition from rotating spindle to axis mode
Configuration: MD35035 $MA_SPIND_FUNCTION_MASK, bit 20 = 1
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1235
Spindles (S1)
Operating modes
Example 2:
Part program: Transition from positioning mode to axis mode
Configuration: MD35035 $MA_SPIND_FUNCTION_MASK, bit 20 = 1
Example 3:
Synchronized actions: Transition from spindle positioning mode to axis mode
Configuration: MD35035 $MA_SPIND_FUNCTION_MASK, bit 20 = 1
Example 4:
Synchronized actions: Transition from speed control mode to axis mode with M70
Configuration: MD35035 $MA_SPIND_FUNCTION_MASK, bit 20 = 1
Example 5:
Synchronized actions: Invalid transition from speed control mode to axis mode
Configuration: MD35035 $MA_SPIND_FUNCTION_MASK, bit 20 = 1
Basic Functions
1236 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Operating modes
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1237
Spindles (S1)
Reference/synchronize
15.3 Reference/synchronize
Why synchronize?
In order to ensure that the control detects the exact position of the spindle when it is
switched on, the control must be synchronized with the position measuring system of the
spindle.
The following functions are possible only with a synchronized spindle:
● Thread cutting
● Rigid tapping
● Axis programming
References:
For further explanations about synchronization of the spindle, refer to Function Manual,
Searching for reference (R1).
Why reference?
In order to ensure that the control detects the exact machine zero when it is switched on, the
control must be synchronized with the position measurement system of the rotary axis. This
process is known as referencing. The sequence of operations required to home an axis is
known as homing.
Only a homed axis can approach a programmed position accurately on the machine.
References:
For further explanations about referencing the rotary axis, refer to Function Manual,
Searching for reference (R1).
Basic Functions
1238 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Reference/synchronize
Synchronization procedure
When the spindle is switched on, the spindle can be synchronized as follows:
● The spindle is started with a spindle speed (S value) and a spindle rotation (M3 or M4) and
synchronized with the next zero mark of the position measurement system or with the
next Bero signal.
● The spindle is to be positioned from standstill using SPOS, M19 or SPOSA. The spindle
synchronizes with the next zero mark of the position measurement system or with the
next Bero signal. It is then positioned to the programmed position.
● The spindle can be synchronized from the movement (after M3 or M4) using SPOS, M19 or
SPOSA.
The responses are as follows:
– With SPOS=<Pos>, SPOS=DC(<Pos>) and SPOS=AC(<Pos>), the direction of motion
is retained and the position is approached.
– With SPOS = ACN(<Pos>) or SPOS = ACP(<Pos>), the position is always
approached with a negative or positive direction of motion. If necessary, the direction
of motion is inverted prior to positioning.
● Crossing the zero mark in JOG mode by means of direction keys in speed control mode.
Note
If does not make any difference whether the synchronization procedure is initiated from
the part program, FC 18 or synchronized actions.
Note
During synchronization of the spindle, all four possible home position values are effective
depending on the measuring system selected. The measurement system offset has the
same effect.
The following machine data must be observed:
• MD34080 $MA_REFP_MOVE_DIST
(Reference point distance/destination point for a distance-coded system)
• MD34090 $MA_REFP_MOVE_DIST_CORR
(Reference point offset/absolute offset, distance-coded)
• MD34100 $MA_REFP_SET_POS
(Reference point value, with distance-coded system without any significance)
If a non-homed spindle with SPOS=IC(...) and a path < 360 degrees is positioned, it
may be the case that the zero mark is not crossed and the spindle position is still not
synchronized with the zero mark. This can happen:
• after POWER ON
• by setting the axial NC/PLC interface signals:
DB31, ... DBX17.5 (Resynchronize spindle during positioning 2)
DB31, ... DBX17.4 (Resynchronize spindle during positioning 1)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1239
Spindles (S1)
Reference/synchronize
Note
Compensating the signal runtime via the NC requires the use of SIMODRIVE 611D drives.
Signal propagation delays are preset on delivery so that the content generally does not have
to be changed.
Homing sequence
If the spindle is to be programmed in axis mode directly after control power up, it must be
ensured that the axis is homed.
When the control is switched on, the spindle can be homed (condition is one zero mark per
revolution).
References:
For information about the referencing procedure, refer to Function Manual, Searching for
reference (R1).
The rotary axis is referenced at the same time as the spindle is synchronized (see
"Synchronization procedure") if the position measuring system used for the spindle is also
used for the rotary axis.
Basic Functions
1240 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Reference/synchronize
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1241
Spindles (S1)
Configurable gear adaptation
Basic Functions
1242 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Configurable gear adaptation
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1243
Spindles (S1)
Configurable gear adaptation
Note
If the spindle motor is attached to the spindle directly (1:1) or with a non-variable
transmission ratio (MD35010 = 0), then the M40 and M41...M45 auxiliary functions are not
relevant to this spindle.
Basic Functions
1244 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Configurable gear adaptation
0RWRUVSHHG
UHYPLQ
,QWKHFDVHRIDXWRPDWLFJHDUVWHSVHOHFWLRQ
WKLVVSHHGUDQJHLVQRWXWLOL]HGWRIXOODGYDQ
WDJHLQJHDUVWHS
0D[PRWRUVSHHG
*HDU
VWHS
*HDU
VWHS
6SLQGOHVSHHG UHYPLQ
Q PD[ Q PD[
J PD[
6SHFLILDEOHXVLQJ0'*($5B67(3B0$;B9(/2
Figure 15-4 gear step change with selection between two gear steps
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1245
Spindles (S1)
Configurable gear adaptation
Basic Functions
1246 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Configurable gear adaptation
Note
The number of gear steps in the second data set can vary from the first. If no appropriate
gear step is found for a programmed speed for M40, then - as before - no gear step change
is carried out.
For more information about a typical program sequence in thread cutting without
compensating chuck G331/G332 refer to:
References:
/PG/ Programming Manual - Fundamentals; Chapter: Programming motion commands
The gear steps 1 to 5 of the second gear step dataset can be parameterized via the following
machine data:
Note
The number of servo parameter sets concerning the mechanical factors remain unchanged.
Furthermore, five mechanical gear steps for the spindle and one for the axis operation can
be configured.
The speed limitations are configured only once for each gear step with the following machine
data, independently of the different switching thresholds:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1247
Spindles (S1)
Configurable gear adaptation
Basic Functions
1248 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Configurable gear adaptation
6SHHG
UHYPLQ
0D[LPXPVSLQGOHVSHHG
0D[LPXPVSHHGRIJHDUVWHS
0D[LPXPVSHHGIRUWKHDXWRPDWLF
JHDUVWHSFKDQJHRIJHDUVWHS
0D[LPXPVSHHGRIJHDUVWHS
0D[LPXPVSHHGIRUWKHDXWRPDWLF
JHDUVWHSFKDQJHRIJHDUVWHS
0LQLPXPVSHHGIRUWKHDXWRPDWLF
JHDUVWHSFKDQJHRIJHDUVWHS
0LQLPXPVSHHGIRUWKHDXWRPDWLF 0LQLPXPVSHHGRIJHDUVWHS
JHDUVWHSFKDQJHRIJHDUVWHS
0LQLPXPVSHHGRIJHDUVWHS
7UDQVPLVVLRQ
VWDJH
7UDQVPLVVLRQ
VWDJH
Figure 15-5 Example for two gear steps with overlapping speed ranges for automatic gear step
change (M40)
Note
In the case of M40, the spindle must be in open-loop control mode for automatic gear step
selection with an S value. Otherwise the gear step change is rejected and the following alarm
is set:
Alarm 22000 "gear step change is not possible"
Note
An active reduction gear is not considered in the selection for the automatic gear step
change.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1249
Spindles (S1)
Configurable gear adaptation
The programmed spindle speed (S value) then refers to this permanently defined gear step:
● If a spindle speed is programmed and it is more than the maximum speed of the
permanently defined gear step (MD35130 $MA_GEAR_STEP_MAX_VELO_LIMIT), then
the speed is decreased to this limit and the following NC/PLC interface signal is set:
DB31, ... DBX83.1 (Setpoint speed restricted)
● If a spindle speed is programmed and it is less than the minimum speed of the
permanently defined gear step (MD35140 $MA_GEAR_STEP_MIN_VELO_LIMIT), then
the speed is increased to this minimum and the following NC/PLC interface signal is set:
DB31, ... DBX83.2 (Setpoint speed restricted)
Block change
When programming the gear step change in the part program, the gear step change set
remains active until the gear step change is aborted by PLC.
This corresponds to the effect as if the following NC/PLC interface signal were set:
DB21, ... DBX6.1 (read-in disable)
Basic Functions
1250 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Configurable gear adaptation
Note
For further details, please refer to the section "Specification of a gear step in part
program".
Exception:
The block change is not affected by the specification of a gear step in synchronized
actions.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1251
Spindles (S1)
Configurable gear adaptation
Note
Options for aborting:
DB31, ... DBX2.2 (Delete distance-to-go/Spindle reset)
or
DB31, ... DBX16.3 (Gear changed)
with corresponding acknowledgment from actual gear step:
DB31, ... DBX16.0-16.2 (Actual gear step).
Basic Functions
1252 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Configurable gear adaptation
Setpoint 0 is output.
The gear step change is acknowledged as usual
via the NC/PLC interface signal:
DB31, ... DBX16.3 (gear is changed)
● The "Ramp-function generator rapid stop" signal must be reset by the PLC before the
gear step change is completed by the PLC.
● The process sequence of the gear step change is ended during NC reset without any
alarm output.
The gear step output with NC/PLC IS:
DB31, ... DBX16.0-16.2 (Actual gear step A to C)
is applied by the NC.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1253
Spindles (S1)
Configurable gear adaptation
Value Description
0 In-system parameter set selection
The parameter sets of the servo are assigned permanently.
The following applies:
• For axes and spindles in the axis mode, the first parameter set is active in principle.
Exception:
In G33, G34, G35, G331 and G332 the parameter set for the involved axes is activated
with the following number:
Master spindle gear step + 1 (corresponds to parameter set No. 2 ... 6)
• For spindles in the spindle mode, the parameter set is set matching the gear step.
1 Besides the in-system parameter set selection, there is also the option of an "external"
parameter set selection.
• by the PLC (DB31, ... DBX 9.0 - 9.2)
• via programming of SCPARA in the part program or in synchronized actions
However, the in-system parameter set selection has priority.
Note: Value 1 is relevant only to axes.
2 The servo parameter set is specified exclusively by the PLC (DB31, ... DBX 9.0 - 9.2) or
through the programming of SCPARA in the part program or in synchronized actions (for axes
and spindles).
The 1st parameter set is selected after POWER ON.
Spindle mode
MD35590 $MA_PARAMSET_CHANGE_ENABLE = 0 or 1
The parameter set is selected according to the gear step + 1.
The active gear step is located in:
DB31, ... DBX16.0-16.2 (actual gear step A to C)
The active parameter set is output in:
DB31, ... DBX69.0-69.2 (controller parameter set A to C)
One set of parameters, with the following assignment, is provided by the NC for each of the
5 gear steps:
Basic Functions
1254 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Configurable gear adaptation
Note
If an indirect encoder is configured, and the load gearbox transmission ratio changes, then
the reference is lost and the NC/PLC interface signal:
DB31, ... DBX60.4/60.5 (referenced/synchronized 1 or 2)
is reset for the relevant measuring system.
References
For further information about control and servo parameter set, please refer to:
Function Manual - Basic Functions; Velocities, Setpoint-Actual Value Systems, Closed-Loop
Control (G2)
Programming Manual, Job Planning; Chapter: Programmable servo parameter set
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1255
Spindles (S1)
Configurable gear adaptation
Tool change
If the intermediate gear is changed at the same time as the tool, the user must also
reconfigure the transmission ratio of the numerator and denominator via the machine data of
the intermediate gear.
Example:
In the case of an installed tool with a transmission ratio of 2:1, a suitable intermediate gear is
configured and is activated immediately in the part program with the command NEWCONF.
N05 $MA_DRIVE_AX_RATIO2-NUMERA[AX5] = 2
M10 $MA_DRIVE_AX_RATIO2-DENOM[AX5] = 1
N15 NEWCONF
CAUTION
It remains the task of the user to stop within the appropriate period in order to make
changes to the machine data when required and then activate a "NewConfig".
Basic Functions
1256 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Configurable gear adaptation
Switchover
Switchover to a new transmission ratio is performed immediately by means of NewConfig.
From a technological viewpoint, the associated mechanical switchover process takes some
time, since, in mechanical terms, a different intermediate gear with rotating tool is being
installed.
Note
At zero speed, switchover is jerk-free. The user is therefore responsible for taking
appropriate precautions.
Applications in which switchover takes place during motion and which require smoothed or
soft speed transition can be handled using existing setpoint speed filters.
Mode change
A gear step change that has not been acknowledged cannot be interrupted by a change in
operating mode (e.g. switchover to JOG).
The switchover is delayed by the maximum period entered in machine data:
MD10192 $MN_GEAR_CHANGE_WAIT_TIME.
If the gear step change is not acknowledged within this time, the NC will output an alarm:
Further events
Events that initiate reorganization will also wait until a gear step change is completed.
The time entered in machine data:
MD10192 $MN_GEAR_CHANGE_WAIT_TIME
determines how long the control waits before executing the gear step change.
If this time elapses without the gear step change being completed, the NC responds with an
alarm.
The following events have an analog response:
● User ASUB
● Mode change
● Delete distance-to-go
● Axis replacement
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1257
Spindles (S1)
Configurable gear adaptation
What is oscillation?
Oscillation in this context means that the spindle motor rotates alternately in the clockwise
and counterclockwise directions. This oscillation movement makes it easy to engage a new
gear step.
Oscillation mode
NC/PLC IS:
DB31, ... DBX82.3 (Change gear)
displays that a gear step change is required.
In principle, the new gear step can also be engaged without oscillation
1. MD35010 $MA_GEAR_STEP_CHANGE_ENABLE must be set to 1.
2. NC/PLC interface signals DB31, ... DBX84.6 (oscillation mode) is set.
3. The acceleration is set in the machine data:
MD35410 $MA_SPIND_OSCILL_ACCEL
Basic Functions
1258 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Configurable gear adaptation
NC/PLC IS:
DB31, ... DBX82.3 (Change gear)
is only enabled when a new gear step is defined
that is not the same as the current actual gear step.
If NC/PLC IS:
DB31, ... DBX18.5 (Oscillation speed)
is simply set by the PLC without a new gear step being defined by the NC,
the spindle does not change to oscillation mode.
Oscillation mode is activated with NC/PLC IS:
DB31, ... DBX18.5 (Oscillation speed).
Depending on NC/PLC IS:
DB31, ... DBX18.4 (Oscillation via PLC)
while the function is in operation, a distinction is made between:
● Oscillation via NCK
● Oscillation via PLC
● Oscillation with FC 18
References:
Function Manual, Basic Functions; PLC Basic Program (P3)
Oscillation time
The oscillation time for oscillation mode can be defined in a machine date for each direction
of rotation:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1259
Spindles (S1)
Configurable gear adaptation
Phase 2:
If time t1 (t2) has passed, the spindle motor
accelerates in the opposite direction to the speed defined in machine data:
MD35400 $MA_SPIND_OSCILL_DES_VELO.
Time t2 (t1) starts.
Phase 3:
If time t2 (t1) has passed, the spindle motor accelerates in the opposite direction (same
direction as in Phase 1) to the speed defined in machine data:
MD35400 $MA_SPIND_OSCILL_DES_VELO.
Time t1 (t2) starts. The process continues with Phase 2.
Basic Functions
1260 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Configurable gear adaptation
● If NC/PLC IS:
DB31, ... DBX18.5 (Oscillation speed)
is reset, oscillation mode stops.
However, the spindle remains in "oscillation mode".
● The acceleration is defined in the following machine data:
MD35410 $MA_SPIND_OSCILL_ACCEL
● The spindle will cease to be synchronized if an indirect measuring system (motor
encoder) is used.
If the machine data is set to:
MD31050 $MA_ENC_IS_DIRECT = 0,
NC/PLC IS:
DB31, ... DBX60.4/5 = 0 (Homed/Synchronized)
is automatically deleted.
The zero mark is synchronized the next time it is crossed.
Functionality
Machine tools of conventional design require a gear step change of the spindle in oscillation
mode.
If the machine data configuration is:
MD35010 $MA_GEAR_STEP_CHANGE_ENABLE = 1
the following sequence is implemented:
● Deceleration of the spindle.
The braking action corresponds to an M5 movement.
● Output of VDI interface signals:
DB31, ... DBX84.6 (Oscillation mode)
DB31, ... DBX82.3 (Change gear)
DB31, ... DBX82.0-82.2 (Set gear step A to C).
If position control has been enabled, it is disabled:
DB31, ... DBX61.5 = 0.
● The load gearbox can now "disengage".
● NC/PLC IS:
DB31, ... DBX18.5 (Oscillation enable)
can be set by the PLC.
The spindle motor then performs an oscillation motion with preset values.
The oscillation motion is designed to facilitate and accelerate the re-engaging of the gear
wheels.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1261
Spindles (S1)
Configurable gear adaptation
Block change
If the spindle is switched to oscillation mode
with NC/PLC IS:
DB31, ... DBX82.3 (Change gear),
the processing of the part program remains suspended.
A new block is not executed.
If oscillation mode is terminated with NC/PLC IS:
DB31, ... DBX16.3 (Gear changed),
the processing of the part program is resumed.
A new block is executed.
6SLQGOHVSHHG
UHYPLQ
7LPH V
,6*HDUFKDQJHG
%ORFNFKDQJHRFFXUVKHUH
Basic Functions
1262 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Configurable gear adaptation
Oscillation mode
Typical time sequence for the gear step change with a spindle:
'%'%; FRQWUROPRGH
'%'%; RVFLOODWLRQPRGH
'%'%; JHDULVFKDQJHG
'%'%; FKDQJHJHDUVWDJH
'%'%; VHWJHDUVWDJH$&
'%'%; VSLQGOHLQVHWSRLQWUDQJH
'%'%; VSLQGOHVWDWLRQDU\
'%'%; DFWXDOJHDUVWDJH$&
'%'%; RVFLOODWLRQVSHHG
)LUVWJHDUVWDJHHQJDJHG PHFKDQLFDO
6HFRQGJHDUVWDJHHQJDJHG PHFKDQLFDO
,QWHUQDOIHHGGLVDEOH
7 7
6SLQGOHVSHHG
W W W W
t1: With the programming of S1300, NCK detects a new gear step (second gear step), sets NST
DB31, ... DBX82.3 (change gear) and blocks processing for the next part program block (=
internal feed disable*).
t2: The spindle is stationary, and oscillation starts (oscillation via the NCK). NST DB31, ... DBX18.5
(oscillation speed) must be set at the latest by t2.
t3: The new gear step is engaged. The PLC user transmits the new (actual) gear step to the NCK
and sets NST DB31, ... DBX16.3 (gear is changed).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1263
Spindles (S1)
Configurable gear adaptation
t4: NCK then retracts NST DB31, ... DBX82.3 (change gear), ends the oscillation, releases the next
part program block for processing, and accelerates the spindle to the new S value (S1300).
*: The internal feed disable is set if:
• The spindle gear step change has been programmed via the part program and
• A processing block is activated (i.e. G0 is not active)
The internal feed disable is not set during a gear step change from synchronized actions or in
the case of specifications via the PLC with FC 18.
Figure 15-7 Gear step change with stationary spindle
Basic Functions
1264 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Configurable gear adaptation
● After reaching the gear step change position configured in machine data:
MD35012$MA_GEAR_STEP_CHANGE_POSITION
the machine waits for the time in machine data:
MD35310 $MA_SPIND_POSIT_DELAY_TIME
before switching to oscillation mode,
and the known gear step change dialog starts.
● Output of VDI interface signals:
DB31, ... DBX84.6 (Oscillation mode)
DB31, ... DBX82.3 (Change gear)
DB31, ... DBX82.0-82.2 (Set gear step A to C).
● Position control is not disabled when an active measuring system with indirect encoder
(motor encoder) is used:
MD31040 $MA_ENC_IS_DIRECT = 0
If a measuring system with a direct encoder (load encoder) is active, position control is
deactivated:
DB31, ... DBX61.5 = 0,
because the induction flux to the load is interrupted and closed-loop position control is no
longer possible.
● If position-controlled operation is not possible, it can be disabled by
resetting "Servo enable":
DB31, ... DBX2.1 = 0.
● Mechanical switchover of the gear step on the machine.
No oscillation motion is required from the drive.
NC/PLC IS:
DB31, ... DBX18.5 (Oscillation enable)
and
DB31, ... DBX18.4 (Oscillation via PLC)
should not be set.
In principle, oscillation movement is still possible at this point.
● Writing of NC/PLC IS:
DB31, ... DBX16.0-16.2 (Actual gear step A to C)
by the PLC.
● After signal:
DB31, ... DBX16.3 (gear step changed),
the last movement to be active is continued, if available.
For indirect encoders (motor encoders), the homing status is cleared:
DB31, ... DBX60.4/5 = 0.
The spindle is in speed control mode and NC/PLC IS:
DB311, ... DBX84.7 (Open-loop control mode)
is output.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1265
Spindles (S1)
Configurable gear adaptation
'%'%; SRVLWLRQLQJPRGH
'%'%; FRQWUROPRGH
'%'%; RVFLOODWLRQPRGH
'%'%; JHDULVFKDQJHG
'%'%; FKDQJHJHDUV
'%'%; VHWJHDUVWDJH$&
'%'%; VSLQGOHLQVHWUDQJH
'%'%; VSLQGOHVWDWLRQDU\
'%'%; DFWXDOJHDUVWDJH$&
'%'%; RVFLOODWLRQVSHHG
)LUVWJHDUVWDJHHQJDJHG PHFKDQLFDO
6HFRQGJHDUVWDJHHQJDJHG PHFKDQLFDO
,QWHUQDOIHHGGLVDEOH
6SLQGOHVSHHG
'%'%; H[DFWVWRSILQH
W W W W W
t1: With the programming of S1300, NCK detects a new gear step (second gear stage), NCK sets
NST DB31, ... DBX84.5 (positioning mode) and blocks processing for the next part program
block (= internal feed disable*).
t2: The spindle is stationary, and exact stop is signaled.
t3: Gear step change - wait time
Basic Functions
1266 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Configurable gear adaptation
t4: The new gear step is engaged. The PLC user transmits the new (actual) gear step to the NCK
and sets NST DB31, ... DBX16.3 (gear is changed).
t5: NCK then retracts NST DB31, ... DBX82.3 (change gear), releases the next part program block
for processing, and accelerates the spindle to the new S value (S1300).
*: The internal feed disable is set if:
• The spindle gear step change has been programmed via the part program and
• A processing block is activated (i.e. G0 is not active)
The internal feed disable is not set during a gear step change from synchronized actions or in
the case of specifications via the PLC with FC 18.
Figure 15-8 Gear step change with stationary spindle
Position identifiers/position
The position is always approached via the shortest path (corresponds to DC).
If no reference is available and the spindle is in stillstand
(e.g. after Power On), then the direction of travel is determined by the following machine
data:
MD35350 $MA_SPIND_POSITIONING_DIR
If an adjustable gear step change position is required, then this can be achieved by writing
the machine data and by a subsequent NewConfig.
The change of the MD value can be achieved by the part program or HMI.
If the system is unable to reach the preset position, then alarm 22020 is signaled and the
gear step change dialog between NCK and PLC does not take place in order not to destroy
the gears. As this alarm is serious, the part program cannot continue and the cause must be
eliminated under all circumstances Experience has shown that the abortion of positioning is
usually due to incorrect MD settings or incompatible PLC signals.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1267
Spindles (S1)
Configurable gear adaptation
Velocity
The positioning speed is taken from the machine data which is configured depending on the
gear step:
MD35300 $MA_SPIND_POSCTRL_VELO
NC/PLC IS "Spindle speed override"/"Feedrate override" at
DB31, ... DBX17.0=0: DB31, ... DBB19)
as well as:
DB31, ... DBX17.0=1: DB31, ... DBB0
are effective as normal for positioning.
The positioning speed can be changed proportionally through the program instruction
OVRA[Sn].
Note
OVRA[Sn] is valid modally. After the gear step change, a value appropriate for the
machining should be reset.
The part-program instruction FA[Sn] does not change the positioning speed during gear
step change.
Acceleration
The acceleration values are determined by the machine data which is configured depending
on the gear step:
MD35200 $MA_GEAR_STEP_SPEEDCTRL_ACCEL
and
MD35210 $MA_GEAR_STEP_POSCTRL_ACCEL
The acceleration can be changed proportionally by programming ACC[Sn].
Note
ACC[Sn] is valid modally. After the gear step change, a value appropriate for the machining
should be reset.
Speed-dependent acceleration
The "knee-shaped acceleration characteristic" is effective as in positioning with SPOS or
FC18.
Jerk
It is currently not possible to limit the change in acceleration.
Basic Functions
1268 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Configurable gear adaptation
End of positioning
The transition between the end of the positioning action (DB31, ... DBX84.5)
and the start of oscillation mode (DB31, ... DBX84.6) is defined on
reaching "Exact stop fine" (DB31, ... DB60.7) and the time value entered in machine data:
MD3510 $MA_SPIND_POSIT_DELAY_TIME.
The determination of the transition condition has an effect firstly on the gear step change
time and secondly on the accuracy of the approach to the preset gear step change position.
Block change
The block change is stopped and the machining blocks are not started until the gear step
has been changed by the PLC (DB31, ... DBX16.3).
Boundary conditions
● The spindle must have at least one measuring system.
● Position-controlled operation must be possible and must have been activated.
● Generally, it must be possible to execute SPOS from the part program, from a
synchronized action or via FC18: “Start spindle positioning” without errors.
Unless all requirements can be met, the function described cannot be used successfully.
Activation
The function of gear step change at fixed position
is activated by the configuration:
MD35010 $MA_GEAR_STEP_CHANGE_ENABLE = 2
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1269
Spindles (S1)
Configurable gear adaptation
Technical background
In some machines the spindle needs to be in a particular gear step during axis mode.
Possible reasons:
● Only one optimization (Kv, feedforward control, filter) to suit a gear step can be found in
the servo parameter set for axis mode (index 0). The machine data for this parameter set
should not be rewritten.
● There is only one mechanical transmission ratio which, unlike the others, possesses little
or no backlash compensation. The spindle can only follow a path motion or
transformations (e.g. TRANSMIT) together with other axes in this gear step.
Function
If the function is activated, a predefined gear step is loaded automatically during transition to
axis mode.
The gear step change is integrated into the M70 process and occurs after spindle
deceleration and before the loading of the servo parameter set with index 0 (note
MD35590 $MA_PARAMSET_CHANGE_ENABLE!).
The typical dialog between NC and PLC which occurs during gear step changes is executed
in a similar way to programmed gear step changes (M41 ... M45).
Requirements
Gear step changes during transition to axis mode require general enabling of the gear step
change via the machine data:
MD35010 $MA_GEAR_STEP_CHANGE_ENABLE (assign parameters to the gear step
change).
MD35090 $MA_NUM_GEAR_STEPS (number of gear steps set up)
Activation/Deactivation
The function is activated/deactivated via the machine data:
MD35014 $MA_GEAR_STEP_USED_IN_AXISMODE (gear step for axis mode in M70)
Value Meaning
0 No implicit gear step change occurs in M70. The current gear step is retained (default
setting!).
1 ... 5 A gear step change to gears 1 ... 5 occurs during the processing of M70.
Basic Functions
1270 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Configurable gear adaptation
Boundary conditions
Gear step change at fixed position (MD35010 $MA_GEAR_STEP_CHANGE_ENABLE = 2)
The "gear step change at fixed position" function is supported. The sequence in M70 is then
extended by the time it takes to position the spindle. The position is approached at the
current gear step.
Transition to axis mode without programming M70
The control system detects the transition to axis mode automatically from the program
sequence (see "Implicit transition to axis mode (Page 1234)") and generates the requisite
M70 sequence, including the gear step change, within the control system.
Transition to axis mode with FC 18
Implicit gear step change is not supported in transition to axis mode with the FC 18 ("Start
axis"). This requires the right gear step to be engaged by the PLC application before
switching to axis mode. The gear step change is also possible with the FC 18 ("Start gear
step change").
Change from axis mode to spindle mode
When changing from axis mode to spindle mode, the gear step loaded with M70 remains
activated. The gear stage which is activated in spindle mode prior to M70 is not automatically
loaded again. The servo parameter set is changed from parameter set 1 (index 0) to
parameter sets 2 ... 6 (index 1 ... 5) to suit the gear step (with
MD35590 $MA_PARAMSET_CHANGE_ENABLE < 2).
Example
Gear step 4 should be loaded in the case of spindle transition to axis mode.
Configuration: MD35014 $MA_GEAR_STEP_USED_IN_AXISMODE[<spindle identifier>] = 4
Note
MD35014 can be changed in the NewConfig. Thus, the gear step being loaded can still be
changed in the part program before transition to axis mode, if necessary.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1271
Spindles (S1)
Selectable spindles
Application
The "selectable spindles" function allows you to write part programs with reference to the
spindles used ("channel spindle, logical spindle") regardless of the actual assignment of
configured spindles ("physical spindles") to a channel.
The physical spindles loaded or unloaded by "axis replacement" no longer have to be
specified explicitly in the part program.
Functionality
Each spindle is clearly mapped to a machine axis through a configurable number with the
machine data:
MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[AX...].
This number is always valid for a spindle whereby it is irrespective in which channel the
spindle is actively handled.
The channel spindles can be switched over because an intermediate level is introduced
between the logical spindle numbers used in the part program and the physical spindles
existing in the channel.
The setting data table
(SD42800 $SC_SPIND_ASSIGN_TAB[...]; Spindle number converter)
assigns each logical spindle used in the part program a physical spindle.
The spindle number converter is effective in spindle programming by means of:
● The part program
● Synchronized actions
The spindle number converter has no effect with PLC commands, which use function block
FC18. The physical spindle must always be addressed there within the context of the axis.
The logical spindles can be switched by changing the setting data:
SD42800 $SC_SPIND_ASSIGN_TAB[...]
The change can be achieved by the part program, by the PLC and/or HMI.
Note
In setting data:
SD42800 $SC_SPIND_ASSIGN_TAB[0]
contains the logical master spindle.
It is only used for display purposes.
This setting data is defined in the part program by SETMS (logical spindle).
Unused spindles are assigned the value 0 in SD42800.
System variables affected by the spindle mapping table are:
$P_S, $P_SDIR, $P_SMODE, $P_GWPS, $AC_SDIR, §AC_SMODE, $AC_MSNUM, $AA_S.
Basic Functions
1272 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Selectable spindles
References:
/PGA/ Programming Manual, Work Preparation
The converted, physical spindle number is always output as the address extension in the
auxiliary function output.
Constraints
● Switchable channel spindles are not a substitute for the Axis replacement function.
● You can only switch spindles, which have been assigned to the channel by means of
configuration.
● If spindles, which are presently active in another channel, are designated for switchover,
either the "Auto-Get" function is triggered for the physical spindle or alarm 16105
"Assigned spindles do not exist" is output, depending on the configuration variant.
● If the setting data:
SD42800 $SC_SPIND_ASSIGN_TAB[...]
is specified by the PLC or from HMI, then the channel whose table is changed should be
in Reset status or the spindle to be changed should not be used in the running part
program respectively.
A synchronized response can be achieved by means of a STOPRE preprocessor stop.
● The multiple mapping of logical to physical spindles is not prevented in the NC. However,
with the display of logical spindle in the operator interface, there are ambiguities
corresponding to the change table.
● Spindle conversion operates on spindles via FC 18.
Activation
Setting data:
SD42800 $SC_SPIND_ASSIGN_TAB[...]
is enabled by activating machine data:
MD20092 $MC_SPIND_ASSIGN_TAB_ENABLE=1.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1273
Spindles (S1)
Selectable spindles
Example
Assumptions: Spindle configurations:
Specifying the spindle number and machine axis
MD20070 $MC_AXCONF_MACHAX_USED[0] = 4
MD20070 $MC_AXCONF_MACHAX_USED[1] = 5
MD20070 $MC_AXCONF_MACHAX_USED[2] = 6
MD20070 $MC_AXCONF_MACHAX_USED[3] = 7
MD20090 $MC_SPIND_DEF_MASTER_SPIND = 1
Basic Functions
1274 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Selectable spindles
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1275
Spindles (S1)
Programming
15.6 Programming
Programming statements
Statement Description
SETMS: Master spindle is the spindle specified in the following machine data:
MD20090 $MC_SPIND_DEF_MASTER_SPIND (master spindle reset position in the
channel)
SETMS(<n>): The spindle with the number <n> is the master spindle
(may differ from the reset position:
MD20090 $MC_SPIND_DEF_MASTER_SPIND).
The master spindle must be defined for the following functions:
• G95: Rev. feedrate
• G96 S.../G961 Constant cutting rate in m/min or feet/min
S...:
• G97/G971: CancelG96/G961 and freeze last spindle speed
• G63: Tapping with compensating chuck
• G33/G34/G35: Thread cutting
• G331/G332: Rigid tapping
• G4 S...: Dwell time in spindle revolutions
• Programming M3, M4, M5, S, SVC, SPOS, M19, SPOSA, M40, M41 to M45, and WAITS
without entering the spindle number
The current master spindle setting can be retained via RESET/part program end and part
program start. The setting is done via the machine data:
• MD20110 $MC_RESET_MODE_MASK
• MD20112 $MC_START_MODE_MASK
M3: Clockwise spindle rotation for the master spindle
M<n>=3: Clockwise spindle rotation for spindle number <n>
M4: Counterclockwise spindle rotation for the master spindle
M<n>=4: Counterclockwise spindle rotation for spindle number <n>
M5: Spindle stop without orientation for the master spindle
M<n>=5: Spindle stop without orientation for spindle number <n>
S...: Spindle speed in rpm for the master spindle.
S<n>=...: Spindle speed in rpm for spindle number <n>
SVC=...: Cutting rate in m/min or feet/min for the master spindle
SVC[<n>]=...: Cutting rate in m/min or feet/min for the spindle <n>
SPOS=...: Spindle positioning for the master spindle
SPOS[<n>]=...: Spindle positioning for spindle number <n>
The block change is only performed when the spindle is in position.
Basic Functions
1276 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Programming
Statement Description
SPOSA=...: Spindle positioning for the master spindle
SPOSA[<n>]=...: Spindle positioning for spindle number <n>
The block change is executed immediately. Spindle positioning continues, regardless of
further part program processing, until the spindle has reached its position.
SPOS=DC(...): The direction of motion is retained for positioning while in motion and the position
SPOS[<n>]=DC(...): approached. When positioning from standstill, the position is approached via the shortest
path.
SPOSA=DC(...):
SPOSA[<n>]=DC(...):
SPOS=ACN(...): The position is always approached with negative direction of motion. If necessary, the
SPOS[<n>]=ACN(...): direction of motion is inverted prior to positioning.
SPOSA=ACN(...):
SPOSA[<n>]=ACN(...):
SPOS=ACP(...): The position is always approached with positive direction of motion.
SPOS[<n>]=ACP(...): If necessary, the direction of motion is inverted prior to positioning.
SPOSA=ACP(...):
SPOSA[<n>]=ACP(...):
SPOS=IC(...): The travel path is specified. The direction of travel is determined from the sign in front of
SPOS[<n>]=IC(...): the travel path. If the spindle is in motion, the direction of travel is inverted as necessary to
allow traversing in the programmed direction.
SPOSA=IC(...):
If the zero mark is crossed during traversing, the spindle is automatically synchronized
SPOSA[<n>]=IC(...):
with the zero mark if no reference is available or if a new one has been requested via an
interface signal.
M19: Positioning the master spindle to the position in SD43240
M[<n>]=19: Positioning spindle number <n> to the position in SD43240
The block change is only performed when the spindle is in position.
Bring spindle to standstill and activate position control, select zero parameter set, activate
axis mode
M70: for the master spindle.
M<n>=70: for spindle number <n>
Spindle position control ON
SPCON: for the master spindle
SPCON(<n>): for spindle number <n>
SPCON(<n>,<m>): for spindle numbers <n> and <m>
Spindle position control OFF, activate speed control mode
PCOF: for the master spindle
SPCOF(<n>): for spindle number <n>
SPCOF(<n>,<m>): for spindle numbers <n> and <m>
FPRAON(S<n>): Revolutional feedrate for spindle <n> ON, derived from the master spindle
FPRAON(S<n>,S<m>): Revolutional feedrate for spindle <n> ON, derived from spindle <m>
The revolutional feedrate value must be specified with FA[S<m>].
FPRAOF(S<n>): Revolutional feedrate for spindle <n> OFF
C30 G90 G1 F3600 Rotary axis C (spindle in axis mode) travels to the position 30 degrees at a speed of 3600
degrees/min = 10 rpm
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1277
Spindles (S1)
Programming
Statement Description
Programmable minimum spindle speed limitation
G25 S...: for the master spindle
G25 S<n>: for spindle number <n>
Programmable maximum spindle speed limitation
G26 S...: for the master spindle
G26 S<n>: for spindle number <n>
Programmable maximum spindle speed limitation with G96, G961, G97
LIMS=...: for the master spindle
LIMS[<n>]=...: for spindle number <n>
WAITS: Synchronization command for master spindle
The subsequent blocks are not processed until the spindle programmed in a previous NC
block with SPOSA has reached its position (with exact stop fine).
WAITS after M5: Wait until the spindle is stationary.
WAITS after M3/M4: Wait for the spindle to reach its setpoint speed.
WAITS(<n>): Synchronization command for spindle number <n>
WAITS(<n>,<m>): Synchronization command for spindle numbers <n> and <m>
FA[S<n>]: Programming of positioning speed (axial feed) for spindle <n> in [deg/min]
With FA[S<n>]=0, the configured value takes effect once more:
MD35300 $MA_SPIND_POSCTRL_VELO
OVRA[S<n>]: Programming of the axial override value for spindle <n> in [%]
ACC[S<n>]: Programming of the axial acceleration capacity of spindle <n> in [%]
Basic Functions
1278 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Programming
Statement Description
SPI(<n>): With SPI(<n>) a spindle number is converted into the data type AXIS according to
machine data
MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ ].
SPI is used if axis functions are to be programmed with the spindle.
The following instructions are possible with SPI:
• Frame instructions:
– CTRANS()
– CFINE()
– CMIRROR()
– CSCALE()
• Velocity and acceleration values for following spindles:
– FA[SPI(<n>)]
– ACC[SPI(<n>)]
– OVRA[SPI(<n>)]
• System variables:
– $P_PFRAME[SPI(<n>),TR]=<value>
– $P_PFRAME=
CTRANS(X,<axis value>,Y,<axis value>,SPI(<n>),<axis value>)
– $P_PFRAME=
CSCALE(X,<scale>,Y,<scale>,SPI(<n>),<scale>)
– $P_PFRAME=CMIRROR(S<n>,Y,Z)
– $P_UBFR=CTRANS(A,10) : CFINE (19,0.1)
For further explanations about the programming of SPI, see:
References:
Programming Manual, Work Preparation.
M40: Automatic gear step selection for the master spindle
M<n>=40: Automatic gear step selection for spindle number <n>
M41 to M45: Select gear step 1 to 5 for the master spindle.
M<n>=41 to M<n>=45: Select gear step 1 to 5 for spindle number <n>.
Note
M functions M3, M4, M5, and M70 are not output in DB21, ... DBB194 and DBB202 if a
spindle is configured in a channel. These M functions are offered as extended M functions in
DB21, ... DBB68 ff. and in the respective axis DB, DB31, ... DBB86 ff.
References
More detailed explanations for programming the spindle can be found in:
● Programming Manual, Fundamentals
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1279
Spindles (S1)
Programming
References
For further explanations regarding the programming of the spindle as well as spindle
movements from synchronized actions, refer to:
● Programming Manual, Job Planning
● Function Manual, Synchronized Actions
References
More detailed explanations regarding the programming of spindle controls by PLC with FC18
can be found in:
● Function Manual, Basic Functions, Basic PLC Program (P3)
Basic Functions
1280 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Programming
15.6.4 Gear step change with DryRun, program testing and SERUPRO
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1281
Spindles (S1)
Programming
Boundary conditions
If the gear step change is suppressed, the output spindle speed moves within the speed
range specified by the current gear step.
The following restrictions apply to the subsequent activation of a gear step change with
REPOS:
● The gear step change is not activated subsequently if the spindle in the deselection or
target block is a command spindle (synchronized action) or PLC spindle (FC18).
● If the gear step cannot be activated because the spindle is in position or axis mode or a
link is active, alarm 22011"Channel%1 block%3 spindle% Change to programmed gear
step not possible" is signaled.
Basic Functions
1282 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Programming
Example
Gear step change in DryRun
>0: The machine axis number of the rotary axis/spindle from which the revolutional feedrate
shall be derived.
-1: The revolutional feedrate is derived from the master spindle of the channel in which the
axis/spindle is active in each case.
0: Function is deselected.
FPRAON (S2)
Revolutional feedrate for spindle S2 ON, derived from the master spindle
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1283
Spindles (S1)
Programming
FPRAON (S2, A)
Revolutional feedrate for spindle S2 ON, derived from axis A.
The revolutional feedrate value must be specified with FA[Sn].
FPRAOF (S2)
Revolutional feedrate for spindle S2 OFF.
SPI(n)
It is also possible to program SPI(n) instead of SPI(Sn).
Basic Functions
1284 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Spindle monitoring
6SLQGOHVSHHG
0D[LPXPHQFRGHUOLPLWIUHTXHQF\
0D[LPXPVSLQGOHVSHHG
0D[LPXPVSLQGOHVSHHGIRUFXUUHQWJHDUVWHS
3URJUDPPDEOHVSLQGOHVSHHGOLPLW*
3URJUDPPDEOHVSLQGOHVSHHGOLPLW/,06
3URJUDPPDEOHPLQLPXPVSLQGOHVSHHG*
0LQLPXPVSLQGOHVSHHGIRUFXUUHQWJHDUVWHS
6SLQGOHLVVWDWLRQDU\
FRQVWDQWFXWWLQJUDWH**DQG*
,6$[LV6SLQGOHVWDWLRQDU\ QQPLQ
6SHHGUDQJHRIFXUUHQWJHDUVWHSDW
6SHHGUDQJHRIFXUUHQWJHDUVWHS
6SHHGUDQJHRIFXUUHQWJHDUVWHS
,6+RPHG6\QFKURQL]HG
OLPLWHGE\*DQG*
6SHHGUDQJHRIVSLQGOH
RUVSLQGOHFKXFN
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1285
Spindles (S1)
Spindle monitoring
Function
"Spindle in setpoint range" spindle monitoring checks whether:
● The programmed spindle speed is reached.
● The spindle is stationary (NC/PLC IS:
DB31, ... DBX61.4 (axis/spindle stationary)).
● The spindle is still in the acceleration or deceleration phase.
In spindle control mode, the setpoint speed
(programmed speed ∗ spindle offset including active limitations)
is compared with the actual speed.
Basic Functions
1286 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Spindle monitoring
Speed change
Path control only takes place at the start of the traverse block and only if a speed change
has been programmed. If the speed tolerance range is violated, e.g. due to an overload, the
path movement is not automatically brought to a standstill.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1287
Spindles (S1)
Spindle monitoring
Function
The following system variables are available in the spindle mode:
Basic Functions
1288 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Spindle monitoring
Boundary conditions
The values delivered by the system variables depend on the spindle mode:
● Speed control mode:
All system variables deliver current values.
● Positioning mode:
The system variables $AC_SMAXVELO, $AC_SMAXACC and $AC_SPIND_STATE
deliver valid values. The system variables $AC_SMINVELO and $AC_SMINVELO_INFO
deliver the data that becomes effective on changing to the speed control mode.
● Axis mode (e.g. if the spindle is used by a transformation TRANSMIT, TRACYL,... or
follows a path motionas a special axis):
The system variable $AC_SPIND_STATE can also be used in the axis mode. Separate
system variables are available in the axis mode for dynamic data:
$AA_VMAXM, $AA_VMAXB and $AA_VLFCT.
The following control system response results in block-search response, type SERUPRO:
● The system variable $AC_SMAXVELO/$AC_SMAXACC delivers the maximum
representable speed/acceleration.
● $AC_SMAXVELO_INFO and $AC_SMAXACC_INFO deliver the VALUE "0" (no limitation
is active).
● $AC_SMINVELO and $AC_SMINVELO_INFO deliver data as in case of normal part
program processing.
● $AC_SPIND_STATE returns the states as they are set for SERUPRO.
Sample programming
Example of the visualization of the content of the system variables for Spindle 1. The
variables are written to the R parameters cyclically. These can be displayed on HMI in the R
Parameters area.
Program code
N05 IDS=1 WHENEVER TRUE DO $R10=$AC_SMAXVELO[1]
N10 IDS=2 WHENEVER TRUE DO $R11=$AC_SMAXVELO_INFO[1]
N15 IDS=3 WHENEVER TRUE DO $R12=$AC_SMINVELO[1]
N20 IDS=4 WHENEVER TRUE DO $R13=$AC_SMINVELO_INFO[1]
N25 IDS=5 WHENEVER TRUE DO $R14=$AC_SPIND_STATE[1]
Minimum speed
The minimum gear step speed is entered in machine data:
MD35140 $MA_GEAR_STEP_MIN_VELO_LIMIT.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1289
Spindles (S1)
Spindle monitoring
This setpoint speed cannot be undershot by programming an S value, which is too small.
NC/PLC IS:
DB31, ... DBX83.2 (Setpoint speed increased) (Programmed speed too low) is set.
The minimum gear step speed is effective only in speed mode and can only be undershot
by:
● Spindle override 0%
● M5
● S0
● NC/PLC IS DB31, ... DBX4.3 )Spindle stop)
● Withdraw NC/PLC IS:
DB31, ... DBX2.1 (Controller enable).
Maximum speed
The maximum gear step speed is entered in machine data:
MD35130 $MA_GEAR_STEP_MAX_VELO_LIMIT.
When the gear step is engaged, this setpoint speed cannot be exceeded.
When the programmed spindle speed is limited, NC/PLC IS:
DB31, ... DBX83.1 (Setpoint speed limited) (programmed speed too high)
is set.
CAUTION
The maximum encoder frequency limit 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 being exceeded.
Basic Functions
1290 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Spindle monitoring
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1291
Spindles (S1)
Spindle monitoring
6SLQGOHVSHHG
3RVLWLRQVHWSRLQW
3RVLWLRQ
([DFWVWRSOLPLWILQH
([DFWVWRSOLPLWFRDUVH
Basic Functions
1292 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Spindle monitoring
DB31, ... DBX60.7 and DB31, ... DBX60.6 (position reached with exact stop coarse/fine)
The two limit values defined by machine data:
MD36000 $MA_STOP_LIMIT_COARSE (Exact stop limit coarse)
and
MD36010 $MA_STOP_LIMIT_FINE (Exact stop limit fine)
are output to the PLC using NC/PLC IS:
DB31, ... DBX60.7 (Position reached with exact stop coarse)
and
DB31, ... DBX60.6 (Position reached with exact stop fine).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1293
Spindles (S1)
Examples
15.8 Examples
Example
To illustrate the contents of the new block search variables:
Assumptions about automatic gear step selection (M40):
* f (PlanAxPosPCS): The speed depends on the current position of the transverse axis in the
workpiece coordinate system.
** ($P_SEARCH_SPOS and $P_SEARCH_SPOSMODE are programmed)
Basic Functions
1294 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Data lists
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1295
Spindles (S1)
Data lists
Basic Functions
1296 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Data lists
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1297
Spindles (S1)
Data lists
15.9.3 Signals
Basic Functions
1298 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Spindles (S1)
Data lists
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1299
Spindles (S1)
Data lists
Basic Functions
1300 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1) 16
16.1 Brief description
Types of feedrate
The feedrate determines the machining speed (axis or path velocity) and is observed in
every type of interpolation, even where allowance is made for tool offsets on the contour or
on the tool center point path (depending on G commands).
The following types of feedrate allow optimum adaptation to the various technological
applications (turning, milling, drilling, etc.):
● Rapid traverse feedrate (G0)
● Inverse-time feedrate (G93)
● Linear feedrate (G94)
● Revolutional feedrate (G95)
● Constant cutting rate (G96, G961)
● Constant speed (G97, G971)
● Feed rate for thread cutting (G33, G34, G35)
● Feedrate for tapping with compensating chuck (G63)
● Feedrate for tapping without compensating chuck (G331, G332)
● Feedrate for chamfer/rounding FRC, FRCM
● Non-modal feedrate FB
Note
The axis can be overloaded if the specified path is too short.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1301
Feeds (V1)
Brief description
Feedrate control
The programmed feedrate can be changed during the machining or for test purposes to
enable adjustment to the changed technological conditions.
● via the machine control panel
● via the operator panel front
● via the PLC
● per program command
Feedrate interpolation
To permit flexible definition of the feed characteristic, the feed programming according to
DIN 66205 has been extended by linear and cubic characteristics.
The cubic profiles can be programmed directly or as an interpolating spline.
You can program the following feedrate profiles:
● FNORM
Response as per DIN 66025 (default setting).
An F-value programmed in the block is applied over the entire path of the block, and is
subsequently regarded as a fixed modal value.
● FLIN
An Fvalue programmed in the block is traversed linearly over the path from the current
value at the beginning of the block to the end of the block, and is subsequently regarded
as modal value.
● FCUB
The blockwise programmed Fvalues are - relative to the end of the block - connected by a
spline. The spline starts and ends tangentially to the previous or following feedrate
setting. If the F address is missing in one block, then the last programmed F value is used
for it.
● FPO
The F address [Syntax: F=FPO (...,...,...)] designates the course of the feedrate via a
polynomial from the current value to the end of the block in which it was programmed.
The end value is treated as modal from there onwards.
The machine data:
MD20172 $MC_COMPRESS_VELO_TOL
allows a tolerance to be defined for the path feedrate if FLIN and FCUB are used in
connection with compression COMPON.
Explanations on programmable course of the feedrate are available in:
References:
/PGA/ Programming Manual - Work Preparation
Basic Functions
1302 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Brief description
Non-modal feedrate FB
A separate feedrate can be specified for an individual block with the FB command. The
earlier active path feedrate is overwritten for this block; the earlier effective modal path
feedrate is active again after this block.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1303
Feeds (V1)
Path feedrate F
16.2.1 General
Path feedrate F
The path feedrate represents the geometrical total of the velocity components in the
participating axes. It is therefore generated from the individual motions of the interpolating
axes.
The default uses the axial velocities of the geometry axes which have been programmed.
The FGROUP command can be used to include other geometry and/or synchronized axes in
the calculation of the path feedrate.
The path feedrate F determines the machining speed and is observed in every type of
interpolation even where allowance is made for tool offsets. The value programmed under
the address F remains in a program until a new F value or a new type of feedrate is
programmed.
Basic Functions
1304 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Path feedrate F
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1305
Feeds (V1)
Path feedrate F
Effectivity
The feedrate types G93, G94, G95 are active for the G functions of group 1 (except G0) in
the automatic modes.
G94 or G95 can be used for traversing in JOG mode.
References:
Function Manual, Extension Functions; Jog With/Without Handwheel (H1)
Y
)
V
Note
G93 may not be used when G41/G42 is active. If the block length varies greatly from block
to block, a new F value should be programmed in each block for G93.
Basic Functions
1306 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Path feedrate F
9 Q )
Note
The programmed F value is deleted when the system switches between the feedrate types
G93, G94 and G95.
Tooth feedrate
Primarily for milling operations, the tooth feedrate FZ..., which is more commonly used in
practice, can be programmed instead of the revolutional feedrate F...: (feed distance per
tooth).
The control uses the $TC_DPNT (number of teeth per revolution) tool parameter associated
with the active tool offset data record to calculate the effective revolutional feedrate for each
traversing block from the programmed tooth feedrate.
) )= 7&B'317
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1307
Feeds (V1)
Path feedrate F
Basic Functions
1308 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Path feedrate F
When G96, G961 is first selected in the part program, a constant cutting rate must be
entered in mm/min or ft/min.
With G96, the control system will automatically switch to revolutional feedrate (as with G95),
i.e. the programmed feedrate F is interpreted in mm/rev or inch/rev.
When programming G961, linear feedrate is selected automatically (as with G94). A
programmed feedrate F is interpreted in mm/min or inch/min.
Determining the spindle speed
Based on the programmed cutting rate (either SG96 or SG961) and the AZS position of the
transverse axis (radius), the control system calculates the spindle speed on the basis of the
following formula:
6 6SHHG
Q
U
n: Spindle speed
SSpeed: Programmed cutting rate
π Circle constant
r: Radius (AZS)
Frames between WCS and AZS (e.g. programmable frames such as SCALE, TRANS or
ROT) are taken into account in the calculation of the spindle speed and can bring about a
change in speed (for example, if there is a change in the effective diameter in the case of
SCALE).
Note
Prior to version 1.5/2.5 of the software, the WCS position of the transverse axis was used to
calculate the spindle speed. Therefore, no account was taken of programmable frames and
they had no bearing on the spindle speed. If continued use is to be made of this response for
reasons of compatibility, the frames used must be somewhere between AZS and BCS.
Diameter programming and reference axis for several transverse axes in one channel:
One or more transverse axes are permitted and can be activated simultaneously or
separately:
● Programming and displaying in the HMI operator interface in the diameter
● Assignment of the specified reference axis with SCC[AX] for a constant cutting rate G96,
G961, G962
References:
Function Manual Basic Functions; Transverse Axes (P1), example
Example
SG96 = 230 m/min
● where r = 0.2 m → n = 183.12 rpm
● where r = 0.1 m → n = 366.24 rpm
⇒ The smaller the workpiece diameter, the higher the speed.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1309
Feeds (V1)
Path feedrate F
For G96, G961 or G962 a geometry axis must be defined as the transverse axis.
The transverse axis, whose position affects the speed of the mater spindle, is defined using
channel-specific machine data:
MD20100 $MC_DIAMETER_AX_DEF (geometry axis with transverse axis function)
The function G96, G961 or G962 requires the machine zero and the workpiece zero of the
transverse axis to be in the turning center of the spindle.
Note
G96, G961 is only active during workpiece machining (G1, G2, G3, spline interpolation, etc.,
where feedrate F is active).
The response of the spindle speed for active G96, G961 and G0blocks can be defined in the
channel-specific machine data:
MD20750 ALLOW_G0_IN_G96 (G0 logic for G96, G961)
When constant cutting rate G96, G961 is selected, no gear stage change can take place.
The spindle speed override switch acts on the spindle speed calculated.
A DRF offset in the transverse axis does not affect the spindle speed setpoint calculation.
At the start of machining (after G0) and after NC Stop, G60, G09, ... the path start waits for
"nAct= nSet".
The interface signals "nAct = nSet" and "Set speed limited" are not modified by internal
speed settings.
When the speed falls below the minimum speed or if the signal "Axis/spindle stationary" is
recognized, "nAct =nSet" is reset.
A path operation, which has started (G64, rounding), is not interrupted.
Basic Functions
1310 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Path feedrate F
Note
When the block is loaded in the main run, all programmed values are transferred to to setting
data SD43230 $SA_SPIND_MAX_VELO_LIMS.
The speed limit set with LIMS remains stored after the control is switched off, depending on
the machine data:
MD10710 PROG_SD_RESET_SAVE_TAB[n] (setting data to be updated).
When G96, G961, G97 are reactivated, this spindle speed limitation is also activated.
The maximum permissible spindle speed defined by means of G26 or setting data:
SD43220 $SA_SPIND_MAX_VELO_G26 (maximum spindle speed) ,
cannot be exceeded.
In the event of incorrect programming that would cause one of the speed limits (G26 or
SD43220 $SA_SPIND_MAX_VELO_G26) to be exceeded, the "Programmed speed too
high" interface signal (DB31, ... DBX83.1) is set.
In order to ensure smooth rotation with large part diameters, the spindle speed is not
permitted to fall below a minimum level.
This speed can be set via the setting data:
SD43210 $SA_SPIND_MIN_VELO_G25 (minimum spindle speed)
and, depending on the gear step, with the machine data:
MD35140 $MA_GEAR_STEP_MIN_VELO_LIMIT (minimum speed of the gear step).
The minimum spindle speed can be changed in the part program with G25. In the event of
programming that would mean one of the spindle limits (G25 or SD43220
$SA_SPIND_MAX_VELO_G25) is not reached, the "Set speed too low" interface signal
(DB31, ... DBX83.2) is set.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1311
Feeds (V1)
Path feedrate F
6SLQGOHZRUNLQJDUHD DIWHU**VSHHGFDOFXODWLRQDQGIHHGUDWHRYHUULGH
$EVROXWH 0'63,1'B9(/2B/,0,7
VSHHGOLPLW 0D[LPXPVSLQGOHVSHHG
0'*($5B67(3B0$;B9(/2B/,0,7>Q@
0D[LPXPVSHHGRIJHDUVWDJH>@
6'63,1'B0$;B9(/2B*
3URJUDPPHGVSLQGOHVSHHGOLPLWDWLRQ*
6'63,1'B0$;B9(/2B/,06
RQO\RSHUDWLYHZLWK***
,66SLQGOHVSHHGOLPLWDWLRQIURP3/& '%'%;
0'63,1'B(;7(51B9(/2B/,0,7
6SLQGOHVSHHGOLPLWDWLRQYLD3/&
6'63,1'B0,1B9(/2B*
3URJUDPPHGVSLQGOHVSHHGOLPLWDWLRQ*
0'*($5B67(3B0,1B9(/2B/,0,7>Q@
0LQLPXPVSHHGRIJHDUVWDJH>@
The various spindle speed limits are illustrated in the figure above. For more information and
for information on the effect of the setting data see:
References:
/FB1/ Function Manual Basic Functions; Spindles (S1);
Section: Spindle Monitoring Functions, Setting Data
Interrupts
Constant cutting rate G96, G961, G962
● If no F value is programmed, alarm 10860 "No feedrate programmed" is output.
The alarm is not generated with G0 blocks.
● Alarm 14800 "Programmed path velocity smaller than or equal to zero" is output while
programming a negative path velocity.
Basic Functions
1312 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Path feedrate F
● If, with an active G96, G961 or G962, no transverse axis is defined in the machine data:
MD20100 $MC_DIAMETER_AX_DEF (geometry axis with transverse axis function) ,
alarm 10870 "No transverse axis defined" is issued.
● If a negative maximum spindle speed is programmed with the LIMS program command
when G96, G961 are active, alarm 14820 "Negative maximum spindle speed
programmed for G96, G961" is output.
● If no constant cutting rate is programmed when G96, G961 is selected for the first time,
alarm 10900 "No S value programmed for constant cutting rate" is output.
16.2.4.1 General
Application of G33
The function G33 can be used to machine threads with constant lead of the following type:
References:
/PA/ Programming Manual, Fundamentals
/PAZ/ Programming Manual, Cycles
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1313
Feeds (V1)
Path feedrate F
16.2.4.2 Programmable run-in and run-out path for G33, G34 and G35
Application
5XQLQRUUXQRXWSDWKDFFWRGLUHFWLRQRIPDFKLQLQJ
Basic Functions
1314 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Path feedrate F
Activation
The DITS and DITE functions are always active during thread cutting.
Example:
N...
N59 G90 G0 Z100 X10 SOFT M3 S500
N60 G33 Z50 K5 SF=180 DITS=1 DITE=3 ; Start of corner rounding with Z=53
N61 G0 X20
SD42010
Only paths, and not positions, are programmed with DITS and DITE.
The part program instructions are related to the setting data:
SD42010 $SC_THREAD_RAMP_DISP[0,1], ,
which defines the following acceleration response of the axis on thread cutting:
● SD42010 ≤ 0 to –1
Identical with previous response.
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 a rounding clearance. This achieves a smooth
change in the axis movement.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1315
Feeds (V1)
Path feedrate F
Compatibility
Machine data:
MD20650 $MC_THREAD_START_IS_HARD
is dispensed with and is replaced by:
SD42010 $SC_THREAD_RAMP_DISP[0]
or
SD42010 $SC_THREAD_RAMP_DISP[1] .
The response of the new setting data with:
SD42010 $SC_THREAD_RAMP_DISP[0] = 0
or
SD42010 $SC_THREAD_RAMP_DISP[1] = 0
is identical to the previous machine data setting:
MD20650 $MC_THREAD_START_IS_HARD = 1.
The response with:
SD42010 $SC_THREAD_RAMP_DISP[0] = -1
or
SD42010 $SC_THREAD_RAMP_DISP[1] = -1
is identical to the previous machine data setting:
MD20650 $MC_THREAD_START_IS_HARD = 0 (default).
Constraints
When a block containing command DITS and/ or DITE is loaded in the interpolator, the path
programmed in DITS is transferred to setting data:
SD42010 $SC_THREAD_RAMP_DISP[0]
and the path programmed in DITE is transferred to setting data:
SD42010 $SC_THREAD_RAMP_DISP[1] .
The programmed run-in path is handled according to the current setting (inches, metric).
If no run-in/deceleration path is programmed before or in the first thread block, the value is
determined by the current value in setting data:
SD42010 $SC_THREAD_RAMP_DISP[0,1 ].
In the event of RESET, the setting data:
SD42010 $SC_THREAD_RAMP_DISP[0,1]
is set to "-1".
Basic Functions
1316 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Path feedrate F
Functionality
The thread lead increase (G34) defines the numerical increase in the lead value. A larger
pitch results in a larger distance between the threads on the workpieces. The velocity of the
thread axis thus increases assuming that the spindle speed is constant.
The opposite naturally applies to decreasing thread lead (G35).
The following definitions have been made for the thread-lead changes with respect to the
new G codes:
● G34: Increase in thread lead corresponds to progressive change.
● G35: Decrease in thread lead corresponds to degressive change.
Both functions G34 and G35 imply the functionality of G33 and additionally provide the option
of programming an absolute lead change value for the thread under F. If the start and end
lead of a thread is known, the thread-lead change can be determined using the following
equation:
_NH ದN D _
)
O*
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1317
Feeds (V1)
Path feedrate F
When the thread length lG, lead change F and initial lead ka are known, the lead increase at
the end of block ke can be determined as follows by modifying the formula:
● G34 (progressive lead):
NH N D ) O *
NH N D ) O *
Note
If the formula results in a negative root expression, the thread cannot be machined!
In this case, the NC signals alarm 10605 or alarm 22275.
Sample program
Thread cutting G33 with degressive thread lead G35
N1611 G35 Z-220 K100 F17.045455 ; Thread lead decrease 17.045455 mm/rev2
Basic Functions
1318 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Path feedrate F
The output of the alarm generated during monitoring (10604 or 10605) can be suppressed
by setting bit 10 in machine data:
MD11410 SUPPRESS_ALARM_MASK.
Block preparation continues as normal when alarms are suppressed.
The following situations are monitored cyclically when the thread is machined (interpolation):
● Exceeding of maximum velocity of thread axis
● Reaching of axis standstill with G35.
In these cases,
alarm 22270 "Maximum velocity of thread axis reached"
or
alarm 22275 "Zero velocity of thread axis reached"
is output.
Alarms
Thread cutting G33, G34, G35
● The following alarms are output when programming is incorrect:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1319
Feeds (V1)
Path feedrate F
Note
The non-destructive interrupt function should only be used for thread cutting, not for tapping
with G33.
Retraction movement
The retraction motion (liftfast) for thread cutting is controlled by the following keywords:
● LFON
⇒ Enable liftfast for thread cutting.
● LFOF
⇒ Disable liftfast for thread cutting.
These G functions can always be programmed.
The default setting for NC Reset and/or NC Start is specified in machine data:
MD20150 GCODE_RESET_VALUES.
Basic Functions
1320 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Path feedrate F
The following sources can initiate a retraction motion during thread cutting:
● Fast inputs (programming with SETINTLIFTFAST for "LIFTFAST" option)
● NC Stop
● Alarms that implicitly initiate the NC stop.
5HWUDFWLRQFRPSOHWHGWKUHDG
FXWWLQJVWRSSHG
$[LVVWDQGVWLOO
',/)
Retraction path
The retraction path can be configured in machine data:
MD21200 LIFTFAST_DIST.
If required, this path in the part program can be changed by writing DILF at any point.
Following an NC reset, the value entered in machine data:
MD21200 LIFTFAST_DIST
(default value) is always active.
Retraction direction
The method for defining the retraction direction is controlled in conjunction with the variable
ALF using the following keywords:
● LFTXT
The plane of the retraction movement is determined by the path tangent and the tool
direction. This G code (default setting) is used to program the response on a fast lift.
For information about ALF programming, refer to:
References:
/PGA/ Programming Manual, Operations Planning
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1321
Feeds (V1)
Path feedrate F
/FB1/ Function Manual, Basic Function; Mode Group, Channel, Program Operation (K1);
Chapter: Asynchronous Subroutines (ASUBs), Interrupt Routines
● LFWP
The plane of the retraction movement is the active working plane selected with G codes
G17, G18 or G19. The direction of the retraction plane is independent of the path tangent.
This allows a fast lift to be programmed parallel to the axis.
These G functions can always be programmed.
The default setting for NC Reset and/or NC Start is specified in machine data:
MD20150 GCODE_RESET_VALUES.
In the plane of the retraction movement, ALF is used, as before, to program the direction in
discrete steps of 45 degrees. With LFTXT, retraction in the tool direction was defined for
ALF=1.
With LFWP the direction in the working plane is derived from the following assignment:
Note
The extension for programming the plane of the retraction movement can be used
independently of thread cutting.
Retraction speed
Retraction is performed at maximum axis velocity.
This can be configured in machine data:
MD32000 MAX_AX_VELO.
Example
Basic Functions
1322 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Path feedrate F
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1323
Feeds (V1)
Path feedrate F
Note
For further information about programming G63/G331/G332, please see:
References:
Programming Manual, Fundamentals
Programming Manual, Cycles
Override
The revolutional feedrate in G331 and G332 can be influenced by an override.
Depending on the configuration, the override affects either the spindle speed or the path
feedrate:
MD12090 $MN_OVR_FUNCTION_MASK
Basic Functions
1324 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Path feedrate F
Note
The following overrides are not effective in G331 and G332:
• Programmable path feedrate override OVR
• Rapid traverse override
Application
G63 is a subfunction for tapping threads using a tap with compensating chuck. An encoder
(position encoder) is not required.
Speed S, feedrate F, thread lead
With G63, a speed S must be programmed for the spindle and a feedrate F for the infeed
axis (axis for thread length).
The feedrate F must be calculated by the programmer on the basis of the speed S and the
thread lead.
Feedrate F [mm/min] = speed S [rev/min] * thread lead [mm/rev]
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1325
Feeds (V1)
Feedrate FA for positioning axes
Syntax
FA[<positioning axis>] = <feedrate value>
Functionality
The velocity of a positioning axis is programmed with axis-specific feedrate FA.
● Effectiveness: Modal
● Special points to be noted
– No more than 5 axis-specific feedreates can be programmed in each part program
block.
– The feedrate is always G94.
– If no axial feedrate FA is programmed, the axial default:
MD32060 $MA_POS_AX_VELO (initial setting for positioning axis velocity) takes
effect.
Parameter: Positioning axis
● Value range: Identifier of channel axes
MD20080 $MC_AXCONF_CHANAX_NAME_TAB
Basic Functions
1326 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Feedrate FA for positioning axes
Note
Maximum axis velocity
The maximum axis velocity is not exceeded:
MD32000 $MA_MAX_AX_VELO (maximum axis velocity)
F function output to the NC/PLC interface
Output of the F functions to the NC/PLC interface is not recommended. Activating the
output of F functions to the NC/PLC interface can cause a drop in velocity in continuous-
path mode. The output of F functions to the NC/PLC interface can be suppressed:
MD22240 $MC_AUXFU_F_SYNC_TYPE (output time of the F functions)
For a detailed description please refer to:
References:
/FB1/ Function Manual, Basic Functions; Auxiliary Functions (H2)
RESET response
After end of program or NC-RESET, the feedrate value takes effect depending on machine
data:
MD22410 $MC_F_VALUES_ACTIVE_AFTER_RESET = <value>
Value Meaning
0 After NC RESET the default values are effective.
1 After NC RESET the last FA values to be programmed are effective.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1327
Feeds (V1)
Feedrate control
16.4.1 General
3URJUDPPHG) 3URJUDPPHG6
6''5<B581B)((' YDOXH YDOXH
,6B$FWLYDWHGU\
'U\UXQIHHGUDWH
UXQIHHGUDWH 6WRUHG6
)YDOXH ** YDOXH
*
*
*** 6 6SHHG *
* ** *
3L U
*
(TXDO 0LQLPXP 0D[LPXP 3DWKOHQJWK )
WR
6SLQGOHRYHUULGH
6''5<B581B)(('B02'( 3/&
$FWXDOVSLQGOH PDFKLQHFRQWUROSDQHO
,6DFWLYDWHGU\UXQIHHGUDWH
VSHHG
3URJUDPPHG
33 IHHGUDWHRYHUULGH 6SLQGOHVSHHGVHWSRLQW
295 63&21
295$ 6SLQGOHSRVLWLRQFRQWURO 33 63&2)
**
*
)HHGUDWHRYHUULGH 3/&
PDFKLQHFRQWUROSDQHO
B
,6UDSLGRYHUULGHDFWLYH
3RVLWLRQLQJRUSDWKYHORFLW\ ,6IHHGUDWHRYHUULGHDFWLYH
6 6SHHG 6 * ,6RYHUULGHDFWLYH
RU6 *
Basic Functions
1328 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Feedrate control
General
The feedrate disable or feedrate/spindle stop brings the axes to a standstill with adherence
to the braking characteristics and the path contour (exception: G33 block).
References:
/FB1/ Function Manual, Basic Function; Continuous-Path Mode, Exact Stop and
Look Ahead (B1)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1329
Feeds (V1)
Feedrate control
General
The operator can use the feedrate override switch to increase or decrease the path feedrate
relative to the programmed percentage with immediate effect. The feedrates are multiplied
by the override values.
An override between 0 and 200% can be programmed for the path feedrate.
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 feedrate can be changed axis-specifically for positioning axes. The override can be
between 0 and 200%.
The spindle override can be used to modify the spindle speed and the cutting rate (with G96,
G961). The override can be between 0 and 200%.
The override is not permitted to exceed the machine-specific acceleration and speed limits or
generate a contour error.
The feedrate override can be changed separately for path and position axes.
The overrides influence the programmed values or the limiting (e.g. G26, LIMS in spindle
speed).
A sequence of G63 blocks is traversed regardless of the feedrate override. A sequence of
G63 blocks consists of directly following blocks having the G code G63. It starts with the first
G63 block and ends with the first path motion block that does not have G63.
Basic Functions
1330 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Feedrate control
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1331
Feeds (V1)
Feedrate control
The override to be active can be selected via the PLC or operator panel front. On activating
the rapid traverse override via the operator panel front, the "feedrate override for rapid
traverse" is selected (DB21, ... DBX25.3) is transferred via the PLC basic program to the
"rapid traverse override effective" interface signal (DB21, ... DBX6.6) and the IS "feedrate
override" (DB21, ... DBB4) is copied to the IS "Rapid traverse override" (DB21, ... DBB5).
On selecting via PLC, the "rapid traverse override active" interface signal (DB21, ... DBX6.6)
is to be set by the PLC user program and the interface signal of the feedrate override (DB21,
... DBB4) is to be copied to the Rapid traverse override (DB21, ... DBB5).
Basic Functions
1332 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Feedrate control
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1333
Feeds (V1)
Feedrate control
Override inactive
If override is inactive (above IS signals are set to 0), the override factor 1 is used internally in
the NC, i.e. the override is 100%. The value that is entered in the PLC interface is not
relevant.
An exception is the zero setting for a binary interface and the 1st switch setting for a gray-
coded interface. In these cases, the override factors entered at the PLC interface are used.
With a binary interface, the override factor = 0. With a Gray-coded interface, the value
entered in the machine data for the 1st switch setting is output as the override value. It
should be populated with 0.
An override factor of 0% acts as a feedrate disable.
Basic Functions
1334 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Feedrate control
Function
The programmable feedrate override can be used to change the velocity level of path and
positioning axes by means of a command in the part program.
A separate feedrate override can be programmed for positioning axes.
Programming
The feedrate override can be changed with the following commands:
Effectivity
Interface signals "Rapid traverse and feedrate override" (DB21, ... DBB6) and "Axis-specific
override active" (DB31, ... DBX1.7) do not apply to the programmable feedrate override. The
programmable feedrate override remains active when these signals are deactivated.
The active override is calculated from the product of the programmable feedrate override
and the feedrate override from the machine control panel.
The default setting is 100%. It is active if no feedrate override has been programmed or
following a RESET, if machine data:
MD22410 F_VALUES_ACTIVE_AFTER_RESET (F function active via RESET)
is not set.
OVR is not active with G33,G34,G35.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1335
Feeds (V1)
Feedrate control
Application
The dry run feedrate is used when testing part programs without machining the workpiece in
order to allow the program or program sections to execute with an increased path feedrate,
for example.
Dry run feedrate change "Dry run feedrate active" DB21, .... DBX318.6.
The dry run feedrate (SD42100 DRY_RUN_FEED = 1) can be changed via the operator
panel in the operating area "Parameters".
The interface signal "Dry run feedrate active" (DB21, ... DBX318.6) is set if the selection has
been accepted by the NCK. DRY is displayed in the operator panel status bar to indicate an
active dry run feedrate if
● selection takes place when the program stops at the end of a block or if the machine data
● MD10704 DRY_RUN_MASK = 1 has been set during execution of the program.
If MD10704 DRYRUN_MASK = 0 has been set a dry run feedrate may only be activated/
deactivated at the end of a block.
If the dry run feedrate is no longer selected, the interface signal "Dry run feedrate active"
(DB21, ... DBX318.6) is reset.
Basic Functions
1336 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Feedrate control
Evaluation
The effect of:
SD42100 DRY_RUN_FEED
can be controlled via another setting data:
SD42101 DRY_RUN_FEED_MODE .
SD42101 Effectivity
DRY_RUN_FEED_MODE
As long as the "Activate dry run feedrate" interface signal is set, instead
of the programmed feedrates, the feedrate value set in
SD42100 DRY_RUN_FEED
is effective as follows:
0 The maximum value from SD42100 DRY_RUN_FEED and the
programmed velocity is effective. This is the same as the default setting.
1 The minimum value from SD42100 DRY_RUN_FEED and the
programmed velocity is effective.
2 Setting data SD42100 DRY_RUN_FEED is effective directly, regardless
of the programmed velocity.
3 -9 reserved
10 As for configured value 0 except for thread cutting (G33,G34,G35) and
tapping (G33,G34,G35). These functions are executed as
programmed.
11 As for configured value 1 except for thread cutting (G33,G34,G35) and
tapping (G33,G34,G35). These functions are executed as
programmed.
12 As for configured value 2 except for thread cutting (G33,G34,G35) and
tapping (G33,G34,G35). These functions are executed as
programmed.
A dry run feedrate can be selected in the automatic modes and activated on interruption of
an automatic mode or end of a block. Using machine data:
MD10704 DRYRUN_MASK = 1 ,
the dry run feedrate can also be activated during execution of the program (in the part
program block).
Note
Activation during machining triggers an internal reorganization task on the control which
causes the axes to be stopped for a short time. This can affect the surface finish of the
workpiece being machined.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1337
Feeds (V1)
Feedrate control
Application
The functionality described in the following is used primarily for grinding, but is not restricted
to it.
References:
/FB2/ Function Manual, Extended Functions; Grinding (W4)
/FB2/ Function Manual, Extended Functions; Oscillation (P5)
Functionality
The function "Multiple feedrates in one block" can be used to activate 6 different feedrate
values of an NC block, a dwell time or a retraction motion synchronously, depending on the
external digital and/or analog inputs.
Retraction
Retraction by the programmed amount is initiated in the IPO cycle.
Signals
The HW input signals are combined in one input byte for the function "Multiple feedrate in
one block". A permanent functional assignment applies within the byte:
I7 to I2 Activation of feedrates F7 to F2
E1 Activation of dwell time ST (in seconds)
I0 Activation of retraction motion SR
Priorities
The signals are scanned in ascending order starting at I0.
Therefore, the retraction motion (SR) has the highest priority and the feedrate F7 the lowest
priority.
SR and ST end the feedrate motions that were activated with F2 - F7.
SR also ends ST, i.e. the complete function.
The highest-priority signal determines the current feedrate.
Basic Functions
1338 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Feedrate control
Machine data:
MD21230 MULTFEED_STORE_MASK
(store input signals for the "Multiple feedrates in one block" function)
can be used to define the response on loss of the highest-priority input in each case (F2 -
F7).
The end-of-block criterion is satisfied when:
● The programmed end position is reached
● The retraction motion ends (SR)
● The dwell time elapses (ST)
Delete distance-to-go
A retraction motion or dwell time causes the distance-to-go to be deleted.
Hardware assignment
The channel-specific machine data:
MD21220 MULTFEED_ASSIGN_FASTIN
(assignment of the input byte of the NCK I/Os for "Multiple feedrates in one block")
can be used to assign up to two digital input bytes or comparator input bytes to the NCK I/O.
Machine data:
MD21220 MULTFEED_ASSIGN_FASTIN
can also be used to invert the input bits.
If a 2nd byte is entered, the contents of the 1st and 2nd byte are ORed before being used.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1339
Feeds (V1)
Feedrate control
VWE\WH QGE\WH
0' 'LJLWDOLQSXWE\WH 'LJLWDOLQSXWE\WH 0'
08/7)(('B$66,*1B)$67,1 RU RU 08/7)(('B$66,*1B)$67,1
ELW FRPSDUDWRULQSXWE\WH FRPSDUDWRULQSXWE\WH ELW
%LW %LW
0' 0'
08/7)(('B$66,*1B)$67,1 ,QYHUVLRQPDVN ,QYHUVLRQPDVN 08/7)(('B$66,*1B)$67,1
ELW ELW
%LW %LW
B B
,QSXWELW
,QSXWE\WHIRU
6HYHUDOIHHGUDWHVLQ
RQHEORFN
Basic Functions
1340 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Feedrate control
Bits 2 to 7 are permissible for the numerical expansion of the axial feedrate. The values
programmed under FMA are active non-modally. The feedrate programmed under FA applies
to the next block.
Dwell (sparking out time) and retraction path can also be defined for a single axis:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1341
Feeds (V1)
Feedrate control
When the input for the sparking out time or retraction path is activated, the distance-to-go for
the path axes or the particular single axis is deleted and the dwell or retraction is started.
Note
The unit for the retraction path refers to the current valid unit of measurement (mm or inch).
The reverse stroke is always made in the opposite direction to the current motion. SR/SRA
always programs the value for the reverse stroke. No sign is programmed.
It is also possible to poll the status of an input for synchronous commands of various axes.
Look Ahead is also active for multiple feedrates in one block. In this way, the current
feedrate is restricted by the Look Ahead value.
Application
Typical applications include:
● Analog or digital calipers
Depending on whether the external inputs are analog or digital, various feedrate values, a
dwell and a retraction path can be activated. The limit values are defined via the setting
data.
● Switching from infeed to working feedrate via proximity switch
Example
Internal grinding of a conical ring, where the actual diameter is determined using calipers
and, depending on the limits, the feedrate value required for roughing, finishing or fine
finishing is activated. The position of the calipers also provides the end position. Thus, the
block end criterion is determined not only by the programmed axis position of the infeed axis
but also by the calipers.
&DOLSHUV
5LQJ
*ULQGLQJGLVF
Basic Functions
1342 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Feedrate control
Part program
5HWUDFWLRQ
6SDUNLQJRXWWLPH
)HHGUDWHILQHILQLVKLQJ
)HHGUDWHILQLVKLQJ
)HHGUDWHURXJKLQJ
)HHGUDWHDLUJULQGLQJ
Note
The axial feedrate/path feedrate (F value) is the 100% feedrate.
Feedrates smaller than or equal to the axial feedrate/path feedrate can be implemented with
"Multiple feedrate values in one block" (F2 to F7 values).
The "Multiple feedrate values in one block" functionality is only available in conjunction with
the "Synchronized actions" function.
References:
/FB1/ Function Manual, Basic Functions; Various Interface Signals and Functions (A2)
Function
The machine data can be used to define 4 fixed feedrate values, which can be activated via
the interface signal. The function is possible in AUTOMATIC and JOG modes.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1343
Feeds (V1)
Feedrate control
Constraints
● Fixed feedrate does not influence spindles, positioning axes and tapping.
● While traversing with fixed feedrate, the override depends on machine data:
MD12200 $MN_RUN_OVERRIDE_0 (traveling with override 0)
● The DRF offset cannot be activated for a selected fixed feedrate.
● The fixed feedrates are always linear feedrate values. Switchover to linear feedrate is
conducted internally even in case of revolutional feedrate.
Interface signals
Basic Functions
1344 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Feedrate control
General
The machining conditions can change significantly during surface transitions to
chamfer/rounding. Hence, the chamfer/rounding contour elements require dedicated,
optimized feedrate values to achieve the desired surface quality.
Function
You can program the feedrate for the chamfer/rounding with FRC (non-modal) or FRCM
(modal).
The feedrate value is interpreted according to the type of feedrate active:
Empty blocks
When chamfer or rounding is active, the possible number of blocks containing no traversing
information is limited.
The maximum number is defined in machine data:
MD20200 CHFRND_MAXNUM_DUMMY_BLOCKS.
The possible blocks without traversing information in the compensation plane are pure
dummy commands and are called empty blocks. For this reason, they may only be written
between two blocks with traversing information.
Boundary conditions
● Feedrate interpolation FLIN and FCUB is not possible for chamfer/rounding.
● FRC/FRCM has no effect if a chamfer is being machined with G0; the command can be
programmed according to the F value without error message.
● FRC is only effective if a chamfer/rounding is programmed in the same block or if RNDM
has been activated.
● FRC overwrites the F or FRCM value for chamfer/rounding in the current block.
● FRC/FRCM must be set to a value greater than zero.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1345
Feeds (V1)
Feedrate control
General
A separate feedrate can be specified for a single block with the command FB (Feed Block).
The previously active path feedrate is overwritten for this block. After this block, the previous
modal path feedrate is active again.
Function
The non-modal feedrate is programmed with FB=<value>.
The feedrate is interpreted according to the active feedrate type:
Boundary conditions
● The programmed value of FB=<value> must be greater than zero.
● If no traversing motion is programmed in the block (e.g.: Computational block), the FB
has no effect.
● If no explicit feed for chamfering/rounding is programmed, then the value of FB also
applies for any contour element chamfering/rounding in this block.
● The path speed profile programmed with FLIN or FCUB is not active together with
revolutional feedrate for G95 as well as with constant cutting speed for G96/G961 and
G97/G971.
● Feedrate interpolations FLIN, FCUB, .. are also possible without restriction.
● Simultaneous programming of FB and FD (handwheel travel with feed overlay) or F
(modal path feedrate) is not possible.
Basic Functions
1346 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Feedrate control
Single axes
Single axes can be programmed:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1347
Feeds (V1)
Feedrate control
Note
Changes in the dynamic response made in a part program do not affect command axis or
PLC axis movements.
Changes from synchronized actions do not affect the movements from a part program.
Basic Functions
1348 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Feedrate control
ACC[Axis]= <value> Where Axis = Channel axis name (X, Y ....), spindle (S1, ...)
Value = Percent of MD32300 MAX_AX_ACCEL
(0 <= value <= 200)
The current acceleration value can be called with the system variables $AA_ACC[Axis]. It is
determined by:
$AA_ACC[Axis]= Content(MD32300 MAX_AX_ACCEL[Axis]) * ACC[Axis]/100
MD32320 DYN_LIMIT_RESET_MASK can be used to control maintaining the ACC value in
the event of channel RESET/M30.
Note
The acceleration offset programmed with ACC[...] is always considered as specified
above for the output in $AA_ACC. However, $AA_ACC is not output in the part program at
the same time as in a synchronized action.
The value described in the part program is only considered in the system variable $AA_ACC
as described in the part program, if ACC has not been changed in the meantime by a
synchronized action.
The value described in the synchronized action is only considered in the system variable
$AA_ACC as described in the synchronized action, if ACC has not been changed in the
meantime by a part program.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1349
Feeds (V1)
Feedrate control
Note
Depending on whether $AA_ACC is programmed in a part program or in a synchronized
action, the ACC value is output for the NC axes or the main run axes.
Variable $AA_ACC must always be queried in the mode in which the acceleration was
written (either part program or synchronized action).
Examples
M30
Basic Functions
1350 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Feedrate control
Note
Depending on whether $AA_MOTEND is programmed in a part program or a synchronized
action, the MOTEND value is output for the NC axes or the main-run axes.
...
N80 G01 POS[X]=100 FA[X]=1000 ACC[X]=90 IPOENDA[X]
...
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1351
Feeds (V1)
Feedrate control
SCPARA[Axis]= Where Axis = Channel axis name (X, Y ....), spindle (S1, ...)
<value>
Value = Desired parameter set (1≤ value ≤ 6)
DB3n DBB9 bit3
To prevent conflicts between the PLC user request and NC user request, a further bit is
defined on the PLC→NCK interface:
DB3n DBB9 bit3 "Parameter set selection by SCPARA disabled".
The PLC user is thereby able to set up a structured sequence when using PLC parameter
switchover and entries from synchronized actions or part programs simultaneously.
On a change of bit 3 (0 ⇒ 1 or 1 ⇒ 0), the entry is written to bits 0 - 2.
Note
If parameter set selection via SCPARA is disabled, there is no error message if the latter is
programmed nevertheless.
...
N100 SCPARA[X]=3 ; The 3rd parameter set is selected for axis X.
...
Constraints
● Different end-of-motion criteria will affect how quickly or slowly part program blocks are
completed. This can have side effects for technology cycles and PLC user parts.
● The PLC user program must be expanded if the servo parameter set is to be changed
both inside a part program or synchronous action and the PLC.
● After POWER ON, the following initial settings are made:
Basic Functions
1352 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Feedrate control
● When the operating mode is changed from AUTO ⇒ JOG, the programmed dynamic
response changes remain valid.
● In the event of a RESET, the last programmed value remains for the part program
specifications. The settings for main-run interpolations do not change.
● Block search:
The last end-of-motion criterion programmed for an axis is collected and output in an
action block. The last block with a programmed end-of-motion criterion that was
processed in the search run serves as a container for all programmed end-of-motion
criteria for all axes.
Example:
● In this example, N04 serves as a container for all programmed end-of-motion criteria.
Two action blocks are saved. The digital output (N03) is issued in the first action block
and in the second, COARSEA is set for the X axis, IPOENDA for the Y axis and FINEA for
the Z axis.
The same applies to the programmed servo parameter set. The last programmed
acceleration override is effective from the first approach block.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1353
Feeds (V1)
Supplementary conditions
Unit of measurement
The applicable unit of measurement for feedrates is based on the value entered in machine
data:
MD12240 SCALING_SYSTEM_IS_METRIC
(standard control system metric/imperial)
and the type of axis entered in machine data:
MD30300 IS_ROT_AX
(rotary or linear axis).
Basic Functions
1354 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Supplementary conditions
Position spindle
If G95,G96,G961,G97,G971,G33,G34,G35 is active, spindle positioning should not be
performed, because the derived path feedrate following spindle positioning = 0.
⇒ If the programmed axis position has not yet been reached, the block cannot be completed.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1355
Feeds (V1)
Examples
16.6 Examples
Basic Functions
1356 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Examples
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1357
Feeds (V1)
Data lists
Basic Functions
1358 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Data lists
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1359
Feeds (V1)
Data lists
16.7.3 Signals
Basic Functions
1360 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Feeds (V1)
Data lists
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1361
Feeds (V1)
Data lists
Basic Functions
1362 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1) 17
17.1 Brief description
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1363
Tool Offset (W1)
Brief description
Note
Please refer to the following documentation for further information on tools and tool
compensations and a full technical description of the general and specific programming
features for tool compensation (TLC and TRC):
References:
/PG/ Programming Manual Fundamentals
Basic Functions
1364 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Brief description
G461/G462
In order to enable the solid machining of inside corners in certain situations with the
activation and deactivation of tool radius compensation, commands G461 und G462 have
been introduced and the approach/retraction strategy has thus been extended for tool radius
compensation.
● G461
If no intersection is possible between the last TRC block and a previous block, the control
calculates an intersection by extending the offset curve of this block with a circle whose
center point coincides with the end point of the non-corrected block, and whose radius is
equal to the tool radius.
● G462
If no intersection is possible between the last TRC block and a previous block, the control
calculates an intersection by inserting a straight line at the end point of the last block with
tool radius compensation (the block is extended by its end tangent).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1365
Tool Offset (W1)
Tool
17.2 Tool
17.2.1 General
Select tool
A tool is selected in the program with the T function.
Whether the new tool will be loaded immediately by means of the T function depends on the
setting in the machine data:
$MC_TOOL_CHANGE_MODE (new tool compensation with M function) determines whether
the new tool is loaded immediately on execution of the T function.
Value range of T
The T function accepts the following whole numbers:
● From T0 (no tool)
● To T32000 (tool number 32000).
Basic Functions
1366 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool
7
'
'
'
'
Figure 17-1 Example of a tool T... with 9 cutting edges (D1 to D9)
D function
The tool cutting edge is programmed with D1 (edge 1) to D9 (edge 9). The tool cutting edge
always refers to the currently active tool. An active tool cutting edge (D1 to D9) without an
active tool (T0) is inactive. Tool cutting edge D0 deselects all tool compensations of the
active tool.
Value Significance
=0 No automatic cutting edge selection in accordance with M06
<>0 Number of the cutting edge, which is selected in accordance with M06
= -1 The cutting edge number of the old tool is retained and is also selected for the new tool, in
accordance with M06.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1367
Tool Offset (W1)
Tool
Tools
The TO memory consists of tools numbered T1 to T32000.
Each tool can be set up via TOA files or individually, using the "New tool" soft key.
Compensation values not required must be assigned the value zero. (this is the default
setting when the offset memory is created): The individual values in the offset memory (tool
parameters) can be read and written from the program using system variables.
Note
The tools (T1 to T32000) do not have to be stored in ascending order or contiguously in the
tool compensation memory, and the first tool does not have to be assigned number T1.
Basic Functions
1368 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool
7 7
7 7
7 7
7 7
' '
' '
' '
' '
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1369
Tool Offset (W1)
Tool
D No.
The D no. is sufficient for calculating the tool compensations (can be set via MD).
'
'
'Q
2IIVHWYDOXH
Programming
The above compensation block is to be calculated in the NC.
Part program call:
...
Dn
MD20096
Whether also with tool management not activated, the address extension of T and M is to be
interpreted as spindle number, can be set through the machine data:
MD20096 $MC_T_M_ADDRESS_EXT_IS_SPINO (spindle number as address extension).
The same rules then apply to the reference between the D number and T number as when
the "Tool management" function is active.
Basic Functions
1370 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool
The programmed D address refers to the active tool in relation to the master spindle (same
as for tool management function), when machine data is set:
MD20096 $MC_T_M_ADDRESS_EXT_IS_SPINO = TRUE (spindle number as address
extension).
Example
The example below shows the effect of MD20096.
Two spindles are considered. Spindle 1 is the master spindle. M6 was defined as the tool
change signal.
T1 = 5
M1 = 6
T2 = 50
M2 = 6
D4
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1371
Tool Offset (W1)
Tool
Note
Previously, when tool management was not activated, each tool change command
(programmed with T or M) caused the tool compensation to be recalculated in the path.
The address extension is not defined further by this operation. The significance of the
extension is defined by the user (in the PLC user program).
"Relative" D numbers
In the NCK, it is possible to manage the D numbers as "relative" D numbers for the tool
compensation data sets. The corresponding D numbers are assigned to each T number.
The maximum number of D numbers was previously limited to 9.
Basic Functions
1372 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool
Functions
Expansions to functions when assigning D numbers:
● The maximum permitted D numbers are defined via the machine data:
MD18105 $MN_MM_MAX_CUTTING_EDGE_NO (Max. value of the D-numbers (DRAM))
The default value is 9, in order to maintain compatibility with existing applications.
● The number of cuts (or the offset data sets) for each tool can be defined via the machine
data:
MD18106 $MN_MM_MAX_CUTTING_EDGE_PERTOOL (Max. number of the D numbers
per tool (DRAM))
This allows you to customize the number of cutting edges to be configured for each tool
to the actual number of real cutting edges for monitoring purposes.
● It is also possible to rename D numbers in the NCK and thus to allocate any D numbers
to the cutting edges.
Note
In addition to relative D number allocation, the D numbers can also be assigned as "flat"
or "absolute" D numbers (1-32000) without a reference to a T number (within the "Flat D
number structure" function).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1373
Tool Offset (W1)
Tool
In this case, the default cutting edge number is the same as the classification number of the
cutting edge. Compensations of a tool are created starting at number 1 and are incremented
up to the maximum number of cutting edges per tool (MD18106).
The cutting edge number CE is the same as the D number (in compatibility with the behavior
till now) if:
MD18105 ≤ MD18106.
A read operation returns CE=D. A write operation is ignored without an alarm message.
Note
The compensation values $TC_DP1 to $TC_DP25 of the active tool compensation can be
read with system variable $P_AD[n], where n=1 to 25. The CE cutting edge number of the
active compensation is returned with n=26.
Commands
When the maximum cutting edge number:
MD18105 $MN_MM_MAX_CUTTING_EDGE_NO (Max. value of the D numbers (DRAM))
is greater than the maximum number of cutting edges per tool:
MD18106 $MN_MM_MAX_CUTTING_EDGE_PERTOOL (Max. number of D numbers per
tool (DRAM))
the following commands are available:
Command Significance
CHKDNO Checks the uniqueness of the available D numbers.
The D numbers of all tools defined within a TO unit may not occur more than once.
No allowance is made for replacement tools.
GETDNO Determines the D number for the cutting edge of a tool.
If no D number matching the input parameters exists, d=0.
If the D number is invalid, a value greater than 32000 is returned.
SETDNO Sets or changes the D number of the CE cutting edge of tool T.
If there is no data block for the specified parameter, the value FALSE is returned.
Syntax errors generate an alarm. The D number cannot be set explicitly to 0.
GETACTTD Determines the associated T number for an absolute D number.
There is not check for uniqueness. If several D numbers within a TO unit are the
same, the T number of the first tool found in the search is returned.
This command is not suitable for use with "flat" D numbers, because the value 1 is
always returned in this case (no T numbers in database).
DZERO Marks all D numbers of the TO unit as invalid.
This command is used for support during retooling.
Compensation data sets tagged with this command are no longer verified by the
CHKDNO language command. These data sets can be accessed again by setting
the D number once more with SETDNO.
Basic Functions
1374 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool
Note
If the maximum cutting edge number is smaller than the maximum number of cutting edges
per tool (MD18105 < MD18106), the language commands described do not affect the
system.
This relation is preset in the NCK as standard, in order to maintain compatibility with existing
applications.
The individual commands are described in detail in:
References:
/PG/ Programming Manual Fundamentals
Activation
In order to work with unique D numbers and, therefore, with the defined language
commands, it must be possible to name D numbers freely for the tools.
The following conditions must be fulfilled for this purpose:
● MD18105 > MD18106
● The 'flat D number' function is not activated.
MD18102 $MN_MM_TYPE_OF_CUTTING_EDGE (type of D number programming
(SRAM)).
Examples
MD18105 $MN_MM_MAX_CUTTING_EDGE_NO (Max. value of the D numbers (DRAM))
A maximum of one compensation can be defined per tool (with D number = 1).
Note
When the "Flat D numbers" function is active, only one D compensation can be defined in
the TO unit.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1375
Tool Offset (W1)
Tool
CHKDNO The FALSE state is returned when the above constellation is checked
because D=30 has been entered twice.
CHKDNO (2, 3, 30) The FALSE state is returned when the specified D number 30 is
checked because D=30 has been entered twice.
CHKDNO (2, 3, 100) The TRUE state indicates that D=100 has been entered just once.
CHKDNO (1, 3) The TRUE state is returned although there is a conflict between the
D=30 of the third tool and D=30 of the second tool.
Programming examples
Renaming a D number
The D number of cutting edge CE = 3 is to be renamed from 2 to 17. The following
specifications apply:
● Internal T number T = 1
● D number = 2
● Tool with one cutting edge with:
$TC_DP2[ 1, 2 ] = 120
$TC_DP3[ 1, 2 ] = 5.5
$TC_DPCE[ 1, 2 ] = 3 ;Cutting edge number CE
Basic Functions
1376 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool
$TC_DP2[ 1, 17 ] = 120
$TC_DP3[ 1, 17 ] = 5.5
$TC_DPCE[ 1, 17 ] = 3 ;Cutting edge number CE
Note
If a further cutting edge has been defined for the tool, e.g. $TC_DPCE[ 1, 2 ] = 1 ; = CE, the
D-number 2 of the cutting edge 1 cannot have the same name as the D-number of the
cutting edge 3 i.e.: SETDNO( 1, 1, 17) returns the status = FALSE as return value.
DZERO
If one of the compensations is now activated (e.g. with T3 D100), an alarm is generated,
because D100 is not currently defined.
The D numbers are redefined with:
SETDNO( 1, 1, 100 ) ;T=1, cutting edge 1 receives the (new) D number 100
SETDNO( 2, 1, 10 ) ;T=2, cutting edge 1 receives the (old) D number 10
SETDNO( 3, 1, 1 ) ;T=3, cutting edge 1 receives the (new) D number 1
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1377
Tool Offset (W1)
Tool
Note
In the event of a power failure, the DZERO command can leave the NCK in an undefined
state with reference to the D numbers. If this happens, repeat the DZERO command when the
power is restored.
MD22550
If a tool preparation has been programmed in the part program and the NCK detects an error
(e.g. the data set for the programmed T number does not exist in the NCK), the user can
assess the error situation and perform appropriate tasks, in order to subsequently resume
machining.
The tool change may be programmed independently, depending on the machine data:
MD22550 $MC_TOOL_CHANGE_MODE (new tool compensation with M function).
MD22550 $MC_TOOL_CHANGE_MODE = 0
Basic Functions
1378 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool
MD22550 $MC_TOOL_CHANGE_MODE = 1
Note
The "tool not in magazine" problem cannot be detected since the NCK did not have
access to any magazine information during tool compensation.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1379
Tool Offset (W1)
Tool
The following occurs when this part of the program is executed again:
Basic Functions
1380 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool
If necessary, the original point of the T call can be corrected after the end of the program. If
the tool change logic on the machine cannot process this, the program must be aborted and
the point of the error corrected.
If only one data set is missing, it is transferred to the NCK, Txx is programmed in "Overstore"
and the program is subsequently resumed.
As in the case of "missing D number", the required parameter (T number) can be accessed
by the user for "missing T number" via the appropriate alarm (17191).
Note
In order to enable program correction, it stops immediately at the faulty Txx block.
The program text operation is also stopped when machine data:
MD22562 $MC_TOOL_CHANGE_ERROR_MODE Bit0=1 (response on errors in tool
change).
MD20360
The effect of the tool parameters on the transverse axis in connection with diameter
programming can be controlled selectively with the machine data:
MD20360 $MC_TOOL_PARAMETER_DEF_MASK (definition of tool parameters).
Details are described with the mentioned MD
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1381
Tool Offset (W1)
Tool
Deselecting an axial DRF compensation (DRFOF) also deletes an existing tool compensation
(handwheel override in tool direction).
Note
For further information about superimposed movements with the handwheel, please refer to:
References:
/FB2/ Function Manual, Extended Functions; Jog With/Without Handwheel (H1)
/PG/ Programming Manual Fundamentals (The Programming Manual describes the
complete technical descriptions in order to deselect the DRF offset by axis.)
Basic Functions
1382 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Flat D number structure
17.3.1 General
Activation
Which type of D number management is valid may be set via the machine data:
MD18102 $MN_MM_TYPE_OF_CUTTING_EDGE (type of D number programming).
Value Significance
0 As previously = default setting
1 Flat D number structure with absolute direct D programming
Cutting edges can be deleted individually via PI command or NC programming command.
Cutting edges with a specific number can also be created selectively using HMI.
Programming
Tool compensations can be programmed with system variables $TC_DP1 to $TC_DP25.
The contents have the same meaning as before.
The syntax changes: no T number is specified.
● "Flat D number" function active:
$TC_DPx[d] = value ;where x=parameter no., d=D number
i.e. data with this syntax can only be loaded to the NCK if the "Flat D number" function is
activated.
● "Flat D number" function inactive:
$TC_DPx[t][d] = value ;where t=T number, d=D number
A D number can only be assigned once for each tool, i.e. each D number stands for exactly
one compensation data block.
A new data block is stored in the NCK memory when a D number that does not exist is
created for the first time.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1383
Tool Offset (W1)
Flat D number structure
The maximum number of D or offset data blocks (max. 600) is set via the machine data:
MD18100 $MN_MM_NUM_CUTTING_EDGES_IN_TOA (tool compensations in TO area).
Data backup
Data backup is carried out in the same format, i.e. a backup file created with the "Flat D
number" function cannot be loaded on the NCK of a control that has not activated the
function.
This also applies in reverse for transfer.
D range
1 - 99 999 999
MD18102 = 1
If MD18102 $MN_MM_TYPE_OF_CUTTING_EDGE = 1, then D compensation is activated
without reference to a certain tool.
D0 still contains the previous significance, "Deselection of active compensation in NCK".
Address extension of D
It is not possible to extend the address of D. Only one active compensation data block is
possible for the tool path at a given time.
Programming
Programming in the part program is carried out as before. Only the value range of the
programmed D number is increased.
Example 1:
MD parameterization Meaning
MD22550 $MC_TOOL_CHANGE_MODE =0 Tool change with programming of T.
MD18102 $MN_MM_TYPE_OF_CUTTING_EDGE =1 D number programming without
reference to a certain tool.
MD20270 $MC_CUTTING_EDGE_DEFAULT = -1 D compensation remains unchanged
if tool is changed.
Basic Functions
1384 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Flat D number structure
Example 2:
MD22550 = 0
Note
The tool change and the assignment of a D compensation to an actual tool are the
responsibility of the NC program and of the PLC program, if applicable.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1385
Tool Offset (W1)
Flat D number structure
Tool MDs
The following machine data affect the way tools and cutting edges (D numbers) work in the
NCK:
Basic Functions
1386 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Flat D number structure
17.3.5 Programming M6
Example
Two spindles are defined, spindle 1 and spindle 2, and the following applies:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1387
Tool Offset (W1)
Flat D number structure
MD20110
To have the active tool and the tool compensation included as follows, can be defined via the
machine data:
MD20110 $MC_RESET_MODE_MASK, Bit 3 (Definition of control default settings after
RESET/TP end).
Value Significance
Bit 3 =1 From the last test program to finish in test mode
=0 From the last program to finish before activation of the program test
Prerequisite
The bits 0 and 6 must be set by the machine data:
MD20110 $MC_RESET_MODE_MASK, Bit 3 (Definition of control default settings after
RESET/TP end).
Tool management
NCK active tool management works on the basis of the following assumptions:
1. Tools are managed in magazines.
2. Cutting edges are monitored; limits reached cause the tool to be disabled.
3. Idea behind replacement tools: Tools are programmed for selection only the on the basis
of their identifier. NCK then selects the concrete tool according to the strategy.
This means that it only makes sense to employ tool management when specific tools have
been defined and these are to be utilized by the NCK.
Flat D number
Flat D number means that tool management is carried out outside the NCK and there is no
reference made to T numbers.
Basic Functions
1388 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Flat D number structure
Note
Activation of both of the functions "Flat D number structure" and "Tool management" is
monitored. If both are activated at the same time, "Tool management" takes priority.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1389
Tool Offset (W1)
Tool cutting edge
17.4.1 General
Tool parameter
The geometrical description, the technological description and the tool type are mapped to
tool parameters for each tool cutting edge.
The following tool parameters are available for the relevant tool types:
Basic Functions
1390 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool cutting edge
Technology
24 Undercut angle only for turning tools
25 Reserved*
* "Reserved" means that this tool parameter is not used and is reserved for expansions.
3D-face milling
Milling cutter types 111, 120, 121, 130, 155, 156 and 157 are given special treatment for
3D-face milling by evaluating tool parameters (1 -23).
References
For more information about various tool types, see:
● Function Manual - Basic Functions; Tool Offset (W1), Chapter "Tool type (tool
parameters)"
● Programming Manual Fundamentals; Chapter: "Tool compensations" > "List of tool types"
● Function Manual - Special Functions; 3D-tool radius compensation (W5)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1391
Tool Offset (W1)
Tool cutting edge
Description
The tool type (3-digit number) defines the tool in question. The selection of this tool type
determines further components such as geometry, wear and tool base dimensions in
advance.
Conditions
The following is applicable to the "Tool type" parameter:
● The tool type must be specified for each tool cutting edge.
● Only the values specified can be used for the tool type.
● Tool type "0" (zero) means that no valid tool has been defined.
Basic Functions
1392 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool cutting edge
7DEOHRIWKHPRVWLPSRUWDQWDYDLODEOHWRROSDUDPDWHUV RQO\WRROW\SHQHFHVVDU\
DGDSEDVHPHDVXUHOHQJWK
73*
73*
73*
73*
73*
WRROSDUDPHWHU7&B'3
FRPSHQVDWLRQE\1&.
ದSHULSKHUDOVSHHGPD[
SURMHFWLRQOHQJWK
ದOHQJWK
ದOHQJWK
FXWWLQJHGJHSRVLWLRQ
ದDQJOHJUDGLHQWGLVF
VORWZLGWKUDGLXV
WRROFOHDUDQFHDQJOH
ದGLVFZLGWKPLQDFW
JHRPHWU\OHQJWK
JHRPHWU\UDGLXV
ZHDUOHQJWK
ZHDUUDGLXV
ದGLVFUDGLXVPLQ
ದVSHHGPD[
WRROW\SH
0LOOLQJWRROVDQGGULOOLQJWRROV DOORWKHUV
0LOOLQJWRROVDFFRUGLQJWR&/'$7$ [ [ [ [ [ [ [
EDOOHQGPLOO [ [ [ [ [ [ [
HQGPLOO [ [ [ [ [ [ [
HQGPLOOZLWKFRUQHUURXQGLQJ [ [ [ [ [ [ [ [
DQJOHKHDGFXWWHU [ [ [ [ [ [ [
DQJOHKHDGFXWWHUZLWKFRUQHUURXQGLQJ [ [ [ [ [ [ [ [
IDFHPLOO [ [ [ [ [ [ [
WKUHDGPLOO [ [ [ [ [ [ [
VLGHPLOO [ [ [ [ [ [ [
WUXQFDWHGFRQHPLOO [ [ [ [ [ [ [
WZLVWGULOO [ [ [ [ [ [
VROLGELW [ [ [ [ [ [
GULOOLQJURG [ [ [ [ [ [
FHQWHUGULOO [ [ [ [ [ [
FRXQWHUVLQN [ [ [ [ [ [
SLORWHGFRXQWHUERUH [ [ [ [ [ [
WDSGULOOUHJXODUWKUHDG [ [ [ [ [ [
WDSGULOOILQHWKUHDG [ [ [ [ [ [
WDSGULOO:KLWZRUWKWKUHDG [ [ [ [ [ [
UHDPHU [ [ [ [ [ [
JULQGLQJWRROVDQGWXUQLQJWRROV
SHULSKHUDOJULQGLQJZKHHO [ [ [ [ [ [ [ [ [ [
SHULSKHUDOJULQGLQJZKHHOZLWKPRQLWRULQJ [ [ [ [ [ [ [ [ [ [ [ [ [
ZLHDEHURKQH%DVLVPD¡I¾U68* [ [ [ [ [ [ [ [ [ [ [ [
3ODQVFKOHLEH [ [ [ [ [ [ [ [ [
3ODQVFKOHLEHPLWEHUZDFKXQJ [ [ [ [ [ [ [ [ [ [ [ [
DVEXWZLWKRXWEDVHPHDVXUHPHQWIRU68* [ [ [ [ [ [ [ [ [ [ [
GUHVVHU [ [ [ [ [ [ [ [
URXJKLQJWRRO [ [ [ [ [ [ [ [ [
VPRRWKLQJWRRO [ [ [ [ [ [ [ [ [
UHFHVVLQJWRRO [ [ [ [ [ [ [ [ [
FXWWLQJRIIWRRO [ [ [ [ [ [ [ [ [
WKUHDGLQJWRRO [ [ [ [ [ [ [ [ [
VSHFLDOWRROV
VORWWLQJVDZ [ [ [ [ [ [ [ [ [
&/'$7$ FXWWHU/RFDWLRQ'DWD ಧ WRROSRVLWLRQGDWDDFFRUGLQJWR',1
%O68* ಧ JULQGLQJZKHHOSHULSKHUDOVSHHG
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1393
Tool Offset (W1)
Tool cutting edge
Note
The tool type has no significance in the turning tool groups.
Non-listed numbers are also permitted, in particular with grinding tools (400-499).
Basic Functions
1394 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool cutting edge
/
7RRODGDSWHU UHIHUHQFH /
SRLQW
G /
EN /
The width of the saw blade is accounted for with tool radius compensation (G40 to G42 as
follows:
Command Significance
G40 No saw blade compensation
G41 Saw blade compensation left
G42 Saw blade compensation right
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1395
Tool Offset (W1)
Tool cutting edge
Description
The cutting edge position describes the position of the tool tip P in relation to the cutting
edge center point S. It is entered in tool parameter 2.
The cutting edge position is required together with the cutting edge radius (tool parameter 8)
for the calculation of the tool radius compensation for turning tools (tool type 5xx).
6
5
/HQJWK
/HQJWK )7RROKROGHUUHIHUHQFHSRLQW
5&XWWLQJHGJHUDGLXV WRROUDGLXV
6&XWWLQJHGJHFHQWHUSRLQW
= 37RROWLS
6 =
Figure 17-5 Tool parameter 2 (P2): Machining behind the turning center
Basic Functions
1396 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool cutting edge
6
=
3
3 6
3 3 3 3 3 3 3 3 3
;
Figure 17-6 Tool parameter 2 (P2): Machining in front of the turning center
= = = = =
; ; ; ; ;
Figure 17-7 Tool parameter 2 (P2): Cutting edge position for vertical boring and turning mills
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1397
Tool Offset (W1)
Tool cutting edge
Description
The lengths of the tools are required for the geometry tool length compensation. They are
input as tool lengths 1 to 3 in the tool parameters 3 to 5. The following length specifications
must be entered as a minimum for each tool type:
Example: Twist drill (tool type 200) with tool length (tool parameter 3)
) WRROKROGHUUHIHUHQFHSRLQW
/HQJWK WRROSDUDPHWHU
Note
All three tool parameters 3 to 5 (tool length 1 to 3) are always calculated in the three
geometry axes, irrespective of the tool type.
If more tool lengths are input in the tool parameters 3 to 5 for a tool type than is required as
the minimum, then these extra tool lengths are settled in the geometry axes without any
alarm.
Basic Functions
1398 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool cutting edge
References
For information about entering tool dimensions (lengths) in tool parameters 3 to 5 (tool
lengths 1 to 3) and how these are calculated in the three geometry axes, please refer to
→ Operating Manual.
Description
The shape of the tool is defined with the help of tool parameters 6 to 11. The data is required
for the geometry tool radius compensation.
In most cases, only tool parameter 6 (tool radius 1) is used.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1399
Tool Offset (W1)
Tool cutting edge
3D-face milling
All the tool parameters 6 to 11 are required for tool description of 3D-face milling.
U K
KWRROOHQJWK H
7RRO3IOHQJWK I
7RRO3HOHQJWK
7RRO3GUDGLXV
7RRO3UUDGLXV D
7RRO3DDQJOH
7RRO3EDQJOH
G
References
Please refer to the following documentation for information about entering tool shapes
(radius for tool radius compensation) in tool parameters 6 to 11 and how these are
calculated by geometry tool radius compensation in the three geometry axes:
● Programming Manual Fundamentals; Chapter: "Tool compensations" > "2½ D-tool
compensation"
● Function Manual - Special Functions; 3D-tool radius compensation (W5)
For 3D-face milling, please refer to:
● Programming Manual, Job Planning; Chapter: "Transformations" > "Three, Four and Five
axis Transformation (TRAORI)"
Basic Functions
1400 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool cutting edge
Description
While geometry tool length compensation (tool parameters 3 to 5) is used to define the size
of the tool, wear tool length compensation can be used to correct the change in the active
tool size.
The active tool dimensions can change due to:
● Differences between the tool fixture on the tool measurement machine and the tool fixture
on the machine tool
● Tool wear caused during service life by machining
● Definition of the finishing allowances
Description
While geometry tool radius compensation (tool parameters 6 to 11) is used to define the
shape of the tool, wear tool radius compensation can be used to correct the change in the
active tool shape.
The active tool dimensions can change due to:
● Tool wear caused during service life by machining
● Definition of the finishing allowances
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1401
Tool Offset (W1)
Tool cutting edge
Description
Tool base dimension/adapter dimension can be used when the reference point of the
toolholder (tool size) differs from the reference point of the toolholder.
This is the case when:
● The tool and the tool adapter are measured separately but are installed on the machine in
one unit (the tool size and adapter size are entered separately in a cutting edge).
● The tool is used in a second tool fixture located in another position (e.g. vertical and
horizontal spindle).
● The tool fixtures of a tool turret are located at different positions.
;
=
0LOOLQJPDFKLQH < 7XUQLQJPDFKLQH
=
; /HQJWK
7RROEDVH
GLPHQVLRQ )
OHQJWK /HQJWK
7XUQLQJFHQWHU
7RROEDVH
7RROEDVH GLPHQVLRQ
GLPHQVLRQ OHQJWK 7RROEDVH
OHQJWK ) GLPHQVLRQ
5DGLXV OHQJWK
) )
/HQJWK /HQJWK
)7RROKROGHUUHIHUHQFHSRLQWV /HQJWK
) 7RROKROGHUUHIHUHQFHSRLQWV
Basic Functions
1402 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool cutting edge
References
Please refer to the following documentation for more information about base-
dimension/adapter-dimension tool length compensation:
● Programming Manual, Fundamentals
Meaning
Certain turning cycles, in which traversing motions with tool clearance are generated,
monitor the tool clearance angle of the active tool for possible contour violations.
Value range
The angle (0 to 90° with no leading sign) is entered in tool parameter 24 as the tool
clearance angle.
VWFRQWRXUWREHPDFKLQHG QGFRQWRXUWREHPDFKLQHG
LVQRWYLRODWHG FRXOGEHYLRODWHG
7RROFOHDUDQFH
; 7RROFOHDUDQFH
DQJOH
DQJOH
Figure 17-9 Tool clearance angle of the turning tool during relief cutting
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1403
Tool Offset (W1)
Tool cutting edge
7RROFOHDUDQFH
DQJOHIRU
7RROFOHDUDQFH IDFHPDFKLQLQJ
DQJOHIRU
; ORQJLWXGLQDO
PDFKLQLQJ
Figure 17-10 Tool clearance angle for longitudinal and face machining
Note
If a tool clearance angle (tool parameter 24) of zero is entered, relief cutting is not monitored
in the turning cycles.
References
Please refer to the following documentation for a detailed description of the tool clearance
angle:
● Programming Manual Cycles
Basic Functions
1404 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool radius compensation 2D (TRC)
Note
The subject is irrelevant with respect to face milling as only defined tool types without
relevant cutting edge position are permitted for this operation anyway. (A tool with a type,
which has not been explicitly approved, is treated as a ball end mill with the specified
radius. A cutting edge position parameter is ignored).
17.5.1 General
Note
For tool radius compensation (WRK) see:
References:
/PG/ Programming Manual Fundamentals
Only the Programming Manual contains a complete technical description of the tool radius
compensation (TRC) and its special aspects.
Why TRC?
The contour (geometry) of the workpiece programmed in the part program should be
independent of the tools used in production. This makes it necessary to draw the values for
the tool length and tool radius from a current offset memory.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1405
Tool Offset (W1)
Tool radius compensation 2D (TRC)
Tool radius compensation can be used to calculate the equidistant path to the programmed
contour from the current tool radius.
7RRO
:RUNSLHFH
FRQWRXU
3DWKRIWKHWRROFHQWHUSRLQW
DWHTXDOGLVWDQFHWRWKH
FRQWRXU HTXLGLVWDQWSDWK
Direction of compensation
TRC calculates a path, which is equidistant to the programmed contour. Compensation can
be performed on the left- or right-hand side of the programmed contour in the direction of
motion.
Command Significance
G41 TRC on the left-hand side of the contour in the direction of motion
G42 TRC on the right-hand side of the contour in the direction of motion
G40 Deselection of TRC
Basic Functions
1406 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool radius compensation 2D (TRC)
Intermediate blocks
In general, only program blocks with positions on geometry axes in the current plane are
programmed when TRC is active. However, dummy blocks can still also be programmed
with active TRC. Dummy blocks are program blocks, which do not contain any positions on a
geometry axis in the current plane:
● Positions on the infeed axis
● Auxiliary functions,
● etc.
The maximum number of dummy blocks can be defined in the machine data:
MD20250 $MC_CUTCOM_MAXNUM_DUMMY_BLOCKS (Max no. of dummy blocks with no
traversing movements for TRC).
Command Significance
NORM Normal setting at start point/end point (initial setting)
KONT Follow contour at start point/end point
KONTC Approach/retraction with constant curvature
KONTT Approach/retraction with constant tangent
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1407
Tool Offset (W1)
Tool radius compensation 2D (TRC)
&RQWRXU VWUDLJKWOLQH
3
%HKLQG
FRQWRXU 5 7RROUDGLXV
,QIURQWRI
FRQWRXU 3
*FRUUHFWHG
3
([DPSOHRIVHOHFWLQJ75&ZLWK1250 ([DPSOHRIVHOHFWLQJ75&ZLWK.217
EHKLQGWKHFRQWRXU EHKLQGWKHFRQWRXUDQG*
3 3
3
&RQWRXUYLRODWLRQ &RQWRXU2.
* *
3 5
5 5
3 3
3
Figure 17-12 Example for selecting TRC with KONT or NORM in front of and behind the contour
● KONT and G450/G451 (corner behavior at outer corners) has a general effect and
determines the approach and retraction behavior with TRC.
● When tool radius compensation is deselected, the retraction behavior is determined by
the NORM/KONT instructions.
Supplementary conditions
The approach and retraction blocks are polynomials in the following two variants. Therefore,
they are only available for control variants, which support polynomial interpolation.
● KONTT
With KONTT, approach and retraction to/from the contour is with a constant tangent.
The curvature at the block transition is not usually constant.
● KONTC
With KONTC, not only the tangent but also the curvature is constant at the transition, with
the result that a jump in acceleration can no longer occur on activation/deactivation.
Although KONTC includes the KONTT property, the constant tangent version KONTT is
available on its own, because the constant curvature required by KONTC can produce
undesired contours.
Basic Functions
1408 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool radius compensation 2D (TRC)
Axes
The continuity condition is observed in all three axes. It is thus possible to program a
simultaneous path component perpendicular to the compensation plane for
approach/retraction.
Only linear blocks are permitted for the original approach and retraction blocks with
KONTT/KONTC. These programmed linear blocks are replaced in the control by the
corresponding polynomial curves.
Exception
KONTT and KONTC are not available in 3D variants of tool radius compensation (CUT3DC,
CUT3DCC, CUT3DF).
If they are programmed, the control switches internally to NORM without an error message.
Explanation:
In this example, a full circle with a radius of 70 mm is machined in the X/Y plane. Since the
tool has a radius of 10 mm, the resulting tool center point path describes a circle with a
radius of 60 mm. The start/end points are at X0 Y0 Z60, with the result that a movement
takes place in the Z direction at the same time as the approach/retraction movement in the
compensation plane.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1409
Tool Offset (W1)
Tool radius compensation 2D (TRC)
1
1
1
Figure 17-13 Approach and retraction with constant curvature during inside machining of a full circle:
Projection in the X-Y plane.
Basic Functions
1410 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool radius compensation 2D (TRC)
Figure 17-14 Approach and retraction with constant curvature during inside machining of a full circle:
3D representation.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1411
Tool Offset (W1)
Tool radius compensation 2D (TRC)
.2177
.217&
Note
The figure shows that a straight line bordering on the contour quadrant, e.g. to X20 Y-20,
would be violated with KONTC on retraction/approach to X0, Y0.
Basic Functions
1412 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool radius compensation 2D (TRC)
17.5.4.1 Function
Description
The SAR (Smooth Approach and Retraction) function is used to achieve a tangential
approach to the start point of a contour, regardless of the position of the start point.
The approach behavior can be varied and adapted to special needs using a range of
additional parameters.
The two functions, smooth approach and smooth retraction, are largely symmetrical.
The following section is, therefore, restricted to a detailed description of approach; special
reference is made to differences affecting retraction.
Sub-movements
There are maximum 4 sub-movements in case of soft retraction and approach with the
following positions:
● Start point of the movement P0
● Intermediate points P1, P2 and P3
● End point P4
Points P0, P3 and P4 are always defined. Intermediate points P1 and P2 can be omitted,
according to the parameters defined and the geometrical conditions.
On retraction, the points are traversed in the reverse direction, i.e. starting at P4 and ending
at P0.
17.5.4.2 Parameters
The response of the smooth approach and retraction function is determined by up to 9
parameters:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1413
Tool Offset (W1)
Tool radius compensation 2D (TRC)
3 3
3ZKHQDSSURDFKLQJ 3ZKHQDSSURDFKLQJ 3ZKHQDSSURDFKLQJ
ZLWKDVWUDLJKWOLQH ZLWKDTXDGUDQW ZLWKDVHPLFLUFOH
* * *
3
7RRO 7RROFHQWHUSRLQW 7RROFHQWHUSDWK 7RROFHQWHUSDWK
SDWK 7RRO 7RRO
',65 ',65
3 &RQWRXU 3 &RQWRXU 3 &RQWRXU
',65
Figure 17-16 Approach behavior depending on G147 to G347 and DISR (with simultaneous activation
of tool radius compensation)
Basic Functions
1414 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool radius compensation 2D (TRC)
● G142:
Approach contour from right, or retract to the right.
● G143:
Automatic determination of the approach direction, i.e. the contour is approached from
the side where the start point is located, relative to the tangent at the start point of the
following block (P4).
Note
The tangent at the end point of the preceding block is used accordingly on retraction.
If the end point is not programmed explicitly on retraction, i.e. if it is to be determined
implicitly, G143 is not permitted on retraction, since there is a mutual dependency
between the approach side and the position of the end point. If G143 is programmed in
this case, an alarm is output. The same applies if, when G140 is active, an automatic
switchover to G143 takes place as a result of an inactive tool radius compensation.
Modal G code (G340, G341), which defines the subdivision of the movement into individual blocks
from the start point to the end point
3 3 3 3
,QIHHGPRYHPHQW
6WUDLJKWOLQH 6WUDLJKWOLQH
FLUFOHRUKHOL[ RUFLUFOH
33 3
',6&/ 3 ',6&/ 3 3
* *
0DFKLQLQJSODQH
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1415
Tool Offset (W1)
Tool radius compensation 2D (TRC)
Note
Active, rotating frames are included in all cases where the position of the active plane G17 -
G19 (circle plane, helix axis, infeed movements perpendicular to the active plane) is relevant.
DISR
DISRSpecifies the length of a straight approach line or the radius of an approach arc.
Retraction/approach with straight lines
On approach/retraction along a straight line, DISR specifies the distance from the cutter
edge to the start point of the contour, i.e. the length of the straight line with active TRC is
calculated as the total of the tool radius and the programmed value of DISR.
An alarm is displayed:
● If DISR is negative and the amount is greater than the tool radius (the length of the
resulting approach line is less than or equal to zero).
Retraction/approach with circles
Approach/retraction with circles DISR indicates always the radius of the tool center point
path. If tool radius compensation is activated, a circle is generated internally, the radius of
which is dimensioned such that the tool center path is derived, in this case also, from the
programmed radius.
An alarm is output on approach and retraction with circles:
● If the radius of the circle generated internally is zero or negative
● If DISR is not programmed
● If the radius value ≤ 0.
Basic Functions
1416 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool radius compensation 2D (TRC)
DISCL
DISCLspecifies the distance from point P2 from the machining plane.
If the position of point P2 is to be specified by an absolute reference on the axis perpendicular
to the circle plane, the value must be programmed in the form DISCL = AC(....).
If DISCL is not programmed, points P1, P2 and P3 are identical with G340 and the approach
contour is mapped from P1 to P4.
The system checks that the point defined by DISCL lies between P1 and P3, i.e. in all
movements, which have a component perpendicular to the machining plane (e.g. infeed
movements, approach movements from P3 to P4), this component must have the same
leading sign. It is not permitted to change direction. An alarm is output if this condition is
violated.
On detection of a direction reversal, a tolerance is permitted that is defined by the machine
data:
MD20204 $MC_WAB_CLEARANCE_TOLERANCE (direction reversal on SAR).
However, if P2 is outside the range defined by P1 and P3 and the deviation is less than or
equal to this tolerance, it is assumed that P2 is in the plane defined by P1 and/or P3.
Example:
An approach is made with G17 starting at position Z=20 of point P1. The SAR plane defined
by P3 is at Z=0. The point defined by DISCL must, therefore, lie between these two points.
MD20204=0.010. If P2 is between 20.000 and 20.010 or between 0 and -0.010, it is assumed
that the value 20.0 or 0.0 is programmed. The alarm is output if the Z position of P2 is greater
than 20.010 or less than -0.010.
Depending on the relative position of start point P0 and end point P4 with reference to the
machining plane, the infeed movements are performed in the negative (normal for approach)
or positive (normal for retraction) direction, i.e. with G17 it is possible for the Z component of
end point P4 to be greater than that of start point P0.
Programming the end point P4 (or P0 for retraction) generally with X.... Y... Z...
Possible ways of programming the end point P4for approach
End point P4 can be programmed in the actual SAR block.
P4 can be determined by the end point of the next traversing block.
Further blocks (dummy blocks) can be inserted between the SAR block and the next
traversing block without moving the geometry axes.
The end point is deemed to have been programmed in the actual SAR block for approach if
at least one geometry axis is programmed on the machining plane (X or Y with G17). If only
the position of the axis perpendicular to the machining plane (Z with G17) is programmed in
the SAR block, this component is taken from the SAR block, but the position in the plane is
taken from the following block. In this case, an alarm is output if the axis perpendicular to the
machining plane is also programmed in the following block.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1417
Tool Offset (W1)
Tool radius compensation 2D (TRC)
Example:
0DFKLQLQJXSWRWKLV
SRLQWZLWK*WKHQZLWK
< *)
=
]
=
;
&RQWRXU
3
',65
Basic Functions
1418 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool radius compensation 2D (TRC)
)ROORZLQJEORFN ZLWKRXWRIIVHW
3
7RROFHQWHUSDWK 3
7RRO
6$5EORFN
**
3
&RQWRXU SUHFHGLQJEORFN
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1419
Tool Offset (W1)
Tool radius compensation 2D (TRC)
<
;
=
*
3 3
*
3 )
3
3 ) ) ;
Basic Functions
1420 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool radius compensation 2D (TRC)
Programming feed F
This feed value is effective from point P3 (or from point P2, if FAD is not programmed).
If no F command is programmed in the SAR block, the speed of the preceding block is valid.
The velocity defined by FAD is not used for following blocks.
17.5.4.3 Velocities
Velocities at approach
In both approach diagrams below, it is assumed that no new velocity is programmed in the
block following the SAR block. If this is not the case, the new velocity comes into effect after
point P4.
3 3 33 3
1RYHORFLW\SURJUDPPHG
2QO\)SURJUDPPHG
2QO\)$'SURJUDPPHG
)DQG)$'SURJUDPPHG
5DSLGWUDYHUVHLI*LVDFWLYHRWKHUZLVHZLWKWKHROGRUQHZ)FRPPDQG
9HORFLW\RISUHFHGLQJEORFN ROG)FRPPDQG
,QIHHGYHORFLW\SURJUDPPHGZLWK)$'
1HZPRGDOYHORFLW\SURJUDPPHGZLWK)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1421
Tool Offset (W1)
Tool radius compensation 2D (TRC)
3 3 3 3 3
1RYHORFLW\SURJUDPPHG
2QO\)SURJUDPPHG
2QO\)$'SURJUDPPHG
)DQG)$'SURJUDPPHG
5DSLGWUDYHUVHLI*LVDFWLYHRWKHUZLVHZLWKWKHROGRUQHZ)FRPPDQG
9HORFLW\RISUHFHGLQJEORFN ROG)FRPPDQG
,QIHHGYHORFLW\SURJUDPPHGZLWK)$'
1HZPRGDOYHORFLW\SURJUDPPHGZLWK)
Velocities at retraction
During retraction, the rolls of the modally active feedrate from the previous block and the
programmed feedrate value in the SAR block are interchanged, i.e. the actual retraction
contour (straight line, circle, helix) is traversed with the old feedrate value and a new velocity
programmed with the F word applies from point P2 up to P0.
If even retraction is active and FAD is programmed, the path from P3 to P2 is traversed with
FAD, otherwise it is traversed with the old velocity. The last F command programmed in a
preceding block always applies for the path from P4 to P2. G0 has no effect in these blocks.
Traversing from P2 to P0 takes place with the F command programmed in the SAR block or,
if no F command is programmed, with the modal F command from a preceding block. This
applies on the condition that G0 is not active.
If rapid traverse is to be used on retraction in the blocks from P2 to P0, G0 must be activated
before the SAR block or in the SAR block itself. If an additional F command is programmed
in the actual SAR blocks, it is then ineffective. However, it remains modally active for
following blocks.
Basic Functions
1422 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool radius compensation 2D (TRC)
3 3 3 3 3
1RYHORFLW\SURJUDPPHG
2QO\)SURJUDPPHG
2QO\)$'SURJUDPPHG
)DQG)$'SURJUDPPHG
5DSLGWUDYHUVHLI*LVDFWLYHRWKHUZLVHZLWKWKHROGRUQHZ)FRPPDQG
9HORFLW\RISUHFHGLQJEORFN ROG)FRPPDQG
5HWUDFWLRQYHORFLW\SURJUDPPHGZLWK)$'
1HZPRGDOYHORFLW\SURJUDPPHGZLWK)
Supplementary conditions
● Any further NC commands (e.g. auxiliary function outputs, synchronous axis movements,
positioning axis movements, etc.) can be programmed in a SAR block.
These are executed in the first subblock on approach and in the last subblock on
retraction.
● If the end point P4 is taken not from the SAR block but from a subsequent traversing
block, the actual SAR contour (straight line, quadrant or semicircle) is traversed in this
block.
The last subblock of the original SAR block does not then contain traversing information
for geometry axes. It is always output, however, because further actions (e.g. single
axes) may have to be executed in this block.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1423
Tool Offset (W1)
Tool radius compensation 2D (TRC)
17.5.4.6 Examples
Example 1
The following conditions must be true:
● Smooth approach is activated in block N20
● X=40 (end point); Y=0; Z=0
● Approach movement performed with quadrant (G247)
● Approach direction not programmed, G140 is valid, i.e. because TRC is active (G42) and
compensation value is positive (10), the contour is approached from the right
● Approach circle generated internally (SAR contour) has radius 20, so that the radius of
the tool center path is equal to the programmed value DISR=10
Basic Functions
1424 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool radius compensation 2D (TRC)
● Because of G341, the approach movement takes place with a circle in the plane, resulting
in a start point at (20, -20, 0)
● Because DISCL=5, point P2 is at position (20, -20, 5) and, because of Z30, point P1 is in
N10 at (20, -20, 30)
<
6$5FRQWRXU
;
7RRO
7RROFHQWHUSDWK
,QIHHG
PRYHPHQWLQ=
Part program:
Example 2
The following conditions must be true for approach:
● Smooth approach is activated in block N20
● Approach movement performed with quadrant (G247)
● Approach direction not programmed, G140 is valid, i.e. because TRC is active (G41), the
contour is approached from the left
● Contour offset OFFN=5 (N10)
● Current tool radius=10, and so the effective compensation radius for TRC=15; the radius
of the SAR contour is thus equal to 25, with the result that the radius of the tool center
path is equal to DISR=10
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1425
Tool Offset (W1)
Tool radius compensation 2D (TRC)
● The end point of the circle is obtained from N30, since only the Z position is programmed
in N20
● Infeed movement
– From Z20 to Z7 (DISCL=AC(7)) with rapid traverse
– Then on to Z0 with FAD=200
– Approach circle in X-Y-plane and following blocks with F1500
(In order that this velocity becomes effective in the following blocks, the active G-code
G0 in N30 must be overwritten with G1. Otherwise, the contour would continue to be
machined with G0.)
The following conditions must be true for retraction:
● Smooth retraction is activated in block N60
● Retraction movement performed with quadrant (G248) and helix (G340)
● FAD not programmed, since irrelevant for G340
● Z=2 in the start point; Z=8 in the end point, since DISCL=6
● When DISR=5, the radius of SAR contour=20; that of the tool center point path=5
● After the circle block, the retraction movement leads from Z8 to Z20 and the movement is
parallel to the X-Y plane up to the end point at X70 Y0.
< 7RROFHQWHUSDWK
7RRO
6HPLFLUFOH +HOL[
3DSS
3UHW
3DSS ;
&RQWRXU 3UHW
3DSS 3UHW
Basic Functions
1426 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool radius compensation 2D (TRC)
Part program:
Note
The contour generated in this way is modified by tool radius compensation, which is
activated in the SAR approach block and deactivated in the SAR retraction block.
The tool radius compensation allows for an effective radius of 15, which is the sum of the
tool radius (10) and the contour offset (5). The resulting radius of the tool center path in the
approach block is therefore 10, and 5 in the retraction block.
G40 instruction
TRC is deselected with the G40 instruction.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1427
Tool Offset (W1)
Tool radius compensation 2D (TRC)
G450/G451
The G functions G450/G451 can be used to control the response with discontinuous block
transitions at outside corners:
Command Significance
G450 Discontinuous block transitions with transition circle
G451 Discontinuous block transitions with intersection of equidistant paths
3URJUDPPLQJ*WUDQVLWLRQFLUFOH 3URJUDPPLQJ*LQWHUVHFWLRQ
2XWVLGHFRUQHU 2XWVLGHFRUQHU
7UDQVLWLRQFLUFOH
UDGLXV WRROUDGLXV
,QWHUVHFWLRQ
Figure 17-23 Example of a 90 degree outside corner with G450 and G451
Basic Functions
1428 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool radius compensation 2D (TRC)
DISC
The G450 transition circle does not produce sharp outside contour corners because the path
of the tool center point through the transition circle is controlled so that the cutting edge
stops at the outside corner (programmed position). When sharp outside corners are to be
machined with G450, the DISC instruction can be used to program an overshoot. Thus, the
transition circle becomes a conic and the tool cutting edge retracts from the outside corner.
The range of values of the DISC instruction is 0 to 100, in increments of 1.
Value Significance
DISC = 0 Overshoot disabled, transition circle active
DISC = 100 Overshoot large enough to theoretically produce a response similar to
intersection (G451).
The programmable maximum value for DISC can be set via the machine data:
MD20220 $MC_CUTCOM_MAX_DISC (max. value for DISC).
Values greater than 50 are generally not advisable with DISC.
&RQLFVHFWLRQ
&LUFOH
&RQWRXUDQJOH
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1429
Tool Offset (W1)
Tool radius compensation 2D (TRC)
65
',6&
',6&
&RQWRXUDQJOH
5UDGLXV 6WUDYHUVHRYHUVKRRW >GHJUHHV@
65VFDOHGRYHUVKRRW ZLWKUHIHUHQFHWRWKHWRROUDGLXV
G451 (intersection)
If G function G451 is active, the position (intersection) resulting from the path lines (straight
line, circle or helix only) located at a distance of the tool radius to the programmed contour
(center-point path of the tool), is approached. Spines and polynomials are never extended.
Basic Functions
1430 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool radius compensation 2D (TRC)
/RQJLGOHSDWKV
&RQWRXUDQJOH
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1431
Tool Offset (W1)
Tool radius compensation 2D (TRC)
%HORZFRQWRXUDQJOH
0'0&B&87&20B&859(B,16(57B/,0,7
QRWDWUDQVLWLRQFLUFOHEXWDQLQWHUVHFWLRQ
&RQWRXUDQJOH
Intersection
If two consecutive blocks form an inside corner, an attempt is made to find a point at which
the two equidistant paths intersect. If an intersection is found, the programmed contour is
shortened to the intersection (first block shortened at end, second block shortened at
beginning).
6KRUWHQHG
FRQWRXU
Basic Functions
1432 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool radius compensation 2D (TRC)
No intersection
In certain cases, no intersection is found between two consecutive blocks for inside corners
(see figure below).
1 6
1
1
Figure 17-29 If there is no intersection between N30 and block N40, the intersection between block
N30 and block N50 is calculated.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1433
Tool Offset (W1)
Tool radius compensation 2D (TRC)
Multiple intersections
→ see also "Collision detection"
It can be the case with inside corners that predictive contour calculation finds multiple
intersections of the equidistant paths in several consecutive blocks. In these cases, the last
intersection is always used as the valid intersection:
6
,QWHUVHFWLRQV
6DQG6DUH
6 6 QRWDSSURDFKHG
Figure 17-30 Example: Inside corner with TRC without contour violation (predicting 3 blocks)
Collision detection
Collision detection (bottleneck detection) examines whether the equidistant paths of non-
consecutive blocks intersect. If an intersection is found, the response is the same as for
inside corners with multiple intersections: The last intersection to be found is valid:
The maximum number of blocks used for the predictive check can be entered in the machine
data:
MD20240 $MC_CUTCOM_MAXNUM_CHECK_BLOCKS (blocks for predictive contour
calculation for TRC).
Basic Functions
1434 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool radius compensation 2D (TRC)
Programming
Collision detection can be activated or deactivated in the program:
Command Significance
CDON Collision detection ON
CDOF Collision detection OFF
CDOF2 Collision detection OFF
With CDOF, the search for an intersection initially examines two consecutive blocks. Other
blocks are not included in the search. If an intersection is found between adjacent blocks, no
further blocks are examined. With outside corners, an intersection can always be found
between two consecutive blocks.
Predictive examination of more than two adjacent blocks is thus possible with CDON and
CDOF.
Note
CDOF2 is only effective for 3D peripheral milling and has the same significance as CDOF for
all other types of machining (e.g. 3D face milling).
Omission of block
If an intersection is detected between two blocks, which are not consecutive, none of the
motions programmed between these blocks on the compensation plane are executed. All
other motions and executable instructions (M commands, traversal of positioning axes, etc.)
contained in the omitted blocks are executed at the intersection position in the sequence, in
which they are programmed in the NC program.
Warning 10763
If a block has been omitted as a result of the collision or bottleneck detection functions,
warning 10763 is output. The program is not interrupted.
This warning is suppressed if bit 1 is enabled in machine data:
MD11410 $MN_SUPPRES_ALARM_MASK (Mask for suppressing special alarm outputs).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1435
Tool Offset (W1)
Tool radius compensation 2D (TRC)
2IIVHWFXUYHZKHQ',6&!
FRQLFVHFWLRQ
2IIVHWFXUYHZKHQ
',6& FLUFOH
Basic Functions
1436 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool radius compensation 2D (TRC)
Supplementary conditions
A variable compensation value is permissible for all types of interpolation (including circular
and spine interpolation).
It is also permitted to change the sign (and, therefore, the compensation side).
3URJUDPPHGFRQWRXU
1
1
1
1
7RROFHQWHUSDWK
1
Calculation of intersection
When the intersections in blocks with variable compensation value are calculated, the
intersection of the offset curves (tool paths) is always calculated based on the assumption
that the compensation value is constant.
If the block with the variable compensation value is the first of the two blocks to be examined
in the direction of travel, then the compensation value at the block end is used for the
calculation; the compensation value at the block start is used otherwise.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1437
Tool Offset (W1)
Tool radius compensation 2D (TRC)
' 3URJUDPPHGFRQWRXU
1
7RROFHQWHUSDWK
7KHRUHWLFDOWRROFHQWHU
SRLQWSDWK
&RPSHQVDWLRQ'DW
' HQGRIEORFN1
&RPSHQVDWLRQ'DW
VWDUWRIEORFN1
1 1
Restrictions
If during machining on the inside of the circle the compensation radius becomes geater than
the programmed circle radius, then the machining is rejected with the following alarm:
Alarm 10758 "Curvature radius with variable compensation value too small"
Basic Functions
1438 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool radius compensation 2D (TRC)
Description
The "Keep tool radius compensation constant" function is used to suppress tool radius
compensation for a number of blocks, whereby a difference between the programmed and
the actual tool center path traveled set up by tool radius compensation in the previous blocks
is retained as the compensation.
It can be an advantage to use this method when several traversing blocks are required
during line milling in the reversal points, but the contours produced by the tool radius
compensation (follow strategies) are not wanted.
Activation
The "Keep tool radius compensation constant" function is activated with the G code
CUTCONON (CUTter compensation CONstant ON) and deactivated with the G code
CUTCONOF (CUTter compensation CONstant OFF).
CUTCONON and CUTCONOF form a modal G-code group.
The initial setting is CUTCONOF.
The function can be used independently of the type of tool radius compensation (21/2D, 3D
face milling, 3D circumferential milling).
Normal case
Tool radius compensation is normally active before the compensation suppression and is still
active when the compensation suppression is deactivated again.
In the last traversing block before CUTCONON, the offset point in the block end point is
approached. All following blocks, in which compensation suppression is active, are traversed
without compensation. However, they are offset by the vector from the end point of the last
offset block to its offset point. These blocks can have any type of interpolation (linear,
circular, polynomial).
The deactivation block of the compensation suppression, i.e. the block that contains
CUTCONOF, is compensated normally. It starts in the offset point of the start point. One linear
block is inserted between the end point of the previous block, i.e. the last programmed
traversing block with active CUTCONON, and this point.
Circular blocks, for which the circle plane is perpendicular to the compensation plane
(vertical circles), are treated as though they had CUTCONON programmed. This implicit
activation of compensation suppression is automatically canceled in the first traversing block
that contains a traversing motion in the compensation plane and is not such a circle. Vertical
circle in this sense can only occur during circumferential milling.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1439
Tool Offset (W1)
Tool radius compensation 2D (TRC)
Example:
<
&RQWRXUZLWKRXW75&
1
1
&RQWRXUZLWK75& 1
1
1
1
1 1 ;
Basic Functions
1440 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool radius compensation 2D (TRC)
Special cases
● If tool radius compensation is not active (G40), CUTCONON has no effect. No alarm is
produced. The G code remains active, however.
This is significant if tool radius compensation is to be activated in a later block with G41 or
G42.
● It is permissible to change the G code in the 7th G-code group (tool radius compensation;
G40/G41/G42) with CUTCONON active. A change to G40 is active immediately.
The offset used for traversing the previous blocks is traveled.
● If CUTCONON or CUTCONOF is programmed in a block without traversing in the active
compensation plane, activation is delayed until the next block that has such a traversing
motion.
● If CUTCONON is programmed with active tool radius compensation and not canceled
before the end of the program, the traversing blocks are traversed with the last valid
compensation.
The same applies for reprogramming of G41 or G42 in the last traversing block of a
program.
● If tool radius compensation is activated with G41 or G42 and CUTCONON is also already
active, activation of compensation is delayed until the next traversing block with
CUTCONOF.
● When reapproaching the contour with CUTCONOF, the 17th G-code group (approach and
retraction behavior with tool compensation; NORM/KONT) is evaluated, i.e. a bypass circle
is inserted if necessary for KONT. A bypass circle is inserted under the same conditions
as for activation of tool radius compensation with G41 or G42.
● The number of blocks with suppressed tool radius compensation is restricted:
MD20252 $MC_CUTCOM_MAXNUM_SUPPR_BLOCKS (Maximum number of blocks
with compensation suppression).
If it is exceeded, machining is aborted and an error message issued.
The restriction is necessary because the internal block processing in the last block before
CUTCONON must be resumed when repositioning.
● The response after reprogramming G41 or G42 when tool radius compensation is already
active is similar to compensation suppression.
The following deviations apply:
– Only linear blocks are permissible
– A single traversing block that contains G41 or G42 is modified so that it ends at the
offset point of the start point in the following block. Thus it is not necessary to insert a
dummy block. The same applies to the last block in a sequence of traversing blocks
where each contains G41 or G42.
– The contour is always reapproached with NORM, independent of the G code of the 17th
group (approach and retraction behavior with tool compensation; NORM/KONT).
● If G41/G42 is programmed several times in consecutive traversing blocks, all blocks are
machined as for CUTCONON, except for the last one.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1441
Tool Offset (W1)
Tool radius compensation 2D (TRC)
● The type of contour suppression is evaluated only in the first traversing block of a
sequence of consecutive traversing blocks.
If both CUTCONON and G41 or G42 are programmed in the first block, the response to
deactivating contour suppression is determined by CUTCONON.
Changing from G41 to G42 or vice versa makes sense in this case as a means of
changing the compensation side (left or right of the contour) when restarting.
A change of compensation side (G41/G42) can also be programmed in a later block, even
if contour suppression is active.
● Collision detection and bottleneck detection is deactivated for all blocks with active
contour suppression.
Basic Functions
1442 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool radius compensation 2D (TRC)
Function
If two curves with active tool radius compensation form an outside corner, depending on the
G code of the 18th group (corner behavior with tool compensation; G450/G451) and
regardless of the type of curves involved (straight lines, circles, polynomials):
● Either a conic is inserted to bypass the corner
Or
● The curves involved are extrapolated to form an intersection.
If no intersection is found with G451 activated, or if the angle formed by the two curves is too
steep, switchover to insert mode is automatic.
The intersection procedure for polynomials is released with the machine data:
MD20256 $MC_CUTCOM_INTERS_POLY_ENABLE (Intersection process possible for
polynomials)
Note
If this machine data is set to inactive, a block (can be very short) is always inserted (even if
transitions are almost tangential). These short blocks always produce unwanted drops in
speed during G64 operation.
Function
In certain special geometrical situations, extended approach and retraction strategies,
compared with the previous implementation, are required in order to activate or deactivate
tool radius compensation (see figure below).
Note
The following example describes only the situation for deactivation of tool radius
compensation. The response for approach is virtually identical.
Example:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1443
Tool Offset (W1)
Tool radius compensation 2D (TRC)
<
1
7RROUDGLXV
;
&HQWHUSRLQWSDWKZLWK
7RROUDGLXVFRPSHQVDWLRQ
3URJUDPPHG
FRQWRXU
1 1
The last block with active tool radius compensation (N20) is so short that an intersection no
longer exists between the offset curve and the preceding block (or a previous block) for the
current tool radius. An intersection between the offset curves of the following and preceding
blocks is therefore sought, i.e. between N10 and N30 in this example. The curve used for the
retraction block is not a real offset curve, but a straight line from the offset point at the end of
block N20 to the programmed end point of N30. The intersection is approached if one is
found. The colored area in the figure is not machined, although the tool used would be
capable of this.
G460
With G460, the approach/retraction strategy is the same as before.
Basic Functions
1444 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool radius compensation 2D (TRC)
G461
If no intersection is possible between the last TRC block and a preceding block, the offset
curve of this block is extended with a circle whose center point lies at the end point of the
uncorrected block and whose radius is equal to the tool radius.
<
$X[LOLDU\FXUYH
1
;
&HQWHUSRLQWSDWKZLWK
WRROUDGLXVFRPSHQVDWLRQ
3URJUDPPHG
FRQWRXU
1 1
The control attempts to cut this circle with one of the preceding blocks. If CDOF is active, the
search is terminated when an intersection is found, i.e. the system does not check for more
intersections with even earlier blocks.
If CDON is active, the search for more intersections continues after the first intersection is
found.
An intersection point, which is found in this way, is the new end point of a preceding block
and the start point of the deactivation block. The inserted circle is used exclusively to
calculate the intersection and does not produce a traversing movement.
Note
If no intersection is found, the following alarm is output:
Alarm "10751 Collision danger"
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1445
Tool Offset (W1)
Tool radius compensation 2D (TRC)
G462
If no intersection is possible between the last TRC block and a preceding block, a straight
line is inserted, on retraction with G462 (initial setting), at the end point of the last block with
tool radius compensation (the block is extended by its end tangent).
<
$X[LOLDU\FXUYH
1
;
1
&HQWHUSDWK
FRUUHFWHGSDWK
3URJUDPPHG
FRQWRXU
1 1
The search for the intersection is then identical to the procedure for G461.
With G462, the corner generated by N10 and N20 in the sample program is not machined to
the full extent actually possible with the tool used. However, this behavior may be necessary
if the part contour (as distinct from the programmed contour), to the left of N20 in the
example, is not permitted to be violated even with y values greater than 10 mm.
If KONT is active (travel round contour at start or end point), behavior will differ according to
whether the end point is in front of or behind the contour.
Basic Functions
1446 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool radius compensation 2D (TRC)
Note
The approach behavior is symmetrical to the retraction behavior.
The approach/retraction behavior is determined by the state of the G command in the
approach/retraction block. The approach behavior can therefore be set independently of the
retraction behavior.
Example:
Program for using G461 during approach:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1447
Tool Offset (W1)
Toolholder with orientation capability
17.6.1 General
Introduction
The orientation of the tool can vary (e.g. due to retooling) for a single class of machine tools.
When the machine is operating, the orientation that has been set is permanent, however,
and cannot be changed during traversing. For this reason, kinematic orientation
transformation (3-, 4- or 5-axis transformations, TRAORI) is neither necessary nor does it
make sense for such machines. However, it is necessary to take account of the changes in
the tool length components caused by changing the orientation, without having to trouble the
user with mathematics involved. The control performs these calculations.
Required data
The following requirements must be met if the control is to take tool compensations into
account for toolholders with orientation capability:
● Tool data (geometry, wear, etc.)
● Toolholder data (data for the geometry of the toolholder with orientation capability)
Toolholder selection
A toolholder defined in the control must be specified for the "Toolholder with orientation
capability" function. The NC program command below is used for this purpose:
TCARR = m
m: Number of the toolholder
The toolholder has an associated toolholder data block, which describes its geometry.
Activating the toolholder and its block has an immediate effect, i.e. from the next traversing
block onwards.
Assignment tool/toolholder
The tool that was active previously is assigned to the new toolholder.
From the point of view of the control, toolholder number m and tool numbers T can be
combined freely. In the real application, however, certain combinations can be ruled out for
machining or mechanical reasons. The control does not check whether the combinations
make sense.
Basic Functions
1448 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Toolholder with orientation capability
˳ &
& $
$
] ˳
9DULDQW 9DULDQW
[
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1449
Tool Offset (W1)
Toolholder with orientation capability
Orientation in Z direction
The G function TOFRAME defines a frame such that the Z direction in this frame is the same
as the current tool orientation.
If no tool carrier or a tool carrier without change in orientation is active, then the Z direction is
in the new frame:
● The same as the old Z direction with G17
● The same as the old Y direction with G18
● The same as the old X direction with G19.
Frame change
The user can change the frame following selection of the tool. This does not have any effect
on the tool length compensation components.
Angles in the toolholder data:
The programmed angles of rotation stored in the toolholder data are not affected by the
angle of rotation defined by the frames. When changing from TCOFR to TCOABS, the original
(programmed) angles of rotation in the toolholder data are reactivated.
Basic Functions
1450 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Toolholder with orientation capability
Ambiguities
With two axes, a particular tool orientation defined by the frame can generally be set with two
different rotary angle pairs. Of these two, the control selects the setting with which the rotary
angle is as close as possible to the programmed rotary angle.
Storing angles in the toolholder data
In virtually any case where ambiguities may arise, it is necessary to store the approximate
angle expected from the frame in the toolholder data.
Parameter sets
A complete set of parameters for a toolholder with orientation capability consists of 33
values.
The following system variables are available:
● $TC_CARR1 to $TC_CARR33
● In addition, $TC_CARR34 to $TC_CARR65 are freely available for the user and for fine
offsets.
The significance of the individual parameters is distinguished as follows:
Machine kinematics:
$TC_CARR1 to $TC_CARR20 and $TC_CARR23
$TC_CARR18 to $TC_CARR20 define a further vector l4, which is needed to describe the
machine with extended kinematics (both tool and workpiece can be rotated).
$TC_CARR21 and $TC_CARR22 contain the channel-axis identifiers of the rotary axes, the
positions of which can be used to determine the orientation of the toolholder with orientation
capability, if necessary.
Kinematic type:
$TC_CARR23 using letter T, P or M
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1451
Tool Offset (W1)
Toolholder with orientation capability
The following three options are available for the kinematic type, for which both upper and
lower case text are permissible:
Any character other than the three mentioned here will result in the alarm if it is tried to
activate the toolholder with orientation capability:
Alarm "14153 Channel %1 block %2 unknown tool carrier type: %3"
Rotary axis parameters:
$TC_CARR24 to $TC_CARR33
The system variables in $TC_CARR24 to $TC_CARR33 can be used to define offsets, angle
compensations, Hirth tooth system, and axis limits.
Note
The system variables are available with and without active tool management.
Basic Functions
1452 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Toolholder with orientation capability
n: Parameters 1 to 33
m: Number of the tool carrier 1 that can be oriented...Value of the machine data:
MD18088 $MN_MM_NUM_TOOL_CARRIER (Maximum number of definable tool
carriers)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1453
Tool Offset (W1)
Toolholder with orientation capability
Basic Functions
1454 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Toolholder with orientation capability
Zero vectors
Vectors v1 and v2 can be zero. The associated angle of rotation (explicitly programmed or
calculated from the active frame) must then also be zero, since the direction of the rotating
axis is not defined. If this condition is not satisfied, an alarm is produced when the toolholder
is activated.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1455
Tool Offset (W1)
Toolholder with orientation capability
7RROKROGHUUHIHUHQFHSRLQW
O 5HVXOWLQJWRROOHQJWKFRPSHQVDWLRQ
7RROUHIHUHQFH
SRLQW
Y˞
O 7RROOHQJWK
ZHDU
WRROEDVHGLPHQVLRQ
O Y˞
7RRORULHQWDWLRQ
Basic Functions
1456 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Toolholder with orientation capability
Vectors, which describe offsets in the rotary head, are positive in the direction from the tool
tip to the reference point of the toolholder.
The following kinematic type is defined for machines with a rotary tool:
$TC_CARR23 using letter T
5HIHUHQFHSRLQWRI
O WKHWRROWDEOH
O
Y˞
O Y˞
0DFKLQHUHIHUHQFHSRLQW
Vectors, which describe offsets in the rotary table, are positive in the direction from the
machine reference point to the table.
The following kinematic type is defined for machines with a rotary workpiece:
$TC_CARR23 using letter P
Note
On machines with rotary workpiece it is generally useful if the selected machine reference
point and the reference point of the table are identical. Selecting the reference points in this
way has the advantage that the position of the workpiece zero in the initial state (i.e. with
rotary axes not turned) does not change when the rotary table is activated. The (open)
kinematic chain (see figure) is then closed.
In this special case, therefore, the following formula applies: l2 = - (l3 + l4)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1457
Tool Offset (W1)
Toolholder with orientation capability
5HIHUHQFHSRLQWRIWKH
WRROKROGHU
O
5HVXOWLQJWRROOHQJWKFRPSHQVDWLRQ
5HIHUHQFHSRLQWRI
WKHWRRO
Y˞ 5HIHUHQFHSRLQWRI
WKHWRROWDEOH
7RROOHQJWK
ZHDU
O WRROEDVHGLPHQVLRQ
Y˞ O
O
7RRORULHQWDWLRQ 0DFKLQHUHIHUHQFHSRLQW
The following kinematic type is defined for machines with a rotary tool and rotary workpiece:
$TC_CARR23 using letter M (extended kinematics)
Note
On machines with extended kinematics it is generally useful, as with machines where only
the table can be rotated, for the machine reference point and the reference point of the table
to be identical. The (open) chain component to describe the table (see figure) is then closed.
In this special case, the following formula applies: l3 = - l4
Basic Functions
1458 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Toolholder with orientation capability
Fine offset
The offset vectors l1 to l4 and the offsets of the rotary axes v1 and v2 can be represented as
the sum of a basic value and a fine offset. The fine offset parameters assigned to the basic
values are achieved by adding a value of 40 to the index of the basic value.
Example:
The parameter $TC_CARR5 is assigned to the fine offset $TC_CARR45.
Note
For the significance of the system variables $TC_CARR41 to $TC_CARR65 available for the
fine offset see:
References:
/PGA/ Programming Manual Work Preparation; Tool Compensations
Activation
The following setting adds the fine offset values to the basic values:
SD42974 $SC_TOCARR_FINE_CORRECTION = 1 (fine offset TCARR on/off)
Supplementary conditions
The amount is limited to the permissible fine offset.
The maximum permissible value is defined:
Description of a rotation
A data block for describing a rotation comprises one vector v1 /v2 to describe the direction of
rotation of the rotary axis in its initial state and an angle α1/α2. The angle of rotation is
counted positively for clockwise rotation facing the direction of the rotation vector.
The two toolholder angles α1 and α2 are determined using a frame, independent of the
active plane currently selected (G17 - G19).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1459
Tool Offset (W1)
Toolholder with orientation capability
The tool orientation in the initial state (both angles α1 and α2 are zero) is (as in the default
case):
● G17: Parallel to Z
● G18: Parallel to Y
● for G19: Parallel to X
Note
The tool reference point for the tool base dimension is defined by the reference point at the
machine.
For more information about the reference points in the working area, please refer to:
References:
/FB1/ Function Manual Basic Functions; Axes, Coordinate Systems, Frames (K2).
]
\
Y
$[LV
Y 7RROUHIHUHQFHSRLQW
O
O O
$[LV
7RROEDVHGLPHQVLRQ
7RROFDUULHUUHIHUHQFHSRLQW
PP
/HQJWK:HDU
5HVXOWLQJWRROOHQJWKFRPSHQVDWLRQ
Basic Functions
1460 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Toolholder with orientation capability
Suitable assumptions were made for the following values in the data block:
● The two rotary axes intersect at one point.
All components of l2 are therefore zero.
● The first rotary axis lies in the x/z plane, the second rotary axis is parallel to the x axis.
These conditions define the directions of v1 and v2 (the lengths are irrelevant, provided
that they are not equal to zero).
● The reference point of the toolholder lies 200 mm in the negative x direction viewed from
the intersection of the two rotary axes.
This condition defines l1.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1461
Tool Offset (W1)
Toolholder with orientation capability
Explanation
The toolholder kinematic chosen in the example is such that the two rotary axes form an
angle of 45 degrees, which means that the orientation cannot take just any value. In
concrete terms, this example does not permit the display of orientations with negative X
components.
Note
The required data cannot be determined unequivocally from the geometry of the toolholder,
i.e. the user is free to a certain extent to decide the data to be stored. Thus, for the example,
it is possible to specify only one z component for the tool base dimension up to the second
axis. In this case, l2 would no longer be zero, but would contain the components of the
distance between this point on the second axis and a further point on the first axis. The point
on the first axis can also be selected freely. Depending on the point selected, l1 must be
selected such that the reference point (which can also be selected freely) is reached.
In general: vector components that are not changed by rotation of an axis can be distributed
over any vectors "before" and "after" rotation.
Description of function
Inclined machining with 3 + 2 axes describes an extension of the concept of toolholders with
orientation capability and applies this concept to machines with a rotary table, on which the
orientation of tool and table can be changed simultaneously.
The "Inclined machining with 3 + 2 axes" function is used to machine surfaces with any
rotation with reference to the main planes X/Y (G17), Z/X (G18) and Y/Z (G19).
It is possible to produce any orientation of the tool relative to the workpiece by rotating either
the tool, the workpiece or both the tool and the workpiece.
The software automatically calculates the necessary compensating movements resulting
from the tool lengths, lever arms and the angle of the rotary axis. It is always assumed that
the required orientation is set first and not modified during a machining process such as
pocket milling on an inclined plane.
Basic Functions
1462 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Toolholder with orientation capability
Furthermore, the following 3 functions are described, which are required for oblique
machining:
● Position programming in the direction of the tool orientation independent of an active
frame
● Definition of a frame rotation by specifying the solid angle
● Definition of the component of rotation in tool direction in the programmed frame while
maintaining the remaining frame components
System variables
To date, the angles stored in $TC_CARR13 and $TC_CARR14 were used for the calculation
of the active tool length with TCOABS. This still applies if $TC_CARR21 and $TC_CARR22
do not refer to rotary axes. If $TC_CARR21 or $TC_CARR22 contains a reference to a rotary
axis in the channel, the axis position of the relevant axis at the start of the current block is
used as the angle, rather than the entry in $TC_CARR13 or $TC_CARR14.
A mixed operating mode is permissible, i.e. the angles can be determined from the entry in
the system variables $TC_CARR13 or $TC_CARR14 for one axis, and from the position of a
channel axis for the other.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1463
Tool Offset (W1)
Toolholder with orientation capability
This makes it possible for machines, on which the axes used to set the toolholder with
orientation capability are known within the NC, to access their position directly, whereas it
was previously necessary, for example, to read system variable $AA_IM[axis] and write the
result of the read operation to $TC_CARR13/14. In particular, this removes the implicit
preprocessing stop when reading the axis positions.
MD20180
The rotary axis position is used with its programmed or calculated value, when the machine
data:
MD20180 $MC_TOCARR_ROT_ANGLE_INCR[i] = 0 (Rotary axis increment of the tool
carrier that can be oriented)
If the machine data is not zero however, the position used is the nearest grid point obtained
for a suitable integer value n from the equation:
φ = $MC_TOCARR_ROT_ANGLE_OFFSET[i] + n * $MC_TOCARR_ROT_ANGLE_INCR[i]
This functionality is required if the rotary axes need to be indexed and cannot, therefore,
assume freely-defined positions (e.g. with Hirth tooth systems). System variable
$P_TCANG[i] delivers the approximated valued and system variable $P_TCDIFF[i] the
difference between the exact and the approximated value.
Basic Functions
1464 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Toolholder with orientation capability
Activation of a frame changes the position in the workpiece coordinate system accordingly,
without compensating movement by the machine itself. The ratios are shown in the figure
below:
2ULJLQDOSRVLWLRQRI
WKHFRRUGLQDWH
V\VWHP 2ULJLQDOSRVLWLRQRIWDEOH
= )UDPHRIIVHW
3RVLWLRQRIFRRUGLQDWHV\VWHP
=
DIWHU3$527
;
=
3RVLWLRQRIFRRUGLQDWHV\VWHP
DIWHU7&$55
;
3RVLWLRQRIWDEOHDIWHUURWDWLRQ
Example
On the machine in the figure, the rotary axis of the table is pointing in the positive Y direction.
The table is rotated by +45 degrees. PAROT defines a frame, which similarly describes a
rotation of 45 degrees about the Y axis. The coordinate system is not rotated relative to the
actual environment (marked in the figure with "Position of the coordinate system after
TCARR"), but is rotated by -45 degrees relative to the defined coordinate system (position
after PAROT). If this coordinate system is defined with ROT Y-45, for example, and if the
toolholder is then selected with active TCOFR, an angle of +45 degrees will be determined for
the rotary axis of the toolholder.
Rotary table
With rotary tables (kinematic types P and M), activation with TCARR similarly does not lead to
an immediate rotation of the coordinate system (see figure), i.e. even though the zero point
of the coordinate system is offset relative to the machine, while remaining fixed relative to
the zero point of the workpiece, the orientation remains unchanged in space.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1465
Tool Offset (W1)
Toolholder with orientation capability
The zero offset can be written to a dedicated system frame $P_PARTFR. For this, the bit 2
must be set in the machine data:
MD28082 $MC_MM_SYSTEM_FRAME_MASK (System frames (SRAM))
The basic frame identified by following machine data is then no longer required for the zero
offset:
MD20184 $MC_TOCARR_BASE_FRAME_NUMBER (Number of the basic frames for taking
the table offset)
Rotations
Depending on the machining task, it is necessary to take into account not only a zero offset
(whether as frame or as tool length) when using a rotary toolholder or table, but also a
rotation. However, the activation of a toolholder with orientation capability never leads
directly to a rotation of the coordinate system.
TOROT
If only the tool can be rotated, a frame whose Z axis points in the direction of the tool can be
defined with TOFRAME or TOROT.
PAROT
If the coordinate system needs to be fixed relative to the workpiece, i.e. not only offset
relative to the original position but also rotated according to the rotation of the table, then
PAROT can be used to activate such a rotation in a similar manner to the situation with a
rotary tool.
With PAROT, the translations, scalings and mirrorings in the active frame are retained, but
the rotation component is rotated by the rotation component of a toolholder with orientation
capability corresponding to the table.
PAROT and TOROT take into account the overall change in orientation in cases where the
table or the tool are oriented with two rotary axes. With mixed kinematics only the
corresponding component caused by a rotary axis is considered. It is thus possible, for
example, when using TOROT, to rotate a workpiece such that an oblique plane lies parallel to
the X-Y plane fixed in space, whereby rotation of the tool must be taken into account in
machining where any holes to be drilled, for example, are not perpendicular to this plane.
Basic Functions
1466 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Toolholder with orientation capability
Note
For more information about the TCARR and TOROT functions, as well as PAROT in relation to
channel-specific system frames, please refer to:
References:
/FB1/ Function Manual, Basic Functions; Axes, Coordinate systems, Frames (K2).
Creating a toolholder
The number of available toolholder data sets in the NCK is defined with machine data:
MD18088 $MN_MM_NUM_TOOL_CARRIER (Maximum number of definable tool carriers)
1. The value is calculated as follows:
MD18088 = "Number of TO units" * "Number of tool holder data sets of a TO unit"
MD18088/"number of TO units" is permanently allocated to each TO unit.
Note
For further explanations on the definition and assignment of a TO unit by machine data:
MD28085 $MC_MM_LINK_TOA_UNIT (Assignment of a TO unit to a channel (SRAM))
References:
/FB/ Function Manual for Extended Functions; Memory Configurations (S7)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1467
Tool Offset (W1)
Toolholder with orientation capability
Basic Functions
1468 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Toolholder with orientation capability
The effect of TCOFR is such that, when machining on an inclined surface, tool
compensations are considered implicitly as if the tool were standing vertically on the surface.
Note
The tool orientation is not bound strictly to the frame orientation. When a frame is active and
G code TCOABS is active, you can select a tool, whereby the orientation of the tool is
independent of the orientation of the active frame.
Following tool selection, you can change the frame, which does not affect the components of
tool length compensation. It is then no longer certain that the tool is positioned perpendicular
to the machining plane. You should therefore first check that the intended tool orientation is
maintained on an inclined surface.
When TCOFR, etc., is active, the tool orientation used in the tool length calculation is always
determined from the active frame each time the toolholder is changed.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1469
Tool Offset (W1)
Toolholder with orientation capability
Group change
Changing the G code from group 42 (TCOABS, TCOFR, etc.) causes recalculation of the tool
length components.
The (programmed) angles of rotation stored in the toolholder data are not affected, with the
result that the angles originally stored in the toolholder data are reactivated on a change
from TCOFR to TCOABS.
Read rotary angle (α1 or α2):
The angles currently used to calculate the orientation can be read via system variable
$P_TCANG[n] where n = 1 or n = 2.
If two permissible solutions (i.e. a second valid pair of angles) are available for a particular
orientation, the values can be accessed with $P_TCANG[3] or $P_TCANG[4]. The number of
valid solutions 0 to 2 can be read with $P_TCSOL.
Tool radius compensation with CUT2D or CUT3DFS:
The current tool orientation is included in the tool radius compensation if either CUT2D or
CUT3DFS is active in G-code group 22 (tool compensation type).
For non-rotating toolholders, the behavior depends solely on the active plane of G code
group 6 (G17 - G19) and is, therefore, identical to the previous behavior.
All other tool compensation types:
The behavior for all other tool compensation types is unchanged.
For CUT2DF and CUT3DFF in particular, the compensation plane used for TRC is determined
from the active frame, independent of the current tool orientation. Allowance is made for the
active plane (G17 - G19) and the behavior is, therefore, the same as before.
The two remaining G codes of group 22, CUT3DC and CUT3DF, are not affected by the
toolholder functionality because the tool orientation information in these cases is made
available by the active kinematic transformation.
Example
The control first calculates an angle of 10 degrees for one axis. The specified angle is
750 degrees. 720 degrees (= 2 * 360 degrees) are then added to the initial angle, yielding a
final angle of 730 degrees.
Basic Functions
1470 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Toolholder with orientation capability
Limit values
Limit angles (software limits) can be specified for each rotary axis in the system variable set
($TC_CARR30 to $TC_CARR33) used to describe the toolholder with orientation capability.
These limits are not evaluated if both the minimum and maximum value is zero.
If at least one of the two limits is not equal to zero, the system checks whether the previously
calculated solution is within the permissible limits. If this is not the case, an initial attempt is
made to reach a valid setting by adding or subtracting multiples of 360 degrees to or from
the invalid axis position. If this is impossible and two different solutions exist, the first solution
is discarded and the second solution is used. The second solution is treated the same as the
first with reference to the axis limits.
If the first solution is discarded and the second used instead, the contents of $P_TCANG[1/2]
and $P_TCANG[3/4] are swapped, hence the solution actually used is also stored in
$P_TCANG[1/2] in this case.
The axis limits are monitored even if the axis angle is specified instead of being calculated.
This is the case if TCOABS is active when a toolholder with orientation capability is activated.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1471
Tool Offset (W1)
Toolholder with orientation capability
17.6.6 Programming
Basic Functions
1472 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Toolholder with orientation capability
Activation
A toolholder becomes active when both a toolholder and a tool have been activated. The
selection of the toolholder alone has no effect. The effect of selecting a toolholder depends
on the G code TCOABS/TCOFR (modal G-code group for toolholders).
Changing the G code in the TCOABS/TCOFR group causes recalculation of the tool length
components when the toolholder is active. With TCOABS, the values stored in the toolholder
data for both angles of rotation α1 and α2 are used to determine the tool orientation.
With TCOFR, the two angles are determined from the current frame. The values stored in the
toolholder data are not changed, however. These are also used to resolve the ambiguity that
can result when the angle of rotation is calculated from one frame. Here, the angle that
deviates least from the programmed angle is selected from the various possible angles.
Note
For more explanations on the programming of tool compensations with toolholder kinematic
and for the system variables see:
References:
/PGA/ Programming Manual Work Preparation
Full orientation
For a given data set that describes a certain kinematic, all the conceivable special
orientations can only be displayed when the following conditions are satisfied:
● The two vectors v1 and v2, that describe the rotary axes, must be defined (i.e. must not be
equal to zero).
● The two vectors v1 and v2 must be perpendicular to each other.
● The tool orientation must be perpendicular to the second rotary axis.
Non-defined orientation
If these conditions are not satisfied and an orientation that cannot be achieved by an active
frame is requested with TCOFR, an alarm is output.
Vector/angle of rotation dependencies
If vector v1 or v2, which describes the direction of a rotary axis, is set to zero, the associated
angle of rotation α1 or α2 must also be set to zero. Otherwise, an alarm is produced. The
alarm is not output until the toolholder is activated, i.e. when the toolholder is changed.
Tool fine compensation combined with orientation
Tool fine compensations and toolholders cannot be combined. The activation of tool fine
compensation when a toolholder is active, and vice versa the activation of the toolholder
when tool fine compensation is active, produces an alarm.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1473
Tool Offset (W1)
Toolholder with orientation capability
Basic Functions
1474 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Toolholder with orientation capability
Toolholder kinematics
The following supplementary conditions must be met for toolholder kinematics:
● Tool orientation in initial state, both angles α1 and α2 zero, as per default setting, even if:
– G17 parallel to Z
– G18 Parallel to Y
– G19 parallel to Z
● A permissible position in terms of the axis limits must be achievable.
● For any possible orientation to be set, the two rotary axes must be perpendicular to each
other.
For machines, on which the table is rotated by both axes, the tool orientation must also
be perpendicular to the first rotary axis.
For machines with mixed kinematics, the tool orientation must be perpendicular to the
axis, which rotates the tool, i.e. also the first rotary axis.
The following applies to orientations specified in a frame:
● The orientation specified in a frame must be achievable with the defined toolholder
kinematics, otherwise an alarm is output.
This situation can occur if the two rotary axes required to define the kinematics are not
perpendicular to each other.
This applies if fewer than two rotary axes are defined and is the case:
– With kinematic type T with rotary tool, if the tool axis, which defines the tool direction,
is not perpendicular to the second axis.
– With kinematic types M and P with rotary workpiece, if the tool axis, which defines the
tool direction, is not perpendicular to the first axis.
● Rotary axes, which require a frame with a defined tool orientation in order to reach a
specific position, are only determined unambiguously in the case of one rotary axis. Two
general solutions exist for two rotary axes.
● In all cases where ambiguities may arise, it is particularly important that the approximate
angles expected from the frame are stored in the tool data, and that the rotary axes are in
the vicinity of the expected positions.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1475
Tool Offset (W1)
Cutting data modification for tools that can be rotated
17.7.1 Function
Using the function "cutting data modification for rotatable tools", the changed geometrical
relationships, that are obtained relative to the workpiece being machined when rotating tools
(predominantly turning tools, but also drilling and milling tools) can be taken into account.
Basic Functions
1476 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Cutting data modification for tools that can be rotated
ˠ
˟
17.7.3 Cutting edge position, cut direction and angle for rotary tools
Turning tools
Turning tools means the following tools whose tool type ($TC_DP1) has values in the range
of 500 to 599. Grinding tools (tool types 400 to 499) are equivalent to turning tools.
Tools are treated independently of tool type such as turning tools if:
SD42950 $SC_TOOL_LENGTH_TYPE = 2
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1477
Tool Offset (W1)
Cutting data modification for tools that can be rotated
/HQJWKRIFXWWLQJHGJH &XWGLUHFWLRQ
;
=
Figure 17-44 Cutting edge position and cut direction for turning tools
The values 1 to 4 characterize the cases in which both cutting edges lie in the same
quadrant; the values 5 to 8 characterize the cases in which both cutting edges lie in
neighboring quadrants or there is a coordinate axis between the two cutting edges. The
cutting edge position is stored in the tool parameter $TC_DP2.
A cut direction can be defined for each turning tool. It is stored in the tool parameter
$TC_DP11. It has values between 1 and 4, and it characterizes a positive or negative
direction of the coordinate axes:
Value: Meaning:
1 Ordinate -
2 Ordinate +
3 Abscissa -
4 Abscissa +
Two different cut directions can be assigned to each cutting edge position:
Basic Functions
1478 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Cutting data modification for tools that can be rotated
; 3ODWHDQJOH rKROGHUDQJOHIUHHDQJOH
+ROGHUDQJOH 7&B'3
)UHHDQJOH 7&B'3
&XWGLUHFWLRQ =
Figure 17-45 Angle and cut direction for a turning tool with cutting edge position 3
The cut direction specifies the reference direction of the holder angle. The clearance angle is
the angle measured between the inverse cut direction and the adjacent cutting edge
(positive). Holder angle and clearance angle are stored in the tool parameters $TC_DP10 or
$TC_DP24.
Note
Cut direction and tool angle are relevant only in the cutting edge positions 1 to 8.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1479
Tool Offset (W1)
Cutting data modification for tools that can be rotated
Tool orientation
Unlike milling tools, turning tools are not rotation-symmetric. This means that normally 3
degrees of freedom or three rotary axes are required to describe the tool orientation. The
concrete kinematics therefore, is independent of the machine only to the extent the desired
orientation can be set. If necessary, the third degree of freedom can be substituted by a
rotation of the tool coordinate system.
Note
The division of the orientation into one portion created by the tool holder with orientation
capacity, and a second portion achieved via a rotation of the coordinate system is the
responsibility of the application. The control does not provide any further functionality in this
regard.
Basic Functions
1480 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Cutting data modification for tools that can be rotated
Depending on the rotation, the cut direction is modified in such a way that the resulting
clearance angle remains less than 90°. If the original cut direction and the original cutting
edge position do not fit together (refer to "Cutting edge position, cut direction and angle for
turning tools"), then the cut direction is not modified during rotation of the tool.
The angle of rotation in the plane, as it was determined from the tool holder with orientation
capacity, is available in the system variable $P_CUTMOD_ANG or $AC_CUTMOD_ANG.
This angle is the original angle without any final rounding to multiples of 45° or 90°.
Limit cases
If, for a turning tool, the cutting edge position, cut direction , clearance and holder angles
have valid values so that all cutting edge positions (1 to 8) are possible through suitable
rotations in the plane, then the cutting edge positions 1 to 4 are preferred to cutting edge
positions 5 to 8 in the cases in which one of the cutting edges (main or secondary cutting
edge) is away from the coordinate axis by less than half the input increment ((0.0005° for an
input specification of 3 decimal digits).
The following is applicable in all other cases (milling tools or turning tools without valid
cutting edge parameters) in which rotation is possible only in 90° steps: If the amount of the
rotation angle is smaller than 45° + 0.5 input increments (corresponds to 45.0005° for an
input specification of 3 decimal points), the cutting edge position and cut direction are not
changed, i.e. these cases are treated as rotations that are smaller than 45°. Rotations, the
amount of which deviates from 180° by less than 45° + 0.5 input increments are treated
identically as rotations in the range of 135° to 225°.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1481
Tool Offset (W1)
Cutting data modification for tools that can be rotated
QHZFXWWLQJHGJHUHIHUHQFHSRLQW
6/
6/
FXWWLQJHGJHUHIHUHQFHSRLQW
6/
ROGFXWWLQJUHIHUHQFHSRLQW
Figure 17-46 Cutting edge reference point and cutting edge position (SL) for tool rotation
A tool with the cutting edge position 3, the clearance angle 22.5° and holder angle 112.5° is
rotated. For rotations up to 22.5°, the cutting edge position is maintained, the position of the
cutting edge reference point relative to the tool however, is compensated in such a way that
the relative position of both points are maintained in the machining plane. For bigger
rotations (up to 67.5°), the cutting edge position changes to value 8.
Note
As the cutting edge reference point is defined by the tool length vector, modifying the cutting
edge reference point changes the effective tool length.
Basic Functions
1482 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Cutting data modification for tools that can be rotated
Any specified cutting edge position for tools that are not milling and tapping tools or turning
tools according to the mentioned definitions, is not evaluated.
The cutting edge position of the tapping and milling tools is stored in tool parameter
$TC_DP2 as in the case of turning tools. Based on the definition of the cutting edge position
for turning tools, this parameter can assume the values 5 to 8. Here, the cutting edge
position specifies the orientation (the direction of the rotation axis) of the tool:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1483
Tool Offset (W1)
Cutting data modification for tools that can be rotated
Reaction to errors
Different fault conditions can occur during the activation of the "Cutting edge data
modification for rotary tools" function (via explicit call with CUTMOD or through a tool
selection).
For each of these possible fault conditions, one can define whether the error is to trigger an
alarm output, whether such an alarm is only to be displayed (warning), or whether
additionally the interpretation of the part program must be cancelled. The setting is done via
the following machine data:
MD20125 $MC_CUTMOD_ERR
Two bits of the machine data are assigned to each fault condition:
Basic Functions
1484 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Cutting data modification for tools that can be rotated
Response to POWER ON
The "cutting edge data modification for rotary tools" function (CUTMOD) is initialized
automatically during POWER ON with the value stored in machine data:
MD20127 $MC_CUTMOD_INIT
If the value of this machine data is "-2", CUTMOD is set to the value that is set in machine
data:
MD20126 $MC_TOOL_CARRIER_RESET_VALUE (Active toolholder at RESET)
17.7.8 Programming
The "Cutting edge data modification for rotary tools" function is activated with the CUTMOD
command.
Syntax
CUTMOD=<value>
Description
CUTMOD Command to switch-in the function "cutting data modification for tools that can
be rotated"
<value> The following values can be assigned to the CUTMOD command:
0 The function is deactivated.
The values supplied from system variables $P_AD... are the same as
the corresponding tool parameters.
>0 The function is activated if a toolholder that can be orientated with the
specified number is active, i.e. the activation is linked to a specific
toolholder that can be orientated.
The values supplied from system variables $P_AD... may be modified
with respect to the corresponding tool parameters depending on the
active rotation.
The deactivation of the designated toolholder that can be orientated
temporarily deactivates the function; the activation of another
toolholder that can be orientated permanently deactivates it. This is
the reason that in the first case, the function is re-activated when
again selecting the same toolholder that can be orientated; in the
second case, a new selection is required - even if at a subsequent
time, the toolholder that can be orientated is re-activated with the
specified number.
The function is not influenced by a reset.
-1 The function is always activated if a toolholder that can be orientated
is active.
When changing the toolholder or when de-selecting it and a
subsequent new selection, CUTMOD does not have to be set again.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1485
Tool Offset (W1)
Cutting data modification for tools that can be rotated
Note
SD42984 $SC_CUTDIRMOD
The function can be activated using the CUTMOD command replaces the function that can be
activated using the setting data SD42984 $SC_CUTDIRMOD. However, this function
remains available unchanged. However, as it doesn't make sense to use both functions in
parallel, it can only be activated if CUTMOD is equal to zero.
Basic Functions
1486 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Cutting data modification for tools that can be rotated
System variables
The following system variables are available:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1487
Tool Offset (W1)
Cutting data modification for tools that can be rotated
Note
The data are always modified with respect to the corresponding tool parameters
($TC_DP2[..., ...] etc.) if the function "cutting data modification for rotatable tools" was
activated using the command CUTMOD and a toolholder that can be orientated, which causes
a rotation, is activated.
17.7.9 Example
The following example refers to a tool with tool nose position 3 and a toolholder that can be
orientated, which can rotate the tool around the B axis.
The numerical values in the comments specify the end of block positions in the machine
coordinates (MCS) in the sequence X, Y, Z.
Basic Functions
1488 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Cutting data modification for tools that can be rotated
N190 $TC_CARR13[2]=30
N200 TCARR=2
N210 X0 Y0 Z0 ; 10.892 0.000 -5.134
N220 G42 Z–10 ; 8.696 0.000 –17.330
N230 Z–20 ; 8.696 0.000 –21.330
N240 X10 ; 12.696 0.000 –21.330
N250 G40 X20 Z0 ; 30.892 0.000 –5.134
N310 M30
Explanations:
In block N180, initially the tool is selected for CUTMOD=0 and non-rotated toolholders that
can be orientated. As all offset vectors of the toolholder that can be orientated are 0, the
position that corresponds to the tool lengths specified in $TC_DP3[1,1] and
$TC_DP4[1,1] is approached.
The toolholder that can be orientated with a rotation of 30° around the B axis is activated in
block N200. As the tool nose position is not modified due to CUTMOD=0, the old tool nose
reference point is decisive just as before. This is the reason that in block N210 the position is
approached, which keeps the old tool nose reference point at the zero (i.e. the vector (1, 12)
is rotated through 30° in the Z/X plane).
In block N260, contrary to block N200 CUTMOD=2 is effective. As a result of the rotation of
the toolholder that can be orientated, the modified tool nose position becomes 8. The
consequence of this is also the different axis positions.
The tool radius compensation (TRC) is activated in blocks N220 and/or N270. The different
tool nose positions in both program sections has no effect on the end positions of the blocks
in which the TRC is active; the corresponding positions are therefore identical. The different
tool nose positions only become effective again in the deselect blocks N260 and/or N300.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1489
Tool Offset (W1)
Incrementally programmed compensation values
Prerequisites
Incremental programming with G91 is defined such that the compensation value is traversed
additively to the incrementally programmed value when a tool compensation is selected.
Applications
For applications such as scratching, it is necessary only to traverse the path programmed in
the incremental coordinates. The activated tool compensation is not traversed.
Sequence
Selection of a tool compensation with incremental programming
● Scratch workpiece with tool tip.
● Save the actual position in the basic frame (set actual value) after reducing it by the tool
compensation.
● Traverse incrementally from the zero position.
Activation
With setting data:
SD42442 $SC_TOOL_OFFSET_INCR_PROG,
it is possible to define whether a changed tool length is traversed with FRAME and
incremental programming of an axis, or whether only the programmed path is traversed.
Basic Functions
1490 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Incrementally programmed compensation values
Supplementary condition
If the behavior is set such that the offset remains active even after the end of the program
and RESET (MD20110 $MC_RESET_MODE_MASK, bit6=1), and if an incremental path is
programmed in the first part program block, the compensation is always traversed additively
to the programmed path.
Note
With this configuration, part programs must always begin with absolute programming.
Typical application
On machines with toolholders with orientation capability, traversing should take place in the
tool direction (typically, when drilling) without activating a frame (e.g. using TOFRAME or
TOROT), on which one of the axes points in the direction of the tool.
This is also true of machines on which a frame defining the oblique plane is active during
oblique machining operations, but the tool cannot be set exactly perpendicular because an
indexed toolholder (Hirth tooth system) is restricting the setting of the tool orientation.
In these cases it is then necessary - contrary to the motion actually requested perpendicular
to the plane - to drill in the tool direction, as the drill would otherwise not be guided in the
direction of its longitudinal axis, which, among other things, would lead to breaking of the
drill.
MOVT
The end point of such a motion is programmed with MOVT= .... The programmed value is
effective incrementally in the tool direction as standard. The positive direction is defined from
the tool tip to the toolholder. The content of MOVT is thus generally negative for the infeed
motion (when drilling), and positive for the retraction motion. This corresponds to the
situation with normal paraxial machining, e.g. with G91Z ....
If the motion is programmed in the form MOVT=AC( ...), MOVT functions absolutely. In this
case a plane is defined, which runs through the current zero point, and whose surface
normal vector is parallel to the tool orientation. MOVT then gives the position relative to this
plane:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1491
Tool Offset (W1)
Incrementally programmed compensation values
7RRO =
$X[LOLDU\SODQH
Figure 17-48 Definition of the position for absolute programming of a motion in tool direction
The reference to this auxiliary plane serves only to calculate the end position. Active frames
are not affected by this internal calculation.
Instead of MOVT= ... it is also possible to write MOVT=IC( ...) if it is to be plainly visible
that MOVT is to function incrementally. There is no functional difference between the two
forms.
Supplementary conditions
The following supplementary conditions apply to programming with MOVT:
● It is independent of the existence of a toolholder with orientation capability. The direction
of the motion is dependent on the active plane. It runs in the direction of the vertical axes,
i.e. with G17 in Z direction, with G18 in Y direction and with G19 in X direction. This
applies both where no toolholder with orientation capability is active and for the case of a
toolholder with orientation capability without rotary tool or with a rotary tool in its basic
setting.
● MOVT acts similarly for active orientation transformation (3-4-5-axis transformation).
● If in a block with MOVT the tool orientation is changed simultaneously (e.g. active 5-axis
transformation by means of simultaneous interpolation of the rotary axes), the orientation
at the start of the block is decisive for the direction of movement of MOVT. The path of the
tool tip (TCP - Tool Center Point) is not affected by the change in orientation.
● Linear or spline interpolation (G0, G1, ASPLINE, BSPLINE, CSPLINE) must be active.
Otherwise, an alarm is produced. If a spline interpolation is active, the resultant path is
generally not a straight line, since the end point determined by MOVT is treated as if it had
been programmed explicitly with X, Y, Z.
● A block with MOVT must not contain any programming of geometry axes (alarm 14157).
Basic Functions
1492 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Basic tool orientation
Application
Normally, the orientation assigned to the tool itself depends exclusively on the active
machining plane. For example, the tool orientation is parallel to Z with G17, parallel to Y with
G18 and parallel to X with G19.
Different tool orientations can only be programmed by activating a 5-axis transformation. The
following system variables have been introduced in order to assign a separate orientation to
each tool cutting edge:
MD18114
The system variables for describing the tool orientation are only available if machine data is
not equal to zero:
MD18114 $MN_MM_ENABLE_TOOL_ORIENT (assign orientation to tool cutting)
MD18114 $MN_MM_ENABLE_TOOL_ORIENT
Value = 1 Only system variable $TC_DPV[t, d] is available.
Value = 2 All four system variables are available.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1493
Tool Offset (W1)
Basic tool orientation
$TC_DPV[1, 1] = 0
$TC_DPV3[1, 1] = 1.0
$TC_DPV4[1, 1] = 0.0
$TC_DPV5[1, 1] = 1.0
In this example, the basic orientation points in the direction of the bisector in the L1-L3 plane,
i.e. the basic orientation in the bisector for a milling tool and active plane G17 lies in the Z/X
plane.
The active tool orientation is unchanged in these cases and is equivalent to the original
settings in $TC_DPVx[t, d].
The basic orientation is always the direction perpendicular to the plane in which tool radius
compensation is performed. With turning tools, in particular, the tool orientation generally
coincides with the longitudinal tool axis.
The setting data specified below are effective only if the basic orientation of the tool is
defined by an entry in at least one of the system variables $TC_DPVx[t, d].
They have no effect if the tool orientation is only determined by the plane selection G17 -
G19 and is compatible with previous behavior.
The plane of the basic orientation for a cutting edge is treated either like a milling tool or like
a turning tool, irrespective of the entry in $TC_DP1, if the following setting data is not equal
to zero:
SD42950 $SC_TOOL_LENGTH_TYPE (allocation of the tool length components
independent of tool type)
Basic Functions
1494 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Basic tool orientation
Plane change
A change of plane causes a change in orientation.
The following rotations are initiated:
These rotations are the same as those that have to be performed in order to interchange the
components of the tool length vector on a change of plane.
The basic orientation is also rotated when an adapter transformation is active.
If the following setting data is not equal to zero, the tool orientation is not rotated on a
change of plane:
SD42940 $SC_TOOL_LENGTH_CONST (change of tool length components on change of
planes).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1495
Tool Offset (W1)
Basic tool orientation
* Turning tools in this context are any tools whose tool type ($TC_DP1[t, d]) is between 400 and
599. All other tool types refer to milling tools.
** If all three values $TC_DPV3[t, d], $TC_DPV4[t, d], $TC_DPV5[t, d] are equal to zero in this
case, the tool orientation is determined by the active machining plane (default).
V Stands for a positive value in the corresponding system variables.
Example:
For milling tools:
$TC_DPV[t, d] = 2 is equal to:
$TC_DPV3[t, d] = 0, $TC_DPV4[t, d] = 0, $TC_DPV5[t, d] = V.
Basic Functions
1496 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Basic tool orientation
Supplementary conditions
If the "Scratch" function is used in the RESET state, the following must be noted with respect
to the initial setting:
● The wear components are evaluated depending on the initial settings of the G-code
groups TOWSTD, TOWMCS and TOWWCS.
● If a value other than the initial setting is needed to ensure correct calculation, scratching
may be performed only in the STOP state.
Note
"Special handling of tool compensations" pays particular attention to tool compensations
with evaluation of sign for tool length with wear and temperature fluctuations.
The following are taken into account:
• Tool type
• Transformations for tool components
• Assignment of tool length components to geometry axes independently of tool type
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1497
Tool Offset (W1)
Special handling of tool compensations
SD42900- 42960
Setting data SD42900 - SD42940 can be used to make the following settings with reference
to tool compensation:
● Sign of the tool length
● Sign of the wear
● Behavior of the wear components when mirroring geometry axes
● Behavior of the wear components when changing the machining plane via setting data
● Allocation of the tool length components independent of actual tool type
● Transformation of wear components into a suitable coordinate system for controlling the
effective tool length
Note
In the following description, the wear includes the total values of the following
components:
• Wear values: $TC_DP12 to $TC_DP20
• Sum offset, consisting of:
– Wear values: $SCPX3 to $SCPX11
– Setup values: $ECPX3 to $ECPX11
You will find detailed information about sum and tool offsets in:
References:
/FBW/ Function Manual Tool Management
/PG/ Programming Manual Fundamentals; Tool Compensations
Basic Functions
1498 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Special handling of tool compensations
Activation
Tool length mirroring is activated via the setting data:
SD42900 $SC_MIRROR_TOOL_LENGTH <> 0 (TRUE) (Sign change tool length when
mirroring)
Function
The following components are mirrored by inverting the sign:
● Tool lengths: $TC_DP3, $TC_DP4, $TC_DP5
● Tool base dimensions: $TC_DP21, $TC_DP22, $TC_DP23
Mirroring is performed for all tool base dimensions whose associated axes are mirrored.
Wear values are not mirrored.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1499
Tool Offset (W1)
Special handling of tool compensations
; ;
'
= =
0 : : 0
0DFKLQLQJVLWXDWLRQ 0DFKLQLQJVLWXDWLRQ
'LVZRUNLQJLQ:&6 'LVZRUNLQJLQ:&6
Activation
Wear length mirroring is activated by:
SD42920 $SC_WEAR_SIGN_CUTPOS <> 0 (TRUE) (Sign of wear for tools with cutting
edge systems)
Function
Basic Functions
1500 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Special handling of tool compensations
In the case of tool types without a relevant cutting edge position, the wear length is not
mirrored.
Note
The mirroring (sign inversion) in one or more components can cancel itself through a
simultaneous activation of the functions:
Tool length-mirroring (SD42900 <> 0)
And:
Tool length-mirroring (SD42920 <> 0)
SD42930 $SC_WEAR_SIGN
Setting data not equal to zero:
Inverts the sign of all wear dimensions. This affects both the tool length and other variables
such as tool radius, rounding radius, etc.
Entering a positive wear dimension makes the tool "shorter" and "thinner".
The same applies in the event that the resulting tool length is modified due to a change in
the mirroring status of an axis. The tool must be selected again after the mirror command, in
order to activate the modified tool-length components.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1501
Tool Offset (W1)
Special handling of tool compensations
Plane change
The assignment of tool length components (length, wear and tool base dimension) to
geometry axes does not change when the machining plane is changed (G17–G19).
Assignment of tools
The assignment of tool length components to geometry axes for turning and grinding tools
(tool types 400 to 599) is generated from the value of the following setting data in
accordance with the following table:
SD42940 $SC_TOOL_LENGTH_CONST (change of tool length components on change of
planes).
*) Each value not equal to 0, which is not equal to one of the six listed values, is evaluated as value 18.
The following table shows the assignment of tool length components to geometry axes for all
other tools (tool types < 400 or > 599):
*) Each value not equal to 0, which is not equal to one of the six listed values, is evaluated as value 17.
Note
For representation in tables, it is assumed that geometry axes 1 to 3 are named X, Y, Z. The
axis order and not the axis identifier determines the assignment between a compensation
and an axis.
Three tool length components can be arranged on the 6 different types above.
Basic Functions
1502 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Special handling of tool compensations
Definition of the assignment between tool length components (length, wear and tool base
dimension) and geometry axes independent of tool type.
Setting data not equal to zero: (the default definition is applied)
A distinction is made between turning and grinding tools (tool types 400 to 599) and other
tools (milling tools).
The value range is from 0 to 2. Any other value is interpreted as 0.
The assignment of tool length components is always independent of the actual tool type.
● Value = 1: Always as for milling tools
● Value = 2: Always as for turning tools
Note
When toolholders with orientation capability are used, it is common to define all tools for a
non-mirrored basic system, even those, which are only used for mirrored machining. When
machining with mirrored axes, the toolholder is then rotated such that the actual position of
the tool is described correctly. All tool-length components then automatically act in the
correct direction, dispensing with the need for control of individual component evaluation via
setting data, depending on the mirroring status of individual axes.
The use of toolholders with orientation capability is also practical if the physical
characteristics of the machine type prevents tools, which are permanently installed with
different orientations, from being rotated. Tool dimensioning can then be performed uniformly
in a basic orientation, where the dimensions relevant for machining are calculated according
to the rotations of a virtual toolholder.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1503
Tool Offset (W1)
Special handling of tool compensations
Note
Temperature offset in the tool direction is operative only as an option with generic 5-axis
transformation, types 24 and 56.
Basic Functions
1504 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Special handling of tool compensations
Activation
Temperature compensation in the tool direction is an option, which must be enabled
beforehand.
It is activated by setting the following machine data to a value other than zero.
MD20390 $MC_TOOL_TEMP_COMP_ON (Activation of temperature compensation for tool
length)
In addition, the bit 2 must be set for each affected channel axis in the machine data:
MD32750 $MA_TEMP_COMP_TYPE [<axis index>] (temperature compensation type)
This can be more than three axes in cases where more than three channel axes in
succession can be temporarily assigned to geometry axes as a result of geometry axis
replacement of transformation switchover. If this bit is not set for a particular channel axis,
the compensation value cannot be applied in the axis. This does not have any effect on other
axes. In this case, an alarm is not output.
Applicability
Temperature compensation in the tool direction is operative only with generic 5-axis
transformations with:
● Transformation type 24
Two axes rotate the tool
● Transformation type 56
One axis rotates the tool, the other axis rotates the workpiece without temperature
compensation
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1505
Tool Offset (W1)
Special handling of tool compensations
Note
Temperature compensation can be activated with all other types of transformation. It is
not affected by a change in tool orientation. The axis move as if no orientation
transformation with temperature compensation were active.
Supplementary conditions
Temperature compensation in the tool direction is an option, which must be enabled in
advance and is available:
● For generic 5-axis transformation
● For transformation with rotated linear axis for transformation types 64 to 69
Limit values
The compensation values are restricted to the maximum values by the machine data:
MD20392 $MC_TOOL_TEMP_COMP_LIMIT[0] (Maximum temperature compensation for
tool length)
To:
MD20392 $MC_TOOL_TEMP_COMP_LIMIT[2]
The limit value default setting is 1 mm. If a temperature compensation value higher than this
limit is specified, it will be limited without an alarm.
SD42960
The three temperature compensation values together form a compensation vector and are
contained in setting data:
SD42960 $SC_TOOL_TEMP_COMP[0] (Temperature compensation with reference to tools)
To:
SD42960 $SC_TOOL_TEMP_COMP[2]
The setting data are user-defined, e.g. using synchronized actions or from the PLC.
The compensation values can, therefore, also be used for other compensation purposes.
Basic Functions
1506 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Special handling of tool compensations
In the initial state or when orientation transformation is deactivated, all three compensation
values apply in the direction of the three geometry axes (in the typical order X, Y, Z). The
assignment of components to geometry axes is independent of the tool type (turning, milling
or grinding tools) and the selected machining plane G17 to G19. Changes to the setting data
values take effect immediately.
Note
While transformations with rotating linear axes take changes in the tool vector (length) into
account, they ignore its change in orientation, which can be effected by a toolholder with
orientation capability.
Examples
Temperature compensation in tool direction
Example of a 5-axis machine with rotating tool, on which the tool can be rotated about the C
and B axes.
In its initial state, the tool is parallel to the Z axis. If the B axis is rotated through 90 degrees,
the tool points in the X direction.
Therefore, a temperature compensation value in the following setting data is also effective in
the direction of the machine X axis if transformation is active:
SD42960 $SC_TOOL_TEMP_COMP[2] (Temperature compensation with reference to tools)
If the transformation is deactivated with the tool in this direction, the tool orientation is, by
definition, parallel again to the Z axis and thus different to its actual orientation. The
temperature offset in the X axis direction is therefore reduced to zero and reapplied
simultaneously in the Z direction.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1507
Tool Offset (W1)
Special handling of tool compensations
Example of a 5-axis machine with rotating tool (transformation type 24). The relevant
machine data are listed below:
● The first rotary axis rotates about Z.C-axis
● The second rotary axis rotates about Y B-axis
The essential machine data are shown in the table below:
Basic Functions
1508 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Special handling of tool compensations
NC program
Temperature compensation values in the NC program
The compensation values assigned to axes X and Z are not zero and are applied for
temperature compensation with respect to tool length. The machine axis positions reached in
each case are specified as comments in the program lines.
With the exception of block N40, temperature compensation always acts in the original
directions, as the tool is pointing in the basic orientation direction. This applies particularly in
block N50. The tool is actually still pointing in the direction of the X axis because the B axis is
still at 90 degrees. However, because the transformation is already deactivated, the applied
orientation is parallel to the Z axis again.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1509
Tool Offset (W1)
Sum offsets and setup offsets
17.11.1 General
Sum offsets
Sum offsets can be treated as programmable process compensations during machining and
are composed of all the error sizes (including the wear), which cause the workpiece to
deviate from the specified dimensions.
Sum offsets are a generalized type of wear. They are part of the cutting edge data. The
parameters of the sum offset refer to the geometrical data of a cutting edge.
The compensation data of a sum offset are addressed by a DL number (DL: location-
dependent; compensations with reference to the location of use).
In contrast, the wear values of a D number describe the physical wear of the cutting edge,
i.e. in special situations, the sum offset can match the wear of the cutting edge.
Sum offsets are intended for general use, i.e. with active or inactive tool management or with
the flat D number function.
Machine data are used to classify the sum offsets into:
● Sum offset fine
● Sum offset coarse (setup offset)
Setup offset
The setup offset is the compensation to be entered by the setup engineer before machining.
These values are stored separately in the NCK. The operator subsequently only has access
to the "sum offset fine" via HMI.
The "sum offset fine" and "sum offset coarse" are added internally in the NCK. This value is
referred to below as the sum offset.
Note
The function is enabled via the machine data setting:
MD18080 $MN_MM_TOOL_MANAGEMENT_MASK, Bit 8=1 (Gradual memory reservation
for tool management).
If kinematic transformations (e.g. 5-axis transformations) are active, the tool length is
calculated first after allowing for the various wear components. ´The total tool length is then
used in the transformation. Unlike the case of a toolholder with orientation capability, the
wear values are thus always included in the transformation irrespective of the G code of
group 56.
Basic Functions
1510 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Sum offsets and setup offsets
Sum offsets
Several sum offsets (DL numbers) can be defined per D number. This allows you to
determine, for example, workpiece-location-dependent compensation values and assign
them to a cutting edge. Sum offsets have the same effect as wear, i.e. they are added to the
compensation values of the D number. The data are permanently assigned to a D number.
Attitudes
You can define the following settings in machine data:
● Activate sum offset
● Define maximum quantity of DL data sets to be created in NCK memory
● Define maximum quantity of DL numbers to be assigned to a D number
● Define whether the sum offsets (fine/coarse) are to be saved during data backup
● Define the sum offset to be activated, if:
– A new cutting edge compensation is activated
– An operator panel front RESET is performed
– An operator panel front START is performed
– The end of the program has been reached
The name is oriented to the logic of the corresponding machine data for tools and cutting
edges.
The "setup offset" and "sum offset fine" can be read and written via system variables and
corresponding OPI services.
Note
When tool management is active, a machine data can be used to define whether the sum
offset of a tool activated during a programmed tool change remains unchanged or is set to
zero.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1511
Tool Offset (W1)
Sum offsets and setup offsets
Technology
Basic Functions
1512 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Sum offsets and setup offsets
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1513
Tool Offset (W1)
Sum offsets and setup offsets
Supplementary conditions
The maximum number of DL data sets of a cutting edge and the total number of sum offsets
in the NCK are defined by machine data. The default value is zero, i.e. no sum offsets can
be programmed.
Activate the "monitoring function" to monitor a tool for wear or for "sum offset".
The additional sum/setup data sets use additional buffered memory. 8 bytes are required per
parameter.
A sum-offset data set requires: 8 bytes * 9 parameters = 72 bytes
A setup data set requires an equal amount of memory. A certain number of bytes is also
required for internal administration data.
17.11.3 Activation
Function
The function must be activated via the machine data:
MD18108 $MN_MM_NUM_SUMCORR (sum offsets in TO area).
System variables $TC_ECPx and $TC_SCPx and setup and sum offsets ("fine") defined via
the OPI interface can be activated in the part program.
This is done by programming the language command DL="number".
When a new D number is activated, either a new DL number is programmed, or the DL
number defined via the following machine data becomes active:
MD20272 $MC_SUMCORR_DEFAULT (basic setting of the additive offset without a
program)
DL programming
The sum offset is always programmed relative to the active D number with the command:
DL = "n"
The sum offset "n" is added to the wear of the active D number.
Note
If you use "setup offset" and "sum offset fine", both compensations are combined and added
to the tool wear.
Basic Functions
1514 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Sum offsets and setup offsets
Note
DL0 is not allowed. If compensation is deselected (D0 and T0), the sum offset also becomes
ineffective.
Programming a sum offset that does not exist triggers an alarm, similar to programming a D
compensation that does not exist.
Thus, only the defined wear remains part of the compensation (defined in system variables
$TC_DP12 to $TC_DP20).
Programming a sum offset when a D compensation is active (also applies to deselection)
has the same effect on the path as programming a D command. An active radius
compensation will, therefore, lose its reference to adjacent blocks.
Configuration
MD18112 $MN_MM_KIND_OF_SUMCORR, bit 4=0: (Properties of sum offset in the TO
area) default setting:
Only one set of sum offsets exists per DL number.
We refer in general to the sum offset.
This describes the data represented by $TC_SCPx.
6XPRIIVHW
7&B6&3>W@
7&B6&3>W@
'RIIVHW
6XPRIIVHW
7&B'3>W@ 7&B6&3>W@
7&B'3>W@ 7&B6&3>W@
7&B'3>W@
7&B'3>W@
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1515
Tool Offset (W1)
Sum offsets and setup offsets
Tool T = t is active. With the data in the figure, the following is programmed:
6HWXSRIIVHW 6XPRIIVHW
ILQH
7&B(&3>W@ 7&B6&3>W@
7&B(&3>W@ 7&B6&3>W@
'RIIVHW
7&B'3>W@ 6HWXSRIIVHW 6XPRIIVHW
ILQH
7&B'3>W@
7&B(&3>W@ 7&B6&3>W@
7&B'3>W@
7&B(&3>W@ 7&B6&3>W@
7&B'3>W@
7&B'3&(>W@
Figure 17-51 MD18112 $MN_MM_KIND_OF_SUMCORR, bit 4 = 1 "setup offsets" + "sum offsets fine"
Basic Functions
1516 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Sum offsets and setup offsets
Tool T = t is active. With the data in the figure, the following is programmed:
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1517
Tool Offset (W1)
Sum offsets and setup offsets
The above statements also apply to the setup offsets (if the NCK is configured with this
option), i.e.
When working with setup offsets, "sum offsets fine" are written with the $TC_SCPx system
variables.
When working with setup offsets, "sum offsets fine" are written with the $TC_SCPx system
variables.
Note
When working with setup offsets, the data set for the setup offset is created when a data set
is created for "sum offset fine", if a data set did not already exist for [t, d].
Note
When working with setup offsets, the data set for the "sum offset fine" is created when a data
set is created for setup offsets, if a data set did not already exist for [t, d].
Basic Functions
1518 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Sum offsets and setup offsets
status = DELDL( t, d ) ; Deletes all sum offsets for cutting edge d on tool
t.
; t, d are optional parameters.
If d is not specified, all sum offsets of all cutting edges of tool t are deleted.
If d and t are not specified, all sum offsets for the cutting edges on all tools of the TO unit are
deleted (for the channel, in which the command is programmed).
When working with setup offsets, the DELDL command deletes both the setup offset and the
"sum offsets fine" of the specified cutting edge(s).
Note
The memory used for the data sets is released after deletion.
The deleted sum offsets can subsequently no longer be activated or programmed.
Sum offsets and setup offsets on active tools cannot be deleted (similar to the deletion of D
compensations or tool data).
The "status" return value indicates the result of the deletion command:
Data backup
The data are saved during a general tool-data backup (as a component of the D number
data sets).
It is advisable to save the sum offsets, in order to allow the current status to be restored in
the event of an acute problem. Machine data settings can be made to exclude sum offsets
from a data backup (settings can be made separately for "setup offsets" and "sum offsets
fine").
Note
Sum offsets behave in the same way as D compensations with reference to block search
and REPOS. The behavior on Reset and PowerOn can be defined by machine data.
If the setting of the following machine data indicates that the last active tool compensation
number (D) is to be activated after PowerOn, the last active DL number is then no longer
active:
MD20110 $MC_RESET_MODE_MASK (definition of initial control system settings after
RESET/TP end)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1519
Tool Offset (W1)
Sum offsets and setup offsets
17.11.4 Examples
Example 1
That no compensation and no sum offset will come into effect must be defined during tool
change via the machine data:
● MD20270 $MC_CUTTING_EDGE_DEFAULT=0 (Basic setting of tool cutting edge without
programming)
● MD20272 $MC_SUMCORR_DEFAULT=0 (default setting sum offset without program).
Basic Functions
1520 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Sum offsets and setup offsets
Example 2
During tool change it has to be defined that offset D2 and sum offset DL=1 are activated via
the machine data:
MD20270 $MC_CUTTING_EDGE_DEFAULT=2 (Basic setting of tool cutting edge without
programming)
MD20272 $MC_SUMCORR_DEFAULT=1 (default setting sum offset without program)
17.11.5.1 Taking the compensation values into account location-specifically and workpiece-
specifically
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1521
Tool Offset (W1)
Sum offsets and setup offsets
Note
The tool base dimension and adapter dimension can only be applied as alternatives.
The resulting tool orientation always remains parallel to one of the three axis directions X, Y
or Z and exclusively depends on the active machining plane G17-G19, since it has not yet
been possible to assign the tool an orientation.
Basic Functions
1522 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Sum offsets and setup offsets
In particular, compensations, which affect the tool length calculation, should be entered in
the coordinates used for measurement.
These workpiece-specific compensations can be achieved more simply using the G-code
group 56 with the three values TOWSTD, TOWMCS and TOWWCS and the setting data:
SD42935 $SC_WEAR_TRANSFORM (transformation of tool components)
SD42935
Which of the wear components:
● Wear ($TC_DP12 - $TC_DP14)
● Setup offsets or sum offsets coarse ($TC_ECPx3 - $TC_ECPx5)
● Sum offsets fine ($TC_SCPx3 - $TC_SCPx5)
are to be transformed in the transformations:
● Adapter transformation
● Toolholder with orientation capability
are to be or not to be transformed, can be defined via the setting data:
SD42935 $SC_WEAR_TRANSFORM (transformation of wear values)
With the setting data in its initial state, all wear values are transformed.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1523
Tool Offset (W1)
Sum offsets and setup offsets
$GDSWHUGLPHQVLRQ 7RROOHQJWK
7RROEDVH
GLPHQVLRQ
6XPRIIVHWILQH
6HWXSRIIVHWRU
VXPRIIVHWFRDUVH
:HDU
6'6&B:($5B75$162)250
%LW 758(
%LW 758(
%LW 758(
Basic Functions
1524 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Sum offsets and setup offsets
Programming
G-code group 56 can be used to define the following values:
Syntax Corrections
TOWSTD Initial setting value for offsets in tool length
TOWMCS Wear data in the machine coordinate system (MCS)
TOWWCS Wear values in workpiece coordinate system (WCS)
TOWBCS Wear values in basic coordinate system (BCS)
TOWTCS Wear values in the TCS (Tool Coordinate System) at the toolholder (tool carrier
reference point T)
TOWKCS Wear values in tool coordinate system for kinematic transformation (KCS) of tool
head
The calculated tool length or a tool length component can be represented and read out in
one of these coordinate systems using the GETTCOR function (predefined subprogram).
References:
/FB1/ Function Manual Basic Functions; Tool Offset (W1),
Section: Read tool lengths, tool length components
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1525
Tool Offset (W1)
Sum offsets and setup offsets
=
0&6
;
=
. .LQHPDWLFWUDQVIRUPDWLRQ
.&6 WRROFRPSRQHQW
;
7RROFDUULHU
7 WRROFRPSRQHQW
=
;
; =
= ;
:&6
%&6
7&6
3
7RRO
.LQHPDWLFWUDQVIRUPDWLRQ
ZRUNSLHFH WDEOHRUSDUWFRPSRQHQW
TOWSTD
Initial setting (default behavior):
● The wear values are added to the other tool length components.
The resulting total tool length is then used in further calculations.
In the case of an active toolholder with orientation capability:
● The wear values are subjected to the appropriate rotation.
TOWMCS
Wear data in the MCS (machine coordinate system):
In the case of an active rotation by means of a toolholder with orientation capability:
● The toolholder only rotates the vector of the resultant tool length. Wear is ignored.
Then the tool length vector rotated in this way and the wear are added. The wear is not
subjected to the rotation.
If no toolholder with orientation capability is active or this does not result in a rotation,
TOWMCS and TOWSTD are identical.
Linear transformation
The tool length can be uniquely defined in the MCS only if the MCS is generated by linear
transformation from the BCS.
Basic Functions
1526 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Sum offsets and setup offsets
TOWWCS
Wear values in WCS (workpiece coordinate system):
● If a toolholder with orientation capability is active, the tool vector is calculated as for
TOWMCS, without taking the wear into account.
● The wear data are interpreted in the workpiece coordinate system.
The wear vector in the workpiece coordinate system is converted to the machine coordinate
system and added to the tool vector.
TOWBCS
Wear values in BCS (basic coordinate system):
● If a toolholder with orientation capability is active, the tool vector is calculated as for
TOWMCS, without taking the wear into account.
● The wear data are interpreted in the workpiece coordinate system.
The wear vector in the basic coordinate system is converted to the workpiece coordinate
system and added to the tool vector.
Nonlinear transformation
If a nonlinear transformation is active, e.g. with TRANSMIT, and the MCS is specified as the
desired coordinate system, the BCS is automatically used instead of the MCS.
Toolholder with orientation capability
A table component of the toolholder with orientation capability, if available, is not applied
directly to the coordinate systems, unlike a table (or part) component of the kinematic
transformation. A rotation described by such a component is represented in a basic frame or
system frame and is thus included in the transition from WCS to BCS.
Kinematic transformation
The table (or part) component of the kinematic transformation is described by the transition
from BCS to MCS.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1527
Tool Offset (W1)
Sum offsets and setup offsets
TOWTCS
Wear values in TCS (tool coordinate system):
● If a toolholder with orientation capability is active, the tool vector is calculated as for
TOWMCS, without taking the wear into account.
● The wear data are interpreted in the tool coordinate system.
The wear vector in the TCS (Tool Coordinate System) is converted to the machine
coordinate system by way of the tool coordinate system of the kinematic transformation
(KCS) and added to the tool vector.
TOWKCS
The wear value specifications for the kinematic transformation are interpreted in the
associated TCS (Tool Coordinate System).
The wear vector is converted to the machine coordinate system by way of the tool coordinate
system of the kinematic transformation and added to the tool vector.
Note
Wear components, which are subjected to an active rotation by an adapter transformation or
a toolholder with orientation capability, are referred to as non-transformed wear components.
Basic Functions
1528 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Sum offsets and setup offsets
Example
Let's assume a milling tool is used where only the wear value $TC_DP12 assigned to length
L1 is not equal to zero.
If G17 is active, this length is effective in the direction of the Z axis.
This measure always acts in the Z-direction also upon a plane change after the tool
selection, when TOWMCS or TOWWCS are active and the bit 1 is set in the setting data:
SD42935 $SC_WEAR_TRANSFORM (transformations for tool components)
If, for example, G18 is active on tool selection, the component is always effective in the Y
direction instead.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1529
Tool Offset (W1)
Working with tool environments
17.12.1 General
Functions
The current states of tool data can be processed using the functions below, which are
generally available:
● Save
● Deletion
● Read
● Modify
A further function can be used to determine information about the assignment of the tool
lengths of the active tool to the abscissa, ordinate and applicate.
Basic Functions
1530 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Working with tool environments
● Setting data:
SD42920 $SC_WEAR_SIGN_CUTPOS (Sign of wear for tools with cutting edge systems)
● Setting data:
SD42930 $SC_WEAR_SIGN (sign of wear)
● Setting data:
SD42935 $SC_WEAR_TRANSFORM (transformations for tool components)
● Setting data:
SD42940 $SC_LENGTH_CONST (change of tool components on change of planes)
● Setting data:
SD42950 $SC_TOOL_LENGTH_TYPE (allocation of the tool length components
independent of tool type)
● The orientation component of the current complete frame (rotation and mirroring, no work
offsets or scales)
● The orientation component and the resulting length of the active toolholder with
orientation capability
● The orientation component and the resulting length of an active transformation
● In addition to the data describing the environment of the tool, the T number, D number
and DL number of the active tool are also stored, so that the tool can be accessed later in
the same environment as the TOOLENV call, without having to name the tool again.
Note
Resulting length of toolholders with orientation capability and transformations:
Both toolholders with orientation capability and transformations can use system variables or
machine data, which act as additional tool length components, and which can be subjected
partially or completely to the rotations performed. The resulting additional tool length
components must also be stored when TOOLENV is called, because they represent part of
the environment, in which the tool is used.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1531
Tool Offset (W1)
Working with tool environments
Adapter transformation:
The adapter transformation is a property of the tool adapter and thus of the complete tool. It
is, therefore, not part of a tool environment, which can be applied to another tool.
By saving the complete data necessary to determine the overall tool length, it is possible to
calculate the effective length of the tool at a later point in time, even if the tool is no longer
active or if the conditions of the environment (e.g. G codes or setting data) have changed.
Similarly, the effective length of different tool can be calculated assuming that it would be
used under the same conditions as the tool, for which the status was saved.
TOOLENV function
Saving a tool environment
The TOOLENV function is a predefined subprogram. It must, therefore, be programmed in a
separate block.
Syntax:
Status = TOOLENV(_NAME)
Value/parameter:
Status INT
0: Function OK
-1: No memory reserved for tool environments:
MD18116 $MN_MM_NUM_TOOL_ENV = 0 (number of tool environments in TO
area).
i.e. the "tool environments" functionality is not available.
-2: No more free memory locations for tool environments available.
-3: Null string illegal as name of a tool environment.
-4: No parameter (name) specified.
_NAME STRING
Name, under which the current data set is stored.
If a data set of the same name already exists, it is overwritten. In this case, the status
is 0.
Basic Functions
1532 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Working with tool environments
DELTOOLENV function
This function can be used to delete sets of data used to describe tool environments. Deletion
means that the set of data stored under a particular name can no longer be accessed (an
access attempt triggers an alarm).
The DELTOOLENV function is a predefined subprogram.
It must, therefore, be programmed in a separate block.
Syntax:
There are two call formats:
Status = DELTOOLENV()
Status = DELTOOLENV(_NAME)
Value/parameter:
Status INT
0: Function OK
-1: No memory reserved for tool environments:
MD18116 $MN_MM_NUM_TOOL_ENV = 0 (number of tool environments in
TO area).
i.e. the "tool environments" functionality is not available.
-2: A tool environment with the specified name does not exist.
_NAME STRING
Name of data set to be deleted
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1533
Tool Offset (W1)
Working with tool environments
$P_TOOLENVN
This system variable returns the number of available data sets for describing tool
environments. (Data sets defined by TOOLENV and not yet deleted.)
The value range is from 0 to machine data:
MD18116 $MN_MM_NUM_TOOL_ENV (number of tool environments in TO area).
This system variable can be accessed even if no tool environments are possible (MD18116
= 0). In this case, the return value is 0.
Syntax:
_N = $P_TOOLENVN
Data type:
_N INT
Number of defined TOOLENV
$P_TOOLENV
This system variable returns the number of the nth data set for describing a tool
environment.
The assignment of numbers to data sets is not fixed, but can be changed as a result of
deleting or creating data sets. The data sets are numbered internally. The range is from 1 to
$P_TOOLENVN.
Syntax:
_NAME = $P_TOOLENV[i]
Data type:
_NAME STRING
Name of the data set with number i
i INT
Number of the data set.
If an index is specified, which does not point to a defined data set, the following alarm is
output:
Alarm "17020 (inadmissible array-index1)"
Basic Functions
1534 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Working with tool environments
GETTENV function
The GETTENV function is used to read the T, D and DL numbers stored in a tool
environment.
The GETTENV function is a predefined subprogram. It must, therefore, be programmed in a
separate block.
Syntax:
Status = GETTENV(_NAME, _TDDL)
Value/parameter:
Status INT
0: Function OK
-1: No memory reserved for tool environments:
MD18116 $MN_MM_NUM_TOOL_ENV = 0 (number of tool environments in TO
area).
i.e. the "tool environments" functionality is not available.
-2: A tool environment with the name specified in _NAME does not exist.
_NAME STRING
Name of the tool environment, from which the T, D and DL numbers can be read
_TDDL[3] INT
This integer array contains:
- in "_TDDL[0]" the T number of the tool,
- in "_TDDL[1]" the D number of the tool,
- in "_TDDL[2]" the DL number of the tool,
whose tool environment in the data set is stored with the name "_NAME".
It is possible to omit the first parameter in the GETTENV function call (e.g. GETTENV(, _TDDL))
or to pass a null string as the first parameter (e.g. GETTENV("", _TDDL)). In both of these two
special cases, the T, D and DL numbers of the active tool are returned in _TDDL.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1535
Tool Offset (W1)
Working with tool environments
GETTCOR function
The GETTCOR function is used to read out tool lengths or tool length components.
The parameters can be used to specify, which components are considered, and the
conditions, under which the tool is used.
The GETTCOR function is a predefined subprogram. It must, therefore, be programmed in a
separate block.
Syntax:
Status = GETTCOR(_LEN, _COMP, _STAT, _T, _D, _DL)
All parameters can be omitted with the exception of the first parameter (_LEN).
Value/parameter:
Status INT
0: Function OK
-1: No memory reserved for tool environments:
MD18116 $MN_MM_NUM_TOOL_ENV = 0 (number of tool environments in TO
area).
i.e. the "tool environments" functionality is not available.
-2: A tool environment with the name specified in _STAT does not exist.
-3: Invalid string in parameter _COMP.
Causes of this error can be invalid characters or characters programmed twice.
-4: Invalid T number
-5: Invalid D number
-6: Invalid DL number
-7: Attempt to access non-existent memory module
-8: Attempt to access a non-existent option (programmable tool orientation, tool
management).
-9: The _COMP string contains a colon (identifier for the specification of a coordinate
system), but it is not followed by a valid character denoting the coordinate
system.
_LEN[11] REAL
Result vector
The vector components are arranged in the following order:
Tool type (LEN[0])
Length of cutting edge (LEN[1])
Basic Functions
1536 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Working with tool environments
Abscissa (LEN[2])
Ordinate (LEN[3])
Applicate (LEN[4])
Tool radius (LEN[5])
The coordinate system defined in _COMP and _STAT is used as the reference coordinate
system for the length components. If no coordinate system is defined in _COMP, the tool
lengths are represented in the machine coordinate system.
The assignment of the abscissa, ordinate and applicate to the geometry axes depends on
the active plane in the tool environment, i.e. with G17, the abscissa is parallel to X, with
G18 it is parallel to Z, etc.
Components LEN[6] to LEN[10] contain the additional parameters, which can be used to
specify the geometry description of a tool (e.g. $TC_DP7 to $TC_DP11 for the geometry
and the corresponding components for wear or sum and setup offsets).
These 5 additional elements and the tool radius are only defined for components E, G, S,
and W. Their evaluation does not depend on _STAT. The corresponding values in LEN[5]
to LEN[10] can thus only be not equal to zero if at least one of the four specified
components is involved in the tool length calculation. The remaining components do not
influence the result. The dimensions refer to the control's basic system (inch or metric).
_COMP STRING
This string consists of two substrings, which are separated from one another by a colon.
The individual characters (letters) of the first substring identify the tool length
components to be taken into account when calculating the tool length.
The second substring identifies the coordinate system, in which the tool length is to be
output. It consists of only one single relevant character.
The order of the characters in the strings, and their notation (upper or lower case), is
arbitrary. Any number of blanks or white spaces can be inserted between the
characters.
The letters in the substrings cannot be programmed twice. The meanings in the first
substring are as follows:
-: (Minus symbol, only allowed as first character): The complete tool length is
calculated, minus the components specified in the next string.
C: Adapter or tool base dimension (whichever of the two alternative components is
active for the tool in use)
E: Setup offsets
G: Geometry
K: Kinematic transformation (is only evaluated for generic 3, 4 and 5-axis
transformation)
S: Sum offsets
T: Toolholder with orientation capability
W: Wear
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1537
Tool Offset (W1)
Working with tool environments
If the first substring is empty (except for white spaces), the complete tool length is
calculated allowing for all components. This applies even if the _COMP parameter is not
specified.
An optional programmable colon must be followed by a single character specifying the
coordinate system, in which the tool length components are to be evaluated. If no
coordinate system is specified, the evaluation is performed in the MCS (machine
coordinate system). If any rotations are to be taken into account, they are specified in
the tool environment defined in _STAT.
The characters have the following significance:
B: Basic coordinate system (BCS)
K: Tool coordinate system of kinematic transformation (KCS)
M: Machine coordinate system (MCS)
T: Tool coordinate system (TCS)
W: Workpiece coordinate system (WCS)
_STAT STRING
Name of the data set for describing a tool environment.
If the value of this parameter is the null string ("") or is not specified, the current status is
used.
_T INT
Internal T number of tool
If this parameter is not specified, or if its value is 0, the tool stored in _STAT is used.
If the value of this parameter is -1, the T number of the active tool is used. It is also
possible to specify the number of the active tool explicitly.
Note
If _STAT is not specified, the current status is used as the tool environment. Since _T = 0
refers to the T number saved in the tool environment, the active tool is used in that
environment, i.e. parameters _T = 0 and _T = -1 have the same meaning in this special case.
_D INT
Cutting edge of the tool. If this parameter is not specified, or if its value is 0, the D
number used is based on the source of the T number. If the T number from the tool
environment is used, the D number of the tool environment is also read, otherwise the D
number of the currently active tool is read.
Basic Functions
1538 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Working with tool environments
_DL INT
Number of the local compensation. If this parameter is not specified, the DL number
used is based on the source of the T number. If the T number from the tool environment
is used, the D number of the tool environment is also read, otherwise the D number of
the currently active tool is read.
Any rotations and component exchanges initiated by the adapter transformation, toolholder
with orientation capability and kinematic transformation, are part of the tool environment.
They are thus always performed, even if the corresponding length component is not
supposed to be included. If this is undesirable, tool environments must be defined, in which
the corresponding transformations are not active. In many cases (i.e. any time a
transformation or toolholder with orientation capability is not used on a machine), the data
sets stored for the tool environments automatically fulfill these conditions, with the result that
the user does not need to make special provision.
MD20360 $MC_TOOL_PARAMETER_DEF_MASK
The two least significant bits of this machine data specify how the wear (bit 0) and tool length
(bit 1) are to be evaluated if a diameter axis is used for turning and grinding tools.
If the bits are set, the associated entry is weighted with the factor 0.5. This weighting is
reflected in the tool length returned by GETTCOR.
Example:
MD20360 $MC_TOOL_PARAMETER_DEF_MASK = 3 (definition of tool parameters).
MD20100 $MC_DIAMETER_AX_DEF="X" (Geometry axis with face axis funtion)
X is diameter axis (standard turning machine configuration):
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1539
Tool Offset (W1)
Working with tool environments
Type Vectors
M l1 and l2
T l1, l2 and l3
P Tool length is not influenced by the toolholder with orientation capability.
In generic 5-axis transformation, the following machine data are included in the tool length
calculation for transformer types 24 and 56:
Basic Functions
1540 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Working with tool environments
GETTCOR examples
GETTCOR(_LEN): Calculates the tool length of the currently active tool in the machine
coordinate system allowing for all components.
GETTCOR(_LEN; "CGW : Calculates the tool length for the active tool, consisting of the adapter
W" ): or tool base dimension, geometry and wear. Further components,
such as toolholder with orientation capability or kinematic
transformation, are not considered. The workpiece coordinate system
is used for the output.
GETTCOR(_LEN, "-K :B" ): Calculates the complete tool length of the active tool without allowing
for the length components of an active kinematic transformation.
Output in the basic coordinate system.
GETTCOR(_LEN, ":M", Calculates the complete tool length in the machine coordinate system
"Testenv1",,3): for the tool stored in the tool environment named "Testenv1". The
calculation is performed for cutting edge number D3, regardless of the
cutting edge number stored.
Compatibility
The GETTCOR function is used in conjunction with the TOOLENV and SETTCOR functions to
replace parts of the functionality, which were previously implemented externally in the
measuring cycles.
Only some of the parameters, which actually determine the effective tool length, were
implemented in the measuring cycles. The above functions can be configured to reproduce
the behavior of the measuring cycles in relation to the tool length calculation.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1541
Tool Offset (W1)
Tool lengths L1, L2, L3 assignment: LENTOAX
LENTOAX function
The "LENTOAX" function provides information about the assignment of tool lengths L1, L2
and L3 of the active tool to the abscissa, ordinate and applicate. The assignment of
abscissa, ordinate and applicate to the geometry axes is affected by frames and the active
plane (G17 - G19).
Only the geometry component of a tool ($TC_DP3[x,y] to $TC_DP5[x,y]) is considered, i.e. a
different axis assignment for other components (e.g. wear) has no effect on the result.
The "LENTOAX" function is a predefined subprogram. It must, therefore, be programmed in
a separate block.
Syntax:
Status = LENTOAX(_AXIND, _MATRIX, _COORD)
The first two parameters must always be programmed; the last parameter can be
omitted.
Value/parameter:
Status INT
0: Function OK, information in _AXIND sufficient for description (all tool length
components are parallel to the geometry axes).
1: Function is OK, however, the content of _MATRIX must be evaluated for a correct
description (the tool length components are not parallel to the geometry axes).
-1: Invalid string in parameter _COORD.
-2: No tool active.
Basic Functions
1542 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool lengths L1, L2, L3 assignment: LENTOAX
_COORD STRING
Specifies the coordinate system used for the assignment.
MCS or M: The tool length is represented in the machine coordinate system.
BCS or B: The tool length is represented in the basic coordinate system.
WCS or W: The tool length is represented in the workpiece coordinate system
(default).
KCS or K: The tool length is represented in the tool coordinate system of the
kinematic transformation.
TCS or T: The tool length is represented in the tool coordinate system.
The notation of the characters in the string (upper or lower case) is arbitrary.
Further explanations
If the tool length components are parallel to the geometry axes, the axis indices assigned to
length components L1 to L3 are returned in the _AXIND array.
If a tool length component points in the negative axis direction, the associated axis index
contains a minus sign. In this case, the return value (status) is 0. If an axis does not exist,
the associated return value is 0. The assignment can also be read from the _MATRIX
parameter. Six of the nine matrix elements are then zero, and three elements contain the
value +1 or -1.
Note
In the TCS, all tool length components are always parallel or antiparallel to the axes.
The components can only be antiparallel when mirroring is active and the following setting
data is activated:
SD42900 $SC_MIRROR_TOOL_LENGTH (Sign change tool length when mirroring)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1543
Tool Offset (W1)
Tool lengths L1, L2, L3 assignment: LENTOAX
If not all length components are parallel or antiparallel to the geometry axes, the index of the
axis, which contains the largest part of a tool length component, is returned in _AXIND. In
this case (if the function does not return an error for a different reason), the return value is 1.
The mapping of tool length components L1 to L3 onto geometry axes 1 to 3 is then
described completely by the contents of the 3rd parameter _MATRIX.
The _COORD parameter can be used to specify, which coordinate system is to be used for
the geometry axes. If the _COORD parameter is not specified (notation LENTOAX(_AXIND,
_MATRIX)), the WCS is used (default).
Example:
Standard situation: milling tool with G17
L1 applies in Z (applicate), L2 applies in Y (ordinate), L3 applies in X (abscissa).
Function call in the form:
Status = LENTOAX(_AXIND, _MATRIX, "WCS")
The result parameter _AXIND contains the values:
_AXIND[0] = 3
_AXIND[1] = 2
_AXIND[2] = 1
Or, in short: ( 3, 2, 1)
In this case, the associated matrix _MATRIX is:
B0$75,;
A change from G17 to G18 or G19 does not alter the result, because the assignment of the
length components to the geometry axes changes in the same way as the assignment of the
abscissa, ordinate and applicate.
A frame rotation of Z through 60 degrees is now programmed with G17 active, e.g. rot
Z60. The direction of the applicate (Z direction) remains unchanged; the main component of
L2 now lies in the direction of the new X axis; the main component of L1 now lies in the
direction of the negative Y axis. The return axis is thus 1, and _AXIND contains the values
(2, -3, 1).
Basic Functions
1544 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Tool lengths L1, L2, L3 assignment: LENTOAX
Note
For further information to the above mentioned coordinate systems, please refer to:
References:
/PGA/ Programming Manual Work Preparation; Tool Compensations
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1545
Tool Offset (W1)
Supplementary conditions
Grinding tools
Grinding tools (tool types 400-499) cannot be defined using the simple tool management
structure (flat D numbers).
Block search
T number output to PLC triggers a synchronization process in the NCK: with absolute,
indirect D programming, the PLC returns the D values via VDI. The NCK waits until the
output of a T number is followed by a response from the PLC: "I have written the D number".
With block search without calculation, this process of synchronization must be deactivated
until the first valid T number has been output again. That means that the NCK must not wait
on D programming.
Note
At what point the auxiliary functions can be output to PLC after block search is complete, can
be controlled with the machine data:
$MC_AUXFU_AT_BLOCK_SEARCH_END (auxiliary function output after block search)
Automatic on end or on NC start.
REORG
The (only) writable variable $A_MONIFACT, which is defined here, is stored by main-run
data. Since the write process takes place synchronously to the main run, no special
measures are required for Reorg.
SD42935
Which of the wear components are to be transformed and which are not to be transformed in
conjunction with the functions TOWMCS and TOWWCS can be defined via the setting data:
SD42935 $SC_WEAR_TRANSFORM (transformation of wear values)
Basic Functions
1546 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Examples
17.15 Examples
Requirement
The following example uses a toolholder, which is described fully by a rotation about the
Y axis. It is therefore sufficient to enter only one value to define the rotary axis (block N20).
Blocks N50 to N70 describe an end mill with radius 5 mm and length 20 mm.
Block N90 defines a rotation of 37 degrees about the Y axis.
Block N120 activates the tool radius compensation and all settings are made to describe the
compensation in the following blocks with a rotation of 37 degrees about the Y axis.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1547
Tool Offset (W1)
Examples
N10 TRAORI()
N20 X0 X0 Z0 B45 F2000 ; Setting the tool orientation
N30 MOVT=-10 ; Infeed movement 10 mm in tool
direction
; (under 45 degrees in the Y-Z plane)
N40 MOVT=AC(20) ; Retraction in tool direction at
distance of
; 20 mm from the zero point
N10 $TC_DP1[1,1]=120
N20 $TC_DP3[1,1]= 13 ; Tool length 13 mm
; Definition of toolholder 1:
Basic Functions
1548 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Examples
The definition of the toolholder with orientation capability is given in full. The components
which contain the value 0 need not actually be given, as they are preset to zero in any case.
The toolholder is activated in N270.
As $TC_CARR21 and $TC_CARR22 refer to the machine axes A and B and TCOABS is
active, the values in $TC_CARR13 and $TC_CARR14 are ignored, i.e. the axis position A0
B45 is used for the rotation.
The rotation of the 4th offset vector (length 15 mm in Z direction) around the B axis causes
an offsetting of the zero point by X10.607 [= 15 * sin(45)] and Z-4.393 [= -15 * (1. - cos(45))].
This zero offset is taken into account by an automatically written basic or system frame so
that the position X10.607 Y10.000 Z8.607 is approached. In the Z direction the tool selection
leads to an additional offset of 13 mm; the Y component is not affected by the table rotation.
N280 defines a rotation in accordance with the rotation of the table of the toolholder with
orientation capability. The new X direction thus points in the direction of the bisecting line in
the 4th quadrant, the new Z axis in the direction of the bisecting line in the 1st quadrant.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1549
Tool Offset (W1)
Examples
The zero point is approached in N290, i.e. the machine position X10.607 Y0 Z-4.393, since
the position of the zero point is not changed by the rotation.
N300 traverses in Y to the position Y33.000, since G18 is active and the Y component is not
affected by the active frame. The X and Z positions remain unchanged.
The position X17.678 Y0 Z1.536 is approached in N310.
N320 changes only the Z position to the value -8.464 as a result of the MOVT command.
As only the table can be rotated, the tool orientation remains unchanged parallel to the
machine Z direction, even if the Z direction of the active frame is rotated by 45 degrees.
N330 deletes the basic or system frame; thus the frame definition from N280 is undone.
In N340, TCOFR specifies that the toolholder with orientation capability is to be aligned
according to the active frame. Since a rotation is no longer active in N330 due to the
PAROTOF command, the initial state is applied. The frame offset becomes zero.
N350 thus approaches the position X10 X10 Z0 (= Z-13 + tool length). Note: Through the
simultaneous programming of both rotary axes A and B the actual position of the toolholder
with orientation capability is made to match that used in N340. The position approached by
the three linear axes is dependent on this position, however.
In N360, solid angles are used to define a plane whose intersecting lines in the X-Z and in
the Y-Z plane each form an angle of +45 degrees or -45 degrees with the X or Y axis. The
plane defined in such a way therefore has the following position: the surface normal points
towards the solid diagonals.
N370 traverses to the position X20 Y0 Z0 in the new coordinate system. Since the tool is
deselected with D0 at the same time, there is no longer an additional offset in Z. Since the
new X axis lies in the old X-Z plane, this block reaches the machine position X14.142 Y0 Z-
14.142.
N380 only traverses on the Y axis in the rotated coordinate system. This leads to a motion
of all three machine axes. The machine position is X5.977 Y16.330 Z-22.307.
N390 approaches a point on the new Z axis. Relative to the machine axes this is thus on the
solid diagonal. All three axes thus reach the position 11.547.
Basic Functions
1550 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Examples
N10 $TC_DP1[1,1]=120
N20 $TC_DP3[1,1]=10
N30 $TC_DPV [1,1] = 0
N40 $TC_DPV3[1,1] = 1
N50 $TC_DPV4[1,1] = 0
N60 $TC_DPV5[1,1] = 1
N70 g17 f1000 x0 y0 z0 t1 d1
N80 movt=10
N80 m30
Description of example:
In N10 to N60, a milling tool is defined with length L1=10 (N20). The basic orientation is in
the bisector of the X-Z plane N40 to N60.
In N70, the tool is activated and the zero position is approached. As a result of the tool length
the machine positions X0 Y0 Z10 are thus obtained in this block.
In N80 an incremental traversing motion is performed from 10 into tool direction. The
resulting axis positions are thus X7.071 Y0 Z17.071.
; D corr. D=1
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1551
Tool Offset (W1)
Examples
; Magazine data
N110 $TC_MAP1[1]=3 ; Magazine type: Revolver
N120 $TC_MAP2[1]="Revolver" ; Magazine identifier
N130 $TC_MAP3[1]=17 ; Status of magazine
N140 $TC_MAP6[1]=1 ; Dimension - line
N150 $TC_MAP7[1]=2 ; Dimension - column -> 2 positions
N160 $TC_MPP1[1,1]=1 ; Location type
N170 $TC_MPP2[1,1]=9 ; Location types
N180 $TC_MPP4[1,1]=2 ; Location state
N190 $TC_MPP7[1,1]=1 ; Bring adapter into position
N200 $TC_MPP6[1,1]=1 ; T number "MillingTool"
N210 $TC_MAP1[9999]=7 ; Magazine type: buffer
N220 $TC_MAP2[9999]="buffer" ; Magazine identifier
N230 $TC_MAP3[9999]=17 ; Status of magazine
N240 $TC_MAP6[9999]=1 ; Dimension - line
N250 $TC_MAP7[9999]=1 ; Dimension - column -> 1 position
N260 $TC_MPP1[9999.1]=2 ; Location type
N270 $TC_MPP2[9999.1]=9 ; Location types
N280 $TC_MPP4[9999.1]=2 ; Location state
N290 $TC_MPP5[9999,1]=1 ; Spindle no. 1
N300 $TC_MDP2[1,1]=0 ; Distance from spindle to mag. 1
; Definition of toolholder 1
N310 $TC_CARR10[1] = 1 ; Component of 2nd rotary axis in X
direction
N320 $TC_CARR14[1] = 45 ; Angle of rotation of 2nd axis
N330 $TC_CARR23[1] = "T" ; Tool mode
N340 Stopre
N350 $SC_WEAR_TRANSFORM = 'B101'
N360 T0 D0 DL=0
N370 ROT X30
N380 G90 G1 G17 F10000 X0 Y0 Z0
N390 T="MillingTool" X0 Y0 Z0 TOWSTD ; X 0.000 Y11.110 Z 0.001
N400 T="MillingTool" X0 Y0 Z0 TOWMCS ; X 0.000 Y10.100 Z 1.011
N410 T="MillingTool" X0 Y0 Z0 TOWWCS ; X 0.000 Y 9.595 Z 0.876
N420 TCARR=1 X0 Y0 Z0 ; X 0.000 Y 6.636 Z 8.017
N430 G18 X0 Y0 Z0 ; X10.100 Y-0.504 Z 0.876
N440 m30
Basic Functions
1552 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Examples
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1553
Tool Offset (W1)
Examples
Example 3
Example 4
_CORCOMP is 3, therefore, the wear value and compensation value are added to the
geometry component and the wear component is deleted. The resulting total tool length is
thus L1 = 11.333 + 0.0 = 11.333.
Example 5
Basic Functions
1554 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Examples
_CORCOMP is 3, as in the previous example, but the compensation is now effective on the
geometry axis with index 0 (X axis). The tool components L3 are assigned to this geometry
axis due to G17 with a milling tool. Calling SETTCOR thus does not affect tool parameters
$TC_DP3 and $TC_DP12. Instead, the compensation value is entered in $TC_DP5.
Example 6
The tool is a turning tool. A frame rotation is activated in N80, causing the basic coordinate
system (BCS) to be rotated in relation to the workpiece coordinate system (WCS). In the
WCS, the compensation value (N70) acts on the geometry axis with index 1, i.e. on the X
axis because G18 is active. Since "_CORRMODE = 3", the tool wear in the direction of the X
axis of the WCS must become zero once N100 has been executed. The contents of the
relevant tool parameters at the end of the program are thus:
The total wear including _CORVAL is mapped onto the X' direction in the WCS. This
produces point P2. The coordinates of this point (measured in X/Y coordinates) are entered
in the geometry component of the tool. The difference vector P2 - P1 remains in the wear.
The wear thus no longer has a component in the direction of _CORVAL.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1555
Tool Offset (W1)
Examples
; 3
; 3
3
2ULJLQDO B&259$/ HIIHFWLYHLQ; GLUHFWLRQ
WRROOHQJWK
:HDU/ /
*HRPHWU\/ /
=
If the sample program is continued after N110 with the following instructions:
The remaining wear is included completely in the geometry because the compensation is
now effective in the Z' axis (parameter _GEOAX is 0). Since the new compensation value is
0, the total tool length and thus the position approached in N140 may not change. If
_CORVAL were not equal to 0 in N120, a new total tool length and thus a new position in
N140 would result, however, the wear component of the tool length would always be zero,
i.e. the total tool length is subsequently always contained in the geometry component of the
tool.
The same result as that achieved by calling the SETTCOR function with the _CORCOMP = 0
parameter twice can also be reached by calling _CORRCOMP = 1 (vectorial compensation)
just once:
Basic Functions
1556 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Examples
In this case, all wear components of the tool are set to zero immediately after the first call of
SETTCOR in N100.
Example 7
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1557
Tool Offset (W1)
Examples
Example 8
;
;
5HVXOWLQJZHDUFRPSRQHQW
*HRPHWU\
/ /
3
3
B&259$/< ; =
3 =
:HDU/ /
QHJDWLYHHYDOXDWLRQ 2ULJLQDOWRROOHQJWK
Basic Functions
1558 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Examples
The effect of setting data SD42930 on the L3 component in the Y direction can be
recognized without the additional complication caused by the frame rotation.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1559
Tool Offset (W1)
Examples
Example 9
2 (tool length must be valued in the diameter axis with the factor 0.5) is the value of machine
data:
MD20360 $MC_TOOL_PARAMETER_DEF_MASK (definition of tool parameters).
X is diameter axis:
Basic Functions
1560 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Data lists
20121 TOOL_PRESEL_RESET_VALUE Definition of the preselected tool, for which the tool
length compensation is selected during powerup and
on reset or part program end as a function of
MD20110.
20125 CUTMOD_ERR Troubleshooting for the CUTMOD function
20126 TOOL_CARRIER_RESET_VALUE Active toolholder on RESET
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1561
Tool Offset (W1)
Data lists
Basic Functions
1562 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Tool Offset (W1)
Data lists
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1563
Tool Offset (W1)
Data lists
17.16.3 Signals
Basic Functions
1564 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1) 18
18.1 Brief description
The section entitled "NC/PLC interface signals" includes a detailed description of NC/PLC
interface signals relevant to function:
● PLC messages (DB2)
● NC (DB10)
● Mode group (DB11)
● OP (DB19)
● NCK channel (DB21-DB30)
● Axis/spindle (DB31-DB61)
● Loading/unloading a magazine (DB71)
● Spindle as change point (DB72)
● Tool turret (DB73)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1565
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB10
DBX56.4 - DBX56.7 Key-operated switch positions 0 to 3
Edge evaluation: no Signal(s) updated: cyclic
Significance of signal Access to certain data types can be disabled depending on the key-operated switch position.
Input, changing, deleting data as well as certain operations on the operator panel can be disabled
for certain user groups in this way.
Key-operated switch position 0 offers the fewest access rights and position 3 the most access
rights.
The signals "key-operated switch positions 1 to 3" can either be entered directly from the key-
operated switch on the machine control panel or from the PLC user program.
Only one interface signal may be set in each case. If several positions are set simultaneously
(interface signals), then they are no longer valid and key-operated switch position 3 is automatically
set by the control.
The allocation between the lockable data areas and the key operated switch positions is made by
HMI machine data for protection stages.
The following signal combinations apply:
DB10, DBB56
Key-operated switch position Bit 7 Bit 6 Bit 5 Bit 4
0 0 0 0 1
1 0 0 1 0
2 0 1 0 0
3 1 0 0 0
Application Depending on the rights assigned to the operator, programmer or installation engineer, certain
example(s) functions will be disabled by the key-operated switch. Unintentional changes to data (e.g. zero
offsets) or activation of program conditions (e.g. selecting dry run feed rate) by the operator can
therefore be prevented.
Corresponding to .... Disabling using a password
Basic Functions
1566 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB10
DBX103.0 Remote diagnosis active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Remote diagnosis (optional) is active, i.e. the control is operated via an external PC.
edge change 0 → 1
Signal state 0 or Remote diagnosis is not active.
edge change 1 → 0
DB10
DBX103.5 AT box ready
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The AT box for expansion modules is ready.
edge change 0 → 1
Signal state 0 or The AT box is not ready. An expansion module conforming to the AT specification has either no
edge change 1 → 0 functionality or restricted functionality.
Additional references /BH/ Operator Components Manual; PCU 50,
Chapter: Spare parts
DB10
DBX103.6 PCU Temperature limit
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The environment conditions of the limit value are in the permitted tolerance range of 5 to 55 degree
edge change 0 → 1 C.
Signal state 0 or The temperature range was either exceeded, or the temperature fell below the limit.
edge change 1 → 0 The temperature monitor has responded and the PCU is disabled.
DB10
DBX103.7 PCU Battery alarm
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The battery monitor has responded. Power failure can cause the loss of recently changed data and
edge change 0 → 1 a correct device configuration. A corresponding HMI alarm is reported. The PCU buffer battery is to
be tested. An insufficient battery voltage also affects the current time on the operator interface.
Signal state 0 or No PCU battery alarm is active.
edge change 1 → 0
Signal irrelevant for SINUMERIK 840/840Di with PCU 50, PCU 20 or PCU 70
...
Additional references /BH/ Operator Components Manual; PCU 50,
Chapter: Replacing the battery
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1567
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB10
DBX104.7 NCK-CPU-Ready
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The NCK CPU is ready and registers itself cyclically with the PLC.
edge change 0 → 1 After a correct initial start and the first complete OB1 cycle (initial setting cycle) the PLC and NCK
continuously exchange sign of life signals.
The PLC basic program sets the interface signal "NCK CPU Ready" to 1.
Signal state 0 or The NCK CPU is not ready.
edge change 1 → 0 If a sign of life is not received from the NCK, the PLC/NCK interface is neutralized by the PLC basic
program and the interface signal "NCK CPU Ready" is set to 0.
The following measures are introduced by the PLC basic program:
• Status signals from NCK to PLC (user interface) are deleted (cleared)
• Change signals for help functions are deleted
• Cyclic processing of the user interface PLC to NCK is terminated.
Application Individual PLC outputs can, for example, be set to a defined state from the PLC user program.
example(s)
Additional references /DA/ Diagnostics Manual
/FB1/ Function Manual Basic Functions, PLC Basic Program (P3)
DB10
DBX108.1 HMI-CPU2-Ready (to BTSS or to MPI)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The CPU is ready and registers itself cyclically with the NCK.
edge change 0 → 1
Signal state 0 or The CPU is not ready.
edge change 1 → 0
DB10
DBX108.2 - HMI CPU1 Ready (HMI to MPI)/
DBX108.3 HMI CPU1 Ready (HMI to BTSS, standard connection)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The CPU is ready and registers itself cyclically with the NCK.
edge change 0 → 1
Signal state 0 or The CPU is not ready.
edge change 1 → 0
Application Appropriate measures can be introduced by the PLC user program, if "HMI-CPU1-Ready" = 0.
example(s)
Additional references /DA/ Diagnostics Manual
Basic Functions
1568 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB10
DBX108.6 611D-Ready
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or All existing drives signal the status drive ready (summary of axial interface signals "DRIVE ready").
edge change 0 → 1
Signal state 0 or As soon as the drive not ready status is signaled from a drive
edge change 1 → 0 (i.e. IS "DRIVE ready" = 0).
Signal irrelevant for SINUMERIK 840Di
...
Corresponding to .... DB31, ... DBX93.5 (DRIVE ready)
DB10
DBX108.7 NC Ready
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The control system is ready.
edge change 0 → 1 This interface signal is an image of the relay contact "NC Ready".
This signal is set if:
• Relay contact "NC Ready" is closed
• All the voltages in the control have been established
• The control is in the cyclic mode
Signal state 0 or The control is not ready. The relay contact "NC Ready" is open.
edge change 1 → 0 The following faults will cause NC Ready to be canceled:
• Undervoltage and overvoltage monitoring function has responded
• Individual components are not ready (NCK CPU Ready)
• NC CPU watchdog
If the signal "NC Ready" goes to 0 the following measures are introduced by the control if they are
still possible:
• The controller enable signals are withdrawn (this stops the drives)
• The following measures are introduced by the PLC basic program:
– Status signals from NCK to PLC (user interface) are deleted (cleared)
– Change signals for help functions are deleted
– Cyclic processing of the PLC to NCK user interface is terminated
For further information see References!
The control is not ready again until after POWER ON.
Corresponding to .... Relay contact "NC Ready"
Additional references /DA/ Diagnostics Manual
/FB1/ Function Manual Basic Functions, PLC Basic Program (P3)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1569
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB10
DBX109.0 NCK alarm is active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or At least one NCK alarm is present.
edge change 0 → 1 This is a group signal for the interface signals of all existing channels:
DB21, ... DBX36.6 (channel-specific NCK alarm is active).
Signal state 0 or No NCK alarm is active.
edge change 1 → 0
Corresponding to .... DB21, ... DBX36.6 (channel-specific NCK alarm is active)
DB21, ... DBX36.7 (NCK alarm with processing stop present)
Additional references /DA/ Diagnostics Manual
DB10
DBX109.5 Heatsink temperature alarm, NCU 573
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or In NCU 573, the limit values of the heat sink temperature was exceeded.
edge change 0 → 1 The heat sink temperature got activated and a steady operation of the operator panel is no longer
guaranteed.
Signal state 0 or The heatsink monitoring function of the NCU 573 has not responded.
edge change 1 → 0
Basic Functions
1570 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB10
DBX109.6 Air temperature alarm
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The ambient temperature or fan monitoring function has responded.
edge change 0 → 1 This may be due to the following causes:
• The temperature monitoring has identified an ambient temperature that is too high (approx. 60
°C). Alarm 2110 "NCK temperature alarm" is output.
• The speed monitoring of the 24 V DC fan used to cool the module has responded. Alarm 2120
"NCK fan alarm" is output.
Measures: Replace the fan and/or ensure that additional ventilation is provided.
When a temperature or fan error responds, a relay contact (terminal 5.1, 5.2 or 5.1, 5.3) in the
infeed/regenerative feedback unit is activated which can be evaluated by the customer.
Signal state 0 or Neither the temperature monitoring nor the fan monitoring has responded.
edge change 1 → 0
Application Appropriate measures can be initiated by the PLC user program if the temperature or fan
example(s) monitoring is activated.
Corresponding to .... When a temperature or fan error responds, a relay contact (terminal 5.1, 5.2 or 5.1, 5.3) in the
infeed/regenerative feedback unit is activated. This can be evaluated.
Additional references /DA/ Diagnostics Manual
DB10
DBX109.7 NCK battery alarm
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The NCK battery voltage monitoring function has responded.
edge change 0 → 1 This may be due to the following causes:
• The battery voltage is within the pre-warning limit range (approx. 2.7 to 2.9 V). Alarm 2100
"NCK battery warning threshold reached" has been triggered.
Refer to References for effects and measure.
• The battery voltage is below the pre-warning limit range (≤ 2.6 V).
Alarm 2101 "NCK battery alarm" is signaled in cyclic operation.
Effects: A supply voltage failure - e.g. when the control is switched off - would result in the loss
of battery-buffered data (e.g. part program memory, variables,machine data ...).
Measure: Refer to additional References.
• When the control ran-up, it was identified that the battery voltage was below the pre-warning
limit range (≤ 2.6 V).
Alarm 2102 "NCK battery alarm" is output; NC ready and mode group ready are not issued.
Effects: Some of the battery-buffered data may already have been lost!
Measure: Refer to additional References.
Signal state 0 or The battery voltage is above the lower limit value (normal condition).
edge change 1 → 0
Special cases, The NCK batteries should only be replaced while the NC is switched on to avoid data loss because
errors, ... of no memory backup.
Additional references /DA/ Diagnostics Manual
/IAD/ SINUMERIK 840D/611D, Installation and Startup Guide
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1571
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB19
DBX0.0 Screen bright
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The screen blanking is disabled.
edge change 0 → 1
Signal state 0 or The screen blanking remains in effect.
edge change 1 → 0
Corresponding to .... DB19 DBX0.1 (darken screen)
DB19
DBX0.1 Darken screen
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The screen is darkened by the PLC user program.
edge change 0 → 1 The automatic screen brightening/darkening is therefore ineffective:
i.e. the screen does not brighten up automatically on actuating the keyboard.
Signal state 0 or The screen is controlled by the PLC user program "bright".
edge change 1 → 0 In this signal state, the screen brightening/darkening setting can be derived by the control via the
keyboard automatically.
The screen is darkened if no key is pressed for a period defined via the following machine data on
the keyboard:
MD9006 $MM_DISPLAY_BLACK_TIME (time to darken the screen)
The screen is brightened the next time a key on the operator panel front is pressed.
Application Screen saver
example(s)
Special cases, Notice:
errors, .... The keyboard of the operator panel front continues to be effective if the interface signal:
DB19 DBX0.1 (darken screen) = 1
We therefore recommend that this is disabled using the interface signal:
DB19 DBX0.2 (key disable)
Corresponding to .... DB19 DBX0.2 (key disable)
MD9006 $MM_DISPLAY_BLACK_TIME (time to darken the screen)
Basic Functions
1572 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB19
DBX0.2 Key disable
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The keyboard is disabled for the user.
edge change 0 → 1
Signal state 0 or The keyboard is enabled for the user.
edge change 1 → 0
Application If the screen is darkened with the interface signal: DB19 DBX0.1 (darken screen), the keyboard
example(s) should be actuated simultaneously with the interface signal: DB19 DBX0.2 (key disable) to avoid
an unintended operation.
Corresponding to .... DB19 DBX0.1 (darken screen)
DB19
DBX0.3 Clear cancel alarms
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Clear error key on the machine control panel is pressed.
edge change 0 → 1 All cancel alarms of the NCKs and the control panel are then acknowledged. The PLC application
acknowledges the PLC alarms itself.
PowerOn and Reset alarms remain active on the NCK until the cause of the error has been
removed.
Signal state 0 or Clear error key on the machine control panel is not pressed.
edge change 1 → 0
Functionality Only applicable to HMI Advanced or PCU 50.
Corresponding to .... DB19 DBX20.3 (Cancel alarm cleared)
DB19
DBX0.4 Clear recall alarms
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Clear error key on the machine control panel is pressed.
edge change 0 → 1 All cancel alarms of the NCKs and the control panel are then acknowledged. The PLC application
acknowledges the PLC alarms itself. POWER On and Reset alarms remain active on the NCK until
the cause of the error has been removed.
Signal state 0 or Clear error key on the machine control panel is not pressed.
edge change 1 → 0
Application Applies to HMI Advanced only
example(s)
Corresponding to .... DB19 DBX20.4 (Recall alarm cleared)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1573
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB19
DBX0.7 Actual value in WCS
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The PLC selects the display of actual values in the workpiece coordinate system (WCS). This
edge change 0 → 1 means that when the machine area is selected, the WCS display is activated; i.e. the machine and
the supplementary axes as well as their actual positions and distances to go are displayed in the
WCS in the "Position" window.
The interface signal is only evaluated when it enters the basic machine screen; this means that the
operator, within the machine area, can toggle as required between the particular coordinate
systems using the softkeys "actual values MCS" and "actual values WCS".
Signal state 0 or This means that when the machine area is selected the coordinate system previously selected
edge change 1 → 0 (WCS or MCS) is reactivated and displayed.
Application Using the interface signal:DB19, DBX0.7 (actual value in WCS) = 1 each time that the machine
example(s) area is re-selected, the workpiece coordinate system display frequently required by the operator
(WCS), is selected.
Corresponding to .... DB19 DBX20.7 (changeover MCS/WCS)
Additional references Operating Manual HMI (corresponding to the used software)
DB19
DBB2 Higraph first error display
Edge evaluation: No Signal(s) updated: Cyclically
DB19
DBB4 Higraph first error display
Edge evaluation: No Signal(s) updated: Cyclically
DB19
DBX6.0 - 6.7 Analog spindle 1, utilization in percent
Edge evaluation: No Signal(s) updated: Cyclically
DB19
DBX7.0 - DBX7.7 Analog spindle 2, utilization in percent
Edge evaluation: No Signal(s) updated: Cyclically
DB19
DBX8.0 - DBX8.7 Channel number of the machine control panel to HMI
Edge evaluation: No Signal(s) updated: Cyclically
Basic Functions
1574 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB19
DBX10.0 Programming area selection
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Program area selection active
edge change 0 → 1
Signal state 0 or Program area selection inactive
edge change 1 → 0
DB19
DBX10.1 Alarm area selection
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Alarm area selection active
edge change 0 → 1
Signal state 0 or Alarm area selection inactive
edge change 1 → 0
DB19
DBX10.2 Tool offset selection
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Tool offset selection active
edge change 0 → 1
Signal state 0 or Tool offset selection inactive
edge change 1 → 0
DB19
DBX12.2 COM2
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or COM2 active
edge change 0 → 1
Signal state 0 or COM2 inactive
edge change 1 → 0
Application Valid for HMI Embedded;
example(s) a file transfer can be initiated via RS-232-C.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1575
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB19
DBX12.3 COM1
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or COM1 active
edge change 0 → 1
Signal state 0 or COM1 inactive
edge change 1 → 0
Application Valid for HMI Embedded;
example(s) a file transfer can be initiated via RS-232-C.
DB19
DBX12.4 RS-232-C Stop
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or V24 stop active
edge change 0 → 1
Signal state 0 or V24 stop inactive
edge change 1 → 0
Application Valid for HMI Embedded;
example(s) a file transfer can be initiated via RS-232-C.
DB19
DBX12.5 RS-232-C external
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or V24 externally active
edge change 0 → 1
Signal state 0 or V24 externally inactive
edge change 1 → 0
Application Valid for HMI Embedded;
example(s) a file transfer can be initiated via RS-232-C.
DB19
DBX12.6 RS-232-C off
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or RS-232-C off active
edge change 0 → 1
Signal state 0 or RS-232-C off inactive
edge change 1 → 0
Application Valid for HMI Embedded;
example(s) a file transfer can be initiated via RS-232-C.
Basic Functions
1576 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB19
DBX12.7 RS-232-C on
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or RS-232-C on active
edge change 0 → 1
Signal state 0 or RS-232-C on inactive
edge change 1 → 0
Application Valid for HMI Embedded;
example(s) a file transfer can be initiated via RS-232-C.
DB19
DBX13.5 Unload
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Unload active
edge change 0 → 1
Signal state 0 or Unload inactive
edge change 1 → 0
Application Valid for HMI Embedded;
example(s) a file transfer can be initiated using the hard disk.
DB19
DBX13.6 Load part program
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Loading active
edge change 0 → 1
Signal state 0 or Loading inactive
edge change 1 → 0
Application Valid for HMI Embedded;
example(s) a file transfer can be initiated using the hard disk.
DB19
DBX13.7 Selection
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Selection active
edge change 0 → 1
Signal state 0 or Selection inactive
edge change 1 → 0
Application Valid for HMI Embedded;
example(s) a file transfer can be initiated using the hard disk.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1577
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB19
DBX14.0 - DBX14.6 PLC index
Edge evaluation: No Signal(s) updated: Cyclically
Description This byte for control of the V24 interface describes the PLC index for the standard control file,
which specifies the axis, channel or TO number. This file is handled according to the contract from
the PLC → HMI in the interface signal:
DB19 DBB12
Application Valid for HMI Embedded, with reference to DB19 DBB12
example(s) Dependent on:
DB19 DBX14.7=0 → Akt. FS: PLC index that specifies axis, channel or TO No.
DB19 DBX14.7=1 → Pas.FS: PLC index for the user control file
DB19
DBX14.7 Active or passive file system
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Passive file system
edge change 0 → 1
Signal state 0 or Active file system
edge change 1 → 0
Application Valid for HMI Embedded, with reference to DB19 DBB12
example(s)
DB19
DBX15.0 - DBX15.7 PLC line offset
Edge evaluation: No Signal(s) updated: Cyclically
Description This byte to control the RS-232-C interface defines the line of the standard or user control file in
which the control file to be transferred is specified.
Application Valid for HMI Embedded, with reference to DB19 DBB12
example(s) Dependent on:
DB19 DBX14.7=0 → Akt. FS: PLC line offset in a standard control file
DB19 DBX14.7=1 → Pas. FS: PLC line offset in a user control file
Basic Functions
1578 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB19
DBX16.0 - DBX16.6 PLC index for the user control file
Edge evaluation: No Signal(s) updated: Cyclically
Description This byte for controlling file transfer via hard disk defines the index for the control file (job list). This
file is handled from the PLC → HMI correspondling to the contract which is in DB19 DBB13.
Application Valid for HMI advanced, with reference to the interface signal:
example(s) DB19 DBB13
Dependent on:
DB19 DBX14.7=0 → Akt. FS: PLC index for the standard control file
DB19 DBX14.7=1 → Pas.FS: PLC index for the user control file
DB19
DBX16.7 Active or passive file system
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Passive file system
edge change 0 → 1
Signal state 0 or Active file system
edge change 1 → 0
Application with HMI Advanced always 1
example(s)
DB19
DBX17.0 - DBX17.7 PLC line offset in the user control file
Edge evaluation: No Signal(s) updated: Cyclically
Description This byte for controlling file transfer via the hard disk defines the line of the user control file in which
the control file to be transferred is located.
Application Valid for HMI Advanced, with reference to DB19 DBB13
example(s) Dependent on:
DB19 DBX14.7=0 → Akt. FS: PLC line offset in a standard control file
DB19 DBX14.7=1 → Pas. FS: PLC line offset in a user control file
DB19
DBX44.0 Mode change disable
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Mode change disable active
edge change 0 → 1
Signal state 0 or Mode change disable active
edge change 1 → 0
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1579
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB19
DBX45.0 FC9 Out: Active
Edge evaluation: No Signal(s) updated: Cyclically
DB19
DBX45.1 FC9 Out: Done
Edge evaluation: No Signal(s) updated: Cyclically
DB19
DBX45.2 FC9 Out: Error
Edge evaluation: No Signal(s) updated: Cyclically
DB19
DBX45.3 FC9 Out: StartError
Edge evaluation: No Signal(s) updated: Cyclically
Basic Functions
1580 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB19
DBX20.1 Screen is dark
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The screen is darkened.
edge change 0 → 1
Signal state 0 or The screen is not darkened.
edge change 1 → 0
Application Using this IS, the PLC can identify whether the screen was switched dark using the interface
example(s) signal:
DB19, DBX0.1 (darken screen)
or using the machine data:
MD9006 $MM_DISPLAY_BLACK_TIME (screen blanking time).
Corresponding to .... MD9006 $MM_DISPLAY_BLACK_TIME (screen blanking time)
DB19
DBX20.3 Cancel alarm cleared
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Cancel alarm deleted active
edge change 0 → 1
Signal state 0 or Cancel alarm deleted inactive
edge change 1 → 0 Note: The signal is not reset automatically, it must be set by the user via the PLC user program.
DB19
DBX20.4 Recall alarm cleared
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Recall alarm deleted inactive
edge change 0 → 1
Signal state 0 or Recall alarm deleted inactive
edge change 1 → 0 Note: The signal is not reset automatically, it must be set by the user via the PLC user program.
DB19
DBX20.6 Simulation selected
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or On entry to simulation = 1
edge change 0 → 1
Signal state 0 or On exit from simulation = 0
edge change 1 → 0
Application Can be evaluated by machine manufacturer in order to activate the test on NC start.
example(s) The following must be set in the drive machine data:
MD1012 $MD_FUNC_SWITCH, bit 2 = 0.
Status "Ext. pulse disable active, terminal 663 open" is then not transmitted to the NC.
Corresponding to .... MD1012 $MD_FUNC_SWITCH, bit 2
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1581
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB19
DBX20.7 Switch over MCS/WCS
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The coordinate system is switched over from workpiece coordinate system (WCS) to machine
edge change 0 → 1 coordinate system (MCS) or from MCS to WCS.
After it has been set, the signal is active for 1 PLC cycle.
Signal state 0 or No effect
edge change 1 → 0
Application The interface signal:
example(s) DB19, DBX20.7 (change over MCS/WCS)
must be transferred to the interface signal:
DB19, DBX0.7 (actual value in WCS)
in order that the changeover becomes effective.
Corresponding to .... DB19, DBX0.7 (actual value in WCS)
DB19
DBX22.0 - DBX22.7 Displayed channel number from HMI
Edge evaluation: No Signal(s) updated: Cyclically
DB19
DBX24.0 Error (status RS-232-C from PLC)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Error status active
edge change 0 → 1
Signal state 0 or Error status inactive
edge change 1 → 0
Application The actual status of the RS 232C is sent to the PLC in acknowledgment byte DB19.DBB24.
example(s)
Corresponding to .... Applies to HMI Embedded
Basic Functions
1582 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB19
DBX24.1 O.K. (status RS-232-C from PLC)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or O.K. status active
edge change 0 → 1
Signal state 0 or O.K. status inactive
edge change 1 → 0
Application The actual status of the RS 232C is sent to the PLC in acknowledgment byte DB19.DBB24.
example(s)
Corresponding to .... Applies to HMI Embedded
DB19
DBX24.2 COM2 (status RS-232-C from PLC)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or COM2 active
edge change 0 → 1
Signal state 0 or COM2 inactive
edge change 1 → 0
Application The actual status of the RS 232C is sent to the PLC in acknowledgment byte DB19.DBB24.
example(s)
Corresponding to .... Applies to HMI Embedded
DB19
DBX24.3 COM1 (status RS-232-C from PLC)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or COM1 active
edge change 0 → 1
Signal state 0 or COM1 inactive
edge change 1 → 0
Application The actual status of the RS 232C is sent to the PLC in acknowledgment byte DB19.DBB24.
example(s)
Corresponding to .... Applies to HMI Embedded
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1583
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB19
DBX24.4 RS-232-C stop (status RS-232-C from PLC)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or V24 stop active
edge change 0 → 1
Signal state 0 or V24 stop inactive
edge change 1 → 0
Application The actual status of the RS 232C is sent to the PLC in acknowledgment byte DB19.DBB24.
example(s)
Corresponding to .... Applies to HMI Embedded
DB19
DBX24.5 RS-232-C external (status RS-232-C from PLC)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or V24 externally active
edge change 0 → 1
Signal state 0 or V24 externally inactive
edge change 1 → 0
Application The actual status of the RS 232C is sent to the PLC in acknowledgment byte DB19.DBB24.
example(s) The bit "RS-232-C external" is delayed until the transfer of the part program to be externally
executed has been started and the selection has been made. Only then is an "NC Start" possible.
Corresponding to .... Applies to HMI Embedded
DB19
DBX24.6 RS-232-C off (status RS-232-C from PLC)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or RS-232-C off active
edge change 0 → 1
Signal state 0 or RS-232-C off inactive
edge change 1 → 0
Application The actual status of the RS 232C is sent to the PLC in acknowledgment byte DB19.DBB24.
example(s)
Corresponding to .... Applies to HMI Embedded
Basic Functions
1584 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB19
DBX24.7 RS-232-C on (status RS-232-C from PLC)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or RS-232-C on active
edge change 0 → 1
Signal state 0 or RS-232-C on inactive
edge change 1 → 0
Application The actual status of the RS 232C is sent to the PLC in acknowledgment byte DB19.DBB24.
example(s)
Corresponding to .... Applies to HMI Embedded
DB19
DBX25.0 - DBX25.7 Error RS-232-C
Edge evaluation: No Signal(s) updated: Cyclically
Description 0 = no error
1 = invalid number for the control file
(value in DB19.DBB14<127 or invalid)
2 = DB19.DBB15 could not be read
3 = control file /BD.DIR/PLC_IN_OUT_xxx.TEA not found
(value in DB19.DBB14 invalid)
4 = invalid index in control file.
(value in DB19.DBB15 incorrect)
5 = selected job list in the control file could not be opened (only HMI Advanced)
6 = error in the job list (job list interpreter returns error) (only HMI Advanced)
7 = job list interpreter signals empty job list (only HMI Advanced)
8 = error during the RS-232-C transmission.
The error text is entered into the DIENSTE PROTOKOLL [SERVICES REPORT].
9 = error when executing job list (only HMI Advanced)
Corresponding to .... Applies to HMI Embedded
DB19
DBX26.1 OK (job list selection from PLC, status)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Transfer correctly completed
edge change 0 → 1
Signal state 0 or Transfer completed with error
edge change 1 → 0
Corresponding to .... Valid for HMI Advanced
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1585
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB19
DBX26.2 Error (job list selection from PLC, status) (previously bit 0)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Transfer completed with error
edge change 0 → 1
Signal state 0 or Transfer correctly completed
edge change 1 → 0
Corresponding to .... Valid for HMI Advanced
DB19
DBX26.3 Active (job list selection from PLC, status)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Job in progress
edge change 0 → 1
Signal state 0 or No task in progress
edge change 1 → 0
Corresponding to .... Valid for HMI Advanced
DB19
DBX26.5 Unload (job list selection from PLC, status)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Unload active
edge change 0 → 1
Signal state 0 or Unload inactive
edge change 1 → 0
Corresponding to .... Valid for HMI Advanced
DB19
DBX26.6 Load (job list selection from PLC, status)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Loading active
edge change 0 → 1
Signal state 0 or Loading inactive
edge change 1 → 0
Corresponding to .... Valid for HMI Advanced
Basic Functions
1586 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB19
DBX26.7 Selection (job list selection from PLC, status)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Selection active
edge change 0 → 1
Signal state 0 or Selection inactive
edge change 1 → 0
Corresponding to .... Valid for HMI Advanced
DB19
DBX27.0 - DBX27.7 Data transfer error
Edge evaluation: No Signal(s) updated: Cyclically
Description • 0 = no error
• 1 = invalid number for control file
(value in DB19.DBB16<127 or invalid)
• 2 = DB19.DBB17 could not be read
• 3 = control file /BD.DIR/PLC_IN_OUT_xxx.TEA not found
(value in DB19.DBB16 invalid)
• 4 = invalid index in control file
(value in DB19.DBB17 incorrect)
• 5 = selected job list in control file could not be opened
• 6 = error in the job list (job list interpreter signals an error)
• 7 = job list interpreter signals an empty job list
• 8 = data transfer error
The error text is entered into the DIENSTE PROTOKOLL [SERVICES REPORT].
• 9 = error while executing the job list
Corresponding to .... Valid for HMI Advanced
DB19
DBX40.0 - DBX40.7 Mode group number
Edge evaluation: No Signal(s) updated: Cyclically
Description This byte contains the mode group number.
DB19
DBX41.0 - DBX41.7 Channel number (FC9: ChanNo)
Edge evaluation: No Signal(s) updated: Cyclically
Description This byte contains the channel number (FC9: ChanNo).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1587
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB19
DBX42.0 FC9: Start (measuring in Jog mode)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Start active
edge change 0 → 1
Signal state 0 or Start inactive
edge change 1 → 0
DB21, ...
DBX6.2 Delete distance-to-go (channel-specific)
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or Delete distance-to-go (channel-specific):
edge change 0 → 1 IS "Delete distance-to-go (channel-specific)" for path axes is only active in AUTOMATIC mode.
The rising edge of the interface signal is only effective for the axes involved in the geometry
grouping. These are also stopped with a ramp stop and their distance-to-go deleted (setpoint -
actual value difference). Any remaining following error is not removed. The next program block is
then started.
IS "Delete distance-to-go (channel-specific)" is therefore ignored by positioning axes.
Note:
IS "Delete distance-to-go" does not influence the running dwell time in a program block with dwell
time.
Signal state 0 or No effect
edge change 1 → 0
Signal irrelevant for Positioning axes
...
Application To terminate motion because of an external signal (e.g. measuring probe)
example(s)
Special cases, Delete distance-to-go (channel-specific)
errors, .... When the axes have been stopped with IS "Delete distance-to-go" the next program block is
prepared with the new positions. After a "Delete distance-to-go", geometry axes thus follow a
different contour to the one originally defined in the part program.
If G90 is programmed in the block after "Delete distance-to-go" it is at least possible to approach
the programmed absolute position. On the other hand, with G91, the position originally defined in
the part program is no longer reached in the following block.
Corresponding to .... DB21, ... DBX6.2 (delete distance-to-go (axis-specific))
Basic Functions
1588 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB21, ...
DBX36.6 Channel-specific NCK alarm is active
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or At least one NCK alarm is present for this channel.
edge change 0 → 1 Thus the following group interface signal is also set:
DB10 DBX109.0 (NCK alarm is present)
The PLC user program can interrogate whether processing for the channel in question has been
interrupted because of an NCK channel:
DB21, ... DBX36.7 (NCK alarm with processing stop present).
Signal state 0 or No NCK alarm is active for this channel.
edge change 1 → 0
Corresponding to .... DB21, ... DBX36.6 (NCK alarm with processing stop present)
DB10 DBX109.0 (NCK alarm pending)
Additional references /DA/ Diagnostics Manual
DB21, ...
DBX36.7 NCK alarm with processing stop present
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or At least one NCK alarm - which is causing a processing stop of the part program running in this
edge change 0 → 1 channel - is active.
Signal state 0 or There is no alarm active in this channel that is causing a processing stop.
edge change 1 → 0
Application With this alarm a program interruption because of an NCK alarm can be recognized immediately by
example(s) the PLC user program and the necessary steps introduced.
Corresponding to .... DB21, ... DBX36.6 (channel-specific NCK alarm pending)
Additional references /DA/ Diagnostics Manual
DB21, ...
DBX318.7 Overstore active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The overstore function is enabled (with the channel-specific PI service "_N_OST_ON"). If the PI
edge change 0 → 1 service is denied, the signal will not change.
Signal state 0 or The overstore function is disabled (with the channel-specific PI service "_N_OST_OFF"). If the PI
edge change 1 → 0 service is denied, the signal will not change.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1589
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX1.0 Drive test travel enable
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Safety handshake when the function generator is started by the NC.
edge change If an axis is to be traversed without further operator intervention, using:
0→1 DB31, ... DBX61.0 (drive test travel request) = 1 signal,
the NC requests a travel enable signal (permissive signal) from the PLC control.
If all axis travel conditions are fulfilled, PLC acknowledges this with:
DB31, ... DBX1.0 (drive test travel enable) = 1 signal
The PLC always has the master authority in deciding whether an axis can be traversed.
Signal state 0 or The NC does not request permission to move axis from the PLC with:
edge change DB31, ... DBX1.0 (drive test travel enable) = 0 signal
1→0
Additional references /IAD/ SINUMERIK 840D Startup Guide; Chapter: SIMODRIVE 611D
DB31, ...
DBX1.3 Axis/spindle disable
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or (Test status)
edge change 0 → 1 If the interface signal "Axis disable" is output - for this axis - no more position partial setpoints are
- Axis disable output to the position controller; the axis travel is therefore disabled. The position control loop
- Spindle disable remains closed and the remaining following error is reduced to zero.
If an axis is moved with axis disable the actual value position display shows the setpoint position
and the actual velocity value display shows the setpoint velocity even though the machine axis is
not actually moving.
With a RESET the position actual value display is set to the real actual value of the machine.
Travel commands continue to be output to the PLC for this axis.
If the interface signal is canceled again the associated axis can again traverse normally.
If the interface signal "Axis disable" is set for a traversing axis, the axis is stopped with a ramp stop.
If the interface signal "Spindle disable" is set, as for axis disable, for this spindle no more speed
setpoints are output to the speed controller in the open-loop control mode and no more position
partial setpoints are output to the position controller in positioning mode. The movement of the
spindle is thus disabled. The speed actual value display displays the speed setpoint value.
Spindle disable can only be canceled per "Reset" or with M2 followed by a program restart.
If interface signal "Spindle disable" is set while a spindle is turning, the spindle is stopped according
to its acceleration characteristic.
Basic Functions
1590 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX1.3 Axis/spindle disable
Signal state 0 or (Normal conditions).
edge change 1 → 0 The position setpoint values are transferred to the position controller cyclically.
The speed setpoint values are transferred to the speed controller cyclically.
Cancellation of the "Axis/spindle disable" (edge change 1 → 0) does not take effect until the
axis/spindle is stationary (i.e. an interpolation setpoint is no longer ptresent).
3RVLWLRQ
VHWSRLQWIURP LVHW
WKHLQWHUSRODWRU 3RVLWLRQ 6SHHG &XUUHQW (QFRGHU
0RWRU
B FRQWUROOHU B FRQWUROOHU FRQWUROOHU
LDFW
QDFW
$[LVLQKLELW
DFWLYH
$FWXDOSRVLWLRQYDOXH
Application The interface signal "Axis disable" and "Spindle disable" is used when running-in and testing a new
example(s) NC part program. In so doing, the machine axes and spindles should not execute any traversing or
rotational movement.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1591
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX1.3 Axis/spindle disable
Special cases, If, for an axis/spindle "axis/spindle disable" is present, then the interface signals:
errors, .... DB31, ... DBX2.1 (controller enable),
DB2 ... (feed/spindle stop)
and where relevant
DB31, ... DBX12.0-12.1 (hardware limit switch)
are not effective regarding braking the axis/spindle.
The axis/spindle can however be brought into the "follow up" or "hold" state
(refer to DB31, ... DBX1.4 (follow-up mode)).
Notes:
This signal inhibits setpoint output to the drive.
A brief pulse can bring a traversing axis to a standstill. The axis will not move again in this block,
but only when the next block is reached.
Re-synchronization takes place automatically on the next traversing command for this axis, i.e. the
axis traverses the remaining distance-to-go.
([DPSOH
*;<
*); IRU;WKHVLJQDOD[LVLQKLELWEULHIO\FRPHV
;ದD[LVUHPDLQVVWDWLRQDU\WKH1&FRQWLQXHVWRLQWHUSRODWH
<
; ;WUDYHOVIURPDSSUR[WR
2II 6HWSRLQWVRID[HVDUHRXWSXW
2II 1RVHWSRLQWRXWSXWIRU)6)$
2II 1RVHWSRLQWRXWSXWIRU/6/$
2II 1RVHWSRLQWRXWSXWIRU/6/$DQG)6)$
21 6HWSRLQWVRID[HVDUHRXWSXW
21 'LVDEOHQRWHIIHFWLYHIRU)6)$
21 'LVDEOHDOVRHIIHFWLYHIRU)6)$
21 1RVHWSRLQWRXWSXWIRU/6/$DQG)6)$
Basic Functions
1592 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX1.4 Follow-up mode
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 Follow-up mode is selected for the axis/spindle by the PLC.
The means that the position setpoint continually tracks the actual value if the controller enable for
the drive is withdrawn.
As soon as the follow-up mode is effective, the interface signal:
DB31, ... DBX61.3 (follow-up mode active)
is set to a 1 signal.
The actual value continues to be acquired and updated. If the axis/spindle is moved from its current
position by an external effect the zero speed and clamping monitoring do not issue an alarm.
When the closed-loop control system is reactivated, a control-internal repositioning operation is
performed (REPOSA: linear approach with all axes) to the last programmed position if a part
program is active.
Signal state 0 Follow-up mode is not selected (hold).
When "controller enable" is removed the previous position setpoint is kept in the control.
If the axis/spindle is moved out of position during this time a following error occurs between the
position setpoint and the position actual value. This position difference is reduced to zero
immediately by issuing "controller enable" so that the previous setpoint position is restored. Then,
all the other axis movements start from the setpoint position valid before "controller enable" was
removed.
When the position control is switched in again the axis may make a speed setpoint jump.
Zero speed monitoring or clamping monitoring is still active.
In order to disable (switch-out) the zero speed
monitoring, when clamping an axis, the interface signal:
DB31, ... DBX2.3 (clamping operation running)
should be set.
In the "holding state", the interface signal:
DB31, ... DBX61.3 (follow-up mode active)
is set to a 0 signal.
Special cases, If the drive controller enable is withdrawn inside the control due to faults, then the following
errors, .... should be carefully observed:
Before an NC start, after the queued alarms have been successfully deleted
(i.e. inside the control, the controller enable is re-issued), then "holding" should be activated:
DB31, ... DBX1.4 (follow-up mode) = 0
Otherwise, for an NC start and selected follow-up mode, the traversing distance of the previous NC
block would not be executed due to the internal delete distance to go.
Notice:
When changing over from the "follow-up" state to the "hold" state and in the control mode (a
controller enable is issued), a delete distance-to-go command is activated in the control. As a
consequence, for example, an NC block - in which only this axis is traversed - is ended directly.
Corresponding to .... DB31, ... DBX2.1 (controller enable)
DB31, ... DBX2.3 (clamping in progress)
DB31, ... DBX61.3 (follow-up mode active)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1593
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX1.5 - DBX1.6 Position measuring system 1 (PMS1)/Position measuring system 2 (PMS2)
Edge evaluation: No Signal(s) updated: Cyclically
PMS1: Position measuring system 1 is used for the axis/spindle (e.g. for position control, absolute value
Signal state 1 calculation, display). If a position measuring system 2 also exists
PMS2: (MD30200 $MA_NUM_ENCS = 2), this actual value is also acquired.
Signal state 0
PMS1: Position measuring system 2 is used for the axis/spindle (e.g. for position control, absolute value
Signal state 0 calculation, display). If a position measuring system 1 also exists, this actual value is also acquired.
PMS2:
Signal state 1
PMS1: As it is not possible to use both position measuring systems simultaneously for the position control
Signal state 1 of an axis/spindle, the control automatically selects position measuring system 1.
PMS2: If a position measuring system 2 also exists, this actual value is also acquired.
Signal state 1
Basic Functions
1594 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX1.5 - DBX1.6 Position measuring system 1 (PMS1)/Position measuring system 2 (PMS2)
PMS1: 1. The axis is in the park position.
Signal state 0
This means that the following features are valid:
PMS2: – Both position measuring systems are inactive.
Signal state 0
– There is no actual value acquisition.
– The position measuring system monitoring functions are disabled
(among others, cable connection of a measured value encoder).
The reference point has no effect:
DB31, ... DBX60.4/5 (referenced/synchronized) has the signal condition 0
As soon as an axis is parked, the interface signals:
DB31, ... DBX61.5 (position controller active),
DB31, ... DBX61.6 (speed controller active)
and
DB31, ... DBX61.7 (current controller active)
are set to a 0.
After parking has been completed the axis must be re-referenced (reference point
approach).
If interface signals PMS1 and PMS2 are set to 0 while the axis is moving, the axis is
stopped with a ramp stop without the controller enable being internally withdrawn.
This is appropriate for the following situations:
– Spindle encoder no longer outputs a signal above a certain speed (no longer supplies any
pulses).
– Spindle encoder is decoupled mechanically because it would not be able to cope with the
speed.
– The spindle can then continue to run in speed-controlled mode. In order to really bring the
axis/spindle to a stop, the controller enable must always be removed additionally by the
PLC.
2. The spindle does not have a position measuring system and is only speed controlled.
In this case, the interface signal:
DB31, ... DBX2.1 (controller enable)
should be set to a 1 signal.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1595
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX1.5 - DBX1.6 Position measuring system 1 (PMS1)/Position measuring system 2 (PMS2)
Application 1. Changing over from position measuring system 1 to positioning measuring system 2 (and vice
example(s) versa).
If the axis in both position measuring systems was referenced and the limit frequency of the
measured value encoder has not been exceeded in the meantime (i.e.
DB31, ... DBX60.4 and 60.5 (referenced/synchronized 1 and 2) has signal state 1,
then after the changeover, a reference point approach does not have to be repeated.
On switchover, the current difference between position measuring system 1 and 2 is traversed
immediately.
With the machine data:
MD36500 $MA_ENC_CHANGE_TOL (maximum tolerance on position actual value
changeover)
a tolerance bandwidth can be entered - the deviation between the two actual values may lie
within this bandwidth when changing over.
If the actual value difference is greater than the tolerance, a switchover between the two
systems does not take place and alarm 25100 "Measuring system switchover" not possible is
triggered.
2. Parking axis (i.e. no PMS is active):
If the encoder has to be removed - e.g. if a rotary table has to be removed from the machine -
the position measuring system monitoring is switched off in the parking position.
The mounted axis/spindle encoder turns so quickly in certain applications that it can no longer
maintain its electrical characteristics (edge rate-of-rise, etc.).
3. Switch-off measuring system:
When measuring system 1 or 2 is switched off the associated interface signal:
DB31, ... DBX60.4/60.5 (referenced/synchronized 1/2)
is reset.
4. Reference point approach:
Reference point approach of the axis is executed with the selected position measuring system.
Every PMS must be separately referenced.
Special cases, If the state "parking axis" is active, the interface signal:
errors, .... DB31, ... DBX60.4/60.5 (referenced/synchronized 1/2)
is ignored at NC start for this axis.
Corresponding to .... DB31, ... DBX60.4 (referenced/synchronized 1)
DB31, ... DBX60.5 (referenced/synchronized 2)
DB31, ... DBX61.6 (speed controller active)
DB31, ... DBX2.1 (controller enable)
MD36500 $MA_ENC_CHANGE_TOL (Max. tolerance on position actual value switchover)
MD30200 $MA_NUM_ENCS (number of encoders)
Additional references /FB1/ Function Manual Basic Functions; Speeds, Set-Actual Value System, Control (G2)
Basic Functions
1596 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX2.1 Controller enable
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 The position control loop of the axis/spindle is closed; the axis/spindle is in closed-loop control.
Signal state 1 or When "controller enable" is set by the PLC user program:
edge change • Position control loop of axis is closed.
0→1
• Position actual value is no longer switched to the position setpoint.
• The controller enable of the drive is output.
• The interface signal:
DB31, ... DBX61.5 (position controller active)
is set to 1.
When "controller enable" has been signaled no new actual value synchronization of the axis
(reference point approach) of the axis is necessary if the maximum permissible limit frequency of
the axis measuring system has not been exceeded during follow-up mode.
As a function of the interface signal:
DB31, ... DBX1.4 ( follow-up mode)
it is possible to select whether or not the axis first traverses back to the earlier setpoint position (i.e.
the positional deviation caused by the clamping process is moved through to eliminate the
deviation).
Edge change "Controller enable" will be/is removed:
1 → 0 or The procedure for removing "controller enable" depends on whether the axis/spindle or an axis of
signal state 0 the geometry grouping is stationary or traversing at this point in time.
• Axis/spindle stationary:
– Position control loop of axis is opened.
– When IS "Follow-up mode" = 1 the position actual value is switched to the position setpoint
(i.e. the setpoint position is corrected to the actual value position). The position actual value
of the axis/spindle continues to be acquired by the control.
– The controller enable of the drive is removed.
– The interface signals:
DB31, ... DBX61.5 (position controller active)
DB31, ... DBX61.6 (speed controller active)
DB31, ... DBX61.7 (current controller active)
are set to 0.
• Axis/spindle traverses:
– The axis is stopped with rapid stop.
– Alarm 21612 "VDI signal controller enable reset during movement" is triggered.
– The position control loop of the axis/spindle is opened.
– Independent of the interface signal:
DB31, ... DBX1.4 (follow-up mode)
At the end of braking the position actual value is switched to the position setpoint
(i.e. the setpoint position is corrected to track the actual value position).
The position actual value of the axis/spindle continues to be acquired by the control.
IS "Follow-up mode" is set.
– The interface signals:
DB31, ... DBX61.5 (position controller active)
DB31, ... DBX61.6 (speed controller active)
DB31, ... DBX61.7 (current controller active)
are set to 0.
The axis status cannot be changed again until after RESET.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1597
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX2.1 Controller enable
Application Using controller enable when clamping the axis:
example(s) The axis is positioned to the clamping position. As soon as it has stopped it is clamped and then
controller enable is removed. Controller enable is removed because the axis could be mechanically
pressed out of position slightly by clamping and the position controller would continuously have to
work against the clamping.
When clamping is to be stopped, a controller enable signal is first set again and then the axis is
freed from clamping.
Special cases, If an attempt is made to traverse the axis/spindle without controller enable, the axis/spindle remains
errors, .... stationary but sends a traversing/move command to the PLC (axis only). The traversing/move
command is kept and is executed when the controller enable is re-activated.
If the controller enable of a traversing geometry axis is removed the programmed contour cannot be
maintained.
Controller enable is automatically cancelled by the control when certain faults occur at the machine,
the position measuring system or the control.
Corresponding to .... DB31, ... DBX61.3 (follow-up mode active)
DB31, ... DBX1.4 (follow-up mode)
DB31, ... DBX61.5 (position controller active)
DB31, ... DBX61.6 (speed controller active)
DB31, ... DBX61.7 (current controller active)
MD36620 $MA_SERVO_DISABLE_DELAY_TIME (switch-off delay controller enable)
MD36610 $MA_AX_EMERGENCY_STOP_TIME (braking ramp time when errors occur)
DB31, ...
DBX2.2 Delete distance-to-go (axis-specific)/spindle reset
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or Delete distance-to-go (axis-specific):
edge change Depending on the operating mode, the following occurs for IS "delete distance-to-go axial":
0→1
• In the JOG mode:
If the interface signal is set for one axis (edge change 0 → 1), this axis is stopped with ramp stop
and its distance-to-go deleted (setpoint-actual value difference).
Any remaining following error is removed.
• for AUTOMATIC and MDA:
The rising edge of the interface signals only influences the axes which are not in the geometry
grouping. They are stopped with ramp stop and their distance-to-go deleted (setpoint-actual
value difference). The next program block can then be started. IS "delete distance-to-go axial" is
therefore ignored by geometry axes.
Note: IS "Delete distance-to-go" does not influence the running dwell time in a program block with
dwell time.
Signal state 0 or No effect
edge change
1→0
Application To terminate motion because of an external signal (e.g. measuring probe)
example(s)
Basic Functions
1598 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX2.2 Delete distance-to-go (axis-specific)/spindle reset
Special cases, "Delete distance-to-go (axial)"
errors, .... After the axes have been stopped with "Delete distance-to-go" the next program block is prepared
with the new positions. The axes thus follow a different contour to the one originally defined in the
part program after a "Delete distance-to-go".
If G90 is programmed in the block after "Delete distance-to-go" it is at least possible to approach
the programmed absolute position. On the other hand, with G91, the position originally defined in
the part program is not reached in the following block.
Corresponding to .... DB21, ... DBX6.2 (delete distance-to-go, channel-specific)
Additional references /FB1/ Function Manual Basic Functions; Spindles (S1)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1599
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX20.0 Ramp-up times
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or V/f operation operation is activated using machine data:
edge change MD1014 $MD_U/F_MODE_ENABLE.
0→1
The time entered in the machine data:
MD1126 $MD_U/F_MODE_RAMP_TIME_2
is effective.
Signal state 0 or V/f operation operation is activated using machine data:
edge change MD1014 $MD_U/F_MODE_ENABLE.
1→0
The time entered in the machine data:
MD1125 $MD_U/F_MODE_RAMP_TIME_1
is effective.
Signal irrelevant for SINUMERIK 840Di
...
Corresponding to .... MD1014 $MD_U/F_MODE_ENABLE (activate V/f operation)
MD1125 $MD_UF_MODE_RAMP_TIME_1 (ramp-up time 1 for V/f mode)
MD1126 $MD_UF_MODE_RAMP_TIME_2 (ramp-up time 2 for V/f mode)
Additional references /FBA/ SIMODRIVE 611D Function Manual Drive Functions
DB31, ...
DBX20.1 Ramp-function generator fast stop
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or A fast stop is triggered by the PLC for the drive (611D). Speed setpoint 0 is therefore entered. The
edge change drive is stopped without a ramp function (regenerative braking).
0→1 As soon as the fast stop is recognized by the drive module, the interface signal:
DB31, ... DBX92.1 (Ramp-function generator fast stop active) is returned to the PLC.
Signal state 0 or No rapid stop is requested by the PLC for the drive.
edge change
1→0
Signal irrelevant for SINUMERIK 840Di
...
Corresponding to .... DB31, ... DBX92.1 (ramp-function generator fast stop active)
Additional references /IAD/ SINUMERIK 840D Installation and Startup Guide; Chapter: SIMODRIVE 611D
Basic Functions
1600 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX20.2 Torque limit 2
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Torque limit 2 is requested by the PLC for the axis/spindle.
edge change For 611D two torque limit values can be set for each axis/spindle, whereby torque limit 2 refers to
0→1 torque limit 1 (reduction factor). Torque limit 2 is selected via the interface. The limit value is defined
using the drive parameters.
As soon as torque limit 2 is active for the drive, the drive signals this using the interface signal:
DB31, ... DBX92.2 (torque limit 2 active)
Signal state 0 or Only torque limit 1 has been selected by the PLC.
edge change
1→0
Signal irrelevant for SINUMERIKI 840Di
...
Application In order to reduce the stress on the mechanics and workpiece, the actual torque limit can be
example(s) reduced using torque limit 2 for certain machining operations.
Corresponding to .... DB31, ... DBX92.2 (torque limit 2 active)
Additional references /IAD/ SINUMERIK 840D Installation and Startup Guide; Chapter: SIMODRIVE 611D
DB31, ...
DBX20.3 Speed setpoint smoothing
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The PLC requests a filter to smooth the speed setpoint value.
edge change In the drive module the interface signal is only effective under the following conditions:
0→1
• Speed setpoint filter 1 is active in the drive
• speed setpoint filter 1 has been configured as a low-pass filter (i.e. not as a band-stop filter)
As soon as these conditions exist whereby the smoothing of the speed setpoint is active, the 611D
or 611U signals this to the PLC using the interface signal:
DB31, ... DBX92.3 (speed setpoint smoothing active).
Signal state 0 or No smoothing of the speed setpoint value is requested by the PLC.
edge change
1→0
Application With this interface signal, speed setpoint smoothing can - for example - be activated from the PLC
example(s) user program for a spindle during speed control to achieve smooth torque output. Speed setpoint
smoothing can therefore be deactivated when the spindle is in positioning mode.
Special cases,
errors, ....
Corresponding to .... DB31, ... DBX92.3 (speed setpoint smoothing active)
Additional references /IAD/ SINUMERIK 840D Installation and Startup Guide; Chapter: SIMODRIVE 611D
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1601
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX21.0 - DBX21.2 Drive parameter set selection A, B, C
Edge evaluation: No Signal(s) updated: Cyclically
Meaning With bit combinations A, B and C it is possible to select 8 different drive parameter sets for the
digital drives SIMODRIVE 611D/611U.
The following assignment applies:
'ULYHSDUDPHWHUVHW & % $
Basic Functions
1602 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX21.3 - DBX21.4 Motor selection A, B
Edge evaluation: No Signal(s) updated: Cyclically
Description The PLC can switch between 4 different motors or motor mode types using the motor selection
function.
The following assignment applies:
0RWRUVHOHFWLRQ $SSOLFDWLRQ % $
0RWRU 2SHUDWLQJPRGH
0RWRU 2SHUDWLQJPRGH
0RWRU UHVXSWR6:WKHQIRU
0RWRU '3HUIRUPDQFHRU8FDQEH
XVHGIRURSHUDWLQJPRGHRU
As soon as a new motor selection is detected, the drive cancels the pulse enable (feedback signal
using the interface signal DB31, ... DBX93.3 and 4 (active motor)).
Using the motor selection, it is possible, for example, to choose mode 1 as star-connected
operation and mode 2 as delta-connection operation for the main spindle drive (MSD).
The drive signals the currently selected motor back to the PLC using the interface signals:
DB31, ... DBX93.3 and 4 (active motor).
DB31, ...
DBX21.5 Motor selection in progress
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The PLC outputs the interface signal:
edge change DB31, ... DBX21.5 (motor selected)
0→1 to the 611D to confirm that the external contactor has been switched over to the new motor (e.g.
that motor contactor 2 has been energized as part of the star/delta switchover process).
The pulses are then enabled by the drive.
Signal state 0 or The interface signal:
edge change DB31, ... DBX21.5 (motor selected)
1→0 must be reset to 0 by the PLC user program before a new motor is selected! Otherwise the pulses
from the drive might be enabled too early.
Corresponding to .... DB31, ... DBX93.3 and 4 (active motor)
DB31, ... DBX21.3 and 4 (motor selection A, B)
Additional references /IAD/ SINUMERIK 840D Installation and Startup Guide; Chapter: SIMODRIVE 611D
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1603
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX21.6 Speed controller integrator disable
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The interface signal is used by the 611D/611U to disable the integrator of the speed controller.
edge change The speed controller is thus changed over from a PI to a P controller.
0→1 Note:
If the speed controller integrator disable is activated, equalization processed might take place in
certain applications (e.g. if the integrator was already holding a load while stationary).
The 611D/611U acknowledges the integrator disable to the PLC using the interface signal:
DB31, ... DBX93.6 (speed controller integrator disabled).
DB31, ...
DBX21.7 Pulse enable
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Pulse enable is signaled by the PLC for this drive (axis/spindle).
edge change The pulses for the drive modules are only enabled if all enable signals (hardware and software) are
0→1 available (see figure for DB31, ... DBX93.5).
In this case, the interface signal:
DB31, ... DBX93.7 (pulses enabled)
is signaled to the PLC with a signal.
For additional information refer to DB31, ... DBX93.7 and references.
Signal state 0 or The pulses are disabled by the PLC for this drive.
edge change If pulse enable is canceled for a moving axis/spindle the axis/spindle is not longer braked in a
1→0 controlled fashion. The axis coasts to rest.
Application Signal relevant to safety
example(s)
Special cases, If pulse enable is canceled for a moving axis/spindle as a result of an Emergency Stop, the
errors, .... axis/spindle only coasts to rest.
Corresponding to .... DB31, ... DBX93.7 (pulses enabled)
Additional references /IAD/ SINUMERIK 840D Installation and Startup Guide; Chapter: SIMODRIVE 611D
Basic Functions
1604 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX61.0 Drive test travel request
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The control signals that all of the traversing conditions for the drives are fulfilled.
edge change Prerequisites for this are:
0→1
• The mechanical brake of the axis involved was previously released and all other axis traversing
conditions are fulfilled.
With:
DB31, ... DBX61.0 (drive test, travel request) = 1 signal
the appropriate axes can be moved.
• The axis disable:
DB31, ... DBX1.3 (axis/spindle disable) = 1 signal
is not active.
Signal state 0 or The control signals that the axes cannot be moved.
edge change Axes cannot be moved for:
1→0
• DB31, ... DBX61.0 (drive test, travel request) = 0 signal
• in the control when faults are present
This means that the prerequisites specified above are not fulfilled.
Additional references /IAD/ SINUMERIK 840D Installation and Startup Guide; Chapter: SIMODRIVE 611D
DB31, ...
DBX61.3 Follow-up mode active
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The control signals that the follow-up mode for the axis/spindle is not active.
edge change Prerequisites for this are:
0→1
• The controller enable for the drive has been withdrawn (either by the PLC with "controller enable
" = 0 signal or inside the control for faults; refer to the references)
• Follow-up operation is selected (either by the PLC with IS "follow-up operation" = 1 signal or in
the control, e.g. when withdrawing the controller enable from an axis that is moving)
The position setpoint continually tracks the actual value while the follow-up mode is active.
Zero speed and clamping monitoring are not active.
Signal state 0 or The control signals that follow-up mode for the axis/spindle is not active.
edge change Zero speed and clamping monitoring are active.
1→0 This means that the above specified prerequisites are not fulfilled.
In the "hold" state, the interface signal:
DB31, ... DBX61.3 (follow-up mode active)
is 0.
Special cases, Notice:
errors, .... A delete distance-to-go is triggered internally in the control on transition from "Follow up" to "Hold"
(IS "Follow-up mode" = 0) or in the closed-loop control mode (IS "Controller enable" = 1).
Corresponding to .... DB31, ... DBX2.1 (controller enable)
DB31, ... DBX1.4 (follow-up mode!)
Additional references /DA/ Diagnostics Manual
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1605
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX61.4 Axis/spindle stops
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The current speed of the axis or the actual number of rotations of the spindle lies under the limit
edge change given by the machine data:
0→1 MD36060 $MA_STANDSTILL_VELO_TOL
(Maximum speed/number of rotations for signal "Axis/Spindle stationary").
Signal state 0 or The actual velocity of the axis or the actual spindle speed is greater than the value specified in the
edge change MD (standstill/zero speed range).
1→0 If a travel command is present, e.g. for a spindle, then the signal is always = 0 - even if the actual
speed lies below that specified in MD36060.
If the interface signal:
DB31, ... DBX61.4 (axis/ spindle stationary)
is signaled and there is no closed-loop position control active for the spindle, then at the MMC, an
actual speed of zero is displayed and with the system variable $AA_S[n] zero is read.
Application Enable signal for opening a protective device (e.g. open door).
example(s) The workpiece chuck or the tool clamping device is only opened when the spindle is stationary.
The oscillation mode can be switched-in during gear stage change after the spindle has been
braked down to standstill.
The tool clamping device must have been closed before the spindle can be accelerated.
Corresponding to .... MD36060 $MA_STANDSTILL_VELO_TOL
(maximum velocity/speed for signal "Axis/spindle stationary")
DB31, ...
DBX61.5 Position controller active
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The control signals that the position controller for the axis or spindle is closed.
edge change
0→1
Signal state 0 or The control signals that the position controller for the axis or spindle is open.
edge change If "controller enable" is canceled because of a fault or from the PLC user program the position
1→0 controller is opened and therefore the interface signal
DB31, ... DBX61.5 (position controller active)
is set to 0.
Spindle without position control: Signal "Position controller active" is always "0".
See References for other effects.
Basic Functions
1606 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX61.5 Position controller active
Application If the position control is active the axis/spindle is kept in position by the position controller.
example(s) Any brakes or clamps can thus be opened.
The interface signal:
DB31, ... DBX61.5 (position controller active)
can be used as feedback signal for the interface signal:
DB31, ... DBX2.1 (controller enable).
The holding brake of a vertical axis must be activated as soon as the position control is no longer
active.
If a spindle has been technically designed/dimensioned for the purpose, in the part program, it can
be changed-over into the closed-loop position controlled mode as spindle or as axis (with SPCON or
M70).
In these cases, the interface signal "position controller active" is set.
Special cases, Special case for simulation axes (MD30350 $MA_SIMU_AX_VDI_OUTPUT = "1"):
errors, .... The IS "position controller active" is also set for simulation axes as soon as MD = "1".
Corresponding to .... DB31, ... DBX2.1 (controller enable)
DB31, ... DBX1.4 (follow-up mode)
DB31, ... DBX1.5 and 1.6 (position measuring system 1 and 2)
Additional references /DA/ Diagnostics Manual
DB31, ...
DBX61.6 Speed controller active
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The control signals that the speed controller is closed for the axis or spindle.
edge change
0→1
Signal state 0 or The control signals that the speed controller is open for the axis or spindle.
edge change The speed controller output is cleared.
1→0
Application If the spindle is not under position control, the interface signal can be used as a feedback for the
example(s) interface signal:
DB31, ... DBX2.1 (controller enable).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1607
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX61.7 Current controller active
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The control signals that the current controller is closed for the axis or spindle.
edge change
0→1
Signal state 0 or The control signals that the current controller for the axis or spindle is open.
edge change The current controller output (including the feedforward quantities on the manipulated variable for
1→0 the voltage) is cleared.
Corresponding to .... DB31, ... DBX61.5 (position controller active)
DB31, ... DBX61.6 (speed controller active)
DB31, ...
DBX69.0 - DBX69.2 Controller parameter set switchover (A (checkback signal))
Active parameter set
Edge evaluation: no Signal(s) updated: After switchover
Signal state 1 or -
edge change
0→1
Signal state 0 or -
edge change
1→0
Signal irrelevant for MD35590 $MA_PARAMSET_CHANGE_ENABLE = 0
...
Application The binary-coded index of the activated parameter set is located in the 3 bits:
example(s) • 0 corresponds to the 1st parameter set
• 1 corresponds to the 2nd parameter set
• etc. (max. 6 parameter sets are possible)
Special cases, Index 0 is returned if the switchover function is disabled with:
errors, .... MD35590 $MA_PARASET_CHANGE_ENABLE = 0.
Basic Functions
1608 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX76.0 Lubrication pulse
Edge evaluation: yes Signal(s) updated: cyclic
Edge change As soon as the axis/spindle has covered the traversing distance set in the machine data:
0→1 MD33050 $MA_LUBRICATION_DIST (travel distance for lubrication from the PLC),
or the interface signal:
1→0 DB31, ...DBX76.0 (lubrication pulse)
is inverted and the lubrication is started.
The position measurement is restarted after each Power On.
Application The lubrication pump for the axis/spindle can be activated with IS "Lubrication pulse". Machine bed
example(s) lubrication therefore depends on the distance traveled.
Corresponding to .... MD33050 $MA_LUBRICATION_DIST (lubrication pulse distance)
DB31, ...
DBX92.0 Setting-up mode active
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or Setting-up mode is active for the drive (611D). The setting-up mode is selected using the terminals
edge change on the infeed/regenerative feedback module.
0→1 The setting-up mode is required for optimizing the machining process.
The following adaptations and additional functions are possible:
• Drive:
– Reducing the speed setpoint limits
– Reducing the current setpoint limits
• I/R:
– Disabling the closed-loop DC link voltage control
Signal state 0 or Normal operation is active for the drive. The following thus applies:
edge change • The maximum limit values for speed and current setpoint are active
1→0
• DC link voltage control is active
Signal irrelevant for SINUMERIK 840Di
...
Additional references /IAD/ SINUMERIK 840D Installation and Startup Guide; Chapter: SIMODRIVE 611D
DB31, ...
DBX92.1 Ramp-function generator fast stop active
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or PLC receives the signal that the ramp function generator fast stop is active.
edge change The function has been activated by the interface signal:
0→1 DB31, ... DBX20.1 (ramp-function generator fast stop)
The drive is stopped without a ramp function with speed setpoint = 0 and without pulse
suppression.
Signal state 0 or Ramp function generator fast stop is not active for the drive.
edge change
1→0
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1609
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX92.1 Ramp-function generator fast stop active
Application Bypassing the ramp function generator on the servo side
example(s)
Corresponding to .... DB31, ... DBX20.1 (ramp-function generator fast stop)
Additional references /IAD/ SINUMERIK 840D Installation and Startup Guide; Chapter: SIMODRIVE 611D
DB31, ...
DBX92.2 Torque limit 2 active
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or Drive (611D) sends an acknowledgment to the PLC that torque limit 2 is active in addition to torque
edge change limit 1. The particular limit value is defined using the drive parameters.
0→1
Signal state 0 or Only torque limit 1 is active.
edge change
1→0
Signal irrelevant for SINUMERIK 840Di
...
Corresponding to .... DB31, ... DBX20.2 (torque limit 2)
Additional references /IAD/ SINUMERIK 840D Installation and Startup Guide; Chapter: SIMODRIVE 611D
DB31, ...
DBX92.3 Speed setpoint smoothing active
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The speed setpoint smoothing requested by the PLC with the interface signal:
edge change DB31, ... DBX20.3 (speed setpoint smoothing)
0→1 is active.
Signal state 0 or No speed setpoint smoothing is active.
edge change
1→0
Corresponding to .... DB31, ... DBX20.3 (speed setpoint smoothing)
Additional references /IAD/ SINUMERIK 840D Installation and Startup Guide; Chapter: SIMODRIVE 611D
Basic Functions
1610 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX93.0 - DBX93.2 Active drive parameter set A, B, C
Edge evaluation: no Signal(s) updated: cyclic
Meaning The drive module (611D/611U) signals back to the PLC which drive parameter set is currently
active.
With bit combinations A, B and C, 8 different drive parameter sets can be selected for the 611D.
The following assignment applies:
DFWLYHGULYHSDUDPHWHUVHW & % $
DB31, ...
DBX93.3 - DBX93.4 Active motor A, B
Edge evaluation: no Signal(s) updated: cyclic
Meaning The drive module (611D) returns signals to PLC stating which motor selection is currently active.
Motor selection can be used with a main spindle drive (MSD) to switch between star and delta
operation and so reduce the starting current.
The following assignment applies:
$FWLYHPRWRU $SSOLFDWLRQ % $
0RWRU 06'6WDUPRGH
0RWRU 06''HOWDPRGH
0RWRU 5HVHUYHG
0RWRU 5HVHUYHG
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1611
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX93.5 Drive Ready
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or Feedback signal from the drive to the PLC that the drive is ready.
edge change
0→1
Signal state 0 or The drive is not ready.
edge change The drive might be disabled for the following reasons (refer to Fig.):
1→0
• Enable terminals not energized (e.g. terminal 63 "Controller and pulse enable"; terminal 663
"Safe operating stop", terminal 64 "Setpoint enable")
• Drive alarm active (e.g. motor temperature has reached switch-off threshold)
• DC link voltage is too low
• Drive has not yet reached cyclic operation
• Hardware fault
• No position measuring system is active ("parking axis" state)
• I/R is not switched on
As soon as the drive is ready for operation it is stopped (depending on the fault state either with
pulse disable or fast stop) or pulse disable is maintained during ramp up.
The interface signals:
DB10 DBX108.6 (611D ready)
DB31, ... DBX61.7 (current controller active)
DB31, ... DBX61.6 (speed controller active)
are also withdrawn.
IS "611D Ready" is not available for the 840Di when used in conjunction with the drive 611U.
Basic Functions
1612 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX93.5 Drive Ready
*DWLQJVHWHQDEOH
6HUYRDQGSXOVHHQDEOH WHUPLQDO
6WRUHGKDUGZDUHLQSXW
'ULYHUHDG\
6HWSRLQWHQDEOH WHUPLQDO
,6'ULYHUHDG\
QR'DODUP '&OLQNIDXOW
'&OLQNFRQQHFWHG
5DPSXSFRPSOHWHG
6WDWXVUHDG\IRU
WUDYHUVH WHUPLQDO
DB31, ...
DBX93.6 Speed controller integrator disabled
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The request from the PLC to disable the integrator of the speed controller using interface signal:
edge change DB31, ... DBX21.6 (integrator inhibit, speed controller)
0→1 is active for the drive module.
The speed controller has therefore switched from a PI to a P controller.
Signal state 0 or The integrator of the speed controller is enabled. The speed controller functions as a PI controller.
edge change
1→0
Corresponding to .... DB31, ... DBX21.6 (integrator disable, n-controller)
Additional references /IAD/ SINUMERIK 840D Installation and Startup Guide; Chapter: SIMODRIVE 611D
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1613
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX93.7 Pulses enabled
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The pulse enable for the drive module is available. The axis/spindle can now be traversed.
edge change
0→1
Signal state 0 or The drive module pulses are suppressed. Therefore, the axis/spindle cannot be traversed.
edge change The pulses are suppressed as soon as there is no enable signal (refer to Fig.).
1→0
Also, if the "controller enable of drive" is withdrawn, the drive is stopped with setpoint 0
(regenerative braking).
A timer is started in the drive module and after the configured time has expired:
MD1404 $MD_PULSE_SUPPRESSION_DELAY (timer stage, pulse suppression),
the pulses are inhibited.
If, within this time, the actual speed reaches the shutdown speed:
MD1403 $MD_PULSE_SUPPRESSION_SPEED (pulse suppression),
then at this time, the pulses are inhibited.
If the speed is less than/equal to the speed threshold (MD1403), and if the controller enable of the
drive is withdrawn, then the pulses are immediately suppressed.
Pulse suppression is also triggered if there is no position measuring system ("parking axis" state).
As soon as the pulses are suppressed, then also the interface signals:
DB31, ... DBX61.7 (current controller active)
and
DB31, ... DBX61.6 (speed controller active)
are reset.
Basic Functions
1614 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX93.7 Pulses enabled
&HQWUDOSXOVHHQDEOH
WHUPLQDO 3XOVHHQDEOH
VRIWZDUH
3XOVHHQDEOH 3XOVHVHQDEOHG
KDUGZDUH
6DIHRSHUDWLQJVWRS '
,5
WHUPLQDO GULYHPRGXOH
3( 3XOVHHQDEOH
,5 ,QIHHGUHJHQHUDWLYH
IHHGEDFNPRGXOH
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1615
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX94.0 Motor temperature prewarning
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The drive module signals a "Motor temperature prewarning" to the PLC.
edge change In this case, the motor temperature has exceeded the defined warning threshold:
0→1 MD1602 $MD_MOTOR_TEMP_WARN_LIMIT (maximum motor temperature; standard value
120 °C)
(② in the diagram).
If the motor temperature remains too high, after a defined time:
MD1603 $MD_MOTOR_TEMP_ALARM_TIME
(timer state, motor temperature alarm, standard value 240 s)
the drive is regeneratively braked and then the pulses are inhibited (③ in the diagram).
Alarm 300614 is output and the interface signal:
DB10 DBX108.6 (611D ready)
is withdrawn.
If the motor temperature rises still further and the shutdown threshold defined in:
MD1607 $MD_MOTOR_TEMP_SHUTDOWN_LIMIT
(motor temperature shutdown limit, default value 155 °C)
is reached, the drive is stopped immediately (refer to ④ in the diagram).
An alarm is also output and IS "Drive Ready" canceled.
However, if the motor temperature drops back down to below the warning threshold, the IS is reset
to 0 (refer to ② in the diagram).
Special case:
If no temperature sensor signal is measured, this is interpreted as a fault in the motor PTC
thermistor
In this case, the interface signal:
DB31, ... DBX94.0 (motor temperature prewarning)
is also set.
The procedure continues as described above.
Signal state 0 or The motor temperature is below the warning threshold.
edge change The actual motor temperature is displayed in the axis/spindle service display in the operating area
1→0 "diagnostics".
This display corresponds to the machine data:
MD1702 $MD_MOTOR_TEMPERATURE (motor temperature)
Basic Functions
1616 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX94.0 Motor temperature prewarning
0RWRUWHPSHUDWXUH $ODUP
0'0'B02725B7(03
6KXWGRZQOLPLW
B6+87'2:1B/,0,7 $ODUP
:DUQLQJ :DUQLQJ
0'0'B02725
:DUQLQJWKUHVKROG
B7(03B:$51B/,0,7
7LPH
7LPH
'80'
0'0'B02725B7(03
B$/$50B7,0(
:DUQLQJ :DUQLQJ
,60RWRU
WHPSHUDWXUH
SUHZDUQLQJ
7LPH
$ODUP $ODUP
,6'ULYH
UHDG\
Application As soon as "Motor temperature prewarning" has been signaled, the PLC can, for example, initiate
example(s) controlled shutdown of the drives.
Corresponding to .... DB31, ... DBX93.5 (drive ready)
MD1602 $MD_MOTOR_TEMP_WARN_LIMIT
MD1603 $MD_MOTOR_TEMP_ALARM_TIME
MD1607 $MD_MOTOR_TEMP_SHUTDOWN_LIMIT
Additional references /DA/ Diagnostics Manual
/IAD/ SINUMERIK 840D Installation and Startup Guide; Chapter: SIMODRIVE 611D
DB31, ...
DBX94.1 Heatsink temperature prewarning
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The drive module sends the warning "heatsink temperature prewarning" to the PLC.
edge change This triggers the following:
0→1
• Terminal 5 on the infeed/regenerative feedback module is simultaneously activated.
• The drive module is switched off after 20 seconds. The drives are stopped when the impulse
enable is removed. Then alarm 300515 is triggered.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1617
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX94.1 Heatsink temperature prewarning
Signal state 0 or The drive module heatsink temperature pre-warning has not responded.
edge change
1→0
Application As soon as "heatsink temperature prewarning" has been signaled, the PLC can, for example,
example(s) initiate controlled shutdown of the drives.
Additional references /DA/ Diagnostics Manual
DB31, ...
DBX94.2 Ramp-up completed
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The PLC is signaled, that after a new speed setpoint has entered, the speed actual value has
edge change reached the speed tolerance bandwidth:
0→1 MD1426 $MD_SPEED_DES_EQ_ACT_TOL (tolerance bandwidth for nset = nact - signal)
and has remained within this tolerance bandwidth for at least the time defined using machine data:
MD1427 $MD_SPEED_DES_EQ_ACT_DELAY (delay time nset = nact - signal)
refer to the diagram).
Even if the speed actual value leaves the tolerance band (because of speed fluctuations resulting
from changes in load) the "ramp-up completed" signal remains (1 signal).
Signal state 0 or The conditions described above have not yet been fulfilled. The ramp-up has therefore not yet been
edge change completed.
1→0
Basic Functions
1618 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX94.2 Ramp-up completed
5DPSIXQFWLRQJHQHUDWRU
DFWLYH FRQWUROZRUGVHUYR
DFWLYH
LQDFWLYH
6SHHGVHWSRLQW 7LPH
6SHHGQ QVHW 0'
0'B63(('B'(6B(4B$&7B72/
6SHHGWROHUDQFH
EDQGZLGWK
6SHHGDFWXDOYDOXHQDFW
,65DPSXS
FRPSOHWHG 7LPH
77' 7!7'
WKHUHIRUH VLJQDO
QRVLJQDO WKDWLV
LQWHUORFNHG
,6QDFW
QVHW 7LPH
77' 7!7' 7!7'
WKHUHIRUH 6LJQDO 6LJQDO
QRVLJQDO
7LPH
7' 0'0'B63(('B'(6B(4B$&7B'(/$<
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1619
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX94.3 |Md| < Mdx
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or 611D signals to the PLC that the torque setpoint |Md| does not exceed the threshold torque Mdx in
edge change the steady-state condition (i.e. ramp-up completed) (refer to the diagram).
0→1 The threshold torque is set using the machine data:
MD1428 $MD_TORQUE_THRESHOLD_X (threshold torque)
as a % of the actual torque limit value.
The torque threshold characteristic is speed-dependent.
While ramping-up, the interface signal:
DB31, ... DBX94.2 (|Md|< Mdx)
remains at 1.
The signal |Md|< Mdx only becomes active after ramp-up has been completed:
DB31, ... DBX94.2 (ramp-up completed) = 1
and the signal interlocking time for the threshold torque:
MD1429 $MD_TORQUE_THRESHOLD_X_DELAY (delay time nd < ndx - signal)
has expired
Signal state 0 or The torque setpoint |Md| is larger than the threshold torque Mdx.
edge change If necessary, the PLC user program can initiate a response.
1→0
Basic Functions
1620 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX94.3 |Md| < Mdx
5DPSIXQFWLRQJHQHUDWRU
DFWLYH FRQWUROZRUGVHUYR
DFWLYH
LQDFWLYH
7LPH
6SHHG
6SHHGVHWSRLQWQVHW
6SHHG
WROHUDQFH
EDQG
6SHHGDFWXDOYDOXHQDFW
7LPH
7RUTXH
7KUHVKROGWRUTXH'
0'0'B72548(B7+5(6+2/'B;
IRU-0G-0G[
7RUTXHVHWSRLQW
0G
,65DPSXS 7LPH
FRPSOHWHG
77' 7!7'
WKHUHIRUH VLJQDO
QRVLJQDO WKDWLV
LQWHUORFNHG
,6 7LPH
,0G,0G[
5HPDLQVDFWLYHGXULQJUDPS"XS 7'
LQWHUORFNHGWRDFWLYH
7LPH
7' 0'0'B63(('B'(6B(4B$&7B'(/$<
7' 0'0'B72548(B7+5(6+2/'B;B'(/$<
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1621
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX94.3 |Md| < Mdx
Corresponding to .... DB31, ... DBX94.2 (ramp-up completed)
MD1428 $MD_TORQUE_THRESHOLD_X
MD1429 $MD_TORQUE_THRESHOLD_X_DELAY
MD1427 $MD_SPEED_DES_EQ_ACT_DELAY
Additional references /IAD/ SINUMERIK 840D Installation and Startup Guide; Chapter: SIMODRIVE 611D
DB31, ...
DBX94.4 |nact| < nmin
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The SIMODRIVE 611 D/ 611D signals the PLC that the speed actual value nact is less than the
edge change minimum speed (nmin).
0→1 The minimum speed is defined using the machine data:
MD1418 $MD_SPEED_THRESHOLD_MIN.
Signal state 0 or The speed actual value is higher than the minimum speed.
edge change
1→0
Corresponding to .... MD1418 $MD_SPEED_THRESHOLD_MIN (minimum speed (nmin for nact< nmin))
Additional references /IAD/ SINUMERIK 840D Installation and Startup Guide; Chapter: SIMODRIVE 611D
DB31, ...
DBX94.5 |nact| < nx
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The 611D/ 611U signals the PLC that the speed actual value nact is less than the threshold speed
edge change (nx).
0→1 The threshold speed is defined using the machine data:
MD1417 $MD_SPEED_THRESHOLD_X.
Signal state 0 or The speed actual value is higher than the threshold speed.
edge change
1→0
Corresponding to .... MD1417 $MD_SPEED_THRESHOLD_X (threshold speed (nx for nact < nx))
Additional references /IAD/ SINUMERIK 840D Installation and Startup Guide; Chapter: SIMODRIVE 611D
Basic Functions
1622 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX94.6 nact = nset
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or SIMODRIVE 611D/611U signals the PLC that after a new speed setpoint has been entered, the
edge change speed actual value nact has reached the speed tolerance bandwidth:
0→1 MD1426 $MD_SPEED_DES_EQ_ACT_TOL (tolerance bandwidth for nset = nact signal)
and has remained within this tolerance bandwidth for at least the time defined using machine data:
MD1427 $MD_SPEED_DES_EQ_ACT_DELAY (delay time for nset = nact signal)
(refer to the diagram).
If the speed actual value then leaves the tolerance bandwidth, then contrary to the signal "ramp-up
completed", the interface signal:
DB31, ... DBX94.6 (nact = nset)
is set to 0.
Signal state 0 or The conditions described above have not yet been fulfilled. The speed actual value is outside the
edge change speed tolerance bandwidth.
1→0
Corresponding to .... DB31, ... DBX94.2 (ramp-up completed)
MD1426 $MD_SPEED_DES_EQ_ACT_TOL
MD1427 $MD_SPEED_DES_EQ_ACT_DELAY
Additional references /IAD/ SINUMERIK 840D Installation and Startup Guide; Chapter: SIMODRIVE 611D
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1623
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX94.7 Variable signaling function
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 The SIMODRIVE 611D/611U signals the PLC that the threshold value has exceeded the value
being monitored.
With the variable signaling function it is possible to monitor for each axis whether a defined
threshold - that can be entered - is exceeded for any programmable value of SIMODRIVE
611D/611U. A corresponding interface signal is then sent to the PLC.
The parameters for the variables being monitored are set in the following 611D machine data:
• MD1620 $MD_PROG_SIGNAL_FLAGS (bits variable signal function)
• MD1621 $MD_PROG_SIGNAL_NR (signal number variable signal function)
• MD1622 $MD_PROG_SIGNAL_ADDRESS (address variable signal function)
• MD1623 $MD_PROG_SIGNAL_THRESHOLD (threshold variable signal function)
• MD1624 $MD_PROG_SIGNAL_HYSTERESIS (hysteresis variable signal function)
• MD1625 $MD_PROG_SIGNAL_ON_DELAY (on delay variable signal function)
• MD1626 $MD_PROG_SIGNAL_OFF_DELAY (off delay variable signal function)
Monitoring:
The parameterized variable is monitored to check whether it exceeds a defined threshold. In
addition, a tolerance band (hysteresis) can be defined which is considered when scanning for
violation of the threshold value. Further, the "threshold exceeded" signal can be also be logically
combined with an on delay and off delay time (refer to the diagram).
Selection:
The variable to be monitored can be selected by entering a signal number or by entering a symbolic
address.
The machine data:
MD1620 $MD_PROG_SIGNAL_FLAGS (bits, variable signaling function)
can be used to enable and disable the variable signaling function on an axis-for-axis basis.
This machine data can also be used to determined whether the threshold value comparison is to be
signed or unsigned.
For further information see References.
Signal state 0 SIMODRIVE 611D signals the PLC that the threshold value of the variable being monitored has not
been exceeded or that the conditions defined in the above 611D-MD are not fulfilled.
If the variable signaling function is disabled (MD1620), signal state "0" is output to the PLC.
Basic Functions
1624 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX94.7 Variable signaling function
7KUHVKROG 7ROHUDQFHEDQG
0' 0'
0'B352*B 0'B352*B6,*1$/
6,*1$/B B+<67(5(6,6
7+5(6+2/'
6LJQDO7KUHVKROGYDOXHH[FHHGHG
3XOOLQGHOD\WLPH 'URSRXWGHOD\WLPH
0'0'B352*B6,*1$/B21B'(/$< 0'0'B352*B6,*1$/B2))B'(/$<
Application With the variable signal function the machine tool manufacturer can monitor one additional
example(s) threshold value for specific applications for each axis/spindle and evaluate the result in the PLC
user program.
Example:
The interface signal:
DB31, ... DBX94.7 (variable signaling function)
should be set to a 1 if the motor torque exceeds 50 % of the rated torque.
Corresponding to .... MD1620 $MD_PROG_SIGNAL_FLAGS (bits variable signal function)
MD1621 $MD_PROG_SIGNAL_NR (signal number variable signal function)
MD1622 $MD_PROG_SIGNAL_ADDRESS (address variable signal function)
MD1623 $MD_PROG_SIGNAL_THRESHOLD (threshold variable signal function)
MD1624 $MD_PROG_SIGNAL_HYSTERESIS (hysteresis variable signal function)
MD1625 $MD_PROG_SIGNAL_ON_DELAY (on delay variable signal function)
MD1626 $MD_PROG_SIGNAL_OFF_DELAY (off delay variable signal function)
Additional references /IAD/ SINUMERIK 840D Installation and Startup Guide; Chapter: SIMODRIVE 611D
DB31, ...
DBX95.0 VDC link < warning threshold
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The drive signals the PLC that the DC link voltage VDC link has dropped below the DC link
edge change undervoltage warning threshold.
0→1 The DC link undervoltage warning threshold is defined using:
MD1604 $MD_LINK_VOLTAGE_WARN_LIMIT.
The DC link undervoltage warning threshold should be defined to be greater than 400 V, depending
on the application case. If the DC link voltage drops below 280 V, the unit is powered-down by the
hardware.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1625
NC/PLC Interface Signals (Z1)
Various interface signals and functions (A2)
DB31, ...
DBX95.0 VDC link < warning threshold
Signal state 0 or The DC link voltage VDClink is greater than the DC link undervoltage warning threshold.
edge change
1→0
Application If a warning signal is given, measures can be taken by the PLC user program, for example, to stop
example(s) machining (e.g. start tool retraction) or to buffer the DC link voltage.
Corresponding to .... MD1604 $MD_LINK_VOLTAGE_WARN_LIMIT (DC link undervoltage warning threshold)
Additional references /IAD/ SINUMERIK 840D Installation and Startup Guide; Chapter: SIMODRIVE 611 digital
DB31, ...
DBX95.7 i2t monitoring
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The drive signals the PLC that the power unit monitoring has responded.
edge change The rated current limit of this i2t monitoring function is defined in drive machine data
0→1 MD1261 $MD_I2T_NOMINAL_REDUCTION.
It is also possible to set the time for which the power unit may be at its limit in machine data:
MD1262 $MD_DIAGNOSIS_I2T
The i2t monitoring function can be used to protect the power unit of digital drives against continuous
overloads.
Signal state 0 or The i2t monitoring function has not responded.
edge change
1→0
Application Further measures can be initiated by the PLC user program, if necessary, when the warning signal
example(s) is activated.
Corresponding to .... MD1261 $MD_I2T_NOMINAL_REDUCTION (i2t limiting, rated power unit current)
MD1262 $MD_DIAGNOSIS_I2T (i2t time at the limit)
MD1263 $MD_LIMIT_I2T (i2t actual limit factor)
MD1264 $MD_LOAD_I2T (i2t actual utilization factor)
Additional references /IAD/ SINUMERIK 840D Installation and Startup Guide; Chapter: SIMODRIVE 611digital
Basic Functions
1626 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Axis monitoring, protection zones (A3)
DB21, ...
DBX1.1 Enable protection zones
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or When a positive edge of this signal appears, a protection zone is enabled and the active alarm
edge change cleared. Then, motion can start in the same protection zone. As a result of the start of motion, the
0→1 protection zone is enabled, the IS "machine or channel-specific protection zone violated" is set, and
the axis starts to move.
The enabling signal is canceled if motion is started that does not lead into the enabled protection
zone.
Signal state 0 or No effect
edge change
1→0
Application This allows protection zones to be released:
example(s) • if the current position is within a protection zone (alarm 2 present)
• if motion is to be started towards the protection zone limit
(alarm 1 or 2 present)
DB21, ...
DBX8.0 - DBX9.1 Activate machine-specific protection zone 1 ( ...10)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The pre-activated, machine-related protection zone 1 ( ...10) is activated by the PLC user program.
edge change The protection zone is immediately activated.
0→1
Only protection zones that have been pre-activated in the part program can be activated.
Signal state 0 or The pre-activated, machine-related protection zone 1 ( ...10) is de-activated by the PLC user
edge change program.
1→0 The protection zone is immediately de-activated.
Only protection zones that have been activated via the PLC and have been pre-activated in the NC
part program can be de-activated.
Application Before a sensor, for example, is moved into the working range, the relevant machine-related
example(s) protection zone can be activated.
DB21, ...
DBX10.0 - DBX11.1 Activate channel-specific protection zone 1 ( ...10)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The preactivated, channel-specific protection zone 1 ( ...10) is activated by the PLC user program.
edge change The protection zone is immediately activated.
0→1
Only protection zones that have been pre-activated in the part program can be activated.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1627
NC/PLC Interface Signals (Z1)
Axis monitoring, protection zones (A3)
DB21, ...
DBX10.0 - DBX11.1 Activate channel-specific protection zone 1 ( ...10)
Signal state 0 or The pre-activated, channel-specific protection zone 1 ( ...10) is de-activated by the PLC user
edge change program.
1→0 The protection zone is immediately de-activated.
Only protection zones that have been activated via the PLC and have been pre-activated in the NC
part program can be de-activated.
Application Before a synchronous spindle, for example, is moved into the working range, the relevant machine-
example(s) related protection zone can be activated.
DB21, ...
DBX272.0 – Machine-related protection zone 1 ( ...10) pre-activated
DBX273.1
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The machine-related protection zone 1 ( ...10) is preactivated in the current block.
edge change (Pre-activated in the part program).
0→1 The protection zone can therefore be activated or de-activated in the PLC user program using the
interface signal:
DB21, ... DBX8.0 - DBX9.1 (machine-related protection zone 1 (...10))
Signal state 0 or The machine-related protection zone 1 ( ...10) is deactivated in the current block.
edge change (De-activated in the part program).
1→0 The protection zone can therefore not be activated or de-activated in the PLC user program using
the interface signal:
DB21, ... DBX8.0 to DBX9.1 (activate machine-related protection zone 1 (...10))
Corresponding DB21, ... DBX8.0 - DBX9.1 (activate machine-related protection zone 1 (...10))
to ....
DB21, ...
DBX274.0 – Channel-specific protection zone 1 (...10) pre-activated
DBX275.1
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The channel-specific protection zone 1 ( ...10) is preactivated in the current block.
edge change (Pre-activated in the part program).
0→1 The protection zone can therefore be activated or de-activated in the PLC user program using the
interface signal:
DB21, ... DBX10.0 - DBX11.1 channel-specific protection zone 1 (...10))
Signal state 0 or The channel-specific protection zone 1 ( ...10) is deactivated in the current block.
edge change (De-activated in the part program.)
1→0 The protection zone can therefore not be activated or de-activated in the PLC user program using
the interface signal:
DB21, ... DBX10.0 - DBX11.1 (channel-specific protection zone 1 (...10))
Corresponding DB21, ... DBX10.0 - DBX11.1 (activate channel-specific protection zone 1 (...10))
to ....
Basic Functions
1628 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Axis monitoring, protection zones (A3)
DB21, ...
DBX276.0 – Machine-related protection zone 1 (...10) violated
DBX277.1
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The activated, machine-related protection zone 1 ( ...10) is violated in the current block or in the
edge change current JOG movement.
0→1 The pre-activated, machine-related protection zone 1 ( ...10) would be violated in the current block
if it would be activated by the PLC.
Signal state 0 The activated, machine-related protection zone 1 (...10) is not violated in the current block.
or edge change The pre-activated, machine-related protection zone 1 (...10) would not be violated in the current
1→0 block if it would be activated by the PLC.
Application Before parts are moved into the working zone - this IS can be used to check as to whether the tool
example(s) or workpiece is located in the machine-related protection zone of the part to be moved in.
DB21, ...
DBX278.0 - Channel-specific protection zone 1 (...10) violated
DBX279.1
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The activated, channel-specific protection zone 1 ( ...10) is violated in the current block.
edge change The pre-activated, channel-specific protection zone 1 ( ...10) would be violated in the current block
0→1 if it would be activated by the PLC.
Signal state 0 or The activated, channel-specific protection zone 1 ( ...10) is not violated in the current block.
edge change The pre-activated, channel-specific protection zone 1 (...10) would not be violated in the current
1→0 block if it would be activated by the PLC.
Application Before parts are moved into the working zone - this IS can be used to check whether the tool or
example(s) workpiece is located in the channel-specific protection zone of the part to be moved-in.
DB31, ...
DBX2.3 Clamping in progress
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or Clamping in progress.
edge change The clamping monitoring function is activated.
0→1
Signal state 0 or Clamping completed.
edge change The clamping monitoring function is replaced by the standstill (zero speed) monitoring.
1→0
Corresponding to .... MD36050 $MA_CLAMP_POS_TOL (Clamping tolerance)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1629
NC/PLC Interface Signals (Z1)
Axis monitoring, protection zones (A3)
DB31, ...
DBX3.6 Velocity/spindle speed limitation
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The NCK limits the velocity/spindle speed to the limit value set in the machine data:
edge change MD35160 $MA_SPIND_EXTERN_VELO_LIMIT
0→1
Signal state 0 or No limitation active.
edge change
1→0
Corresponding to .... MD35100 $MA_SPIND_VELO_LIMIT (max. spindle speed)
SD43220 $SA_SPIND_MAX_VELO_G26 (prog. spindle speed limiting G26)
MD43230 $SA_SPIND_MAX_VELO_LIMIT (prog. spindle speed limiting G96/G961)
DB31, ...
DBX12.0 - DBX12.1 Hardware limit switches plus and minus
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or A switch can be mounted at each end of the travel range of a machine axis which will cause a
edge change signal "hardware limit switch plus or minus" to be signaled to the NC via the PLC if it is actuated.
0→1 If the signal is recognized as set, alarm 021614 "hardware limit switch + or -" is output and the axis
is decelerated immediately.
The braking/deceleration type is defined using the machine data:
MD36600 $MA_BRAKE_MODE_CHOICE (braking behavior at the hardware limit switch)
If the controller enable is withdrawn at the same time as the "hardware limit switch" signal, then the
axis responds as described in Chapter A2 ("various interface signals").
Signal state 0 or Normal condition - a hardware limit switch has not been actuated.
edge change
1→0
Corresponding to .... MD36600 $MA_BRAKE_MODE_CHOICE (deceleration behavior when the hardware limit switch
responds)
DB31, ...
DBX12.2 - DBX12.3 2nd software limit switch plus or minus
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or 2nd software limit switch for the plus and minus directions is effective.
edge change 1st software limit switch for the plus and minus directions is not effective.
0→1
In addition to the 1st software limit switches (plus and minus), the 2nd software limit switches (plus
and minus) can be activated using these interface signals.
The position is defined using machine data:
MD36130 $MA_POS_LIMIT_PLUS2 (2nd software limit switch plus)
and
MD36120 $MA_POS_LIMIT_MINUS2 (2nd software limit switch minus).
Basic Functions
1630 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Axis monitoring, protection zones (A3)
DB31, ...
DBX12.2 - DBX12.3 2nd software limit switch plus or minus
Signal state 0 or 1st software limit switch for the plus and minus directions is effective.
edge change 2nd software limit switch for the plus and minus directions is not effective.
1→0
Corresponding to .... MD36110 $MA_POS_LIMIT_PLUS (1st software limit switch plus)
MD36130 $MA_POS_LIMIT_PLUS2 (2nd software limit switch plus)
MD36100 $MA_POS_LIMIT_MINUS (1st software limit switch minus)
MD36120 $MA_POS_LIMIT_MINUS2 (2nd software limit switch minus)
DB31, ...
DBX60.2 - DBX60.3 Encoder limit frequency exceeded 1
Encoder limit frequency exceeded 2
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The limit frequency set in the machine data:
edge change MD36300 $MA_ENC_FREQ_LIMIT (encoder limit frequency)
0→1 has been exceeded.
The reference point for the position measuring system involved has been lost (IS:
Referenced/synchronized has a signal state 0). Closed loop position control is no longer possible.
Spindles continue to run with closed-loop speed control. Axes are stopped with a fast stop (with
open-circuit position control loop) along a speed setpoint ramp.
Signal state 0 or The limit frequency set in machine data:
edge change MD36300 $MA_ENC_FREQ_LIMIT
1→0 is no longer exceeded
(encoder frequency < ENC_FREQ_LIMIT_LOW).
For the edge change 1 → 0, the encoder frequency must have fallen below the value of machine
data:
MD36302 $MA_ENC_FREQ_LIMIT_LOW
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1631
NC/PLC Interface Signals (Z1)
Continuous-path mode, exact stop and LookAhead (B1)
DB21, ...
DBX36.3 All axes stationary
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or All axes assigned to the channel are stationary with interpolator end.
edge change No other traversing movements are active.
0→1
DB31, ...
DBX60.6 Position reached with exact stop coarse
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The axis is in the appropriate exact stop and no interpolator is active for the axis and:
edge change • the control is in the reset mode (reset key or end of program)
0→1
• the axis was last programmed as a positioning axis or positioning spindle (initial setting of
supplementary axis: Positioning axis)
• the path movement was stopped with NC Stop
• the spindle is in the closed-loop position-controlled mode (SPCON/SPOS instruction) and is
stationary
• the axis is switched from closed-loop speed-controlled to closed-loop position-controlled mode
with IS "position measuring system"
Signal state 0 or The axis is not in the appropriate exact stop or the interpolator is active for the axis or:
edge change • the path movement was stopped with NC Stop
1→0
• the spindle is in the closed-loop speed-controlled mode (SPCOF/SPOSA instruction)
• the "follow-up" mode is active for the axis
• the "parking" mode is active for the axis
• the axis is switched from closed-loop position-controlled to closed-loop speed-controlled mode
with IS "position measuring system"
Signal irrelevant for Rotary axes that are programmed as rounding axes.
...
Corresponding to .... MD36000 $MA_STOP_LIMIT_COARSE (exact stop coarse)
Basic Functions
1632 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Continuous-path mode, exact stop and LookAhead (B1)
DB31, ...
DBX60.7 Position reached with exact stop fine
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or Refer to DB31, ... DBX60.6 (position reached with exact stop coarse).
edge change
0→1
Signal state 0 or Refer to DB31, ... DBX60.6 (position reached with exact stop coarse).
edge change
1→0
Signal irrelevant for Rotary axes that are programmed as rounding axes.
...
Corresponding to .... MD36010 $MA_STOP_LIMIT_FINE (exact stop fine)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1633
NC/PLC Interface Signals (Z1)
Travel to fixed stop (F1)
DB31, ...
DBX1.1 Acknowledge fixed stop reached
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or Significance after the fixed stop has been reached:
edge change DB31, ... DBX62.5 (fixed stop reached) = 1
0→1 → The axis presses against the fixed stop with the clamping torque:
→ The fixed stop monitoring window is activated.
→ A block change is executed.
Signal state 0 Significance after the fixed stop has been reached:
DB31, ... DBX62.5 (fixed stop reached) = 1
→ The axis presses against the fixed stop with the clamping torque.
→ The fixed stop monitoring window is activated.
→ A block change is not executed and the channel message
"Wait: Auxiliary function acknowledgment missing" is displayed.
Edge change Meaning after the fixed stop has been reached:
1→0 IS "Fixed stop reached" DB31, ... DBX62.5 = 1
→ The function is aborted, the alarm "20094 axis %1 Function aborted" is output.
Significance when de-selecting the function FXS=0 via the part program:
→ The torque limiting and the monitoring of the fixed stop monitoring window are canceled.
IS irrelevant MD37060 $MA_FIXED_STOP_ACKN_MASK
for ... (monitoring PLC acknowledgments for travel to fixed stop)
= 0 or 1
Corresponding to .... MD37060 $MA_FIXED_STOP_ACKN_MASK
(monitoring PLC acknowledgments for travel to fixed stop)
DB31, ... DBX62.5 (fixed stop reached)
DB31, ...
DBX1.2 Sensor for fixed stop
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or Fixed stop is reached.
edge change
0→1
Signal state 0 or Fixed stop is not reached.
edge change
1→0
Corresponding to .... The signal is only active if:
MD37040 $MA_FIXED_STOP_BY_SENSOR = 1
Basic Functions
1634 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Travel to fixed stop (F1)
DB31, ...
DBX3.1 Enable travel to fixed stop
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or Meaning when FXS function is selected using the part program
edge change (IS "Activate travel to fixed stop" = 1):
0→1 → Travel to fixed stop is enabled and the axis traverses from the start position at the programmed
velocity to the programmed target position.
Signal state 0 Meaning when FXS function is selected using the part program
(IS "Activate travel to fixed stop" = 1):
→ Travel to fixed stop is inhibited.
→ The axis is stationary at the start position with reduced torque.
→ The channel message "wait": Auxiliary function acknowledgment missing" is displayed.
Edge change Meaning before the fixed stop has been reached
1→0 (IS "fixed stop reached" = 0):
→ Travel to fixed stop is aborted.
→ The alarm "20094: Axis%1 Function aborted" is displayed.
Meaning after the fixed stop has been reached
IS "fixed stop reached" = 1):
→ The torque limiting and monitoring of the fixed stop monitoring window are canceled.
Deselection: DB31, ...DBX1.1 (acknowledge fixed stop reached)
IS irrelevant MD37060 $MA_FIXED_STOP_ACKN_MASK
for ... (monitoring PLC acknowledgments for travel to fixed stop)
= 0 or 2
Corresponding to .... MD37060 $MA_FIXED_STOP_ACKN_MASK
(monitoring PLC acknowledgments for travel to fixed stop)
DB31, ... DBX62.4 (activate travel to fixed stop)
DB31, ...
DBX62.4 Activate travel to fixed stop
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The "Travel to fixed stop" function is active.
edge change This signal is used for analog drives in order, for example, to activate the current or torque limitation
0→1 parameterized in the actuator.
Signal state 0 or The "Travel to fixed stop function" is not active.
edge change
1→0
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1635
NC/PLC Interface Signals (Z1)
Travel to fixed stop (F1)
DB31, ...
DBX62.5 Fixed stop reached
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The fixed stop was reached after selecting the FXS function.
edge change This signal is used by analog drives, e.g. to switch the actuator from speed-controlled to current or
0→1 torque-controlled mode so that a programmable clamping torque can be set.
Signal state 0 or The fixed stop has still not been reached after selecting the FXS function.
edge change
1→0
Basic Functions
1636 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Help function output to PLC (H2)
DB21, ...
DBX30.5 Activate associated M01
Edge evaluation: no Signal(s) updated:
Signal state 1 or PLC signals the NCK that the associated M01 (help function) should be activated.
edge change
0→1
Signal state 0 or De-activate the associated M01 (help function).
edge change
1→0
Corresponding to .... DB21, ... DBX 318.5 (associated M01 active)
DB21, ...
DBB58, M, S, T, D, H, F functions modification
DBB60 - DBB65
Edge evaluation: No Signal(s) updated: job-controlled by NCK
Signal state 1 or One M, S, T, An D, H, or F function has been output to the interface with a new value together with
edge change the associated change signal at the beginning of an OB1 cycle.
0→1 In this case, the change signal indicates that the appropriate value is valid.
Signal state 0 or The change signals are reset by the PLC basic program at the start of the next OB1 cycle.
edge change The value of the data involved is not valid.
1→0
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1637
NC/PLC Interface Signals (Z1)
Help function output to PLC (H2)
DB21, ...
DBX59.0 - DBX59.4 M function 1-5 not included in list
Edge evaluation: No Signal(s) updated: job-controlled by NCK
Signal state 1 or M function is greater than 99 (for extended address = 0) or for extended address > 0, not included
edge change in the decoding list.
0→1 This signal is available - together with the associated M change signal - for one OB1 cycle.
Cause:
• Incorrect M function programmed
• M function not configured in the decoding list of the PLC
Remedy, e.g.:
• PLC sets read-in disable
• Output of a PLC alarm
Signal state 0 or M function less than 99 (for extended address = 0) or for extended address > 0 included in the
edge change decoding list.
1→0
DB21, ...
DBB60 - DBB64, M, S, T, D, H, F functions Additional info "Quick" (fast acknowledgment)
DBB66 - DBB67
Edge evaluation: No Signal(s) updated: job-controlled by NCK
Signal state 1 or One M, S, T, An D, H, or F function has been output to the interface with a new value together with
edge change the associated change signal at the beginning of an OB1 cycle.
0→1 In this case, the additional info "Quick" indicates the quick help function.
Signal state 0 or The change signals are reset by the PLC basic program at the start of the next OB1 cycle.
edge change The value of the data involved is not valid.
1→0
Basic Functions
1638 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Help function output to PLC (H2)
DB21, ...
DBB118, DBB119 T function 1
Edge evaluation: No Signal(s) updated: job-controlled by NCK
Signal state 1 or The T function programmed in an NC block is made available here
edge change as soon as the T change signal is available.
0→1 Value range of T functions: 0 to 99 999 999; integer number
The T function remains valid until it is overwritten by a new T function.
Signal state 0 or • After the PLC has ramped-up.
edge change • All help functions are deleted before a new function is entered.
1→0
Application Control of automatic tool selection.
example(s)
Special cases, With T0, the current tool is removed from the tool holder but not replaced by a new tool (default
errors, ...... configuration of the machine manufacturer).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1639
NC/PLC Interface Signals (Z1)
Help function output to PLC (H2)
DB21, ...
DBB129 D function 1
Edge evaluation: No Signal(s) updated: job-controlled by NCK
Signal state 1 or The D function programmed in an NC block is made available here
edge change as soon as the D change signal is available.
0→1 Value range of D functions: 0 to 999; integer number
The D function remains valid until it is overwritten by a new D function.
Signal state 0 or • After the PLC has ramped-up.
edge change • All help functions are deleted before a new function is entered.
1→0
Application Implementation of protective functions.
example(s)
Special cases, D0 is reserved for deselecting the current tool offset.
errors, ......
Basic Functions
1640 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Help function output to PLC (H2)
DB21, ...
DBB194 - DBB206 Dynamic M functions: M0 - M99
Edge evaluation: No Signal(s) updated: job-controlled by NCK
Signal state 1 or The dynamic M signal bits are set by decoded M functions.
edge change
0→1
Signal state 0 or For a general help function output, the dynamic M signal bits are acknowledged by the PLC basic
edge change program after the OB1 has been completely run-through (executed once).
1→0 For a fast help function output, after the PLC identifies the help functions, they are acknowledged in
the same OB40 cycle.
Application Spindle clockwise/counterclockwise rotation, switch coolant ON/OFF
example(s)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1641
NC/PLC Interface Signals (Z1)
Help function output to PLC (H2)
DB21, ...
DBX318.5 Associated M01/M00 active
Edge evaluation: No Signal(s) updated:
Signal state 1 or This bit indicates that an M00 or M01 help function is active if the appropriate associated M00 and
edge change M01 (help functions) were enabled/activated beforehand.
0→1
Signal state 0 or No associated M00/M01 help functions active.
edge change
1→0
Corresponding to .... DB21, ... DBX30.5 (activate associated M01)
DB31, ...
DBD78 Value of F help function
Edge evaluation: no Signal(s) updated: Job-controlled
The values of the F help functions for positioning axes are stored here. The axis to which each
value applies is determined by the extended address.
DB31, ...
DBD86 Value of M help function
Edge evaluation: no Signal(s) updated: Job-controlled
The values for the M3, M4, M5 help functions are sent to the associated interface for the addressed
spindle.
DB31, ...
DBD88 Value of S help function
Edge evaluation: no Signal(s) updated: Job-controlled
The values for the S help functions are sent to the associated interface for the addressed spindle.
Basic Functions
1642 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB11
DBX0.0 AUTOMATIC mode
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or AUTOMATIK mode is selected by the PLC program.
edge change
0→1
Signal state 0 or AUTOMATIK mode is not selected by the PLC program.
edge change
1→0
Signal irrelevant for DB11 DBX0.4 (operating mode, changeover inhibit) = 1
...
Corresponding to .... DB11 DBX6.0 (active AUTOMATIC mode)
DB11
DBX0.1 MDA mode
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or MDA mode is selected by the PLC program.
edge change
0→1
Signal state 0 or MDA mode is not selected by the PLC program.
edge change
1→0
Signal irrelevant for DB11 DBX0.4 (operating mode, changeover inhibit) = 1
...
Corresponding to .... DB11 DBX6.1 (active MDA mode)
DB11
DBX0.2 JOG mode
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or JOG mode is selected by the PLC program.
edge change
0→1
Signal state 0 or JOG mode is not selected by the PLC program.
edge change
1→0
Signal irrelevant for DB11 DBX0.4 (operating mode, changeover inhibit) = 1
...
Corresponding to .... DB11 DBX6.2 (active JOG mode)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1643
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB11
DBX0.4 Mode changeover inhibit
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The currently active mode (JOG, MDA or AUTOMATIC) of the mode group cannot be changed. The
edge change machine functions that can be selected within a mode group can be changed.
0→1
Signal state 0 or The mode of the mode group can be changed.
edge change
1→0
0RGHVHOHFWLRQ
$8720$7,&
PRGH
0RGHVZLWFKRYHU
GLVDEOH
0'$RSHUDWLQJ 1&
PRGH
'%;
-2*PRGH
DB11
DBX0.5 Mode group stop
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or An NC stop is activated for all the channels of the mode group. The channel status of all the active
edge change channels changes to the channel status "interrupted". All of the channels in channel status "reset"
0→1 remain in the channel status "reset". Programs that are running at this point are immediately
interrupted (at the earliest possible point, even within a block) and the program status changes to
"stopped". All the moving axes of the mode group are decelerated according to their acceleration
characteristics without contour violation. The program can be restarted with NC start. None of the
spindles of that mode group are affected.
Signal state 0 or Channel status and program execution are not influenced.
edge change
1→0
Special cases, All the axes of a mode group that are not triggered by a program or a program block (e.g. axes
errors, ... ... traverse because traverse keys are being pressed on the machine control panel) decelerate to rest
with mode group stop.
Basic Functions
1644 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB11
DBX0.6 Mode group stop axes plus spindles
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or An NC stop is activated for all the channels of the mode group. The channel status of all of the
edge change active channels changes to the channel status "interrupted". All of the channels in channel status
0→1 "reset" remain in the channel status "reset". Programs that are running at this point are immediately
interrupted (at the earliest possible point, even within a block) and the program status changes to
"stopped". All the moving axes and spindles of the mode group are decelerated according to their
acceleration characteristics without contour violation. The program can be restarted with NC start.
Signal state 0 or Channel status and program execution are not influenced.
edge change
1→0
Special cases, All the axes and spindles of a mode group that are not triggered by a program or a program block
errors, ...... (e.g. axes traverse because traverse keys are pressed on the machine control panel, spindles are
controlled by the PLC) decelerate to rest with "mode group stop plus spindles".
DB11
DBX0.7 Mode group reset
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or A reset is activated for all the channels of the mode group. All of the channels are then in the
edge change channel status "reset". All of the current programs are then in the program status "aborted". All
0→1 moving axes and spindles are decelerated to zero speed according to their acceleration ramp
without contour violation. The initial settings are set (e.g. for G functions). The alarms for the mode
group are cleared if they are not POWER ON alarms.
Signal state 0 or Channel status and program execution are not influenced by this signal.
edge change
1→0
Corresponding to .... DB21, ... DBX7.7 (channel reset)
DB11 DBX6.7 (all channels in the reset state)
Special cases, An alarm that withdraws the interface signal
errors, ...... DB11 DBX6.3 (mode group ready)
ensures that all channels of the mode group are no longer in the reset state.
In order to switch to another operating mode, a mode group reset (DB11 DBX0.7) must then be
initiated.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1645
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB11
DBX1.0 Machine function TEACH IN
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Machine function TEACH IN is activated in JOG mode for the mode group.
edge change
0→1
Signal state 0 or Machine function TEACH IN is not activated.
edge change
1→0
Signal irrelevant for If JOG mode is not active.
...
Additional references /BA/ Operating Manual HMI (corresponding to the used software)
DB11
DBX1.1 Machine function REPOS
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Machine function REPOS is activated in JOG mode for the mode group.
edge change
0→1
Signal state 0 or Machine function REPOS is not activated.
edge change
1→0
Signal irrelevant for JOG mode is not active.
...
Application When a fault occurs when executing a part program (e.g. tool breakage), the axis is manually
example(s) moved away from the fault location in the JOG mode in order to be able to replace the tool.
The axis can then be manually returned to the exact previous position using the REPOS machine
function so that the program can be continued in the automatic mode.
Additional references /BA/ Operating Manual HMI (corresponding to the used software)
DB11
DBX1.2 Machine function REF
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Machine function REF is activated in the JOG mode for the mode group.
edge change
0→1
Signal state 0 or Machine function REF is not activated.
edge change
1→0
Signal irrelevant for If JOG mode is not active.
...
Additional references /FB1/ Function Manual Basic Functions; Reference Point Travel (R1)
Basic Functions
1646 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB11
DBX1.6 Single block type B
Edge evaluation: No Signal(s) updated:
Signal state 1 or Bit set and DB11 DBX1.7 not set: Response across modes
edge change • All channels are stopped.
0→1
• All channels receive a start command.
• Channel KS stops at the end of the block.
• The channels KA receive a STOPATEND.
(comparable with DB21, ... DBX7.2 (NC stop at the block limit).)
• All channels are stopped at a block limit (at some point in time).
(If DB11 DBX1.6 and DB11 DBX1.7 are set simultaneously, it is impossible to determine which
single block type is required. In this case, the control assumes: No single block across mode
groups).
Signal state 0 or If Bit DB11 DBX1.6 is not set and Bit DB11 DBX1.7 is set, then it is single block type A.
edge change (If DB11 DBX1.6 and DB11 DBX1.7 are not set, it is impossible to determine which single block
1→0 type is required. The control then assumes: No single block across mode groups).
Corresponding to .... Single block type A
DB11
DBX1.7 Single block type A
Edge evaluation: No Signal(s) updated:
Signal state 1 or DB11 DBX1.7 set and DB11 DBX1.6 not set: Response across modes
edge change • All channels are stopped.
0→1
• All channels receive a start (start key).
• Channel KS stops at the end of the block (due to single-block)
• Channels KA receive a STOP command. (comparable to the STOP KEY).
• All channels are stopped. (deceleration phase of all KAs)
(If DB11 DBX1.6 and DB11 DBX1.7 are set simultaneously, it is impossible to determine which
single block type is required. The control then assumes: No single block across mode groups).
Signal state 0 or If DB11 DBX1.7 is not set and DB11 DBX1.6 is set, then it is single block type B.
edge change (If DB11 DBX1.6 and DB11 DBX1.7 are not set, it is impossible to determine which single block
1→0 type is required. The control then assumes: No single block across mode groups).
Corresponding to .... Single block type B
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1647
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB11
DBX4.0 Selected mode AUTOMATIC
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or AUTOMATIC mode is selected by HMI.
edge change
0→1
Signal state 0 or AUTOMATIC mode is not selected by HMI.
edge change
1→0
DB11
DBX4.1 Selected mode MDA
Edge evaluation: Signal(s) updated: Cyclically
Signal state 1 or MDA mode is selected by HMI.
edge change
0→1
Signal state 0 or MDA mode is not selected by HMI.
edge change
1→0
DB11
DBX4.2 Selected JOG mode
Data block Signal(s) from BAG (HMI → PLC)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or JOG mode is selected by HMI.
edge change
0→1
Signal state 0 or JOG mode is not selected by HMI.
edge change
1→0
DB11
DBX5.0 Selected machine function TEACH IN
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The machine function TEACH IN is selected by HMI within BAG.
edge change
0→1
Signal state 0 or The machine function TEACH IN is not selected by HMI.
edge change
1→0
Additional references /BA/ Operating Manual HMI (corresponding to the used software)
Basic Functions
1648 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB11
DBX5.1 Selected REPOS machine function
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The machine function REPOS is selected by HMI within BAG.
edge change
0→1
Signal state 0 or The machine function REPOS is not selected by HMI.
edge change
1→0
Application When a fault occurs when executing a part program (e.g. tool breakage), the axis is manually
example(s) moved away from the fault location in the JOG mode in order to be able to replace the tool.
The axis can then be manually returned to the exact previous position using the REPOS machine
function so that the program can be continued in the automatic mode.
Additional references /BA/ Operating Manual HMI (corresponding to the used software)
DB11
DBX5.2 Selected machine function REF
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The machine function REF is selected by HMI within BAG.
edge change
0→1
Signal state 0 or The machine function REF is not selected by HMI.
edge change
1→0
Additional references /FB1/ Function Manual Basic Functions; Reference Point Travel (R1)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1649
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB11
DBX6.0 Active mode AUTOMATIC
Data block Signal(s) from the mode group (NCK → PLC)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or AUTOMATIK mode is active.
edge change
0→1
Signal state 0 or AUTOMATIK mode is not active.
edge change
1→0
DB11
DBX6.1 Active mode MDA
Edge evaluation: Signal(s) updated: Cyclically
Signal state 1 or MDA mode is active.
edge change
0→1
Signal state 0 or MDA mode is not active.
edge change
1→0
DB11
DBX6.2 Active JOG mode
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or JOG mode is active.
edge change
0→1
Signal state 0 or JOG mode is not active.
edge change
1→0
DB11
DBX6.3 Mode group ready
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or This signal is set after power on and all of the voltage have been established. The mode group is
edge change now ready and part programs can be executed and axes traversed in the individual channels.
0→1
Basic Functions
1650 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB11
DBX6.3 Mode group ready
Signal state 0 or The mode group is not ready. Possible causes for this are:
edge change • A critical axis or spindle alarm is present
1→0
• Hardware faults
• The mode group has been incorrectly configured (machine data)
If the mode group ready changes to signal state "0", then:
• the axis and spindle drives are braked down to standstill with the max. braking current.
• the signals from the PLC to the NCk are brought into an inactive state (cleared state).
Special cases, An alarm that withdraws the interface signal
errors, ...... DB11 DBX6.3 (mode group ready)
ensures that all channels of the mode group are no longer in the reset state.
In order to switch to another operating mode, a mode group reset (DB11 DBX0.7) must be made.
DB11
DBX6.7 All channels in the reset state
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or All the channels that belong to this mode group are in the "channel status reset" state (DB21, ...
edge change DBX7.7).
0→1
Signal state 0 or At least one of the channels in the mode group is not in "channel status reset" (DB21, ... DBX7.7).
edge change
1→0
Corresponding to .... DB21, ... DBX7.7 (channel state, reset)
DB11
DBX7.0 Active machine function TEACH IN
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Machine function TEACH IN is active in the mode group.
edge change
0→1
Signal state 0 or Machine function TEACH IN is not active.
edge change
1→0
Additional references /BA/ Operating Manual HMI (corresponding to the used software)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1651
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB11
DBX7.1 Active REPOS machine function
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Machine function REPOS is active in the mode group.
edge change
0→1
Signal state 0 or Machine function REPOS is not active.
edge change
1→0
Application When a fault occurs when executing a part program (e.g. tool breakage), the axis is manually
example(s) moved away from the fault location in the JOG mode in order to be able to replace the tool.
The axis can then be manually returned to the exact previous position using the REPOS machine
function so that the program can be continued in the automatic mode.
Further references /BA/ Operating Manual HMI (corresponding to the used software)
DB11
DBX7.2 Active machine function REF
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Machine function REF is active in the mode group.
edge change
0→1
Signal state 0 or Machine function REF is not active.
edge change
1→0
Further references /FB1/ Function Manual Basic Functions; Reference Point Travel (R1)
DB21, ...
DBX0.4 Activate single block
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or In AUTOMATIC and MDA modes, the operator must enable processing of each individual part
edge change program block of the part program selected in the channel by reactivating NC START.
0→1
Signal state 0 or No effect.
edge change
1→0
Special cases, • In the case of active tool offset, intermediate blocks are inserted, when necessary. These blocks
errors, ...... must also be enabled using NC START.
• In a series of G33 blocks, a single block is only operative if "dry run feed" is selected.
• In the case of a decoding single block, calculation blocks are not processed in the single step.
Corresponds to .... DB21, ... DBX35.3 (program status interrupted)
Basic Functions
1652 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB21, ...
DBX0.5 Activate M01
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or Activation of program control "Conditional stop"M01 is requested.
edge change
0→1
Signal state 0 or Activation of program control "Conditional stop" M01 is not requested.
edge change
1→0
Corresponds to .... DB21, ... DBX24.5 (M01 selected)
DB21, ... DBX32.5 (M0/M01 active)
DB21, ...
DBX1.6 PLC action completed
Edge evaluation: no Signal(s) updated: cyclic
At the end of the block search, concluding action blocks are executed:
DB21, ... DBX32.3 (action block active) == 1 AND
DB21, ... DBX32.6 (last action block active) == 1
Alarm "10208 Channel <Channel Number> Issue NC START to continue program" notifies the user
that he must reactivate NC START to resume the part program starting from the target block.
If other actions are to be executed by the PLC user program prior to the NC START (e.g. tool
change), Search mode can be parameterized as follows:
MD11450 $MN_SEARCH_RUN_MODE = 1
Output of alarm delayed until the existing signal is reset.
Signal state 1 or PLC action is completed.
edge change
0→1
Signal state 0 or PLC action is not yet completed.
edge change
1→0
Corresponds to .... DB21, ... DBX32.3 (action block active)
DB21, ... DBX32.6 (last action block active)
DB21, ... DBX33.4 (block search active)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1653
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB21, ...
DBX1.7 Activate program test
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or Activation of the program test is requested.
edge change During the program test, all motion commands of axes (not spindles) take place under "Axis
0→1 disable."
Notice!
Due to the axis disable, the assignment of a tool magazine is not changed for the program test. The
user/machine manufacturer must utilize a suitable PLC user program to ensure that the NCK-
internal tool management and the actual assignment of the tool magazine remain consistent. Refer
to the program example included in the PLC Toolbox.
Signal state 0 or Activation of the program test is not requested.
edge change
1→0
Corresponds to .... DB21, ... DBX25.7 (program test selected)
DB21, ...DBX33.7 (program test active)
DB21, ...
DBX2.0 Skip block
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or Skip blocks marked in the part program with an slash (/) are not processed. If there is a series of
edge change skip blocks, the signal is only active if it is present before the first skip block of the series is
0→1 decoded.
Note
The signal should be available prior to the start of the part program.
Signal state 0 or Skip blocks marked in the part program with an slash (/) are processed.
edge change
1→0
Corresponds to .... DB21, ... DBX26.0 (Skip block selected)
DB21, ... DBX35.2 (Program status stopped)
DB21, ...
DBX6.1 Read-in disable
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The main run reads in no more preprocessed part program blocks.
edge change Note
0→1 The signal is only active in AUTOMATIC and MDA modes.
Signal state 0 or The main run reads in preprocessed part program blocks.
edge change
1→0
Corresponds to .... DB21, ... DBX35.0 (program status running)
Basic Functions
1654 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB21, ...
DBX6.4 Program level abort
Edge evaluation: yes Signal(s) updated: cyclic
Signal state 1 or At each edge change 0 → 1 the current program level being processed (subroutine level, ASUB
edge change level, save routine) is immediately aborted. Processing of the part program continues at the next
0→1 higher program level from the exit point.
Signal state 0 or No effect.
edge change
1→0
Special cases, The main program level cannot be aborted with this IS, only with IS "Reset".
errors, ......
DB21, ...
DBX7.0 NC START disable
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The NC START disable prevents a part program from being started with NC START signal DB21, ...
edge change DBX7.1 (NC START) == 1.
0→1
Signal state 0 or NC START disable is not active.
edge change
1→0
Special cases, The start of a part program selected in the channel by part program command START in another
errors, ...... channel (program coordination) is not prevented by the interface signal:
DB21, ... DBX7.0 (NC start disable) == 1.
DB21, ...
DBX7.1 NC START
Edge evaluation: yes Signal(s) updated: cyclic
Signal state 1 or AUTOMATIC mode: The selected NC program is started or continued, or the auxiliary functions that
edge change were saved during the program interruption are output.
0→1 If data are transferred from the PLC to the NC during program status "Program interrupted," then
these data are immediately cleared at NC start.
Operating mode MDA:
The entered block information or part program blocks are released for execution.
Signal state 0 or No effect.
edge change
1→0
Corresponds to .... DB21, ... DBX7.0 (NC start disable)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1655
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB21, ...
DBX7.2 NC STOP at block limit
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The current NC program is stopped after the current part program block has been completely
edge change processed. Otherwise, as for DB21, ... DBX7.3 (NC stop).
0→1
Signal state 0 or No effect.
edge change
1→0
Corresponds to .... DB21, ... DBX7.3 (NC stop)
DB21, ... DBX7.4 (NC stop, axes plus spindles)
DB21, ... DBX35.2 (program status stopped)
DB21, ... DBX35.6 (channel status interrupted)
DB21, ...
DBX7.3 NC STOP
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or AUTOMATIC or MDA mode:
edge change Processing of the part program active in the channel is stopped.
0→1 The axes (not spindles) are brought to a standstill within the assigned acceleration parameters.
• Program status: stopped
• Channel status: interrupted
JOG mode:
In JOG mode, incompletely traversed incremental paths (INC...) are retracted at the next NC
START.
Note
The signal must be present for at least one PLC cycle (OB1).
Signal state 0 or No effect.
edge change
1→0
Signal irrelevant for • Program status: aborted
... • Channel status: Reset
Special cases, • If data are transferred to the NCK after NC STOP (e.g. tool offset), the data are cleared at the
errors, ...... next NC START.
Corresponds to .... DB21, ... DBX7.2 (NC STOP at block limit)
DB21, ... DBX7.4 (NC STOP axes plus spindles)
DB21, ... DBX35.2 (program status stopped)
DB21, ... DBX35.6 (channel status interrupted)
Basic Functions
1656 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB21, ...
DBX7.4 NC STOP axes plus spindles
Edge evaluation: no Signal(s) updated: cyclic
See DB21, ... DBX7.3 (NC STOP).
In addition, the spindles of the channel are stopped.
DB21, ...
DBX7.7 Reset
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The channel is reset. The initial settings are set (e.g. G functions).
edge change The alarms for the channel are cleared if they are not POWER ON alarms.
0→1 The reset signal must be issued by the PLC (e.g. using a logic operation with the reset key on the
MCP). The signal is only evaluated by the selected channel.
The program status changes to "Aborted", and the channel status changes to "Channel status
reset".
Signal state 0 or No effect.
edge change
1→0
Corresponds to .... DB11, ... DBX0.7 (mode group reset)
DB21, ... DBX35.7 (channel status reset)
DB21, ...
DBX31.0 - DBX31.2 REPOS mode (REPOSPATHMODE)
Edge evaluation: no Signal(s) updated: cyclic
REPOS mode specified by HMI:
Bit:2 1 0
0 0 0 = 0: no REPOS mode active
0 0 1 = 1: Re-approach to block start RMB
0 1 0 = 2: Re-approach to interruption point RMI
0 1 1 = 3: Re-approach to block end point RME
1 0 0 = 4: Re-approach to nearest path point RMN
Corresponds to .... DB21, ...DBX25.0 - DBX25.2 (REPOS mode (REPOSPATHMODE))
DB31, ... DBX10.0 (REPOSDELAY)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1657
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB21, ...
DBX31.4 REPOS mode change (REPOSMODEEDGE)
Edge evaluation: yes Signal(s) updated: cyclic
Signal state 1 or The REPOS mode has changed:
edge change DB21, ... DBX31.0 - DBX31.2 (REPOS mode (REPOSPATHMODE))
0→1
Signal state 0 or REPOS mode has not changed.
edge change
1→0
Corresponds to .... DB21, ... DBX31.0 - DBX31.2 (REPOS mode (REPOSPATHMODE))
DB21, ... DBX319.0 (REPOSMODEEDGEACKN)
DB21, ...DBX31.0 - DBX31.2 (REPOS mode (REPOSPATHMODE))
DB21, ...
DBX32.3 Action block active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The action block is being executed.
edge change
0→1
Signal state 0 or No action block active.
edge change
1→0
Additional references /BA/ Operating Manual HMI (corresponding to the used software)
DB21, ...
DBX32.4 Approach block active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The approach block for the progress of the program with "Block search with computation on
edge change contour" is active, as with "Block search with computation on block end point" no approach block is
0→1 created of its own. The axes are automatically positioned on the collected search position if ASUP
exits with REPOSA during "Block search with computation on contour".
Signal state 0 or The search target is found during "Block search with computation on contour".
edge change
1→0
Further references /PGA/ Programming Manual Advanced
Basic Functions
1658 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB21, ...
DBX32.5 M00/M01 active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The part program block is processed, the auxiliary functions are output, and:
edge change • M00 is in the RAM
0→1
• M01 is in the RAM and IS "Activate M01" is active
The program status changes to "Stopped".
Signal state 0 or • With DB21, ... DBX7.1 (NC start)
edge change • For a program abort as a result of a reset
1→0
Screen
0
DB21, ...
DBX32.6 Last action block active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The last action block is being executed.
edge change This means, that all the action blocks on the side of NC have been processed and the actions on
0→1 the side of PLC (ASUP, FC) or the operator such as overstore, mode change according to
JOG/REPOS are possible. In this way the PLC for example can still perform a tool change before
the start of movement.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1659
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB21, ...
DBX32.6 Last action block active
Signal state 0 or The last action block is not being executed. Action blocks contain the actions collected during
edge change "block search with computation" such as
1→0 • outputting help function H, M00, M01, M..
• Tool programming T, D, DL
• Spindle programming S-Value, M3/M4/M5/M19, SPOS
• Feed programming, F
Further references /FB1/ Function Manual Basic Functions; K1 Channel, Program Operation, Reset Response
DB21, ...
DBX33.4 Block search active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The block search function is active.
edge change It was selected from the operator interface screen and started using the interface signal:
0→1 DB21, ... DBX7.1 (NC start)
DB21, ...
DBX33.5 M02/M30 active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or • NC block with M02 or M30 (or M17 if a subroutine was started) is completely processed; if
edge change traversing motions are also programmed in this block, the signal is only output when the target
0→1 position is reached.
• The program was interrupted as a result of a reset, and the program status changes to
"Aborted".
• When MDA mode or machine functions REF or PRESET are selected
• After DB10 DBX56.2 (acknowledge EMERGENCY STOP)
Signal state 0 or • No program end or program abort
edge change • Status after activation of control
1→0 • Start of an NC Program
Basic Functions
1660 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB21, ...
DBX33.5 M02/M30 active
Screen
0
Application The PLC can detect the end of program processing with this signal and react appropriately.
example(s)
Special cases, • The M02 and M30 functions have equal priority.
errors, ...... • The interface signal:
DB21, ... DBX33.5 (M02/M30 active)
is available as steady-state signal after the end of the program.
• Not suitable for automatic follow-on functions such as workpiece counting, bar feed, etc.
M02/M30 must be written in a separate block and the word M02/M30 or the decoded M signal
used for these functions.
• Auxiliary functions that could result in a read-in operation being stopped and any S values that
are to be operative beyond M02/M30 must not be written in the last block of a program.
DB21, ...
DBX33.6 Transformation active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The NC command TRAORI (activate transformation) is programmed in the NC part program. This
edge change block has been processed by the NC and the transformation is now activated.
0→1
Signal state 0 or No transformation active.
edge change
1→0
Additional references /PGA/ Programming Manual Advanced
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1661
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB21, ...
DBX33.7 Program test active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Program control program test is active. Axis disable is set internally for all axes (not spindles).
edge change Therefore the machine axes do not move when a part program block or a part program is being
0→1 processed. The axis movements are simulated on the operator interface with changing axis position
values.
The axis position values for the display are generated from the calculated setpoints.
The part program is processed in the normal way.
Signal state 0 or Program control "Program test" is not active.
edge change
1→0
Corresponding to .... DB21, ... DBX1.7 (activate program test)
DB21, ... DBX25.7 (program test selected)
DB21, ...
DBX35.0 Program status running
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The part program was started with the interface signal:
edge change DB21, ... DBX7.1 (NC start)
0→1 and is running.
The running program was stopped with the interface signal:
DB21, ... DBX6.1 (read-in disable)
Basic Functions
1662 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB21, ...
DBX35.1 Program status wait
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The running program is waiting for the program command WAIT_M or WAIT_E in an NC block. The
edge change wait condition specified in the WAIT command for the channel or channels has not yet been fulfilled.
0→1
Signal state 0 or Program status wait is not active.
edge change
1→0
Further references /PG/ Programming Manual Fundamentals
DB21, ...
DBX35.2 Program status stopped
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The NC part program has been stopped by:
edge change • DB21, ... DBX7.3 (NC stop)
0→1
• DB21, ... DBX7.4 (NC stop, axes plus spindles)
• DB21, ... DBX7.2 (NC stop at the block limit)
• Programmed M00 or M01
or
• Single block mode
Signal state 0 or "Program status stopped" is not present.
edge change
1→0
Corresponding to .... DB21, ... DBX7.3 (NC stop)
DB21, ... DBX7.4 (NC stop, axes plus spindles)
DB21, ... DBX7.2 (NC stop at the block limit)
DB21, ...
DBX35.3 Program status interrupted
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or When the operating mode changes from AUTOMATIC or MDA (in stopped program status) to JOG,
edge change the program status changes to "Interrupted". The program can be continued at the point of
0→1 interruption in AUTOMATIC or MDA mode when NC start is issued.
Signal state 0 or "Program status interrupted" not available.
edge change
1→0
Special cases, The interface signal:
errors, ...... DB21, ... DBX35.3 (program status interrupted)
indicates that the part program can continue to be processed by restarting it.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1663
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB21, ...
DBX35.4 Program status aborted
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The program has been selected but not started, or the current program was aborted with a reset.
edge change
0→1
Signal state 0 or Program status interrupted is not active.
edge change
1→0
Corresponding to .... DB21, ... DBX7.7 (reset)
DB21, ...
DBX35.5 Channel status active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or In this channel:
edge change • A part program is presently being executed in Automatic or MDA mode
0→1
or
• At least one axis is being traversed in JOG mode.
Signal state 0 or DB21, ... DBX35.3 (channel status interrupted) or DB21, ... DB35.7 (channel status reset) is
edge change present.
1→0
DB21, ...
DBX35.6 Channel status interrupted
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The NC part program in AUTOMATIC or MDA mode or a traversing motion in JOG mode can be
edge change interrupted by:
0→1 • DB21, ... DBX7.3 (NC stop)
• DB21, ... DBX7.4 (NC stop, axes plus spindles)
• DB21, ... DBX7.2 (NC stop at the block limit)
• Programmed M00 or M01
or
• Single block mode
After an NC start the part program or the interrupted traversing movement can be continued.
Signal state 0 or DB21, ... DBX35.5 (channel status active) or DB21, ... DB35.7 (channel status reset) is present.
edge change
1→0
Basic Functions
1664 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB21, ...
DBX35.7 Channel status reset
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The signal changes to 1 as soon as the channel goes into the reset state, i.e. no processing taking
edge change place.
0→1
Signal state 0 or The signal is set to 0 as soon as processing takes place in the channel, e.g.:
edge change • Execution of a part program
1→0
• Block search
• TEACH IN active
• Overstore active
DB21, ...
DBX36.4 Interrupt processing active
Edge evaluation: Signal(s) updated: Cyclically
Signal state 1 or One or several channels in the mode group are not in the required operating state as the result of
edge change an active interrupt routine. The signal is not set if an interrupt routine is running in a program mode.
0→1
Signal state 0 or All channels are operating in the required mode.
edge change
1→0
Corresponding to .... MD11600 $MN_BAG_MASK
DB21, ...
DBX36.5 Channel is ready
Edge evaluation: Signal(s) updated: Cyclically
Signal state 1 or A channel is ready for a part program processing of machine axes, geometry axes and positioning
edge change axes. These are already allocated corresponding to machine configuration and the current program
0→1 status of the concerned channels.
Signal state 0 or The concerned channel is not ready for a part program processing of machine axes, geometry axes
edge change and positioning axes.
1→0
Corresponding to .... MD11600 $MN_BAG_MASK
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1665
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB21, ...
DBX37.6 Read-in disable is ignored
Edge evaluation: Signal(s) updated:
The following machine data are used to specify that the read-in disable (DB21, ... DBX6.1) is to be
ignored:
• MD11602 $MN_ASUP_START_MASK, Bit 2 = 1 (start also permitted if read-in disable is active)
• MD20116 $MC_IGNORE_INHIBIT_ASUP (execute interrupt program in spite of read-in disable)
• MD20107 $MC_ PROG_EVENT_IGN_INHIBIT (Prog events ignore read-in disable)
Part program blocks for which read-in disable is ignored are designated as read-in disable-
inoperative.
Signal state 1 Read-in disable is active (DB21, ... DBX6.1==1) AND part program block is read-in disable-
inoperative.
Signal state 0 Read-in disable is not active (DB21, ... DBB6.1 == 0) OR
(read-in disable is active (DB21, ... DBX6.1 == 1) AND part program block is read-in disable-
operative)
Corresponding to .... DB21, ... DBX37.7 (Stop at block end is ignored during single block (SBL))
DB21, ...
DBX37.7 Stop at block end is ignored during single block (SBL)
Edge evaluation: Signal(s) updated:
The following machine data and part program commands are used to specify that the stop at block
end during single block (DB21, ... DBX0.4 == 1) is to be ignored:
• MD10702 $MN_IGNORE_SINGLEBLOCK_MASK (Prevent single block stop)
• MD20117 $MC_IGNORE_SINGLEBLOCK_ASUP (Execute interrupt program completely in
spite of single block)
• MD20106 $MC_PROG_EVENT_IGN_SINGLEBLOCK (Prog events ignore single block)
• SBLOF (suppress single block), SBLON (cancel single block suppression)
Part program blocks for which stop at block end during single block is ignored are designated as
single block-inoperative.
Signal state 1 Single block is active (DB21, ... DBX0.4==1) AND part program block is single block-inoperative.
Signal state 0 Single block is not active (DB21, ... DBB0.4 == 0) OR
(single block is active (DB21, ... DBX0.4 == 1) AND part program block is single block-operative)
Corresponding to .... Read-in disable is ignored. DB21, ... DBX37.6 (read-in disable is ignored)
Basic Functions
1666 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB21, ...
DBB208 - DBB271 Active G function of groups 1 to 60
Edge evaluation: No Signal(s) updated: Cyclically
Signal state <> 0 A G function or mnemonic identifier of the G group is active.
The active G function can be determined from the value (starting with 1):
1 = First G function of the G group
2 = Second G function of the G group
3 = Third G function of the G group
Please refer to a listing of the possible G-groups with the relevant functions in the Programming
Fundamentals Manual.
Signal state = 0 No G function or G group mnemonic identifier is active.
Application The active G group is stored in binary code in the relevant byte.
example(s) The following evaluation applies:
%LW
(YDOXDWLRQ
([DPSOH *
Special cases, In contrast to auxiliary functions, G functions are not output to the PLC subject to
errors, ...... acknowledgement, i.e. processing of the part program is continued immediately after the G function
output.
Additional references Programming Manual, Fundamentals
DB21, ...
DBX318.0 ASUB is stopped
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The signal is set to 1 if the control stops automatically prior to the end of the ASUB.
edge change The IS DB21, ... DBX318.0 (ASUB is stopped) is only supplied in the case "Interrupt in a program
0→1 mode and channel status stopped".
Signal state 0 or The IS DB21, ... DBX318.0 (ASUB is stopped) is set to 0 with start and reset.
edge change
1→0
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1667
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB21, ...
DBX318.0 ASUB is stopped
Typical sequence of an ASUB with REPOSA:
3DWKPRWLRQRIDQ &RQWUROKDVVWRSSHG
$68%ZLWK5(326$ $68%ZLWK5(326$ DXWRPDWLFDOO\
(YHQWWKDWEULQJVWKHFRQWURO
LQWRWKHVWRSSHGVWDWXV ,6$68%VWRSSHGLV
RFFXUV VHW
([DPSOH6WRSNH\
)&EORFNVLJQDOV$68%'RQH
&RQWUROV\VWHPVWRSSHG
$68%LVWKHQVWDUWHGE\WKH
)& 3DWKRIWKHSDUWVSURJUDP
ASUB with REPOSA If the interrupt routine is ended with REPOSA, then the following sequence is typical:
is triggered in the • The part program is stopped using the stop key, stop-all key or as a result of an alarm.
status AUTOMATIC
• The controller assumes program status "Stopped".
mode stopped
• The PLC initiates an ASUB via block FC9.
• Before the re-approach to the contour, the controller stops and goes to program status
"Stopped". IS DB21, ... DBX318.0 (ASUB is stopped) is set.
• The user presses Start. The IS DB21, ... DBX318.0 (ASUB is stopped) is reset, the re-approach
motion is started.
• At the end of the re-approach motion, the FC9 signal "ASUB done" is set and the path of the
interrupted part program is continued.
DB21, ...
DBX318.1 Block search via program test is active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or During the processing of the part program block in context of block search (internal channel status:
edge change "Program test"), up to the change of the target block in the main execution (Program status:
0→1 "Stopped").
Signal state 0 or With the change of the target block in the main execution (internal channel status: "Program test" is
edge change de-selected; Stop condition: "Search target found" is displayed).
1→0
Special cases, The block search (SERUPRO) can only be activated in AUTOMATIC mode in program status
errors, ...... "Aborted".
Basic Functions
1668 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB21, ...
DBX319.0 REPOSMODEEDGEACKN
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or The interface signal detected by the NCK:
edge change DB21, ... DBX31.4 (REPOSMODEEDGE)
0→1 is with the interface signal:
DB21, ... DBX319.0 (REPOSMODEEDGEACKN)
acknowledged, if level signals from:
DB21, ... DBX31.0 - DBX31.2 (REPOSMODE0-2)
and from:
DB31, ... DBX10.0 (REPOSDELAY)
are taken over in the NC.
The levels relate to the current block in the main run.
Signal state 0 or SERUPRO-ASUB stops automatically before REPOS and IS DB21, ... DBX319
edge change (REPOSMODEEDGE) does not influence the SERUPRO approach.
1→0
Corresponding to .... DB21, ... DBX31.4 (REPOSMODEEDGE)
DB21, ...
DBX319.1 - Repos Path Mode Ackn 0 - 2
DBX319.3
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 Using the interface signal:
DB21, ... DBX319.1 - DBX319.3 (Repos Path Mode Ackn 0-2)
with the 3 bits, one of the functions for the re-approach point RMB, RMI, RME or RMN can be
acknowledged according to the following coding to the PLC:
DB21, ... DBX319.1 - DBX319.3 = 1 → RMB: Re-approach at the start of the block
DB21, ... DBX319.1 - DBX319.3 = 2 → RMI: Re-approach at the point of interruption
DB21, ... DBX319.1 - DBX319.3 = 3 → RME: Re-approach at the end of the block
DB21, ... DBX319.1 - DBX319.3 = 4 → RMN: Re-approach at the nearest path point
Signal state 0 DB21, ... DBX319.1 - DBX319.3 = 0
→ RMNOTDEF: The ReposMode that is not re-defined is acknowledged to the PLC.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1669
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB21, ...
DBX319.1 - Repos Path Mode Ackn 0 - 2
DBX319.3
Example of the sequence of REPOS acknowledgments in the part program and signal timing of the
acknowledgement process from the NCK:
1
1 1
5(3263$7+02'(
5(32602'(('*(
5(32602'(('*($&.1
5HSRV3DWK0RGH$FNQ
W
6WDUWSDUWSURJUDP 5HDSSURDFKIURP5(326KDVEHHQ
FRPSOHWHG7KHUHPDLQLQJEORFNVWDUWV
6WRSSDUWSURJUDP
7KHUHPDLQLQJEORFNLVILQLVKHG
3UHVHOHFW501
2XWSXW$68%
&RPPDQGLVVWDUWHGZLWK$683
Basic Functions
1670 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB21, ...
DBX319.5 Repos DEFERAL Chan
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or All axes currently controlled by this channel have either no REPOS offset or their REPOS offsets
edge change are invalid.
0→1
Signal state 0 or Miscellaneous.
edge change
1→0
Corresponding to .... DB31, ... DBX70.0 (Repos offset)
DB21, ...
DBB376 PROG-EVENT-DISPLAY
Edge evaluation: No Signal(s) updated: Event-driven
Signal state 1 or The event assigned to the bit has activated the "Event-driven program call" function.
edge change
0→1
Signal state 0 or • The event assigned to the bit has not activated the "Event-driven program call" function.
edge change or
1→0
• The event-driven user program has expired or was cancelled with RESET.
Bit assignments Bit 0 → part program start from channel status RESET
Bit 1 → end of part program
Bit 2 → operator panel reset
Bit 3 → run-up
Bit 4 → 1st start after the search run
Bit 5 - 7 → reserved, currently always 0
All bits 0 → No event-driven program call is active
Signal duration: at least one complete PLC cycle
DB21, ...
DBX378.0 ASUB is active
Edge evaluation: No Signal(s) updated: Event-driven
Signal state 1 or One ASUB is active.
edge change Note:
0→1 The user gets a feedback on a running ASUB through DB21, … DBX378.0 even outside FC9 block.
Signal state 0 or No ASUB is active.
edge change
1→0
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1671
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB21, ...
DBX378.1 Still ASUB is active
Edge evaluation: No Signal(s) updated: Event-driven
Signal state 1 or An ASUB with suppressed display updating (refer to MD20191 $MC_IGN_PROG_STATE_ASUP) is
edge change active.
0→1
Signal state 0 or No ASUB with suppressed display updating is active.
edge change
1→0
DB21, ...
DBX384.0 Control program branching
Edge evaluation: No Signal(s) updated:
Signal state 1 or GOTOS in the part program initiates a return to the program start. The program is then processed
edge change again.
0→1
Signal state 0 or GOTOS initiates no return. Program execution is continued with the next part program block after
edge change GOTOS.
1→0
Corresponding to .... MD27860 $MC_PROCESSTIMER_MODE (Activation of the program runtime measurement)
MD27880 $MC_PART_COUNTER (activation of workpiece counters)
DB31, ...
DBX10.0 REPOSDELAY
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The REPOS offset of the axis is first applied with its next programming.
edge change
0→1
Signal state 0 or There is no REPOS offset.
edge change
1→0
Special cases, The signal is not relevant for path axes.
errors, ......
Corresponds to .... DB21, ... DBX31.0 - DBX31.2 (REPOSPATHMODE0-2)
DB31, ... DBX70.2 (REPOS Delay Ackn)
DB31, ... DBX72.0 (REPOSDELAY)
Basic Functions
1672 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB31, ...
DBX70.0 REPOS offset
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or A REPOS offset must be applied for the appropriate axis.
edge change
0→1
Signal state 0 or No REPOS offset need be applied for the appropriate axis.
edge change
1→0
Corresponds to .... DB31, ... DBX70.1 (REPOS offset valid)
DB31, ...
DBX70.1 REPOS offset valid
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The range of validity of the REPOS offset is indicated with the value 1.
edge change The REPOS offset was calculated to be valid.
0→1
Signal state 0 or A value of zero indicates that the REPOS offset was calculated to be invalid.
edge change
1→0
Application Updating the REPOS offset in the range of validity:
example(s) Between SERUPRO end and start, the axis can be moved in JOG mode with a mode change. The
user moves the REPOS offset to the zero value.
Corresponds to .... DB31, ... DBX70.0 (REPOS offset)
DB31, ...
DBX70.2 REPOS Delay Ackn
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The axis was programmed within a traversing block, and the REPOS offset was applied.
edge change Note
0→1 A REPOS offset was available for the axis, and REPOSDELAY was active:
DB31, ... DBX10.0 (REPOSDELAY) == 1
This signal behaves the same as:
DB21, ... DBX319.1 - DBX319.3 (Repos Path Mode Ackn)
Signal state 0 or The value zero is used to acknowledge that the REPOS offset is not active for this axis. This signal
edge change is cancelled on activation of the remaining block.
1→0
Corresponds to .... DB31, ... DBX10.0 (REPOSDELAY)
DB31, ... DBX72.0 (REPOSDELAY)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1673
NC/PLC Interface Signals (Z1)
Mode group, channel, program operation, reset response (K1)
DB31, ...
DBX72.0 REPOSDELAY
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or After a block search, a REPOS offset is applied for this axis. However it is not applied using the
edge change approach block, but rather using the next traversing block in which the axis is programmed.
0→1
Signal state 0 or The REPOS offset for this axis is not active.
edge change
1→0
Special cases, The signal is not relevant for path axes.
errors, ......
Corresponds to .... DB21, ... DBX31.0 - DBX31.2 (REPOSPATHMODE)
DB31, ... DBX10.0 (REPOSDELAY)
DB31, ... DBX70.2 (REPOS Delay Ackn)
DB31, ...
DBX76.4 Path axis
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The axis is involved in the path (path axis).
edge change Note
0→1 In conjunction with SERUPRO in status "Target block found", the signal refers to the status of the
axis in the target block.
Signal state 0 or The axis is not involved in the path.
edge change
1→0
Basic Functions
1674 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Axis types, coordinate systems, frames (K2)
DB 31, ...
DBX3.0 External zero offset
Edge evaluation: no Signal(s) updated:
Signal state 1 or The preselected value of the external work offest of an axis is used as the new value for calculating
edge change the total work offset between the basic and the workpiece coordinate systems.
0→1
Signal state 0 or The preselected value of the external work offset of an axis is not used as the new value for
edge change calculating the total work offset between the basic and workpiece coordinate systems. The previous
1→0 value is still valid.
Signal irrelevant for $AA_ETRANS[axis] equals zero for all axes.
...
Special cases, Signal zero after ramp-up (power ON).
errors, ......
Corresponding to .... $AA_ETRANS[axis]
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1675
NC/PLC Interface Signals (Z1)
Emergency Stop (N2)
DB10
DBX56.1 EMERGENCY STOP
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The NC is switched to the EMERGENCY STOP state and the EMERGENCY STOP procedure is
edge change started on the NC.
0→1
Signal state 0 or The NC is not in the EMERGENCY STOP state.
edge change The EMERGENCY STOP status is (still) active but can be reset using the interface signals:
1→0 DB10 DBX56.2 (acknowledge EMERGENCY STOP)
and
DB11 DBX0.7 (mode group reset)
DB10
DBX56.2 Acknowledge EMERGENCY STOP
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The EMERGENCY STOP state is only reset if the interface signal:
edge change DB10 DBX56.2 (acknowledge EMERGENCY STOP)
0→1 is set followed by the interface signal:
DB11, ... DBX0.7 (mode group reset).
It must be noted that IS "Acknowledge EMERGENCY STOP" and IS "Reset" must be set (together)
for a long enough period so that the interface signal:
DB10 DBX106.1 (EMERGENCY STOP active)
was reset.
Resetting the EMERGENCY STOP state has the following effects:
• the controller enable is switched in
• Follow-up mode is canceled for all axes and position control mode resumed
• DB31, ... DBX61.5 set (position controller active)
• DB11, ... DBX6.3 set (mode group ready)
• DB10 DBX106.1 reset (EMERGENCY STOP active)
• Alarm 3000 is canceled
• Part program processing is interrupted for all channels
Basic Functions
1676 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Emergency Stop (N2)
DB10
DBX56.2 Acknowledge EMERGENCY STOP
,6(0(5*(1&<6723
,6DNQRZOHGJH(0(5*(1&<6723
,6(0(5*(1&<6723DFWLYH"
,65(6(7
,6$FNQRZOHGJH(0(5*(1&<6723KDVQRHIIHFW
,65HVHWKDVQRHIIHFW
,6$FNQRZOHGJH(0(5*(1&<6723DQG5(6(7UHVHW(0(5*(1&<6723DFWLYH
Special cases, The EMERGENCY STOP state cannot be reset using the interface signal:
errors, ...... DB21, ... DBX7.7 (reset).
DB10
DBX106.1 EMERGENCY STOP active
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The NC is in the EMERGENCY STOP state.
edge change
0→1
Corresponding to .... DB10 DBX56.1 (EMERGENCY STOP)
DB10 DBX56.2 (acknowledge EMERGENCY STOP)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1677
NC/PLC Interface Signals (Z1)
PLC basic program (P3)
Basic Functions
1678 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Reference point approach (R1)
DB21, ...
DBX1.0 Activate referencing
Edge evaluation: yes Signal(s) updated: cyclic
Signal state 1 or The channel-specific referencing is started with the interafce signal:
edge change DB21, ... DBX1.0 (Activate referencing).
0→1 The control acknowledges the successful start with the interface signal:
DB21, ... DBX33.0 (Referencing active)
With the channel-specific referencing each machine axis, which is allocated to a channel, can be
referenced (control internals are simulated by traversing keys plus/minus).
Using the axis-specific machine data:
MD34110 $MA_REFP_CYCLE_NR (axis sequence for channel-specific Referencing)
can determine in which sequence the machine axes are referenced.
If all the axes entered in REFP_CYCLE_NR have reached their reference point,
the interface signal:
DB21, ... DBX36.3 (all axes present)
is set.
Application If the machine axes are to be referenced in a particular sequence, there are the following
example(s) possibilities:
• The operator must observe the correct sequence when starting.
• The PLC must check the sequence when starting or define it itself.
• The function channel-specific referencing will be used.
Corresponding to .... DB21, ... DBX33.0 (Referencing active)
DB21, ... DBX36.2 (all reference point required axes are referenced)
DB21, ...
DBX33.0 Referencing active
Edge evaluation: yes Signal(s) updated: cyclic
Signal state 1 or The channel-specific referencing was started with the interface signal:
edge change DB21, ... DBX1.0 (activate referencing)
0→1 and the successful start was acknowledged with the interface signal:
DB21, ... DBX33.0 (referencing active).
The channel-specific referencing is operational.
Signal state 0 or • channel-specific referencing is completed.
edge change • axis-specific referencing is operational
1→0 • no referencing active
Signal irrelevant for Spindles
...
Corresponding to .... DB21, ... DBX1.0 (activate referencing)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1679
NC/PLC Interface Signals (Z1)
Reference point approach (R1)
DB21, ...
DBX36.2 All axes that have to be referenced are referenced
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or All axes that must be referenced (linear axes and rotary axes) of the channel are referenced.
edge change The machine data:
0→1 MD20700 $MC_REFP_NC_START_LOCK (NC start inhibit without reference point)
is zero.
If two position measuring systems are connected to an axis, that would prevent an NC start, then
the active one must be referenced so that the axis is considered to have been referenced.
An NC Start command for part program processing is only accepted when this signal is present.
Axes that have to be referenced are axes, if:
MD34110 $MA_REFP_CYCLE_NR _ = -1
and the axis is not in the parked position (position measuring system inactive and the controller
enable withdrawn).
Signal state 0 or One or more axes of the channel have not been referenced.
edge change
1→0
Special cases, The spindles of the channel have no effect on this interface signal.
errors, ......
Corresponding to .... DB31, ... DBX60.4 (referenced/synchronized 1)
DB31, ... DBX60.5 (referenced/synchronized 2)
DB31, ...
DBX2.4 - DBX2.7 Reference point value 1 to 4
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or When the reference cam is reached, the NCK is signaled which coded reference cam is actuated.
edge change The interface signal:
0→1 DB31, ... DBX2.4 - DBX2.7 (reference point values 1 to 4)
must remain set until the reference point is reached,
or until a new coded reference cam is actuated.
If the machine axis has reached the reference point (axis stationary) then using the reference point
value pre-selected using
IS "reference point values 1 to 4" from the machine data:
MD34100 $MA_REFP_SET_POS (reference point value)
is transferred into the control as the new reference position.
Signal state 0 or No effect.
edge change
1→0
Signal irrelevant for Linear measurement systems with distance-coded reference marks
...
Basic Functions
1680 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Reference point approach (R1)
DB31, ...
DBX2.4 - DBX2.7 Reference point value 1 to 4
Application On a machine tool with large traversing distances, four coded reference cams can be distributed
example(s) over the entire distance traveled by the axis, four different reference points approached and the
time required to reach a valid referenced point reduced.
Special cases, If the machine axis has arrived at the reference point and none of the four "reference point value 1
errors, ...... to 4" interface signals has been set, the value of the reference point is automatically set to 1.
Corresponding to .... MD34100 $MA_REFP_SET_POS (reference point value)
DB31, ...
DBX12.7 Reference point approach delay
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The machine axis is positioned on the reference cam.
edge change
0→1
Signal state 0 or The machine axis is positioned in front of the reference cam. An appropriately long reference cam
edge change (up to the end of the traversing range) should be used to prevent the machine axis from being
1→0 located behind (after) the referencing cam.
Corresponding to .... DB31, ... DBX2.4 - DBX2.7 (reference point values 1 to 4)
DB31, ...
DBX60.4 Referenced/synchronized 1
Edge evaluation: Signal(s) updated:
Signal state 1 or Axes:
edge change When being referenced, if the machine axis has reached the reference point (incremental
0→1 measuring systems) or the target point (for length measuring system with distance-coded reference
marks), then the machine axis is referenced and the following interface signal is set:
DB31, ... DBX60.4 (referenced/synchronized 1)
(depending on which position measuring system is active when referencing).
Spindles:
After power-on, a spindle is synchronized the latest after one spindle revolution (260 degrees) (the
zero mark passed or the Bero responded).
Signal state 0 or The machine axis/spindle with position measuring system 1 is not referenced/synchronized.
edge change
1→0
corresponding to .... DB31, ... DBX1.5 (position measuring system 1)
Additional references /FB1/ Function Manual, Basic Functions; Spindles (S1)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1681
NC/PLC Interface Signals (Z1)
Reference point approach (R1)
DB31, ...
DBX60.5 Referenced/synchronized 2
Edge evaluation: Signal(s) updated:
Signal state 1 or Axes:
edge change When being referenced, if the machine axis has reached the reference point (incremental
0→1 measuring systems) or the target point (for length measuring system with distance-coded reference
marks), then the machine axis is referenced and the following interface signal is set:
DB31, ... DBX60.5 (referenced/synchronized 2)
(depending on which position measuring system is active when referencing).
Spindles:
After power-on, a spindle is synchronized the latest after one spindle revolution (260 degrees) (the
zero mark passed or the Bero responded).
Signal state 0 or The machine axis/spindle with position measuring system 2 is not referenced/synchronized.
edge change Axes:
1→0 Alarm 21610 was output.
Spindles:
Encoder limit frequency exceeded.
corresponding to .... DB31, ... DBX1.6 (position measuring system 2)
MD34102 $MA_REFP_SYNC_ENCS (measuring system calibration) = 0
Additional references /FB1/ Function Manual, Basic Functions; Spindles (S1)
DB31, ...
DBX71.4 Restored 1
Edge evaluation: Signal(s) updated:
Signal state 1 or If MD34210 $MA_ENC_REFP_STATE is set to a value of 3, the last axis position buffered before
edge change switch off is restored in distance-coded, incremental measuring systems. Referencing does not take
0→1 place automatically. Position measuring system 1 is in "Position restored" state.
Signal state 0 or The machine axis/spindle with position measuring system 1 is not restored.
edge change
1→0
corresponding to .... DB31, ... DBX60.4 (referenced/synchronized 1)
Additional references /FB1/ Function Manual, Basic Functions; Spindles (R1)
Basic Functions
1682 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Reference point approach (R1)
DB31, ...
DBX71.5 Restored 2
Edge evaluation: Signal(s) updated:
Signal state 1 or If MD34210 $MA_ENC_REFP_STATE is set to a value of 3, the last axis position buffered before
edge change switch off is restored in distance-coded, incremental measuring systems. Referencing does not take
0→1 place automatically. Position measuring system 2 is in "Position restored" state.
Signal state 0 or The machine axis/spindle with position measuring system 2 is not restored.
edge change
1→0
corresponding to .... DB31, ... DBX60.5 (referenced/synchronized 2)
Additional references /FB1/ Function Manual, Basic Functions; Spindles (R1)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1683
NC/PLC Interface Signals (Z1)
Spindles (S1)
DB31, ...
DBX2.2 Spindle reset/delete distance-to-go
Edge evaluation: yes Signal(s) updated: cyclic
Edge change Independent of the machine data:
0→1 MD35040 $MA_SPIND_ACTIVE_AFTER_RESET
selects a spindle reset for the various spindle operating modes in the following fashion:
• Control mode:
– Spindle stops
– Program continues to run
– Spindle continues to run with subsequent M and S program commands
• Oscillating mode:
– Oscillation is interrupted
– Axes continue to run
– Program continues with the actual gearbox stage
– With the following M value and higher S value, it is possible that the IS:
DB31, ... DBX83.1 (programmed speed high)
is set.
• Positioning mode:
– Is stopped
• Axis operation:
– Is stopped
Signal state 0 or No effect.
edge change
1→0
Corresponding to .... MD35040 $MA_SPIND_ACTIVE_AFTER_RESET (own spindle reset)
DB21, ... DBX7.7 (reset)
DB31, ... DBX2.2 (delete distance to go): is a different name for the same signal
Basic Functions
1684 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Spindles (S1)
DB31, ...
DBX16.0 - DBX16.2 Actual gear stage A to C
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 If the new gear stage is engaged, the PLC user program sets the interface signals:
(status-controlled) DB31, ... DBX16.2 - DBX16.0 (actual gear stage A to C)
and
DB31, ... DBX16.3 (gear is changed over).
This signals the NCK that the correct gear stage has been successfully engaged.
The gear change is considered to have been completed (spindle oscillation mode is deselected),
the spindle accelerates in the new gear stage to the last programmed spindle speed and the next
block in the part program can be executed.
The actual gear stage is output in coded format.
For each of the 5 gear stages, there is one set of parameters assigned as follows:
ದ 'DWDIRUD[LVPRGH
'DWDIRUVWJHDUVWDJH
'DWDIRUQGJHDUVWDJH
'DWDIRUUGJHDUVWDJH
'DWDIRUWKJHDUVWDJH
'DWDIRUWKJHDUVWDJH
Special cases, If the PLC user reports back to the NCK with a different actual gear stage than issued by the NCK
errors, ...... as the setpoint gear stage, the gear change is still considered to have been successfully completed
and the actual gear stage A to C is activated.
Corresponding to .... DB31, ... DBX82.0 - DBX82.2 (setpoint gear stage A to C)
DB31, ... DBX82.3 (change over gear stage)
DB31, ... DBX16.3 (gear is changed)
DB31, ... DBX18.5 (oscillation speed)
Parameter sets for gear stages
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1685
NC/PLC Interface Signals (Z1)
Spindles (S1)
DB31, ...
DBX16.3 Gear is changed over
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or When the new gear stage is engaged, the PLC user sets the interface signals:
edge change DB31, ... DBX16.0 - DBX16.2 (actual gear stages A to C)
0→1 and
DB31, ... DBX16.3 (gear is changed over).
This signals the NCK that the correct gear stage has been successfully engaged.
The gear stage change is complete (spindle oscillation mode is deselected), the spindle accelerates
in the new gear stage to the last programmed spindle speed and the next block in the part program
can be executed.
The interface signal:
DB31, ... DBX82.3 (change over gear)
is reset by the NCK - the PLC user then resets the interface signal:
(gear is changed over).
Signal state 0 or No effect.
edge change
1→0
Signal irrelevant for ... spindle modes other than the oscillation mode
...
Special cases, If the PLC user reports back to the NCK with a different actual gear stage than issued by the NCK
errors, ...... as the setpoint gear stage, the gear change is still considered to have been successfully completed
and the actual gear stage A to C is activated.
Corresponding to .... DB31, ... DBX16.2 - DBX16.0 (actual gear stage A to C)
DB31, ... DBX82.2 - DBX82.0 (setpoint gear stage A to C)
DB31, ... DBX82.3 (change over gear stage)
DB31, ... DBX18.5 (oscillation speed)
DB31, ...
DBX16.4 - DBX16.5 Resynchronizing spindles 2 and 1
Edge evaluation: yes Signal(s) updated: Cyclically
Edge change The spindle should be resynchronized, as the synchronization between the position measuring
0→1 system of the spindle and the 0 degree position has been lost.
Signal state 0 or No effect.
edge change
1→0
Signal irrelevant for ... spindle modes other than the control mode.
...
Application The machine has a selector switch to changeover between a vertical and a horizontal spindle. Two
example(s) different position encoders are used (one for the vertical spindle and one for the horizontal spindle),
but only one actual value input is used on the control. When the system switches from the vertical
to the horizontal spindle, the spindle must be resynchronized.
This synchronization is triggered by the IS "re-synchronize spindle 1 or 2".
Corresponding to .... DB31, ... DBX60.4 (referenced/synchronized 1)
DB31, ... DBX60.5 (referenced/synchronized 2)
Basic Functions
1686 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Spindles (S1)
DB31, ...
DBX16.7 Delete S value
Edge evaluation: yes Signal(s) updated: Cyclically
Edge change Control mode:
0→1 • Spindle stops
• Program continues to run
• Spindle continues to run with the following S value, if M3 or M4 were active
Oscillation mode, axis mode, positioning mode:
• Signal has no effect for the corresponding function. However, if the open-loop control mode is
selected again, a new S value must be programmed.
Signal state 0 or No effect.
edge change
1→0
Application Terminating traversing motion on account of an external signal (e.g. sensing probe).
example(s)
DB31, ...
DBX17.4 - DBX17.5 Re-synchronize spindle when positioning 2 and 1
DB31, ...
DBX17.6 Invert M3/M4
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or The direction of rotation of the spindle motor changes for the following functions:
edge change • M3
0→1 • M4
• M5
• SPOS/M19/SPOSA from the motion; not effective for SPOS/M19/SPOSA from zero speed
(stationary).
Application The machine has a selector switch to changeover between a vertical and a horizontal spindle. The
example(s) mechanical design is implemented so that for the horizontal spindle, one more gearwheel is
engaged than for the vertical spindle. The direction of rotation must therefore be changed for the
vertical spindle if the spindle is always to rotate clockwise with M3.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1687
NC/PLC Interface Signals (Z1)
Spindles (S1)
DB31, ...
DBX18.4 Oscillation controlled by the PLC
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or If the interface signal:
edge change DB31, ... DBX18.4 (oscillation controlled by the PLC)
0→1 is not set, then automatic oscillation in the NCK is carried-out using the interface signal:
DB31, ... DBX18.5 (oscillation speed).
The two times for the directions of rotation are entered in the machine data:
MD35440 $MA_SPIND_OSCILL_TIME_CW (oscillation time for the M3 direction)
and
MD35450 $MA_SPIND_OSCILL_TIME_CCW (oscillation time for the M4 direction).
If the IS "oscillation via PLC" is set, then with the IS "oscillation speed" a speed is only output in
conjunction with the interface signals:
DB31, ... DBX18.6 - DBX18.7 (setpoint direction of rotation, counter-clockwise and clockwise).
The oscillation, i.e. the continuous change of the direction of rotation, is performed by the PLC user
program using the interface signal "setpoint direction of rotation, counter-clockwise and clockwise"
(oscillation via the PLC).
Application If the new gear stage cannot be engaged in spite of several attempts by the NCK, the system can
example(s) be switched to oscillation via PLC. Both of the times for the directions of rotation can then be
altered by the PLC user program as required. This ensures that the gear satge is reliably changed -
even with unfavorable gear wheel positions.
Corresponding to .... MD35440 $MA_SPIND_OSCILL_TIME_CW (oscillation time for the M3 direction)
MD35450 $MA_SPIND_OSCILL_TIME_CCW (oscillation time for the M4 direction)
DB31, ... DBX18.5 (oscillation speed)
DB31, ... DBX18.7 (setpoint direction of rotation, counter-clockwise)
DB31, ... DBX18.6 (setpoint direction of rotation, clockwise)
Basic Functions
1688 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Spindles (S1)
DB31, ...
DBX18.5 Oscillation speed
Edge evaluation: no Signal(s) updated: Cyclically
Signal state 1 or If the gear stage is to be changed (DB31, ... DBX82.3 (change over gear) is set), then the spindle
edge change operating mode changes to the oscillation mode.
0→1 Depending on the instant in time that the interface signal:
DB31, ... DBX18.5 (oscillation speed)
is set, the spindle decelerates down to standstill with different deceleration levels:
The IS "Oscillation speed" is set before the interface signal:
DB31, ... DBX82.3 (change over gear)
is set by the NCK.
When oscillating, the spindle is decelerated down to standstill with the deceleration:
MD35410 $MA_SPIND_OSCILL_ACCEL.
Once the spindle is stationary, oscillation is immediately initiated.
The IS "Oscillation speed" is enabled after the IS "Change gear" is set by the NCK and when the
spindle is stationary. The position controller is disabled. The spindle decelerates with the specified
deceleration rate in the speed controlled mode.
After the IS "oscillation speed" is set, the spindle starts to oscillate with the oscillation acceleration
(MD35410).
if the interface signal:
DB31, ... DBX18.4 (oscillation via the PLC)
is not set, then automatic oscillation is executed in the NCK using the IS "Oscillation speed".
The two times for the directions of rotation are entered in the machine data:
MD35440 $MA_SPIND_OSCILL_TIME_CW (oscillation time for the M3 direction)
and
MD35450 $MA_SPIND_OSCILL_TIME_CCW (oscillation time for the M4 direction).
If the IS "oscillation via PLC" is set, then with the IS "oscillation speed" a speed is only output in
conjunction with the interface signals:
DB31, ... DBX18.6 - DBX18.7 (setpoint direction of rotation, counter-clockwise and clockwise).
The oscillation, i.e. the continuous change of the direction of rotation, is performed by the PLC user
program using the interface signal "setpoint direction of rotation, counter-clockwise and clockwise"
(oscillation via the PLC).
Signal state 0 or The spindle does not oscillate.
edge change
1→0
Signal irrelevant for ... All spindle modes except the oscillation mode.
...
Application The oscillation speed is used to make it easier to engage a new gear stage.
example(s)
Corresponding to .... DB31, ... DBX18.4 (oscillation controlled by the PLC)
DB31, ... DBX18.7 (setpoint direction of rotation, counter-clockwise)
DB31, ... DBX18.6 (setpoint direction of rotation, clockwise)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1689
NC/PLC Interface Signals (Z1)
Spindles (S1)
DB31, ...
DBX18.6 - DBX18.7 Setpoint direction of rotation, counter-clockwise/setpoint direction of rotation, clockwise
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or If the interface signal:
edge change DB31, ... DBX18.4 (oscillation by the PLC)
0→1 is set, then the direction of rotation for the oscillation speed
can be entered using the two interface signals:
DB31, ... DBX18.6 - DBX18.7 (setpoint direction of rotation counter-clockwise and clockwise).
The times for the oscillation movement of the spindle motor are defined by setting the interface
signals "direction of rotation setpoint counter-clockwise and clockwise" for a corresponding length of
time.
Signal irrelevant for ... spindle modes other than the oscillation mode
...
Application Refer to DB31, ... DBX18.4 (oscillation controlled by the PLC)
example(s)
Special cases, If both of the interface signals are set simultaneously enabled, no oscillation speed is output.
errors, ...... If an interface signal is not set, then an oscillation speed is not output.
Corresponding to .... DB31, ... DBX18.4 (oscillation controlled by the PLC
DB31, ... DBX18.5 (oscillation speed)
DB31, ...
DBX60.0 Spindle/no axis
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or The machine axis is operated in one of the following spindle modes:
edge change • Control mode
0→1
• Oscillation mode
• Positioning mode
• Rigid tapping
• Synchronous mode
The interface signals to the axis (DB31, ... DBB12 - DBB15) and from the axis
(DB31, ... DBB74 - DBB81) are invalid.
The interface signals to the spindle (DB31, ... DBB16 - DBB19) and from the spindle
(DB31, ... DBB82 - DBB91) are valid.
Signal state 0 or The machine axis is operated as an axis
edge change The interface signals to the axis (DB31, ... DBB12 - DBB15) and from the axis
1→0 (DB31, ... DBB74 - DBB81) are valid.
The interface signals to the spindle (DB31, ... DBB16 - DBB19) and from the spindle
(DB31, ... DBB82 - DBB91) are invalid.
Application If a machine axis operates alternatively as a spindle or rotary axis:
example(s) • Turning machine: Spindle/C axis
• Milling machine: Spindle/rotary axis for rigid tapping
The currently active operating mode
can be identified from interface signal:
DB31, ... DBX60.0 (spindle/no axis).
Basic Functions
1690 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Spindles (S1)
DB31, ...
DBX82.0 - 82.2 Setpoint gear stage A to C
Edge evaluation: yes Signal(s) updated: Cyclically
See DB31, ... DB82.3 (change gear).
Signal state 1 or The set gear stage is output in coded format:
edge change
0→1
VWJHDUVWDJH &%$
VWJHDUVWDJH
QGJHDUVWDJH
UGJHDUVWDJH
WKJHDUVWDJH
WKJHDUVWDJH
LQYDOLGYDOXH
LQYDOLGYDOXH
Signal irrelevant for ... Other spindle modes except oscillation mode
...
Corresponding to .... DB31, ... DBX82.3 (Change gear)
DB31, ... DBX16.0 - DBX16.2 (Actual gear stage A to C)
DB31, ... DBX16.3 (gear is changed)
DB31, ...
DBX82.3 Change gear stage
Edge evaluation: yes Signal(s) updated: Cyclically
Specification of gear stage:
• Manual specification using M function M41 - M45 corresponding to gear stage 1 - 5
If set gear stage <> actual gear stage =>
DB31, ... DBX82.3 (change gear) = 1
DB31, ... DBX82.0 - DBX82.2 (set gear stage) = set gear stage
• Automatic gear step selection depending on the progr. Spindle speed via M-function M40
at specified setpoint speed requires gear stage change =>
DB31, ... DBX82.3 (change gear) = 1
DB31, ... DBX82.0 - DBX82.2 (setpoint gear stage) = setpoint gear stage
Signal state 1 or New set gear stage was specified AND
edge change set gear stage <> actual gear stage
0→1
Special cases, Signal is not output if: Set gear stage == actual gear stage
errors, ......
Corresponding to .... DB31, ... DBX82.0 - DBX82.2 (Set gear stage A to C)
DB31, ... DBX16.0 - 16.2 (Actual gear stage A to C)
DB31, ... DBX16.3 (gear is changed)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1691
NC/PLC Interface Signals (Z1)
Spindles (S1)
DB31, ...
DBX83.0 Speed limit exceeded
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or The actual speed exceeds the maximum spindle speed:
edge change MD35100 $MA_SPIND_VELO_ LIMIT
0→1 by more than the spindle speed tolerance:
MD35150 $MA_SPIND_DES_VELO_TOL
Corresponding to .... MD35150 $MA_SPIND_DES_VELO_TOL (spindle speed tolerance)
MD35100 $MA_SPIND_VELO_LIMIT (maximum spindle speed)
DB31, ...
DBX83.1 Set speed limited (programmed speed too high)
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or The set speed of the spindle that is specified directly (programmed spindle speed) or indirectly
edge change (constant cutting speed) would violate the current maximum limit value. The set speed is therefore
0→1 defined at the maximum limit value.
Limit values:
• Maximum speed of specified gear stage
• Maximum spindle speed
• Speed limited by VDI
• programmed spindle speed limit G26
• programmed spindle speed limitation for G96
Signal state 0 or The set speed of the spindle is outside the maximum limit value.
edge change
1→0
Application The interface signal:
example(s) DB31, ... DBX83.1 (set speed limited)
can be used to determine if the programmed speed is unattainable.
The PLC user can accept this state as permissible and enable the path feed, or he can disable the
path feed or the complete channel, IS:
DB31, ... DBX83.5 (spindle in set range)
is processed.
DB31, ...
DBX83.2 Setpoint speed increased (programmed speed too low)
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or The set speed of the spindle that is specified directly (programmed spindle speed) or indirectly
edge change (constant cutting speed) would violate the current minimum limit value. The set speed is therefore
0→1 defined at the minimum limit value.
Limit values:
• Minimum speed of the specified gear stage
• Minimum spindle speed
• Speed limiting by means of NC/PLC interface
• programmed spindle speed limitation G25
• programmed spindle speed limitation for G96
Basic Functions
1692 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Spindles (S1)
DB31, ...
DBX83.2 Setpoint speed increased (programmed speed too low)
Signal state 0 or The set speed of the spindle is outside the minimum limit value.
edge change
1→0
Application The interface signal indicates if the programmed set speed is unattainable. The feed can be
example(s) enabled nonetheless by means of the PLC user program.
The PLC user can accept this state as permissible and enable the path feed, or he can disable the
path feed or the complete channel, IS:
DB31, ... DBX83.5 (spindle in set range)
is processed.
Corresponding to .... DB21, ... DBX6.0 (feed disable)
DB31, ... DBX4.3 (feed/spindle stop)
DB31, ... DBX83.5 (spindle in set range)
DB31, ...
DBX83.5 Spindle in the set range
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or The actual speed of the spindle deviates from the set speed by less than the spindle speed
edge change tolerance:
0→1 MD35150 $MA_SPIND_DES_VELO_TOL.
Signal state 0 or The actual speed of the spindle deviates from the set speed by more than the spindle speed
edge change tolerance:
1→0 MD35150 $MA_SPIND_DES_VELO_TOL.
DB31, ...
DBX83.7 Actual direction of rotation clockwise
Edge evaluation: yes Signal(s) updated: Cyclically
Interface signal is only valid if the spindle is rotating:
DB31, ... DBX61.4 (axis/spindle stationary) == 0
The actual direction of rotation is derived from the position measuring encoder.
Signal state 1 or Actual direction of rotation: Right
edge change
0→1
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1693
NC/PLC Interface Signals (Z1)
Spindles (S1)
DB31, ...
DBX83.7 Actual direction of rotation clockwise
Signal state 0 or Actual direction of rotation: Left
edge change
1→0
Signal irrelevant for • Spindle is stationary: DB31, ... DBX61.4 (axis/spindle stationary) == 1
... • Spindles without position measuring encoder
Corresponding to .... DB31, ... DBX61.4 (axis/spindle stationary)
DB31, ...
DBX84.3 Rigid tapping active
Edge evaluation: yes Signal(s) updated: Cyclically
The spindle is internally switched to axis mode by the "Rigid tapping" function (G331/G332). This
results in a reaction to or updating of the spindle-specific interface signals:
• DB31, ... DBX2.2 (spindle reset)
• DB31, ... DBX16.4 - DBX16.5 (synchronize spindle)
• DB31, ... DBX17.6 (invert M3/M4)
• DB31, ... DBX83.5 (spindle in set range)
• DB31, ... DBX83.1 (programmable speed too high)
Signal state 1 or • Rigid tapping is active.
edge change
0→1
Application Notice!
example(s) If the following signals are set during rigid tapping, the thread will be destroyed:
• DB11, … DBX0.7 (mode group reset) = 1
• DB21, ... DBX7.7 (channel reset) = 1
• DB31, ... DBX2.1 (servo enable) = 0
• DB31, ... DBX8.3 (feed stop) = 1
DB31, ...
DBX84.5 Active spindle mode: Positioning mode
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or Positioning mode (SPOS or SPOSA) is active.
edge change
0→1
Corresponding to .... DB31, ... DBX84.7 (spindle mode control mode)
DB31, ... DBX84.6 (spindle mode oscillation mode)
Basic Functions
1694 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Spindles (S1)
DB31, ...
DBX84.6 Active spindle mode: Oscillation mode
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or Oscillation mode is active.
edge change Note: The spindle changes automatically to oscillation mode if there is a gear change.
0→1
Corresponding to .... DB31, ... DBX84.7 (spindle mode control mode)
DB31, ... DBX84.5 (spindle mode positioning mode)
DB31, ... DBX82.3 (change gear)
DB31, ...
DBX84.7 Active spindle mode: Control mode
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or The spindle is in control mode with the following functions:
edge change • Spindle direction of rotation specification M3/M4 or spindle stop M5
0→1
• M41...M45, or automatic gear stage change M40
Corresponding to .... DB31, ... DBX84.6 (spindle mode oscillation mode)
DB31, ... DBX84.5 (spindle mode positioning mode)
DB31, ...
DBX85.5 Spindle in position
Edge evaluation: yes Signal(s) updated: Cyclically
The interface signal is processed exclusively with the function spindle positioning. This includes:
• SPOS, SPOSA and M19 in the part program
• SPOS and M19 in synchronized actions
• Start positioning during use of the functions block FC18
If the spindle is traversed after a positioning for already set signal DB31, ... DBX85.5 (Spindle in
position), e.g. in the JOG mode, then this signal is deleted. If the spindle returns to its original
position in JOG mode, then the signal DB31, ... DBX85.5 (spindle in position) is set again. The last
position selection is maintained.
Signal state 1 or Precondition for the output of the NST DB31, ... DBX85.5 (spindle in position) is reaching the NST
edge change DB31, ... DBX60.7 (exact stop fine). Additionally the last programmed spindle position must have
0→1 arrived at the desired value.
If the spindle is already at the programmed position after a positioning, then signal DB31,...
DBX85.5 (spindle in position) is set.
Signal state 0 or On the cancellation of the NC/PLC interface signal:
edge change DB31, ... DBX60.7 (Exact stop fine),
1→0 DB31, ... DBX85.5 is always reset.
Application Spindle in position for the tool change
example(s) If the tool change cycle is interrupted by the machine operator e.g. with NC stop, NC stop axis plus
splindle, mode group stop etc., then the correct position to which the spindle is to travel in the tool
changer can be queried via DB31, ... DBX85.5.
Corresponding to .... DB31, ... DBX60.7 (Exact stop fine)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1695
NC/PLC Interface Signals (Z1)
Spindles (S1)
DB31, ...
DBB86 - DBB87 M function for spindle
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or From the NCK one of the following M-Funktions: M3, M4, M5, M70 is output to the PLC.
edge change The output occurs by means of: See "Corresponds to ...." below
0→1
Corresponding to .... DB31, ... DBB86 - DBB87 (M function for spindle), axis-specific
DB21, ... DBB58, DBB68 - DBB97 (M function for spindle), channel-specific
DB31, ...
DBB88 - DBB91 S function for spindle
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or An S function was output from the NCK to the PLC.
edge change The output occurs by means of: See "Corresponds to ...." below
0→1 The following S functions are output here:
• S.... as spindle speed in rpm (programmed value)
• S .... as constant cutting speed in m/min or ft/min
The following S functions are not output here:
• S.... as the programmed Spindle speed limiting G25
• S.... as the programmed Spindle speed limiting G26
• S .... as spindle speed in rpm if a spindle was not defined in the controller
• S.... as the dwell time in spindle revolutions
Corresponding to .... DB31, ... DBB88 - DBB91 (S function for spindle), axis-specific
DB21, ... DBB60, DBB98 - DBB115 (S function for spindle), channel-specific
Basic Functions
1696 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Feeds (V1)
DB21, ...
DBX0.6 Activate dry run feed
Edge evaluation: yes Signal(s) updated: Cyclically
Signal state 1 or The dry run feed rate defined using the setting data:
edge change SD42100 $SC_DRY_RUN_FEED
0→1 is used instead of the programmed feed (for G01, G02, G03) if the dry run feed rate is greater than
that programmed.
The dry run feed rate is effective after the reset state.
This interface signal is evaluated at NC start when the channel is in the "reset" state.
The dry run feed can be activated from the PLC or operator panel.
When selected from the operator panel front, the PLC interface signal:
DB21, ... DBX24.6 (dry run feed selected)
is set and transferred from the PLC basic program to the interface signal:
DB21, ... DBX0.6 (activate dry run feed).
When selected using the PLC, the IS "activate dry run feed" should be set from the PLC user
program.
Signal state 0 or The programmed feed is used.
edge change Effective after the reset state.
1→0
Application Testing a workpiece program with an increased feed rate.
example(s)
Special cases, If the signal changes to "0" within a G33 block, the programmed feed is not activated until the end of
errors, ...... the block is reached, since an NC stop was not triggered.
Corresponding to .... DB21, ... DBX24.6 (dry run feed rate selected)
SD42100 $SC_DRY_RUN_FEED (dry run feed rate)
DB21, ...
DBB4 Feedrate override
Edge evaluation: No Signal(s) updated: Cyclically
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1697
NC/PLC Interface Signals (Z1)
Feeds (V1)
DB21, ...
DBB4 Feedrate override
Signal state 1 or The feedrate override can be defined via the PLC in binary or Gray coding.
edge change With binary coding, the feed value is interpreted in %.
0→1 0% to 200% feed changes are possible, in accordance with the binary value in the byte.
The following permanent assignment applies:
&RGH )HHGUDWHRYHUULGHIDFWRU
ฬ
ฬ
ฬ
ฬ
ฬ
7DEOH*UD\FRGLQJIRUIHHGUDWHRYHUULGH
The factors listed in the table for the feedrate override are stored in the machine data:
MD12030 $MN_OVR_FACTOR_FEEDRATE [n].
The table contains the default settings.
The number of possible switch settings for standard machine panels is described in the
Configuration Manuals for SINUMERIK 840D.
Basic Functions
1698 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Feeds (V1)
DB21, ...
DBB4 Feedrate override
Corresponding to .... DB21, ... DBX6.7 (feed rateoverride active)
MD12030 $MN_OVR_FACTOR_FEEDRATE [n] (evaluation of the path feed rate override switch)
MD12100 $MN_OVR_FACTOR_LIMIT_BIN (limit for binary coded override switch)
DB21, ...
DBB5 Rapid traverse override
Edge evaluation: No Signal(s) updated: Cyclically
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1699
NC/PLC Interface Signals (Z1)
Feeds (V1)
DB21, ...
DBB5 Rapid traverse override
Signal state 1 or The rapid traverse override can be entered via the PLC in either the binary or Gray code.
edge change For binary coding, the rapid traverse override is interpreted as a %.
0→1 0% to 100% feed changes are possible, in accordance with the binary value in the byte.
The following permanent assignment applies:
&RGH 5DSLGWUDYHUVHRYHUULGHIDFWRU
ฬ
ฬ
ฬ
ฬ
ฬ
7DEOH*UD\FRGLQJIRUUDSLGWUDYHUVHRYHUULGH
The factors listed in the table for the rapid traverse override are stored in the machine data:
MD12050 $MN_OVR_FACTOR_RAPID_TRA[n].
The table contains the default settings.
The number of possible switch settings for standard machine panels is described in the
Configuration Manuals for SINUMERIK 840D.
Basic Functions
1700 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Feeds (V1)
DB21, ...
DBB5 Rapid traverse override
Corresponding to .... DB21, ... DBX6.6 (rapid traverse override active)
MD12050 $MN_OVR_FACTOR_RAPID_TRA[n] (evaluation of the path feed rate override switch)
MD12100 $MN_OVR_FACTOR_LIMIT_BIN (limit for binary coded override switch)
DB21, ...
DBX6.0 Feed disable
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The signal is active in one channel in all operating modes.
edge change The signal disables the feed for all of the axes (geometry and synchronized) that interpolate relative
0→1 to one another as long as G33 (thread) is not active.
All axes are brought to a standstill but still maintaining the path contour. When the feed disable is
canceled (0 signal), the interrupted part program is continued.
The signal triggers a feed disable for all positioning axes. This signal brings all traversing axes to a
standstill with controlled braking (ramp stop). No alarm is output.
The position control is retained, i.e. the following error is eliminated.
If a travel request is issued for an axis with an active "Feed disable", then this is kept. The queued
travel request is executed immediately when the "Feed disable" is canceled.
If the axis is interpolating in relation to others, this also applies to these axes.
Signal state 0 or The feed rate is enabled for all axes of the channel.
edge change If a travel request ("travel command") exists for an axis or group of axes when the "feed disable" is
1→0 canceled, then this is executed immediately.
Application Stopping machining by selecting FEED OFF on the machine control panel.
example(s)
Special cases, The feed disable is inactive when G33 is active.
errors, ......
DB21, ...
DBX6.6 Rapid traverse override active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The rapid traverse override between 0 and a maximum of 100% entered in the PLC interface is
edge change channel-specific. The override factor is defined using the machine data:
0→1 MD12040 $MN_OVR_RAPID_IS_GRAY_CODE (rapid traverse override switch gray coded)
and
MD12050 $MN_OVR_FACTOR_RAPID_TRA [n] (evaluation of the rapid traverse override switch).
Signal state 0 or The rapid traverse override entered at the PLC interface is ignored.
edge change When the rapid traverse override is inactive, the NC always uses 100% as the internal override
1→0 factor.
Exceptions are the zero setting for a binary interface and the 1st switch setting for a Gray-coded
interface. In these cases, the override factors entered at the PLC interface are used. With a binary
interface, the override factor = 0. With a Gray-coded interface, the value entered in the machine
data for the 1st switch setting is output as the override value.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1701
NC/PLC Interface Signals (Z1)
Feeds (V1)
DB21, ...
DBX6.6 Rapid traverse override active
Application The override value is generally selected using the rapid traverse override switch on the machine
example(s) control panel.
Using the interface signal:
DB21, ... DBX6.6 (rapid traverse override active),
the rapid traverse override switch can be enabled from the PLC user program while commissioning
a new NC program, e.g. using the key-operated switch.
Special cases, The rapid traverse override is inactive when G33, G63, G331, G332 are active.
errors, ......
Corresponding to .... DB21, ... DBB5 (rapid traverse override)
DB21, ...
DBX6.7 Feedrate override active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The feed rate override between 0 and a maximum of 200% entered at the PLC interface is active
edge change for the path feed rate and therefore automatically for the related axes.
0→1 In JOG mode, the feed rate override acts directly on the axes.
The override factor is entered using the machine data:
MD12020 $MN_OVR_FEED_IS_GRAY_CODE (path feed rate override factor, gray-coded)
and
MD12030 $MN_OVR_FACTOR_FEEDRATE [n] (evaluation of the path feed rate override switch)
Signal state 0 or The feed rate override entered at the PLC interface is ignored.
edge change When the feed rate override is inactive, the NC always uses 100% as the internal override factor.
1→0
Exceptions are the zero setting for a binary interface and the 1st switch setting for a Gray-coded
interface. In these cases, the override factors entered in the PLC interface are used. With a binary
interface, the override factor = 0. With a Gray-coded interface, the value entered in the machine
data for the 1st switch setting is output as the override value.
Application The override value is generally selected using the feed rate override switch on the machine control
example(s) panel.
Using the interface signal:
DB21, ... DBX6.7 (feed rate override active),
the feed rate override switch can be enabled from the PLC user program while commissioning a
new NC program, e.g. using the key-operated switch.
Special cases, The feed rate override is inactive when G33, G63, G331, G332 are active.
errors, ......
Corresponding to .... DB21, ... DBB4 (feed rate override)
Basic Functions
1702 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Feeds (V1)
DB21, ...
DBX12.3, DBX16.3, Feed stop (Geometry axis 1 to 3)
DBX20.3
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The signal is only active in JOG mode.
edge change The signal stops the feed of the geometry axis. This signal brings all traversing axes to a standstill
0→1 with controlled braking (ramp stop). No alarm is output.
The position control is retained, i.e. the following error is eliminated.
If - for a geometry axis - a travel request is issued with an active "feed stop", the request is kept.
This queued travel request is executed immediately after the "feed stop" is canceled.
Signal state 0 or The feed is enabled for the geometry axis.
edge change If, for the geometry axis, a travel request ("travel command") is active when the "feed stop" is
1→0 cancelled, this is executed immediately.
DB21, ...
DBX24.6 Dry run feed rate selected
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Dry run feed rate is selected.
edge change Instead of the programmed feed rate, the dry run feed rate entered in setting data:
0→1 SD42100 $SC_DRY_RUN_FEED
is active.
When activated from the operator panel, the dry run feed signal is automatically entered in the PLC
interface and transmitted by the PLC basic program to the PLC interface signal:
DB21, ... DBX0.6 (active dry run feed).
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1703
NC/PLC Interface Signals (Z1)
Feeds (V1)
DB21, ...
DBX25.3 Feed rate override selected for rapid traverse
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The feed rate override switch should also be active as rapid traverse override switch.
edge change Override values above 100% are limited to the maximum value for 100% rapid traverse override.
0→1
The interface signal:
DB21, ... DBX25.3 (feed rate override for rapid traverse selected)
is automatically entered into the PLC interface from the operator panel
and transferred from the PLC basic program to the PLC interface signal:
DB21, ... DBX6.6 (rapid traverse override active).
DB 21, ...
DBX29.0 - DBX29.3 Activate fixed feed rate 1 - 4 for path/geometry axes
Edge evaluation: No Signal(s) updated: Cyclically
Description These signals are used to select/de-select the function "fixed feed" and define which fixed feed
should be effective for path/geometry axes.
)L[HGIHHGLVGHVHOHFWHG
)L[HGIHHGLVVHOHFWHG
)L[HGIHHGLVVHOHFWHG
)L[HGIHHGLVVHOHFWHG
)L[HGIHHGLVVHOHFWHG
DB31, ...
DBB0 Feed rate override (axis-specific)
Edge evaluation: No Signal(s) updated: Cyclically
Basic Functions
1704 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Feeds (V1)
DB31, ...
DBB0 Feed rate override (axis-specific)
Signal state 1 or The axis-specific feed rate override can be defined via the PLC in binary or Gray coding.
With binary coding, the feed value is interpreted in %. 0% to 200% feed changes are possible, in
edge change accordance with the binary value in the byte.
0→1 The following permanent assignment applies:
$[LVVSHFLILFIHHGUDWH
&RGH RYHUULGHIDFWRU
ฬ
ฬ
ฬ
ฬ
ฬ
ฬ
The factors listed in the table for the axial feed rate override
are stored in the NC-specific machine data: MD12010 $MN_OVR_FACTOR_AX_SPEED [n]
The table contains the default settings.
The number of possible switch settings for standard machine panels is described in the
Configuration Manuals for SINUMERIK 840D.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1705
NC/PLC Interface Signals (Z1)
Feeds (V1)
DB31, ...
DBB0 Feed rate override (axis-specific)
Corresponding to .... DB31, ... DBX1.7 (override effective
MD12010 $MN_OVR_FACTOR_AX_SPEED [n] (evaluation of the axis feed rate override switch)
MD12100 $MN_OVR_FACTOR_LIMIT_BIN (limit for binary coded override switch)
DB31, ...
DBX1.7 Override active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or Feed rate override active:
edge change The axis-specific feed rate override between 0 and a maximum of 200% entered in the PLC
0→1 interface is used.
The override factor is defined using the machine data:
MD12000 $MN_OVR_AX_IS_GRAY_CODE (axis feed rate override switch gray coded)
and
MD12010 $MN_OVR_FACTOR_AX_SPEED [n] (evaluation of the axis feed rate override switch).
Spindle override active:
The spindle override - input at the PLC interface - of 0 to a maximum of 200% is taken into account.
The override factor is entered using the machine data:
MD12060 $MN_OVR_SPIND_IS_GRAY_CODE (spindle override switch, Gray coded)
and
MD12070 $MN_OVR_FACTOR_SPIND_SPEED [n] (evaluation of the spindle override switch).
Signal state 0 or The existing axis-specific feed rate override or spindle override is not active.
edge change If the feed rate override is inactive, "100%" is used as the internal override factor.
1→0
Exceptions are the zero setting for a binary interface and the 1st switch setting for a Gray-coded
interface. In these cases, the override factors entered at the PLC interface are used.
For a binary interface, the override factor = 0. For a gray-coded interface, the value entered in the
machine data for the 1st switch setting is output as the override value.
Application The override value is generally specified using the axis-specific feed rate override switch or the
example(s) spindle override switch on the machine control panel.
The "feed rate override active" signal can be used to enable the feed rate override switch from the
PLC user program, e.g. using the key-operated switch when commissioning a new NC program.
Special cases, The spindle override is always accepted with 100% in the spindle "Oscillation mode".
errors, ...... The spindle override acts on the programmed values before the limits (e.g. G26, LIMS...) intervene.
The feed rate override is ineffective for:
• active G33
• active G63 (the override is defined in the NC at 100%)
• active G331, G332 (the override is defined in the NC at 100%)
The spindle override is inactive for:
• active G63 (the override is defined in the NC at 100%)
Corresponding to .... DB31, ... DBB0 (feed/spindle override)
Basic Functions
1706 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Feeds (V1)
DB31, ...
DBX3.2 - DBX3.5 Activate fixed feed rate 1 - 4 for machine axes
Edge evaluation: No Signal(s) updated: Cyclically
Description These signals are used to select/de-select the function "fixed feed" and define which fixed feed
should be effective for machine axes.
)L[HGIHHGLVGHVHOHFWHG
)L[HGIHHGLVVHOHFWHG
)L[HGIHHGLVVHOHFWHG
)L[HGIHHGLVVHOHFWHG
)L[HGIHHGLVVHOHFWHG
DB31, ...
DBX4.3 Feed stop/spindle stop (axis-specific)
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The signal is active in all modes.
edge change Feed stop:
0→1
The signal triggers a "feed stop" for the axis. This signal brings all traversing axes to a standstill
with controlled braking (ramp stop). No alarm is output.
The signal triggers a "feed stop" for all path axes interpolating relative to each other when the "feed
stop" is activated for any one of these path axes. In this case, all the axes are brought to a stop with
adherence to the path contour. When the "feed stop" signal is canceled, execution of the interrupted
part program is resumed.
The position control is retained, i.e. the following error is eliminated.
If a travel request is issued for an axis with an active "feed stop", this is kept. This queued travel
request is executed immediately after the "feed stop" is canceled.
If the axis is interpolating in relation to others, this also applies to these axes.
Spindle stop:
The spindle is brought to a standstill along the acceleration characteristic.
In the positioning mode, when the "Spindle stop" signal is set positioning is interrupted. The above
response applies with respect to individual axes.
Signal state 0 or Feed stop:
edge change The feed rate is enabled for the axis.
1→0
If a travel request ("travel command") is active when the "feed stop" is canceled, this is executed
immediately.
Spindle stop:
The speed is enabled for the spindle.
The spindle is accelerated to the previous speed setpoint with the acceleration characteristic or, in
positioning mode, positioning is resumed.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1707
NC/PLC Interface Signals (Z1)
Feeds (V1)
DB31, ...
DBX4.3 Feed stop/spindle stop (axis-specific)
Application Feed stop:
example(s) The traversing motion of the machine axes is not started with "feed stop", if, for example, certain
operating states exist at the machine that do not permit the axes to be moved (e.g. a door is not
closed).
Spindle stop:
In order to change a tool
To enter help functions (M, S, H, T, D and F functions) during setup.
Special cases, Spindle stop is inactive when G331, G332 are active.
errors, ......
DB31, ...
DBB19 Spindle override
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 or The spindle override can be defined via the PLC in binary or Gray coding.
edge change The override value determines the percentage of the programmed speed setpoint that is issued to
0→1 the spindle.
With binary coding, the override is interpreted in %. 0% to 200% feed changes are possible, in
accordance with the binary value in the byte.
The following permanent assignment applies:
&RGH 6SLQGOHRYHUULGHIDFWRU
ฬ
ฬ
ฬ
ฬ
ฬ
ฬ
Basic Functions
1708 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
NC/PLC Interface Signals (Z1)
Feeds (V1)
DB31, ...
DBB19 Spindle override
Signal state 1 or In gray coding, the following codes are assigned to the individual switch settings:
edge change
0→1
7DEOH*UD\FRGLQJIRUVSLQGOHRYHUULGH
The factors listed in the table for spindle override are stored in the machine data:
MD12070 $MN_OVR_FACTOR_SPIND_SPEED [n]
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1709
NC/PLC Interface Signals (Z1)
Feeds (V1)
DB31, ...
DBX62.2 Revolutional feed rate active
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or For programming of G95 (revolutional feed rate) in JOG mode or automatic mode.
edge change
0→1
Corresponding to .... SD41100 $SN_JOG_REV_IS_ACTIVE (revolutional feed rate for JOG active)
SD42600 $SC_JOG_FEED_PER_REV_SOURCE
(in the JOG mode revolutional feed rate for geometry axes, on which the frame with rotation acts)
SD43300 $SA_ASSIGN_FEED_PER_REV_SOURCE
(revolutional feed rate for position axes/spindles)
MD32040 $MA_JOG_REV_VELO_RAPID (revolutional feed rate for JOG with rapid traverse
override)
MD32050 $MA_JOG_REV_VELO (revolutional feed rate for JOG mode)
DB31, ...
DBB78 - DBB81 F function for positioning axis
Edge evaluation: no Signal(s) updated: cyclic
Signal state 1 or The F value of a positioning axis programmed in the current block is entered in the axis-specific
edge change PLC interface signal.
0→1 The assignment between the DB number and machine axis number is established using the axis
name.
The value is retained until it is overwritten by another.
Format: Binary number in real format.
Application Modification of the programmed F value by the PLC, e.g. by overwriting the selected axis-specific
example(s) feed rate override.
Corresponding to .... MD22240 $MC_AUXFU_F_SYNC_TYPE (output time F functions)
Basic Functions
1710 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Appendix A
A.1 List of abbreviations
A
AC Adaptive Control
ADI4 Analog Drive Interface for 4 Axes
ALM Active Line Module
ARM Rotating induction motor
AS Automation System
ASCII American Standard Code for Information Interchange
ASUB Asynchronous subprogram
AuxF Auxiliary function
AUXFU Auxiliary Function
B
BA Mode
BP Basic Program (PLC)
BCD Binary Coded Decimals: Decimal numbers encoded in binary code
BCS Basic Coordinate System
BERO Proximity limit switch
BI Binector Input
BICO Binector Connector
BIN BINary files Binary files
BO Binector Output
BOT Boot file (SIMODRIVE 611D)
C
CAD Computer-Aided Design
CAM Computer-Aided Manufacturing
CC Compile Cycle
CF card Compact Flash Card
CI Connector Input
CNC Computerized Numerical Control
CO Connector Output
CoL Certificate of License
COM Communication
Compact I/O module Compact I/O module (PLC I/O module)
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1711
Appendix
List of abbreviations
CP Communication Processor
CPA Compiler Projecting dAta: Compiler configuring data
CPU Central Processing Unit
CR Carriage Return
CRC Cutter Radius Compensation
CTS Clear To Send: Signal from serial data interfaces
CU Control Unit
CUTCOM CUTter radius COMpensation: Tool radius compensation
D
DAU Digital-to-Analog Converter
DB Data block (PLC)
DBB Data block byte (PLC)
DBD Data block double word (PLC)
DBW Data block word (PLC)
DBX Data block bit (PLC)
DIN Deutsche Industrie Norm (German Industry Standard)
DIO Data Input/Output: Data transfer display
DIR DIRectory
DO Drive Object
DPM Dual-Port Memory
DPR Dual-Port RAM
DRAM Dynamic memory (non-buffered)
DRF Differential Resolver Function (handwheel)
DRIVE-CliQ Drive Component Link with IQ
DRY DRY run: Dry run feedrate
DSB Decoding Single Block
DSC Dynamic Servo Control/Dynamic Stiffness Control
DW Data word
DWORD Double word (currently 32 bits)
E
EMC Electro-Magnetic Compatibility
EN European Standard
ENC Encoder: Actual value encoder
EnDat Encoder interface
EPROM Erasable Programmable Read Only Memory
EQN Designation for an absolute encoder with 2048 sine signals per revolution
ES Engineering System
ESD Electrostatic Sensitive Devices
Basic Functions
1712 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Appendix
List of abbreviations
F
FB Function block (PLC)
FC Function Call: Function block (PLC)
FD Feed Drive
FEPROM Flash EPROM: Read and write memory
FIFO First In First Out: memory which works without address specification and whose data
are read in the order in which they were stored.
FIPO Fine InterPOlator
FRAME Coordinate transformation
FST Feed STop
FW Firmware
G
GC Global Control (Profibus: Broadcast telegram)
GEO Geometry, e.g. geometry axis
GIA Gear Interpolation dAta
GND Signal GrouND
GS Gearbox stage
GSD Device master file for desribing a Profibus slave
GSDML Generic Station Description Markup Language: XML-based description language for
creating a GSD file
GUD Global User Data
GWPS Grinding Wheel Peripheral Speed
H
HEX Abbreviation for hexadecimal number
HHU Handheld unit
HMI Human Machine Interface, SINUMERIK operator interface
HW Hardware
HW Config SIMATIC S7 tool for configuration and parameterization of hardware components
within an S7 project
HW limit switch Hardware limit switch
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1713
Appendix
List of abbreviations
I
I/R Infeed/regenerative feedback unit of SIMODRIVE 611(D)
IBN Commissioning
ICA Interpolatory compensation
INC Increment
IPO Interpolator
IS Interface signal
J
JOG JOGging: Setup mode
K
Kp Proportional gain
KÜ Transmission ratio
KV Gain factor of control loop
L
LAN Local Area Network
LEC Leadscrew error compensation
LED Light-emitting diode
LF Line Feed
LR Position controller
LSB Least Significant Bit
LUD Local User Data: User data (local)
M
MAC Media Access Control
MB Megabyte
MCI Motion Control Interface
MCIS Motion Control Information System
MCP Machine control panel
MCS Machine coordinate system
MD Machine Data
MDA Manual Data Automatic: Manual input
MLFB Machine-readable product designation
MM Motor module
MMC Man-Machine Communication
Mode group Mode group
Basic Functions
1714 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Appendix
List of abbreviations
N
NC Numerical Control
NCK Numerical Control Kernel
NCU Numerical Control Unit
NRK Name of operating system of the NCK
NX Numerical eXtension (axis extension module)
O
OB Organization block in the PLC
OEM Original Equipment Manufacturer
OLP Optical Link Plug: Fiber-optic bus connector
OP Operator Panel: Operating equipment
OPI Operator Panel Interface: Interface for connection to the operator panel
OPT Options
P
PC Personal Computer
PCMCIA Personal Computer Memory Card International Association
PCU PC Unit
PCW Program control word
PG Programming device
PID Parameter identification: Part of a PIV
PII Process image of inputs
PIO Process image of outputs
PIV Parameter identification: Value: Parameterizing part of a PPO
PLC Programmable Logic Control: Adaptive controller
PMS Position Measuring System
PNO PROFIBUS User Organization
PO Power On
POS Positioning: e.g. POS axis = positioning axis = channel axis which traverses non-
interpolatory channel axes to their programmed positions, i.e. independently of other
channel axes
POSMO A Positioning Motor Actuator: positioning motor
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1715
Appendix
List of abbreviations
POSMO CA Positioning Motor Compact AC: Complete drive unit with integrated power and
control module as well as positioning unit and program memory; AC infeed
POSMO DC Positioning Motor Compact DC: Like CA but with DC infeed
POSMO SI Positioning Motor Servo Integrated: Positioning motor, DC infeed
PPO Parameter Process data Object; Cyclic data message frame for Profibus DP
transmission and "Variable speed drives" profile
PROFIBUS Process Field Bus: Serial data bus
PRT Program test
PTP Point-To-Point
PUD Program global User Data: Global program variable
PZD Process Data: Process data part of a PPO
Q
QEC Quadrant error compensation
R
RAM Random Access Memory: Read/write memory
REF REFerence point approach function
REPOS REPOSition function
RISC Reduced Instruction Set Computer: Type of processor with small instruction set and
ability to process instructions at high speed
ROV Rapid Override: Input correction
RP R parameter, arithmetic parameter, predefined user variable
RPY Roll Pitch Yaw: Rotation type of a coordinate system
RTCP Real Time Control Protocol
RTLI Rapid Traverse Linear Interpolation: Linear interpolation during rapid traverse motion
S
SBC Safe Brake Control
SBL Single Block
SD Setting Data
SEA Setting Data Active: Identifier (file type) for setting data
SERUPRO SEarch RUn by PROgram test
SGA Safety-related output
SGE Safety-related input
SH Safe stop
SIM Single Inline Module
SK Softkey
SKP SKiP: Function for skipping a part program block
SLM Synchronous Linear Motor
Basic Functions
1716 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Appendix
List of abbreviations
SM Stepper Motor
SMC Cabinet-mounted sensor module
SME Sensor Module Externally-mounted
SPF SubProgram File: Subprogram
SRAM Static RAM (non-volatile)
SRM Synchronous Rotary Motor
SSI Synchronous Serial Interface (interface type)
SSL Block search
STW Control word
SW Software
SW limit switch Software limit switch
SYF SYstem Files
SYNACT SYNchronized ACTion
T
T Tool
TB Terminal Board (SINAMICS)
TC Tool change
TCP Tool Center Point: Tool tip
TCP/IP Transport Control Protocol/Internet Protocol
TCU Thin Client Unit
TEA Testing Data Active: Identifier for machine data
TIA Totally Integrated Automation
TLC Tool Length Compensation
TM Tool management
TM Terminal Module (SINAMICS)
TNRC Tool Nose Radius Compensation
TO Tool Offset
TOA Tool Offset Active: Identifier (file type) for tool offsets
TRANSMIT TRANSform Milling Into Turning: Coordination transformation for milling operations
on a lathe
TRC Tool Radius Compensation
TTL Transistor-Transistor Logic (interface type)
U
UPS Uninterruptible power supply (UPS)
USB Universal Serial Bus
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1717
Appendix
List of abbreviations
V
VDE Verband Deutscher Elektrotechniker [Association of German Electrical Engineers]
VDI Internal communication interface between NCK and PLC
VDI Verein Deutscher Ingenieure [Association of German Engineers]
VI Voltage input
VO Voltage output
W
WCS Workpiece Coordinate System
WOP Workshop-Oriented Programming
WPD Workpiece Directory
WZ Tool
X
XML Extensible Markup Language
Z
ZO Zero offset
ZOA Zero Offset Active: Identifier for zero offsets
ZSW Status word (of drive)
Basic Functions
1718 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Appendix
Feedback on the documentation
This document will be continuously improved with regard to its quality and ease of use.
Please help us with this task by sending your comments and suggestions for improvement
via e-mail or fax to:
E-mail: mailto:[email protected]
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1719
Appendix
Feedback on the documentation
7R )URP
6,(0(16$*
1DPH
,'70&06
32%R[ $GGUHVVRI\RXUFRPSDQ\GHSDUWPHQW
6WUHHW
'(UODQJHQ*HUPDQ\
=LSFRGH &LW\
3KRQH
6XJJHVWLRQVDQGRUFRUUHFWLRQV
Basic Functions
1720 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Appendix
Overview
A.3 Overview
'RFXPHQW2YHUYLHZ6,180(5,.'VO'LVO
*HQHUDO'RFXPHQWDWLRQ
8VHU'RFXPHQWDWLRQ
0DQXIDFWXUHUVHUYLFHGRFXPHQWDWLRQ
0DQXIDFWXUHUVHUYLFHGRFXPHQWDWLRQ
(OHFWURQLFGRFXPHQWDWLRQ
6,180(5,.
6,1$0,&6
0RWRUV
'2&21&'
'2&21:(% 5HFRPPHQGHGPLQLPXPVFRSHRIGRFXPHQWDWLRQ
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1721
Appendix
Overview
Basic Functions
1722 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Glossary
Absolute dimensions
A destination for an axis movement is defined by a dimension that refers to the origin of the
currently active coordinate system. See → Incremental dimension
Address
An address is the identifier for a certain operand or operand range, e.g. input, output etc.
Alarms
All → messages and alarms are displayed on the operator panel in plain text with date and
time and the corresponding symbol for the cancel criterion. Alarms and messages are
displayed separately.
1. Alarms and messages in the part program:
Alarms and messages can be displayed in plain text directly from the part program.
2. Alarms and messages from PLC
Alarms and messages for the machine can be displayed in plain text from the PLC
program. No additional function block packages are required for this purpose.
Archive
Reading out of files and/or directories on an external memory device.
Asynchronous subroutine
Part program that can be started asynchronously to (independently of) the current program
status using an interrupt signal (e.g. "Rapid NC input" signal).
Automatic
Operating mode of the control (block sequence operation according to DIN): Operating mode
for NC systems in which a → subprogram is selected and executed continuously.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1723
Glossary
Auxiliary functions
Auxiliary functions enable → part programs to transfer → parameters to the → PLC, which
then trigger reactions defined by the machine manufacturer.
Axes
In accordance with their functional scope, the CNC axes are subdivided into:
● Axes: interpolating path axes
● Auxiliary axes: non-interpolating feed and positioning axes with an axis-specific feed rate.
Auxiliary axes are not involved in actual machining, e.g. tool feeder, tool magazine.
Axis address
See → Axis identifier
Axis identifier
Axes are identifed using X, Y, and Z as defined in DIN 66217 for a dextrorotatory, right-
angled → coordinate system.
Rotary axes rotating around X, Y, and Z are identified using A, B, and C. Additional axes
situated parallel to the specified axes can be designated using other letters.
Axis name
See → Axis identifier
Backlash compensation
Compensation for a mechanical machine backlash, e.g. backlash on reversal for ball screws.
Backlash compensation can be entered separately for each axis.
Backup battery
The backup battery ensures that the → user program in the → CPU is stored so that it is safe
from power failure and so that specified data areas and bit memory, timers and counters are
stored retentively.
Base axis
Axis whose setpoint or actual value position forms the basis of the calculation of a
compensation value.
Basic Functions
1724 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Glossary
Baud rate
Rate of data transfer (Bit/s).
Blank
Workpiece as it is before it is machined.
Block
"Block" is the term given to any files required for creating and processing programs.
Block search
For debugging purposes or following a program abort, the "Block search" function can be
used to select any location in the part program at which the program is to be started or
resumed.
Booting
Loading the system program after power ON.
C axis
Axis around which the tool spindle describes a controlled rotational and positioning
movement.
Channel
A channel is characterized by the fact that it can process a → part program independently of
other channels. A channel exclusively controls the axes and spindles assigned to it.
Part program runs of different channels can be coordinated through → synchronization.
Circular interpolation
The → tool moves on a circle between specified points on the contour at a given feed rate,
and the workpiece is thereby machined.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1725
Glossary
CNC
See → NC
COM
Component of the NC for the implementation and coordination of communication.
Compensation axis
Axis with a setpoint or actual value modified by the compensation value
Compensation memory
Data range in the control, in which the tool offset data are stored.
Compensation table
Table containing interpolation points. It provides the compensation values of the
compensation axis for selected positions on the basic axis.
Compensation value
Difference between the axis position measured by the encoder and the desired, programmed
axis position.
Connecting cables
Connecting cables are pre-assembled or user-assembled 2-wire cables with a connector at
each end. This connecting cable connects the → CPU to a → programming device or to other
CPUs by means of a → multi-point interface (MPI).
Continuous-path mode
The objective of continuous-path mode is to avoid substantial deceleration of the → path
axes at the part program block boundaries and to change to the next block at as close to the
same path velocity as possible.
Contour
Contour of the → workpiece
Contour monitoring
The following error is monitored within a definable tolerance band as a measure of contour
accuracy. An unacceptably high following error can cause the drive to become overloaded,
for example. In such cases, an alarm is output and the axes are stopped.
Basic Functions
1726 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Glossary
Coordinate system
See → Machine coordinate system, → Workpiece coordinate system
CPU
Central processing unit, see → PLC
C-Spline
The C-Spline is the most well-known and widely used spline. The transitions at the
interpolation points are continuous, both tangentially and in terms of curvature. 3rd order
polynomials are used.
Curvature
The curvature k of a contour is the inverse of radius r of the nestling circle in a contour point
(k = 1/r).
Cycles
Protected subroutines for execution of repetitive machining operations on the → workpiece.
Data block
1. Data unit of the → PLC that → HIGHSTEP programs can access.
2. Data unit of the → NC: Data modules contain data definitions for global user data.
These data can be initialized directly when they are defined.
Data word
Two-byte data unit within a → data block.
Diagnosis
1. Operating area of the control.
2. The control has both a self-diagnostics program as well as test functions for servicing
purposes: status, alarm, and service displays
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1727
Glossary
DRF
Differential Resolver Function: NC function which generates an incremental zero offset in
Automatic mode in conjunction with an electronic handwheel.
Drive
The drive is the unit of the CNC that performs the speed and torque control based on the
settings of the NC.
Editor
The editor makes it possible to create, edit, extend, join, and import programs/texts/program
blocks.
Exact stop
When an exact stop statement is programmed, the position specified in a block is
approached exactly and, if necessary, very slowly. To reduce the approach time, → exact
stop limits are defined for rapid traverse and feed.
Basic Functions
1728 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Glossary
Feed override
The programmed velocity is overriden by the current velocity setting made via the → machine
control panel or from the → PLC (0 to 200%). The feedrate can also be corrected by a
programmable percentage factor (1-200%) in the machining program.
Finished-part contour
Contour of the finished workpiece. See → Raw part.
Fixed-point approach
Machine tools can approach fixed points such as a tool change point, loading point, pallet
change point, etc. in a defined way. The coordinates of these points are stored in the control.
The control moves the relevant axes in → rapid traverse, whenever possible.
Frame
A frame is an arithmetic rule that transforms one Cartesian coordinate system into another
Cartesian coordinate system. A frame contains the following components: → zero offset,
→ rotation, → scaling, → mirroring.
Functionality
The path-jerk limitation can be activated/deactivated by programming the setting data.
Parameter: Value
● Value range: TRUE, FALSE
Application:
● Part program
● Static synchronized action
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1729
Glossary
Geometry
Description of a → workpiece in the → workpiece coordinate system.
Geometry axis
Geometry axes are used to describe a 2- or 3-dimensional area in the workpiece coordinate
system.
Ground
Ground is taken as the total of all linked inactive parts of a device which will not become live
with a dangerous contact voltage even in the event of a malfunction.
Helical interpolation
The helical interpolation function is ideal for machining internal and external threads using
form milling cutters and for milling lubrication grooves.
The helix comprises two movements:
● Circular movement in one plane
● A linear movement perpendicular to this plane
HIGHSTEP
Summary of programming options for → PLCs of the AS300/AS400 system.
Basic Functions
1730 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Glossary
Identifier
In accordance with DIN 66025, words are supplemented using identifiers (names) for
variables (arithmetic variables, system variables, user variables), subroutines, key words,
and words with multiple address letters. These supplements have the same meaning as the
words with respect to block format. Identifiers must be unique. It is not permissible to use the
same identifier for different objects.
Increment
Travel path length specification based on number of increments. The number of increments
can be stored as → setting data or be selected by means of a suitably labeled key (i.e. 10,
100, 1000, 10000).
Incremental dimension
Also incremental dimension: A destination for axis traversal is defined by a distance to be
covered and a direction referenced to a point already reached. See → Absolute dimension.
Intermediate blocks
Motions with selected → tool offset (G41/G42) may be interrupted by a limited number of
intermediate blocks (blocks without axis motions in the offset plane), whereby the tool offset
can still be correctly compensated for. The permissible number of intermediate blocks which
the control reads ahead can be set in system parameters.
Interpolator
Logic unit of the → NCK that defines intermediate values for the motions to be carried out in
individual axes based on information on the end positions specified in the part program.
Interpolatory compensation
Interpolatory compensation is a tool that enables manufacturing-related leadscrew error and
measuring system error compensations (SSFK, MSFK).
Interrupt routine
Interrupt routines are special → subroutines that can be started by events (external signals)
in the machining process. A part program block which is currently being worked through is
interrupted and the position of the axes at the point of interruption is automatically saved.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1731
Glossary
Inverse-time feedrate
With SINUMERIK 840D, the time required for the path of a block to be traversed can be
programmed for the axis motion instead of the feed velocity (G93).
JOG
Control operating mode (setup mode): In JOG mode, the machine can be set up. Individual
axes and spindles can be traversed in JOG mode by means of the direction keys. Additional
functions in JOG mode include: → Reference point approach, → Repos, and → Preset (set
actual value).
Key switch
The key switch on the → machine control panel has four positions that are assigned functions
by the operating system of the control. The key switch has three different colored keys that
can be removed in the specified positions.
Keywords
Words with specified notation that have a defined meaning in the programming language for
→ part programs.
KV
Servo gain factor, a control variable in a control loop.
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.
Limit speed
Maximum/minimum (spindle) speed: The maximum speed of a spindle can be limited by
specifying machine data, the → PLC or → setting data.
Linear axis
In contrast to a rotary axis, a linear axis describes a straight line.
Linear interpolation
The tool travels along a straight line to the destination point while machining the workpiece.
Basic Functions
1732 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Glossary
Load memory
The load memory is the same as → RAM for the CPU 314 of the → PLC.
Look Ahead
The Look Ahead function is used to achieve an optimal machining speed by looking ahead
over an assignable number of traversing blocks.
Machine axes
Physically existent axes on the machine tool.
Machine zero
Fixed point of the machine tool to which all (derived) measuring systems can be traced back.
Machining channel
A channel structure can be used to shorten idle times by means of parallel motion
sequences, e.g. moving a loading gantry simultaneously with machining. Here, a CNC
channel must be regarded as a separate CNC control system with decoding, block
preparation and interpolation.
Macro techniques
Grouping of a set of statements under a single identifier. The identifier represents the set of
consolidated statements in the program.
Main block
A block prefixed by ":" introductory block, containing all the parameters required to start
execution of a -> part program.
Main program
The → part program designated by a number or an identifer in which additional main
programs, subroutines, or → cycles can be called.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1733
Glossary
MDA
Control operating mode: Manual Data Automatic. In the MDA mode, individual program
blocks or block sequences with no reference to a main program or subroutine can be input
and executed immediately afterwards through actuation of the NC start key.
Messages
All messages programmed in the part program and → alarms detected by the system are
displayed on the operator panel in plain text with date and time and the corresponding
symbol for the cancel criterion. Alarms and messages are displayed separately.
Mirroring
Mirroring reverses the signs of the coordinate values of a contour, with respect to an axis. It
is possible to mirror with respect to more than one axis at a time.
Mode group
Axes and spindles that are technologically related can be combined into one mode group.
Axes/spindles of a BAG can be controlled by one or more → channels. The same → mode
type is always assigned to the channels of the mode group.
Mode of operation
An operating concept on a SINUMERIK control. The following modes are defined: → Jog,
→ MDA, → Automatic.
NC
Numerical Control: Numerical control (NC) includes all components of machine tool control:
→ NCK, → PLC, HMI, → COM.
Note
A more correct term for SINUMERIK 840D controls would be: Computerized Numerical
Control
NCK
Numerical Control Kernel: Component of NC that executes the → part programs and
basically coordinates the motion operations for the machine tool.
Basic Functions
1734 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Glossary
Network
A network is the connection of multiple S7-300 and other end devices, e.g. a programming
device via a → connecting cable. A data exchange takes place over the network between the
connected devices.
NRK
Numeric robotic kernel (operating system of → NCK)
NURBS
The motion control and path interpolation that occurs within the control is performed based
on NURBS (Non Uniform Rational B-Splines). As a result, a uniform process is available
within the control for all interpolations for SINUMERIK 840D.
OEM
The scope for implementing individual solutions (OEM applications) for the SINUMERIK
840D has been provided for machine manufacturers, who wish to create their own operator
interface or integrate process-oriented functions in the control.
Operator interface
The user interface (UI) is the display medium for a CNC in the form of a screen. It features
horizontal and vertical softkeys.
Overall reset
In the event of an overall reset, the following memories of the → CPU are deleted:
● → Work memory
● Read/write area of → load memory
● → System memory
● → Backup memory
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1735
Glossary
Override
Manual or programmable control feature, which enables the user to override programmed
feedrates or speeds in order to adapt them to a specific workpiece or material.
Path axis
Path axes include all machining axes of the → channel that are controlled by the
→ interpolator in such a way that they start, accelerate, stop, and reach their end point
simultaneously.
Path feedrate
Path feed affects → path axes. It represents the geometric sum of the feed rates of the
→ geometry axes involved.
Path velocity
The maximum programmable path velocity depends on the input resolution. For example,
with a resolution of 0.1 mm the maximum programmable path velocity is 1000 m/min.
Peripheral module
I/O modules represent the link between the CPU and the process.
I/O modules are:
● → Digital input/output modules
● → Analog input/output modules
● → Simulator modules
Basic Functions
1736 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Glossary
PLC
Programmable Logic Control: → Programmable logic controller. Component of → NC:
Programmable controller for processing the control logic of the machine tool.
PLC programming
The PLC is programmed using the STEP 7 software. The STEP 7 programming software is
based on the WINDOWS standard operating system and contains the STEP 5 programming
functions with innovative enhancements.
Polar coordinates
A coordinate system, which defines the position of a point on a plane in terms of its distance
from the origin and the angle formed by the radius vector with a defined axis.
Polynomial interpolation
Polynomial interpolation enables a wide variety of curve characteristics to be generated,
such as straight line, parabolic, exponential functions (SINUMERIK 840D).
Positioning axis
Axis that performs an auxiliary movement on a machine tool (e.g. tool magazine, pallet
transport). Positioning axes are axes that do not interpolate with → path axes.
Pre-coincidence
Block change occurs already when the path distance approaches an amount equal to a
specifiable delta of the end position.
Program block
Program blocks contain the main program and subroutines of → part programs.
Programmable frames
Programmable → frames enable dynamic definition of new coordinate system output points
while the part program is being executed. A distinction is made between absolute definition
using a new frame and additive definition with reference to an existing starting point.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1737
Glossary
Programming key
Character and character strings that have a defined meaning in the programming language
for → part programs.
Protection zone
Three-dimensional zone within the → working area into which the tool tip must not pass.
R parameters
Arithmetic parameter that can be set or queried by the programmer of the → part program for
any purpose in the program.
Rapid traverse
The highest traverse rate of an axis. For example, rapid traverse is used when the tool
approaches the → workpiece contour from a resting position or when the tool is retracted
from the workpiece contour. The rapid traverse velocity is set on a machine-specific basis
using a machine data element.
Reference point
Machine tool position that the measuring system of the → machine axes references.
Rotary axis
Rotary axes apply a workpiece or tool rotation to a defined angular position.
Basic Functions
1738 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Glossary
Rotation
Component of a → frame that defines a rotation of the coordinate system around a particular
angle.
Rounding axis
Rounding axes rotate a workpiece or tool to an angular position corresponding to an
indexing grid. When a grid index is reached, the rounding axis is "in position".
Safety functions
The control is equipped with permanently active montoring functions that detect faults in the
→ CNC, the → PLC, and the machine in a timely manner so that damage to the workpiece,
tool, or machine is largely prevented. In the event of a fault, the machining operation is
interrupted and the drives stopped. The cause of the malfunction is logged and output as an
alarm. At the same time, the PLC is notified that a CNC alarm has been triggered.
Scaling
Component of a → frame that implements axis-specific scale modifications.
Selecting
Series of statements to the NC that act in concert to produce a particular → workpiece.
Likewise, this term applies to execution of a particular machining operation on a given → raw
part.
Setting data
Data, which communicates the properties of the machine tool to the NC, as defined by the
system software.
Softkey
A key, whose name appears on an area of the screen. The choice of soft keys displayed is
dynamically adapted to the operating situation. The freely assignable function keys (soft
keys) are assigned defined functions in the software.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1739
Glossary
Spline interpolation
With spline interpolation, the controller can generate a smooth curve characteristic from only
a few specified interpolation points of a set contour.
SRT
Transformation ratio
Standard cycles
Standard cycles are provided for machining operations, which are frequently repeated:
● for drilling/milling applications
● for turning technology
The available cycles are listed in the "Cycle support" menu in the "Program" operating area.
Once the desired machining cycle has been selected, the parameters required for assigning
values are displayed in plain text.
Subblock
Block preceded by "N" containing information for a sequence, e.g. positional data.
Subroutine
Sequence of statements of a → part program that can be called repeatedly with different
defining parameters. The subroutine is called from a main program. Every subroutine can be
protected against unauthorized read-out and display. → Cycles are a form of subroutines.
Synchronization
Statements in → part programs for coordination of sequences in different → channels at
certain machining points.
Synchronized actions
1. Auxiliary function output
During workpiece machining, technological functions (→ auxiliary functions) can be output
from the CNC program to the PLC. For example, these auxiliary functions are used to
control additional equipment for the machine tool, such as quills, grabbers, clamping
chucks, etc.
2. Fast auxiliary function output
For time-critical switching functions, the acknowledgement times for the → auxiliary
functions can be minimized and unnecessary hold points in the machining process can
be avoided.
Basic Functions
1740 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Glossary
Synchronized axes
Synchronized axes take the same time to traverse their path as the geometry axes take for
their path.
Synchronized axis
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".
Syntax
$SC_IS_SD_MAX_PATH_JERK = value
System memory
The system memory is a memory in the CPU in which the following data is stored:
● Data required by the operating system
● The operands times, counters, markers
System variables
A variable that exists without any input from the programmer of a → part program. It is
defined by a data type and the variable name preceded by the character $. See → User-
defined variable.
Text editor
See → Editor
TOA area
The TOA area includes all tool and magazine data. By default, this area coincides with the
→ channel area with regard to the reach of the data. However, machine data can be used to
specify that multiple channels share one → TOA unit so that common tool management data
is then available to these channels.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1741
Glossary
TOA unit
Each → TOA area can have more than one TOA unit. The number of possible TOA units is
limited by the maximum number of active → channels. A TOA unit includes exactly one tool
data block and one magazine data block. In addition, a TOA unit can also contain a
toolholder data block (optional).
Tool
Active part on the machine tool that implements machining (e.g. turning tool, milling tool, drill,
LASER beam, etc.).
Tool offset
Consideration of the tool dimensions in calculating the path.
Transformation
Additive or absolute zero offset of an axis.
Traversing range
The maximum permissible travel range for linear axes is ± 9 decades. The absolute value
depends on the selected input and position control resolution and the unit of measurement
(inch or metric).
User memory
All programs and data, such as part programs, subroutines, comments, tool offsets, and zero
offsets/frames, as well as channel and program user data, can be stored in the shared CNC
user memory.
Basic Functions
1742 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Glossary
User program
User programs for the S7-300 automation systems are created using the programming
language STEP 7. The user program has a modular layout and consists of individual blocks.
The basic block types are:
● Code blocks
These blocks contain the STEP 7 commands.
● Data blocks
These blocks contain constants and variables for the STEP 7 program.
User-defined variable
Users can declare their own variables for any purpose in the → part program or data block
(global user data). A definition contains a data type specification and the variable name. See
→ System variable.
Variable definition
A variable definition includes the specification of a data type and a variable name. The
variable names can be used to access the value of the variables.
Velocity control
In order to achieve an acceptable traverse rate in the case of very slight motions per block,
an anticipatory evaluation over several blocks (→ Look Ahead) can be specified.
WinSCP
WinSCP is a freely available open source program for Windows for the transfer of files.
Working area
Three-dimensional zone into which the tool tip can be moved on account of the physical
design of the machine tool. See → Protection zone.
Working memory
RAM is a work memory in the → CPU that the processor accesses when processing the
application program.
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1743
Glossary
Workpiece
Part to be made/machined by the machine tool.
Workpiece contour
Set contour of the → workpiece to be created or machined.
Workpiece zero
The workpiece zero is the starting point for the → workpiece coordinate system. It is defined
in terms of distances to the → machine zero.
Zero offset
Specifies a new reference point for a coordinate system through reference to an existing
zero point and a → frame.
1. Settable
SINUMERIK 840D: A configurable number of settable zero offsets are available for each
CNC axis. The offsets - which are selected by means of G functions - take effect
alternately.
2. External
In addition to all the offsets which define the position of the workpiece zero, an external
zero offset can be overridden by means of the handwheel (DRF offset) or from the PLC.
3. Programmable
Zero offsets can be programmed for all path and positioning axes using the TRANS
statement.
Basic Functions
1744 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Index
$AN_AUXFU_LIST_ENDINDEX, 487
$AN_AUXFU_LIST_GROUPINDEX, 484
$ $AN_POWERON_TIME, 712
$AN_SETUP_TIME, 712
$A_MONIFACT, 1546
$C_AUX_EXT, 685
$AA_ATOL, 218
$C_AUX_IS_QUICK, 685
$AA_ETRANS, 836
$C_AUX_VALUE, 685
$AA_FGREF, 380
$C_D, 691
$AA_FGROUP, 381
$C_D_PROG, 691
$AA_S, 1214
$C_DL, 691
$AC_ACT_PROG_NET_TIME, 713
$C_DL_PROG, 691
$AC_ACTUAL_PARTS, 718
$C_M, 685, 691
$AC_ASUP, 649
$C_M_PROG, 685, 691
$AC_AUXFU_EXT, 497
$C_ME, 685, 691
$AC_AUXFU_M_EXT, 497
$C_T, 691
$AC_AUXFU_M_STATE, 497
$C_T_PROG, 691
$AC_AUXFU_M_TICK, 477
$C_TE, 691
$AC_AUXFU_M_VALUE, 497
$C_TS, 691
$AC_AUXFU_PREDEF_INDEX, 482, 496
$C_TS_PROG, 691
$AC_AUXFU_SPEC, 494, 497
$P_AD[10], 1488
$AC_AUXFU_STATE, 497
$P_AD[11], 1488
$AC_AUXFU_TICK, 483
$P_AD[2], 1488
$AC_AUXFU_TYPE, 497
$P_AD[24], 1488
$AC_AUXFU_VALUE, 497
$P_CHANNO, 626
$AC_CTOL, 218
$P_CTOL, 219
$AC_CUT_INV, 1487
$P_CUT_INV, 1487
$AC_CUTMOD, 1487
$P_CUTMOD, 1487
$AC_CUTMOD_ANG, 1481, 1487
$P_CUTMOD_ANG, 1481, 1487
$AC_CUTTING_TIME, 715
$P_FGROUP_MASK, 381
$AC_CYCLE_TIME, 715
$P_GEAR, 1282
$AC_FGROUP_MASK, 381
$P_OTOL, 219
$AC_OLD_PROG_NET_TIME, 713
$P_PROG_EVENT, 626
$AC_OLD_PROG_NET_TIME_COUNT, 713
$P_REPINF, 644
$AC_OPERATING_TIME, 715
$P_SEARCH_S, 480, 545
$AC_OTOL, 218
$P_SEARCH_SDIR, 480, 545
$AC_PATHACC, 238, 250
$P_SEARCH_SGEAR, 480, 545
$AC_PATHJERK, 249, 250, 251
$P_SEARCH_SPOS, 480, 545
$AC_PROG_NET_TIME_TRIGGER, 713
$P_SEARCH_SPOSMODE, 480, 545
$AC_REQUIRED_PARTS, 718
$P_SUB_AUTOGEAR, 700
$AC_SGEAR, 1282
$P_SUB_AXFCT, 700, 704
$AC_SPECIAL_PARTS, 718
$P_SUB_CA, 700, 704
$AC_TOTAL_PARTS, 718
$P_SUB_GEAR, 700
$AC_WORKAREA_CS_COORD_SYSTEM, 111
$P_SUB_LA, 700, 704
$AC_WORKAREA_CS_LIMIT_MINUS, 111
$P_SUB_M19, 704
$AC_WORKAREA_CS_LIMIT_PLUS, 111
$P_SUB_SPOS, 704
$AC_WORKAREA_CS_MINUS_ENABLE, 111
$P_SUB_SPOSA, 704
$AC_WORKAREA_CS_PLUS_ENABLE, 111
$P_SUB_SPOSIT, 704
$AN_AUXFU_LIST_CHANNO, 484
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1745
Index
$P_SUB_SPOSMODE, 704 A
$P_SUB_STAT, 688
ACC, 1278
$P_TOOLENV, 1534
ACC[axis], 234
$P_TOOLENVN, 1534
Acceleration correction
$PA_ATOL, 219
in the part program/synchronized action, 1349
$PA_FGREF, 380
Access authorization, 61
$PA_FGROUP, 381
Access features, 62
$SC_IS_SD_MAX_PATH_ACCEL, 236
Access security, 61
$SC_IS_SD_MAX_PATH_JERK, 249
Acknowledgment
$SC_SD_MAX_PATH_ACCEL, 236
Normal, 450
$SC_SD_MAX_PATH_JERK, 248
Quick, 451
$TC_DP1, 1477
ACN, 1277
$TC_DP10, 1479
ACP, 1277
$TC_DP11, 1478
Action blocks, 542
$TC_DP2, 1478, 1482
Action single block, 535
$TC_DP24, 1479
Activating
$TC_DPCE[t,d], 1373
from machine control panel, hand-held unit, 953
$TC_DPNT, 1307
Actual value synchronization, 44
$VA_ABSOLUTE_ENC_ERR_CNT, 98
Actual value in workpiece coordinate system, 35
$VA_ABSOLUTE_ENC_STATE, 98
Actual-value acquisition, 382
$VA_ABSOLUTE_ENC_ZERO_MON_MAX, 98
Actual-value correction, 384
$VA_DPE, 430
Actual-value processing, 393, 412, 416
$VA_ENC_ZERO_MON_ACT, 98
Actual-value resolution, 396
$VA_ENC_ZERO_MON_ERR_CNT, 98
Actual-value routing, 384
Actual-value system
Workpiece-related, 856
_ Adaptation factor
_N_PROG_EVENT_SPF, 546, 621 Dynamic path response, 195
Adapter dimension, 1402
Adapting the motor/load ratios, 390
3 ADDFRAME, 834
Adjustments to actual-value resolution, 399
3D-face milling, 1400
AG_SEND, AG_RECV, 942
Air temperature alarm, 33
Alarm for preprocessing stop, 1442
6 ALF, 644
611D commissioning tool, 308 Angle
611D Ready, 32 Clearance, 1479
Holder, 1479
ANY, 1135
8 ANY in FB, 1136
ANY in FC, 1135
840D sl
AS, 915
Ethernet connection, 954
Assignment tool/toolholder, 1448
840D with integrated PLC
ASUB
Data exchange with the control panel, 915
Activating, 635
Interface HMI/PLC, 917
after block search with calculation, 543
Interface MCP/PLC and HHU/PLC, 917
At the end of the SERUPRO, 487
NCK/PLC interface, 916
Internal, 647
Priority, 644
Reorganization, 635
ASUBs, 940
Basic Functions
1746 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Index
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1747
Index
Basic Functions
1748 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Index
DBX18.5, 1246, 1259, 1260, 1261, 1265, 1290 DBX109.6, 33, 1571
DBX18.6, 1260 DBX109.7, 33, 1571
DBX18.7, 1260 DBX180.2, 1568
DBX2.1, 1265, 1290 DBX56.1, 43, 600, 875, 877, 879, 1676
DBX2.2, 1214, 1290 DBX56.2, 875, 878, 1676
DBX3.1, 340, 346, 347 DBX56.4, 64
DBX4.3, 1260, 1290 DBX56.4 - DBX56.7, 1566
DBX60.0, 1231 DBX56.5, 64
DBX60.2, 1291 DBX56.6, 64
DBX60.3, 1291 DBX56.7, 64
DBX60.4, 102, 1170, 1291 DBX92.0, 937
DBX60.4/60.5, 1255, 1261, 1262, 1264, 1265 DBX92.1, 937
DBX60.5, 102, 1170, 1291 DB11
DBX60.6, 83, 1293 DBX0.0, 521, 524, 1643
DBX60.7, 83, 1293 DBX0.1, 521, 1149, 1152, 1643
DBX61.4, 1214, 1286 DBX0.2, 521, 1149, 1152, 1643
DBX61.5, 1261, 1265 DBX0.4, 527, 1644
DBX62.4, 322, 328, 347, 349 DBX0.5, 519, 1644
DBX62.5, 322, 328, 345 DBX0.6, 519, 1645
DBX64.6, 83 DBX0.7, 519, 603, 878, 1151, 1153, 1154, 1645
DBX64.7, 83 DBX07.7, 600
DBX7.7, 1290 DBX1.0, 1646
DBX70.0, 592 DBX1.0-1.2, 522
DBX70.1, 592 DBX1.1, 1646
DBX82.0-82.2, 1245, 1248, 1249, 1251, 1258, 1261 DBX1.2, 1149, 1152, 1646
DBX82.3, 1246, 1248, 1249, 1258, 1261, 1262 DBX1.6, 657, 1647
DBX83.1, 1214, 1226, 1248, 1250, 1287, 1290 DBX1.7, 656, 1647
DBX83.2, 1287, 1290 DBX26.4, 525
DBX83.5, 1214, 1219, 1287 DBX26.5, 525
DBX84.5, 1264 DBX4.0, 1648
DBX84.6, 1261 DBX4.0-4.2, 521
DBX84.7, 1246, 1265 DBX4.1, 1648
DB10 DBX4.2, 1648
DBB4-7, 877 DBX4.4, 600
DBB71, 376 DBX46.4, 525
DBX103.0, 1567 DBX46.5, 525
DBX103.0, 33 DBX5.0, 1648
DBX103.5, 1567 DBX5.0-5.2, 522
DBX103.6, 1567 DBX5.1, 1649
DBX103.7, 1567 DBX5.2, 1649
DBX104.3, 955 DBX6.0, 521, 525, 1650
DBX104.4, 955 DBX6.1, 521, 525, 1650
DBX104.7, 32, 938, 1568 DBX6.2, 521, 525, 1650
DBX106.1, 876, 878, 879, 1677 DBX6.3, 519, 876, 879, 1650
DBX107.7, 376 DBX6.4, 525
DBX108.1, 32, 1568 DBX6.5, 525
DBX108.2, 32 DBX6.7, 519, 1651
DBX108.3, 32, 1568 DBX7.0, 525, 1651
DBX108.6, 32, 1569 DBX7.0-7.2, 522
DBX108.7, 32, 1569 DBX7.1, 525, 1652
DBX109.0, 33, 1570 DBX7.2, 525, 1652
DBX109.5, 1570 DB19
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1749
Index
Basic Functions
1750 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Index
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1751
Index
DBX35.7, 600, 603, 605, 620, 1665 DBX1.5, 42, 94, 383, 1154, 1168, 1241
DBX36.2, 1150, 1153, 1680 DBX1.5 - DBX1.6, 1594
DBX36.3, 1632 DBX1.6, 42, 94, 383, 1154, 1168, 1241
DBX36.4, 1665 DBX1.7, 1706
DBX36.5, 1665 DBX10.0, 561, 563, 564, 565, 566, 567, 571, 1672
DBX36.6, 33, 544, 1570, 1589 DBX12.0 - DBX12.1, 1630
DBX36.7, 33, 544, 1570, 1589 DBX12.2 - DBX12.3, 1630
DBX37.6, 1666 DBX12.7, 1158, 1159, 1160, 1161, 1681
DBX37.7, 1666 DBX16.0, 285
DBX378.0, 1671 DBX16.0 - 16.2, 412
DBX378.1, 1672 DBX16.0 - DBX16.2, 1685
DBX384.0, 609, 1672 DBX16.0-16.2, 1215
DBX59.0 - DBX59.4, 1638 DBX16.1, 285
DBX6.0, 1701 DBX16.2, 285
DBX6.1, 1219, 1250, 1654 DBX16.3, 1211, 1215, 1252, 1269, 1686
DBX6.2, 36, 1588 DBX16.4, 1241
DBX6.4, 1655 DBX16.4 - DBX16.5, 1686
DBX6.6, 1701 DBX16.5, 1241
DBX6.7, 1702 DBX16.7, 1687
DBX7.0, 600, 1655 DBX17.4 - DBX17.5, 1687
DBX7.1, 534, 542, 602, 1655 DBX17.6, 1687
DBX7.2, 600, 601, 1656 DBX18.4, 1688
DBX7.3, 600, 601, 1656 DBX18.5, 1215, 1689
DBX7.4, 600, 601, 1252, 1290, 1657 DBX18.6 - DBX18.7, 1690
DBX7.5, 532 DBX2.1, 37, 38, 40, 41, 43, 1154, 1168, 1186, 1597
DBX7.7, 600, 603, 878, 1151, 1153, 1154, 1231, DBX2.2, 45, 85, 542, 562, 1222, 1252, 1598, 1684
1657 DBX2.3, 84, 91, 1629
DBX8.0 - DBX9.1, 1627 DBX2.4 - DBX2.7, 1680
DBX8.0 to DBX9.1, 126 DBX2.4/ .5/ .6/ .7, 1166
DB21, … DBX20.0, 1600
DBX378.0, 635 DBX20.1, 48, 1253, 1600
DBX378.1, 642 DBX20.2, 48, 1601
DB31, ... DBX20.3, 48, 296, 1601
DBB0, 1704 DBX21.0, 48, 297
DBB1.5, 1200 DBX21.0 - DBX21.2, 1602
DBB1.6, 1200 DBX21.1, 48, 297
DBB19, 1708 DBX21.2, 48, 297
DBB2.1, 1200 DBX21.3, 49, 297
DBB60.4, 1181, 1192, 1195 DBX21.3 - DBX21.4, 1603
DBB60.5, 1181, 1192, 1195 DBX21.4, 49, 297
DBB68ff., 1279 DBX21.5, 49, 1603
DBB78 - DBB81, 1710 DBX21.6, 49, 1604
DBB86 - DBB87, 1696 DBX21.7, 43, 49, 293, 1604
DBB88 - DBB91, 1696 DBX28.7, 531
DBD 78, 1642 DBX3.0, 836, 872, 1675
DBD86, 1642 DBX3.1, 1635
DBD88, 1642 DBX3.2 - DBX3.5, 1707
DBX1.0, 36, 47, 1590 DBX3.6, 1630
DBX1.1, 1634 DBX3.7, 589
DBX1.2, 1634 DBX39.0, 127, 128, 129, 130
DBX1.3, 37, 1590 DBX4.3, 1707
DBX1.4, 37, 38, 40, 41, 44, 84, 91, 1186, 1593 DBX4.6, 1149
Basic Functions
1752 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Index
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1753
Index
Basic Functions
1754 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Index
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1755
Index
Basic Functions
1756 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Index
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1757
Index
Basic Functions
1758 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Index
Interrupt M
DISABLE, 645
M decoding acc. to list, 945
Routine, 632
M function, 439
Signal, 633
M function replacement, 684
Interrupt routine
M1, 501
End, 636
M17, 500
Inverse-time feedrate (G93), 1306
M19, 1217, 1277
IPTRLOCK, 578
M2, 500
IPTRUNLOCK, 578
M3, 1276
M30, 500
M4, 1276
J M40, 1279
Jerk limitation, 177 M41, 1279
Jerk limiting M42, 1279
Smoothing method, 255 M43, 1279
Jogging M44, 1279
during interruption of a JOG ASUB, 640 M45, 1279
in the mode type AUTOMATIC, 523 M5, 1276
M70, 1231, 1277
Machine axes, 740
K Machine coordinate system (MCS), 35, 733, 764
Machine kinematics, 1451
Key disable, 34
Machine tool axes, 746
Key switch, 64
Machine with rotary tool, 1456
Kinematic transformation, 765
Machine with rotary workpiece, 1457
Kinematic type, 1451
Machine zero, 1147
KONT, 1407
Machine zero M, 758
KONTC, 1407
Machines with extended kinematics, 1458
KONTT, 1407
Machining in direction of tool orientation, 1491
Main axes, 748
Manual switchover of the basic system
L General, 374
LENTOAX, 1542 Input resolution and computational resolution, 377
LIFTFAST, 644 JOG and handwheel factor, 377
Limit Reference point, 376
Velocity, for path axes, 1305 System data, 375
Limit switches-monitoring, 103 Tool data, 376
Limited toolholder orientation, 1451 Master-slave switchover with G96, G961, 1312
LIMS, 1278 MCP identification, 956
Linear axis MCS, 35
With linear scale, 399 Md < Mdx, 51
with rotary encoder on motor, 400 MD10000, 317, 385, 732, 752
with rotary encoder on the machine, 402 MD10002, 752, 757
Linear feedrate (G94), 1307 MD10010, 516, 518
Linear signal distortions, 78 MD10050, 1201
Loader axes, 746 MD10070, 1201
Lockable data areas, 65 MD1012, 333, 334
Logbook, 306 MD10131, 54
LookAhead, 180 MD10192, 1257
Selection and deselection, 182 MD10200, 359, 360, 364, 377, 401
Lubrication pulse, 48 MD10210, 359, 360, 364, 404
MD10220, 363, 366
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1759
Index
Basic Functions
1760 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Index
MD18080, 1510 MD20150, 110, 220, 231, 246, 263, 264, 370, 375,
MD18088, 1453, 1467, 1472 422, 529, 597, 674, 679, 787, 852, 854, 884, 886,
MD18094, 376 1320, 1322, 1323, 1354
MD18096, 376 MD20152, 674, 679, 852, 884, 886
MD18100, 1368, 1384 MD20170, 211
MD18102, 1375, 1383, 1384 MD20172, 211, 1302
MD18104, 1531 MD20180, 1464
MD18105, 1373, 1374, 1375, 1376 MD20184, 837, 839, 846, 1466
MD18106, 1373, 1374, 1376 MD20188, 1459
MD18108, 1514 MD20190, 1459
MD18112, 1515, 1530 MD20191, 642
MD18114, 1493 MD20192, 624
MD18116, 1532, 1533, 1534, 1535, 1536 MD20193, 625
MD18150, 57 MD20200, 1345
MD18190, 116, 124 MD20201, 1345, 1356
MD18360, 670 MD20202, 1424
MD18362, 670 MD20204, 1417
MD18600, 776, 777 MD20210, 1430
MD18601, 788, 797, 849 MD20220, 1429
MD18602, 788, 799, 849 MD20230, 1431
MD20000, 529 MD20240, 1433, 1434
MD20050, 680, 732, 754, 830 MD20250, 1407
MD20060, 732 MD20252, 1441
MD20070, 732, 752, 753, 754, 1274 MD20256, 1443
MD20080, 732, 750, 752 MD20270, 442, 1367, 1378, 1384, 1386, 1520, 1521
MD20090, 499, 1276, 1387 MD20272, 443, 1514, 1520, 1521
MD20092, 1273, 1274 MD20360, 1381, 1530, 1539, 1560
MD20094, 447, 1231 MD20390, 1505, 1508, 1509
MD20095, 447 MD20392, 1506
MD20096, 1370, 1371, 1372 MD20400, 183
MD20100, 883, 889, 1310, 1313, 1539 MD20430, 184
MD20106, 546, 622 MD20440, 184
MD20107, 546, 623 MD20443, 187
MD20108, 621 MD20450, 185
MD20109, 622 MD20460, 191, 192
MD20110, 637, 674, 743, 850, 851, 852, 859, 884, MD20462, 191
886, 1366, 1386, 1388, 1474, 1491, 1519 MD20465, 195, 196
MD20112, 558, 637, 674, 744, 854, 859, 884, 1386, MD20480, 172, 175, 216
1474 MD20482, 211, 216
MD20114, 649 MD20488, 214
MD20116, 641 MD20490, 165
MD20117, 641, 653, 655 MD20500, 232, 233
MD20118, 680, 744 MD20550, 160
MD20120, 679, 1386, 1474 MD20552, 161
MD20121, 679, 1366, 1386 MD20600, 204, 245
MD20124, 499 MD20602, 204, 242, 243
MD20125, 1484 MD20603, 204
MD20126, 1474, 1485 MD20606, 207
MD20127, 1485 MD20610, 235
MD20130, 679, 1386 MD20650, 1316
MD20140, 679 MD20700, 286, 1194
MD20750, 1310
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1761
Index
Basic Functions
1762 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Index
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1763
Index
Basic Functions
1764 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Index
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1765
Index
Basic Functions
1766 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Index
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1767
Index
Basic Functions
1768 Function Manual, 03/2009, 6FC5397-0BP10-4BA0
Index
Basic Functions
Function Manual, 03/2009, 6FC5397-0BP10-4BA0 1769
Index
V in BCS, 108
in WCS/SZS, 110
Variable signaling function, 52
Working area limitation group, 111
Velocities, 358
Workpiece
Version, 306
Counter, 718
Vertical axes, 332
Workpiece coordinate system (WCS), 35, 734, 774
Workpiece zero W, 758
W
WAITS, 1278 Z
WALIMOF, 109
Zero points, 758
WALIMON, 109
Zero vectors, 1455
WCS, 35
Work offset $P_EXTFRAME, 889
Work offset external, 889
Working area limitation, 106
Basic Functions
1770 Function Manual, 03/2009, 6FC5397-0BP10-4BA0