Professional Documents
Culture Documents
SINUMERIK 840D/840Di/810D
Basic Machine
Various Interface Signals A2
Axis Monitoring,
Protection Zones A3
Acceleration B2
Velocities, Setpoint/Actual
Basic Machine Value Systems, ClosedLoop
Control G2
EMERGENCY STOP N2
Transverse Axes P1
Spindles S1
Valid for
Feeds V1
Control
SINUMERIK 840D powerline Tool Offset W1
SINUMERIK 840DE powerline (export version)
SINUMERIK 840Di Description of Signals Z1
SINUMERIK 840DiE (export version)
SINUMERIK 810D powerline
Abbreviations A
SINUMERIK 810DE powerline (export version)
Definition of Terms B
Software Version
References C
NC 7
10.2004 Edition
SINUMERIKR Documentation
Printing history
Brief details of this edition and previous editions are listed below.
The status of each edition is shown by the code in the “Remarks” column.
A . . . . . New documentation.
B . . . . . Unrevised reprint with new order no.
C . . . . . Revised edition with new status.
If factual changes have been made on the page since the last edition,
this is indicated by a new edition coding in the header on that page.
Trademarks
SIMATICr, SIMATIC HMIr, SIMATIC NETr, SIROTECr, SINUMERIKr and SIMODRIVEr are trademarks of
Siemens. Other product names used in this documentation may be trademarks which, if used by third par-
ties, could infringe the rights of their owners.
Further information is available on the Internet under: Other functions not described in this documentation might be
http://www.siemens.com/motioncontrol executable in the control. This does not, however, represent an
obligation to supply such functions with a new control or when
servicing.
Preface
Note
It may be possible to run functions that are not described in this document in
your controller. This does not, however, represent an obligation to supply such
functions with a new control or when servicing.
Hotline If you have any questions about the control, please contact the following hotline:
Fax form: See the reply form at the end of the brochure
SINUMERIK http://www.siemens.com/motioncontrol
Internet address
Objective The function descriptions provide the information required for configuration and
installation.
Target groups The information contained in the function descriptions is designed for:
S Design engineers
S PLC programmers creating the PLC user program with the signals listed
S Start-up engineers once the system has been configured and set up
S Maintenance personnel inspecting and interpreting status signals and
alarms
Note
The Description of Functions Basic Machine (Part 1) contains both a general
index as well as a reference list, a glossary of terms used and a list of
abbreviations and acronyms.
If you need information about a particular function, you will find the function and
the code under which it is sorted in the inside title page of the manual.
If you need information about a particular term, please look for the term in the
section headed Index in the Appendix. The Description of Functions code, the
chapter number and the number of the page on which you can find the informa-
tion you need are listed in this section.
Important
! This documentation applies to:
D SINUMERIK 840D powerline control,
software version 7
D SINUMERIK 810D powerline control,
software version 7
D SINUMERIK 840Di control,
software version 2
Equivalent The software versions specified in this documentation refer to the SINUM-
software versions ERIK 840D powerline and 810D powerline control systems with the parallel ap-
plicable software version. Whether individual functions have been approved for
the control systems is not specified explicitly in each case, for further details,
see /BU/, Catalog NC 60. The following applies:
Explanation of
symbols
Important
! This symbol is always displayed in this document to draw your attention to an
important item of information.
Machine Manufacturer
This pictorial symbol appears in this document to indicate that the machine
manufacturer can control or modify the function described. See machine
manufacturer’s specifications.
Danger
! Indicates an imminently hazardous situation which, if not avoided, will result in
death or serious injury or in substantial property damage.
Warning
! Indicates a potentially hazardous situation which, if not avoided, could result in
death or serious injury or in substantial property damage.
Caution
! Used with the safety alert symbol indicates a potentially hazardous situation
which, if not avoided, may result in minor or moderate injury or in property
damage.
Caution
Used without safety alert symbol indicates a potentially hazardous situation
which, if not avoided, may result in property damage.
Notice
Used without the safety alert symbol indicates a potential situation which, if not
avoided, may result in an undesirable result or state.
Technical information
Notations The following notation and abbreviations are used in this documentation:
Explanation of the Chapters 4 and 5 of each Description of Functions describe the data and sig-
abbreviations in nals which are significant for the respective function. Certain terms and abbrevi-
Chapters 4 and 5 ations, which are used in these tabular descriptions, are explained here.
Values in the table The machine data indicated in the Descriptions of Functions are always values
for an NCU572.
The values for a different NCU (e.g. NCU570, NCU571, NCU573) are contained
in the List Manual.
References: /LIS/, “Lists”
Default value The machine data/setting data is preset to this value during start-up. In cases
where different default values are used for different channels, this is indicated
by a “ / ”.
Value range Specifies the input limits. If no value range is specified, the data type deter-
(minimum and mines the input limits and the field is marked “∗∗∗”.
maximum)
When changes take When machine data, setting data, etc. are altered, they are not immediately ac-
effect tive. The conditions for activation are therefore always specified. The possibili-
ties are shown in the following list in order of their priority:
Protection level Protection levels 0 to 7 have been used. The lock for protection levels 0 to 3 (4
to 7) can be canceled by entering the correct password (setting correct key-
switch position). The operator only has access to information protected by one
particular level and the levels below it. The machine data is assigned different
protection levels as a standard measure.
The table contains only the protection level for write operations. A fixed relation-
ship between read and write levels exists however:
Unit The unit refers to the default setting of machine data SCALING_FACTOR_
USER_DEF_MASK and
SCALING_FACTOR_USER_DEF.
If the MD has no underlying unit, a “–” is shown in the box.
Data type The following data types are used in the control system:
S DOUBLE
Real or integer values (decimal values or whole numbers)
Input limits from +/–4.19*10–307 to +/–1.67*10308
S DWORD
Integer values
Input limits from –2.147*109 to +2.147*109
S BOOLEAN
Possible input values: true or false / 0 or 1
S BYTE
Integer values from –128 to +127
S STRING
Consisting of max. 16 ASCII characters (upper case letters, numbers and
underscore)
Data management The descriptions of the PLC interface in the individual Descriptions of Functions
assume a theoretical maximum number of components:
Notes
Detailed description 2
Supplementary conditions 3
SINUMERIK 840D/840Di/810D
Examples 4
Various NC/PLC interface signals 5
Data lists
and functions (A2)
Function Manual
10/04
6FC5 297-7AC20-0BP1
Safety Guidelines
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 to property damage only 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.
Prescribed Usage
Note the following:
Warning
This device may only be used for the applications described in the catalog or the technical description and only in
connection with devices or components from other manufacturers which have been approved or recommended
by Siemens. Correct, reliable operation of the product requires proper transport, storage, positioning and
assembly as well as careful operation and maintenance.
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.
Siemens AG
Automation and Drives Siemens AG 2005
Postfach 4848, 90327 Nuremberg, Germany Technical data subject to change
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)
2.1.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
• MMC/HMI (operator components)
• MCP (Machine Control Panel)
Data exchange is organized by the basic PLC program.
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:
/FB1/ Description of Functions, Basic Machine; Basic PLC Program (P3)
• Description of event-controlled signal exchange (auxiliary and G functions):
/FB1/ Description of Functions, Basic Machine; Auxiliary Function Output to PLC (H2)
• Overview of all interface signals, function blocks and data blocks:
/LIS/Lists
Note
In order to prevent accidental operator actions when darkening the screen via the
interface signal, we recommend disabling the keyboard at the same time.
DB19, DBX0.1 = 1 AND DB19, DBX0.2 = 1 (key disable)
DB19.DBB 13 (controlling file transfer via hard disk) (HMI Advanced only)
Job byte to control file transfer via hard disk. The jobs refer to the user control file stored in
DB19.DBB16 and DB19.DBB17.
DB19.DBB 16 (controlling 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 processed in accordance with the job stored in DB19.DBB13.
DB19.DBB 17 (controlling 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.DBB 26 (controlling 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.DBB 27 (controlling file transfer via hard disk) (HMI Advanced only)
Output byte for error values for data transfer via hard disk.
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.
Note
When the servo enable is set, if the part program is active, the last programmed position is
approached 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.
3RVLWLRQVHWSRLQW
IURP,32
3RVLWLRQ
B FRQWUROOHU
&RQWUROOHUHQDEOH
FDQFHOHG
6HWSRLQW
IROORZXS
3RVLWLRQ
DFWXDOYDOXH
< ,6)ROORZXSPRGH
6HTXHQFH 5HPRYH,66HUYRHQDEOH
7HUPLQDOV
'LVFRQQHFWWHUPLQDOV
6HW,66HUYRHQDEOH
<. 1
<
1 <.
5HWXUQXVLQJSRVLWLRQFRQWUROOHU
WRSUHFODPSLQJSRVLWLRQ<
ZKHQVHWWLQJVHUYRHQDEOH
3RVLWLRQVKLIW <
UHVXOWLQJIURPFODPSLQJ
< ,6)ROORZXSPRGH
6HTXHQFH 5HPRYH,66HUYRHQDEOH
7HUPLQDOV
'LVFRQQHFWWHUPLQDOV
6HW,66HUYRHQDEOH
3DWKIROORZHGLIQRSDUWSURJUDPLVDFWLYH
7UDMHFWRU\LILQ1RQO\;
LVSURJUDPPHGDQGWKHSDUW
<. SURJUDPLVDFWLYH
< 1 5HWXUQXVLQJ
5(326$LISDUWSURJUDPLVDFWLYHLQ
1 <. $8720$7,&PRGH
$[LVPRYHPHQWJHQHUDWHGIURP
SURJUDPPHGSRVLWLRQ<
3RVLWLRQVKLIW <
UHVXOWLQJIURPFODPSLQJ
Note
"Followup 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 due to the repositioning
(REPOS) of other machine axes involved in the transformation.
Monitoring mechanisms
If a machine axis is in follow-up mode, the following monitoring mechanisms will not be
effective:
• 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)
3RVLWLRQUHIHUHQFHYDOXH
IURP
L 6HW
,QWHUSRODWRU 3RVLWLRQ 6SHHG 3RZHU (QFRG (QFRG
B FRQWUROOHU B FRQWUROOHU 0RWRU
FRQWUROOHU
L DFW
Q
DFW
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
Position measuring Position measuring Servo enable
system 1 system 2
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
• NC-internal:
Alarms, which, in the form of an alarm response, cancel the servo enable on the machine
axes. Alarms, which cancel the servo enable, are described in:
References:
/DA/ Diagnostics Guide
Canceling the servo enable when the machine axis is at standstill:
• The machine axis position control loop opens
• DB31, ... DBX61.5 = 0 (position controller active)
Canceling the servo enable when the machine axis is in motion:
If a machine axis is part of an interpolatory path movement or coupling for which the servo
enable is canceled, all axes involved are stopped with a fast stop (speed setpoint = 0) and
an alarm is displayed:
Alarm: "21612 Servo enable reset during movement"
• Taking into account the parameterized temporal duration of the brake ramp for error
states:
MD36610: $MA_AX_EMERGENCY_STOP_TIME
, the machine axis is decelerated with a fast stop (speed setpoint = 0) and 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
3RVLWLRQFRQWUROOHU
RSHQHGLPPHGLDWHO\
)S
)S DFW
$[LVLVPRYLQJ
5DSLGVWRS
SRVLWLRQFRQWUROORRS
)SVHW
0'67$1'67,//B9(/2B72/
W
0'$;B(0(5*(1&<B6723B7,0(
,66HUYRHQDEOH 0'6(592B',6$%/(B'(/$<B7,0(
W
,63RVLWLRQFRQWUROOHUDFWLYH
W
6HUYRHQDEOHWRGULYH
,66SHHGFRQWUROOHUDFWLYH
W
Figure 2-5 Canceling the servo enable when the machine axis is in motion
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:
2.2 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)
On SINUMERIK 840D/840Di/810D, 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].
REFRESH suppression
MD10131: SUPPRESS_SCREEN_REFRESH (behavior of display refresh on 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
Programming
A general description of involute programming appears in:
References:
/PG/ Programming Guide, Basics
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:
MD21015: $MC_INVOLUTE_RADIUS_DELTA
6WDUWSRLQW
5
(QGSRLQW
%DVHFLUFOH
0D[GHYLDWLRQ
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 display of the alarm can be suppressed by making the following parameter setting:
MD21016: $MC_INVOLUTE_AUTO_ANGLE_LIMIT = TRUE
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.
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 profiles" function
must be activated:
MD28530: $MC_MM_PATH_VELO_SEGMENTS > 1
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.
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
1& 3/&
'DWDW\SH'ZRUGE\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.
• Singlebit 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 32bit variables (double and real). A simple semaphore mechanism is
provided in the PLC for this purpose.
• The PLC stores data in 'Little Endian' format in the DPR.
• Values transferred with $A_DBR are subject to data conversion and hence to loss of
accuracy. The data format for floatingpoint numbers is DOUBLE (64 bits) on the NCK, but
only FLOAT (32 bits) on the PLC. The format used for storage in the dualport RAM is
FLOAT. Conversion takes place respectively before/after storage in the dualport RAM.
If a read/write access is made from the NCK to a variable in the dualport RAM, the
conversion is performed twice. It is impossible to prevent differences between read and
written values because the data are stored in both formats.
Example
Addressing the problem by means of comparison on f "EPSILON" (minor deviation)
Activation
The maximum number of output variables that can be written simultaneously can be
configured in:
MD28150 $MC_MM_NUM_VDIVAR_ELEMENTS
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 4th byte.
The position offset must be a whole multiple of the data width.
• Writing from PLC:
Access authorization
Access to functions, programs and data is useroriented 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
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.
2.2.5.2 Password
Set password
The password for a protection level (0 – 3) is entered via the HMI user interface.
Example: HMI Advanced
DIAGNOSTICS operation area, softkey: SET PASSWORD
References:
/BAD/ Operator's Guide 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
DIAGNOSTICS operation area, softkey: DELETE PASSWORD
References:
/BAD/ Operator's Guide 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.
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 EODFN %LW
.H\
RURU
3RVLWLRQ %LW
JUHHQNH\
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/ Installation & Startup Guide HMI/MMC; Access Protection
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.
Prerequisites
Parameter-set changeover must be enabled:
MD35590 $MA_PARAMSET_CHANGE_ENABLE [AX1] = 1 or 2
The 1st parameter set for machine axis X1 is set, in accordance with machine data with
index "0" NC/PLC interface:
DB31, DBB9.0 – DBB9.2 = 0
Changeover
In order to switch over the position-control gain, the PLC user program selects the 4th
parameter set for machine axis X1.
• Request from PLC user program: DB31, DBB9.0 – DBB9.2 = 3
– 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"
• Checkback from NC: DB31, DBB69.0 – DBB69.2 = 3
– The NC confirms/acknowledges the parameter-set changeover.
Names Description
$P_FUMB Unassigned part program memory (Free User Memory Buffer)
Names Description
$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)
5.3 Signals
5.3.1 Signals to NC
6 H
611D Ready, 2-3 High-speed data channel, 2-26
A I
Access authorization, 2-29 Interface signals
Access features, 2-29 for operator panel, 2-4
Access security, 2-29 Interface signals (A2), 1-1
Actual value synchronization, 2-13 Interface signals from and to channel, 2-6
Actual value in workpiece coordinate system, 2-5 Interface signals|Spindle reset, 2-14
Air temperature alarm, 2-3 Interpolatory axis grouping, 2-13
Axis disable, 2-7
Axis/spindle stops, 2-16
K
Key disable, 2-5
C Key switch, 2-31
Cancel alarms, 2-5
Channelspecific NCK alarm is active, 2-4
Contrast, 2-21 L
Controller parameter set switchover, 4-1
Lockable data areas, 2-32
Current controller active, 2-16
Lubrication pulse, 2-16
Cyclical signal exchange, 2-1, 2-2
M
D
Machine coordinate system, 2-5
Darken screen, 2-4
MCS, 2-5
Data channel
Md
high-speed, 2-26
|Md| < Mdx, 2-20
DC link undervoltage warning threshold, 2-21
MD11270, 2-25
DC link voltage, 2-21
MD1417, 2-20
DClink, 2-21
MD1418, 2-20
Default passwords, 2-30
MD1426, 2-20
Delete distance-to-go, 2-6
MD1428, 2-20
Display resolution, 2-21
MD1604, 2-21
Drive-test travel enable, 2-7
MD18150, 2-25
Drive-test travel request, 2-16
MD21015, 2-23
MD21016, 2-25
MD32200, 2-15
F MD35590, 2-15, 4-1
Followup mode active, 2-16 MD36060, 2-15
Foreground language, 2-21 MD36610, 2-13
MD36620, 2-13 R
MD9000, 2-21
Ramp-up function completed, 2-20
MD9001, 2-21
Read/write PLC variable, 2-26
MD9006, 2-5
Recall alarms, 2-5
MMC alarm, 2-3
MMC CPU1 Ready, 2-3
MMC2 CPU Ready, 2-3
Monitor type, 2-21
S
Servo enable, 2-12
Signals
N Alarm signals, 2-3
Axis/spindlespecific (DB31, etc.), 2-2
nact
Channelspecific (DB21, etc.), 2-2
|nact| < nmin, 2-20
General (DB10), 2-1
|nact| < nx, 2-20
Ready signals, 2-3
nact = nsetp, 2-20
Speed control loop active, 2-16
NCK alarm is active, 2-4
Spindle disable, 2-7
NCK alarm with processing stop, 2-4
Spindle reset, 2-14
NCK battery alarm, 2-4
NCK CPU Ready, 2-3
U
P U(DClink), 2-21
Undervoltage threshold, 2-21
Password, 2-30
resetting, 2-30
setting, 2-30
PLC/NCK interface, 2-1
V
Position controller active, 2-16 Variable signaling function, 2-20
Position measuring system, 2-11
Protection levels, 2-32
W
WCS, 2-5
Workpiece coordinate system, 2-5
Detailed description 2
Supplementary conditions 3
SINUMERIK 840D/840Di/810D
Examples 4
Axis monitoring, protection zones 5
Data lists
(A3)
Function Manual
10/04
6FC5 297-7AC20-0BP1
Safety Guidelines
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 to property damage only 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.
Prescribed Usage
Note the following:
Warning
This device may only be used for the applications described in the catalog or the technical description and only in
connection with devices or components from other manufacturers which have been approved or recommended
by Siemens. Correct, reliable operation of the product requires proper transport, storage, positioning and
assembly as well as careful operation and maintenance.
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.
Siemens AG
Automation and Drives Siemens AG 2005
Postfach 4848, 90327 Nuremberg, Germany Technical data subject to change
Tables
Table 4-1 Part program excerpt for protection zone definition:.................................................................. 4-2
Table 4-2 Protection zone: Spindle chuck.................................................................................................. 4-3
Table 4-3 Protection zone: Workpiece ....................................................................................................... 4-3
Table 4-4 Protection zone: Toolholder ....................................................................................................... 4-4
Table 4-5 Part program excerpt for activation of the protection zones: ..................................................... 4-5
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.
Contour error
Contour errors are caused by signal distortions in the position control loop.
A distinction is made between:
• Linear signal distortions
This is caused by:
– Speed and position controller not being set optimally
– Different servo gain factors of the feed axes involved in creating the path
With the same servo factor for two linear-interpolated axes, the actual position follows
the set position along the same path but with a time delay. With different servo factors,
a parallel offset arises between the set and actual path.
– Unequal dynamic response of the feed drives
Unequal drive dynamic responses lead to path deviations especially on contour
changes. Circles are distorted into ellipses by unequal dynamic responses of the two
feed drives.
• Nonlinear signal distortions
This is caused by:
– Activation of the current limitation within the machining area
– Activation of the limitation of the set speed
– Backlash within and/or outside the position control loop.
When traversing a circular path, contour errors occur primarily due to the reversal
error and friction.
During movement along straight lines, a contour error arises due to a reversal error
outside the position feedback loop, e.g. due to a tilting milling spindle. This causes a
parallel offset between the actual and the set contour. The shallower the gradient of
the straight line, the larger the offset.
– Nonlinear friction behavior of slide guides.
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)
)ROORZLQJHUURU
0HDVXUHG
IROORZLQJHUURU 0'&217285B72/
&DOFXODWHG
IROORZLQJHUURUPRGHO
6WDUWRI
PDFKLQLQJ
W
Effectivity
The following error monitoring only operates with activated position control for:
• Linear axes with and without feedforward control
• Rotary axes with and without feedforward control
• Position-controlled spindles
Fault case
In case of a fault after exceeding of the configured tolerance limit, the following occurs:
• Alarm: "25050 Axis <Axis identifier> Contour monitoring"
• The affected axis is stopped via the configured braking ramp in follow-up mode:
MD36610 $MA_AX_EMERGENCY_STOP_TIME
(Time for braking ramp when an error occurs)
• If the axis/spindle is involved in interpolation with other axes/spindles, these are brought
to a standstill with rapid stop (set velocity = 0).
Function
At the end of a positioning operation:
• Set velocity == 0 AND
• DB31, ... DBX64.6 / 64.7 == 0 (traverse command minus / plus)
checks the positioning monitoring 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)
Note
The smaller the exact stop fine tolerance is, the longer the positioning operation takes
and the longer the time until block change.
9RUV
(IIHFWLYHWROHUDQFH
GXULQJGRZQWLPHRU
&ODPSLQJPRQLWRULQJ
$FWXDOYDOXH
,QWHUIDFHVLJQDO
&ODPSLQJLQSURFHVV
'%
'%;
&/$03B326B72/
6HWSRLQW
67$1'67,//B326B72/
6723B/,0,7B&2$56(
6723B/,0,7B),1(
67$1'67,// ([DFWVWRSILQHVLJQDO W
'(/$<B7,0( ([DFWVWRSFRDUVHVLJQDO
326,7,21,1*B7,0(
Setting notes
Effectivity
The positioning monitoring only operates with active position control and the following axis
types:
• Linear axes
• Rotary axes
• Position-controlled spindles
Effects
Upon exceeding of the configured position monitoring time, the following occurs:
• Alarm: "25080 Axis <Axis identifier> Position monitoring"
• The affected axis is stopped via the configured braking ramp in follow-up mode:
MD36610 $MA_AX_EMERGENCY_STOP_TIME
(Time for braking ramp when an error occurs)
• If the axis/spindle is involved in interpolation with other axes/spindles, these are brought
to a standstill with rapid stop (set velocity = 0).
Function
At the end of a positioning operation:
Set velocity == 0 AND
DB31, ... DBX64.6 / 64.7 == 0 (Travel command minus / plus)
checks the standstill monitoring 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)
MD36060 $MA_STANDSTILL_POS_TOL (Standstill tolerance)
After reaching the required exact stop state, the positioning operation is completed.
After completion of the positioning operation:
DB31, ...DBX60.6 / 60.7 == 1 (Position reached with exact stop coarse / fine)
the machine axis may not leave the standstill tolerance as long as no new travel command is
pending.
Effectivity
The zero speed monitoring only operates with active position control and the following axis
types:
• Linear axes
• Rotary axes
• Position-controlled spindles
Effect
Upon exceeding of the delay time and/or the standstill tolerance, the following occurs:
• Alarm: "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
(Duration of the brake ramp under fault conditions)
• If the axis/spindle is involved in interpolation with other axes/spindles, these are brought
to a standstill with rapid stop (set velocity = 0).
2.1.5 Exact stop and standstill tolerance dependent on the parameter set
Clamping monitoring
Afterward, the zero speed monitoring monitors the compliance with the configured standstill
tolerance.
For machine axes that are mechanically clamped upon completion of a positioning operation,
larger motions can result from 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 (follow-up mode)
Effect
Upon exceeding of the clamping tolerance, the following occurs:
• Alarm: "26000 clamping monitoring" is displayed.
• The affected axis is stopped via the configured braking ramp in follow-up mode:
MD36610 $MA_AX_EMERGENCY_STOP_TIME
(Time for braking ramp when an error occurs)
• If the axis/spindle is involved in interpolation with other axes/spindles, these are brought
to a standstill with rapid stop (set velocity = 0).
Note
The NC detects whether an axis is clamped based on the "servo enable" state of the axis:
DB31, ... DBX2.2 = 0 (servo enable): no servo enable ⇒ axis is clamped
DB31, ... DBX2.2 = 1 (servo enable): servo enable ⇒ axis is not clamped
5HOHDVHD[LVFODPSIRU
0'6723B21B&/$03,1*>@ +
0RWLRQFRPPDQG
&ODPSD[LV
$[LVFODPSLQJSUHVVXUH
)HHGVWRS
&RQWUROOHUHQDEOH
3DWKYHORFLW\
1 1
*= *$7XUQURWDU\WDEOHGHJUHHV
W>PV@
5HOHDVHD[LVFODPSIRU
0'6723B21B&/$03,1*>@ +
0RWLRQFRPPDQG
&ODPSD[LV
$[LVFODPSLQJSUHVVXUH
)HHGVWRS
&RQWUROOHUHQDEOH
3DWKYHORFLW\
1 1 1
*; *=5HWUDFW *$7XUQURWDU\
WDEOH
W>PV@
Parameterization:
MD36052 STOP_ON_CLAMPING = 'H04'
6HWD[LVFODPSIRU
0'6723B21B&/$03,1*>@ +
0RWLRQFRPPDQG
&ODPSD[LV
$[LVFODPSLQJSUHVVXUH
)HHGB6WRS
&RQWUROOHUHQDEOH
)HHGRYHUULGH
3DWKYHORFLW\
1 1 1 1
*$ *R;$SSURDFK *=$SSURDFK *=0DFKLQH
5RWDWHURWDU\
WDEOH
W>PV@
Constraints
Continuous-path mode
For the above-mentioned functions:
• Automatic stopping for removal of the clamp
• Optimized releasing of the axis clamp via travel command
• Automatic stopping for setting of the clamp
the "Look Ahead" function must be active.
Part program blocks without path motion (e.g. M82/M83) interrupt continuouspath mode and
thus also the Look Ahead function.
Example:
After insertion of the part program blocks N320 and N420 into the part program used in the
examples, the function behaves as follows:
Note
MD36052 STOP_ON_CLAMPING = 'H01' or 'H04'
Both functions can be used irrespective of the clamping of axes:
• MD36052 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 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 relevant part program block and not just within the part program block.
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)
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
3UHFRQWUROYDOXH DSSOLHVRQO\WRDQDORJGULYHV
.9 WR
)ROORZLQJ VSHHG
HUURU 6SHHG FRQWUROOHU
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>@
&75/287B/,0,7>Q@
&75/287B/,0,7>Q@
(J
IRUWHVWPRGH
Effectivity
The speed setpoint monitoring is only active for closed-loop position-controlled axes and
cannot be deactivated.
Effect
Upon exceeding of the configured delay time, the following occurs:
• Alarm: "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
(Time for braking ramp when an error occurs)
• If the axis/spindle is involved in interpolation with other axes/spindles, these are brought
to a standstill with rapid stop (set velocity = 0).
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 monitors the current actual velocity of a machine axis for the
configured threshold:
MD36200 $MA_AX_VELO_LIMIT (velocity monitoring threshold)
As long as no error is present, the actual velocity of an axis/spindle never becomes greater
than the configured threshold because the threshold is entered approx. 5-10% larger than
the maximum traversing velocity.
Exceeding of the configured threshold of the velocity monitoring generally only occurs during
drive errors.
Activation
Actual velocity monitoring is activated as soon as the active measuring system:
DB31, ... DBX1.5 / 1.6 (position measuring system 1 / 2)
supplies valid actual values (encoder limit frequency is not exceeded).
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.
Effect
Upon exceeding of the threshold, the following occurs:
• Alarm: "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
(Time for braking ramp when an error occurs)
• If the axis/spindle is involved in interpolation with other axes/spindles, these are brought
to a standstill with rapid stop (set velocity = 0).
Function
Monitoring of the parameterized encoder limit frequency:
MD36300 $MA_ENC_FREQ_LIMIT (encoder limit frequency)
Effectivity
The encoder limit frequency always refers to the active measuring system selected in the
NC/PLC interface:
DB31, ... DBX1.5 / 1.6 (position measuring system 1 / 2)
The encoder limit frequency is operative for:
• Linear and rotary axes
• Open loop controlled and position controlled spindles
Effect
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
– Alarm: "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
(Time for braking ramp when an error occurs)
– If the axis/spindle is involved in interpolation with other axes/spindles, these are
brought to a standstill with rapid stop (set velocity = 0).
After the axis have stopped, the position control is automatically resumed.
Note
If the encoder limit frequency is exceeded, the position-controlled machine axis must be
re-referenced.
References:
/FB/ Description of Functions Basic Machine; Reference Point Approach (R1)
Function
The zero mark monitoring monitors the number of encoder impulses between two encoder
zero marks of the active measuring system. In a properly functioning measuring system, the
number of encoder impulses detected from encoder zero mark to encoder zero mark must
remain the same.
MD36310 $MA_ENC_ZERO_MONITORING (Zero mark monitoring)
Note
The zero mark monitoring is only active beneath the configured encoder limit value for
resynchronization:
MD36302 $MA_ENC_FREQ_LIMIT_LOW
Error reaction
The reaction to a detected error depends on the configured encoder type:
MD30240 $MA_ENC_TYPE = <Encoder type>
Encoder types:
• 0: Simulation
• 1: Raw signal generators (voltage, current, EXE etc.) -> High resolution
• 2: Rectangular signal encoder (standard, no. of PPRs quadrupled)
• 3: Encoder for stepper motor
• 4: Absolute encoder
– SIMODRIVE 611D: only absolute encoder with EnDat interface
– PROFIBUS drives: No restriction
• 5: Encoder with SSI interface
Effects
Absolute encoder
In the event of a fault, the calibration of the absolute encoder is lost and the axis is no longer
referenced: => Recalibration required.
Information on calibration of absolute encoders can be found in:
References:
/FB/ Description of Functions Basic Machine; Reference Point Approach (R1);
Section: Referencing with absolute encoders
Function
Monitoring of the measuring systems of a machine axis with regard to:
• Hardware faults
• Contamination of the measuring system
Fault case
In the event of an error:
• Alarm: "25000 Axis <Axis identifier> Hardware fault active encoder"
• Alarm: "25001 Axis <Axis identifier> Hardware fault passive encoder"
• Alarm: "25010 Axis <Axis identifier> Contamination of measuring system"
• Alarm: "25011 Axis <Axis identifier> Contamination of passive encoder"
• In the event of a fault in the active measuring system:
– The affected axis is stopped via the configured braking ramp in follow-up mode:
MD36610 $MA_AX_EMERGENCY_STOP_TIME
(Time for braking ramp when an error occurs)
– If the axis/spindle is involved in interpolation with other axes/spindles, these are
brought to a standstill with rapid stop (set velocity = 0).
• In the event of a fault in the passive measuring system: Only alarm display
• For hardware faults, the referencing status of the measuring system is reset:
DB31, ... DBX60.4 / 60.5 = 0 (referenced/synchronized 1 / 2)
+:
0HFKDQLFDO
OLPLWVZLWFK
HQGRIWUDYHUVLQJUDQJH
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:
DB31, ... DBX12.0 / 12.1 = 1 (hardware limit switch minus / plus)
Braking behavior
The braking behavior of the machine axis upon reaching the hardware limit switch is
configurable via:
MD36600 $MA_BRAKE_MODE_CHOICE = <Braking behavior>
Braking behavior:
• 0: Braking with the configured axial acceleration
• 1: Rapid stop (set velocity = 0)
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.
• MD36110 POS_LIMIT_PLUS (1st software limit switch plus)
• MD36110 POS_LIMIT_MINUS (1st software limit switch minus)
• MD36130 POS_LIMIT_PLUS (2nd software limit switch plus)
• MD36120 POS_LIMIT_MINUS (2nd software limit switch minus)
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
• Immediately after the successful referencing of the 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.
• 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)
Effect
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 hardware limit
switch <Direction>"
Function
; 3URJUDPPDEOH
ZRUNLQJDUHDOLPLWDWLRQ
*
; PD[
=
:
*
; PLQ * *
= PLQ = PD[
References:
/PG/ Programming Guide: Fundamentals
Effectivity
• Immediately after the successful referencing of the machine axis.
• In all operating modes.
Activation
Constraints
• The working area limitation refers to the basic coordinate system.
• The working area limitation must lie within the range of the software limit switch.
• PRESET
After use of the function PRESET, the software limit switch monitoring is no longer active.
The machine must first be re-referenced.
• The RESET position with regard to WALIMON / WALIMOF is configurable via:
MD20150 $MC_GCODE_RESET_VALUES (RESET position of G groups)
• 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)
Effect
General
• Activation of the working area limitation
If the actual position of an axis after activation is located outside of the working area
limitation, it is stopped with the maximum permissible acceleration.
• Overrunning of the working area limitation in JOG mode
If the position of the working area limitation 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 moved farther:
Alarm: "10631 Channel <Channel number> Axis <Axis identifier> is at the working area
limitation <Direction>"
2.4.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. toolholding 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 channelspecific, 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.
Referenc
• Tool-related protection zones
Coordinates for toolrelated protection zones must be given as absolute values referred to
the tool carrier reference point F.
• Workpiece-related protection zones
Coordinates for workpiecerelated protection zones must be given as absolute values
referred to the zero point of the basic coordinate system.
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 workpiecerelated
protection zones.
Note
During machining in operating modes JOG, MDI and AUTOMATIC, the control checks
whether the tool (or its protection zones) violate the protection zones of the workpiece.
Examples
Below are a few examples of protection zones
• Toolrelated protection zone
• Workpiece-related protection zone
• 3-dimensional protection zone
• Relative protection zone
:RUNSLHFHUHODWHG
; SURWHFWLRQ]RQHIRU 7RROKROGHU
VSLQGOHFKXFN
7RROUHODWHG
SURWHFWLRQ]RQH
IRUWRROKROGHU
'ULOO
0 3
=
:
;
<
7RROUHODWHG
SURWHFWLRQ]RQH
7RROUHODWHG
SURWHFWLRQ]RQH
; :RUNSLHFHUHODWHG
SURWHFWLRQ]RQH
=
5HODWLYHZRUNSLHFHUHODWHG
SURWHFWLRQ]RQHIRU
3 WDLOVWRFN
: =
Figure 2-12 Example of a turning machine with relative protection zone for tailstock
General
A protection zone definition must contain the following information:
• Protection zone type (workpiece- or tool-related)
• Orientation of protection zone
• Type of limitation in the third dimension
• Upper and lower limit 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)
([WHUQDOSURWHFWLRQ]RQH
;
,QWHUQDOSURWHFWLRQ
3 ]RQH
: =
,QWHUQDOSURWHFWLRQ]RQH
;
Toolrelated protection zones must be convex. If a concave protection zone is required, the
protection zone must be divided up into several convex protection zones.
&RQYH[SURWHFWLRQ]RQHV
&RQFDYHSURWHFWLRQ]RQHVQRWSHUPLVVLEOH
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 counterclockwise direction
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.
Inch/metric switchovers with G70/G71 or G700/G710 are effective.
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 by
means of 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 variable
The protection zone definitions include the following system variables:
Note
The system variables of the protection zone definitions are not restored with REORG.
data storage
The protection zone definitions are stored in the following files:
File Blocks
_N_NCK_PRO Data block for NCspecific protection zones
_N_CHAN_PRO Data block for channelspecific protection zones in channel 1
_N_CHAN_PRO Data block for channelspecific protection zones in channel 2
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 channelspecific protection zones
General
The activation status of a protection zone is:
• Preactivated
• Enabled
• Disabled
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. Machine-related protection zones are automatically activated in all
channels after the control powers up.
An activated protection zone is only taken into account after the successful referencing of all
participating geometry axes.
Preactivation
Only preactivated protection zones can be activated from the PLC user program.
; 3UHDFWLYDWHGSURWHFWLRQ]RQH
: =
Figure 2-15 Example: Turning machine with preactivated protection zone for a sensor.
Deactivation
A protection zone can be deactivated from a part program only.
RESET response
The activation status of a protection zone is retained even after NC-RESET and program end.
Memory requirements
The memory requirements with regard to protection zones are defined with the following
parameters:
• Maximum number of protection zones that can be simultaneously activated in the
channel:
MD28210 $MC_MM_NUM_PROTECT_AREA_ACTIVE
• Maximum number of contour elements that can be defined per protection zone:
MD28212 $MC_MM_NUM_PROTECT_AREA_CONTUR
Offsets
During preactivation or activation of the protection zone, an offset can be entered in 0 to 3
dimensions. The offset refers to:
• Workpiece-specific protection zones: Machine zero
• Tool-specific protection zones: Tool holder reference point F
Note
A protection zone cannot be activated in a single channel with different offsets
simultaneously.
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 range 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.
Note
If no toolrelated 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.
Program test
In automatic modes, activated and preactivated protection zones are monitored even during
program control: PROGRAM TEST.
2.4.6 Protection zone violation and temporary enabling of individual protection zones
Function
Workpiece and toolrelated 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.
End of temporary release
Temporary release of a protection zone is terminated after the folowing 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 reenabled. 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.
Pre-activated protection zones
Protection zones can be pre-activated 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.
However, the alarm 10704 "Protection zone monitoring not guaranteed" and the PLC
interface signal "Protection zone monitoring not guaranteed" DB31, ...DBX39.0 are output if
a preactivated protection zone is made "operative" while a traversing motion is in progress.
Deactivating tool-related protection zones
Toolrelated 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 replacement
Machine data can be used to configure protection zones and working area limitations for
geometry axis replacement.
• Protection zones can be activated with:
MD10618 PROTAREA_GEOAX_CHANGE_MODE, Bit 1 = 1
• Working area limitations can be activated with:
MD10604 WALIM_GEOAX_CHANGE_MODE, Bit 0 = 1
If functions such as protection zone or working area limitation are deactivated during
geometry axis replacement, the bits should be set to zero.
For frames when changing geometry axes, see:
References:
/FB/ Description of Functions Basic Machine; Axis, Coordinate Systems, Frames (K2)
Transformation changeover
Protection zones can also be activated by changing a transformation changeover via
machine data:
MD10618 PROTAREA_GEOAX_CHANGE_MODE, Bit 0 = 1
.
Bit 0 = 0 deactivates this function.
Monitoring overlaid movement
Axes that have been assigned to another channel are not taken into account. The last
position to be approached is taken to be the end position. It is not taken into account whether
the axis has traversed after changing channels.
)RUSUHDFWLYDWHG )RUSUHDFWLYDWHGSURWHFWLRQ]RQH
Y SURWHFWLRQ]RQH DFWLYDWHGE\3/&
QRWDFWLYDWHGE\3/& RUIRUDFWLYDWHGSURWHFWLRQ]RQH
FDVH DIWHUUHOHDVHRISURWHFWLRQ]RQHFDVH
W
1 1 1 1 1 1
Figure 2-16 Behavior of the path velocity when entering a protection zone
On preparation of the NC blocks, part of the offsets of geometry axes resulting from the
overlaid motions are taken into account.
If further offsets occur that could not be taken into account on preparation of the blocks, the
channelspecific PLC interface signal "Protection zone monitoring not guaranteed" DB31,
...DBX39.1 is set. This signal is set while offsets are active that cannot be taken into account.
The signal can be set and reset within a block.
Simultaneously with the PLC interface signal, a selfcanceling alarm 10704 "Protection zone
monitoring is not guaranteed" is output.
The following overlaid motions of geometry axes are taken into account in the preparation of
blocks:
1. DRF offsets
2. Work offsets external
3. Fine tool offsets
4. Rapid retraction
5. Offsets generated by compile cycles
6. Oscillation
7. Concurrent positioning axes
8. Positioning axes
The alarm is canceled or the PLC interface signal reset when the offsets from the overlaid
motions are taken into account again or when the offsets are reduced to zero again.
Note
The end position for positioning axes is taken to be a position in the whole block. 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.
(QGSRLQWRIWKHPRWLRQ
ZLWKFRQWLQXRXV-2*
0D[D[LDOSDWK
ZLWK-2*ZLWKD
VLQJOHD[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.
There are three possible situations in this case:
1. If the position is outside all active protection zones, the next traversing motion can be
started normally. The appropriate PLC interface signals "Machinespecific or channel-
specific protection zone violated" are set for the protection zones that are enabled or just
preactivated, but not yet operative.
2. If the position is within an active protection zone, the alarm "Protection zone violated in
JOG" is generated, thereby disabling any traversing motions. The appropriate PLC
interface signals "Machinespecific or channelspecific protection zone violated" are also
set.
The alarm is reset by:
– Temporary enabling of the affected protection zones
– Deactivation of the relevant protection zones if they are preactivated
– Deactivation of the protection zone in MDI
3. If the position is on the protection zone limitation (position is still valid), no alarm is
generated.
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.
If the end position is located outside the relevant protection zone the next time the axes in
the geometry system stop:
• the enabling signals of the individual protection zones are canceled
• the appropriate PLC interface signal "Machinespecific or channelspecific protection zone
violated" is reset.
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.
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 are described in:
References:
/FB/ Description of Functions Basic Machine; Velocities, Set/Actual Value Systems,
Control (G2)
Requirement
The following internal protection zones are to be defined for a turning machine:
• One machine- and workpiecerelated protection zone for the spindle chuck, without
limitation in the third dimension
• One channelspecific protection zone for the workpiece, without limitation in the third
dimension
• One channelspecific, toolrelated protection zone for the toolholder, without limitation in
the third dimension
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]RQHIRU 7RROKROGHU
VSLQGOHFKXFN
6WDUWSRLQW
6WDUWSRLQW
'ULOO
0 3
: 5 =
3URWHFWLRQ]RQH
IRUWRROKROGHU
3URWHFWLRQ]RQH
IRUZRUNSLHFH
;
Activation
Table 4-5 Part program excerpt for activation of the protection zones:
NPROT(1, 2, 0, 0, 0) ; Protection zone: Spindle chuck
CPROT(1, 2, 0, 0, 100) ; Protection zone: Workpiece with 100mm offset in the Z
axis.
CPROT(2, 2, 0, 0, 0) ; Protection zone: Toolholder
Protection zones
Protection zones
Protection zones
Protection zones
None
5.3 Signals
Protection zones
Protection zones
Protection zones
None
A M
Activation of protection zones MD10604, 2-40
Example, 4-5 MD10618, 2-40
Axis clamping MD18190, 2-28
Operations, optimized, 2-7 MD20150, 2-25
Axis monitoring functions, 1-1 MD21020, 2-23
Actual velocity, 2-15 MD28200, 2-28
Axis/spindlespecific machine data, 5-2 MD28210, 2-37
Axis/spindlespecific setting data, 5-3 MD28212, 2-37
Channelspecific machine data, 5-1 MD30240, 2-17
Constraints, 3-1 MD30310, 2-22, 2-25
Contour, 2-1 MD31030, 3-1
Following error, 2-2 MD31050, 3-1
Speed setpoint, 2-13 MD31060, 3-1
Zero speed, 2-5 MD31070, 3-1
MD31080, 3-1
MD32000, 2-2
C MD32200, 2-2
MD32200, 2-5
Contamination signal, 2-19
MD32250, 3-1
Contour error, 2-1
MD32260, 3-1
Coordinate system, 2-27
MD32300, 2-2
MD32610, 2-2
MD32800, 2-2
E MD32810, 2-2, 3-1
Encoder monitoring functions, 2-16 MD36000, 2-6
Encoder frequency, 2-16 MD36010, 2-4, 2-5, 2-6
Zero marks, 2-17 MD36012, 2-6
MD36020, 2-4, 2-5
MD36030, 2-6
H MD36040, 2-5
MD36050, 2-7, 2-12
Hardware faults, 2-19
MD36052, 2-7, 2-9, 2-10, 2-11, 2-12
Hardware limit switches, 2-20
MD36060, 2-5
MD36100, 2-21
MD36110, 2-21
I MD36120, 2-21
Interface signals|Table, 5-4 MD36130, 2-21
MD36200, 2-15
MD36210, 2-13
L MD36220, 2-14
MD36300, 2-16
Limit switch monitoring, 2-19
MD36302, 2-17
O S
Orientation, 2-27 SD43400, 2-24
SD43410, 2-24
SD43420, 2-23
P SD43430, 2-23
Servo gain factor, 2-1
Protection zone
Signal distortion, 2-1
Activate, 2-35
Software limit switch, 2-21
Deactivation, 2-35
Spindle speed
Definition, 2-30, 2-33
Control, 2-16
Enable, 2-39
Restrictions, 2-45
Protection zone definition
Example, 4-1
W
Working area limitation, 2-23
Detailed description 2
Supplementary conditions 3
SINUMERIK 840D/840Di/810D
Examples 4
Continuouspath Mode, Exact Stop, 5
Data lists
LookAhead (B1)
Function Manual
10/04
6FC5 297-7AC20-0BP1
Safety Guidelines
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 to property damage only 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.
Prescribed Usage
Note the following:
Warning
This device may only be used for the applications described in the catalog or the technical description and only in
connection with devices or components from other manufacturers which have been approved or recommended
by Siemens. Correct, reliable operation of the product requires proper transport, storage, positioning and
assembly as well as careful operation and maintenance.
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.
Siemens AG
Automation and Drives Siemens AG 2005
Postfach 4848, 90327 Nuremberg, Germany Technical data subject to change
Function
For continuouspath control, the CNC processes a part program block by block. Only when
the functions of the current block have been completed is the next block processed. Various
requirements to be met by the part, e.g., contour accuracy, machining time, workpiece
surface, demand different block-change criteria.
Note
The "Smooth tool path velocity" and "Dynamic response adaptation" functions can be
combined.
NC block compressor
COMPON/COMPCURV/COMPCAD/COMPOF
CAD/CAM systems produce linear blocks, which meet the configured accuracy
specifications. In the case of complex contours, a large volume of data and short path
sections can result. The short path sections restrict the machining rate. The compressor
allows a certain number (max. 10) of short path sections to be combined in a single path
section.
The modal G code COMPON or COMPCURV can be used to activate an "NC block
compressor". This function 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 degree (COMPON) or 5th degree (COMPCURV) polynomial. One traversing block is
processed by the NC instead of a large number of small blocks.
The COMPCAD G code can be used to select a further compression, which optimizes the
surface quality and velocity. The interpolation accuracy can again be specified in machine
data. COMPCAD is processor and memoryintensive. It should only be used if surface quality
enhancement measures cannot be incorporated in the CAD/CAM program.
The programming is described in:
References:
/PGA/ Programming Guide Advanced
Path axes
The term "path axes" refers to all machining axes assigned to the channel, which are
controlled by the interpolator calculating the path points, in such a manner that:
• All axes involved start at the same time
• All axes involved travel with the correct velocity ratios
• All axes reach the programmed target position at the same time
The acceleration rates of the individual axes may vary depending on the path, e.g., circular
path.
Path axes may be both geometry axes and auxiliary axes (e.g., synchronized axes,
workpiece rotary axes involved in workpiece machining).
Geometry axes
Geometry axes describe a twodimensional or threedimensional area in the workpiece
coordinate system.
Orientation axis
This is the axis, which aligns the tool in relation to the machining plane in 5axis mode.
Channel
A channel represents a separate CNC, which, supported by a part program, is capable of
controlling the motions of axes and spindles as well as machine functions independently of
other channels.
The independence of the channels is guaranteed by:
2.1.2 Velocities
Limit values
The axisspecific velocity limits and acceleration limits apply to the path axes.
Feed
The programmed feedrate F corresponds to the path feedrate. This is modal and is
programmed as a velocity e.g., in the units mm/min, inch/min or degrees/min.
The feedrate is specified for the types of motion G01, G02 and G03.
Path feed
The path feedrate refers to axes that are assigned to the basic coordinate system. It
represents the geometric sum of feedrates of axes involved in the interpolation.
Feed override
There is one common rapid traverse override for the path axes assigned to a channel.
Rapid traverse
Rapid traverse G00 allows an axis to be traversed at its fastest possible traversing velocity. If
an axis is traversed at rapid traverse rate, the maximum axis velocity limits the rapid traverse
velocities.
The block change is executed once all path axes and positioning axes have reached their
programmed end position. Because of this, continuouspath mode for path axes is only
possible if the positioning axes reach their final position before the path axes.
• Positioning axis type POSA
The block change is executed once the path axes have reached their programmed end
position. Continuouspath mode is therefore possible without restriction.
• Positioning axes themselves do not differentiate between the continuouspath mode and
exact-stop functions because they always reach their final position with the exact-stop-
fine criterion.
References:
/FB1/ Description of Functions, Basic Machine; Positioning Axes (P2)
Exact stop
With the exact-stop function, all the path axes must reach the program block end point. Only
when all path axes have reached the exact-stop criterion is the block change performed. The
velocity at the block transition is practically zero.
This means:
• The path axes at the block end point are decelerated almost to standstill without
overshoot.
• The delay for fulfilling the exact-stop criterion prolongs the machining time.
• The delay for fulfilling the exact-stop criterion can cause backing off.
The use of the exact-stop function is suitable for precise traversing of contours.
Exact stop is not suitable if:
• Exact traversing of the contour on the basis of the criterion (e.g., exact stop fine) can
deviate from the programmed contour in order to achieve faster machining.
• An absolutely constant velocity is required.
Exact-stop criteria
Exact stop fine
This criterion is applied to monitor whether the actual/setpoint position deviation of the axis
has remained within a specific distance.
The extent of the permissible deviation is written in machine data:
MD36010 STOP_LIMIT_FINE (exact stop fine)
([DFWVWRSILQH 6(7326,7,21
$[LVBGLUHFWLR $[LVBGLUHFWLRQBS
QBQHJDWLYH RVLWLYH
([DFWBVWRSBF
RDUVH
$&78$/326,7,21
Interpolator end
When this criterion is applied, the block change is initiated when the interpolator has
calculated the setpoint velocity of the axes from zero for an interpolation cycle.
The block change is thus dependent on the dynamic response of the axes. The actual
positions of the path axes are not monitored for the block change. This makes rounding of
the contour possible, conditional upon the presence of the following error, on non-tangential
block changes.
Irrespective of continuous-path mode or the active exact-stop criteria for the exact-stop
function, "interpolator end" transfers the auxiliary functions present in the block to the PLC if
they are to be output after the end of motion.
)ROORZLQJHUURU %ORFNFKDQJH
$FWXDO ZLWK*
YDOXH ZLWK*
ZLWK*
6HWSRLQW
All three criteria can be activated globally by programming their G function and are evaluated
when the exact-stop functions G60 or G09 are selected.
An active criterion is deactivated by selecting another criterion.
Certain situations may imply an exact stop in continuous-path mode, which then takes one of
the three criteria into account.
MD36012
The three items of machine data above are evaluated using the factor written in machine
data:
MD36012 STOP_LIMIT_FACTOR
.
The factor is valid for all three magnitudes together. The ratio between the three values is
retained.
Any new values written to machine data:
MD36012 STOP_LIMIT_FACTOR
are activated with NewConfig:
The default selection of the factor is 1.0.
Automatic switchover
The effectiveness of programmed exact-stop criteria can be disabled for group 1 G
commands if an exactstop criterion is defined for the G command of this group for each
specific channel via machine data.
The G commands of this group 1 are:
• Rapid traverse:
G0
• Machining G codes:
G1, G2, G3, CIP, ASPLINE, BSPLINE, CSPLINE, POLY, G33, G34, G35,
G331, G332, OEMIPO01, OEMIPO02, CT
Machine data:
MD20550 EXACT_POS_MODE
allows separate specification for rapid traverse and machining G codes in total.
References:
/PG/ Programming Guide, Fundamentals; List of G Functions
The ten's place is 0: With the machining G codes, the programmed exact-stop conditions
become active in each case.
The unit's place is 2: With G0, irrespective of the programmed exact-stop condition, G602
(positioning window coarse) becomes active. This has no influence on
the response with the other G codes of the 1st group; i.e., in each
case, the programmed exact-stop condition is active.
2.3.1 General
Continuous-path mode
In continuouspath 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 continuouspath
mode is selected.
Continuouspath 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.
Continuouspath 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
Continuouspath 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.
• If an executable block (e.g., starting a positioning axis) contains no travel information for
the path axes, the previous block is terminated on reaching the selected exact-stop
criterion.
• 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 switchover of
the acceleration profile BRISK/SOFT.
For more information about BRISK and SOFT:
References:
/FB1/ Description of Functions, Basic Machine; Acceleration (B2)
• If the "empty buffer" function is programmed, the previous block is terminated when the
selected exact-stop criterion is reached.
can be used to set a time for the CNC during which the PLC will safely acknowledge the
auxiliary functions for the CNC.
Acknowledgment outside of travel time
If, due to the programmed path length and the velocity of the block with auxiliary-function
output, the travel time is shorter than that set in machine data:
MD10110 PLC_CYCLE_TIME_AVERAGE
, LookAhead deceleration is applied to the path velocity for the block, so that the duration of
the block corresponds to the time set.
If acknowledgment is not received within the time, the following prepared block cannot be
processed and the axes are braked to standstill with setpoint = 0 without considering the
acceleration limits.
Acknowledgment not received by end of block
If the acknowledgment is not received by the end of the block in long blocks in which the
velocity has not needed to be reduced on account of the PLC acknowledgment time, the
velocity is maintained until the end of the block and then reduced as described above.
Acknowledgment during braking
If the acknowledgment arrives while the axis is decelerating, the axis is not accelerated back
up to the requested velocity.
MD10110
Machine data:
MD10110 PLC_CYCLE_TIME_AVERAGE
is not evaluated.
Overload factor
The overload factor restricts step changes in the machine axis velocity at block ends. So that
the velocity jump does not exceed the maximum load on the axis, the jump is derived from
the acceleration of the axis.
The overload factor indicates the extent by which the acceleration of the machine axis, which
is set in machine data
MD32300 MAX_AX_ACCEL (axis acceleration)
, may be exceeded for an IPO cycle.
The velocity jump is the product of the axial acceleration * (overload factor -1) * interpolator
cycle.
The factor is set in machine data:
MD32210 MAX_ACCEL_OVL_FACTOR
(overload factor for axial velocity jumps).
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
continuouspath mode, so the factor must be set to greater than 1.0.
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.
Set machine data:
MD20490 IGNORE_OVL_FACTOR_FOR_ADIS
to smooth block transitions irrespective of the programmed overload factor.
<D[LV
%ORFNFKDQJH
;D[LV
3DWKYHORFLW\
%ORFNFKDQJH W
9HORFLW\ /HDGD[
RI;D[LV
,32 W
F\FOH
9HORFLW\
RI<D[LV /HDGD\
/HDGI2YHUO\
D\
$[LDOBYHORFLW\BMXPS
I2YHUO\!I2YHUO[!
,32 W
F\FOH
Blending
Rounding means that an angular block transition is changed to a tangential block transition
by a local change to the programmed feedrate.
Rounding replaces the area in the vicinity of the original angular block transition (including
transitions between blocks inserted by the CNC) by a continuous contour. In this case, it is
not only the geometry axes that are taken into account, but all machine axes, which are
traversing 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: RND, RNDM,
ASPLINE, BSPLINE, CSPLINE.
Rounding is initiated by 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.
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). This
means that very small knees in the contour (e.g., 0.5 degrees) can be overtraveled directly.
1 The axis stops between the two blocks. This occurs when ...
1 The auxiliary function output is programmed before the movement in the following block.
2 The following block does not contain a path movement.
3 An axis, which was previously a positioning axis traverses as a path axis for the first time
in the following block.
4 An axis, which was previously a path axis traverses as a positioning axis for the first time
in the following block.
5 The previous block moves geometry axes and the following block does not.
6 The following block moves geometry axes and the previous block does not.
7 Prior to thread cutting: The following block uses G33 as a preparatory function and the
previous block does not.
8 A change is made between BRISK and SOFT.
9 Axes involved in a transformation are not completely assigned to the path movement
(e.g., with oscillation, positioning axes).
2 The rounding block would slow down part program execution. This occurs when ...
1 A rounding block is inserted between very short blocks. Since each block requires at
least one interpolation cycle, the added intermediate block would double the machining
time.
2 A block transition G64 (continuous-path mode without rounding) can be traversed
without speed reduction. Rounding would increase the machining time.
3 Rounding is not parameterized. This occurs when ...
1 ADISPOS == 0 in G0 blocks. (default!)
2 ADIS == 0 in non-G0 blocks. (default!)
3 On transition from G0 to non-G0 or non-G0 to G0 respectively, the smaller value from
ADISPOS and ADIS applies.
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:
Path criterion
The size of the rounding area can be controlled by path criteria ADIS and ADISPOS. These
are the precoincidences for the block change. ADIS and ADISPOS describe the distance,
which the rounding block may begin, at the earliest, before the end of the block or the
distance after the end of block within which the rounding block must be terminated.
3URJUDPPHGBEORFNB
3DWKFULWHULRQ LQWHUPHGLDWHBSRLQW
$',6
$',6326 5RXQGLQJFRQWRXU
3URJUDPPHGB
LQSXWBEORFN 3URJUDPPHGB
RXWSXWBEORFN
Acute angles produce rounding curves with a large degree of curvature and therefore cause
a corresponding reduction in velocity.
1RFRUQHUURXQGLQJ
1
YE UHPDLQLQJSDWK
1
1
$',6
YESDWK1
1
$',6 $',6
YESDWK1 YESDWK1
%HJLQQLQJRI
EORFN1 $',6
Programming example
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 continuouspath mode G64 is automatic until rounding blocks can
be inserted again.
Extensions
G643 is not used to generate a separate rounding block, but axisspecific blockinternal
rounding movements are inserted.
The expansions described below refine the response with G642 and G643 and "rounding
with contour tolerance" is introduced. "
When rounding with G642 and G643, the maximum permissible deviations of each axis are
normally specified.
Machine data:
MD20480 SMOOTHING_MODE
can be used to configure rounding with G642 and G643 so that instead of the axis-specific
tolerances, a contour tolerance and an orientation tolerance can be specified.
In this case, the tolerance of the contour and of the orientation is set using two independent
setting data, which can be programmed in the NC program. This means that different setting
data can be specified for each block transition.
Contour tolerance
A contour tolerance is specified using setting data:
SD42465 SMOOTH_CONTUR_TOL
This setting data defines the maximum rounding tolerance for the contour.
Orientation tolerance
An orientation tolerance is specified using setting data:
SD42466 SMOOTH_ORI_TOL
This setting data defines the maximum rounding tolerance for the tool orientation The data
determines the maximum permissible angular deviation of the orientation of the tool. This
data is only effective if an orientation transformation is active.
Possible combinations
The table below shows the effect of axis tolerances in machine data:
MD33100 COMPRESS_POS_TOL
and the above setting data for codes G642 and G643.
G642 G643
With G642, the rounding travel is determined In the case of G643, the rounding travel of each
based on the shortest rounding travel of all axes. axis can be different. The rounding travels are
This value is taken into account when generating taken into account axisspecifically and block-
a rounding block. internally.
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.
Constraints
Expansion to include contour tolerance and orientation tolerance exists only in systems with
options for polynomial interpolation. The orientation-transformation option is also required for
rounding orientations with angular tolerance specification.
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.
Expansion
Rounding with G642 and G643 has been extended so that the length of the rounding
distance can be specified directly instead of entering the maximum tolerances.
As with G641, the language commands ADIS = ... for G01 and ADISPOS = ... for G00 are
used respectively for this purpose.
Machine data:
MD20480 SMOOTHING_MODE
determines whether G642, G643 or the maximum rounding length is specified.
The following applies:
Hundred's place:
< 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
See also MD28530 MM_PATH_VELO_SEGMENTS.
Activation
This type of rounding is activated by G code G644. Further information needs to be
programmed and/or entered in the machine data, depending on the setting.
Configuration
Machine data:
MD20480 SMOOTHING_MODE
is used to configure rounding with G644.
The following options are available (the values should be entered in the thousand's place of
the machine data):
Thousand's place:
0xxx: When rounding with G644, the maximum deviations of each axis specified with
machine data:
MD33100 COMPRESS_POS_TOL
are used.
1xxx: Input the maximum rounding path by programming ADIS=... or ADISPOS=...(as
for G641)
2xxx: Input the maximum possible frequencies for each axis in the rounding area with
machine data:
MD32440 LOOKAH_FREQUENCY.
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: The jerk is limited.
BRISK: When BRISK is active, only the acceleration is limited to its maximum
value.
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.
While, with 3xxx, the rounding distance results exclusively from the dynamic response data
of the respective axis, in the other cases the distance to the corner at which the rounding
motion begins is checked. In the first two cases, the possible rounding distance is limited to a
maximum value, which results either from the defined maximum deviation or a direct
programming command.
In contrast, in the case of 2xxx, the rounding distance is limited to a minimum value, which
results from the maximum permissible excitation frequency and the current path velocity.
Additional limitation
Any further limitations are also effective in addition to this rounding distance limitation. The
rounding distance cannot exceed half the length of the original participating blocks.
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.
Consequently, a different velocity characteristic is produced for each axis, depending on
whether BRISK or SOFT is active.
BRISK
With BRISK, no jerk limitation is active; the acceleration of each axis reaches its maximum
value in the entire rounding area.
SOFT
With SOFT, the jerk of each axis is limited to its maximum value within the rounding area.
The rounding motion thus consists of 3 general phases:
• 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 (see figure below).
Occurrence of jerking
When sections of the contour consisting of blocks containing different degrees of curvature
(e.g., circle straight line transitions) are machined, step changes in the acceleration rate
occur in continuouspath mode.
Reduction of jerking
The severity of such jerks can be reduced by decreasing the path velocity at transitions
between blocks containing different degrees of curvature. A smoother transition is thus
achieved between the contour sections.
Jerk limit
The user specifies the maximum jerk, which may occur on a geometry axis during a block
transition, with machine data:
MD32432 PATH_TRANS_JERK_LIM
(maximum axial jerk of a geometry axis at block limit).
Activation
Jerk limitation at block transitions becomes implicitly active if continuouspath mode is
programmed with G64 or G641and SOFT acceleration characteristics.
Machine data:
MD32432 PATH_TRANS_JERK_LIM
must contain a positive value.
MD20600
Jerk limitation for the path movement was previously defined by machine data:
MD20600 MAX_PATH_JERK
.
This machine data specifies a maximum value for the change in acceleration for all machine
axes.
MD32431
The new machine data:
MD32431 MAX_AX_JERK[..]
can be used to set individual changes in acceleration for each machine axis, like those that
can already be set for acceleration limits in machine data:
MD32300 MAX_AX_ACCEL[..].
Machine data:
MD32431 MAX_AX_JERK[..]
acts on the axes interpolated by the path and if SOFT (smooth acceleration curve) is active.
Advantages
The introduction of axisspecific machine data has the following benefits:
• Immediate allowance is made in the interpolation for the dynamic response of the axes,
which can then be fully utilized for each axis.
• Jerk limitation for separate axes is performed not just in linear blocks, but also in curved
contours.
Note
MAX_PATH_JERK and SD_MAX_PATH_JERK are not scaled in G00 blocks. They are
therefore unaffected by the relevant scale factors (G00_JERK_FACTOR and
G00_ACCEL_FACTOR).
Scalings
Machine data:
MD32433 SOFT_ACCEL_FACTOR
scales the permissible acceleration SOFT defined in machine data
MD32300 MAX_AX_ACCEL.
This machine data has the same effect on POS and JOGaxes.
Machine data:
MD32434G00_ACCEL_FACTOR
scales the permissible axial acceleration.
A harder acceleration can therefore be used for a programmed G00 preparatory function
than for machining. This axial machine data is only effective during path movements.
The rapid traverse overlay in JOG mode is not affected (acceleration limitation for G00 =
G00_ACCEL_FACTOR *MA_AX_ACCEL).
Note
The effect of this machine data does not depend on machine data
MD32433 SOFT_ACCEL_FACTOR (acceleration overload during SOFT),
MD32434 G00_ACCEL_FACTOR
and
MD32435 G00_JERK_FACTOR.
Machine data:
MD32435 G00_JERK_FACTOR[..] scales the permissible axial jerk.
This enables a higher axial jerk to be applied during positioning (programmed preparatory
function G00) than during machining
(jerk limitation for G00 = = G00_JERK_FACTOR *MA_AX_JERK).
Note
This axial machine data is only effective during path movements. The rapid traverse overlay
in JOG mode is not affected.
Machine data:
MD32432 PATH_TRANS_JERK_LIM[..]
limits the jerk overshoot as a result of a jump in curvature at a tangential block transition.
The axis jerk is offset by the same effects as the axis acceleration. The effect on the
machine at a jump in curvature is much less pronounced than at a corner. To prevent a
disturbance through the velocity reduction at G00, this machine data is also scaled by
machine data:
MD32435 G00_JERK_FACTOR
(limitation of jerk overshoot at G00 = G00_JERK_FACTOR * PATH_TRANS_JERK_LIM).
<
;
0$;B$;B$&&(/>;@ 62)7B$&&(/B)$&725>;@
0'0$;B$&&(/B29/B)$&725>;@
0'0$;B$;B-(5.>;@
0'3$7+B75$16B-(5.B/,0>;@
$[LVDFFHOHUDWLRQ $[LVYHORFLW\
Shortterm acceleration and jerk overshoots are noncritical in most situations. In such cases,
the response at the block transition can be set separately from the response in the block.
Otherwise, you must set machine data:
MD32210 MAX_ACCEL_OVL_FACTOR[..] to a value almost equal to 1
and machine data:
Note
Machine data MD32432 PATH_TRANS_JERK_LIM[..] was previously only used for
geometry axes. In SW 5 and higher, the data is used for all axes traversing synchronously
on the path. If you have already set the machine data previously for rotary axes, the program
execution may be significantly slower. You can achieve the original performance by
increasing the appropriate values.
It is not possible to combine SOFT with an angular acceleration characteristic.
However, machine data MD35240 ACCEL_TYPE_DRIVE[..] is referenced and the
acceleration limit correspondingly applied.
Activation
The path motion is defined by the G codes of the 1st G group (e.g., G1).
Machine data:
MD32431 MAX_AX_JERK[..]
and
MD20603 CURV_EFFECT_ON_PATH_JERK
are only valid for path motion if SOFT is active.
Machine data:
MD20602 CURV_EFFECT_ON_PATH_ACCEL
is valid for path motion and for SOFT as well as for BRISK.
The jerk limitation for individual axes is set via machine data. The values can also be set
from the part program with the corresponding access rights. Please note that this
modification is not canceled by a RESET.
Example
MD32431 MAX_AX_JERK
is scaled with
MD32435 G00_JERK_FACTOR.
N400: MD32300 MAX_AX_ACCEL
is scaled with
MD32433 SOFT_ACCEL_FACTOR.
Application
In some applications in mold making, especially in the case of high speed cutting, it is
desirable to achieve a constant path velocity.
Solution: Smoothing
In some cases, it can therefore be reasonable to sacrifice transient acceleration processes in
favor of a smoother tool path velocity. The following sections describe the conditions and
possible settings to avoid less effective accelerations/decelerations.
Advantages
The following improvements are possible:
• 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.
Decision-making criteria
The control system makes a decision based on:
• Smoothing frequency for the tool path velocity (MD)
• Tolerable loss in productivity when suppressing accelerations/decelerations (MD).
MD20460
A percentage value corresponding to the permissible extension must be specified in machine
data:
MD20460 LOOKAH_SMOOTH_FACTOR
.
The percentage value defines how much longer a machining step without accelerations may
be than the corresponding step when performing the 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.
MD20462
Machine data:
MD20462 LOOKAH_SMOOTH_WITH_FEED
defines that the programmed feedrate will also be taken into account in the rounding.
If the MD is set to 1 (default), the smoothing factor is observed with particular precision if the
override is set to 100%.
MD32440
Machine data:
MD32440 LOOKAH_FREQUENCY
contains a smoothing frequency for LookAhead.
Acceleration and braking operations, which take place at a higher frequency than that set in
this MD, are smoothed in machine data
MD20460 LOOKAH_SMOOTH_FACTOR
and
MD20465 ADAPT_PATH_DYNAMIC
on the basis of the parameter settings or the dynamic response is reduced.
The minimum value for all axes involved in the path is always calculated.
If vibration is excited in the mechanical system of this axis and if the corresponding
frequency is known, this MD should be set to a value smaller than this frequency.
The required resonance frequencies, for example, can be calculated using the built-in
measuring functions.
The minimum value for this MD32440 is calculated as fPath on the basis of the axes
involved in the path.
Only accelerations, during which the initial or final velocity of this motion is returned to within
time:
t = t2-t1 = 2/fPath
are taken into account for smoothing.
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 at this point.
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.
Activation
The smoothing of the path velocity is activated with machine data:
MD20460 LOOKAH_SMOOTH_FACTOR
, which is active with NewConfig.
With the default value 0, the function is deactivated.
Example
The following parameters are assumed:
MD20460 LOOKAH_SMOOTH_FACTOR = 10%
MD32440 LOOKAH_FREQUENCY[AX1] = 20Hz
MD32440 LOOKAH_FREQUENCY[AX2] = 20Hz
MD32440 LOOKAH_FREQUENCY[AX3] = 10Hz
The path involves the 3 axes X = AX1, Y = AX2, Z = AX3.
The minimum value of MD32440 LOOKAH_FREQUENCY for these 3 axes is thus 10 Hz.
This means that any acceleration, which is completed within a period of t2-t1 = 2/10Hz = 200
ms, is examined. The time t2 is the time after which, following acceleration from velocity v1,
the velocity returns to this velocity v1. The extending of the execution time is also only
considered within this range.
A time t2-t1 in excess of 200 ms or additional program processing time t3-t2 greater than
10% (= MD20460 LOOKAH_SMOOTH_FACTOR) of t2-t1, produces the following time
characteristic:
Y
Y
W W W
However, a time t2-t1 below 200 ms and additional program processing time t3-t2 no greater
than 10% of t2-t1 produces this time characteristic:
Y
Y
W
W W W
Note
The procedure should be used in conjunction with "Smooth tool path velocity".
In the default setting, path rounding is automatically activated with the adaptation option.
Constraints
Dynamic response adaptation for the path axes is active in:
• Continuous-path mode (see Activation)
and
• Exact stop with SOFT and BRISK
In continuouspath mode, the optimum effect of the adaptation of the path dynamic response
is achieved at 100% override, since calculations for this purpose are performed at the run-in
stage. Significant deviations from this override factor or even switching operations while
machining is in progress will adversely affect the desired smoothing effect.
Adaptation of the path velocity is active for all contour motions.
It is activated internally under the following conditions:
• With G0 blocks
• Stop requests during axis motion,
e.g., by NC-STOP, RESET, override setting 0
• Changes to the override in continuouspath mode
Dependencies
Flexible adaptation of the dynamic response is based on:
• A reduction factor
• An excitation frequency
Reduction factor
Very brief changes in the path velocity are executed at:
• Lower acceleration limits (with BRISK)
or
• Lower jerk limits (with SOFT)
This factor for path dynamic response can be specified in machine data:
MD20465 ADAPT_PATH_DYNAMIC:
Excitation frequency
The reduced limit values for jerk or acceleration must be applied only to braking or
acceleration processes, which will excite machine resonance.
These are excitations, which are generated at frequencies higher than a frequency that can
be specified for each axis in machine data:
MD32440 LOOKAH_FREQUENCY
.
The minimum frequency is calculated from these machine data for all the axes involved in
the path as the relevant frequency at which the path velocity must be modified f.
Activation
The function is activated by entering a reduction factor > 1 in machine data:
MD20465 ADAPT_PATH_DYNAMIC.
Adaptations
In order to clarify the adaptation processes sketched below, please note the following basic
principles:
The size of the time window is tadapt = 1 / f.
1. The time needed to change the velocity is less than tadapt:
The acceleration rates are increased by a factor of 1 and decreased by the value written
in machine data:
MD20465 ADAPT_PATH_DYNAMIC
.
The reduction in acceleration rate increases the time taken to change the velocity.
The following cases are possible:
– The acceleration rate is reduced with a value less than MD20465 so that the process
lasts for tadapt [s]. The permitted reduction does not need to be fully utilized.
– The acceleration time is reduced with the value written in MD20465.
In spite of the lower acceleration rate, the process takes less time than tadapt.
The permissible reduction was fully utilized.
2. The time needed to change the velocity is greater than tadapt:
No dynamic response adaptation is required.
Example 1
The following parameters are assumed:
$MC_ADAPT_PATH_DYNAMIC[0] = 1.5
$MC_LOOKAH_SMOOTH_FACTOR = 1.0 ; Path smoothing deactivated
$MA_LOOKAH_FREQUENCY[AX1] = 20 Hz
$MA_LOOKAH_FREQUENCY[AX2] = 10 Hz
$MA_LOOKAH_FREQUENCY[AX3] = 20 Hz
BRISK is active.
AX2
For path motions in which the 2nd axis (AX2) is involved, all braking and acceleration
processes, which take a maximum time of 1/10 Hz = 100 ms are adapted.
AX1, AX3
If only axis AX1 or AX3 is involved, then all braking and acceleration processes, which take a
maximum time of 1/20 Hz = 50 ms are adapted. This time is designated tadaptxy in the
following diagrams:
Y
%
WDGDSW
Y WDGDSW
WDGDSW WDGDSW
W W W W W W W W W
Y
%
WDGDSW
WDGDSW
WDGDSW
Y
W
W W W W W W W W
Figure 2-11 Path-velocity characteristic with dynamic response adaptation for example 1
The acceleration process between t0 and t1 and the braking process between t2 and t3 are
"stretched" to time periods tadapt01 and tadapt23 respectively as a result of the acceleration
adaptation.
Acceleration between t4 and t5 is performed at a rate reduced by a factor of 1.5, in
accordance with the parameter setting in machine data:
MD20465 ADAPT_PATH_DYNAMIC[0].
$MC_LOOKAH_SMOOTH_FACTOR = 80%
$MC_ADAPT_PATH_DYNAMIC[0] = 3
$MA_LOOKAH_FREQUENCY[AX1] = 20 Hz
$MA_LOOKAH_FREQUENCY[AX2] = 20 Hz
$MA_LOOKAH_FREQUENCY[AX3] = 20 Hz
BRISK is active.
Y
%
Y
Y
W W W W W W
Y
%
Y
W
W
W
W W
W
The figures clearly illustrate the difference between the parameter setting for machine data:
MD20465 ADAPT_PATH_DYNAMIC
and
MD20460 LOOKAH_SMOOTH_FACTOR.
The entire acceleration and braking characteristic between t1 and t2 is omitted because the
increase in machining time without acceleration to v12 is less than the setting in
MD20460 LOOKAH_SMOOTH_FACTOR.
The entire acceleration and braking characteristic between t3 and t5 does not fulfill this
condition or takes longer than parameterized in machine data::
MD32440 LOOKAH_FREQUENCY
(in this case: 2/20 Hz = 100 ms).
However, acceleration from t3 to t4 takes less than 50 ms (=1/20 Hz) and is therefore
performed with a rate reduced by a factor of 3 (= MD20465 ADAPT_PATH_DYNAMIC[0]).
The acceleration up to t1 left over after path smoothing is stretched to the time period up to
t1' by the path dynamic response adaptation.
This example shows why the path dynamic response adaptation function should be used,
whenever possible, in conjunction with path smoothing in continuouspath mode. Using a
combination of the two functions means that only those acceleration or braking processes on
the path that are not eliminated by path smoothing need to be optimized for the relevant
machine.
$MC_LOOKAH_SMOOTH_FACTOR = 100%
$MC_ADAPT_PATH_DYNAMIC[1] = 4
$MA_LOOKAH_FREQUENCY[AX1] = 10Hz
$MA_LOOKAH_FREQUENCY[AX2] = 10Hz
$MA_LOOKAH_FREQUENCY[AX3] = 20Hz
/LPLWLQJRISDWKYHORFLW\BEDVHGRQ
G\QDPLFD[LVUHVSRQVHBRUSURJUDPPHG
IHHG
3DWKYHORFLW\FKDUDFWHULVWLF
7LPHLQLQWHUSRODWLRQF\FOHV
%ORFNFKDQJHPDUNHUV
The path-velocity characteristic has been obtained through deselection of path dynamic
response adaptation and path smoothing.
This corresponds to the following parameter settings:
$MC_ADAPT_PATH_DYNAMIC[1] = 1
$MC_LOOKAH_SMOOTH_FACTOR = 0%
6PRRWKHUSDWKYHORFLW\GXHWRORZHUSDWKMHUN
7LPHLQLQWHUSRODWLRQF\FOHV
The path-velocity characteristic has been obtained through selection of path dynamic
response adaptation with minimum, and thus virtually inactive, path smoothing.
The following parameter settings were made:
$MC_ADAPT_PATH_DYNAMIC[1] = 4
$MC_LOOKAH_SMOOTH_FACTOR = 1%
1RDFFHOHUDWLRQRUEUDNLQJBHIIHFWRISDWKVPRRWK
6PRRWKHUSDWKYHORFLW\BGXHWR LQJ
UHGXFHGSDWKMHUN
7LPHLQLQWHUSRODWLRQ
F\FOHV
The path-velocity characteristic has been obtained through selection of path dynamic
response adaptation and path smoothing.
The standard path rounding parameter settings for deselected path smoothing and active
path dynamic response adaptation were selected:
$MC_ADAPT_PATH_DYNAMIC[1] = 4
$MC_LOOKAH_SMOOTH_FACTOR = 0%
(same meaning as $MC_LOOKAH_SMOOTH_FACTOR = 100%)
The last two examples show why the path dynamic response adaptation function should be
used, whenever possible, in conjunction with path smoothing in continuouspath mode. Using
a combination of the two functions means that only those acceleration or braking processes
on the path that are not eliminated by path smoothing need to be optimized for the relevant
machine.
4. The maximum jerk/minimum jerk (at critical velocity) is then calculated for all axes and the
highest value is entered in machine data:
MD20465 ADAPT_PATH_DYNAMIC[1]
.
Only the dynamic response of the path axes is determined when the technology group G
code is activated. This has 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 dynamic response for these axis movements is still derived from the machine data of the
DYNNORM default setting.
Technology G group
Five dynamic response settings are available in G code group 59 technology:
• DYNORM for standard dynamic response
• DYNPOS for positioning mode, tapping
• DYNROUGH for roughing
• DYNSEMIFIN for finishing
• DYNFINISH for smooth-finishing
For further information about programming, please refer to
References:
/PG/, Programming Guide Fundamentals, Path traversing behavior.
MD32310: MAX_ACCEL_OVL_FACTOR[n]
MD32433: SOFT_ACCEL_FACTOR[n]
• Path
MD20602: CURV_EFFECT_ON_PATH_ACCEL[n]
MD20603: CURV_EFFECT_ON_PATH_JERK[n]
Value frange for index n = 0 to 4
Example of programming with index:
MD32300: MAX_AX_ACCEL[3, AX1]=1
R1=MD20602: CURV_EFECT_ON_PATH_ACCEL[4]
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.
These constellations can occur:
1. Write from part program MD32300: MAX_AX_ACCEL[AX1]=1 sets all five field elements
to value 1 (unit of measurement metric or inch depending on axis type and reference
system).
2. Read in archive files from software versions earlier than SW 7.2.
2.4 LookAhead
Function
LookAhead is a procedure in continuouspath mode (G64, G641) that achieves velocity
control with LookAhead over several NC part program blocks beyond the current block.
If the program blocks only contain very small paths, a velocity per block is achieved that
permits deceleration of the axes at the block end point without violating acceleration limits.
This means that the programmed velocity was not actually reached although a sufficient
number of prepared blocks with virtually tangential path transitions was available.
With the LookAhead function it is possible to plan the acceleration and deceleration phase
with approximately tangential path transitions in order to achieve a higher feedrate with
shorter distances. Deceleration to velocity limits is possible with LookAhead such that
violation of the acceleration and velocity limit is prevented.
)HHG
SURJUDPPHG
)
*/RRN$KHDGYHORFLW\FRQWURO
*&RQVWDQWYHORFLW\SKDVHFDQQRWEHDFKLHYHG
Figure 2-14 Comparison of velocity response with exact stop G60 and continuouspath mode G64 with LookAhead with
short traversing paths.
Scope
The LookAhead function is only available for path axes and not for spindles and positioning
axes.
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.
Number of blocks
To achieve reliable axis traversal in continuouspath 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 standard
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 (see fig. below). 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 = 1m/s2 and a high feedrate of vpath = 10
m/min, the following number of blocks for the control is obtained with an attainable block
cycle time of the control of TB = 10 ms.
nLookAhead= Deceleration path/Block length = ( vpath2 / (2a)) / (vpath * TB) = 9
Considering these aspects, 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.
As, in a program, the machining velocity is very often set to a lower value than the maximum
velocity, more blocks than are required would be predicted, overloading the processor
unnecessarily. The number of blocks required is therefore derived from the velocity, which is
calculated by multiplying the programmed speed by the value of machine data:
MD12100 OVR_FACTOR_LIMIT_BIN
(limit of binary-coded override switch)
or by the 31st override value of machine data:
MD12030 OVR_FACTOR_FEEDRATE
(analysis of path feedrate override switch).
The 31st override value must tally with the override factor most frequently used.
The number of blocks considered by the LookAhead function is limited by the possible
number of NC blocks in the IPO buffer.
YVHW
Y Y DFW
Figure 2-15 Example for modal velocity control (number of blocks considered by the LookAhead function = 2)
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.
Override points
If the velocity profile of the following block velocity is not sufficient because, for example,
very high override values, e.g., 200%, or constant cutting rate G96/G961 are being used,
with the result that the velocity must be further reduced in the following block, LookAhead
provides a way of reducing the programmed velocity over several NC blocks.
By defining override points, LookAhead then calculates a limiting velocity profile for each
value. The required velocity reductions for the current override are derived from these
profiles.
The calculated maximum value of the velocity profile is limited by the maximum path velocity.
The higher value must take account of the velocity range reached by the maximum value of
machine data:
MD12030 OVR_FACTOR_FEEDRATE
(analysis of path feedrate override switch)
or the value of machine data:
MD12100 OVR_FACTOR_LIMIT_BIN
(limit of binary-coded override switch)
respectively.
In this way, a reduction of the velocity continuing into the block in which it is programmed
can be avoided. If velocity reductions across block boundaries are required already at 100%
override, a point must be set in the lower override range as well.
The number of override points used for each channel is specified in machine data:
MD20430 LOOKAH_NUM_OVR_POINTS
(number of override switch points for LookAhead).
A combination of both procedures can be used to calculate the velocity profile and is
generally recommended, because the preset machine data for these functions already takes
the widest range of override-specific velocity limits into account.
Plannable velocity limits restrict override-specific velocity limits.
If neither of the two procedures has been activated, the setpoint velocity is always applied in
the current block.
Y 9HORFLW\SURJUHVVLRQZLWKDQGRYHUULGH
Y PD[
3URJUDPPHG
VHWSRLQW
9HORFLW\SURILOHDQG
Figure 2-16 Example for limiting velocity characteristics with number of LookAhead blocks = 4
MD20430 LOOKAH_NUM_OVR_POINTS = 2
MD20440 LOOKAH_OVR_POINTS = 1.5, 0.5
MD20400 LOOKAH_USE_VELO_NEXT_BLOCK = 1
COMPON, COMPCURV
The modal G code COMPON or COMPCURV can be used to activate an "NC block
compressor".
This function 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
degree (COMPON) or 5th degree (COMPCURV) polynomial.
One larger traversing block is processed by the NC instead of a large number of small
blocks.
COMPCAD
The COMPCAD G code can be used to select a further compression, which optimizes the
surface quality and velocity. The interpolation accuracy can again be specified in machine
data.
COMPCAD is processor and memoryintensive. It should only be used if surface quality
enhancement measures cannot be incorporated in the CAD/CAM program.
The programming procedure is described in:
References:
/PGA/ Programming Guide, Advanced.
The compressor for orientation transformation is described in:
References:
/FB3/ Description of Functions, Special Functions; 3 to 5-axis transformation (F2).
The following three machine data are available for the compressor function:
...
N1000 G64 SOFT ; Continuous-path mode with SOFT acceleration
characteristics
N1004 G0 X-20 Y10
N1005 G1 X-20 Y0 ; Straight
N1010 G3 X-10 Y-10 I10 ; Block transition with jump in path curvature
(straight - circular)
N1011 G3 X0 Y0 J10 ; Block transition with continuous path curvature
N1020 G2 X5 Y5 I5 ; Block transition with jump in path curvature
(circular - circular)
N1021 G2 X10 Y0 J-5
...
5.3 Signals
SINUMERIK 840D/840Di/810D
Description of Functions Basic Machine
(Part 1)
Acceleration (B2)
Notes
Brief Description 1
The NC axes are accelerated and decelerated with preset acceleration values.
This makes it possible to control the axes at the required velocities. The
acceleration values which are possible depend on the torques of the drive
motors, on the current supplying capacity of the drive controller and on the load
bearing capabilities of the machine mechanics as well as on the acceleration
profile of the CNC. The CNC checks whether the acceleration value stored in a
machine data for each machine axis has been violated, taking path velocity and
curvature into account. If necessary, the velocity is lowered in order to keep to
the axisspecific maximum acceleration.
The characteristics and possibilities offered by the existing acceleration modes
and acceleration limitations (see Chapter 3) are described in this document.
J
Notes
Detailed Description 2
2.1 Acceleration profiles
Abrupt With the v/tlinear control of the axis velocity that is normally applied, the motion
acceleration is controlled such that the acceleration rate changes abruptly over time. The
changes aim of this type of velocity control is to maintain the programmed velocity over
the greatest area covered by the block. For this reason, acceleration to the
programmed feedrate is performed at the beginning of the block at a maximum
value and deceleration to rest performed at the end of the block, also at the
maximum value. With the discontinuous, stepped acceleration, jerkfree starting
and braking of the axes is not possible, but a timeoptimized velocity/time profile
can be implemented.
Acceleration with In contrast to the method involving abrupt changes in acceleration rate, the
jerk limitation jerklimited acceleration profile controls the motion such that the axis setpoint
characteristic is smooth (without jerks). This is achieved by limitation of changes
in acceleration. Because of the softer acceleration progression, the traverse
time is longer than with stepped acceleration for the same distance, velocity and
acceleration. This time loss could be compensated for by setting a higher
acceleration for the axes.
As well as utilizing the acceleration capabilities of the machine to the full,
acceleration with jerk limitation has the following advantages:
+ amax + amax
t t
+ amax + amax
v v
+a
t t
Fig. 2-1 Schematic illustration of velocity and acceleration profiles showing abrupt
acceleration and acceleration with jerk limitation
a: acceleration
v: velocity
t: time
Acceleration with Acceleration with jerk limitation can be selected for the axes in the path
jerk limitation grouping. The pathrelated maximum permissible jerk is stored in the
channelspecific MD 20600: MAX_PATH_JERK (pathrelated maximum jerk). It
limits the change of path acceleration. Using the permissible jerk value and the
path acceleration, a time is calculated by which the change in acceleration must
have been completed. The possible changes in acceleration have values
between zero and the path acceleration. The acceleration limit is the maximum
possible path acceleration. Because the path acceleration depends on the
number of interpolating axes and on the shape of the path, the time calculated
from the jerk limitation does not have a fixed length. The duration is proportional
to path acceleration for constant jerk limitation.
Vset
Fp
Vact
0
t
+ amax
0
t
a: acceleration
v: velocity
t: time
Braking profile
+ amax NCU 571/572
Braking profile
NCU 573
Note
With SW 5.3, the NCU 572 has the same braking profile as the NCU 573. The
same applies to CCU1, CCU2, CCU3.
It can be seen from the previous fig. that the acceleration profile is trapezoidal.
The height of the trapeze is limited by the path acceleration. The gradient of the
sides of the trapeze depends on the time which is calculated by dividing the
acceleration by the path related maximum jerk. When an NCU 571 or 572 is
used, the braking profile is bellshaped. With an NCU 573 the acceleration profile
is trapezoidal. The height is limited by the path acceleration. The jerk limitation
value set in MD 20600: MAX_PATH_JERK (pathrelated maximum jerk) limits
the gradient of the curve.
Selection and The acceleration profile with jerk limitation based on the value set in MD 20600:
deselection of MAX_PATH_JERK (pathrelated maximum jerk) is activated by:
jerk-limited
S Program code SOFT in NC part program
acceleration
Programming SOFT in the part program is modal and deselects stepped
acceleration profiles. If SOFT is programmed in a block with path axes, the
previous block is ended with exact stop.
The acceleration profiles SOFT and BRISK are generated in different ways. For
this reason, the SOFT profile will always require a longer traversing time for the
same distance and acceleration rate than BRISK, regardless of the setting in
MD 20600: MAX_PATH_JERK.
Applicability Pathrelated jerk limitation is available for interpolating path axes in operation
modes AUTO and MDA. The SOFT and BRISK acceleration profiles can be
used in traverse modes exact stop G09, G60, continuouspath modes G64,
G641 and with LookAhead. The profiles are also active with the dry run feedrate
function. With alarms that trigger a rapid stop, both acceleration profiles are
inactive.
Profile with With the BRISK acceleration profile, a direct switchover from acceleration to
abrupt braking takes place in short blocks in which the setpoint velocity cannot be
acceleration reached. This transition entails a very large jump in acceleration. In order to
changes and attenuate this jump, the axes can be traversed with a constant velocity for a set
minimum duration between the acceleration and the deceleration phases. One
constant travel
consequence of this is that the acceleration jump is split into two halves. The
phase
duration of the constant velocity phase can be set in MD 20500:
CONST_VELO_MIN_TIME (minimum time with constant velocity).
The constant phase based on MD 20500: CONST_VELO_MIN_TIME is not
implemented:
S With LookAhead
S In blocks in which the traveling time is less than or equal to one IPO cycle.
Acceleration characteristic
with minimum constant travel
duration
apath,–,max
0 t
a: acceleration
v: velocity
t: time
Fig. 2-3 Acceleration and velocity behavior in short blocks with and without a minimum
constant travel duration
Functionality The call path can be set flexibly in SD 42500: SD_MAX_PATH_ACCEL can be
set to specify a path acceleration limit value which acts in addition to the limit
derived from the axial limitation values. This setting data is included in the jerk
limitation calculation if SD 42502: IS_SD_MAX_PATH_ACCEL is set.
The call path can be set flexibly in SD 42510: SD_MAX_PATH_JERK can be
set to specify an additional jerk limitation to the value set in MD 20600:
MAX_PATH_JERK. This setting data is included in the jerk limitation calculation
if SD 42512: IS_SD_MAX_PATH_JERK is set.
Note
SD 42500: SD_MAX_PATH_ACCEL is taken into account only if its value is
lower than the limit value calculated from the axis motion and machine data
MA_MAX_AX_ACCELƪAxNoƫ, MA_MAX_AX_VELOƪAxNoƫ, allowing for the
programmable reduction in acceleration.
SD 42510: SD_MAX_PATH_JERK is taken into account only if its value is
lower than the setting in MD 20600: MAX_PATH_JERK.
Activation The setting data can be set and activated via download, MMC or part program.
The programmed values remain valid until the SRAM is erased.
Examples of $SC_SD_MAX_PATH_ACCEL=2
SD settings in the
$SC_SD_MAX_PATH_JERK=(0.8*$MC_MAX_PATH_JERK)=0.8.100=80
part program
$SC_IS_SD_MAX_PATH_ACCEL=TRUE
$SC_IS_SD_MAX_PATH_JERK=TRUE
Control system Control system response to POWER ON, operating mode switchover, Reset,
response block search and REPOS.
The last value to be set is valid. The default settings apply after a cold start.
§SC_IS_SD_MAX_PATH_ACCEL=FALSE
§SC_SD_MAX_PATH_ACCEL=10
$SC_IS_SD_MAX_PATH_JERK=FALSE
$SC_SD_MAX_PATH_JERK=1000
Jerk limitation on An axisspecific jerk limitation can be programmed for axes that are traversed in
interpolator level the conventional operating modes as well as for those that operate in
positioning axis mode. The acceleration behavior is the same as for the SOFT
acceleration profile of pathrelated jerk limitation and is set permanently and
axisspecifically in machine data. This limitation cannot be deselected for the
axes in the relevant modes.
The axes for which jerk limitation is to be programmed can be selected with
MD32420: JOG_AND_POS_JERK_ENABLE (initial setting for axial jerk
limitation). The maximum permissible axis jerk is stored in MD 32430:
JOG_AND_POS_MAX_JERK (axial jerk). It limits the permissible change in axis
acceleration. Taking the jerk value and acceleration rate programmed in
MD32300: MAX_AX_ACCEL (axis acceleration) into account, a time is
calculated in which the acceleration change is performed. The possible change
in acceleration rate is in the range between 0 and the axis acceleration value
stored in MD 32300: MAX_AX_ACCEL.
A change in the active jerk value cannot be achieved in the NC part program by
overwriting MD 32430: JOG_AND_POS_MAX_JERK because it only becomes
active on RESET. A new value set becomes effective on the next program run.
The axial jerk limitation is active in AUTO and MDA modes for both positioning
axis types.
The jerk limitation is active for axes in JOG mode during
S Jogging
S Handwheel jogging
S Repositioning
S Teach In.
The jerk limitation is not active during
Jerk limitation It is possible to set an axisspecific jerk limitation in the position controller in
on position addition to and independently of the jerk limitations that can be activated on
controller interpolator level. The jerk limitation causes smoothing of the axis setpoint
progression with any axis movement irrespective of the mode the axis is
traversed in. The acceleration limitations on the interpolator level are subjected
to further smoothing with this limitation. It cannot be influenced by a program
code or interface signal.
The limitation is enabled axis-specifically in
MD 32400: AX_JERK_ENABLE (axial jerk limitation) and set in associated with
a timer for the smoothing filter by means of
MD 32410: AX_JERK_TIME (time constant for axial jerk filter).
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:
MD 32402: AX_JERK_MODE = 1 ; 2nd degree filter (default)
corresponds to SW 1 to SW 4.4
MD 32402: AX_JERK_MODE = 2 ; floating averaging
(new jerk filter available with SW 5.1 and
higher).
MD 32402: AX_JERK_MODE = 3 ; bandstop filter in SW 6.3 and higher
Modus 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 further information on the method of operation of the jerk filter available with
SW 5.1 and higher (balancing filter for improving the position setpoints of the
position controller), please refer to:
References: /FB/, G2, “Velocities, Setpoint/Actual Value Systems,
Optimizing the control”
Mode 3
Bandstop filter can be parameterized in 2 variants:
Note
Axial jerk limitation is useful in the following situations:
S When the smoothing times of the IPO level are tool long, i.e. when
limitations are required within one IPO cycle.
Except for linear blocks, this smoothing causes a contour falsification. This also
applies if the same filter time is set for interpolating machine axes. Under this
prerequisite, with a circle, the contour error results in a circle radius that is too
small. If the same velocity and the same circle radius are programmed, the
contour error will increase with increasing filter time. The jerk limitation is only
disabled with alarms switching the axes into the followup mode.
Caution
! The effective servo gain factor is reduced when an axial jerk limitation is
programmed. This must be noted with respect to axes/spindles that must have
an identical servo gain factor (e.g. for Rigid tapping).
In general, it is not advisable to enter values above approximately 20 – 30 ms
in MD: AX_JERK_TIME (because the servo gain factor, and thus the contour
accuracy, would then be reduced) (pay attention to Service display!).
The jerk limitation on the path (MD: MAX_PATH_JERK, MD:
JOG_POS_MAX_JERK) should always be used first. If this option is not
sufficient, then MD: AX_JERK_TIME should be set to a very low value
(< 5 ms) and used. If an even smoother axis motion is required and the degree
of contour accuracy is sufficient (check with circularity test), then the value in
AX_JERK_TIME can be increased.
Note
This function is only available for positioning axes and spindles and is also
used during the coupling procedure for synchronous spindles with SW
version 7.1 and later.
General The speedcontrolled motors used for axes and spindles in machine tools have
a speeddependent torque characteristic and therefore also a speeddependent
acceleration capability.
The torque is constant in the lower speed range, the anchor setting range. The
torque in the field setting range decreases above a motor-specific speed. The
development of speed-dependent torque is limited by:
S Field weakening
Field weakening can cause an increase in the motor speed with DC motors.
The torque output is correspondingly reduced by the speed in the field
setting range.
S Commutation limit
With DC motors the armature current must be reduced at high motor speeds
because of brush sparking. This causes a reduction of the torque as the
speed increases.
S Control
Threephase motors can also be controlled such that they increase their
speed. However, the available torque is reduced as speed increases.
S DC link voltage
The DC link voltage of the power section limits the maximum possible
dynamic torque of threephase drives because the current that can be fed in
is reduced because of the mutual induction.
Until now, the setpoint was calculated and output by the CNC on the basis of
the acceleration of the machine axes, making use of the entire speed range of
the setpoint. From the moment at which motor torque started to develop as a
function of speed, the drive continued to accelerate along its current limit, but
the difference between setpoint and actual value changed continually as the
drive was accelerating in the torquereducing speed range.
a [m/s2]
a: acceleration
MAX_AX_ACCEL
u: speed
(MD 32300)
amax 2.5
ACCEL_REDUCTION_FACTOR
(MD 35230)
2,0
1.5
1.0
0.5
0
1000 2000 3000 4000 5000 6000 n [rev/min]
nmax MAX_AX_VELO
ACCEL_REDUCTION_SPEED_POINT (MD 32000)
(MD 35220)
Application for The following are relevant for the knee-shaped acceleration characteristic:
spindles
S Maximum speeds of the gear stages stored in machine data
MD 35130: GEAR_STEP_MAX_ VELO_LIMIT (maximum speed of gear
stage) and the permissible
Maximum The maximum reference quantities for calculating the kneeshaped acceleration
permissible characteristic for positioning axes are the values stored in MD 32000:
reference variables MAX_AX_VELO (maximum axis velocity) and in MD 32300: MAX_AX_ACCEL
for positioning (axis velocity). Factors fa and fn must be derived from the data sheets of the
motors used.
axes
Requirement It may be required in critical program sections to limit the maximum axis
acceleration rates which are programmed in MD 32300: MAX_AX_ACCEL (axis
acceleration).
The “Programmable acceleration function” (see Chapter 3) can therefore be
used, for example, to prevent mechanical vibration.
Effective The limitation is effective in all interpolation types of the AUTOMATIC and MDA
modes.
Please note the following:
S The limitation is not active in JOG mode and during reference point
approach.
Error states The acceleration limitation is not active in error states that cause a rapid stop
with an open positioncontrolled loop (because the axis is stopped according to
a braking ramp of the set speed).
Introduction The methods described in Sections 2.1 to 2.6 for acceleration and jerk control
apply to:
a) Normal machining in continuouspath mode and
b) Reactions to pathrelated realtime events:
– Stop
– Feed change
– by override switch
– by synchronized actions via system variable
$AC_OVR
– Safe speed SG for Safety Integrated
(see References: /FBSI/, Description of Functions
SINUMERIK Safety Integrated)
For example, if reduced acceleration and jerk values are set in order to reduce
the vibrations on a laser cutting head, the operations in b) are also performed
more sluggishly than desired.
Solution Two system variables available with SW 6.3 can be used to accelerate the
reaction in the operations in b).
System variables $AC_PATHACC and $AC_PATHJERK can be modified from
the part program and from static synchronized actions. Each read and write
operation that accesses these system variables from the part program entails
an implicit preprocessing stop.
Exception The variable does NOT have any effect in the case of changes to the tool path
velocity resulting from path plans involving e.g. contour curvature, corners,
kinematic limitations of the transformation, ... ).
This function is practical in cases where the tool path velocity is to be controlled
more quickly than is appropriate during normal program operation.
Supplementary
conditions
S RESET deactivates $AC_PATHACC, $AC_PATHJERK (i.e. sets it to zero).
S Mit $AC_PATHACC = 0, $AC_PATHJERK = 0 deactivates the function and
saves processor time during the main run. – The assignment of values less
than 0 sets the value implicitly to 0.
OVR=10% OVR=10%
t [12 ms]
RNDM=10 N2300
N2200
between N2200 and N2300
Fig. 2-5 Switching between path acceleration specified during preprocessing and $AC_PATHACC
; 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
OVR=100%
OVR=10% OVR=10%
t [12 ms]
N2200 N2300
RNDM = 10 RNDM ..
between N2200 and N2300
Fig. 2-6 Switching between path jerk specified during preprocessing and $AC_PATHJERK
Notes
Supplementary Conditions 3
Availability of the
function
Notes
Example 4
None
J
Notes
5.4 Alarms
For detailed descriptions of the alarms, please refer to
References: /DA/, “Diagnostics Guide”
and the online help of MMC 101/102/103 systems.
J
Index
F
Field weakening, 1/B2/2-15
A
Acceleration, 1/B2/1-3 J
Kneeshaped acceleration
Jerk limitation, smoothing method, 1/B2/2-13
characteristic, 1/B2/2-15
Programmable, 1/B2/2-17
Acceleration (B2), 1/B2/1-3
Interrupts, 1/B2/5-28 L
Machine data, 1/B2/5-27
Language commands
Setting data, 1/B2/5-28
ACC, 1/B2/2-17
System variables, 1/B2/5-28
BRISK, 1/B2/2-8
Acceleration limitation, 1/B2/2-11
SOFT, 1/B2/2-8
Acceleration profiles, 1/B2/2-5
Abrupt acceleration changes, 1/B2/2-5
Acceleration with jerk limitation, 1/B2/2-5
Axisrelated jerk limitation, 1/B2/2-12 P
Jerk limitation, 1/B2/2-12 Pathrelated jerk limitation, 1/B2/2-7
Acceleration with jerk limitation, 1/B2/2-7
Profile with abrupt acceleration
B changes, 1/B2/2-9
Selection and deselection, 1/B2/2-8
BRISK, 1/B2/2-8
S
C
SOFT, 1/B2/2-8
Commutation limit, 1/B2/2-15
Control, 1/B2/2-15
D
DC link voltage, 1/B2/2-15
Notes
Detailed description 2
Supplementary conditions 3
SINUMERIK 840D/840Di/810D
Examples 4
Diagnostic tools (D1) 5
Data lists
Function Manual
10/04
6FC5 297-7AC20-0AP1
Safety Guidelines
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 to property damage only 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.
Prescribed Usage
Note the following:
Warning
This device may only be used for the applications described in the catalog or the technical description and only in
connection with devices or components from other manufacturers which have been approved or recommended
by Siemens. Correct, reliable operation of the product requires proper transport, storage, positioning and
assembly as well as careful operation and maintenance.
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.
Siemens AG
Automation and Drives Siemens AG 2005
Postfach 4848, 90327 Nuremberg, Germany Technical data subject to change
Tables
Table 2-1 Diagnostic screen PROFIBUS Configuration .......................................................................... 2-23
Table 2-2 Diagnostic screen Information on the slaves ........................................................................... 2-24
Table 2-3 Diagnostic screen Detailed information on the slave............................................................... 2-24
Table 2-4 Diagnostic screen AxisInfo....................................................................................................... 2-25
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.
• Measurement functions for evaluating speed and position control loops and regulating
torque in the time and frequency range without external measurement equipment.
• Fast Fourier Transformation (FFT) for analysis of the control loop setting and machine
kinematics
• Circularity test
• Archiving drive and control data
By means of the DAU configuration, the 611D drive modules enable the output of all
important control loop parameters of the position, speed and torque level to external
measurement devices (e.g. oscilloscope, signal plotter) via the measurement bushes.
References
A detailed description of the 611D startup software can be found in:
/FBA/ functional description of drive functions, speed control loop (DD2)
A detailed description of the circuit test can be found in:
/FB/ functional description of extended functions, compensations (K3)
Scope
The functional description 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 alarms which have occurred to date can be found in the alarm log, along with the time
when they occurred.
Detailed explanations of the alarms which have occurred can be found in:
References: /DA/ Diagnosis instructions, in particular for systems with HMI Advanced in the
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 powerup and
which have not yet been reset.
• Alarm reactions can be programmed as channelspecific, modegroupspecific or NCK-
specific reactions.
• The "NoReady" alarm reaction can also be programmed as a channelspecific reaction.
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.
Reference: /PGA/ Programming Guide 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
At POWER ON, the alarm handler data is completely reinitialized since it is not stored in the
buffered SRAM.
Compatibility
As of SW 4
As of SW 4.1 and later, it is possible to set the channelspecific signal CHANNEL_NOREADY
in the VDI interface in response to alarms.
Up to SW 3.x
Via the MD 11412: ALARM_REACTION_CHAN_NOREADY is set to determine whether the
channelspecific signal CHANNEL_NOREADY function is used, thus ensuring that earlier
PLC versions remain compatible.
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.
• 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.
•
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 Operator's Guide"
/BEM/, "HMI Embedded Operator's Guide"
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 is updated at significantly shorter
intervals.
General
Service displays cover:
• Axis/spindle service displays
• Drive service displays (for digital drives only)
• Service displays Profibus DP 840Di
For diagnostic purposes, the SINUMERIK 840Di provides various service displays via HMI
Advanced (formerly: MMC 103) and 840Di StartUp.
Diagnostics 840Di
The following service displays are provided for SINUMERIK 840Di:
• HMI Advanced
– Service display "Axis/spindle"
• Di-StartUp
– Service displays "PROFIBUS DP".
Following error
The difference between the position setpoint and the actual position value of the 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 the active measuring system 1 or 2.
Unit: mm, inch or degrees
Contour deviation
This value indicates the current contour deviation (fluctuations in the following error induced
by settling operations on the speed controller due to load changes).
The contour deviation results from the difference between an actual position value calculated
in advanced from the position setpoint and the actual position value of active measuring
system 1 or 2.
Unit: mm, inch or degrees
9HORFLW\VHWSRLQW
6HUYRJDLQIDFWRU
)ROORZLQJHUURU
>PPLQ@
8QLWZLWKVWDQGDUGVHWWLQJ
>PP@
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 (10V for an analog interface, maximum
speed for SIMODRIVE 611 digital).
Override
The active override factor of the feedrate spindle override
switch is displayed.
Unit: %
Controller mode
Displays the current controller modes.
0: Position Control
1: Speed Control
2: Stopping
3: Parking
4: Followup
5: Braking
Bit0=Status 0: The machine axis is not cross-referenced using position measurement system 1
or 2.
Bit0=Status 1: The machine axis has reached the reference point (incremental measuring
system) and/or target point (length measuring system with distance coded
reference marks) during reference point approach.
Bit1=Status 0: No obligation to cross-reference (NC start possible without cross-referencing
this axis)
Bit1=Status 1: There is no obligation to cross-reference for the NC start.
6SLQGOH 6SLQGOHVSHHGVHWSRLQW
VSHHG FXUUHQW )HHG
VHWSRLQWSURJ IRUZDUG
3RVLWLRQUHIHUHQFHYDOXH FRQWURO
VSHHGVHWSRLQW 6SHHGVHWSRLQW>@
(UURUVLJQDO
-HUNOLPLWDWLRQ
3RVLWLRQ 6SHHG
,QWHUSRODWRU )LQH FRQWURO &XUUHQW 3RZHU 0
LQWHUSRODWRU '\QDPLF FRQWURO FRQWURO VHFWLRQ
,32 OHU
DGMXVWPHQW OHU
&RQWURO $FWXDOVSHHGYDOXH>@
&RQWURO SDUDPHWHU
ORRS VHWV
PRGHO
$FWXDOVSHHG
YDOXH
&RQWRXU VSHFLILFDWLRQ
)ROORZLQJHUURU GHYLDWLRQ &RPSHQVDWLRQ
%DFNODVK66).
$EVFRPSHQVDWLRQYDOXH
$FWLYHPHDVXULQJ 0HDVXULQJV\VWHP
V\VWHP
$FWXDOSRVLWLRQYDOXHRIPHDVXULQJV\VWHP $FWXDOYDOXH
SURFHVVLQJ *
,WDOLFIRQW 식 9DOXHLVGLVSOD\HGLQXVHULQWHUIDFH
Checks
9HORFLW\VHWSRLQW >PPLQ@
6HUYRJDLQIDFWRU 6WDQGDUGSUHVHWWLQJ
)ROORZLQJHUURU >PP@
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
Accessing diagnostic options:
For the purposes of installing and diagnosing
• feed drives (FDD) and
• main spindle drives (MSD)
the information shown in the following figure can be called up for each axis/spindle in the
"Diagnostics" operating area via the operator panel.
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 840DiStartup 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)
Note
The individual status displays, warnings, messages etc. are explained in the following
sections. For HMI SW 6 and later, the status is shown as plain text yes or no instead of 0
and 1.
For further information, please see:
References: /IAD/, "Installation and Start-Up Guide"
Explanations/Terms
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 "Ramp-up function generator quick stop" (DB31, ... DBX92.1).
References: /FB1/, A2, "Various Interface Signals"
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 "Enable pulses" (DB31, ... DBX93.7).
References: /FB1/, A2, "Various Interface Signals"
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 "Drive Ready" (DB31, ... DBX93.5).
References: /FB1/, A2, "Various Interface Signals"
Display indicating the current rampup 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: No status class 1 message is active.
State 1: One or several status class 1 messages are active.
Status class 1 messages are alarms with the following characteristics:
• They cause internal responses
(e.g. regenerative braking, immediate pulse suppression)
• They are modal.
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 is made up of
the position controller output component and the speed feed forward branch.
Unit: rpm
The display corresponds to MD 1706: DESIRED_SPEED (speed setpoint).
Motor temperature
Display of motor temperature measured via temperature sensors.
Unit: Degrees Celsius
The display corresponds to MD 1702: MOTOR_TEMPERATURE (motor temperature).
2. Torque Limit
Display of active torque limit
State 0: Torque limit 1 is active.
State 1: Torque limit 2 is active.
Display corresponds to IS "Torque limit 2 active" (DB31, ... DBX92.2).
References: /FB1/, A2, "Various Interface Signals"
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
"Integrator disable n-controller"
(DB 31, ... DBX 21.6) is active for the drive module. The speed controller has
therefore switched from a PI to a P controller.
Display corresponds to IS "n-controller integrator disabled" (DB31, ... DBX93.6).
References: /FB1/, A2, "Various Interface Signals"
Setup mode
Mode display of the SIMODRIVE 611 digital.
State 0: Normal mode is active for the drive.
State 1: Setup mode is active for the drive.
Display corresponds to IS "Setup mode active" (DB31, ... DBX92.0).
References: /FB1/, A2, "Various Interface Signals"
Parking axis
Mode display of the SIMODRIVE 611 digital.
functions are disabled. This allows the encoder to be withdrawn without initiating an
alarm.
Operating mode
Display indicating whether the motor is operating as a feed drive or main spindle drive.
State 0: The ramp-up function has not yet been completed after a new speed setpoint was
defined.
State 1: The actual speed value has reached the speed tolerance band after a new speed
setpoint was defined.
The speed tolerance band corresponds to the setting in MD 1426:
SPEED_DES_EQ_ACT_TOL (tolerance band for 'nsetnact' signal).
Display corresponds to IS "Ramp-up function completed" (DB31, ... DBX92.2).
References: /FB1/, A2, "Various Interface Signals"
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 setting in MD 1428: TORQUE_THRESHOLD_X
(threshold torque).
The display corresponds to IS "Md< Mdx" (DB31, ... DBX94.3).
References: /FB1/, A2, "Various Interface Signals"
State 0: The actual speed value is outside the speed tolerance band after a
Variable signal 1
Status display of variable signaling function of 611D.
The variable signal function monitors a memory location for violation of the defined
threshold. 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/, Diagnostics Guide.
The user interface 840Di StartUp provides diagnostic screen forms for PROFIBUS DP and
its nodes. . These diagnostic screens are only intended for information. You cannot modify
them.
The following detailed information is displayed:
• PROFIBUS configuration
• Information on the slaves regarding their assignment to PLC/NC
• Detailed information on the slaves and the corresponding slots
• Information on the axes.
To obtain a quick overview, the current states of certain functions are represented by
colored lamps. The following general conventions are used for the meaning of the individual
colors:
• Green: Function is OK.
• Red: Failure or no communication at the moment
• Gray: Function is not available for the present communication.
Diagnostic screen PROFIBUS DP Configuration
The diagnostic screen PROFIBUS Configuration provides general information on PROFIBUS
DP.
The following parameters are displayed:
Function/subfunction Explanation/meaning
Bus configuration
Baud rate in MBd Data transfer rate
Cycle time in msec Configured bus cycle time; also defines the position controller cycle
Synchronous portion Configured time for cyclic data exchange within a PROFIBUS DP cycle
(TDX) in msec
Status
Configuration OK. Status of configuration
• Green lamp: DP master has powered up.
• Red lamp: Failure or no communication.
Bus status Current bus status is displayed in this field. Each bus status is explained in the screen form in
brief. Possible states are:
• POWER_ON
Function/subfunction Explanation/meaning
• OFFLINE
• CLEAR
• OPERATE
• ERROR
Diagnostic screen of the DP slaves
These diagnostic screen forms provide an overview of the DP slaves configured and
detected on the bus.
The following information is provided:
Function/subfunction Explanation/meaning
Slave No. [DP address] Configured DP address of DP slave
Assignment It is displayed whether the DP slave is assigned to the NC or to the PLC.
• NC: e.g. one or several drives controlled by the NC.
• PLC: e.g. I/O modules or an axis controlled by the PLC.
Active on the bus Displays whether the DP slave has been detected on the bus
• Green lamp: DP slave has been detected on PROFIBUS DP and the data exchange with the
assigned component (NC or PLC) operates.
• Red lamp: Failure or no communication.
Sync. with NC Displays whether DP slave operates on the bus synchronously to the NC.
• Green lamp: DP slave operates on PROFIBUS DP synchronously to the NC, i.e. the
equidistant data exchange takes place.
• Gray lamp: DP slave is not assigned to the NC, but to the PLC.
• Red lamp: Failure or no communication.
Number of slots Number of configured slots within DP slave
Details Pressing this button will open another diagnostic screen that provides detailed information on
the corresponding DP slave.
Detailed information of the slots within a slave
The Details button opens the diagnostics dialog box Detailed information on the slave. This
screen form provides detailed information on the slots assigned to the DP slave.
In addition, the Slave dialog box displays important information on the DP slave currently
selected.
The following information is displayed for the slots:
Function/subfunction Explanation/meaning
Slaves
Slave No. [DP address] Configured DP address of DP slave
Assignment Displays whether the DP slave is assigned to the NC or to the PLC.
• NC: e.g. one or several drives controlled by the NC.
• PLC: e.g. I/O modules or an axis controlled by the PLC.
Active on the bus Displays whether the DP slave has been detected on the bus
• Green lamp: DP slave has been detected on PROFIBUS DP and the data exchange with the
Function/subfunction Explanation/meaning
assigned component (NC or PLC) operates.
• Red lamp: Failure or no communication.
Synchr. Displays whether DP slave operates on the bus synchronously to the NC.
• Green lamp: DP slave operates on PROFIBUS DP synchronously to the NC, i.e. the
equidistant data exchange takes place.
• Gray lamp: DP slave is not assigned to the NC, but to the PLC.
• Red lamp: Failure or no communication.
Slots
No. Slot number within DP slave
I/O address I/O address in the I/O address space of the PLC assigned to this slot. For NC axes, setpoint and
actual value must always be configured using the same I/O address.
Logical drive no. Drive number assigned for the appropriate axis in the NC machine data.
Length [bytes] Length of the I/O area in the STEP7 I/O address space, which is reserved for the slot
Type Specification whether the slot is an input, output or diagnostic slot. If the slot is assigned to an
NC axis, an output is always designated as a setpoint and an input always as an actual value.
Machine axes Display of the name defined for this slot in the machine data. If the slot is not assigned to any
NC axis, "No NC axis" is displayed.
Message frame type Message frame type configured in the NC machine data. If the slot is not assigned to any NC
axis, the message frame type will not be occupied (-).
Status Current slot status is only displayed for NC axes
• Green: Slot is used by the NC; communication active
• Gray: No NC axis
• Red: Slot is used by the NC; communication currently not active
Diagnostic screen for the axes
The diagnostic screen AxisInfo displays axisspecific detailed information. The diagnostic
screen provides an NCoriented view of the axis information.
The following information is displayed for the axes:
Function/subfunction Explanation/meaning
Machine axes Name of the axis defined in the NC machine data
Output
Slave/slot Configured assignment
Status Current slot status
Green lamp: Cyclic communication
Red lamp: No cyclic communication (as yet).
Message frame failures The display shows the number of message frame failures since the NC was booted.
This value indicates the quality (fault susceptibility) of the PROFIBUS DP line.
Encoder 1
Slave/slot Configurable assignment
Status Current slot status
Green lamp: Cyclic communication
Red lamp: No cyclic communication (as yet).
Message frame failures The display shows the number of message frame failures since the NC was booted.
Function/subfunction Explanation/meaning
This value indicates the quality (fault susceptibility) of the PROFIBUS DP line.
Type Display of encoder type configured in the NC machine data
ABS: Absolute encoder
INC: Incrementalvalue encoder
Encoder 2 (If configured, the same display as for encoder 1)
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 under 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
In the "Diagnostics" operating area, under the soft key Logbook, all system-relevant
modifications to the controller are automatically noted in the Logbook display (e.g. changes
to access levels).
For SINUMERIK 840Di, the log book is displayed in 840Di StartUp.
Version
In the event of service work, ("Diagnostics" operating area, under the soft key Version), the
built-in HMI or NC software status is read out.
The software status of each software module is also kept as a list.
PLC status signals can be checked and altered via the operator panel in the "Diagnostics"
operating area.
Application
The end customer or service personnel can use this function on site without a programming
device to do the following:
• 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 on how to operate the service displays and alter them, see:
References: /BA/, "Operator's Guide"
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 MMC 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: /IAD/, "Installation and Start-Up Guide"
/IAF/, "Installation and Start-Up Guide"
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.
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 StartUp
For diagnosing the SINUMERIK 840Di, the WINDOWS program 840Di StartUp can be used.
This provides information, e.g. on the current operating mode and the nodes of PROFIBUS
DP.
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.
Using MD 13030 DRIVE_MODULE_TYPE it is possible to remove individual modules from
the drive bus configuration at the NC end (the affected axes are switched to Simulation
mode).
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).
Example
The 2axis 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 up the drive bus so as to exclude the relevant
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 DMPC
Module "2" must now be removed:
• Select MD 13030 DRIVE_MODULE_TYPE in MD display "General MD".
• DRIVE_MODULE_TYPE[0] = 1
DRIVE_MODULE_TYPE[1] = 2 <- diesen Eintrag auf Null setzen
DRIVE_MODULE_TYPE[2] = 2 <- diesen Eintrag auf Null setzen
DRIVE_MODULE_TYPE[3] = 2
DRIVE_MODULE_TYPE[4] = 2
DRIVE_MODULE_TYPE[5] = 1
DRIVE_MODULE_TYPE[6] = 9
• After the changes, the table looks like this:
DRIVE_MODULE_TYPE[0] = 1
DRIVE_MODULE_TYPE[1] = 0
DRIVE_MODULE_TYPE[2] = 0
DRIVE_MODULE_TYPE[3] = 2
DRIVE_MODULE_TYPE[4] = 2
DRIVE_MODULE_TYPE[5] = 1
DRIVE_MODULE_TYPE[6] = 9
• Alarms 300020 "Drive 1 removed for diagnostics" and 300020 "Drive 2 removed for
diagnostics" are displayed.
Internally simulated drives are used for all axes which had settings on the removed drive
numbers. If the controller is engaged for the drives that are still installed, these drives
operate in the normal way. Interpolative traversal of all axes is disabled.
Note
If alarm 300003 "Axis xx drive yy incorrect module type zz" appears, then you have removed
only one part of a 2axis module. In this case, you should check the module type in the drive
configuration display. For removed modules, "NO" axis type is shown.
Availability
5.3 Signals
6 O
611D startup tool, 2-28 of defective drive modules
Identification, 2-28
A
P
Axis/spindle service display, 2-5
PCIN, 2-28
PLC status, 2-27
C
Communication log, 2-26
R
Ramp-up phase, 2-22
D
Diagnostic tools (D1), 1-1
Interrupts, 2-1
S
Diagnostics, 2-5 Service display PROFIBUS DP, 2-23
Drive service display, 2-13 Servo gain factor, 2-12
L V
Logbook, 2-26 Version, 2-26
N Z
NCK alarm handler, 2-2 ZK1 Messages, 2-22
Detailed Description 2
Supplementary conditions 3
SINUMERIK 840D/840Di/810D
Examples 4
Travel to fixed stop (F1) 5
Data lists
Function Manual
10/04
6FC5 297-7AC20-0BP1
Safety Guidelines
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 to property damage only 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.
Prescribed Usage
Note the following:
Warning
This device may only be used for the applications described in the catalog or the technical description and only in
connection with devices or components from other manufacturers which have been approved or recommended
by Siemens. Correct, reliable operation of the product requires proper transport, storage, positioning and
assembly as well as careful operation and maintenance.
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.
Siemens AG
Automation and Drives Siemens AG 2005
Postfach 4848, 90327 Nuremberg, Germany Technical data subject to change
Tables
Table 2-1 Controlling the initial setting of the modal limitation of torque/force ........................................ 2-19
Customer benefit
The "Travel to fixed stop" function can be used for operations such as traversing tailstocks or
sleeves to an end limit position in order to clamp workpieces.
Features
• The clamping torque and a fixed stop monitoring window can be programmed in the parts
program and can also be altered via setting data once the fixed stop has been reached.
• The "travel to fixed stop" function can be implemented for axes as well as for spindles
with axistraversing 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.
Availability
In this SW, the "Travel to Fixed Stop" functionality is also available for the SINUMERIK 810D
with CCU3.
Extensions
For the SINUMERIK 840D with NCU 573.3, the following options are implemented:
• Block search with calculation, multichannel (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.
Additional expanded machine data, system variables and interface signals are provided for
this purpose.
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 clamp torque is set with the command:
FXST[Machine axis identifier] = <torque>
.
It is entered in % from the standstill torque of the motor:
(MD1118 MOTOR_STANDSTILL_CURRENT)
or in % from Motor torque with HSA motors:
(MD1103 MOTOR_NOMINAL_CURRENT)
.
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.
boundaries. The function may also be selected for several machine axes simultaneously.
The FXST and FXSW commands are optional.
The travel path and the command which activates that function must be programmed in one
block (exception: Synchronized actions).
Examples
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 IS "Activate travel to fixed stop" (DB31, ... DBX62.4)
that the function has been selected.
When the machine parameter:
MD37060 FIXED_STOP_ACKN_MASK
(register PLC acknowledgments for travel to fixed stop)
is set accordingly, the IS waits for acknowledgment by the PLC via IS "Activate travel to fixed
stop" (DB31, ... DBX3.1).
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 was programmed in the block or since the beginning of program, the value
entered in the axis specific machine parameter:
MD37010 FIXED_STOP_TORQUE_DEF
(default setting for clamping torque)
applies.
• FIXED_STOP_BY_SENSOR = 0
The status "fixed stop reached" is active when the axial contour deviation (= Difference
between actual and expected following error) has exceeded the value of the machine
parameter:
MD37030 FIXED_STOP_THRESHOLD (threshold for fixed stop recognition)
.
• FIXED_STOP_BY_SENSOR = 1
External sensor transmits "Fixed stop reached" status to NC via the PLC by means of IS
"Sensor fixed stop" (DB31, ... DBX1.2).
• FIXED_STOP_BY_SENSOR = 2
The "Fixed stop reached" status is active either when the status has been detected by the
contour monitoring function or when the external sensor signals this status by a signal
change from 0 " 1 to (DB31,...DBX 1.2).
The axial contour deviation is explained in:
References:
/FB1/ Function descriptions machine basics; Diagnostic aid (D1)
Internal processes
Once the NC has detected the "Fixed stop reached" status, it deletes the distancetogo and
the position setpoint is made to follow. The controller enabling command remains active.
The PLC is then informed of the state by means of IS "Fixed stop reached" (DB31, ...
DBX62.5).
If the machine parameter:
MD37060 FIXED_STOP_ACKN_MASK
is set accordingly, then the IS waits for acknowledgment by the PLC in the form of IS
"Acknowledge fixed stop reached" (DB31, ... DBX1.1).
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.
Monitoring window
If no torque was programmed in the block or since the beginning of program, the value
entered in the axis specific machine parmeter:
MD37010 FIXED_STOP_TORQUE_DEF
(default setting for clamping torque)
applies.
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 disable command,
cancellation of PLC acknowledgments or a Reset in the approach block, the display or
suppression of alarm 20094 can be controlled via :
MD37050 FIXED_STOP_ALARM_MASK
.
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 traversing request (e.g. from the parts 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 after reaching the fixed stop an axis is pushed out of position more than the indicated value
in
SD FIXED_STOP_WINDOW (fixed stop monitoring window)
, the alarm 20093 "fixed stop monitoring has responded" is output; the "travel to fixed stop"
function is then deselected for this axis and system variable $AA_FXS[x] is set to 2.
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 the monitoring of the fixed stop monitoring window is cancelled.
The IS "Activate travel to fixed stop" (DB31, ... DBX62.4) and "Fixed stop reached" (DB31, ...
DBX62.5) are reset.
Depending on the machine parameter:
MD37060 FIXED_STOP_ACKN_MASK
the NC waits for the PLC to acknowledge by resetting IS
"Activate travel to fixed stop" (DB31, ... DBX3.1) and/or
"Acknowledge fixed stop reached" (DB31, ... DBX1.1).
The axis will then change to position control. The followup 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.
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
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 cancelling the function
"travel to fixed stop" by "EMERGENCY STOP" no dangerous machine situation
(MD37002 FIXED_STOP_CONTROL e.g. pulse blocking cancel) can arise.
FOC
FOCON/FOCOF is activated modally. It is already active in the approach block.
SERUPRO
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 parts program. If necessary, the
user can start an ASUB in order to activate or deactivate FXS in this SERUPRO-ASUP.
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 2-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.
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.
Example:
If the machine is at the fixed stop and the block search has reached a block after deselection
ofFXS, the new target position is displayed as the REPOS offset via IS "Fixed stop reached"
(DB31, ... DBX62.5) 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.
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/ description of functions machine basics; BAG, channel, program operation (K1);
chapter: Program test
2.1.4 Miscellaneous
Setting data
The following axisspecific setting data are provided for the "Travel to fixed stop" function:
SD43500 FIXED_STOP_SWITCH (selection of travel to fixed stop)
SD43510 FIXED_STOP_TORQUE (clamping torque for travel to fixed stop)
SD43520 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, the default settings from the machine data:
MD37010 FIXED_STOP_TORQUE_DEF
and
MD37020 FIXED_STOP_WINDOW_DEF
are taken over in the corresponding setting dates if "travel to fixed stop" is activated.
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 steplike. It is possible to specify a ramp
for always reaching a changed torque limit via the machine parameter:
MD37012 FIXED_STOP_TORQUE_RAMP_TIME
.
Example
Inoperative IS signals
The following IS signals (PLC ! NCK) are inoperative for axes at the fixed stop until the
function is deselected (incl. traversing motion):
• IS "Axis/spindle lock"(DB31, ... DBX1.3)
• IS "Controller enable" (DB31, ... DBX2.1)
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, 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 parameter:
MD37052 FIXED_STOP_ALARM_REACTION
.
Note
For further details about adaptations for SIMODRIVE 611 digital or digital (HLA module),
please see:
References:
/FB2/ Expansion functions; compensation (K3); chapter: Electronic weight compensation
MD37052
The machine parameter:
MD37052 FIXED_STOP_ALARM_REACTION
does not result in disconnection of the drive from the power supply when an alarm is
generated, as interface signal "Mode group ready" DB11,... DBX6.3 remains active.
Bit value=0:
The alarms have an effect on FXS (drive becomes disconnected as previously).
IS "Mode group ready" DB11, ... DBX6.3 is reset.
Bit value=0:
The alarms have no effect on FXS.
IS "Mode group ready" DB11, ... DBX6.3 remains active.
Terminal 663
When pulse enabling is canceled by terminal 663, the drive is deenergized and coasts to a
standstill immediately.
With:
MD1012 FUNC_SWITCH, Bit 2 = 0
, this is not signaled to NC.
The status can be checked in the line "Pulse enable" (terminal 663) in service display service
drive.
Note
Travel to fixed stop only can be stopped by blocking of the pulses from IS "Pulse enable"
(DB31, ... DBX21.7) or Terminal 663, if:
MD37002 FIXED_STOP_CONTROL, Bit 0 = 0
and
MD1012 FUNC_SWITCH, Bit 2 = 1
are fulfilled.
Both interrupting FXS and stopping "travel to fixed stop" is achieved by the following settings:
MD37002 FIXED_STOP_CONTROL, Bit 0 = 0
and
MD1012 FUNC_SWITCH, Bit 2 = 0.
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.
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 blockrelated.
Table 2-1 Controlling the initial setting of the modal limitation of torque/force
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
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 machine data:
MD37010 FIXED_STOP_TORQUE_DEF. is effective in an activation.
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."
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 STANDSTILL_DELAY_TIME
.
The machine parameter:
MD36042 FOC_STANDSTILL_DELAY_TIME
is introduced for this and monitored in this status.
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.
If the machine paramete:
MD37050 FIXED_STOP_ACKN_MASK
is set accordingly, then the IS waits for acknowledgment by the PLC in the form of IS
"Activate travel to fixed stop" (DB31, ... DBX3.1)
and then 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]).
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.
IS "Activate travel to fixed stop" (DB31, ... DBX62.4) and "Fixed stop reached" (DB31, ...
DBX62.5) are reset.
Depending on the machine parameter:
MD37060 FIXED_STOP_ACKN_MASK
the NC waits for the PLC to acknowledge by resetting IS
"Activate travel to fixed stop" (DB31, ... DBX3.1) and/or
"Acknowledge fixed stop reached" (DB31, ... DBX1.1).
The axis will then change to position control. The followup 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.
is no longer built up. Once the deselection has been completed, you can continue traversing
as normally.
Diagram
The following diagram shows the progress of the motor current, the following error and IS
signals for "Activate travel to fixed stop" (DB31, ... DBX62.4) and "Fixed stop reached"
(DB31, ... DBX62.5) with digital drive (SIMODRIVE 611 digital).
6HOHFWUHFRUGZLWK);6>[@
,6$FWLYDWHWUDYHOWRIL[HGHQGVWRS
7HUPLQDOFODPSDFWLYHFXUUHQWOLPLWDWLRQ
,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 2-3 Diagram for FXS with a digital drive (611 digital)
2.2.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, pullout power
• Setup mode
Note
For a description of velocity and force control and special information about the
adjustments on SIMODRIVE 611 digital and digital (HLA module), please refer to:
References:
/FBHLA/, "Drive Functions Firmware," Chapter 4
/FB2/, Expansion functions; "Compensation" (K3); chapter: Electronic weight
compensation
Current/torque control
With the 611 analog (FDD), the torque control and torque limitation
611 analog (VSA) has been realized as a current control/current limitation.
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 paramete:
MD37060 FIXED_STOP_ACKN_MASK
is set accordingly, then the IS waits for acknowledgment by the PLC in the form of IS
"Activate travel to fixed stop" (DB31, ... DBX3.1)
and then 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).
The NC then internally sets the torque limit to the value specified via the machine parameter:
MD37070 FIXED_STOP_ANA_TORQUE
(torque limit on fixed stop approach for analog drives)
.
This value 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 parameter:
MD37070 FIXED_STOP_ANA_TORQUE
.
The axis now traverses to the target position at the programmed velocity.
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.
The NC then resets IS "Activate travel to fixed stop" (DB31, ... DBX62.4) and "Fixed stop
reached" (DB31, ... DBX62.5).
If currentcontrolled operation is activated, the PLC must first switch on the current limitation
(terminal 96) and switch the drive over to speedcontrolled 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 parameter:
MD37060 FIXED_STOP_ACKN_MASK
the NC waits for the PLC to acknowledge by resetting IS
"Activate travel to fixed stop" (DB31, ... DBX3.1) and/or
"Acknowledge fixed stop reached" (DB31, ... DBX1.1).
The axis then switches over to position control mode (followup 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.
Caxis 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 paramete:
MD37060 FIXED_STOP_ACKN_MASK
is set accordingly, then the IS waits for acknowledgment by the PLC in the form of IS
"Activate travel to fixed stop" (DB31, ... DBX3.1) and then 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).
The NC then internally sets the torque limit to the value specified via the machine parameter:
MD37070 FIXED_STOP_ANA_TORQUE
(torque limit on fixed stop approach for analog drives)
.
This value 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 parameter:
MD37070 FIXED_STOP_ANA_TORQUE
.
The rotary axis now traverses to the target position at the programmed velocity.
As a result, the torque now takes effect on the drive from the machine parameter:
MD37070 FIXED_STOP_ANA_TORQUE
.
If the machine parameter:
MD37060 FIXED_STOP_ACKN_ASK
is set accordingly, then the IS waits for acknowledgment by the PLC in the form of IS
"Acknowledge fixed stop reached" (DB31, ... DBX1.1) and then suddenly transfers the
required clamping torque from the selection block to the drive.
A block change is executed. The clamping torque continues to be applied.
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.
The NC then resets IS "Activate travel to fixed stop"
(DB31, ... DBX62.4) and "Fixed stop reached" (DB31, ... DBX62.5).
If torquecontrolled 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 speedcontrolled
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 parameter:
MD37060 FIXED_STOP_ACKN_MASK
the NC waits for the PLC to acknowledge by resetting IS
"Activate travel to fixed stop" (DB31, ... DBX3.1) and/or
"Acknowledge fixed stop reached" (DB31, ... DBX1.1).
The C-axis then switches over to position control mode (followup 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.
6HOHFWUHFRUGZLWK);6>[@
,6$FWLYDWHWUDYHOWRIL[HGHQGVWRS
7HUPLQDOFODPSDFWLYHFXUUHQWOLPLWDWLRQ
,6(QDEOHWUDYHOWRIL[HGVWRS
6HWYHORFLW\
W &KDQJHRYHU
7UDFNLQJHUURU 7DUJHWSRVLWLRQ
5HFRUGFKDQJH
Figure 2-4 Diagram for FXS selection (fixed stop is reached) with analog drive
)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 2-5 Diagram for FXS selection (fixed stop is not reached) with analog drive
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
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
5.3 Signals
B S
Block-related limit (FOC), 2-20 SD43500, 2-14
SD43510, 2-14
SD43520, 2-14
C SERUPRO, 2-9
SERUPRO ASUP, 2-12
Channel axis identifiers with FXS, 2-1
T
F
Travel to fixed stop
FXS REPOS, 2-13
Analog drives, 2-25
Analog drives, diagrams, 2-31
Analog drives, FXS deselection, 2-32
M Analog drives, FXS selection, 2-31
MD1012, 2-17, 2-18 analog drives, SIMODRIVE 611A (FDD), 2-25
MD1103, 2-1, 2-14 analog drives, SIMODRIVE 611A (MSD), 2-28
MD1104, 2-14 Block search, 2-9
MD1105, 2-14 Contour monitoring, 2-16
MD1118, 2-1 Customer benefit, 1-1
MD1230/1231, 2-14 Deselection, 2-6
MD36040:, 2-21 Function abort, 2-8
MD36042, 2-21 Functional sequence, 2-2
MD37002, 2-7, 2-8, 2-17, 2-18, 2-23 Monitoring window, 2-4
MD37010, 2-3, 2-14, 2-20 Positioning axes, 2-16
MD37012, 2-8, 2-14, 2-19 Programming, 2-1
MD37020, 2-4, 2-14 RESET, 2-8
MD37030, 2-4, 2-22, 2-27, 2-29 Selection, 2-3
MD37040, 2-3 Setting data, 2-14, 2-23
MD37050, 2-5, 2-15, 2-22, 2-23 Status query, 2-15
MD37052, 2-6, 2-16 Travel to fixed stop (F1)
MD37060, 2-3, 2-4, 2-6, 2-18, 2-19, 2-22, 2-23, 2- Interrupts, 2-5
26, 2-27, 2-28, 2-29, 2-30 Setting data, 2-5
MD37070, 2-26, 2-27, 2-29, 2-30
MD37080, 2-19
Modal activation (FOCON/FOCOF), 2-19 V
Vertical axes, 2-16
R
REPOS Offset, 2-12
SINUMERIK 840D/840Di/810D
Description of Functions Basic Machine
(Part 1)
Brief Description 1
This Chapter describes the parameter settings for
Notes
Detailed Description 2
2.1 Velocities, traversing ranges, accuracies
2.1.1 Velocities
The maximum path/axis velocities and spindle speed are influenced by the
machine design, the dynamic response of the drive and the limit frequency of
the actual value sensing system (encoder limit frequency).
The maximum axis velocity is defined in MD 32000: MAX_AX_VELO (maximum
axis velocity). The maximum permissible spindle speed is preset in MD 35100:
SPIND_VELO_LIMIT (maximum spindle speed). For descriptions, see:
References: /FB/, S1, “Spindles”
In addition to the limitation through MAX_AX_VELO, the control system also
limits the maximum path velocity according to the prevailing situation according
to the following formula:
progr. path length in a part program block [mm or deg]
Vmax * 0.9
IPO clock cycle [s]
Vmin 10 3
Calculation Resolution [mmincr.
or deg.
] * IPO clock cycle [s]
The value range of the traversing area depends on the calculation resolution
selected.
With the default settings of MD 10200: INT_INCR_PER_MM (calculation
resolution for linear positions) (1000 incr./mm) or MD 10210:
INT_INCR_PER_DEG (calculation resolution for angular positions)
(1000 incr./degrees), the following value range can be programmed with the
specified resolution:
The value range can be limited by software limit switches and working areas.
References: /FB/, A3, “Axis Monitoring Functions, Protection Zones”
The traverse range for rotary axes can be limited via machine data.
References: /FB/, R2, “Rotary Axes”
Special points to be noted with respect to wide traversing range for linear and
rotary axes with SW 4 and higher, see:
References: /FB/, R1, “Reference Point Approach”
The positioning accuracy of the control system depends on the actual value
resolution (=encoder increments / (mm or degrees)) and the calculation
resolution (=internal increments / (mm or degrees)).
The coarse resolution of these two values determines the positioning accuracy
of the control.
The choice of input resolution, interpolator and position control cycle have no
effect on this accuracy.
The following diagram shows how input values are converted into internal units.
It also shows the following conversion to internal increments / (mm or degrees)
which can cause loss of decimal places if the calculation resolution was
selected to be coarser than the input resolution.
The calculation of the actual value resolution shown is described in
Subsection 2.2.3.
Moreover, it serves as an overview of the following topics described in this
Section:
1. Selection of dimension system (metric / inch)
2. Normalization of physical quantities of machine and setting data
3. Conversion of basic system
4. Setting of calculation resolution
An example is given showing how a physical quantity
(MD 36110: POS_LIMIT_PLUS) is converted as a function of machine
data parameter settings (MD 10230: SCALING_FACTORS_USER_DEF,
MD 10220: SCALING_USER_DEF_MASK).
Scaling example:
Machine data input and display
Input/display resolution in cm.
(entered via the operator (with metric basic system)
panel) e.g. for MD: POS_LIMT_PLUS
Input/output unit (1. software limit switch plus)
= +999.999 cm
1)
MD 10240: SCALING_SYSTEM_
Yes MD 10240:
No 2) IS_METRIC = 1
SCALING_SYSTEM
IS_METRIC
* * MD 10230: SCALING_
2) MD 10230: SCALING_
MD 10230: SCALING_ FACTORS_USER_DEF[0] =0,1;
FACTORS_USER_DEF[n]
FACTORS_USER_DEF
MD 10220: SCALING_
(selected with USER_DEF_MASK = “H1”
(selected with MD 10220: SCALING_
MD 10220: SCALING_ USER_DEF_MASK (bit no. 0 as hex value)
USER_DEF_MASK
(only effective with machine
(only effective with machine and setting data)
and setting data) 3)
MD 10250: *
SCALING_VALUE_INCH
*
MD 10200: INT_INCR_PER_MM 4) MD 10200:
INT_INCR_PER_MM = 100
or
MD 10200: INT_INCR_PER_DEG
(calculation resolution)
”999999
Internal increments / (mm or degrees)
(places after decimal point lost)
–
Actual-value resolution
Speed setpoint
(encoder increments/
resolution mm or degrees)
* Multiplication
Motor Enco-
der
The following types of resolution, e.g. resolution of linear and angular positions,
velocities, accelerations and jerk, must be differentiated as follows:
S The input resolution, i.e. the input of data via the operator panel or by means
of part programs.
S The display resolution, i.e. display of data via the operator panel.
S The calculation resolution, i.e. the internal representation of data entered via
the operator panel or part program.
The input and display resolutions are determined by the operator panel used,
the display resolution for position values being determined by the setting in
MD 9004: DISPLAY_RESOLUTION (display resolution).
In SW 5 and higher, MD 9011: DISPLAY_RESOLUTION_INCH can be used to
configure the display resolution for position values in inches. This allows you to
display up to six decimal places with the inch setting.
For the programming of parts programs, the input resolutions listed in the
Programming Guide apply.
The desired calculation resolution is defined in MD 10200: INT_INCR_PER_MM
(calculation resolution for linear positions) and MD 10210:
INT_INCR_PER_DEG (calculation resolution for angular positions). It is
independent of the input/display resolution but should use the same resolution.
The max. number of places after the decimal point for position values, velocities
etc. in the parts 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 with the calculation resolution.
The precision of the angular and linear position input is limited to the calculation
resolution by rounding the product of the programmed value and the calculation
resolution to an integer value.
In order to keep the rounding easily reproducible, it is advisable to use powers
of 10 for the calculation resolution.
Example of rounding:
Calculation resolution: 1000 increments / mm
Programmed path: 97.3786 mm
Effective value = 97.379 mm
Example of programming in the 1 / 10 – mm range:
S All the linear axes of a machine are to be programmed and traversed within
the value range 0.1 ... 1000 mm.
In order to position to 0.1 mm accuracy, the calculation resolution must be
set to 104 incr. /mm.
MD 10200: INT_INCR_PER_MM = 10000 [incr. / mm]:
Example of a part program:
N20 G0 X 1.0000 Y 1.0000 ; Axes move to position
X=1.0000 mm, Y=1.0000 mm;
N25 G0 X 5.0002 Y 2.0003 ; Axes move to position
X=5.0002 mm, Y=2.0003 mm
Machine and setting data that possess a physical quantity are interpreted in the
input/output units below depending on whether the metric or inch basic system
is selected:
The units listed below are used for storage. The control always uses these units
internally irrespective of the basic system selected.
Linear position 1 mm
Angular position 1 degree
Linear velocity 1 mm/s
Angular velocity 1 degree/sec
Linear acceleration 1 mm/s2
Angular acceleration 1 degree/s2
Linear jerk 1 mm/s3
Angular jerk 1 degree/s3
Time 1s
Position controller servo gain 1/s
Rev. feedrate 1 mm/degree
Compensation value linear posi- 1 mm
tion
Compensation value angular 1 degree
position
The user can define different input/output units for machine and setting data.
To do so, it is necessary to match the new input/output units with the internal
units via MD 10220: SCALING_USER_DEF_MASK (activation of normalization
factors) and MD 10230: SCALING_FACTORS_USER_DEF[n] (normalization
factors of physical quantities).
Input/output resolutions
for machine and setting data
Do the
input/output units
correspond to the standard No
basic system?
(inch or metric)
User defines
Yes MD 10220: SCALING_FACTORS_USER_DEF_MASK
MD 10230: SCALING_FACTORS_USER_DEF[n]
Conversion to
internal units
Internal units
Example 1:
Machine data input/output of the linear velocities is to be in m/min instead of
mm/min (initial setting). (The internal unit is mm/s)
The scaling factor for the linear velocities is to differ from the
standard setting. This is achieved by entering bit number 2 in MD 10220:
SCALING_USER_DEF_MASK.
MD: SCALING_USER_DEF_MASK = ’H4’;
(bit no. 2 as hex value)
The scaling factor is calculated acc. to the following formula:
MD : SCALING_FACTORS_USER_DEF[2] 16.667
Example 2:
In addition to the change of example 1, the machine data input/output
of linear accelerations is to be performed in ft/sec2, instead of m/sec2 (default).
(the internal unit is mm/s2).
MD : SCALING_USER_DEF_MASK
H14
; (bit no. 4 and bit no. 2
of example 1 as hexa value)
ft
1 12 * 25.4 mm
s2 2s
MD : SCALING_FACTORS_USER_DEF[n] 304.8;
1 mm 1 mm
s2 s 2
MD : SCALING_FACTORS_USER_DEF[4] 304.8
The conversion factor for metric to inch system for data input/output is entered
in MD 10250: SCALING_VALUE_INCH (conversion factor for switchover to the
inch system). MD 10250 is not visible without the Siemens password; default:
25.4). By changing the default value, the control can be adapted to a
customerspecific measuring system.
When programming, it is possible to switch between measuring systems for
some workpiecerelated specifications with G70/G71; and also with G700/G710
from SW 5. The data influenced by G70/G71/G700/G710 are described in the
Programming Guide.
The initial setting G70/G71/G700/G710 can be defined channelspecifically via
the initial setting (Reset) of G groups in MD 20150:
GCODE_RESET_VALUES[12].
When changing the system of measurement via MMC soft key (SW 5 and
higher), these initial settings are automatically initialized for the new system of
measurement with G700 or G710.
The axis-specific MD 31200: SCALING_FACTOR_G70_G71 (factor for
converting values when G70/G71/G700/G710 is active), the conversion factor
for conversion between the metric and inch system with G70/G71/G700/G710
programming can be chosen freely (default: 25.4). The control can be adapted
to a customerspecific system of measurement by changing the default setting.
The factor only takes effect if parts program programming differs from the initial
setting.
Example:
– Initial setting: Inch; (MD: SCALING_SYSTEM_IS_METRIC=0)
– Part program:
N15 G70; Factor not effective because setting does not deviate from
initial setting.
N20 G71; Factor effective.
The current setting (selected with G70/G71) and the initial setting can be the
same or differ at any given time. The current setting is channelspecific, the initial
setting applies to all channels.
Application:
With this function it is possible, for example, with a metric basic system, to
machine an inch thread in a metric part program. Tool offsets, zero offsets and
feedrates remain metric.
Machine data are output in the basic system selected in
MD 10240: SCALING_SYSTEM_IS_METRIC (basic system metric).
Machine coordinates, tool data and zero offsets are always displayed in the
initial setting, workpiece coordinate displays are in the current setting.
If programs incl. data records (zero offsets, tool offset) programmed in a unit
system other than the basic system are read in from an external source, then
first the initial setting must be programmed via the
MD 10240: SCALING_SYSTEM_IS_METRIC.
Data exchange with the PLC of interface signals containing dimension
information, e.g. feedrate for path and positioning axes, is always carried out in
the selected basic system.
Examples:
(Both parts programs are implemented with a metric setting with
MD 1240: SCALING_SYSTEM_IS_METRIC=1)
N100 R1=0 R2=0
N120 G01 G70 X1 F1000
N130 $MA_LUBRICATION_DIST[X]=10
N140 NEWCONF
N150 IF ($AA_IW[X]>$MA_LUBRICATION_DIST[X])
N160 R1=1
N170 ENDIF
N180 IF ($AA_IW[X]>10)
N190 R2=1
N200 ENDIF
N210 IF ( (R1<>0) OR (R2<>0))
N220 SETAL(61000)
N230 ENDIF
N240 M30
Note
Alarm 61000 does not occur if G70 is replaced by G700 in block N120.
Synchronized In order to prevent the current parts program context from changing the
actions positioning behavior of a synchronized action arbitrarily in response to
asynchronous trigger conditions, the system of measurement must be defined
at the time of interpretation. This is the only way to achieve a defined and
reproducible positioning behavior of a synchronized action.
Example 1:
N100 R1=0
N110 G0 X0 Z0
N120 WAITP(X)
N130 ID=1 WHENEVER $R1==1 DO POS[X]=10
N140 R1=1
N150 G71 Z10 F10 ;Z=10 mm X=10 mm
N160 G70 Z10 F10 :Z=254 mm X=254 mm
N170 G71 Z10 F10 ;Z=10 mm X=10 mm
N180 M30
Example 2: The definition is made here by programming G71 in the
synchronized action.
N100 R1=0
N110 G0 X0 Z0
N120 WAITP(X)
N130 ID=1 WHENEVER $R1==1 DO G71 POS[X]=10
N140 R1=1
N150 G71 Z10 F10 ;Z=10 mm X=10 mm
N160 G70 Z10 F10 :Z=254 mm X=10 mm (X always posit. to 10 mm)
N170 G71 Z10 F10 ;Z=10 mm X=10 mm
N180 M30
Note
The availability of the soft key and its functionality can be configured in the
compatibility machine data MD 10260: CONVERT_SCALING_SYSTEM.
Important
! If several NCUs are linked by NCU Link, the switchover available in SW5 and
higher has the same effect on all NCUs linked. 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: /FB/, B3, Distributed Systems
System data When the system of measurement is changed, all lengthrelated parameters are
automatically converted to the new system of measurement from the
perspective of the operator. This includes:
S Positions
S Feedrates
S Acceleration rates
S Jerk
S Tool offsets
S Programmable, settable and work offsets external and DRF offsets
S Compensation values
S Protection zones
S Machine data
S Jog and handwheel factors
After the switchover, all of the above data are available in the physical
magnitudes described in Subsection 2.1.6.
Data for which no unique physical units are defined, such as:
S R parameters
S GUD (Global User Data)
S LUD (Local User Data)
S PUD (Program global User Data)
S Analog I/Os
S Data exchange via FC21
are not converted automatically. In this case, the user must allow for the current
system of measurement in MD 10240: SCALING_SYSTEM_IS_METRIC.
The current system of measurement setting can be read at the PLC interface
via the “inch system” signal DB10.DBX107.7. DB10.DBB71 can be used to read
out the “system of measurement change counter”.
Reference point The reference point is retained. It is not necessary to repeat referencing.
Data saving Data sets which can be read out separately from the control and which contain
data relating to the system of measurement are given an INCH or METRIC
identifier corresponding to MD 10240: SCALING_SYSTEM_IS_METRIC during
the read process, depending on the setting in MD 10260:
CONVERT_SCALING_SYSTEM. This records the system of measurement 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 system of measurement 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 parts programs, these can
also be “protected” against operator errors as described above. You can
therefore prevent parts programs containing e.g. only metric data from running
on an inch system of measurement.
Archives and machine data are downwards compatible with the setting
MD 11220: INI_FILE_MODE = 2.
Note
The INCH/METRIC instruction is only generated if compatibility machine data
MD10260: CONVERT_SCALING_SYSTEM is enabled.
Rounding In order to prevent rounding problems, all lengthrelated machine data are
machine data rounded to 1pm when writing in the inch system of measurement (MD 10240:
SCALING_SYSTEM_IS_METRIC=0 and MD 10260:
CONVERT_SCALING_SYSTEM=1).
The disturbing loss of accuracy which occurs as a result of conversion to ASCII
when reading out a data backup in the inch system of measurement is
corrected by this procedure when the data are read back into the system.
Note
The FGREF evaluation also works if only rotary axes are programmed in the
block. The usual F value interpretation in degrees/min only applies in this case
if the radius reference has been set in accordance with the FGREF default, i.e.
for G71/G710): FGREF[A]=57.296
or
for G70/G700): FGREF[A]=57.296/25.4
Example:
The following example illustrates the effect of FGROUP on the path and the
path feedrate.
N100 R1=0
N110 FGROUP(X,A)
N120 G91 G1 G710 F100 ;feedrate=100 mm/min or 100 degrees/min
N130 DO $R1=$AC_TIME
N140 X10 ;feedrate=100 mm/min path distance=10 mm
;R1=approx. 6 s
N150 DO $R2=$AC_TIME
N160 X10 A10 ;feedr.=100 mm/min path dist.=14.14 mm
;R2=approx. 8 s
N170 DO $R3=$AC_TIME
N180 A10 ;feedr.=100 degrees/min path dist=10 degrees
;R3=approx. 6 s
N190 DO $R4=$AC_TIME
N200 X0.001 A10 ;feedrate=100 mm/min path distance=10 mm
;R4=approx. 6 s
N210 G700 F100 ;feedrate=2540 mm/min or 100 degrees/min
N220 DO $R5=$AC_TIME
N230 X10 ;feedrate=2540 mm/min path distance=254 mm
;R5=approx. 6 s
N240 DO $R6=$AC_TIME
N250 X10 A10 ,feedrate=2540 mm/min path distance=254.2 mm
;R6=approx. 6 s
N260 DO $R7=$AC_TIME
N270 A10 ;feedr.=100 degrees/min path dist.=10 degrees
;R7=approx. 6 s
N280 DO $R8=$AC_TIME
N290 X0.001 A10 ;feedrate=2540 mm/min path distance=10 mm
:R8=approx. 0.288 s
N300 FGREF[A]=360/(2*$PI) ;1 degree=1 inch
;set via effective radius
N310 DO $R9=$AC_TIME
N320 X0.001 A10 ;feedr.=2540 mm/min path dist.=254 mm
;R9=approx. 6 s
N330 M30
Note
The variable $AC_TIME contains the time from the start of the block in
seconds. It can only be used in synchronized actions.
Block diagram A control loop with the following structure can be configured for every
closedloop controlled axis/spindle:
CTRLOUT_TYPE=0 (SIMULATION)
IS Position control 1/2
ENC_TYPE=0 (SIMULATION)
Actual
Encoder
processing G
NUM_ENCS Actual
routing
Actual Encoder
processing G
Setpoint output A setpoint can be output for each axis/spindle. Setpoints are output digitally to
the actuator on SINUMERIK 840D/810D.
Actual value A maximum of two measuring systems can be connected for each axis/spindle,
acquisition e.g. a direct measuring system for machining processes with later accuracy
requirements and an indirect measuring system for highspeed positioning tasks.
The number of encoders used is entered in MD 30200: 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.
Every position measuring system must be referenced separately.
For details of the compensation functions for actual value sensing, please see
References: /FB/, K3, “Compensation”
For details of encoder monitoring, please see:
References: /FB/, A3, “Axis Monitoring Functions, Protection Zones”
Switch over It is possible to switch over between the two measuring systems via PLC
measuring system interface signals “Position measuring system 1/2”, see:
References: /FB/, A2, “Various Interface Signals”
It is possible to switch over measuring systems at any time, the axes do not
have to be stationary to do this. Switchover only takes place if a permissible
deviation between the actual values and the two measuring systems has not
been violated. The associated tolerance band is set in MD 36500:
ENC_CHANGE_TOL (maximum tolerance for position actual value switchover).
On switchover the actual difference between position measuring system 1 and 2
is traversed immediately.
If the actual value deviation is too large, alarm 25100, “Measuring system
switchover not possible” is output and the measuring system is not changed.
Enter the actual value corresponding to the approached position in MD 36510:
ENC_DIFF_TOL. This tolerance setting must not be exceeded during cyclical
comparison of the two measuring systems or an error message will be
generated. The associated monitoring function is not active when MD 35510=0,
in cases where 2 measuring systems are not active/nonexistent in the axis or if
the axis itself is not referenced (at least act. closed-loop measuring system).
Types of The encoder type used must be programmed in MD 30240: ENC_TYPE (type
actual value of actual value sensing (position actual value)):
sensing
Simulation axes The speed control loop of an axis can be simulated for test purposes. The axis
“traverses” with a following error, similarly to a real axis.
A simulation axis can be defined by setting the two machine data MD 30130:
CTRLOUT_TYPE[n] (setpoint output mode) and MD 30240: ENC_TYPE[n]
(actual-value acquisition type) to “0”.
As soon as the standard machine data have been loaded, the axes become
simulation axes.
The setpoint and actual value can be set to the reference point value with
reference point approach.
Via the MD 30350: SIMU_AX_VDI_OUTPUT (output of axis signals for
simulation axes) can be set to define whether axis-specific interface signals are
output to the PLC during the simulation process.
Actual value If actual value corrections performed by the NC on the encoder selected for
correction position control are not to influence the actual value of any other encoder
defined in the same axis, then this must be declared by setting
MD 30242: ENC_IS_INDEPENDENT “independent”.
Actual value corrections include the following:
S Modulo treatment
S Homing
S Measuring system adjustment
S PRESET
General For the purpose of speed setpoint and actual value routing, the following must
be defined for every axis/spindle:
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.
Speed setpoint For speed setpoint routing, the following setpoint assignments for
routing parameterizing the relevant machine data must be made:
Index of MD for The index [n] of the machine data for setpoint routing is coded with 0 for
speed setpoint setpoint assignment with default setting 1.
routing
Speed setpoint The following machine data need to be parameterized for each setpoint branch:
routing S MD 30100: CTRLOUT_SEGMENT_NR[n] (setpoint assignment bus
segment)
The number of the bus segment via which the output is addressed is
entered here. Depending on the SINUMERIK version, certain bus segments
are preassigned.
– Local bus (analogous to e.g. SINUMERIK FMNC) = 0,
– 611D bus (1st DCM e.g. SINUMERIK 810D) =1
– Local P bus =2
– 611D bus (2nd DCM) =3
– Reserved for virtual buses =4
– PROFIBUS-DP (NCU 573.2 and higher) =5
(PROFIBUS line for ProfiSafe at PLC end)
– PROFIBUS DP link module (NCU 573.2 and higher) =6
S MD 30110: 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 logical drive number of the axis module can
be set via MD 13010: DRIVE_LOGIC_NR[n] for:
– SINUMERIK 810D Value range 0 – 15
– SINUMERIK 840D as 611 digital drive no. Value range 0 – 31
– SINUMERIK 840D Profibus on Link module Value range 0 – 125
S MD 30120: CTRLOUT_NR[n])
(setpoint assignment: Setpoint output on drive module/module):
The number of the setpoint output must be entered here (always output 1 for
SINUMERIK 840D/810D).
S MD 30130: CTRLOUT_TYPE[n] (setpoint output type):
The speed setpoint output type is entered here.
0 : Simulation (no HW required)
1 : Standard (HW configuration differentiation)
2 : Stepper motor and 3: FM module (for SINUMERIK FM NC only)
S MD 30134: IS_UNIPOLAR_OUTPUT[n] (setpoint output is unipolar):
The unipolar speed setpoint output works only in conjunction with
PROFIBUS DP.
Machine data The following machine data must be parameterized for each actualvalue
actualvalue branch:
routing
S MD 30210: ENC_SEGMENT_NR[n] (actualvalue assignment bus segment):
The number of the bus segment via which the encoder is addressed is
entered here. Depending on the SINUMERIK version, certain bus segments
are preassigned.
– Local bus (analogous to e.g. SINUMERIK FMNC) =0
– 611D bus (1st DCM e.g. SINUMERIK 810D) =1
– Local P bus =2
– 611D bus (2nd DCM) =3
– Reserved for virtual buses =4
– PROFIBUS-DP (NCU 573.2 and higher) =5
(PROFIBUS line for ProfiSafe at PLC end)
– PROFIBUS DP link module (NCU 573.2 and higher) =6
S MD 30220: 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 logical drive number of the axis module can
be set via MD 13010: DRIVE_LOGIC_NR[n] for:
– SINUMERIK 810D Value range 0 – 15
– SINUMERIK 840D as 611 digital drive no. Value range 0 – 31
– SINUMERIK 840D Profibus on Link module Value range 0 – 125
MD index for The coding of the machine data index [n] for actual value routing is
actual value [encoder no.] 0 for the first encoder or 1 for the 2nd encoder.
routing
( 7 ) MD 30220: ENC_MODULE_NR
NC CPU
1 SIMODRIVE 1 2 3 4 ... 15
611D BUS
0 Local bus for 1 Input 1 also used by
SINUM. FM–NC SIMODRIVE 611D
2 Axis “X1”
MD 30230: ENC_INPUT_NR
MD 30210: ENC_SEGMENT_NR
Table
G M
ÍÍÍÍÍ Spindle
Linear scale
NC CPU (7)
1 SIMODRIVE 1 2 3 4 ... 15
611D BUS
0 Local bus for
MD 30120: CTRLOUT _NR
SINUM. FM–NC
MD 30110: CTRLOUT_MODULE_NR
MD 30100: CTRLOUT_SEGMENT_NR
and the measuring channel no. 6 (X416 as direct measuring system) must be
assigned to machine axis X1. The logical number of the drive is set
automatically to 4.
X414 X416
X305 X304
Axis extension
MD 30200:
interface NUM_ENCS: 2
MD 30240:
Power ENC_TYPE: 1
G M ÍÍÍÍÍ Table
Spindle
Linear scale
MD 30120: CTRLOUT_NR = 1
MD 30110: CTRLOUT_MODULE_NR = 3
MD 30130: CTRLOUT_TYPE = 1
MD 13030: DRIVE_MODULE_TYPE = 6
Fig. 2-4 Example of setpoint/actual value routing with axis expansion interface
Actualvalue assignment for Fig. 2-4 Machine data parameterization for 810D
1. axis actual value MD 30220: ENC_MODULE_NR[0] = 4
from motor encoder (X414) MD 30230: ENC_INPUT_NR[0] = 1
2. axis actual value MD 30220: ENC_MODULE_NR[1] = 3
from linear scale (X416) MD 30230: ENC_INPUT_NR[1] = 1
Number of encoders: MD 30200: NUM_ENCS = 2
Type of actual value acquisition 1: MD 30240: ENC_TYPE[0] = 1
Type of actual value acquisition 2: MD 30240: ENC_TYPE[1] = 1
Setpoint assignment for Fig. 2-4 MD 30110: CTRLOUT_MODULE_NR[0] = 4
MD 30120: CTRLOUT_NR[0] = 1
MD 13010: DRIVE_LOGIC_NR[3] = 4
MD 30130: CTRLOUT_TYPE[0] = 1
Overview The following gear types are available for adapting the mechanical ratios:
Local position of
Motor-side encoder Load-side encoder Tool-side encoder
gear unit / encoder
ENC_IS_DIRECT=0 ENC_IS_DIRECT=1 ENC_IS_DIRECT=1
+ENC_IS_DIRECT2=0 +ENC_IS_DIRECT2=0 +ENC_IS_DIRECT2=1
M Tool
Motor/load Intermediate Powered tools
gear gear unit
Motor/load gear The motor/load gear unit supported by SINUMERIK is configured via
MD 31060: DRIVE_AX_RATIO_NUMERA “numerator load gearing”
MD 31050: DRIVE_AX_RATIO_DENOM “denominator load gear unit”
The transmission ratio is obtained from the numerator/denominator ratio of both
machine data. The associated parameter sets are used automatically per
default to synchronize the position controller of the control to 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 further information about parameter sets and gear stage change, please
refer to:
References: /FB/, S1, Spindles
Intermediate gear Powered tools, for example, are often equipped with their own gear unit. The
unit resulting mechanical conditions can be configured by multiplying the active
intermediate gearbox and the motor/load gear unit:
MD31066 DRIVE_AX_RATIO2_NUMERA (numerator intermediate gearbox)
MD31064 DRIVE_AX_RATIO2_DENOM (denominator intermediate gear unit)
Caution
! S Gear switchover
Unlike a motor/load gear unit, there are no parameter sets for intermediate
gear units so that it is not possible to perform a gear change in v
synchronism with part program processing or with the PLC user program.
Part programming during gearchange is therefore ruled out.
It is therefore the responsibility of the user (machine manufacturer), when
changing gear on the intermediate gear unit, to synchronize the altered
machine data with the mechanical gear change.
If gear is changed during a traversing movement it cannot be ruled out that
as a result of changing scaling factors, dynamic compensation actions will
occur in the machine axes concerned. Such a compensation action might
cause the maximum acceleration of the relevant machine axes to be
exceeded.
S Safety Integrated
When using an intermediate gear unit in combination with the function:
“Safety Integrated” please observe the following:
– The active transmission ratio (motor to tool) must be observed in the
safety-related machine data.
– The safety-related supplementary conditions for transmission ratio
must be observed. See also:
References:
/FBSI/ Description of Functions Safety Integrated
If you have any questions regarding implementation please call the hotline
for SINUMERIK Safety Integrated (see reference above).
If an intermediate gear unit is used in combination with function: “Safety
Integrated” without observing the actually active transmission ratio (motor to
tool) in the safety related machine data, this is the sole responsibility of
the user (machine manufacturer).
Supplementary If the encoder to be used for position control is connected directly at the
conditions tool, the gear stage change only affects the physical variables at the speed
interface between the NC and the drive of the motor/load gear. The internal
parameter sets are not changed.
Reference point In the case of gear changes, it is not possible to make a statement about the
and position effect of the reference point or machine position referrence on the encoder
reference scaling. In such cases, the control partially cancels the status “Axis
reference/synchroniyed”.
If the position reference to the machine, tool, et. has been lost, it must be
restored through appropriate adjustment or referencing. This is especially
important for the functions Travel to fixed stop, Referencing to Bero, Cam and
Zero marker.
Caution
! The control cannot detect all possible situations that can lead to loss of the
machine position reference.
It is therefore the responsibility of the commissioning engineer or user to to
initiate explicit referencing of zero marker synchronization in such cases.
Note
To enable re-referencing without interrupts through reset, the machine data
MD 34080: REFP_MOVE_DIST and MD 34090: REFP_MOVE_DIST_CORR
in SW 6.4 and higher are active with NewConfig.
For further information on reference point approach, please see:
References: /FB/, R1, “Reference Point Approach”
Control direction Before the position control is started up, the speed controller and current
controller of the drive must be started up and optimized.
SINUMERIK In the case of speed setpoint comparison, the NC is informed which speed
840D/810D setpoint corresponds to which motor speed in the drive for parameterizing the
axial control and monitoring. This comparison is carried out automatically.
SINUMERIK 840D with PROFIBUS-DP (from SW 6.3 to SW 6.4)
For PROFIBUS-DP drives with automatic adjustment of the speed setpoint
normalization,
MD 32250: RATED_OUTVAL[n] must be modified from 80% to 0% (setting “0”).
This value must also be set in the case of adjustment in the NC. Alternatively for
PROFIBUS-DP drives, manual speed setpoint comparison is also possible.
Manual adjustment
In MD 32250: RATED_OUTVAL, enter a value not equal to zero. For further
information on speed setpoint adjustment please refer to:
References: /HBI/, SINUMERIK 840Di, “Axes and Spindles”
SINUMERIK 840Di The speed setpoint comparison for SINUMERIK 840Di with SIMODRIVE 611
with SIMODRIVE universal drives can be performed automatically or manually.
611 universal Automatic adjustment
The configuration values for setpoint scaling are compared automatically,
provided that MD 32250: RATED_OUTVAL[n] = 0. The speed setpoint
comparison through acyclic services at PROFIBUS-DP can be performed
automatically.
Maximum On the SINUMERIK 840D/810D, the maximum speed setpoint is the highest
speed setpoint value that can be output to the SIMODRIVE 611 digital drive as a result of the
maximum speed parameterized in the drive machine data
MD 1401/2401: MOTOR_MAX_SPEED (maximum motor speed)
that can be output at SIMODRIVE 611 digital drive.
For spindle drives, MD 1401 corresponds to the maximum motor speed. The
desired speed at the spindle is reached via the mechanical gear stage.
The output of the spindle speed is implemented in the NC for SINUMERIK
840D/840Di. Data for 5 gear stages are implemented in the control. The gear
stages are defined by a minimum and maximum speed for the gear stage and a
minimum speed and a maximum speed for the automatic gear stage change. A
new set gear stage is output only if the new programmed speed cannot be
traversed in the current gear stage.
MD 36210: Can be defined to limit the speed setpoint as a percentage of the
maximum speed setpoint. Values up to 200% are possible.
An alarm is output if the limit is exceeded.
t [sec]
However, owing to control processes, the axes should be able to reach their
maximum velocity (MD 32000: MAX_AX_VELO) before the 100% speed
setpoint is reached, i.e. at between 80% and 95%.
The default value (default 80%) of the MD 32000: MAX_AX_VELO can be
accepted for axes which reach maximum velocity at about 80% of the speed
setpoint range.
On SINUMERIK 840D/810, MD 36210: CTRLOUT_LIMIT[n] and
MD 1405/2405: MOTOR_SPEED_LIMIT (monitoring speed motor) should tally.
Note
For further information on setpoint adjustment for SIMODRIVE digital drives:
References: /IAD/, Installation & Start-Up Guide, “Axes and Spindles”
For further information on setpoint normalization for SIMODRIVE analog drives,
see:
References: /FB/, TE2, “Analog Axis”
Actual-value processing
Actual-value In order to be able to create a properly closed position closedloop control, the
resolution control system must be informed of the valid actual value resolution. The
following axis-specific machine data serve this purpose (see figs. 2-8 to 2-11).
The control calculates the actual value resolution from the settings made in the
MD. The control parameter sets of the position controller are referred to as
servo parameter sets.
Measurement of the actual position is based on the machining process on the
machine tool.
A direct measuring system (DM) must be
configured directly at the machine: Load-side encoder
Indirect measuring system (IM) must be
configured indirectly at the motor: Motor-side encoder
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:
* The encoder on the motor side in a built-in encoder and therefore does
not have a measuring gear unit. The gear ratio is always 1:1.
Note
These machine data are not required for encoder matching (path evaluation).
However, they must be entered correctly for the setpoint calculation! Otherwise
the desired servo gain factor is not achieved.
The load revolutions are entered in MD 31050: DRIVE_AX_RATIO_DENOM,
and the motor revolutions in MD 31060: DRIVE_AX_RATIO_NUMERA.
Coding of the The index of the following machine data are coded at the encoder [Encodernr.] :
machine data encoder 0 or 1
Encoder-dependent machine data Meaning
MD 31070: DRIVE_ENC_RATIO_DENOM[n] (Denominator measuring gear unit)
MD 31080: (Numerator measuring gear unit)
DRIVE_ENC_RATIO_NUMERA[n]
MD 31000: ENC_IS_LINEAR[n] (Direct measuring system linear scale)
Index [n] of the following machine data depend on the servo parameters of the
position controller with which the actual value resolution was calculated
automatically in the control:
MD: DRIVE_AX_...[Servo parameter set No.] : 0–5
Parameter-set-dependent machine data Meaning
MD 31050: DRIVE_AX_RATIO_DENOM[n] (Denominator load gear unit)
For the following machine data, the control does not consider any parameter set
nor any indices for coded encoders.
Note
These machine data cannot be activated in parts programs with the command
NEWCONF or via the HMI operator panel using a soft key.
Variants of The relevant machine data and relational calculations for the different methods
actual-value of actual value sensing are described in the following.
sensing
Calculation of the ratio is obtained from the associated machine data and is
defined for incremental encoders as follows:
The internal pulse multiplication factor provided by the measuring system logic
module is
S 2048 for raw signal generators on 840D with SIMODRIVE 611 digital
S 128 for raw signal generators with 810D
ÍÍÍÍÍÍ Table
M
ÍÍÍÍÍÍ Ball screw
Linear scale
Load gearing
MD 31000: ENC_IS_LINEAR = 1
MD 31010: ENC_GRID_POINT_DIST (linear enc.)
MD 34320: ENC_INVERS (inverted)
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:
ÍÍÍÍÍ
Encoder ENC_IS_DIRECT=0
on motor
ÍÍÍÍÍ
Table
G M Ball screw
Measuring Load
gear unit gear unit n Spindle LEADSCREW_PITCH
n Motor
ENC_RESOL DRIVE_AX_RATIO_NUMERA No. of motor revs
=
DRIVE_AX_RATIO_DENOM No. of spindle revs
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:
Example for Linear axis with rotary encoder (2048 pulses) on motor; internal multiplication
SINUMERIK (2048),
gearing: Motor/leadscrew 5,
pitch 10 mm,
10000 increments per mm
Internal Incrementsmm 1
Encoder incrementsmm ENC_RESOL[n] * Internal multiplication
DRIVE_ENC_RATIO_NUMERA[n]
*
DRIVE_ENC_RATIO_DENOM[n]
DRIVE_AX_RATIO_DENOM[n]
*
DRIVE_AX_RATIO_NUMERA[n]
* LEADSCREW_PITCH
* INT_INCR_PER_MM
MD 30300: IS_ROT_AX = 0
MD 31000: ENC_IS_LINEAR[0] = 0
MD 31040: ENC_IS_DIRECT[0] = 0
MD 31020: ENC_RESOL[0] = 2048
MD 31030: LEADSCREW_PITCH = 10
MD 31080: DRIVE_ENC_RATIO_NUMERA[0] = 1
MD 31070: DRIVE_ENC_RATIO_DENOM[0] = 1
MD 31060: DRIVE_AX_RATIO_NUMERA[0] = 5
MD 31050: DRIVE_AX_RATIO_DENOM[0] = 1
MD 10200: INT_INCR_PER_MM = 10000
Internal incrementsmm 1
* 1 * 1
Encoder incrementsmm 2048 * 2048 1 5
ÍÍÍÍÍ
Table
M G
Ball screw ENC_RESOL
Load Spindle Measuring
Gear unit Gear unit
LEADSCREW_PITCH
n
Spindle n Encoder
DRIVE_ENC_RATIO_NUMERA No. of spindle revs
=
DRIVE_ENC_RATIO_DENOM No. of Encoder revs
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:
Internal incrementsmm 1
Encoder incrementsmm ENC_RESOL[n] * Internal multiplication
DRIVE_ENC_RATIO_NUMERA[n]
*
DRIVE_ENC_RATIO_DENOM[n]
* LEADSCREW_PITCH
* INT_INCR_PER_MM
G M L Rotary table
Measuring Load
Gear unit Gear unit
DRIVE_AX_RATIO_NUMERA No. of motor revs
n =
ENC_RESOL Motor DRIVE_AX_RATIO_DENOM No. of load revs
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 Rotary axis with rotary encoder (2048 pulses) on motor; internal multiplication
axis with encoder (2048),
on motor gearing: Motor/rotary axis 5,
1000 increments per degree.
MD 30300: IS_ROT_AX = 1
MD 31000: ENC_IS_LINEAR[0] = 0
MD 31040: ENC_IS_DIRECT[0] = 0
MD 31020: ENC_RESOL[0] = 2048
MD 31080: DRIVE_ENC_RATIO_NUMERA[0] = 1
MD 31070: DRIVE_ENC_RATIO_DENOM[0] = 1
MD 31060: DRIVE_AX_RATIO_NUMERA[0] = 5
MD 31050: DRIVE_AX_RATIO_DENOM[0] = 1
MD 10210: INT_INCR_PER_DEG = 1000
Load Measuring
gear unit gear unit
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:
Fig. 2-12 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:
General The closedloop control of an axis consists of the current and speed control loop
of the drive plus a later level position control loop in the NC.
iact
Actual position nact
value
actual value
The speed and current control systems for SIMODRIVE 611 are described in:
References: /IAD/, “Installation & Start-Up Guide” SINUMERIK 840D / 611D
/IAC/, “Installation & Start-Up Guide” SINUMERIK 810D
/PJU/, “Planning Guide” Converters
The basic structure of an axis/spindle closedloop control is illustrated below:
IS position
measuring
system 1/2
MD32620 FFW_MODE Actual
MD32630 FFW_ACTIVATION_MODE value
processing
MD32610 VELO_FFW_WEIGHT[n] SW 5.1 and higher: Parameter sets MD32110 ENC_FEEDBACK_POL[n]
MD32650 AX_INERTIA MD32700 ENC_COMP_ENABLE[n]
MD32810 EQUIV_SPEEDCTRL_TIME[n] MD32450 BACKLASH[n]
MD32800 EQUIV_CURRCTRL_TIME[n] MD32452 BACKLASH_FACTOR[n]
Fine interpolation The fine interpolator (FIPO) is used to adjust the setpoint of the (generally
lower) interpolator control cycle 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 method of fine interpolation can be selected in MD 33000: 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 adaption.
Servo gain factor A high servo gain factor setting in MD 32200: POSCTRL_GAIN[n] is required to
prevent the occurrence of significant contour deviations.
However, if the servo gain factor is too high, instability, overshooting and
possibly impermissibly high loads on the machine will result.
The maximum permissible servo gain factor depends on the following:
S Design and dynamics of the drive
(rise time, acceleration and deceleration capabilities)
S Quality of the machine (elasticity, vibration suppression)
S Position-control cycle
The servo gain factor is defined as follows:
Speed [mmin]
Servo gain ;
Following error [mm]
[mmin]
is the unit of the servo gain factor according to VDI standard
[mm]
Axis 1 with
high servo gain
Dynamic response The purpose of dynamic response adaptation is to set an identical following
adaptation error for axes with different servo gain factors. The optimum contour precision
for axes interpolating with each other can thus be achieved without reduced
control quality. A high servo gain factor for an axis can be maintained, which
guarantees optimum disturbance suppression of the axis.
The function is activated in MD 32900: DYN_MATCH_ENABLE (dynamics
matching).
The axes are matched in MD 32910: DYN_MATCH_TIME[n] (time constant for
dynamics matching). With this MD, the equivalent time constant of the position
control loop of the axes with a higher Kv factor is matched to the axis with the
lowest Kv factor.
Bits set to 1 in MD 32910: DYN_MATCH_TIME[n] is the difference between the
equivalent time constants of the slowest closed-loop control circuit for the
relevant axis.
Example of dynamics matching of axes 1, 2 and 3 (without speed feedforward
control):
The equivalent time constant of the position control loop is as follows:
S Axis 1 : 30 ms
S Axis 2 : 20 ms
S Axis 3 : 24 ms
⇒ Axis 1 is dynamically the slowest axis
⇒ The value settings for MD 32910: DYN_MATCH_TIME[n] (time constant for
dynamics matching) are therefore as follows:
S Axis 1 : 0 ms
S Axis 2 : 10 ms
S Axis 3 : 6 ms
The equivalent time constant of the position control loop of an axis is calculated
according to the following formula:
Approximation formulae No feedforward control active
1
Tequiv ––––––––––––––––––––––––
MD 32200: POSCTRL_GAIN [1 / s] (16)
Note
If dynamics matching is executed for one geometry axis, dynamics matching
must also be activated for all further geometry axes by setting MD 32900:
DYN_MATCH_ENABLE=1.
References: /IAD/, “Installation & Start-Up Guide”, SINUMERIK 840D / 611D
/IAC/, “Installation & Start-Up Guide”, SINUMERIK 810D
Six different The position control can operate with 6 different servo parameter sets. This
parameters sets information is used for
– fast adaptation of the position control to altered machine characteristics
during operation, e.g. a gear change of the spindle.
– matching the dynamics of an axis to another axis, e.g. during tapping.
Parameter set The following machine data can be changed by switching over the parameter
switchover set.
S Denominator load gear unit MD 31050: DRIVE_AX_RATIO_DENOM [n]
S Numerator load gear unit MD 31060: DRIVE_AX_RATIO_NUMERA [n]
S Servo gain factor MD 32200: POSCTRL_GAIN [n]
S Backlash compensation (SW 5 and higher) MD 32452:
BACKLASH_FACTOR[n]
S Feedforward control factor (SW 5 and higher) MD 32610:
VELO_FFW_WEIGHT[n]
S Exact stop limits (SW 5 and higher) MD 36012:
STOP_LIMIT_FACTOR[n]
MD 36000:
STOP_LIMIT_COARSE
MD 36010:
STOP_LIMIT_FINE
and zero speed window MD 36030:
STANDSTILL_POS_TOL
S Equivalent time constant MD 32800: EQUIV_CURRCTRL_TIME[n]
Current control loop for torque feedforward control
S Equivalent time constant MD 32810: EQUIV_SPEEDCTRL_TIME[n]
Speed control loop for speed feedforward control
S Time constant of MD 32910: DYN_MATCH_TIME[n]
dynamic response adaptation
S Threshold value for MD 36200: AX_VELO_LIMIT[n]
velocity monitoring
Further information on machine data through parameter set switchover is given
in the Section 2.5 “Optimizing the Closed-Loop Control”. Parameter set
extensions in SW 5.1 and higher are described in Subsection 2.4.2.
Tapping or thread The following applies to parameter sets for axes: Machine axes
cutting S For machine axes not involved in tapping or thread cutting, parameter set 1
(index=0) is always used.
The further parameter sets need not be considered.
S For machine axes involved in tapping or thread cutting, the same parameter
set number as for the current gear stage of the spindle is activated.
All parameter sets correspond to the gear stages and must therefore be
parameterized.
The current parameter set is displayed in operating area “Diagnostics“ in the
“Service axis” display. The parameter sets for gear stages 1 to 5 are referred to
as interpolation parameters.
Parameter sets for Interpolation parameter sets for m gear stage change:
gear stage change
In the case of spindles, each gear stage is assigned its own parameter set. The
appropriate parameter set is activated depending on interface signal “Actual
gear stage (DB31, ... DBX16.0 to 16.2)”.
For further information about gear steps for spindles, please refer to
References: /FB/, S1, “Spindles”
Application Some machines use the same drive for moving various machine parts, what 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 servo loop.
Functionality To optimize control during startup, these codable parameter sets support
practiceoriented 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.
New parameter Until now it has been possible to change the gear ratio and other servo loop
sets parameters (such as achievable control loop gain) by switching over the servo
parameter set. The already existing machine data with parameter set coding are
extended as follows:
Machine data tried Further machine data with parameter set coding
and tested to date
The following existing machine data can be coded using parameter sets and
have already been tried and tested during the startup of the NC:
Denominator load gear unit MD 31050: DRIVE_AX_RATIO_DENOM
Numerator load gear unit MD 31060: DRIVE_AX_RATIO_NUMERO
Equivalent time const. Current
control loop MD 32800: EQUIV_CURRCTRL_TIME
Equivalent time const. Speed
control loop MD 32810: EQUIV_SPEEDCTRL_TIME
Time constant for dynamic
response adaptation MD 32910: DYN_MATCH_TIME
Threshold value for velocity
monitoring MD 36200: AX_VELO_LIMIT
Benefits The indirect switchover of a single function: (e.g. MD 32452 not equal to 1)
The parameter-set dependent function is only really relevant as it is needed.
The indirect switchover of several functions: (e.g. MD 36012 unequal to 1)
The common weighting factor causes the ratios of all parameter-set dependent
functions in the different machine data to be identical in relation to each other.
To switch over several functions, one single machine data can be sufficient.
In this way, configuration errors are avoided and input work reduced.
Supplementary With SW 5.1 and higher, the function extension is available for all control
conditions variants.
Control response The new or modified data are activated via the soft key “Enable machine data”
with POWER ON, or by a RESET or POWER ON. Mode switchover, block search or REPOS have
RESET, REPOS no influence.
etc.
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 vibration damping with simultaneous use of the feedforward
control.
In order to accomplish this, the difference in the position of two measuring
systems is formed and injected as an additional current setpoint for feedforward
control after an appropriate weighting of MD 32950: POSCTRL_DAMPING. The
function is used predominantly for axes with strong tendency to vibrate.
Functionality The positional deviation is injected at the NC end in the position control cycle of
the higher-level position control loop on the NC.
The differential position between a direct measuring system and an indirect
measuring system is generated and injected as a function of the weighting
factor in MD 32950: POSCTRL_DAMPING.
Note
The weighting of MD 32950 can be set, e.g. using step responses. If the control
approaches the stability limit (vibration inclination increases), then the
parameter is too large.
Boundary S The function extension is available for all control variants with SW 5.1 and
condition higher which use SIMODRIVE 611 digital drives.
S The function can only be used in the case of axes with two encoders
MD 30200: NUM_ENCS = 2 whereby one of the encoders must be
parameterized as an indirect measuring system and the other encoder as a
direct measuring system.
If these conditions are not fulfilled, the function is acknowledged with the reset
alarm 26016 when you try to activate MD 32950: POSCTRL_DAMPING = 1.
The function remains deactivated internally when this alarm is active.
Application With feedforward control active, the position setpoint is sent through a socalled
balancing filter before it reaches the controller itself. It is thus possible to
feedforward control the speed setpoint at 100%, 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 settable time constant), which has remained unchanged
since SW 1 and which has admitted instead of an overshoot also undesired
undershoots of some 10 micrometers, as follows:
S Setting the filter time to zero and setting the feedforward control factor to a
value less than 100%, or
Filter activation The new filter becomes only into effect with changing the axial machine data
with MD 32620 MD 32620: FFW_MODE and selecting the values 3 and 4.
The desired active variant of the feedforward control with new balancing is
selected as follows using the machine data MD 32620: FFW_MODE:
3 = Speed feedforward control with new balancing
4 = Torque feedforward control (only possible with SINUMERIK 840D) with
new balancing.
Activation of The activation and deactivation of the feedforward control for all axes can be
feedforward done in the part program using the statements FFWON and FFWOF whereby
control the effects of the
machine data MD 32630: FFW_ACTIVATION_MODE remain unchanged.
Control response In the case of POWER ON and RESET, as well as with “Enable machine data”,
with POWER ON, the setting data of the feedforward control are read in anew (see the appropriate
RESET, REPOS values of the machine data). Mode change, block search and repositioning
etc. have no influence on the feedforward control.
Supplementary With SW 5.1 and higher, the function extension is available for all control
conditions variants.
New setting rule If the new filter is active, the setting rule for the data in the machine data
for MD 32810 and MD 32810: EQUIV_SPEEDCTRL_TIME and machine data MD 32800:
MD 32800 EQUIV_CURRCTRL_TIME changes.
In other words, if the old balancing filter was active, the following actions should
be performed before changing to the new one:
Setting the equivalent time constant with speed feedforward control
MD 32810 speed It is advisable to let the axis move back and forth using an automatic program to
feedforward observe its approach to the target position, i.e. the actual position value of the
control active measuring system using the Servo Trace (MMC 102 or MMC 103 or, with
SW 6.1 or higher, HMI Advanced or PG required).
You can also output the actual position value to the D/A converter of the drive
module and use an oscilloscope to observe the results.
The starting value for setting is the time constant of the speed control loop. This
can be read from the reference frequency characteristic of the speed control
loop. In the frequently encountered case of a PI controller with speed setpoint
filtering, the equivalent time can be read out from drive machine data
1500–1503.
Another method is to plot the speed setpoint and actual speed value at constant
acceleration on an oscilloscope and measure the tracking time of the actual
speed value.
Now, enter this starting value (e.g. 1.5 ms):
MD 32810: EQUIV_SPEEDCTRL_TIME = 0.0015.
Then traverse the axis to and fro and watch the course of the actual position
value at the target position greatly magnified.
The following rule applies to the manual fine adjustment:
S Overshoots noticed:
MD 32810: Increase EQUIV_SPEEDCTRL_TIME
Equal axis data in All axes of an interpolation compound must be set in the data
an interpolation MD 32200: POSCTRL_GAIN, MD 32620: FFW_MODE,
compound MD 32610: VELO_FFW_WEIGHT, MD 32810: EQUIV_SPEEDCTRL_TIME (or
MD 32800: EQUIV_CURRCTRL_TIME), MD 32400: AX_JERK_ENABLE,
MD 32402: AX_JERK_MODE, MD 32410: AX_JERK_TIME
to the same value. The servo gain display in the Service Axis screen form is
used for checking. If the same values are not possible for a/m data, an
adaptation can be made using MD 32910: DYN_MATCH_TIME. It is thus
possible to display the same servo gain value, what, however, is seldom.
Normally, differently servo gain values are a sign that one of the following cases
have occurred:
Example of speed Programming sample of a selection of the speed feedforward control with new
feedforward balancing and default setting: FFWON and FFWOF active.
control MD 32620: FFW_MODE[X1] = 3 ; New speed feedforward control mode
MD 32630: FFW_ACTIVATION_MODE[X1] = 1 ; FFWON and FFWOF are
active in the NC program.
Now FFWON 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.
MD 20150: GCODE_RESET_VALUES[23] can also be used to set FFWON as
the default for each channel.
MD 32620: FFW_MODE[X1] = 3 ; New speed feedforward control mode
MD 32630: FFW_ACTIVATION_MODE[X1] = 0 ; FFWON and FFWOF are
active in the NC program.
In this case, the speed feedforward control with X1 is enabled continuously, also
in JOG mode. MD 20150: GCODE_RESET_VALUES[ ], FFWON and FFWOF
do not act on X1. This can be reasonable if the machine may only run with
feedforward control, e.g. for reasons of accuracy, or if you want to test the
feedforward control also without a program during startup.
Note
The setting of the feedforward control must be the same for all axes of an
interpolation compound.
MD 32800 torque For the setting of the time constant of the current controller, the same rules and
feedforward recommendations apply as with the speed feedforward control. To set the time
control as an constant with MD 32800: EQUIV_CURRCTRL_TIME, however, the activation of
option the filter for the feedforward control must be enabled both as previously with MD
32620: FFW_MODE = 4 and, in addition with the AND option in the drive.
As with the activation of the existing filter with MD 32620: FFW_MODE = 2, all
further machine data must also be set taking into account the appropriate
elasticity limits of the machine.
Limitation to stiff Experience has shown that this expenditure is only worth in the case of very stiff
machines machines and requires appropriate experience. The elasticities of the machine
are often excited due to the injection of the torque so strong that the existing
vibrations neutralize the gain in contour accuracy. In this case it is worth to try
out the use of Dynamic Stiffness Control (DSC), MD 32640:
STIFFNESS_CONTROL_ENABLE as an alternative.
Example for Programming sample of a selection of the speed feedforward control with new
torque feedforward balancing and default setting: FFWON and FFWOF active.
control MD 32620: FFW_MODE[X1] = 4 ; New torque feedforward control mode
MD 32630: FFW_ACTIVATION_MODE[X1] = 1 ; FFWON and FFWOF active.
Now FFWON 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.
MD 20150: GCODE_RESET_VALUES[23] can be used to set FFWON also for
each program by default.
MD 32620: FFW_MODE[X1] = 4 ; New torque feedforward control mode
MD 32630: FFW_ACTIVATION_MODE[X1] = 0 ; FFWON and FFWOF active.
In this case, the torque feedforward control with X1 is enabled continuously,
also in JOG mode. MD 20150: GCODE_RESET_VALUES[ ], FFWON and
FFWOF do not act on X1. This can be reasonable if the machine may only run
with feedforward control, e.g. for reasons of accuracy, or if you want to test the
feedforward control also without a program during startup.
For further information on the method of operation of the feedforward control
with regard to the position setpoints, speed and torque, please refer to:
References /FB2/, K3, “Following Error Compensation (Feedforward
Control)” and “Reference Manual of the Machine Data”.
Note
The setting of the feedforward control must be the same for all axes of an
interpolation compound.
Functionality The filter effect of the position setpoints must be as strong as possible without
having an unacceptable impact on the contour accuracy.
The filter should also have as “balanced” a smoothing effect as possible, i.e. if
one traverses the same contour forwards and backwards, the path rounded by
the filter should be as similar as possible in either direction.
The effect of the filter can be watched using the display of the effective servo
gain factor in the Axes service screen. The filtering effect slightly rounds the
position setpoints, thus reducing the path accuracy so that with increasing filter
time a smaller effective servo gain factor is displayed.
Benefits The filter which has already been existing since SW 1 and which is set with
MD 32400: AX_JERK_ENABLE = 1 and MD 32410: AX_JERK_TIME = filter
time fulfills the conditions of a strong filtering effect with a smoothing response
as balanced as possible for small time constants up to approx. 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
... 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.
Enabling the filter Machine data MD 32402: AX_JERK_ENABLE can be used to enable the new
using MD 32402 position setpoint filter acc. to the following settings:
Note
In the case of new machines, the new filter is generally recommended with
MD 32402: AX_JERK_MODE = 2. Only if very high filter times are needed and
the contour accuracy play a minor part, what sometimes occurs in the case of
positioning axes, the old filter can be more advantageous.
Fine adjustment The fine adjustment of the position setpoint filter is carried out as follows:
Supplementary The position setpoint filter is available in all control system variants as follows:
conditions
S In SW 5.1 and higher, the effective filter times are limited in the range
between a minimum of 1 position control cycle up to a maximum of 16
position control cycles (15 position control cycles are available).
S In SW 5.2 and higher, the effective filter times are limited in the 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:
S The display of the calculated servo gain factor in the Axes service screen
form displays smaller values than it would be appropriate based on the filter
effect.
S The path accuracy is better than it could be expected from the displayed
servo gain factor. Therefore, when changing over
from MD 32400: AX_JERK_MODE = 1
to MD 32400: AX_JERK_MODE = 2,
it is possible that the displayed servo gain factor is reduced with the filtering
time remaining unchanged although the path accuracy gets better.
Axes interpolating together must have the same settings.
If you have found an optimum for such axes, the axis with the largest filter time
amongst these settings must be entered for all axes of the interpolation
grouping.
For further information on jerk limitation on the interpolator level, please refer to :
References: /FB/, B2, “Axis-Related Jerk Limitation”
and “Axis-specific Machine Data”.
Function For standard applications up to and including SW 6.3, the core of the position
controller is a P controller with the manipulation options connected in series
upstream described above. The option of connecting in an integral component
for special applications (e.g. electronic gear) has been added in SW 6.4. The
resulting PI 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 PI controller is active, overshoots in the actual position occur. In this
instance, you must decide whether this effect is admissible or acceptable for
the application in question. Utilization of this function will require specialist
control knowledge and measurements with a Servotrace.
If the relevant machine data are set incorrectly, the consequent instability may
cause damage to the machine.
where:
KR Proportional component gain
Tn Integrator time
Procedure Optimize the position feedback loop as a P controller first using the tools
described in the previous subsections.
Increase of the tolerances of the following machine data while measurements
are being taken to determine the quality of the feedback loop with PI position
controller:
MD 36020: POSITIONING_TIME
MD 36030: STANDSTILL_POS_TOL
MD 36040: STANDSTILL_DELAY_TIME
MD 36400: CONTOUR_TOL
Activate the position feedback loop as a PI controller by setting the following
machine data:
MD 32220: POSCTRL_INTEGR_ENABLE ; Set value 1
MD 32210: POSCTRL_INTEGR_TIME ; Integrator time [s]
Effect of integrator time:
S Tn → 0 The control error is corrected quickly, but the control loop can
still become unstable.
Search for the right compromise for the application between these two extreme
cases T n. T n must not be selected too close to the instability limit as the
machine may sustain damage if the loop becomes unstable.
Use the servo trace (see /IAD/, Installation & StartUp Guide, Measurement of
Position Feedback Loop and Trace Function) to record the approach to a target
position using an automatic program for reciprocating motion.
Set the servo trace to display the following:
– Following error
– Actual velocity
– Actual position
– Commanded position
Set the tolerance values in MD 36020, 36030, 36040 and 36400 back to the
required settings once you have found the optimum setting for Tn .
Fig. 2-16 Following error (1), act. veloc. (2), actual pos. (3), position setp. (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
brake control.
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 brake control, 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 ... 3 interpolator cycles. In the worst case, the PLC needs
another two PLC cycles. With hanging axes and linear motors, this is often slow.
System variable Since the function must be available for all kinds of drives in the same form
for enabling the (also for nonelectrical drives), the variable is given the name “Drive power
drive power enable”.
Activation The variable is predefined and can be used at any time acc. to the data type
BOOL with FALSE or TRUE. Until the 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 already when 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 effected by the mode change, it is recommended to program
them as a “static synchronized action” (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 With SW 5.1 and higher, the function extension is available for digital drives in
conditions all control variants providing synchronized actions.
Control response After POWER ON, the value 0 is supplied until the communication with the drive
with POWER ON, is not yet established. Then, the system variable $VA_DPE always specifies the
RESET, REPOS pulse enable value acquired at the beginning of the interpolation cycle. The
etc. modeindependent evaluation or retransmission should be carried out using
static synchronized actions (vocabulary word IDS).
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 multipoint controller.
For reasons relating to position feedback 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.
Benefits Compared with the existing method “deceleration axes”, the extension of the
position controller algorithm provides the following advantages:
S The structure of the interpolation and control is extended only slightly. This
axis has thus automatically all properties of a normal axis.
Lowpass filter for A lowpass filter connected at the position controller output now also allows the
analog drives position controller gain to be reduced quickly with increasing frequency for
analog drives (axes). This suppresses the effect of strong natural frequencies in
the form of settable speed setpoint filters.
This functionality is provided as standard for digital drives.
“Dead zone” Nonlinearities close to zero speed, such as those which can occur when simple
MD 32960 frequency converters are used, are inhibited by a “dead zone” in the controller.
The threshold for the control deviation below which a zero speed setpoint is
output can be set in machine data MD 32960: POSCTRL_ZERO_ZONE.
The “dead zone” is set in MD 32960: POSCTRL_ZERO_ZONE for each
individual encoder.
Stability risk The extended position controller algorithm will reduce the risk 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 With SW 5.3 and higher, the function extension is available for all control
conditions variants.
The activation of the low pass filter becomes only into effect with inactive
dynamic stiffness control with
MD 32640: STIFFNESS_CONTROL_ENABLE = 0.
If the low pass filter is active, the simulated following error in acceleration
phases is larger than usual. It might therefore be necessary to increase
MD 36400: CONTOUR_TOL compared with the default value to avoid a
response of the axial contour monitoring (alarm 25050).
If the settable “dead zone” of the position controller remains in the default
setting
S MD 32960: POSCTRL_ZERO_ZONE = 0,
this corresponds to an input value whose magnitude matches the current
encoder fine resolution.
The default setting is thus compatible with earlier software versions.
If the “dead zone”
Supplementary Conditions 3
There are no other supplementary conditions to note.
J
Notes
Example 4
None
J
5.2 Interrupts
For detailed descriptions of the alarms, please refer to
References: /DA/, “Diagnostics Guide”
and the online help of MMC 101/102/103 systems.
J
Notes
Index
I
Inch measuring system, 1/G2/2-13
Input resolution, 1/G2/2-9
A Interpolation parameter sets, 1/G2/2-47
Actual value acquisition, 1/G2/2-23
Actual value correction, 1/G2/2-24
Actual-value processing, 1/G2/2-34, 1/G2/2-47, K
1/G2/2-50, 1/G2/2-56, 1/G2/2-60, 1/G2/2-61
Kv factor, 1/G2/2-44, 1/G2/2-45
Actual-value resolution, 1/G2/2-36
Actual-value routing, 1/G2/2-25
Actual-value system, 1/G2/2-23
Adapting the motor/load ratios, 1/G2/2-31 L
Axis parameter sets, 1/G2/2-46
Linear axis
With linear scale, 1/G2/2-38
With rotary encoder on motor, 1/G2/2-39
B With rotary encoder on the
machine, 1/G2/2-40
Basic system, 1/G2/2-13
C M
Manual switchover of the basic system
Calculation resolution, 1/G2/2-9
General, 1/G2/2-17
Closed-loop control, 1/G2/2-43
Input resolution and calculation
Control direction, 1/G2/2-34
resolution, 1/G2/2-19
Conversion of basic system, 1/G2/2-13
JOG and handwheel evaluation, 1/G2/2-19
Reference point, 1/G2/2-18
System data, 1/G2/2-18
D Tool data, 1/G2/2-18
Display resolution, 1/G2/2-9 Manual switchover of the basic system
Drive configuration, 1/G2/2-30 (SW 5 and higher), 1/G2/2-17
Dynamic response adaptation, 1/G2/2-45 Measuring systems, 1/G2/2-24
Metric measuring system, 1/G2/2-13
E
N
Encoder coding, 1/G2/2-37
Normalization, 1/G2/2-7
Normalization of machine and
setting data, 1/G2/2-10
F
Fine interpolation, 1/G2/2-44
FIPO, 1/G2/2-44 P
Following error compensation (feedforward
control), speed feedforward control, 1/G2/2-51 Parameter sets of the position
Function overview of inch/metric switchover controller, 1/G2/2-46
(SW 5 and higher), 1/G2/2-21 Path feed, 1/G2/2-6
Data backup, 1/G2/2-19 Physical quantities, 1/G2/2-10
Rounding machine data, 1/G2/2-20 Position control, 1/G2/2-46
Synchronous actions, 1/G2/2-15 Position control loop, 1/G2/2-43
V
S Velocities, 1/G2/2-5
Setpoint output, 1/G2/2-23 Velocity adjustment, 1/G2/2-34
Setpoint system, 1/G2/2-23
Setpoint/actualvalue system – Configuration of
drives for SINUMERIK 840Di, 1/G2/2-30
Detailed description 2
Supplementary conditions 3
SINUMERIK 840D/840Di/810D
Examples 4
Auxiliary Function Output to PLC 5
Data lists
(H2)
Function Manual
10/04
6FC5 297-7AC20-0BP1
Safety Guidelines
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 to property damage only 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.
Prescribed Usage
Note the following:
Warning
This device may only be used for the applications described in the catalog or the technical description and only in
connection with devices or components from other manufacturers which have been approved or recommended
by Siemens. Correct, reliable operation of the product requires proper transport, storage, positioning and
assembly as well as careful operation and maintenance.
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.
Siemens AG
Automation and Drives Siemens AG 2005
Postfach 4848, 90327 Nuremberg, Germany Technical data subject to change
General
Auxiliary functions permit activation of NC system functions and PLC user functions.
Auxiliary functions can be programmed in part program blocks in the following:
• Part programs
• Synchronized actions
• User cycles
Detailed information on using auxiliary function output in synchronized actions is to be found
in:
References:
/FBSY/ Description of Functions Synchronized Actions
M functions
M (special function)
Address extension Value
Value range Meaning Value range Type Meaning Number8)
0 (implicit) --- up to 8 digits INT Function 5
Remarks:
---
Value range Meaning Value range Type Meaning Number8)
1 - 12 Spindle number 1 – 99 INT Function 5
Remarks:
Example: "Spindle stop" for 2nd spindle of the channel: M2=5.
The master spindle of the channel is addressed if no an address extension is specified.
Value range Meaning Value range Type Meaning Number8)
0 - 99 Any 2147483647 INT Function 5
Remarks:
User-specific M function
Application
Controlling machine functions in synchronism with the part program.
General remarks
• The following M functions have a predefined meaning: M0, M1, M2, M17, M30
M3, M4, M5, M6, M19, M70, M40, M41, M42, M43, M44, M45.
• For each M function (M0 - M99), there is a dynamic signal at the NC/PLC interface that
indicates the validity (new output) of the M function. In addition, 64 further signals can be
assigned for user M functions.
References
/FB/ Description of Function Basic Machines, PLC Basic Program (P3)
• For subroutines, there are machine data in which you can set whether the M function for
the end of part program (M17, M2, and M30) will be output to the PLC:
MD20800 $MC_SPF_END_TO_VDI
• For the predefined M function M40 – M45, only limited redefinition of the output
specification is possible.
• 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
Value range Meaning Value range Type Meaning Number8)
0 - 12 Spindle number 5) 0 - +/-3.4028 ex 38 3) REAL Spindle speed 3
Remarks:
The master spindle of the channel is addressed if no address extension is specified.
Application
Spindle speed.
Remarks
• S functions are assigned to auxiliary function group 3 by default.
• Without an address extension, the S functions refer to the master spindle of the channel.
• S-function-specific machine data:
– MD22210 $MC_AUXFU_S_SYNC_TYPE
H functions
H (aux. function)
Address extension Value
Value range Meaning Value range Type Meaning Number8)
0 - 99 Any -2147483648 - INT Any 3
+2147483647
0 - +/-3.4028exp38 REAL
2) 3) 4)
Remarks:
The functionality must be implemented by the user in the PLC user program.
Application
User-specific auxiliary functions.
Remarks
• H-function-specific machine data:
– MD22110 $MC_AUXFU_H_TYPE_INT
– MD22230 $MC_AUXFU_H_SYNC_TYPE
T functions
T (tool number) 5) 6)
Address extension Value
Value range Meaning Value range Type Meaning Number8)
1 - 12 Spindle number 0 – 32000 INT Selection of the tool 1
(with active tool (also symbolic tool
management) names for active tool
management)
Remarks:
Tool names are not output to the PLC 1)
Application
Tool selection.
Remarks
• Identification of tools either by means of tool number or location number.
References
/FBW/ Tool Management
/FB/ Description of Functions Basic Machine; Tool Compensation (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
D functions
D (tool offset)
Address extension Value
Value range Meaning Value range Type Meaning Number8)
--- --- 0-9 INT Selection of the tool 1
offset
Remarks:
D (tool offset)
Deselection of the tool offset with D0; the default is D1
Application
Selection of the tool offset.
Remarks
• Initial setting: D1
• The default tool cutting edge after tool change can be parameterized via:
MD20270 $MC_CUTTING_EDGE_DEFAULT
• Deselection of the tool offset: D0
• D-function-specific machine data:
– MD22250 $MC_AUXFU_D_SYNC_TYPE
DL functions
Application
Selection of the additive tool offset with reference to an active tool offset.
Remarks
• Initial setting: DL = 0
• DL values cannot be output to the PLC via synchronized actions.
• Default setting of the additive tool offset without an active DL function:
MD20272 $MC_SUMCORR_DEFAULT
• Deselection of the additive tool offset: DL = 0
• DL-function-specific machine data:
– MD22252 $MC_AUXFU_DL_SYNC_TYPE
F functions
F (feedrate)
Address extension Value
Value range Meaning Value range Type Meaning Number8)
--- --- 0.001 - 999 999.999 REAL Path feed 6
Remarks:
---
Application
Path velocity.
Remarks
• F-function-specific machine data:
– MD22240 $MC_AUXFU_F_SYNC_TYPE
FA functions
FA (axial feedrate)
Address extension Value
Value range Meaning Value range Type Meaning Number8)
1 - 31 Axis number 0.001 - 999 999.999 REAL Axial feedrate 6
Remarks:
---
Application
Axial velocity.
Remarks
• F-function-specific machine data:
– MD22240 $MC_AUXFU_F_SYNC_TYPE
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 MD 22110: 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 full precision.
4) If the setting is MD22110 $MC_AUXFU_H_TYPE_INT = 1, the REAL values are rounded
before output to the PLC. The PLC user program must interpret the value transferred
Function
Predefined auxiliary functions are auxiliary functions for activating system functions. The
assignment of a predefined auxiliary function 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 of 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 - 7
MD22080 $MC_AUXFU_PREDEF_SPEC[ n ]
7 6 5 4 3 2 1 0
Stop 0 M 0 0 1 1 0 0 0 0 0 0 1
Conditional stop 1 M 0 1 1 1 0 0 0 0 0 0 1
End of subroutine 2 M 0 2 1 1 0 0 0 0 0 0 1
3 M 0 17 1 1 0 0 0 0 0 0 1
4 M 0 30 1 1 0 0 0 0 0 0 1
Tool change 5 M (1) 6 1) (1) (0) (0) (1) (0) (0) (0) 0 1
Spindle right 6 M (1) 3 (2) (0) (0) (1) (0) (0) (0) 0 1
Spindle left 7 M (1) 4 (2) (0) (0) (1) (0) (0) (0) 0 1
Spindle stop 8 M (1) 5 (2) (0) (0) (1) (0) (0) (0) 0 1
Position spindle 9 M (1) 19 (2) (0) (0) (1) (0) (0) (0) 0 1
Axis mode 10 M (1) 70 2) (2) (0) (0) (1) (0) (0) (0) 0 1
Automatic gear stage 11 M (1) 40 (4) 0 0 1 (0) (0) (0) 0 1
Gear stage 1 12 M (1) 41 (4) 0 0 1 (0) (0) (0) 0 1
Gear stage 2 13 M (1) 42 (4) 0 0 1 (0) (0) (0) 0 1
Gear stage 3 14 M (1) 43 (4) 0 0 1 (0) (0) (0) 0 1
Gear stage 4 15 M (1) 44 (4) 0 0 1 (0) (0) (0) 0 1
Gear stage 5 16 M (1) 45 (4) 0 0 1 (0) (0) (0) 0 1
Spindle speed 17 S (1) -1 (3) (0) (1) (0) (0) (0) 0 0 1
Feed 18 F 0 -1 (1) (0) (1) (0) 0 (0) 0 0 1
Cutting edge selection 19 D 0 -1 (1) (0) (1) (0) 0 (0) 0 0 1
DL 20 L 0 -1 (1) (0) (1) (0) 0 (0) 0 0 1
Tool selection 21 T (1) -1 (1) (0) (1) (0) 0 (0) 0 0 1
Stop (associated) 22 M 0 -1 3) 1 1 0 0 0 0 0 0 1
Conditional stop (associated) 23 M 0 -1 4) 1 1 0 0 0 0 0 0 1
End of subroutine 24 M 0 -1 5) 1 1 0 0 0 0 0 0 1
Nibbling 25 M 0 20 6) (10) (0) (1) (0) 0 (0) (0) 0 1
Nibbling 26 M 0 23 6) (10) (0) (1) (0) 0 (0) (0) 0 1
Nibbling 27 M 0 22 6) (11) (0) (1) (0) 0 (0) (0) 0 1
Nibbling 28 M 0 25 6) (11) (0) (1) (0) 0 (0) (0) 0 1
Nibbling 29 M 0 26 6) (12) (0) (1) (0) 0 (0) (0) 0 1
Nibbling 30 M 0 122 6) (11) (0) (1) (0) 0 (0) (0) 0 1
Nibbling 31 M 0 125 6) (11) (0) (1) (0) 0 (0) (0) 0 1
Nibbling 32 M 0 27 6) (12) (0) (1) (0) 0 (0) (0) 0 1
1) The value depends on: MD22560 $MC_TOOL_CHANGE_M_MODE
2) A different value can be preset via the following machine data:
- MD20095 $MC_EXTERN_RIGID_TAPPING_M_NR or
- MD20094 $MC_SPIND_RIGID_TAPPING_M_NR.
Value 70 is always output to the PLC.
3) The value is set via MD22254 $MC_AUXFU_ASSOC_M0_VALUE.
4) The value is set via MD22256 $MC_AUXFU_ASSOC_M1_VALUE.
5) The value is set via MD10714 $MN_M_NO_FCT_EOP.
6) The value is set via MD26008 $MC_NIBBLE_PUNCH_CODE.
() Only values in parentheses can be changed.
Group assignment
A predefined auxiliary function can be assigned via the group assignment of a particular
auxiliary function group:
MD22040 $MC_AUXFU_PREDEF_GROUP[ index ] (group assignment)
If the value is zero, the auxiliary function is not assigned to any auxiliary function group.
For the meanings of the auxiliary function groups, see section: Auxiliary function groups.
Function
A predefined auxiliary function is programmed via parameters:
MD22050 $MC_AUXFU_PREDEF_TYPE[ index ] (type)
MD22060 $MC_AUXFU_PREDEF_EXTENSION[ index ] (address extension)
MD22070 $MC_AUXFU_PREDEF_VALUE[ index ] (value)
with the following syntax:
< type > [ < address extension > = ] < value >
Parameter: Type
The name of an auxiliary function is defined via the "type", e.g.:
• M: Special functions
• S: Spindle functions
• F: Feed
The "type" cannot be changed for predefined auxiliary functions.
Programming Function
N10 M3 ; "Spindle right" for the master spindle of the channel
N20 M0 = 3 ; "Spindle right" for the master spindle of the channel
N30 M1 = 3 ; "Spindle right" for the 1st spindle of the channel
N40 M2 = 3 ; "Spindle right" for the 2nd spindle of the channel
Example
For all spindles of the channel, the auxiliary function M3 (machine data index = 6,
corresponding to the table in section: Predefined auxiliary functions) is assigned to the 2nd
auxiliary function group.
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
Parameter: Value
Parameters: "Value" and "Type" define the meaning of an auxiliary function. I.e. the system
function that is activated as a result of this auxiliary function. The "value" cannot be changed
for a predefined auxiliary function. The "value" can be reconfigured via additional machine
data for some predefined auxiliary functions. See Section: Associated auxiliary functions.
Function
The "output behavior" defines when the auxiliary function is output to the NC/PLC interface
and when it is acknowledged by the PLC:
MD22080 $MC_AUXFU_PREDEF_SPEC[ index ] (specification of output behavior)
The auxiliary function is acknowledged as soon as organization block OB1 has run once.
This corresponds to a complete PLC user cycle.
The auxiliary function with normal acknowledgment is output in synchronism with the part
program block in which it is programmed. If execution of the part program block, e.g. path
and/or positioning axis movements, is completed before acknowledgment of the auxiliary
function, the block change is delayed until after acknowledgment by the PLC.
In continuous-path mode, a constant path velocity can be maintained in conjunction with an
auxiliary function with normal acknowledgment, if the auxiliary function is output by the PLC
during the traverse movement and before reaching the end of block.
Note
Parameterization of the output behavior of auxiliary functions as "quick auxiliary functions" is
only possible in conjunction with user-defined auxiliary functions.
Bit3: No output
The auxiliary function is not output to the PLC.
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
Inputs
The following figures illustrate the differing behavior regarding:
• Output and acknowledgment of the auxiliary function
• Spindle response (speed change)
• Traverse movement (velocity change)
Parameterized output behavior
The binary values stated in the examples under "Spec" refer to the parameterizable output
behavior:
MD22080 $MC_AUXFU_PREDEF_SPEC[ Index ]
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
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
6SLQGOHUHVSRQVH
'HIDXOWVHWWLQJ
(GLWLRQ 4XLW 0;B2XWSXWRSWLRQ
0
$[LVPRWLRQ
W
%ORFNFKDQJH
Y
'HIDXOWVHWWLQJ
6SLQGOHUHVSRQVH
0;B2XWSXWRSWLRQ
(GLWLRQ 4XLW
0
$[LVPRWLRQ
W
%ORFNFKDQJH
Y
6SLQGOHUHVSRQVH
'HIDXOWVHWWLQJ
(GLWLRQ 4XLW 06;B2XWSXWRSWLRQ
6
$[LVPRWLRQ
W
%ORFNFKDQJH
Function
There are two uses for user-defined auxiliary functions:
• Extension of predefined auxiliary functions
• User-specific auxiliary functions
Maximum number
The maximum number of user-defined auxiliary functions per channel can be parameterized
via:
MD11100 $MN_AUXFU_MAXNUM_GROUP_ASSIGN (maximum number of user-definable
auxiliary functions)
Function
Because there is only one set of machine data for the predefined auxiliary functions, they
can only ever be used to address one spindle of the channel. To address further spindles,
user-defined auxiliary functions must be parameterized to supplement the predefined
auxiliary functions.
The extension of predefined auxiliary functions refers only to the parameter: "Address
extension". The number of the spindle that the auxiliary function refers to is entered in the
"address extension" parameter.
The relevant predefined auxiliary functions can be extended for the following system
functions.
Gear stage 1 M 1 41
Gear stage 2 M 1 42
Gear stage 3 M 1 43
Gear stage 4 M 1 44
Gear stage 5 M 1 45
Spindle speed S 1 -1
Tool selection T 1 -1
1) address extension = 1 is the default value used in the auxiliary functions predefined in the machine
data.
Example
Extension of the predefined auxiliary function for the system function: "Spindle right" for the
2nd and 3rd spindle of the channel.
Auxiliary function "Spindle right" for the 2nd 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 3rd 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
Function
User-specific auxiliary functions have the following properties:
• For parameter: "Type", only identifier "H" is permitted.
• User-specific auxiliary functions only activate user functions.
• User-specific auxiliary functions cannot activate system functions.
• A user-specific auxiliary function is output to the PLC in accordance with the
parameterized output behavior.
• The functionality of a user-specific auxiliary functions is implemented by the machine
manufacturer / user in the PLC user program.
2.2.5 Parameterization
Group assignment
A user-defined auxiliary function can be assigned via the group assignment of a particular
auxiliary function group:
MD22000 $MC_AUXFU_ASSIGN_GROUP[ index ] (group assignment)
If the value is zero, the auxiliary function is not assigned to any auxiliary function group.
For the meanings of the auxiliary function groups, see section: Auxiliary function groups.
Function
A user-defined auxiliary function is programmed with parameters:
MD22010 $MC_AUXFU_ASSIGN_TYPE[ index ] (type)
MD22020 $MC_AUXFU_ASSIGN_EXTENSION[ index ] (address extension)
MD22030 $MC_AUXFU_ASSIGN_VALUE[ index ] (value)
with the following syntax:
< type > [ < address extension > = ] < value >
Parameter: Type
The name of an auxiliary function is defined via the "type". Only the following names are
permitted for user-defined auxiliary functions:
• User-specific auxiliary functions
– H: Auxiliary function
• Extension of predefined auxiliary functions
– M: Miscellaneous (i.e. special) function
– S: Spindle function
– T: Tool number
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
Parameter: Value
The functionality of parameter: "Value" is not defined in user-specific. auxiliary functions. The
value is generally used to activate the corresponding PLC user function.
Grouping together auxiliary functions
To assign all auxiliary functions of the same type and address extension to the same
auxiliary function group, a value "–1" must be entered for parameter "value".
Example
All user-specific auxiliary functions with the address extension = 2 are assigned to auxiliary
function group 11.
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
Function
The "output behavior" of user-defined auxiliary functions can be parameterized via:
MD22035 $MC_AUXFU_ASSIGN_SPEC[ index ] (specification of output behavior)
For a description of the individual output parameters, see Section: "Parameter Output
behavior" of the predefined auxiliary functions. The information given there can be applied
analogously to the output behavior of user-defined auxiliary functions.
2.2.5.4 Examples
• Output behavior:
– Output duration one OB1 cycle (normal acknowledgment)
– Output prior to motion
Parameterization: M4
• Machine data index: 1 (2. 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
Parameterization: M5
• Machine data index: 2 (3. 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
Function
The output behavior of the auxiliary function relative to a traverse motion programmed in the
part program block can be defined type-specifically in the following machine data:
• MD22200 $MC_AUXFU_M_SYNC_TYPE (output time M functions)
• MD22210 $MC_AUXFU_S_SYNC_TYPE (output time S functions)
• MD22220 $MC_AUXFU_T_SYNC_TYPE (output time T functions)
• MD22230 $MC_AUXFU_H_SYNC_TYPE (output time H functions)
• MD22240 $MC_AUXFU_F_SYNC_TYPE (output time F functions)
• MD22250 $MC_AUXFU_D_SYNC_TYPE (output time D functions)
• MD22252 $MC_AUXFU_DL_SYNC_TYPE (output time DL functions)
Output behavior
The following output behaviors can be parameterized:
MD $MC_AUXFU_xx_SYNC_TYPE = <value>
Value Meaning
0 Output prior to motion
1 Output during motion
2 Output at block end
3 No output to the PLC
4 Output according to the predefined output specification
For a description of the various output behaviors, see Section: "Predefined auxiliary
functions" > "Parameter: Output behavior".
Note
For the output behaviors that can be set for each type of auxiliary function, please refer to
the relevant detailed machine data description.
References
/LIS/ Lists
Example
Output of auxiliary functions with different output behaviors in a part program block with
traverse movement.
Parameterized output behavior
• T function: Output before the movement
MD22220 $MC_AUXFU_T_SYNC_TYPE = 0
• M function: Output during the movement
MD22200 $MC_AUXFU_M_SYNC_TYPE = 1
• H function: Output at end of block
MD22230 $MC_AUXFU_H_SYNC_TYPE = 2
Part program block
N10 G01 X100 M07 H5 T5
Time sequence for auxiliary function output
;
7
0
+
!6WDUW1
Function
The user-specific auxiliary functions for which the output behavior: "Output duration one OB1
cycle (slow acknowledgment)" was parameterized, can be defined for each output via the
part program instruction QU (quick) for auxiliary functions with quick acknowledgment.
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 on the output of 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
Programming Comment
N10 G94 G01 X50 M100 Output of M100: during movement
Acknowledgment: slow
N20 Y5 M100 M200 Output of M200: prior to movement
Output of M100: during movement
Acknowledgment: slow
N30 Y0 M=QU(100) M=QU(200) Output of M200: prior to movement
Output of M100: during movement
Acknowledgment: quick
N40 X0 - - -
N50 M100 M200 Output of M200: immediately 1)
Output of M100: immediately 1)
Acknowledgment: slow
M17 - - -
1) Without a traverse movement, auxiliary functions are always output to the PLC
immediately.
The following figure shows the time sequence of the part program. Please note the image
difference during execution of part program blocks N20 to N30.
;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\FOHWLPH2%
2%
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.
Function
On output of an auxiliary function to the PLC, the following signals and values are passed to
the NC/PLC interface:
• change signals
• Parameter: "Address extension"
• Parameter: "Value"
NC/PLC interface
The change signals and values of the auxiliary functions are within the following data range
in the NC/PLC interface:
• Change signals on auxiliary function transfer from NC channel
DB21, ... DBB58 – DBB67
• Transferred M/ and S functions
DB21, ... DBB68 – DBB112
• Transferred T/D/DL functions
DB21, ... DBB116 – DBB136
• Transferred T/D/DL functions
DB21, ... DBB140 – DBB190
References
A detailed description of the NC/PLC interface is to be found in:
/LIS/ Lists, Signals to/from channel (DB21 – DB30)
The access methods for the NC/PLC interface are described in:
/FB/ Description of Function Basic Machines, PLC Basic Program (P3)
2.7 Programming
Syntax
An auxiliary function is programmed in a part program block with the following syntax:
< type > [ < address extension > = ] < value >
Address expansion
If no address extension is programmed, address extension = 0 is implicitly set.
Symbolic addressing
The values for parameter: The "address expansion" and "value" can also be defined
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 1st 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 numeric
value is transferred instead.
Programming examples
Programming examples of auxiliary functions with the corresponding values for output to the
PLC.
Function
For auxiliary functions with parameterized and/or programmed output behavior, too:
• "Output duration one OB40 cycle (quick acknowledgment)"
• "Output prior to motion" or "Output during motion"
continuous-path mode can cause drops in velocity in continous-path mode (short traverse
paths and high velocities). This is because it is necessary 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:
MD22100 $MC_AUXFU_QUICK_BLOCKCHANGE (block change delay with fast auxiliary
functions)
Constraints
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,
acknowledgment comes one OB40 cycle and execution of the auxiliary function comes one
OB1 cycle after the change to the next part program block.
Function
Associated auxiliary functions are user-defined auxiliary functions that have the same effect
as the corresponding predefined auxiliary functions. For the following predefined auxiliary
functions, user-defined auxiliary functions can be associated:
• 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 permitted as parameter "Type" of the user-defined auxiliary function.
Parameterization
Association of a user-defined auxiliary function with one of the predefined auxiliary functions
mentioned is set in the following 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.
the NC/PLC interface as for the corresponding predefined auxiliary function. To distinguish
which auxiliary function has actually been programmed, the value of the user-defined
auxiliary function (Parameter: "Value") is output. This means it is possible to distinguish
between predefined and user-defined auxiliary functions in the PLC user program.
Note
A change to the following machine data may require adjustment of the PLC user program:
• MD22254 $MC_AUXFU_ASSOC_M0_VALUE
• MD22256 $MC_AUXFU_ASSOC_M1_VALUE
Example
Associating the user-defined auxiliary functions M123 with M0:
MD22254 $MC_AUXFU_ASSOC_M0_VALUE = 123
The user-defined auxiliary function M123 has the same functionality as M0 (stop).
Constraints
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.) must not be associated.
Function
Triggering a preprocessing stop in conjunction with an auxiliary function can be programmed
via the STOPRE part program command. Triggering a preprocessing stop in conjunction with
an M 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 (M function with preprocessing stop)
Parameterization
MD10713 $MN_M_NO_FCT_STOPRE [ 0 ] = 88
Application
Part program (extract)
Programming Comment
N100 G0 X10 M88 ; Traverse movement and implicit preprocessing stop via M88
N110 Y=R1 ; N110 is only interpreted after completion of the traverse
; movement and acknowledgment of the M function.
Constraints
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)
Overstore
On the SINUMERIK HMI operator interface, the following functions:
• NC START of a part program
• NC START to resume an interrupted part program
the auxiliary functions that are output with the start, can be changed with 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) remains valid, until it is overwritten by
another auxiliary function of the same auxiliary function group by overstoring again or by
programming in a part program block.
Function
Block searches with calculation collect up auxiliary functions on a groupspecific basis. The
last auxiliary function in each auxiliary function group is output after NC-START, before the
actual reentry block, in a separate part program block that has the following output behavior:
• Output duration one OB1 cycle (normal acknowledgment)
• Output prior to motion
/FB/ Description of Functions - Basic Functions: Mode Group, Channel, Program Operation
Mode (K1)
Function
For example, with 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.
This requires suppression of automatic output of the spindle-specific auxiliary functions after
block search. Output can then be performed manually later by overstoring or by an ASUB.
Parameterization
Suppression of automatic output of the spindle-specific auxiliary functions after block search
is performed via:
MD11450 $MN_SEARCH_RUN_MODE, bit 2
Bit 2 = 0
Output of the spindle-specific auxiliary functions is performed in the action blocks
Bit 2 = 1
Output of the auxiliary functions is suppressed in the action blocks.
System variables
The spindle-specific auxilary 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.
References
More detailed information on ASUB, block search, and action blocks is to be found in:
/FB/ Description of Functions Basic Machine; Mode Group, Channel, Program Operation
(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:
MD11450 $MN_SEARCH_RUN_MODE, Bit 2 = 1
The ASUB is started after block search for N55.
Part program
ASUB
PROC ASUP_SAVE
MSG ("Output of the spindle functions")
DEF INT SNR=1
AUSG_SPI:
M[SNR] = $P_SEARCH_SGEAR[SNR] ; Output gear stage
S[SNR] = $P_SEARCH_S[SNR] ; Output speed (On M40 the suitable
; gear stage is ascertained)
M[SNR] = $P_SEARCH_SDIR[SNR] ; Output rotation direction, positioning
; or axis mode
SNR = SNR+1 ; Next spindle
REPEAT AUSG_SPI P=$P_NUM_SPINDLES-1 ; For all spindles
MSG("")
REPOSA
RET
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.
Control response with REPOS
If the started ASUB is concluded with REPOSA, spindle 1 remains at 111 degrees while
spindle 2 is repositioned at 77 degrees.
If a different response is necessary, the program sequence for block search, e.g. "N05 M3
S..." und "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 a position calibration on crossing the zero
mark or switch-on of position control. For this reason, the distance programmed from the
position as the REPOS position (REPOSA in the ASUB) is assumed to be zero.
Constraints
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 when block search is applied across ranges in which spindles are not
programmed with a direction of rotation, positioning, or axis mode, the last spindle mode is
retained.
Programming M19, SPOS, and SPOSA is collected as "M-19" (internal M19) in system
variable $P_SEARCH_SDIR as an alternative to M3, M4, M5, and M70.
On output of "M-19", the positioning data are read internally from the system variables
$P_SEARCH_SPOS and $P_SEACH_SPOSMODE. Both system variables can also be
written, 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.
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
Thread cutting
During active thread cutting G33, G34, and G35, the following output behavior is always
active for the spindle-specific auxiliary functions:
• M3 (spindle right)
• M4 (spindle left)
:
• Output duration one OB40 cycle (quick acknowledgment)
• Output during motion
The spindle-specific auxiliary function M5 (spindle stop) is always output at the end of the
block. The part program block that contains M5 always ends with an exact stop, even if
continuous-path mode is active.
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)
Task
Parameterization 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
Switching functions for cooling water on/off
• Spindle 1
– "On" = M50
– "Off" = M51
• Spindle 2
– "On" = M52
– "Off" = M53
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 to auxiliary function group 2 by default.
• All S and S1 values of spindle 1 (master spindle) are assigned to auxiliary function group 3 by
default.
• The gear stage last programmed is to be output after block search. For this purpose, the
following auxiliary functions are assigned to auxiliary function group 9:
– M40, M41, M42, M43, M44, M45
– M1=40, M1=41, M1=42, M1=43, M1=44, M1=45
• Auxiliary functions M3, M4, M5, M70 and M1=3, M1=4, M1=5, M1=70 (auxiliary function
group 2) and the S and S1 values (auxiliary function group 3) are to have the following
output behavior:
– Output duration one OB40 cycle (quick acknowledgment)
– Output prior to motion
• The auxiliary functions for gear change M40 to M45 and M1=40 to M1=45 (auxiliary
function group 9) are to have the following output behavior:
– Output duration one OB1 cycle (normal acknowledgment)
– Output prior to motion
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. For this purpose,
the following auxiliary functions are assigned to auxiliary function group 10:
– M2=3, M2=4, M2=5, M2=70
• All S2 values are assigned to auxiliary function group 11.
• Auxiliary functions M2=3, M2=4, M2=5, M2=70 (auxiliary function group 10) and the S2
values (auxiliary function group 11) are to 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:
– 12. auxiliary function group: M50, M51
– 13. auxiliary function group: M52, M53
• Auxiliary functions M50, M51 (auxiliary function group 12) and M52, M53 (auxiliary
function group 13) are to have the following output behavior:
– Output duration one OB1 cycle (normal acknowledgment)
– Output prior to motion
Programming Remarks
$MN_AUXFU_MAXNUM_GROUP_ASSIGN = 21 Number of user-defined auxiliary functions per
channel
Programming Remarks
Programming Remarks
$MC_AUXFU_ASSIGN_TYPE[20] = "M" Description of auxiliary function 21: M53
$MC_AUXFU_ASSIGN_EXTENSION[20] = 0
$MC_AUXFU_ASSIGN_VALUE[20] = 53
$MC_AUXFU_ASSIGN_GROUP[20] = 13
5.2 Signals
A
E
Address extension, 2-21
Area Extension of predefined auxiliary functions, 2-11
Output duration, 2-19
Output relative to motion, 2-20
Areas of the output behavior, 2-19 F
Auxiliary function output
F functions, 1-6
Block search, 2-26
FA functions, 1-7
Auxiliary function without auxiliary function
Fast acknowledgment, 2-5, 2-22
group, 2-26
Auxiliary functions of auxiliary function group 1, 2-
26
G
Group assignment, 2-13
B Grouping together auxiliary functions, 2-4
Behavior regarding
M19, 2-27
M
M functions, 1-3
C M98, 2-25
Maximum number, 2-11
Collected direction of rotation, 2-30
MD10713, 2-25
Collected S values, 2-29
MD10715, 2-25
Constraints
MD11100, 2-11
Auxiliary function: M1, 3-2
MD11110, 2-20
Auxiliary functions: M17 or M2 / M30, 3-2
MD11450, 2-27
DL (additive tool offset), 3-1
MD20090, 3-1
Maximum number of auxiliary functions per part
MD20124, 3-1
program block, 3-1
MD20800, 3-2
Part program blocks without traverse
MD22000, 2-13, 2-15, 2-16
movement, 3-3
MD22010, 2-13, 2-15, 2-16
Spindle replacement, 3-1
MD22020, 2-13, 2-15, 2-16
Synchronized actions, 3-2
MD22030, 2-13, 2-15, 2-16
Tool management, 3-1
MD22035, 2-14, 2-15, 2-16, 2-20
Detailed description 2
Supplementary conditions 3
SINUMERIK 840D/840Di/810D
Examples 4
Mode Group, Channel, Program 5
Data lists
Operation, Reset Response (K1)
Function Manual
10/04
6FC5 297-7AC20-0BP1
Safety Guidelines
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 to property damage only 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.
Prescribed Usage
Note the following:
Warning
This device may only be used for the applications described in the catalog or the technical description and only in
connection with devices or components from other manufacturers which have been approved or recommended
by Siemens. Correct, reliable operation of the product requires proper transport, storage, positioning and
assembly as well as careful operation and maintenance.
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.
Siemens AG
Automation and Drives Siemens AG 2005
Postfach 4848, 90327 Nuremberg, Germany Technical data subject to change
Tables
Table 2-1 Mode change ........................................................................................................................... 2-11
Table 2-2 Effect on program status.......................................................................................................... 2-76
Table 2-3 Responses to operator or program actions ............................................................................. 2-78
Table 2-4 Typical program sequence....................................................................................................... 2-79
Table 2-5 Sequence when starting a part program.................................................................................. 2-83
Table 2-6 Sequence at part program end ................................................................................................ 2-84
Table 2-7 Sequence with operator panel reset ........................................................................................ 2-84
Table 2-8 Table 1–9 Sequence during power-up..................................................................................... 2-85
Table 2-9 Summary of NCK events, which stop at least for short time ................................................... 2-91
Table 2-10 Program control Interface bits................................................................................................ 2-111
Table 2-11 Change system settings by means of MD ............................................................................. 2-123
Table 2-12 Selection of RESET and powerup response ......................................................................... 2-126
Table 2-13 Effect of MD 20110: RESET_MODE_MASK Bits 0...6 .......................................................... 2-126
Table 2-14 Effect of MD 20110: RESET_MODE_MASK Bits 7..0.12 ...................................................... 2-127
Table 2-15 Effect of MD 20110: RESET_MODE_MASK Bits 13...17 (SW 6.4 and higher bits 16 to 17) 2-127
Table 2-16 Effect of MD 20112: START_MODE_MASK Bits 1...7........................................................... 2-129
Table 2-17 Effect of MD 20112: START_MODE_MASK Bits 8..0.12 ...................................................... 2-129
Table 2-18 Effect of MD 20112: START_MODE_MASK Bits 13...17 (SW 6.4 and higher bits 16 to 17) 2-129
Mode group
Channel
An NC channel represents the smallest unit for the manual traversing of axes and the
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 in the mode group are
always in the same mode at a particular time, e.g., AUTOMATIC, MDA or JOG. This is
ensured by the internal mode logic of the NC.
A mode group can be regarded as an independent multi-channel NC.
Channel gaps
When configuring channels, placeholder channels can be provided in order to keep the
machines in a series as uniform as possible. Only the channels, which are actually used, are
then activated.
Program test
To test or travel in a new part program, there are a variety of options in the test phase for
significantly reducing critical situations:
• Program execution without setpoint outputs
• Program execution in singleblock mode
• Program execution with dry run feedrate
• Skip part-program blocks
• Block search with or without calculation.
Block search
The following program simulations are available when searching for specific parts of the
program using block search:
• Type 1 without calculation at contour
Single block
With the single-block function, the user can process a part-program block-by-block.
There are 3 types of setting for the single-block function:
• SLB1 := IPO single block
• SLB2 := Decoding single block
• SLB3 := Stop in cycle
The actually approached end positions are shown as an absolute position. The positional
data refer either to the workpiece coordinate system (WCS) or the settable zero system
(SZS).
Reset response
The control-system response can be altered via machine data for G codes such as tool
length compensation, transformation, coupled axis groupings, tangential followup, and
programmable synchronous spindle functions for certain system settings following:
• Power up (POWER ON)
• Reset/part-program end
• Part-program start
Mode group
A mode group contains all those channels that always have to operate in the same mode.
Mode group
Note
This description assumes one mode group and one channel. Functions requiring several
channels (e.g., axis transfer) are described in
References: /FB/, K5, "Mode Groups, Channels, Axis Transfer"
The configuration of a mode group defines which channels are to be included in the group.
Note
The control system does not know mode-group-specific data. It is, however, also possible to
make some channelspecific settings pertaining to the mode group.
Channelspecific assignments
Axes can be assigned to different channels which, in turn, are allocated to different mode
groups. The axes can then be swapped between these channels (axis replacement). Axis
replacement functions independently of the mode group.
Machine axes and/or spindles are assigned to a channel, with the following different
operating characteristics:
• Geometry axes can be operated in a 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 traverse as path axes, synchronous axes,
positioning axes, PLC axes and
command axes.
• Special axes have no geometric relationship
with one another.
• 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 command Geo axis replacement can be programmed to declare a channel axis as a
geometry axis and define its geometry axis number. Which spindle in the channel will be the
master spindle is defined using SETMS.
With SW 4.4 and higher, it is possible to configure each axis existing in the channel as a
spindle. The number of axes per channel depends on the control version. In order to
optimize the performance utilization, the available channel configurations and associated
axes depend on the hardware.
On the SINUMERIK 840D, depending on the hardware/software version,
up to 12 axes/spindles are allowed per channel
and up to 31 axes or
up to 20 spindles per NCU.
For further information about other axis configurations such as axis containers, link axes,
reciprocating axes, main run, rotary, linear, master and slave axes and the various
implementations, please refer to:
References: /FB/, K2, "Axes, Coordinate Systems, Frames, Workpiece-Related Actual-Value
System"
/FB/, S1, "Spindles", /BU/, "Order Document, Catalog NC 60"
Modegroup signals (PLC => NCK) Modegroup signals (NCK => PLC)
Machine data
There are no modegroupspecific machine data.
Channel gaps
Channels to which a mode group is assigned with MD10010:
ASSIGN_CHAN_TO_MODE_GROUP are deemed to have been activated.
The number 0 can be assigned to channels instead of a mode group number. The result is
as follows:
• The nonactivated channel does not require memory in the control
• Series machines with similar designs can be kept uniform during configuration. Only the
channels, which can actually be used by the machine tool, are activated.
(Mode group number greater than 0)
Special case:
Channel 1 must always exist. If ASSIGN_CHAN_TO_MODE_GROUP[0] = 0 is specified, the
control automatically sets ASSIGN_CHAN_TO_MODE_GROUP[0] = 1 (mode group 1).
Configuration example:
ASSIGN_CHAN_TO_MODE_GROUP[0] = 1
ASSIGN_CHAN_TO_MODE_GROUP[1] = 2
...
ASSIGN_CHAN_TO_MODE_GROUP[3] = 0 ; Gap
...
ASSIGN_CHAN_TO_MODE_GROUP[8] = 1
ASSIGN_CHAN_TO_MODE_GROUP[9] = 2
Function
The following NC/PLC interface signals stop the traversing motions of the axes or of the
axes and spindles in all mode group channels and interrupt part-program execution.
• DB11, ... DBX0.5 (mode group stop)
• DB11, ... DBX0.6 (mode group stop axes plus spindles)
Function
A mode group reset request is made by sending a mode-group-specific NC/PLC interface
signal:
DB11, ... DBX0.7 = 1 (mode group reset)
Sequences in the mode group channels
• Part-program preparation (preprocessing) is stopped.
• All axes and spindles are decelerated to zero speed according to their acceleration ramp
without contour violation.
• Any auxiliary functions not yet output to the PLC are no longer output.
• The preprocessing pointers are positioned on the interruption point and the block pointers
are set to the beginning of the appropriate part programs.
• All initial settings, e.g., G function initial settings, are set to the parameterized values.
• All alarms with the cancel criterion: "Channel RESET" are deleted.
Unique mode
The mode group channels operate in one mode.
A mode group operates in one of the modes
AUTOMATIC, JOG or MDA
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 implicitly.
AUTOMATIC
Automatic processing of part programs
• Part-program test
• All channels of the mode group can be active at the same time
JOG in Automatic
JOG in AUTOMATIC is an extension of AUTOMATIC mode intended to simplify use. JOG
can be executed without leaving AUTOMATIC mode if limitations so permit. For details, see
the end of this section.
JOG
Jogging (manual axis traversal)
• The axes can be traversed manually with the handwheel or the traversing keys.
• Channelspecific signals and interlocks are effective with an active ASUB or when a
movement is activated via IDS synchronized actions. Couplings are also effective.
• Every channel in the mode group can be active.
MDA
Manual Data Automatic (the NC blocks are entered on the operator panel)
• Restricted automatic execution of part programs and sections of part programs (can only
be a block or a sequence of blocks).
• Part-program test.
• A maximum of 1 channel per mode group can be active (applies only to TEACH IN)
• Axes can be manually traversed only in subordinate machine functions such as JOG,
REPOS or TEACH IN.
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 the PLC via interface
signals IS "Mode strobe" (DB11, ... DBX4.0 to DBX4.2), but not activated at this point.
Displays
The current group operating mode is activated via the signals on interface "Active mode"
(DB11, ... DBX6.0 to DBX6.2).
• JOG (DB11, ... DBX6.2)
• MDA (DB11, ... DBX6.1)
• AUTOMATIC (DB11, ... DBX6.0)
State errors
The following three channel states can occur in each mode:
1. Channel reset
The machine is in the 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 started; program execution or reference point approach is in progress.
3. Channel interrupted
The running program or reference point approach has been interrupted.
2. Moving the handwheels causes a JOG movement and the mode group is switched to
JOG internally, unless DRF is active.
3. An ongoing JOG movement is only completed if the end position of the increment has
been reached (if this has been set) or the movement has been aborted with “Delete
distance-to-go”. In this way an increment can be stopped using Stop and then moved to
the end using Start. The NCK remains in “Internal–JOG” during this time. A partial
increment is possible, but it must not be interrupted using Stop. There is a mode in which
removal of the control key causes interruption within an increment.
4. Without any JOG movement, “JOG in AUTOMATIC” responds in the same way as
“Automatic”. In particular, the Start key starts the selected part program and the
appropriate HMI softkey triggers a block search.
5. If JOG movement is active, the NCK is internally in JOG mode: the block search request
is refused and the Start key cannot start the part program. Start starts any remaining
increment or has no effect.
6. 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 JOG
movement of another axis.
7. Axis transfer is not possible if JOG movement is active for an axis. (The axis might
change mode group). The NCK blocks any axis transfer attempt.
8. The PLC–user interface displays operating mode “Automatic”:
DB11.DBX6.0=1
DB11.DBX6.1=0
DB11.DBX6.2=0
DB11.DBX7.0=0
DB11.DBX7.1=0
DB11.DBX7.2=0
9. In “JOG in AUTOMATIC”, the PLC–user interface displays whether the mode group is in
“Mode group RESET”. In this way the NCK can 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
10.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
Supplementary 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 switches off “Internal–JOG” and returns to AUTO
mode. The internal mode change is delayed until the movement is completed. This avoids
unnecessary multiple switching operations, e.g., when using the handwheel. The PLC can
only respond to the “Internal–Jog–Active” PLC signal.
The NCK will then switch to “Internal–JOG” if the axis is not enabled.
Introduction
General
Switchover to another operating mode 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 in a mode group to accept different modes at the same
time.
What mode transitions are possible and how these are executed is configured machine-
specifically in the PLC program.
Note
The mode is not changed internally until the signal "Channel status
active" is no longer pending. For an error-free mode change, however,
a permissible operating state must have been applied to all channels.
Special cases
2.3 Channel
Assignment of programs
Part programs are assigned to channels. Programs in different channels are largely
independent of each other.
Channel properties
Channel
A channel constitutes an "NC" in which a part program can be executed at a particular 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 a dedicated path interpolator to each channel with the associated
program execution. Each channel can run its own machining program, which is controlled
from the PLC.
The following channelspecific functions make it possible for the channels to process part
programs independently:
• Each channel has its own NC Start, NC Stop, Reset
• One feedrate and 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 by the path axes
• Selection and deselection of tool cutting edges and their length and radius compensation
for a tool in a specific channel
For further information about tool compensation:
References: /FB/, W1, "Tool Compensation"
• Channelspecific frames and frames active in the channel for transforming closed
calculation rules into Cartesian coordinate systems. Translations, rotations, scales and
mirrors are programmed in frames for geometry axes and special axes.
For further information about frames
References: /FB/, K2, "Axes, Coordinate systems, Frames,
Workpiece-Related Actual Value System., External Zero Offset"
• Display of channelspecific alarm reactions
• Display of current machining state (axis position, current G functions, auxiliary functions,
current program block) of 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).
Channel settings
Channel configuration
Individual channel names can be assigned to the channels in MD 20000: CHAN_NAME
(channel name). The various axes are then assigned to the available channels via machine
data. For one axis/spindle, only one setpointdetermined channel can exist at a time. 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.
The following channelspecific settings can also be made in the machine data:
• Initial settings or basic programming settings of G groups via MD 20150:
GCODE_RESET_VALUES (initial setting of G groups)
• Auxiliary function groups for compilation and output timing
• Transformation conditions between machine axes and geometry axes
• Other settings for the execution of a part program
Machine data
The channelspecific machine data are listed in Chapter 7.
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 by PLC or NCK. The channel
signals are described in Chapter 5.
Technology in channel
Machine data MD 27800: TECHNOLOGY_MODE can be used to relate the technology
specification for the machine to specific channels. Among other functions, this information is
evaluated for HMI, PLC and standard cycles.
Siemens supplies standard machine data 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.
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 permitted for the selected channel.
Start attempts are counted internally.
If a start is executed via 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, which have been sent but not executed. (OPI variable startRejectCount).
Alarms
Start attempts during global block disable can if required be signaled. Control is via MD
11411: ENABLE_ALARM_MASK Bit 6:
1: Alarm 16956 appears: Channel %1, Program %2 cannot be started because of "Global start
disable".
0: Start attempts when a global block disable is set are not signaled by an alarm.
Purpose
Several control functions are available for testing a new part program. These functions are
provided to reduce danger at the machine and time required for the test phase. Several
program functions can be activated at the same time to achieve a better result.
Test options
The following test options are described below:
• Program execution without setpoint outputs
• Program execution in singleblock mode
• Program execution with dry run feedrate
• Skip part-program blocks
• Block search with or without calculation.
No axis motion
Functionality
In the Program Testing status, a part program is executed without the output of axis or
spindle setpoints.
The part program can be started and processed during the active program test function
using the IS "NC start" (DB21, ... DBX7.1), i.e., using auxiliary functions, G function outputs,
etc. The safety functions, for example software limit switch and work area limits, remain
valid.
The only difference to normal program operation is that an internal axis disable is set for all
axes (including spindles). The machine axes do not move, the actual values are generated
internally from the setpoints that are not output. The programmed velocities remain
unchanged. This means that the position and velocity information output on the operator
interface is exactly the same as that output during normal part-program operation.
The position control is not interrupted when this function is active, so the axes do not have to
be referenced when the function is switched off.
Benefits
The user can 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 menu Program control. This
selection sets the IS "Program test selected" (DB21, ...DBX25.7) This does not activate the
function.
Activation
This function is activated via IS "Activate program test" (DB21, ... DBX1.7)
Displays
As a checkback for the active program test, the appropriate field on the operator interface is
reversed and the IS "Program test active" (DB21, ... DBX33.7) is set.
Caution
The signals for exact stop (DB 31–61, DBX60.6, DBX60.7) reflect 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 ”Program test active” (DB21, ... DBX33.7), both the PLC program and the part
program can decide via the $P_ISTEST variable how to react or branch in response to these
signals during testing.
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.
Tool management
Because of the axis disable, the assignment of a tool magazine is not changed during
program testing. A PLC application must ensure that the integrity of the data in the tool
management system and the magazine is not corrupted.
You will find an example for the basic PLC program on the toolbox diskettes.
Single block
Functionality
The part program can be started via IS "NC Start" (DB21, ... DBX7.1).
Part-program execution stops after each program block when the "single-block" function is
active.
If cutter or cutting edge radius compensation is selected, the program stops after each
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.
Block-by-block control
Benefits
The user can process a part-program block-by-block to check the individual machining steps.
Once he has decided that a processed part-program block is correct, he can call the next
block. This is done by triggering NC Start.
Single-block type
The following different types of single block are provided:
• Decoding single block
With this type of single block, all blocks in the part program (even the pure computation
blocks without traversing motions) are processed sequentially by "NC Start".
• Action single block
With this type, all blocks, which initiate actions (traversing motions, auxiliary function
outputs, etc.) are processed individually. Those blocks generated during decoding (e.g.,
cutter radius path compensation at acute angles) are also processed in singleblock
mode. Processing is however not stopped at calculation blocks as these do not trigger
actions.
Action single block is initial setting.
Caution
With a series of G33/G34/G35 blocks, single block is operative only if "Dry run feedrate" 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
Activation
On detection of the "Single Block" key, the machine control panel sets the PLC basic
program (DB21, ... DBX0.4) to activate the single-block function.
If there is no machine control panel available, the "single block" key on the HMI Embedded
in the machine can be used to the same effect.
If there is no machine control panel available with HMI Advanced, a user display must be
projected using the appropriate softkey to set/reset (DB21, ... DBX0.4).
Displays
The status signal that single-block mode is active is shown by inversion of the relevant field
on the operator interface. As soon as the part-program execution routine has processed a
part-program block as a result of single-block mode, the IS "Program status interrupted"
(DB21, ...DBX35.3) is set.
Control options
For certain sequences, continuous program execution can be requested despite the
selection of single-block mode.
The MD 10702: IGNORE_SINGLEBLOCK_MASK specifies, which routines must be
processed without interruption.
• Internal ASUPs
• User ASUBs
• Intermediate blocks
• Block search group blocks (action blocks)
• Init blocks
• Subroutines with DISPLOF
• Nonreorganizable blocks
• Nonrepositionable blocks
• Reposition block without travel information
Stored feedrate
Functionality
The part program can be started via IS "NC Start" (DB21, ... DBX7.1). When the function is
active, the traversing velocities programmed in conjunction with G01, G02, G03, G33, G34
and G35 are replaced by the feed value stored in SD 42100: DRY_RUN_FEED. The dry run
feedrate also replaces the programmed revolutional feedrate in program blocks with G95.
Use
Danger
Workpieces must 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
Dry run feedrate is selected via the operator interface in the Program control menu. This
selection sets the IS "Dry run feedrate selected" (DB21, ... DBX24.6) This does not activate
the function. In addition, the required dry run feedrate must be entered in the menu Setting
data/JOG data.
Activation
This function is activated via IS "Activate dry run feedrate" (DB21, ... DBX0.6)
Displays
The relevant field in the status line on the operator interface is shown in reverse video to
indicate that the dry run feedrate is active .
Identification
The operating function must be selected, the function must be activated and the blocks in
question must be identified with a slash character.
Handling
Functionality
When testing new programs it is useful to be able to disable or skip certain part-program
blocks during program execution.
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
The skip function is selected via the operator interface in the menu Program control. This
selection sets IS "Skip block selected" (DB21, ... DBX26.0). This does not activate the
function. In addition, a slash "/" must be written before the blocks to be skipped.
Activation
This function is activated via IS "Activate skip block" (DB21, ... DBX2.0).
The "Skip part programs" function remains active during block searches.
Displays
The relevant field in the status line on the operator interface is shown in reverse video to
indicate that the function "Skip block" has been activated.
Functionality
Block search offers the possibility of beginning the processing of a part program 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. The aim is to
determine as accurately as possible the control status of the target block during normal part-
program execution, e.g., with regard to:
• Axis positions
• Spindle speeds
• Changed tools
• NC/PLC interface signals
• Tag values
in order to be able to proceed with automatic part-program execution with the minimum
number of manual operator actions.
Note
For further information about block searches, please see:
References:
/FB1/ Description of Function Basic Machine; Auxiliary Function Output on PLC (H2)
Section: Block search response
Subsequent actions
On completion of a block search the following subsequent actions may occur:
Chronological sequence
The chronology of block searches of type 1, 2 and 4 is as follows:
• Activate search via input in HMI Advanced or HMI Embedded
• Search target found, or alarm if target cannot be found
• NC Start for output of action blocks
• 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)
Interface signals
In the PLC, the following interface signals are set as shown in the sequence displayed in
figure 1–2:
• IS "Block search active" (DB21, ... DBX33.4)
• IS "Action block active" (DB21, ... DBX32.3)
• IS "Action block active" (DB21, ... DBX32.4)
• IS "Last action block active" (DB21, ... DBX32.6)
• IS "PLC action terminated" (DB21, ... DBX1.6)
Action blocks
Action blocks contain the actions accumulated during "Block search with calculation", e.g.,
auxiliary function outputs, and tool (T, D), spindle (S) and feed programming commands.
During "block search with calculation" (contour or block end point), actions such as M
function outputs are accumulated in socalled action blocks. These blocks are output on an
NC start after "search target found".
Details
Note
With the action blocks, the accumulated spindle programming (S value, M3/M4/M5, SPOS)
becomes also active. The PLC user program must ensure that the tool can be operated and,
if necessary, the spindle programming is reset via the PLC signal ”Spindle reset” (DB31, ...
DBX2.2) or the spindle programming is not output.
MD 11450
The machine data MD 11450: SEARCH_RUN_MODE allows you to set a different response.
If machine data MD 11450: SEARCH_RUN_MODE=1,
alarm 10208 is not output until the PLC sets interface signal "PLC action ended" (DB21, ...
DBX1.6).
MD setting
Activation
The automatic ASUB start after block search is configured in the existing machine data MD
11450: SEARCH_RUN_MODE with bit 1 = 1 (TRUE).
• Bit 1 = 1: automatic start of user program
/_N_CMA_DIR/_N_PROG_EVENT_SPF as an ASUB
With changing of the last action block, the user program
/_N_CMA_DIR/_N_PROG_EVENT_SPF is started as an ASUB.
Events
Start event
The event, which has started this user program, can be determined by requesting the system
variable $P_PROG_EVENT. If it is an ASUB start after a block search, the value 5 can be
requested using the system variable $P_PROG_EVENT.
Note
For further information about the parameter settings for specific events, please see "Event-
driven program calls" under Program Operation.
ASUB activation
Example
Sequence for the automatic start of an ASUB after block search:
1. Start block search (with/without calculation, at contour, at endofblock point)
2. Stop after "Search target found"
3. NC Start for output of action blocks
4. Last action block is changed;
5. Automatic start of /_N_CMA_DIR/_N_PROG_EVENT_SPF as an ASUB
6. The NC will stop after changing the last ASUB block (REPOSA command) and output the
alarm 10208 depending on MD 11450: SEARCH_RUN_MODE with bit 0.
MD setting
Activation
The cascaded block search is configured in the existing machine data
MD 11450: SEARCH_RUN_MODE with bit 3 = 0 (FALSE).
• Bit 3 = 0: cascaded block search is enabled
(i.e., several search targets can be specified).
For compatibility reasons, the cascaded block search can be disabled in
MD 11450: SEARCH_RUN_MODE with bit 3 = 1 (TRUE). By default, the cascaded block
search is set with bit 3 = 0.
Functionality
The function "Cascaded block search" can be used to start another block search from the
status "Search target found". The cascading can be continued after each search target found
as often as you want and can be used for the following block search functions:
• Block search with calculation to contour
• Block search with calculation to block end point
• Block search without calculation.
When the search target is reached, the program execution stops and the search target is
displayed as a current block. Another cascaded block search can be started from this status
only if the search target has been found. After each search target found, a new block search
can be repeated as often as you want. You can change search target specification and block
search function prior to each block search start.
Example
Sequence with cascaded block search:
• Reset
• Block search up to search target 1
• Block search up to search target 2 -> "Cascaded block search"
• NC Start for output of the action blocks -> Alarm 10208
• NC Start -> Continue program execution
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)
Selection
From the following examples, select the type of block search, which best matches your
problem.
7. The PLC uses the PLC signal "Last action block active" to start the ASUB
"END_OF_SEARCH" via FC9 (see References /FB/, P3, "Basic PLC Program")
8. After the end of the ASUB (can be evaluated, e.g., via the M function M90 to be defined,
see example for block N1110), the "PLC enables the PLC action terminated" signal.
An alternative method is to scan VDI interface signal "ASUB stopped" (DB 21-DB30
DBB318 Bit 0).
This causes alarm 10208 to be displayed, i.e. further actions can now be performed by
the operator.
9. Manual operator actions (JOG, JOGREPOS, override)
10.Continue part program on NC Start.
Y
Tool
change point
300 (450,300)
200
Approach movement
Target block N220
100
Approach point
(170,30)
0 X
100 200 300 400
Figure 2-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 at the
tool change point (start point of the target block).
Y
Tool
change point
300 (450,300)
N260
Approach point
100
0 X
100 200 300 400
Figure 2-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).
SERUPRO
The "search run by 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 block search across several channels.
This block search permits a block search with calculation through all the relevant data from
the previous history, so as to acquire all previously valid status data for a particular overall
NC status. In this case, the PLC is brought up to the current status.
The NC is operated in program testing mode during this block search so that interactions
between one channel and synchronized actions, or between several channels, can take
place.
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 on the NCU (4)
The channel for SERUPRO is selected by means of the configuration file maschine.ini,
Section
[BlockSearch]
SeruproEnabled=1 ; SERUPRO softkey available on HMI
SeruproConfig=1 ; Number of the above channel grouping, default value 1
All other channels started with SERUPRO are operated in the "SelfActing 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 couplings for drives such as
Masterslave and electronic gear and axial mastervalue coupling
• Coupled motion in axis grouping and
• Gantry axes
• Tangential followup of individual axes
Activation
SERUPRO is activated via the HMI. SERUPRO is operated using the "Prog.Test Contour"
softkey.
SERUPRO uses REPOS to approach the target block.
8. The user presses Start: The spindles are started and the
path axes then commence a REPOS operation, which takes them to the starting point of
the target block.
The Repos operation is implemented using a system ASUB and can be extended using
the function "Editable ASUB".
SERUPRO operation
The sequence of operations from 2. to 6. corresponds to a SERUPRO operation.
SERUPRO ASUP
An ASUB, which can optionally be called on reaching the target block. Processing is real.
SERUPRO approach
Approaching the target block start point during a block search in SERUPRO test mode.
Note
After program testing has been deactivated, a REPOS operation is initiated that is subject to
the same restrictions as a SERUPRO approach process. Any adverse effects can be
inhibited using an ASUB.
Bit 1 = 0 The alarm aborts the search phase during the part-program START.
Bit 1 = 1 The alarm is suppressed. A program uses part-program command "Start(j)" in channel i
after the following sequence:
The preselected program is started in channel j.
Channel j performs a real start with moving axes.
A program test can be selected beforehand in channel j
by the user. Channel j will now not select a search target.
Bit 2 Reserved
Bit 3 = 0 Switches the function off. All channels that find the search target (also self-acting
SERUPRO) end SERUPRO at the same time.
Bit 3 = 1 SERUPRO ends as soon as the simulation has found the search target. No further
synchronization operations take place in the channels started by SERUPRO.
Note
If the machine manufacturer decides to start an ASUB after the SERUPRO operation as
described under 7., the following must be observed:
Stopped status acc. to point 6. : Machine data
MD11602 ASUP_START_MASK
MD11604 ASUP_START_PRIO_LEVEL
allow the NCK to start the ASUB from the stopped status automatically via the FC9 module.
Acknowledgement by FC9 only after the end of the REPOS block:
The ASUB can only be signaled completed with "ASUB Done" by the FC9 block if the
REPOS block is also completed.
Deselection of intended REPOS operation following 8.:
Starting the ASUB deselects the intended REPOS operation!
The ASUB should, therefore, be completed using REPOSA in order to retain the REPOS
operation.
Deletion of an undesired REPOS operation:
The undesired REPOS process is deleted if the ASUB is terminated with M17 or RET.
Special treatment of ASUB:
As a basic rule, an ASUB, which ends with REPOS and is started from stopped status,
receives special treatment.
The ASUB automatically stops before the REPOS block and displays this via "ASUB is
stopped" (DB21, ... DBX318.0).
Note
Automatic ASUB start with MD 11450: SEARCH_RUN_MODE requires Starts to continue
the program.
The procedure is in this respect similar to other search types.
2.6.1 REPOS
REPOS is controlled by MD 11470: REPOS_MODE_MASK
Case A:
The REPOS process moves all axes of a block from the current position to the target start-
of-block point. 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. REPOS_MODE_MASK Bit 3 = 0.
User information
Regarding the REPOS process
REPOS is generally used to interrupt an ongoing machining operation and to continue
machining after the interruption.
With a SERUPRO approach a program section needs to be "recovered". This is the case
when SERUPRO has terminated the simulation and is to travel to the target block again.
SERUPRO refers to the existing REPOS function that can be adapted by the user.
SERUPRO approach
The user can change the REPOS response of individual axes at selective 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 procedure.
Caution
The REPOS process moves all axes of a block from the current position to the target start-
of-block point with the appropriate setting of 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 by
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, in 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 IS "REPOSDELAY" (DB31, ... DBX10.0) is read if REPOSA is
interpreted. Axes, which are neither geometry nor orientation axes, are then
excluded by REPOS and are not moved.
Danger
Signal DB 31, ... DBX2.2 "Delete distance-to-go" (axis-specific) produces the following
dangerous behavior with ”Prevent repositioning of individual axes" via
MD 11470: REPOS_MODE_MASK (Bit 2==1).
As long as an axis is programmed incrementally after the interruption, the NC approaches
positions different from those approached with no interruption (see example).
Note
If neither bit 3 nor bit 4 is set, "non-path axes" are repositioned in the remaining block in this
phase.
Bit 5 = 1 Modified feedrates and spindle speeds are valid immediately in the residual
block and are given priority. This relates to every REPOS process.
Bit 6 = 1 Neutral axes and positioning spindles are repositioned after SERUPRO.
Neutral axes that are not allowed to be further repositioned must be assigned
IS "REPOSDELAY" (DB31, ... DBX10.0).
Caution
IS “REPOSDELAY” (DB31, ... DBX10.0) has no effect on machine axes that form a path.
Whether an axis is a path axis can be determined with IS "Path axis" (DB31, ... DBX76.4).
Note
In the current ASUB, IS “REPOSMODEEDGE” (DB21, ... DBX31.4) does not affect the final
REPOS, unless this signal applies to the REPOS blocks. In Case A, the signal is only
allowed in stop mode.
Response to RESET: NCK has acknowledged the PLC signal
If the level of the signals IS “REPOSMODEEDGE” (DB21, ... DBX31.4) = 1
and IS “REPOSMODEEDGEACKN” (DB21, ... DBX319.0) = 1
and a RESET occurs in this situation, the NCK clears
IS "Repos Path Mode Ack0-2" (DB21, ... DBX319.1–319.3).
NCK has not yet acknowledged the PLC signal:
If the level of the signals IS “REPOSMODEEDGE” (DB21, ... DBX31.4) = 1
and IS “REPOSMODEEDGEACKN” (DB21, ... DBX319.0) = 0
and a RESET occurs in this situation, the NCK clears
IS “REPOSMODEEDGEACKN” (DB21, ... DBX319.0) = 0 and
IS “Repos Path Mode Ack0-2” (DB21, ... DBX319.1–319.3).
While the SERUPRO ASUB is being executed, e.g., in the program section before the
REPOS operation, IS "REPOSMODEEDGE" (DB21, ... DBX31.4) does not affect the
SERUPRO approach.
Note
If the NCK has not yet acknowledged IS “REPOSMODEEDGE” (DB21, ... DBX31.4) with IS
“REPOSMODEEDGEACKN” (DB21, ... DBX319.0), 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.
&RPPDQGLVVWDUWHGZLWK$683
5HSRVLWLRQ
IURP5(326LVWHUPLQDWHG
1 7KHUHPDLQLQJEORFNVWDUWV
6HOHFW501
6WRSSDUWSURJUDP
6WDUWSDUWSURJUDP 7KHUHPDLQLQJEORFN
LVILQLVKHG
5(3263$7+02'(
5(32602'(('*(
5(32602'(('*($&.1
5HSRV3DWK0RGH$FN
W
Figure 2-6 REPOS sequence in part program with timed acknowledgement signals from NCK
Value 1:
The axis has to traverse the REPOS offset.
Scope
IS "REPOS offset" (DB31, ... DBX70.0) is supplied at the end of the SERUPRO process. The
REPOS offset is invalidated at the start of a SERUPRO ASUB or the automatic ASUB start.
Display scope
The scope of the REPOS offset is displayed with IS "REPOS offset valid" (DB31, ...
DBX70.1). It is indicated whether the REPOS offset calculation was valid or invalid:
Value 0:
The REPOS offset of this axis is calculated correctly.
Value 1:
The REPOS offset of this axis cannot be calculated, as the REPOS has not yet occurred,
e.g., it is at the ASUB end, or no REPOS is active.
Approach modes
1 2 3 4
Note
RMN is a general REPOS extension and is not restricted to SERUPRO. RMI and RMB are
identical with respect to SERUPRO.
With IS “REPOSPATHMODE0–2” (DB21, ... DBX31.0–31.2), the path as a whole is affected.
The path axes cannot be changed individually.
The behavior of the other axis types can be changed individually with IS "REPOSDELAY"
(DB31, ... DBX10.0). This REPOS offset is not applied immediately, but only when it is next
programmed.
For further information about programming the repositioning point, please see
References: /PGA/, ”Path Behavior” Repositioning on Contour
Caution
The NC as a discrete system generates a sequence of interpolation points
It may occur that a synchronized action, which was triggered in normal operation, is no
longer triggered in SERUPRO.
Tool management
If the tool management is active, the following setting is recommended:
MD 18080: TOOL_MANAGEMENT_MASK, set BIT 20 = 0.
The tool management command generated during the SERUPRO process 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 status of the tool enabled during the test mode can assume the 'active' status.
The wrong tool may then be on the spindle after the SERUPRO operation.
Remedy:
The user starts a SERUPRO ASUB with real movement. Prior to the start, the user can
start an ASUB changing the correct tool.
SERUPRO operation: Functionality: In sequence steps 2. to 6.
SERUPRO ASUB: Functionality: The sequence of point 7.
Bit 11 must also be set to 1 in machine data
MD 18080: TOOL_MANAGEMENT_MASK, because the ASUB may have to repeat a T
selection.
Systems with tool management and auxiliary spindle are not supported by SERUPRO!
Example
Tool change subroutine
current.
N590 IF TNR_AKTUELL <> TNR_VORWAHL ; Approach tool change position
N600 G0 G40 G60 G90 SUPA X450 Y300 Z300 D0
N610 M206 ; Execute tool change
N620 ENDIF
N630 M17
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
N1070 T = $TC_TP2[TNR_SUCHLAUF] ; T selection by tool name
N1080 L6 ; Call tool change routine
;
N1085 ASUP_ENDE1: ;
N1090 IF TNR_VORWAHL == TNR_SUCHLAUF GOTOF ;
ASUP_ENDE
N1100 T = $TC_TP2[TNR_VORWAHL] ; Restore T preselection by tool name
;
N1110 ASUP_ENDE: ;
N1110 M90 ; Check-back signal to PLC
N1120 REPOSA ; ;ASUB end
In both of the programs PROC L6 and PROC ASUPWZV2, the tool change is programmed
with M206 instead of 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 rampup is performed as follows with the SERUPRO ASUB:
• 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 status in the target block 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 considered in the
event of modifications for SERUPRO approach and spindle functionality.
For further information about operating mode switchover of spindles, please see
References: /FB/, S1, "Spindles" 2.1 Spindle operating modes
Selfacting SERUPRO
The channel-specific function "Self-acting SERUPRO" allows a SERUPRO process step
without previously having defined a search target in a program of the relevant 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 function "Selfacting SERUPRO" supports the block search SERUPRO acting in several
channels.
Function
The process "SelfActing SERUPRO" is not intended 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 change.
Activation
"Self-acting SERUPRO" is activated by the HMI as a block search start for block search type
5 for the target channel "seruproMasterChan".
No search target is specified for dependent channels started from the target channel.
2.6.5 Inhibit specific part of the program in the part program for 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, the hold block is used
as a search pointer.
Machine function block
Is a single block (SBL1), which 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.
are set. 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 points control the interaction between language commands IPTRLOCK and
IPTRUNLOCK with reference to nesting and end of subprogram.
1. IPTRUNLOCK is activated implicitly at the end of the subprogram in which IPTRLOCK
was called.
2. IPTRLOCK has no effect in an existing search-suppressed area.
3. If subprogram1 calls subprogram2 in a search-suppressed area, subprogram2 remains
search-suppressed. In particular, IPTRUNLOCK is ignored if programmed in
subprogram2.
N10060 R2 = R2 + 2 ;
N10070 G4 F1 ; End of search-suppressed program
section
N100 G0 X100 ;
N200 EGON(Y, "NOC", X, 1, 1) ; search-suppressed program section
starts
N300 LEADON(A, B, 1) ;
... ;
N400 EGOFS(Y) ;
... ;
N500 LEADOF(A, B) ; search-suppressed program section
ends
N600 G0 X200 ;
A program abort within the search-suppressed program section (N200 - N500) always
passes N100 to the interrupt pointer.
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 be useless defacto.
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:
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.
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.
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.
Supplementary 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 nonmodal FOC and
cannot, therefore, be traced by FOCREPOS. FOCREPOS 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 under
References: /FB/, F1, ”Traversing to Fixed Stop" General Functions
Caution
In order to be able to simulate couplings correctly, the couplings must have been
switched off previously.
This can be achieved via machine data MD 10708: SERUPRO_MASK.
LEADON
The following specifications apply for the simulation of leading-value couplings:
Note
For further information about the repositioning of axis couplings, please see
"Continue machining after SERUPRO search target found"
Master-slave
The link status should only be updated without calculating the associated positions during
block search.
A system ASUB can be started automatically when 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.
Coupled axes
The following axis 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
If the following axes of the master axis are in another channel,
any attempt to accelerate the processing speed by setting
MD 22601: SERUPRO_SPEED_FACTOR = positive will have no effect.
Coupled motion
The motionsynchronous action for coupled motion of an axis grouping with TRAILON and
TRAILOF is supported by SERUPRO.
For further information about coupled motion with TRAILON, TRAILOF, please see
References: /FB/, M3, "Axis Couplings and ESR"
/PGA/, "Path Behavior" and "MotionSynchronous Actions"
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, please refer to
References: /FB/, G1, "Gantry Axes"
Tangential control
The tangential control of individual axes is supported by SERUPRO.
For further information about tangential control, please see:
References: /FB/, T3, "Tangential Control"
If "superimposed movements" are used, only the block search via Program Test
(SERUPRO) can be used, since the superimposed 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 transfer
Enable
The axial IS "Program test axis/spindle enable" (DB31, ... DBX3.7) affects axis enable
signals when no control enables are to (or can) be issued at the machine and is active only
during the program test or when SERUPRO is active.
It is possible to issue this enable via the interface signal PLC→NCK
IS "Program test axis/spindle enable" (DB31, ... DBX3.7). 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 IS "Program test axis/spindle enable"
(DB31, ... DBX3.7) is then canceled, alarm 21612: "Channel %1 axis %2 VDI signal
’servo enable’ reset during motion” is activated.
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 currently not considered in
SERUPRO approach.
The following behavior can be activated for SERUPRO REPOS via machine data
$MN_REPOS_MODE_MASK:
The neutral axes are moved as “command axes” in SERUPRO REPOS . The axis
interpolates without a path context even when last programmed as a path axis. In this case
the velocity is derived from $MA_POS_AX_VELO. After SERUPRO approach this axis is
again neutral. Neutral axes that are however not allowed to be repositioned must be
assigned 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.
Operational sequences
The gear stage change requires physical movements from the NCK in order to select a new
gear.
A gear stage change is not required in the SERUPRO operation and is performed 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 configured in MD 35035: SPIND_FUNCTION_MASK with bits
0 to 2 for DryRun, program testing and SERUPRO.
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,
please see
References: /FB/, S1, "Spindles" Programming
Only SERUPRO
If "superimposed movements" are used, only the block search via Program Test
(SERUPRO) can be used, since the superimposed movements are interpolated accordingly
in the main run. This applies in particular to $AA_OFF.
offset by hand and the bit changes to 0). In the scope, the axis can also be traversed using
FC18, with the "REPOS offset" continuously being updated.
The scope of "REPOS offset" is displayed with the axis-VDI-interface bit "REPOS offset
valid" DB31.DBX70.BIT1.
DB31.DBX70.BIT1
Value 0 DB31.DBX70.BIT0 has not been validly calculated
Value 1 DB31.DBX70.BIT0 has been validly calculated
Example:
The synchronous spindle coupling at the beginning of the SERUPRO process 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 run in extended program test)
$AC_ASUP Bit 20 in system ASUB is set when the search target
is found (SERUPRO process step 8.)
$P_ISTEST AND (5 == $P_SEARCHL) will detect SERUPRO reliably.
Note
$P_SEARCHL is set at the beginning of the SERUPRO process and reset on
RESET. $P_SEARCHL is, therefore, set in the SERUPRO ASUB and remains set and can
be evaluated in the remainder of the part program.
In contrast, the $P_ISTEST variable is set only in the SERUPRO process and is thus
suitable for searchspecific adaptation of programs.
Synchronized action
SERUPRO can be interrogated in a synchronized action using the system variables
$AC_SERUPRO is TRUE.
SERUPRO Updated REPOS acknowledgements can be interrogated via:
Note
Interpretation of system variables $P_ISTEST and $AC_SERUPRO checks 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.
A part program reads system variables and saves the values in a buffer memory. In this
case, the value of system variables depends either on the preceding program blocks or on
the current block.
If this block is processed during the SERUPRO operation, no axis is really moved. This
requires a system variable, which includes the program execution status as a result of
SERUPRO. This behavior is taken into account only by the socalled "PROGSENSITIVE"
system variables which are updated continuously during the SERUPRO sequence.
The actual status of the machine is supplied only by the "real system variable". All known
classifications are described below.
Classification values
System variables can be distinguished according to their behavior in SERUPRO:
• INDEPENDENT Data is independent of SERUPRO
• PROGSENSITIVE Tracks the progress of the program on SERUPRO
and may not display the real status of the machine.
• REAL Always detects the real machine status
• UNCLASSIFIED Has not yet been classified
Note
For SERUPRO block search the two values
PROGSENSITIVE and REAL are particularly significant. This can be found in the column
under "Block search" of every system variable
References: /PGA1/, ”List of System Variables"
Example
The programsensitive system variable $AA_IM is preprocessed as follows:
2.6.10 Restrictions
Conditional use
SERUPRO supports the following NC functions subject to certain restrictions:
Definition
The term Program operation mode refers to the state where part programs or part-program
blocks are processed in AUTOMATIC or MDA mode.
Channel control
Every channel can be controlled by means of interface signals from the PLC. These can be
either mode groupspecific or channelspecific interface signals. An overview of these signals
is given under data lists in this Description of Functions.
Status messages
Each channel reports its current program operation status to the PLC with interface signals.
These signals are divided up into mode groupspecific and channelspecific signals.
Machine data
Conditions for program operation can be set using machine data.
MD settings
Initial settings
Initial settings can be programmed in channelspecific machine data for each channel. These
initial settings affect, for example, G groups and auxiliary function output.
G groups
An initial programming setting can be preset via
MD 20150: GCODE_RESET_VALUES (initial setting of G groups) for each of the existing 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.
The MD 22510: GCODE_GROUPS_TO_PLC (G codes, which are output to NCK-PLC
interface on block change/RESET) can be used to activate output of the G codes to the PLC
interface.
A list of G groups with the associated G functions and descriptions can be found in:
Reset status
Channel status
A part program can be selected only if the relevant channel is in the Reset state.
The START command can only be executed in AUTOMATIC and MDA modes. The relevant
channel must be in the state "Channel status reset" (DB21, ... DBX35.7) or "Channel status
interrupted" (DB21, ... DBX35.6).
Signals, Alarms
Execution of command
The part program or part-program block is automatically processed and IS "Channel status
active" (DB21, ... DBX35.5) and IS "Program status running" (DB21, ... DBX35.0) are set.
The program is processed until the end of the program has been reached or the channel is
interrupted or aborted by a STOP or RESET command.
Interrupts
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 nonreferenced axes"
"Interrupted" status
Channel status
The STOP command is executed only if the channel concerned is in the
"Channel active" status (DB21, ... D35.5).
STOP commands
There are various commands, which stop processing of the program and set the channel
status to "interrupted". These are:
• IS "NC Stop at block limit" (DB21, ... DBX7.2)
• IS "NC stop" interface signal (DB21, ... DBX7.3)
• IS "NC Stop axes plus spindle" (DB21, ... DBX7.4)
• IS "Single block" (DB21, ... DBX2.0)
• Programming command "M00" or "M01".
For explanations of the interface signals see the data lists. For explanations of the part-
program instructions see:
References: /PG/, "Programming Guide: Fundamentals"
Execution of command
After execution of the STOP command, IS "Program status interrupted" (DB21, ... DBX35.3)
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 by this point 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.
Command priority
Channel status
The RESET command can be executed in every channel state. This command is aborted by
another command.
Commands
RESET commands
The following Reset commands are available:
• IS "Mode group Reset" (DB11, ... DBX0.7)
• IS "Reset" (DB21, ... DBX7.7)
For a further explanation of the individual signals, please see the data lists.
A RESET command can be used to interrupt an active part program or a part-program block
(in MDA).
IS "Channel status reset" (DB21, ... DBX35.7) is set after execution of the Reset command.
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 followup 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 that have not yet been output at this point are not longer output.
• The block indicator is reset to the beginning of the part program.
• The Reset alarms (channelspecific, axisspecific, spindlespecific) are cleared from the
display.
Interface information
The status of the selected program is flagged to the interface for each channel.
The PLC can then trigger certain responses and interlocks configured by the manufacturer
depending on the status at the interface.
The program status is only displayed in AUTOMATIC and MDI modes. In all other modes the
program status is aborted or interrupted.
Program statuses
The following program states are available:
• IS "Program status aborted" (DB21, ... DBX35.4)
• IS "Program status interrupted" (DB21, ... DBX35.3)
• IS "Program status stopped" (DB21, ... DBX35.2)
• IS "Program status waiting" (DB21, ... DBX35.1)
• IS "Program status running" (DB21, ... DBX35.0)
For a further explanation of the individual signals, please see the data lists.
IS "Reset" X
IS "NC Stop" X
IS "NC stop at block limit" X
IS "NC stop axes and spindles" X
IS "Read-in disable" X
IS "Feed stop, channelsp." X
IS "Feed stop, axissp." X
Feed override = 0% X
IS "Spindle stop" X
M02/M30 in a block X
M00/M01 in a block X
IS "Single block" X
IS "Delete distancetogo" X
Auxiliary functions output to PLC but X
not yet acknowledged
Wait instruction in program X
Interface representation
The current channel status is signaled at 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:
• IS "Channel status Reset" (DB21, ... DBX35.7)
• IS "Channel status interrupted" (DB21, ... DBX35.6)
• IS "Channel status active" (DB21, ... DBX35.5)
For a further explanation of the individual signals see Chapter 5.
Status transitions
The following table shows the channel and program states that result after certain operator
and program actions.
The lefthand 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 righthand 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
status action)
R V A N V S M 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)
Situation Channel Program status Active mode Operator or program action (Situation after the
status action)
R V A N V S M A A M J
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)
Start handling
Signal sequences
Use
Basic information
Program sections, which have already been programmed, are frequently needed again.
Instead of using subprograms, you can repeat existing program sections in any order.
The advantage compared with copying blocks is that you save memory and can make
modifications easily. Changes to positions only need to be made at one point.
Labels
Labels are used within a program to identify a block or a program section.
References: /PG/, Programming Guide: Fundamentals
The options available for repeating part of a program are:
• Repeat block
• Repeat area starting at label
• Repeat an area between two labels
• Repeat an area between a label and the end label
References: /PGA/, Programming Guide Advanced
Activation
Program section repetition is activated by programming. (Labels, Number of repetitions)
Example
Milling: Machine drilling position with different technology sequences
Application
In the case of certain events, an implied user program is to start. This allows the user to
activate the initial settings of functions or carry out initialization routines by part-program
command.
Event selection
MD 20108
Machine data MD 20108: PROG_EVENT_MASK can be set channelspecifically which of the
following events will enable the user program:
• Bit0 = 1: Part-program start
• Bit1 = 1: Part-program end
• Bit2 = 1: Operator panel reset
• Bit3 = 1: Powerup (of the NC control)
The user program can be stored under the fixed path name
/_N_CMA_DIR/_N_PROG_EVENT_SPF or
Event
Part-program start
Event
Part-program end
Event
Operator panel reset
Event
Power-up
Chronological sequences
With Part-program start and part-program end:
Time sequence of "Program status" and "Channel status" of the VDI signals (DB21-DB30, ...
DBB35) when processing a part program with event-driven program calls with part-program
start and part-program end:
Channel status
DB21-30
active
, ... DBX35.5)
interrupted
, ... DBX35.6)
Reset
, ... DBX35.7)
Figure 2-9 Time sequence of the interface signals for program status and channel status (1)
running
, ... DBX35.0)
stopped
, ... DBX35.2)
aborted
, ... DBX35.4)
Channel status
DB21-30
active
, ... DBX35.5)
interrupted
, ... DBX35.6)
Reset
, ... DBX35.7)
Figure 2-10 Time sequence of the interface signals for program status and channel status (2)
Note
”Program status aborted” (DB21, ... DBX35.4) and ”Channel status reset” (DB21, ...
DBX35.7) are only applied if _N_PROG_EVENT_SPF has been completed.
Neither ”Program status aborted” (DB21, ... DBX35.4) nor ”Channel status reset” (DB21, ...
DBX35.7) are applied between the program end and the start of the program event.
This is also the case between operator panel reset and the start of the program event.
When very short events occur, the corresponding bit remains active at least for the
duration of a complete PLC cycle.
• _N_PROG_EVENT_SPF is always processed in the channel in which the corresponding
event has occurred. By checking MD 20000: CHAN_NAME, it is possible to determine in
the program _N_PROG_EVENT_SPF, which channel is currently processed.
Note: Power-up is an event that takes place in all channels.
• With each new configuration of MD 20108: PROG_EVENT_MASK,
/_N_CMA_DIR/_N_PROG_EVENT_SPF must be loaded or enabled. Otherwise, the alarm
14011 "Program _N_PROG_EVENT_SPF does not exist or not enabled for execution" is
output.
• The display can be suppressed in the current block display using the DISPLOF attribute
in the PROC statement.
• Single-block stop can be disabled using the command SBLOF
attribute or via MD 10702: IGNORE_SINGLEBLOCK_MASK with bit 0.
• The behavior with respect to the read-in disable and single-block processing can be
controlled using MD 20106 PROG_EVENT_IGN_SINGLEBLOCK and MD 20107:
PROG_EVENT_IGN_INHIBIT.
MD 20106: PROG_EVENT_IGN_SINGLEBLOCK
_N_PROG_EVENT_SPF changes block without a further start in spite of single-block
mode if
Bit 0 = 1 is set after part-program-start event
Bit 1 = 1 is set after part-program-end event
Bit 2 = 1 is set after operator panel Reset event
Bit 3 = 1 is set after Power-up event
Bit 4 = 1 is set after first start after search run event
MD 20107: PROG_EVENT_IGN_INHIBIT
_N_PROG_EVENT_SPF changes the block in spite of read-in disable if
Bit 0 = 1 is set after part-program-start event
Bit 1 = 1 is set after part-program-end event
Bit 2 = 1 is set after operator panel Reset event
Bit 3 = 1 is set after Power-up event
Bit 4 = 1 is set after first start after search run event
The following restriction applies to Bit0 == 1(Prog-Event after part-program start):
If the Prog-Event is concluded with "RET", RET always leads to an executable block (like
M17).
There is no new behavior for Bit0 == 0 i.e., RET is interpreted in the interpreter and does
not lead to an "executable block".
No sequences for start/end of part program are passed:
• If a user ASUB is started from the reset status, the described sequences for the event for
start/end of part program are not passed.
• Settable Prog-Event properties
Machine data MD 20109: PROG_EVENT_MASK_PROPERTIES can define further
properties of "event-driven program calls" for specific channels in SW 6.3 and higher:
– Bit0 = 0: An ASUB started from the RESET channel state is followed
by an "event-driven program call" as in earlier versions
– Bit0 = 1: An ASUB started from the RESET channel state is not followed
by an "event-driven program call"
When starting a part program:
• /_N_CMA_DIR/_N_PROG_EVENT_SPF is executed as a subroutine.
_N_PROG_EVENT_SPF must be terminated with M17 or RET.
No return using the REPOS command is permitted; this will generate the alarm 16020
"Repositioning not possible".
Errors in the case of operator panel reset or after powerup:
• If an error is present in the case of operator panel reset or after powerup EMERGENCY
STOP or Mode group/NCKContinue, then _N_PROG_EVENT_SPF will only be processed
after EMERGENCY STOP has been acknowledged or the error has been acknowledged
in all channels.
Generally, the following applies to powerup:
• The powerup event occurs in all channels at the same time.
Event programs
IF ($P_PROG_EVENT == 1)
N 10 MY_GUD_VAR = 0 ; Initialize GUD variable
N 20 M17
ENDIF
IF ($P_PROG_EVENT == 2) OR ($P_PROG_EVENT
== 3)
N10 DRFOF ; Deactivate DRF offsets
N20 IF $MC_CHAN_NAME == "CHAN1"
N30 CANCEL(2) ; Delete modal synchronized action 2
N40 ENDIF
N50 M17
ENDIF
IF ($P_PROG_EVENT == 4)
N10 IF $MC_CHAN_NAME == "CHAN1"
N20 IDS=1 EVERY $A_INA[1] > 5.0 DO
$A_OUT[1] = 1
N30 ENDIF
N40 M17
ENDIF
M17
Note
For block search (SSL):
By setting MD 11450: SEARCH_RUN_MODE Bit 1 = TRUE, with the changing of the last
action block ”automatic ASUB start” is activated implicitly after SSL by
/_N_CMA_DIR/_N_PROG_EVENT_SPF.
For further explanation, please see Program test, ”Automatic start of an ASUB after block
search”.
For further explanation of power-up of the control, please see
References: /IAD/, "Power-On and Power-Up"
Stop event
• A stop event can be triggered by the following:
Event Classification
VDI interface signals from the PLC "hard" stop event
Alarms with NOREADY response "hard" stop event
Stop key "soft" stop event
Read-in disable "soft" stop event
Single block "soft" stop event
Note
Some NCK events are also stopped for a short time, in order to perform a switching
operation, and restarted immediately.
These include e.g., the ASUB, which stops the contour briefly before restarting 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".
Supplementary conditions
The following exceptions apply while a stop delay is being processed:
• A change in the feed is ignored during 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, which cause a temporary stop (e.g., WAITM) are not permitted and trigger
"alarm 16954".
Table 2-9 Summary of NCK events, which stop at least for short time
Overview
Interrupt inputs allow the NC to interrupt the current NC processing operation so that it can
react to more urgent events in interrupt routines or ASUBs.
Interrupt routines/ASUBs
Term
Identical functionality is identified by the terms ASUB and Interrupt routines. For the
purposes of simplification, only the term interrupt routine will be used from now on.
• 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.
• Where several interrupt routines exist, they have to be given different levels of priority so
that incoming activation signals arriving at the same time can be placed in a certain order.
• Interrupt routines can be activated from the PLC program by means of a "Function call".
Note
Interrupt routines can be called if the mode group is in program operation mode, i.e., in
cases where part-program blocks are being processed in either AUTOMATIC or in MDA
mode. This restriction is reduced in "Calling the ASUB outside program operation".
%100
Assign one routine to one event
N10 SETINT ... and switch to "ready"
N20 ...
Block being ABHEB_Z
processed N30 ...
N70 ...
N80 ...
M17
N90 ...
N100 ...
Parameterization by SETINT
An interrupt signal must be assigned to the part programs via the NC instruction SETINT.
This turns the part program into an interrupt routine.
The following parameters can be used in the SETINT instruction:
• LIFTFAST: When the interrupt signal arrives, a "Fast retraction of the tool from the
contour" is executed before the interrupt routine starts. The direction of motion for liftfast
is specified by the NC address ALF.
If mirroring is active for processing with frames
MD 21202: LIFTFAST_WITH_MIRROR can be used to control whether the retraction
movement is also mirrored during liftfast.
The distance for liftfast on the 3 geometry axes is stored in MD 21200: LIFTFAST_DIST
(traversing distance for liftfast from contour).
When LIFTFAST is configured, the max. axis acceleration for positioning operations (MD
32300: MAX_AX_ACCEL) is reduced by the factor set in MD 20610:
ADD_MOVE_ACCEL_RESERVE (acceleration margin for overlaid motions).
• BLSYNC: If this parameter is set, the current program block is processed and only then is
the interrupt routine started.
References:/PG/, "Programming Guide: Fundamentals"
Interrupt signals
A total of 8 interrupt signals are available.
All inputs can be controlled from the PLC.
The first four interrupt signals are controlled via the 4 rapid NC inputs on the NCU module
(X121).
The signal state of the rapid NC inputs can be read out via the PLC interface (DB10).
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 further information about PLC control of the rapid NC inputs (interrupt signals) see:
References: /FB/, A4, "Digital and Analog NCK I/Os"
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.
Path with
REPOSL
Standard (with G90)
N101
N20
N30
For more information about the REPOS instruction (e.g., syntax), see
References: /PG/, "Programming Guide: Fundamentals"
SAVE command
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.
Interrupt 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 does not respond to the 0/1 signal transition.
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.
Clear assignment
The assignment interrupt signal <-> part program is cleared when the following happens:
• Channel in Reset state
• CLRINT instruction in part program.
For more information on the DISABLE, ENABLE and CLRINT instruction (e.g., syntax)
please see:
Starting conditions
With MD 11602: ASUP_START_MASK can be set to enable ASUBs for conditions under
which ASUBs are otherwise locked by a default setting.
• Stop by means of Stop key, M0, M01
• Not all axes are referenced yet
• Readin disable is active
Details
Priorities
MD 11604: ASUP_START_PRIO_LEVEL can be set to define the priority level up to which
the settings in MD 11602: ASUP_START_MASK must be effective (1-128, 1 corresponds to
highest priority). The priority specified in the MD covers all priority levels from 1 up to the
specified level.
NC response
The following table describes the NC response in the individual operational states:
Activation
ASUBs can also be activated by using synchronized actions to set outputs that enable the
input of the interrupt indirectly by short-circuit.
Example:
1. Define number of active digital I/Os
FASTIO_DIG_NUM_INPUTS=3
FASTIO_DIG_NUM_OUTPUTS=3
2. Generate a short-circuit with the following MD
FASTIO_DIG_SHORT_CIRCUIT[0]='H0102B102'
FASTIO_DIG_SHORT_CIRCUIT[1]='H0202B202'
3. Hardware assignment of external NC input byte for NC program interrupt
SETINT_ASSIGN_FASTIN=2 ; better to use 1 byte more than needed
4. SETINT (1) PRIO=1 SYNCASUP; Define input as ASUB trigger
5. IDS=1 EVERY $$AC_PATHN>=0.5 DO $A_OUT_[9]=1
References:/FBSY/, Synchronized Actions
REPOS
ASUB sequences may be generated for which there is no unambiguous return to an
interruption point in the block processing sequence. System variable: $P_REPINF can be
used to scan the ASUB to determine whether a REPOS is possible.
Example:
; ASUP program
;
N10 G0 G91 ;
N20 Y10 ;
N30 X20 ;
N40 REPOSA ;
If an ASUB is started after the accumulated part-program blocks have been output, the NCK
will stop before executing the REPOSA block and the following interface signal is set:
DB21, ... DBX318.0 = 1 (ASUB is stopped)
Note
In the situation described above, the signal: “ASUB done” is not yet set by PLC function
block FC9.
Where an ASUB is completed without REPOS, the “ASUB done” and “ASUB stopped”
signals are simultaneous.
Starting ASUBs in spite of active read-in disable and/or IPO single block (SBL1)
To start ASUBs in spite of an active read-in disable:
DB21, ... DBX6.1 == 1 (read-in disable)
and/or IPO single block (SBL1), the following machine data must be parameterized:
• MD10702: $MN_IGNORE_SINGLEBLOCK_MASK (Note prevention of single-block stop)
• MD11602: $MN_ASUP_START_MASK (Ignore stop conditions for ASUB)
• MD20116: $MC_IGNORE_INHIBIT_ASUP (Execute interrupt service routine in spite of
read-in disable)
• MD20117: $MC_IGNORE_SINGLEBLOCK_ASUP (Execute interrupt service routine in
single block completely)
Introduction
The SW supplied with the NCK contains preprogrammed processes (internal ASUBs) for
implementation of the RET and REPOS functions. They can be replaced by ASUBs written
by the machine tool manufacturer.
Handling
Value Meaning
0 The user-defined routine stored in _N_ASUP_SPF in directory _N_CUS_DIR
is not activated for either RET or REPOS.
1 The user-defined routine is activated for RET,
the routine provided in the system is activated for REPOS.
2 The user-defined routine is activated for REPOS,
the routine provided in the system is activated for RET.
System
User 1 ASUB
RET REPOS
User System
REPOS ASUB
2 RET
$AC_ASUP
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
Meaning of bits
The meaning of the bits of system variable $AC_ASUP is as follows:
Bit Meaning
0 User interrupt "ASUB with Blsync"
Single-block processing
Bit 0 in machine data 10702: IGNORE_SINGLEBLOCK_MASK determines whether internal
ASUBs or ASUBs defined by the user must be processed without interruption after every
block even when single-block processing is selected:
Danger
The machine manufacturer is responsible for the contents of ASUB routines used to replace
ASUP.SYF supplied by Siemens.
Block-by-block processing
With the single-block function, the user can process 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.
– 1. Example:
Change after jog operation, if reorganization and/or repositioning
is not possible, MD 10702, 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.
– 2. Example:
Change after Jog to a STOPRE block,
MD 10702, bits 6 and 7
If AUTO mode is changed to Jog 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.
– 3. Example:
DISPOF: Deactivate block display, MD 10702, 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.
Asynchronicity
The advance processing of part-program blocks can result in loss of reference between the
current block display referred to the main run status on the NCK and the variable values
displayed on the HMI.. 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:
In the program
SBLOF must be alone in a block. With effect from this block, single-block stop is deactivated
until the next programmed SBLON or until the end of the active subroutine level.
If SBLOF is active, this also applies in subroutines, which are called.
Area
Example: The area between N20 and N60 is executed as one step in single-block mode.
Asynchronous subprograms
The system-internal asynchronous subroutines ASUP1.SYF and ASUP2.SYF, started via
Reorg/Repos, can process the system ASUB in one step via programming of SBLOF.
ASUB.SPF
Example: ASUB.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
Supplementary conditions
• The current block display can be suppressed in cycles using DISPLOF.
• If DISPLOF is programmed together with SBLOF, the cycle call continues to be displayed
on single-block stops within the cycle.
• The default setting for the response of asynchronous programs with single block, which is
defined in MD 20117: IGNORE_SINGLEBLOCK_ASUP, can be overwritten in a specific
program with SBLOF.
Cycle
Example 1: A cycle is to act like a command for the user.
Main program:
N130 RET
N140 _G54: G55 D=$P_TOOL T=$P_TOOLNO
N150 RET
N160 _G56: G56 D=$P_TOOL T=$P_TOOLNO
N170 RET
N180 _G57: G57 D=$P_TOOL T=$P_TOOLNO
N190 RET
N200 END: D=$P_TOOL T=$P_TOOLNO
N210 RET
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 continuouspath mode G64
active), further block changes are enabled.
For decoding single block, MD 10702 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
Suppressed single-block stops of internal or user ASUBs configured in MD 10702:
IGNORE_SINGLEBLOCK_MASK can be activated again by programming SBLON in the
ASUB.
This functionality can be suppressed again with MD 20117:
IGNORE_SINGLEBLOCK_ASUP, which disables the command SBLON.
Supplementary 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, which 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
The user should select single-block (DB21.DBB0.BIT4) in one channel (KS) in a mode
group. Single-block type A or B refers to other channels (KA) of a mode group.
Mode group
Channel 1 KS Channel 2 KA Channel 3 KA ... Channel n KA
Figure 2-15 Channel classification for single block in the mode group
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
5. Execution from external source (buffer size and number)
6. Execution from external subroutines
Selection
Different functions are available under the soft key Program control. Selection affects an
interface signal in the PLC. These signals are to be understood as selection signals from the
operator interface, and do not activate the selected function.
Activation
These signal states must be transferred to another area of the data block to activate the
selected function. With program control by the PLC the signals are to be set directly.
Checkback
The activated functions are partly signaled back to the PLC from the NCK.
/, /0, ... /9
It is possible to skip blocks, which are not to be executed every time the program runs. The
blocks to be skipped are always identified by a slash character ("/") in front of the block
number.
The skip levels are specified in the part program with "/0" to "/7".
Only one skip level can be specified per part-program block.
Number of levels
MD 9423: MAX_SKP_LEVEL defines the number of skip levels.
Signals
Example:
It is possible to skip blocks, which are not to be executed every time the program runs (e.g.,
program test blocks):
/ ; block skipped, (DB21, ... DBX2.0) 1st skip level
/ N005 ; block skipped, (DB21, ... DBX2.0) 1st "
/0 N005 ; block skipped, (DB21, ... DBX2.0) 1st "
/1 N010 ; block skipped, (DB21, ... DBX2.1) 2nd "
/2 N020 ; block skipped, (DB21, ... DBX2.2) 3rd "
/3 N030 ; block skipped, (DB21, ... DBX2.3) 4th "
/4 N040 ; block skipped, (DB21, ... DBX2.4) 5th "
/5 N050 ; block skipped, (DB21, ... DBX2.5) 6th "
/6 N060 ; block skipped, (DB21, ... DBX2.6), 7th "
/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.
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 MMC -> PLC (DB21 to DB30) in DBB26.
• "/8" to "/9" via interface MMC -> PLC (DB21 to DB30) in DBX27.0 to DBX27.1.
References: /BAD/ Operator's Guide "Machine Operating Area"
Note
The levels to be skipped can only be changed when the control is in the Stop/Reset state.
control possible.
MD 28060
The channelspecific 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 memoryconfiguring MD 28060:
MM_IPO_BUFFER_SIZE. For some applications it may be meaningful not to use the full
buffer capacity in order to minimize the "interval" between preparation and interpolation.
SD 42990
With the setting data SD 42990: MAX_BLOCKS_IN_IPOBUFFER the number of blocks in
the interpolation buffer can be dynamically limited to a value lower than MD 28060:
MM_IPO_BUFFER_SIZE (minimum of 2 sets).
Value Effect
<0 No interpolation buffer limit active.
The max. possible interpolation buffer as set in MD 28060:
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 MD
28060: MM_IPO_BUFFER_SIZE.
Note
If SD 42990: MAX_BLOCKS_IN_IPOBUFFER is set in the part program, the interpolation
buffer limitation is immediately operative if the block is processed in preparation with the SD
by the interpreter.
This means that the limitation of the IPO buffer may become operative some blocks before
the intended limit (see also MD 28070:
MM_NUM_BLOCKS_IN_PREP).
To avoid premature activation and 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
SD 42990: 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, an event-controlled program must be
created to do this. This setting data could also be set to a predefined value on RESET, for
example.
Application
The interpolation 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 ...
............
Processed values
Values preprocessed in the basic block display coincide with the:
• selected tools
• feed and spindle speed
• position values actually approached
Exceptions:
Discrepancies can occur when tool radius compensation is active.
With modulo axes, the programmed value, which may be outside the modulo range, is
displayed in the basic block display.
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
SD 42750: ABSBLOCK_ENABLE.
Activation
The basic block display is activated by MD 28400: MM_ABSBLOCK via Power On. If MD
28400: MM_ABSBLOCK is set to 1, a channelspecific display buffer (FIFO) is created during
power-up.
Size of the display buffer parameterized in (MD 28060: MM_IPO_BUFFER_SIZE + MD
28070: MM_NUM_BLOCKS_IN_PREP) multiplied by 128 bytes is set up at boot. This
corresponds to a size of 6KB in the machine data default setting.
Optimizing the size of the 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.
The maximum size of the upload buffer is calculated by multiplying (MD 28402:
MM_ABSBLOCK_BUFFER_CONF[0] +
MD 28402: MM_ABSBLOCK_BUFFER_CONF[1] + 1) with the block length configured in
MD 28400: MM_ABSBLOCK.
The value configured here is the number of blocks located before the current block in
MD 28402: MM_ABSBLOCK_BUFFER_CONF[0] and after the current block in MD 28402:
MM_ABSBLOCK_BUFFER_CONF[1].
Supplementary conditions
When the length of a display block configured in MD 28400: MM_ABSBLOCK is exceeded,
this display block is truncated accordingly. This is represented by string "..." at the end of the
block.
In the case of precompiled cycles (MD 10700: 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.
Bit0 = 1 Transverse axis setpoints are always shown as diameter values in the basic
block display.
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. A display block containing the string "..." is generated as character for missing
display blocks.
In single-block mode, all the display blocks are always generated.
The display block for the basic block display is directly derived from the programmed part-
program blocks according to the following rules:
• Macros are expanded.
• Skip identifiers and comments are omitted.
• Block number and labels are transferred from the original block, but omitted if DISPLOF is
active.
• The number of decimal places is defined in display machine data MD 9004, MD 9010 and
MD 9011 via the HMI.
Note
The modulo offset 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 moduloconverted.
Examples
Comparisons between display block (original block) and basic block display:
• Programmed positions are represented as absolute references.
Addresses AP/RP are represented with their programmed values.
• 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 MD 22240: AUXFU_F_SYNC_TYPE = 3).
• 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.
Application
Individual machining steps for producing complex workpieces may involve program
sequences that require so much memory they cannot be stored in the NC memory.. This
type of program can be selected and executed from an external device in "Execution from
external source" mode. This "external device" takes the following form with HMI Advanced
and with HMI Embedded:
Functions
In principle, any program that is accessible via the directory structure of the data
management system of the HMI operator interface can be selected and retroloaded.
• Execution from external source via RS232 interface:
In HMI Embedded, the "Execution from external" softkey can be used to transfer external
programs across the RS-232 interface onto the NC.
• External subroutine:
Executing a subroutine in "Execution from external source" mode
The "external" subroutine is called via part-program command EXTCALL with
specification of a call path (optional) and the subroutine identifier.
Buffer interpretation
• Settable size of reload memory / FIFO buffer:
A FIFO buffer must be set up in the NCK in order to execute a program (main program or
subroutine) in "Execution from external" mode. The default setting for this buffer size is
30KB.
The machine data MD 18360: MM_EXT_PROG_BUFFER_SIZE defines the size of the
reload buffer. The number of the reload buffer is parameterized with MD 18362:
MM_EXT_PROG_BUFFER_NUM. A reload buffer must be made available for each of the
programs (main run or subroutine) that are processed simultaneously in "Execution from
external source" mode.
Reload buffers are set up in the NCK DRAM. If there is insufficient DRAM available,
alarm 4077 "New value of machine data MD 18360/18362 not set" is generated.
Subprogram call
The "external" subroutine is called with part-program command
• EXTCALL with specified <path> and optionally <program name>
Program command EXTCALL is capable of reloading a program in "Execution from external
source" mode via the HMI. The external programs must be accessible via the directory
structure on the HMI operator interface. They can be stored on the following data media:
Setting Data
SD 42700: EXT_PROG_PATH
The call path can be set flexibly in SD 42700: EXT_PROG_PATH. SD 42700:
EXT_PROG_PATH contains a path name, which, together with the programmed subroutine
identifier, represents the absolute path name of the program to be called.
If an external subroutine is called without an absolute path name, HMI Advanced runs
through the same search path as applied when a subroutine is called from the NC main
memory.
Path compilation
An external subroutine is called by means of parts program command EXTCALL.
From
• - the subroutine name programmed in EXTCALL and
- the setting data SD 42700: EXT_PROG_PATH
result in the program path by means of a string of characters comprising
• the content of SD 42700: EXT_PROG_PATH (e.g., /_N_WKS_DIR/_N_WKST1_WPD)
• the character "/" as a separator (if a path has been specified via SD 42700:
EXT_PROG_PATH)
• the subroutine path or identifier programmed in EXTCALL.
SD 42700: EXT_PROG_PATH is initialized with a blank. If an external subroutine is called
without an absolute path name, HMI Advanced runs through the same search path as
applied when a subroutine is called from the NCK memory.
current directory / subroutine identifier
current directory / subroutine identifier_SPF
current directory / subroutine identifier_MPF
/_N_SPF_DIR / subroutine identifier_SPF
/_N_CUS_DIR / subroutine identifier_SPF
/_N_CMA_DIR / subroutine identifier_SPF
/_N_CST_DIR / subroutine identifier_SPF
Example
Program to be reloaded is stored on the local hard disk of HMI Advanced:
• SD 42700: EXT_PROG_PATH = "_N_WKS_DIR/_N_WST1"
Main program_N_MAIN_MPF
(stored in NC memory and is selected for execution)
Subroutine_N_ROUGHING_SPF
(stored in HMI memory under workpieces->WP1)
Note
An absolute path must always be specified in HMI Embedded.
For further explanations about operation under HMI Embedded / Advanced, please see:
References:
/BEM/, HMI Embedded, ”Execution from network”, ”Execution from ATA card” and
”EXTCALL”
/BAD/, HMI Advanced, access to external network drive/computer
Concept
The control system response can be altered for G codes such as tool length compensation,
transformation, coupled axis groupings, tangential followup and programmable synchronous
spindle functions after
• Power up (power ON),
For certain applications (e.g., grinding) it is advisable not to capture the reset position of
individual functions until part-program start. This is possible by setting MD 20110, 20150,
20152 and MD 20112.
Procedure
Select the desired system response.
• After boot (power ON)
MD 20110: RESET_MODE_MASK, bit 0 = 0 or 1
Run-up
(POWER ON)
Bit 0=0
(default)
Bit 2=1
Bit 6=1
Bit 2=0
- Transformation off
- Tool length compensation off
RESET/Part-program end
5(6(73DUWSURJUDPHQG
*FRGHVLQ0'DQG0'
%LW 0'ELWVDUHHYDOXDWHG
0' LHWKHIXQFWLRQDVVLJQHGWRWKHUHOHYDQWELWV
5(6(7B02'(B0$6. DVVXPHVHLWKHULWV5HVHWVHWWLQJ
%LW RUUHWDLQVWKHFXUUHQW
VHWWLQJVHHWDEOHVEHORZ
7KHFXUUHQWVHWWLQJVDUHUHWDLQHG
3DUWSURJUDPVWDUW
*FRGHVLQ0' 7KHVHWWLQJVDFWLYDWHG
7RROOHQJWKFRPSHQVDWLRQRII YLD5(6(7
7UDQVIRUPDWLRQRII DUHDSSOLHG
&RXSOHGPRWLRQRII
7DQJHQWLDOIROORZXSRII
6\QFKURQRXVVSLQGOHRII
*HRPHWU\D[LVDVVLJQPHQWLQ0'
0DVWHUYDOXHFRXSOLQJRII
$[LDOUHYROXWLRQDOIHHGUDWHRII
UHVHUYHGEDVLFIUDPHRII
0DVWHUVSLQGOHLQ0'
0DVWHUWRROKROGHURII
)XQFWLRQDVVXPHV5(6(7VWDWH
%LW
0'
67$57B02'(B0$6.
%LWV
7KHFXUUHQWVHWWLQJVDUHUHWDLQHG
,QWHUSUHWDWLRQRIVWSDUWSURJUDPEORFN
Figure 2-17 System settings after RESET/part-program end and part-program start
MD RESET_MODE_MASK
number Definition of control initial setting after power-up and reset/part-program end
Response Bit 0 = 0 Bit 0 = 1
after
Power ON - Transformation not active - Transformation active in
(booting) - Tool length compensation MD 20140: TRAFO_RESET_VALUE
not active - Tool length compensation active in
MD 20120: TOOL_RESET_VALUE,
MD 20121: TOOL_PRESEL_RESET_VALUE and
MD 20130: CUTTING_EDGE_RESET_VALUE, if
bits 2 and 6 in MD 20110 = 1 the tool length offsets
selected at power ON, otherwise TLC
acc. to MD 20120, 20121, 20130
- G codes in MD 20150: - G codes in MD 20150: GCODE_RESET_VALUES
GCODE_RESET_VALUES - no coupled axis groupings active
- no coupled axis groupings active - no tangential follow-up active
- no tangential follow-up active - nonconfigured Synchronous spindle
- nonconfigured synchronous spindle coupling coupling is switched off
is deactivated - Geometry axis assignment in MD 20118,
- Geometry axis assignment in MD 20050 MD 20050
- No master value coupling active - No master value coupling active
- Axial revolutional feedrate OFF - Axial revolutional feedrate OFF
- Basic frame is deselected - Basic frame is deselected
RESET/ The current settings are retained. With the next When a synchronous spindle coupling is configured, the
end of part-program start, the following initial setting is coupling is set as a function of MD 21330:
prog. activated: COUPLE_RESET_MODE_1.
- G codes GCODES acc. to MD 20150, 20152
MD 20150: GCODE_RESET_VALUES
- Tool length compensation not active
- Transformation not active
- No coupled axis groupings active
- No tangential follow-up active
- Basic frame is deselected
- Geometry axis assignment in MD 20050
- Axial revolutional feedrate OFF
Table 2-15 Effect of MD 20110: RESET_MODE_MASK Bits 13...17 (SW 6.4 and higher bits 16 to 17)
Bit 0 = 0:
No Init blocks are generated. (Default: the current settings are retained)
Bit 0 = 1:
Init blocks are generated. The settings activated by RESET become valid.
MD 20152: GCODE_RESET_MODE
In SW 5 and higher, MD 20152: GCODE_RESET_MODE replaces bits 4 and 5 from MD
20110: RESET_MODE_MASK. There is also an extension of the setting options:
SW 4 and lower,
the following applied for bits 4 and 5 of MD 20110: RESET_MODE_MASK
Bit 4: Level control
Bit 5: Control of settable frames
In SW 5 and higher, every Gcode group in MD 20150: GCODE_RESET_VALUES[i] can be
controlled directly with the additional MD 20152: GCODE_RESET_MODE[i].
MD 20152: GCODE_RESET_MODE[i] 0 1
(i = G code group -1)
MD 20150: GCODE_RESET_VALUES[i] The value stored in MD The last active/
20150 is active current value is active
Note
The previous setting in machine data MD20110:
RESET_MODE_MASK no longer applies!
The corresponding bits of this MD are tagged as reserved. Write operations involving these
bits are automatically redirected to the corresponding array elements of MD20150:
GCODE_RESET_MODE and an alarm (4502) is output.
When reading MD20110: RESET_MODE_MASK, the information is read from the
corresponding array elements of MD20150: GCODE_RESET_MASK and written to
MD20110: RESET_MODE_MASK.
Part-program start
The basic setting of the control system at part-program start, e.g., G codes (especially active
plane and active settable zero offset), active tool length compensation, transformation and
axiscoupling, is determined according to the following table.
Application
By setting a bit in MD 20112: START_MODE_MASK, the Reset action of the relevant
function can be delayed until the start of the part program.
Table 2-18 Effect of MD 20112: START_MODE_MASK Bits 13...17 (SW 6.4 and higher bits 16 to 17)
Note
Bits set to 1 in MD 20110: RESET_MODE_MASK cause settings to be retained,
in MD 20112: START_MODE_MASK cause settings to be retained.
MD 20121: TOOL_PRESEL_RESET_VALUE
Definition of tool (T number) as preselected tool whose assigned tool length
compensation values must be taken into account on RESET and power-up according to
MD 20110: RESET_MODE_MASK.
MD 20130: CUTTING_EDGE_RESET_VALUE
Definition of edge number (D number) of tool in
$MC_TOOL_RESET_VALUE
MD 20140: TRAFO_RESET_VALUE
Definition of transformation data block (TRAORI, TRAANG,
SW 4 and higher: TRANSMIT)
MD 20150: GCODE_RESET_VALUES
Initial settings of G groups
MD 20152: GCODE_RESET_MODE
GCODE initial setting on RESET
MD 20152 defines for each entry in MD 20150: GCODE_RESET_VALUES whether the
setting in MD 20150: GCODE_RESET_VALUES is applied again on a reset/end of part
program (entry in MD 20152=0), or whether the current setting is retained (entry in MD
20152=1).
MD 21330: COUPLE_RESET_MODE_1
Cancellation of an axis coupling
MD 20050 AXCONF_GEOAX_ASSIGN_TAB
Assignment of geometry axis to channel axis
Example:
1. Activate RESET setting on RESET:
MD 20110 = 'H01' (Bit 0)
MD 20112 = '0'
2. Transformation remains active on RESET/part-program start:
MD 20110 = 'H81' (Bit 0 + Bit 7)
MD 20112 = '0'
3. Tool length compensation remains active on RESET/part-program start:
MD 20110 = 'H41' (Bit 0 + Bit 6)
MD 20112 = '0'
4. Active plane (Bit 4) and settable frame (Bit 5) remain active after RESET and are reset on
part-program start:
MD 20110 = 'H31' (Bit 4 + Bit 5)
MD 20112 = '30'
Note
for bit 5 and bit 6:
If MD 20110/MD 20112 are parameterized so that tool length compensation or a frame
are active on a part-program start/MDA start, the first programming of the axes must use
absolute measurements (because of the offset behavior) .
Exception: With MD 42442/MD 42440 the offset behavior for G91 is suppressed.
2.11.1 Function
Function
Direct subroutine calls can be replaced by indirect calls via M and T functions (auxiliary
functions), which are parameterized by the user. For example, the direct tool change cycle
call can be replaced by an indirect call using an M function, which can be parameterized
using machine data.
The following machine data can be used to parameterize indirect subroutine calls using M
and T functions:
Note
Cycle calls
Mapping M and T programming onto cycle calls works in both ISO-dialect-mode and in
Siemens-mode.
M function Comments
M0 - M5, 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. They are
given a predetermined meaning and must, therefore, not be used for indirect calls of
subroutines and/or cycles:
Note
Exceptions
The parameterized M function for tool change:
MD22560 $MC_TOOL_CHANGE_M_CODE (M function for tool change)
Call rules
If the defined M function is programmed in a part-program block, the appropriate subroutine
is called during processing of the part program 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.
Exception
An M function is also replaced in an ASUB if the ASUB was started in a subroutine, which
was called indirectly via an M function.
Address extension of the M function
The address extension of the M function can be read in the indirectly called subroutine via
system variable $C_ME.
Warning
Parameter values
The parameter values transferred to the subroutine have no effect during subroutine calls
and must, therefore, be programmed explicitly again in the cycle.
Example configurations
• Call subroutine SUB_M101 via M101
MD10715 M_NO_FCT_CYCLE[0] = 101
MD10716 M_NO_FCT_CYCLE_NAME[0] = "SUB_M101"
Assign subroutine
Via the MD 10717: T_NO_FCT_CYCLE_NAME is used to assign a subroutine to a T-
command. Each block containing a T-command is executed first before the subroutine is
called.
The T value is not output and the T word must, therefore, be programmed again in the cycle.
Subroutine call
If a T function is programmed in a part-program block, the subroutine defined in MD 10717:
T_NO_FCT_CYCLE_NAME[n] is called at the end of the block. Subroutine calls using an T
function are referred to below as T function replacement.
The subroutine is supplied with the following parameters via system variables in the cycle:
$C_ME : Address extension of substituted M function
$C_T_PROG : TRUE if address T has been programmed
$C_T : Value of address T (integer)
$C_TE : Address extension of address T
$C_TS_PROG : TRUE if address TS has been programmed
$C_TS : Value of address TS (string, with tool management only)
$C_D_PROG : TRUE if address D has been programmed
$C_D : Value of address D
$C_DL_PROG : TRUE if address DL has been programmed
$C_DL : Value of address DL
Values passed to the cycle have not yet been executed and must, therefore, be programmed
again in the cycle.
Supplementary conditions
The following conditions apply to subroutine calls with T function:
• A maximum of one T function may be configured.
• The following applies to blocks containing a T function replacement:
- No modal subroutine call may be active or
- No subroutine return jump may be programmed or
- No part-program end may be programmed.
• Subroutines configured in MD 10716: M_NO_FCT_CYCLE_NAME[n] and
MD 10717: T_NO_FCT_CYCLE_NAME must not be active simultaneously in the same
block (part-program line), i.e., no more than one T function replacement (or generally just
one subroutine call) may be executed per block. Conflicts with other subroutine calls are
signaled by alarm 14016.
• M and T functions for tool change in a block
If T function replacement is programmed in addition to M function replacement with
parameter transfer, then the system response is as follows if these settings conflict, i.e., T
and M functions for tool change in one block:
– The T function replacement does not take place.
Instead, the T value is made available to the M function replacement via the
appropriate system variable $C_T...
– Programming the address T in the substituted M function subroutine does not result in
another substitution.
• Illegal configuration for M and T replacement
If a replacement is programmed via a subroutine for T but not for M in the same block, T
execution only occurs after the remainder of the block. The existing M in the block does
not activate a valid T during execution. This configuration is pointless and should be
avoided.
The T function replacement enables machine data MD 10719: T_NO_FCT_CYCLE_MODE
to be set to define when D or DL and T are programmed in the same block whether
• D or DL must be passed as the parameter to the T replacement cycle or
• whether they must be executed before the T replacement cycle is called.
MD 10719
Parameterization of T function replacement with machine data
MD 10719: T_NO_FCT_CYCLE_MODE as follows:
Value 0: As before, the D or DL number is passed directly to the cycle
(default setting)
Value 1: The D or DL number is calculated directly in the block
This function is active only if the tool change has been configured with M function (MD
22550: TOOL_CHANGE_MODE = 1); the D or DL values are otherwise always transferred.
###
The following examples show configuration, including design stages in some cases.
###
Tool change with M6 not active (behavior as in earlier version):
MD 22550: TOOL_CHANGE_MODE = 0
MD 10719: T_NO_FCT_CYCLE_MODE = 0
MD 10717: T_NO_FCT_CYCLE_NAME = "MY_T_CYCLE" ; T replacement cycle
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
MD 10719: T_NO_FCT_CYCLE_MODE = 0
MD 10717: T_NO_FCT_CYCLE_NAME = "MY_T_CYCLE" ; T replacement cycle
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 cycle as a variable
N240 M6 ; New tool is selected
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 cycle as a variable
N340 M6 ; T5 is activated
MD 22550: TOOL_CHANGE_MODE = 1
MD 10719: T_NO_FCT_CYCLE_MODE = 1
MD 10717: T_NO_FCT_CYCLE_NAME = "MY_T_CYCLE" ; T replacement cycle
N410 D1 ;
N420 G90 G0 X100 Y100 Z50 ; D1 is active
N430 D2 X110 T5 M6 ; D1 remains active, D2 and T5 are
transferred to the M6 replacement cycle
as a variable
PROC MAIN
...
N10 T1 D1 M6
...
N90 M30
PROC SUB_M6
N110 IF $C_T_PROG == TRUE ; Request 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 ; Request whether address D has been
programmed
N160 D = $C_D ; Execute D selection
N170 ENDIF
N190 M17
2.12.1 Function
The functions: "Program runtime" and "Workpiece counting" are not identical to the
corresponding tool management functions, but are intended to support machines, which
have no explicit tool management.
Function
The function "Program runtime" makes the NC internal timers available to monitor
technological processes via system variables.
Note
The system variables can be accessed at any time by reading from the HMI operator
interface.
Examples
• Activating the runtime measurement for the active NC program (no measurement with
active dry run feedrate and program testing):
$MC_PROCESSTIMER_MODE = 'H2'
• Activating the measurement for the tool action time (measurement also with dry run
feedrate and program testing):
$MC_PROCESSTIMER_MODE = 'H34'
• Activating the measurement for the total runtime and the tool action time (measurement
also with program test):
$MC_PROCESSTIMER_MODE = 'H25'
Functionality
The "Workpiece counter" function makes available various channel-specific system variables
specifically for counting workpieces:
• $AC_REQUIRED_PARTS
Number of workpieces to be completed (setpoint workpieces)
• $AC_TOTAL_PARTS
Number of completed workpieces in total (actual total)
• $AC_ACTUAL_PARTS
Number of completed workpieces (actual workpieces)
• $AC_SPECIAL_PARTS
Number of workpieces specified by the user
Value range: 0 to 999 999 999
Access mode: Write / read
Note
The "Workpiece counter" function operates independently of the tool management functions.
Activation
The workpiece counters are activated or the reset timing and counting algorithm are
specified via the following two channel-specific machine data:
Supplementary conditions
• All workpiece counters are set to the default values on control power-up and can be read
and written independent of their activation.
• If $AC_REQUIRED_PARTS = 0, no ID check is performed with the counter pulse for
$AC_ACTUAL_PARTS or $AC_SPECIAL_PARTS even if the MD bit is set.
Examples
Activation of workpiece counter $AC_REQUIRED_PARTS
MD27880 $MC_PART_COUNTER = 'H3'
Alarm displayed with: $AC_REQUIRED_PARTS == $AC_SPECIAL_PARTS
Activation of workpiece counter $AC_TOTAL_PARTS
MD27880 $MC_PART_COUNTER = 'H10'
MD27882 $MC_PART_COUNTER_MCODE[0] = 80
For each M02: $AC_TOTAL_PARTS += 1
Note: $MC_PART_COUNTER_MCODE[0] has no meaning.
Activation of workpiece counter $AC_ACTUAL_PARTS
MD27880 $MC_PART_COUNTER = 'H300'
MD27882 $MC_PART_COUNTER_MCODE[1] = 17
For each M17: $AC_ACTUAL_PARTS += 1
Activation of workpiece counter $AC_SPECIAL_PARTS
MD27880 $MC_PART_COUNTER = 'H3000'
MD27882 $MC_PART_COUNTER_MCODE[2] = 77
For each M77: $AC_SPECIAL_PARTS += 1
Deactivation of workpiece counter $AC_ACTUAL_PARTS
MD27880 $MC_PART_COUNTER = 'H200'
MD27882 $MC_PART_COUNTER_MCODE[1] = 50
Note: $AC_TOTAL_PARTS is not active
Activation of all counters
MD27880 $MC_PART_COUNTER = 'H3313'
MD27882 $MC_PART_COUNTER_MCODE[0] = 80
MD27882 $MC_PART_COUNTER_MCODE[1] = 17
MD27882 $MC_PART_COUNTER_MCODE[2] = 77
Asynchronous subprograms
This function (Interrupt routines/ASUBs) is an option.
The examples appear with the descriptions in the individual sections of the function
descriptions.
5.3.1 Signals to NC
$ E
$AC_ACTUAL_PARTS, 2-142 ESR, 2-93
$AC_REQUIRED_PARTS, 2-142 Eventcontrolled program sequences, 2-82
$AC_SPECIAL_PARTS, 2-142 Execute external subroutine, 2-120, 2-121
$AC_TOTAL_PARTS, 2-142 Execution from external source, 2-120
Execution from external source via RS232
interface, 2-120
A EXT_ZERO_POINT, 2-93
External subroutine, 2-121
Action single block, 2-18
Asynchronous subroutines (ASUBs), 2-93
Automatic Operating Mode, 2-141
Automatic start of an ASUB after block search, 2-28
F
Autonomous singleaxis operations, 2-65 Feed stop, 2-78
Function selection (via operator interface or
PLC), 2-111
B
BLOCKREADINHIBIT_ON, 2-93
BLOCKSEARCHRUN_NEWCONF, 2-93
G
Gap, 2-3
C
H
Calling the ASUB outside program operation, 2-97
Cascaded block search, 2-29 Hold block, 2-55
Channel
Channel status, 2-77
Classification of system variables, 2-68 I
Control
ID check, 2-143
Normal powerup, 2-140
Implicit preprocessing stop, 2-58
Control powerup, 2-140
INIT_SYNC, 2-92
With default values, 2-140
Initial setting
Control REPOS with VDI interface signals, 2-43
Program operation mode, 2-72
Counting
Interpolator, 2-12
Pulse, 2-143
Interrupt, 2-92
Interrupt pointer
automatically., 2-57
D interrupt routines, 2-93
Decoding single block, 2-18
Decoding single block SBL2 with implicit
preprocessing stop, 2-105 L
DELDISTOGO_SYNC, 2-92
LIFTFAST, 2-95
Dry run feedrate, 2-20
M O
main technological application, 2-14 Operator panel reset, 2-84, 2-86
MD10707, 2-36 Override, 2-140
MD10708, 2-36 OVERSTORE_BUFFER_END_REACHED, 2-92
MD10714, 2-134
MD10715, 2-133
MD10716, 2-133 P
MD10717, 2-133
Part program
MD10718, 2-133
End, 2-123
MD10719, 2-133
interruption, 2-74
MD10804, 2-134
Skipping of specific part-program blocks, 2-21
MD10806, 2-134
Start, 2-83, 2-123
MD10814, 2-134
starting, 2-79
MD11602, 2-99
Part-program end, 2-84
MD11604, 2-99
Part-program start, 2-123
MD18800, 2-134
Part-program start and part-program end, 2-85
MD20094, 2-134
Power-up, 2-85
MD20095, 2-134
PREP_STOP, 2-92
MD20110, 2-98
PROG_END, 2-91
MD20112, 2-37, 2-98
PROGCANCELSUB, 2-92
MD22254, 2-134
PROGMODESLASHOFF, 2-92
MD22256, 2-134
PROGMODESLASHON, 2-92
MD22560, 2-134
Program
MD22620, 2-37, 2-67
Program action, 2-78
MD26008, 2-134
Program operation mode, 2-71
MD26012, 2-134
Program status, 2-76
MD27880, 2-142
Program test, 2-16
MD27882, 2-142, 2-143
Program control
Mirroring
DRF, 2-111
Retraction direction (lift fast), 2-95
DRY, 2-111
MMCCMD, 2-92
M01, 2-111
Modal execution from external source, 2-120
MFct, 2-111
Modally active synchronized actions, 2-6
PRT, 2-112
Mode group
ROV, 2-111
number, 2-3
SBL1, 2-111
Mode groups, 2-5
SBL2, 2-111
change, 2-10
SBL3, 2-111
Interlocks, 2-10
SKP, 2-111
Monitoring functions, 2-10
Program display modes, 2-114
Program execution without setpoint outputs, 2-16
Program section
N -repetition, 2-81
NC PROGRESETREPEAT, 2-92
- Stop, 2-78
NC instruction, 2-73
NC Start, 2-72, 2-141 R
Program, 2-141
Rapid traverse, 2-141
-Reset, 2-141
Reaching simulated target point for LEAD with
NEWCONF_PREP_STOP, 2-93
JOG, 2-62
Read-in disable, 2-78
REPOS acknowledgments, 2-44
REPOS process, 2-39
Detailed description 2
Supplementary conditions 3
SINUMERIK 840D/840Di/810D
Examples 4
Axis Types, Coordinate Systems, 5
Data lists
Frames (K2)
Function Manual
10/04
6FC5 297-7AC20-0BP1
Safety Guidelines
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 to property damage only 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.
Prescribed Usage
Note the following:
Warning
This device may only be used for the applications described in the catalog or the technical description and only in
connection with devices or components from other manufacturers which have been approved or recommended
by Siemens. Correct, reliable operation of the product requires proper transport, storage, positioning and
assembly as well as careful operation and maintenance.
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.
Siemens AG
Automation and Drives Siemens AG 2005
Postfach 4848, 90327 Nuremberg, Germany Technical data subject to change
Tables
Table 2-1 Zeros and reference points ...................................................................................................... 2-18
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.
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 AXCONF_GEOAX_ASIGN_TAB
MD20060 AXCONF_GEOAX_NAME_TAB
MD20070 AXCONF_MACHAX_USED
MD20080 AXCONF_CHANAX_NAME_TAB
MD10000 AXCONF_MACHAX_NAME_TAB
MD35000 SPIND_ASSIGN_TO_MACHAX
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/Multiple Operator Panels on Multiple NCUs, Distributed Systems (B3)
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)
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 coordinate system (BCS) 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.
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 (parts
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.
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
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, which 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.
ASCALE must be programmed if a new scaling is to be based on a previous scaling, rotation,
translation or mirroring.
Mirroring
You can set the axis, about which mirroring is performed, via
MD10610 MIRROR_REF_AX
:
Frame chaining
The current FRAME is composed of the total basic frame, the settable FRAME, the 4 system
frames and the programmable FRAME.
The current complete frame is calculated according to the formula below:
Suppression of frames
Current frames can be suppressed with the following instructions:
Global frames can be used to apply offsets, scale factors and mirroring operations to
channel and machine axes.
All basic frames (up to 16 global and 16 channel-specific) are chained to produce the total
basic frame. The standard configuration is designed for at least one basic frame per channel.
Settable frames can be defined as either NCU global or channelspecific.
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.
Crosschannel activation of frames is not supported.
2.1.1 Overview
*HRPHWU\D[HV 6SHFLDOD[HV
&KDQQHOD[HV
.LQHPDWLF
WUDQVIRUPDWLRQ
/LQHDUD[HV
5RWDU\D[HV
2ULHQWDWLRQD[HV
0DFKLQHD[HV
Figure 2-1 Relationship between geometry axes, special axes and machine axes
0DFKLQHD[HV
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
• Axes for tool magazine
• Axes for automatic tool changer
• Spindle sleeves
• Axes for pallet changers
• Etc.
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.
Meaning
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.
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]...)
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.
RESET
MD20110 RESET_MODE_MASK
FALSE: 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.
TRUE: The configuration of the geometry axes remains unchanged or is switched to the
basic state defined in machine data AXCONF_GEOAX_ASSIGN_TAB on Reset and
part-program end (according to machine data $MC_RESET_MODE_MASK) and on
part-program start (according to machine data$MC_START_MODE_MASK).
Program start
Analogously to the Reset response, the response on Start is determined by:
MD20112 START_MODE_MASK
M code
The PLC is informed when a geometry axis has been replaced using GEOAX( )
through the optional output of an M code that can be set in machine data
MD22532 GEOAX_CHANGE_M_CODE
.
Note
If this machine data is set to one of the values 0 to 6, 17, 30, then no M code is output.
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.
• When the transformation is deactivated, the MDdefined basic setting for the geometry
axis configuration becomes valid again.
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/Description of Functions, Special Functions; 3-Axis to 5-Axis Transformation (F2)
/FB2/Description of Functions, Expansion 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.
Meaning
In contrast to geometry axes, no geometrical relationship is defined between the special
axes.
Note
Note: Geometry axes have an exactly defined relationship in the form of a rightangled
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
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.
Meaning
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.
Application
Typical positioning axes are:
• Loaders for transporting workpieces
• Tool magazine/turret
Reference
References:
/FB2/Description of Functions, Expansion Functions; Positioning Axes (P2)
/FB1/Description of Functions, Basic Machine; Spindles (S1)
/FB3/Description of Functions, Special Functions; Gantry Axes (G1)
Meaning
A main axis is an axis that is interpolated by the main run.
This interpolation can be started:
• 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
• 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.
The actions below are affected:
Meaning
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 instruction FGROUP specifies whether the axis is a feed-defining path axis (used to
calculate the path velocity) or a synchronous axis (not used to calculate the path velocity).
Example
Note
The channel axis name must be used for the FGROUP command.
This is defined by the machine data:
MD20080 AXCONF_CHANAX_NAME_TAB
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)
0'$;&21)B*(2$;B1$0(B7$% 0'$;&21)B*(2$;B$66,*1B7$%
&KDQQHO &KDQQHO
&KDQQHO &KDQQHO
VWJHRPHWU\D[LV>@ ;
QGJHRPHWU\D[LV>@ <
UGJHRPHWU\D[LV>@ =
0'$;&21)B&+$1$;B1$0(B7$% 0'$;&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'$;&21)B0$&+$;B1$0(B7$% 0'63,1'B$66,*1B72B0$&+$;
VWPDFKLQHD[LV>@ ;
QGPDFKLQHD[LV>@ <
UGPDFKLQHD[LV>@ =
WKPDFKLQHD[LV>@ %
WKPDFKLQHD[LV>@ :
WKPDFKLQHD[LV>@ &
WKPDFKLQHD[LV>@
WKPDFKLQHD[LV>@
Note
Leading zeroes in user-defined axis identifiers are ignored.
Example:
MD10000 AXCONF_MACHAX_NAME_TAB[0] = X01 is equivalent to X1
The geometry axes must be assigned to the channel axes in ascending order leaving no
gaps.
Example
In the example below, a machine tool channel axis is specified without a real machine axis.
0'$;&21)B&+$1$;B1$0(B7$% 0'$;&21)B0$&+$;B86('
&KDQQHO &KDQQHO
&KDQQHO &KDQQHO
VWFKDQQHOD[LV>@ ;
QGFKDQQHOD[LV>@ <
UGFKDQQHOD[LV>@ =
WKFKDQQHOD[LV>@ %
WKFKDQQHOD[LV>@ :=0 *DS
WKFKDQQHOD[LV>@ &
WKFKDQQHOD[LV>@ &
WKFKDQQHOD[LV>@
/RJLFDOPDFKLQHD[LVLPDJH
01B$;&21)B/2*,&B0$&+$;B7$%
1&B$;Q
&7B6/
1&8
; < = %
%
/RFDOPDFKLQHD[HV
0'$;&21)B0$&+$;B1$0(B7$% &RQWDLQHU
VWPDFKLQHD[LV>@ ; 1&B
QGPDFKLQHD[LV>@ <
UGPDFKLQHD[LV>@ = 1&B$;Q
WKPDFKLQHD[LV>@ %
WKPDFKLQHD[LV>@ & 1&B
WKPDFKLQHD[LV>@
WKPDFKLQHD[LV>@ 1&B
WKPDFKLQHD[LV>@ & &RQWDLQHUOLQND[HV
/LQND[LV
Note
The gaps count as axes with reference to the number of channel axes and their indices.
If an attempt is made to define a channel axis gap on the geo axis via the machine data
MD20050 AXCONF_GEOAX_ASSIGN_TAB
, the attempt is
rejected without an alarm.
Using channel axes in
MD24120ff. TRAFO_GEOAX_ASSIGN_TAB1...8
and
MD24110ff. TRAFO_AXES_IN1...8
, to which no machine axes are defined using
MD20070 AXCONF_MACHAX_USED
(gap),
triggers alarms 4346 or 4347.
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.
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 2-7 Mapping of channel axes onto axis containers via logical machine axis image
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 $MN_AXCONF_LOGIC_MACHAX_TAB of an
individual NCU are fixed.
Note
The axis container functionality is currently not available with the SINUMERIK 840Di.
0 :
7
The zero of the coordinate system MCS corresponds to M and the zero of the WCS
corresponds to W. In the working space of the machine the reference point is defined as R
and the toolholder reference point with T.
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\VWHP0&6 6SLQGOH OHQJWK V\VWHP:&6
0 0
0DFKLQH :RUNSLHFH
]HUR ]HUR
Figure 2-9 Position of coordinate systems by machine zero M and workpiece zero W
;
=
5
5HIHUHQFH
SRLQW
7 7RROKROGHU
0DFKLQH
]HUR / ;
7RROKROGHUUHIHUHQFHSRLQW
/
0
2.3.1 Overview
Meaning
DIN 66217 stipulates that machine tools must use right-handed, rectangular (Cartesian)
coordinate systems.
<
;<=
$[HVSHUSHQGLFXODUWR
%
RQHDQRWKHU
$%&
5RWDU\D[HVURWDWLQJ
DERXW;<=
r
&
;
$
=
)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
%
=
&
;
<
;
0
=
Note
After Preset, the reference points are invalid!
If possible do not use this function.
<
;
0&6 %&6
= 0DFKLQH]HUR
<%&6
.LQHPDWLFBWUDQV
IRUPDWLRQ
<0&6
; %&6
%DVLFFRRUGLQDWHV\VWHP%&6
= %&6
; 0&6
0DFKLQHFRRUGLQDWHV\VWHP0&6
= 0&6
Machine kinematics
The workpiece is always programmed in a two or threedimensional, rightangled 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/Description of Functions, Special Functions; 3-Axis to 5-Axis Transformation (F2)
/FB2/Description of Functions, Expansion Functions; Kinematic Transformation (M1)
<
=HURBRIIVHWBH[
WHUQDO
<
;
%DVLF]HURV\VWHP%=6
=
;
%DVLFFRRUGLQDWHV\VWHP%&6
=
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%).
The "Zero offset external via system frame" is applied immediately.
Programming
Setting a new offset via the axis-specific system variables:
$AA_ETRANS[axis]=Ri
The instruction below reads the axisspecific active offset value:
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 (Differential Resolve Function) offset allows an additional incremental zero offset to
be set using the handwheel. It acts in the basic coordinate system on geometry and special
axes.
This function can be used, for example, to compensate for tool wear within a programmed
block.
The DRF offset is read via axisspecific system variable $AC_DRF[axis].
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.
Depending on the machine data
MD24008 CHSFRAME_POWERON_MASK
, system frames are retained on POWER ON.
RESET/end of program
The activated values remain active after RESET and program end.
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.
BZS
The basic zero system (BZS) is the basic coordinate system with a basic offset.
<
%DVLFRIIVHW
<
;
%DVLF]HURV\VWHP%=6
=
;
%DVLFFRRUGLQDWHV\VWHP%&6
=
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
Machine manufacturer
Recommendation:
Use the 3rd basic offset onwards for your own applications.
The 1st and 2nd basic offsets are reserved for PRESET and the "Zero offset external".
SZS
The "settable zero system" (SZS) is the workpiece coordinate system WCS with a
programmable frame (viewed from the perspective of the WCS). The workpiece zero is
defined by the settable FRAMES G54 to G599.
<
**
<
;
6HWWDEOH]HURV\VWHP6=6
=
;
%DVLF]HURV\VWHP%=6
=
Figure 2-20 Settable FRAME G54 to G599 between BZS and SZS
Programmable offsets act on the "settable zero system". All programmable offsets refer to
the "settable zero system".
Coordinate system:
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
Application
The function of the SZS coordinate system is to display actual values and move the axes
during a cycle interruption.
Cycles utilize frames in the frame chain to perform their functions.
They insert translations or rotations either in the:
• Programmed frame $P_PFRAME
Or
• Cycle system frame $P_CYCFRAME
The WCS is, therefore, modified by cycles. A cycle interrupted by the user should thus also
be executed in the programmed WCS. The SZS can be used to display the last valid
coordinates.
The machine data
MD24030 FRAME_ACS_SET
can then be set to define whether the SZS must be interpreted with or without the currently
programmed frame $P_PFRAME and the transformation frame $P_TRAFRAME. The default
value of 1 should be retained.
:.6
3B&<&)5$0(
3B75$)5$0(3B3)5$0(
(16$&6
:.6
3B&<&)5$0(
(16$&6
3B75$)5$0(3B3)5$0(
\
\
:.6
(16
3B&<&)5$0(
[
3B3)5$0(
WCS
The workpiece coordinate system (WCS) is the programming basis.
<
3URJUDPPDEOHB)5
$0(
ZLWKB3B3)5$0(
<
;
:RUNSLHFHFRRUGLQDWHV\VWHP:&6
=
;
6HWWDEOH]HURV\VWHP6=6
=
2.4 Frames
] [
The neutral position of the machine is obtained from the coordinate axes and the
constructive characteristics of the machine. The zero of the coordinate system is obtained by
defining a suitable reference point on the machine in its neutral position.
The position of the coordinate systems (MCS, BCS, BZS, SZS, WCS) is determined by
means of zeros.
7RROUHIHUHQFH
SRLQW
0&6
:&6
[
5HIHUHQFHSRLQW
3B$&7)5$0(
The position of the reference point R is defined by cam switches. The reference point must
be approached each time the control is activated. The control can only then work with the
measuring system and transfer all position values to the coordinate systems.
The machine zero M defines the machine coordinate system MCS. All other reference points
refer to the machine zero.
The workpiece zero W defines the workpiece coordinate system in relation to the machine
zero. The programmed part-program blocks are executed in the workpiece coordinate
system.
The toolholder reference point is located on the toolholder locator. By entering the tool
lengths, the control calculates the distance between the tool tip (TCP Tool Center Pos) and
the toolholder reference point.
2.4.2 Frames
A frame is a structure, which contains a value for the translation, fine offset, rotation (only for
geometry axes), scaling and mirroring for each axis. Activating a frame causes a static
coordinate transformation to be carried out via a defined calculation rule.
2.4.3.1 Translation
The program commands below are used to program the translation:
7UDQVODWLRQ
)LQHRIIVHW
$P_UIFR[1] = CTRANS(x,10,y,10)
$P_UIFR[1,x,tr] = 10 ; Frame components
TRANS x = 10 y = 10 ; Prog. frame only
A fine offset changed by the operator does not apply until after activation of the
corresponding frame, i.e., activation via G500, G54 to G599.
Once activated, a fine offset of a frame remains active the whole time the frame is active.
When the offset of the current frame is displayed, the total offset (coarse offset and fine
offset) is output.
Rotations
[
$
&
5LJKWKDQGUHFWDQJXODU
FRRUGLQDWHV\VWHP
]
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.
The machine data below is used to configure the rotation in the frame:
MD10600 $MN_FRAME_ANGLE_INPUT_MODE
1: RPY notation
2: Euler angle
RPY
Rotations with a RPY angle are carried out in the order Z, Y', X''.
5RWDWLRQDERXW] 5RWDWLRQDERXW\
5RWDWLRQDERXW[
] ]
[
\
\
\
Euler angle
Rotations with a Euler angle are carried out in the order Z, X', Z''.
5RWDWLRQDERXW] 5RWDWLRQDERXW[
5RWDWLRQDERXW]
] ]
\ [
[
[
[
CRPL() can be chained with frames and known frame functions, such as CTRANS(),
CROT(), CMIRROR(), CSCALE(), CFINE().
Example:
2.4.3.4 Scaling
\
J
LQ
DO
6F
$P_UIFR[1] = CSCALE(x, 1, y, 1)
SCALE x = 1 y = 1
$P_UIFR[1,x, sc] = 1
2.4.3.5 Mirroring
0LUURULQJ
$P_UIFR[1] = CMIRROR(x, 1, y, 1)
MIRROR x = 1 y = 1
$P_UIFR[1,x, mi] = 1
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 with SPI(), as only geometry axes are permitted for CROT().
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(..).
For example, if the spindle is assigned to channel axis "A", programming of
N10 $P_UIFR[1] = CTRANS(SPI(1), 33.33, X,1) : CSCALE(SPI(1),33.33):CMIRROR(SPI(1))
becomes
$P_UIFR[1]=CTRANS(X,1,A,33.33):CSCALE(A,33.33):CMIRROR(A) when decompiled.
If a spindle and an assigned axis are programmed in a frame instruction, the 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)
6FDOLQJ
0LUURULQJ
5RWDWLRQ
)LQHRIIVHW
5RXJKRIIVHW
The formulae below are used to discover the coordinate transformation for geometry axes:
%.6쟦:.6 Y
LQY0
LQY6
LQY5YW
2.4.4.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 managements are stored in the SRAM and can be archived. The program can describe
both data management frames and active frames. HMI can only describe data management
frames.
65$0
6\VWHPIUDPHV
3B&<&)5
3B75$)5$0( %DVLFIUDPHV *WR*
3B:3)5
3B722/)5 1&8 &+$1 1&8&+$1
3B(;7)5 3B1&%)5>Q@ 3B&+%)5>Q@ 3B8,)5>Q@
3B6(7)5
**WR*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$&7%)5$0(3B,)5$0(3B722/)5$0(
3B:3)5$0(3B75$)5$0( 3B3)5$0( 3B&<&)5$0(
3URJUDP
If a change is made to a frame via HMI with the aid of the PI _N_SETUDT, it has no effect on
the program until it is restarted or is in a reset state, provided that HMI machine data
MD9440 ACTIVATE_SEL_USER_DATA
is set.
WCS position specifications do not change immediately when a change is made to a frame
via HMI, but after restart.
System frames are activated during the preprocessing stage by executing the appropriate
system functions, either from the part program or using the HMI.
System frames, which are saved in the data management, are also activated by means of a
G500, G54 to G599 instruction. The cycle programmer has the option to modify the system
frames and activate them by means of a G500, G54 to G599 instruction. However, this option
should only be used with reservation.
Activation of all data management frames can be changed with the machine data
MD24050 $MC_FRAME_SAA_MODE
.
Global frames only have axial frame components, such as translations, scales and mirrors of
individual axes. Each channel can read or modify global frames for any machine axis.
A characteristic of global frames is that they are calculated in all channels of an NCU. As the
assignment of machine axes to channel axes and, in particular, to geometry axes, can be
different in all channels, there is no geometric relationship. Global frames describe offsets,
scales and mirrors of machine axes. Rotations cannot be used on global frames.
All settable frames can be reconfigured as global frames via machine data
MD18601 $MN_MM_NUM_GLOBAL_USER_FRAMES
.
If the value of this machine data is greater than zero, there are no channel-specific settable
frames.
Machine data
MD28080 $MC_MM_NUM_USER_FRAMES
is then irrelevant and is not evaluated.
The number of global basic frames is configured via machine data
MD18602 $MN_MM_NUM_GLOBAL_BASE_FRAMES
.
The machine data
MD28081 $MC_MM_NUM_BASE_FRAMES
can also make channel-specific basic frames available simultaneously.
Global frames can be read and written from all channels of an NCU. When writing global
frames, the user must ensure channel coordination. This can be achieved using wait
markers, for example.
2.4.5.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.
DLQ
FK
H
DP
)U
:&63&6
3B75$)5$0(3B3)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(
%&6%&6
+DQGZKHHO'5)RIIVHWVXSHULPSRVHGPRYHPHQW]HURRIIVHW
H[WHUQDONLQHPDWLFWUDQVIRUPDWLRQ
0&60&6
+RPHSRVLWLRQRIIVHW
0&B)5$0(B$&6B6(7
:.6
3B&<&)5$0(
3B75$)5$0(3B3)5$0(
(16
0&B)5$0(B$&6B6(7
:.6
3B&<&)5$0(
(16
3B75$)5$0(3B3)5$0(
0(
)5$
<&
B&
3
(16
3B75$)5$0(3B3)5$0(
3$
68
:&63&6
*
3B75$)5$0(3B3)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(
%&6%&6
+DQGZKHHO'5)RIIVHWVXSHULPSRVHGPRYHPHQW]HURRIIVHWH[WHUQDO
.LQHPDWLFWUDQVIRUPDWLRQ
0&60&6
+RPHSRVLWLRQRIIVHW
Frame suppressions SUPA, G153 and G53 lead to the WCS, SZS and possibly the BZS
jumping when frame suppression is active.
The machine data
MD24020 $MC_FRAME_SUPPRESS_MODE
enables this characteristic for the position display and the predefined position variables to
be changed.
The settings below can be made with MD24020 $MC_FRAME_SUPPRESS_MODE:
2.4.6.1 Overview
There are up to four frame variants:
• Settable frames (G500,G54 to G599)
• Basic frames
• Programmable frame
• System frames
basic frame is immediately included in the calculation. In the case of NCU global settable
frames, the modified frame acts only in the channel in which the frame was programmed. If
the frame is to be modified for all channels of an NCU, $P_UBFR and $P_BFRAME must be
written simultaneously. The other channels must then activate the corresponding frame, e.g.,
with G54.
$P_BFRAME is identical to $P_CHBFRAME[0]. The system variable always has a valid
default value. If there is no channel-specific basic frame, an alarm is issued at read/write:
"Frame: Instruction not allowed" is output on a read or write access.
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].
MIRROR
Previously (up to SW P4), mirroring of a geometry axis had been related to a defined
reference axis using machine data
MD10610 $MN_MIRROR_REF_AX
.
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.
Mirroring is then no longer mapped onto the mirroring of a reference axis and rotations of
other axes.
This setting can be configured using 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.
Machine data setting
MD10612 $MN_MIRROR_TOGGLE = 0
can be used to define that the programmed values should be evaluated.
A value of 0, i.e., AMIRROR 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.
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.
MD28082 $MC_MM_SYSTEM_FRAME_MASK
, the variable returns a zero frame.
• $P_WPFRAME
In the part program, the variable $P_WPFRAME can be used to read and write the
current system frame for setting workpiece reference points.
If the system frame has not been configured using machine data
MD28082 $MC_MM_SYSTEM_FRAME_MASK
, the variable returns a zero frame.
• $P_CYCFRAME
In the part program, the variable $P_CYCFRAME can be used to read and write the
current system frame for cycles.
If the system frame has not been configured using machine data
MD28082 $MC_MM_SYSTEM_FRAME_MASK
, the variable returns a zero frame.
• $P_TRAFRAME
In the part program, the variable $P_TRAFRAME can be used to read and write the
current system frame for transformations.
If the system frame has not been configured using machine data
MD28082 $MC_MM_SYSTEM_FRAME_MASK
, the variable returns a zero frame.
2.4.6.8 $P_ACTFRAME
The resulting current complete frame $P_ACTFRAME is now a chain of all system frames,
basic frames, the current settable frame and the programmable frame. The current frame is
always updated whenever a frame component is changed.
The current complete frame is calculated according to the formula below:
MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 1
$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)
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.
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
$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
$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
;Set frame
;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
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 <>
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
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.
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
$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:
N450 G603
N460
; Frame settings
N500 $P_UIFR[1] = ctrans(x,1,y,2,z,3,b,4)
N510 $P_UIFR[1] = $P_UIFR[1] : crot(x,10,y,20,z,30)
N520 $P_UIFR[1] = $P_UIFR[1] : cmirror(x,b)
N530
N540 $P_CHBFR[0] = ctrans(x,10,y,20,z,30,b,15)
N550
N560 G54
N570
; 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)
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]
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.
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
$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
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
N1040 setal(61000)
N1050 endif
N1060 if $P_ACTFRAME <>
TRANS(X,11,Y,22,Z,33,B,44,C,20):CROT(X,10,Y,20,Z,30):CMIRROR(X,C)
N1070 setal(61000)
N1080 endif
N1090
N1100 TRAANG(,1)
N1110
N1120 if $P_BFRAME <> CTRANS(X,10,Y,20,Z,30,CAX,10,B,40,C,15)
N1130 setal(61000)
N1140 endif
N1150 if $P_BFRAME <> $P_CHBFR[0]
N1160 setal(61000)
N1170 endif
N1180 if $P_IFRAME <>
CTRANS(X,1,Y,2,Z,3,CAX,1,B,4,C,5):CROT(X,10,Y,20,Z,30):CMIRROR(X,CAX,C)
N1190 setal(61000)
N1200 endif
N1210 if $P_IFRAME <> $P_UIFR[1]
N1220 setal(61000)
N1230 endif
N1240 if $P_ACTFRAME <>
TRANS(X,11,Y,22,Z,33,CAX,11,B,44,C,20):CROT(X,10,Y,20,Z,30):CMIRROR(X,CAX,C)
N1250 setal(61001)
N1260 endif
N1270
N1280
N1290 $P_UIFR[1,x,tr] = 11
N1300 $P_UIFR[1,y,tr] = 14
N1310
N1320 g54
N1330
;Set frame
N1350 ROT RPL=-45
N1360 ATRANS X-2 Y10
N1370
;Four-edge roughing
N1390 G1 X10 Y-10 G41 OFFN=1; allowance 1 mm
N1400 X-10
N1410 Y10
N1420 X10
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
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)
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)
$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
g1 x-1 y-3
;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
; 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
; "$P_CHBFRAME[0..16]", "$P_NCBFRAME[0..16]",
; "$P_EXTFRAME", "$P_SETFRAME"
; "$P_PARTFRAME"
; Strings for data management frames
; "$P_CYCFR", "$P_TRAFR", "$P_WPFR",
; "$P_TOOLFR", "$P_UIFR[0..99]",
; "$P_CHBFR[0..16]", "$P_NCBFR[0..16]",
; "$P_EXTFR", "$P_SETFR", "$P_PARTFR"
2.4.9 Functions
2.4.9.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 into a system frame ($P_PARTFR).
The translational part of this frame is then overwritten.
Other contents of the frame are left unchanged.
In order to be able to use this system frame, 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.
The ratios are shown in the figure below:
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.
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 XY 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.
$X[LOLDU\SODQH
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
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 XZ 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 twodimensional
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 nonrotated coordinate
system.
This means that
• When programming X and Y the new X-axis lies in the old ZX plane.
• When programming Z and X the new Z-axis lies in the old YZ plane.
• When programming Y and Z the new Y-axis lies in the old XY 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.
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 Hirthtoothed
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.
The values 1 to 3 have the following meanings:
1: The new X direction is chosen to lie in the XZ 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 YZ 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:
...
...
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 XY 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 YZ
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.
For setting data setting
SD42980 $SC_TOFRAME_MODE=3
, X and X', as well as Y and Y', would each form an angle of 4.11 degrees.
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.
The system frame for TCARR and PAROT is configured with bit 2 in machine data
MD28082 $MC_MM_SYSTEM_FRAME_MASK
.
Machine data
MD20184 $MC_TOCARR_BASE_FRAME_NUMBER
is then no longer evaluated.
If the system frame for TCARR is configured, TCARR and PAROT describe that system frame;
otherwise the basic frame identified by machine data
MD20184 $MC_TOCARR_BASE_FRAME_NUMBER
is described.
With kinematics systems of the types P and M, TCARR will enter the table offset of the
orientational toolholder (zero offset resulting from the rotation of the table) as a translation
into the system frame. PAROT converts the system frame such, that a partoriented WCS
results.
The system frames are stored in the SRAM and, therefore, remain stored after Reset. The
system frames also remain active in the case of a mode change.
For the display, the G codes PAROT and TOROTOF, TOFRAME are each assigned to a
separate G code group.
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.
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:
Programmable frame
The programmable frame is recreated when the subroutine return is carried out.
or
MD18602 $MN_MM_NUM_GLOBAL_BASE_FRAMES
has a value greater than zero.
Channel-specific frames are saved in data block _N_CHANx_UFR.
In certain circumstances, alarms could be triggered when reintroducing saved data, if the
frame affiliates, be they NCU global or channel-specific, have been changed using machine
data.
Data backup always takes place in accordance with the axis configuration set in the machine
data, not in accordance with the currently valid geometry axis assignment.
2.4.13.1 Power on
The table below describes the frame states after POWER ON:
MD24004 $MC_CHBFRAME_POWERON_MASK
.
System frames Retained, depending on
MD24008 $MC_CHSFRAME_POWERON_MASK
, individual system frames can be deleted on POWER ON.
System frames are carried out in the first-order in the data
management.
Zero offset external Permanent, but has to be activated again.
The system frame is retained.
DRF offset Deleted
Bit 0: System frame for PRESET and scratching is active after RESET.
Bit 1: System frame for zero offset external is active after RESET.
Bit 2 and bit 3: Not evaluated
Bit 4: System frame for workpiece reference points is active after RESET.
Bit 5: System frame for cycles is active after RESET.
The reset response of the system frames for TCARR, PAROT, TOROT, and TOFRAME depends
on the G code reset setting.
The machine data below are used for this setting:
MD20110 $MC_RESET_MODE_MASK
Bit 0 = 0:
TCARR and PAROT system frames are retained as before the Reset.
Bit 0 = 1:
MD20152 $MC_GCODE_RESET_MODE[51] = 0
MD20150 $MC_GCODE_RESET_VALUES[51] = 1 PAROTOF
MD20150 $MC_GCODE_RESET_VALUES[51] = 2 PAROT
MD20152 $MC_GCODE_RESET_MODE[51] = 1
TCARR and PAROT 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
MD20152 $MC_GCODE_RESET_MODE[52] = 1
TOROT and TOFRAME system frames are retained as before the
Reset.
TCARR and PAROT are two independent functions, which describe the same frame. With
PAROTOF, the component of TCARR is not activated on Reset.
MD20110 $MC_RESET_MODE_MASK
Bit 0 = 1 and bit 14 = 0 Chained complete basic frame is deleted.
Bit 0 = 1 and bit 14 = 1 The complete basic frame results from
$MC_BASEFRAMES_RESET_MASK
and
$MN_BASEFRAMES_RESET_MASK.
$MC_BASEFRAMES_RESET_MASK:
Bit 0 = 1: 1. 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.
$MN_BASEFRAMES_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.
MD28560 $MC_MM_SEARCH_RUN_RESTORE_MODE
Bitmask for restoring data when a simulated program run is aborted.
The following settings apply:
2.4.13.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.
2.5.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 powerup.
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 the WCS and MCS, using operator action on the HMI/MMC.
• To change the workpiece coordinate system by operator action
(e.g., changing the settable frame or the tool length correction).
Switchover to WCS
In switching over to the WCS using the operator panel, the axis positions in relation to the
origin of the WCS are displayed.
Switchover to MCS
In switching over to the MCS using the operator panel, the axis positions in relation to the
origin of the MCS are displayed.
)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 Guide, Fundamentals
/FB1/Description of Functions, Basic Machine; Tool Offset (W1)
/FB1/Description of Functions, Basic Machine; Auxiliary Function Outputs to PLC (H2)
/FB2/Description of Functions, Expansion Functions; Kinematic Transformation (M1)
/FB3/Description of Functions, Special Functions; Axis Couplings and ESR (M3);
Chapter: Coupled Motion, Chapter: Master Value Coupling
/FB3/Description of Functions, Special Functions; Tangential Control (T3)
Overstore
Overstoring in RESET state of:
• Frames (zero offsets)
• Active plane
• Activated transformation
• Tool offset
immediately affects the actualvalue display of all axes in the channel.
MMC inputs
If operations on the operator panel are used to change the values for
"Active frame" (zero offsets, "Parameters" operating area)
and
"Active tool length compensation" ("Parameters" operating area)
, one of the following actions is used to activate these changes in the display:
• Press the RESET key.
• Reselect:
– Zero offset by the part program
– Tool offset by the part program
• Reset:
– Zero offset by overstoring
– Tool offset by overstoring
• Part-program start
MD9440
If the MMC machine data
MD9440 ACTIVATE_SEL_USER_DATA
for the operator panel 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].
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 poweron 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/Description of Functions, Basic Machine; Mode Group, Channel, Program Operation,
Reset Response (K1)
<
:=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
MD20070 AXCONF_MACHAX_USED[2] =3
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
• Either channel can activate the global basic frame for that channel.
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
4.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
Example 2
Channel axes 4, 5 and 6 become the geometry axes of a 5axis 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
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)
Names Description
$AC_DRF[axis] DRF offset (differential resolver function)
$AA_ETRANS[axis] Offset value zero offset external
$AA_OFF[axis] Overlaid motion for programmed axis
$P_UIFR[n] Settable frames, activated via G500, G54 to G599
$P_CHBFR[n] Channel basic frames, activated via G500, G54 to G599
$P_SETFR System frame for PRESET and scratching in data management
$P_EXTFR System frame for zero offset external in data management
$P_PARTFR System frame for TCARR and PAROT in data management
$P_TOOLFR System frame for TOROT and TOFRAME in data management
$P_WPFR System frame for workpiece reference points
$P_CYCFR System frame for cycles
$P_TRAFRAME System frame for transformations
$P_NCBFR[n] NCU basic frames, activated via G500, G54 to G599
$P_UBFR Basic frame in channel activated after G500, G54 to G599 Corresponds to
$P_CHBFR[0].
$P_SETFRAME Current system frame for PRESET and scratching
$P_EXTFRAME Current system frame for zero offset external
$P_PARTFRAME Current system frame for TCARR and PAROT with an orientational toolholder
$P_TOOLFRAME Current system frame for TOROT and TOFRAME
$P_WPFRAME Current system frame for workpiece reference points
$P_CYCFRAME Current system frame for cycles
$P_TRAFRAME Current system frame for transformations
$P_CHBFRAME[n] Current basic frame in channel,
0 to 15 NCU basic frames can be configured via machine data
MD28081 MM_NUM_BASE_FRAMES
.
$P_NCBFRAME[n] Current NCU basic frame,
0 to 15 NCU basic frames can be configured via machine data
MD18602 MM_NUM_GLOBAL_BASE_FRAMES
.
$P_ACTBFRAME Current chained total basic frame
$P_BFRAME Current first basic frame in the channel. Corresponds to $P_CHBFRAME
$P_IFRAME Current settable frame
$P_PFRAME Current programmable frame
$P_ACTFRAME Current total frame
$P_UIFRNUM Number of active frame $P_UIFR
$P_NCBFRMASK Bit mask for definition of NCU global basic frames
$P_CHBFRMASK Bit mask for definition of channelspecific basic frames
$P_CHSFRMASK Bit mask for activating system frames in data management
$AA_ETRANS[X]
$AA_ETRANS[X] is an axisspecific system variable of the DOUBLE type. The default setting
in the system for this variable is zero. Values set by the user are activated by IS "Zero offset
external" (DB31-61, ... DBX3.0).
5.4 Signals
A L
Actual-value system Loader axes, 2-8
workpiecerelated, 2-103
ATRANS, 1-5
Axis configuration, 2-12 M
Machine axes, 2-2
Machine coordinate system (MCS), 1-3
B Machine coordinate systems (MCS), 2-22
Basic coordinate system (BCS), 1-3, 2-24 Machine tool axes, 2-8
Machine zero M, 2-18
Main axes, 2-10
C Manual traverse in SZS, 2-33
MD10000, 1-2, 2-13
CFINE, 1-5
MD10002, 2-13
Channel axes, 2-4
MD10600, 2-39, 2-90, 2-92
Configurable SZS, 2-32
MD10602, 2-62, 2-64, 2-65, 2-72, 2-76
CTRANS, 1-5
MD10610, 1-6, 2-58
MD10612, 2-58
MD10613, 2-102
F MD10615, 2-100
FGROUP, 2-9, 2-11 MD10617, 2-98
Fine offset, 1-5 MD11640, 2-13
FRAME, 2-4 MD18600, 2-37
MD18601, 2-48, 2-53, 2-99
MD18602, 2-48, 2-55, 2-99
G MD20050, 1-2, 2-15, 2-81
MD20060, 1-2
G58, 1-5
MD20070, 1-2, 2-13, 2-14, 2-15
G59, 1-5
MD20080, 1-2, 2-11, 2-13
Geometry axes, 2-4, 2-8, 2-24
MD20110, 2-6, 2-99, 2-100, 2-101, 2-102, 2-107
MD20112, 2-6, 2-102, 2-107
MD20118, 2-6
H MD20150, 2-47, 2-102
Helical interpolation, 2-12 MD20152, 2-101
Helix interpolation, 2-12 MD20184, 2-87, 2-88, 2-95, 2-96
MD21110, 2-93
MD22532, 2-6
K MD24002, 2-102
MD24004, 2-100
Kinematic transformation, 2-24
MD24006, 2-28, 2-47, 2-100, 2-102
MD24007, 2-102
MD24008, 2-27, 2-100
Detailed description 2
Supplementary conditions 3
SINUMERIK 840D/840Di/810D
Examples 4
EMERGENCY STOP (N2) 5
Data lists
Function Manual
10/04
6FC5 297-7AC20-0BP1
Safety Guidelines
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 to property damage only 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.
Prescribed Usage
Note the following:
Warning
This device may only be used for the applications described in the catalog or the technical description and only in
connection with devices or components from other manufacturers which have been approved or recommended
by Siemens. Correct, reliable operation of the product requires proper transport, storage, positioning and
assembly as well as careful operation and maintenance.
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.
Siemens AG
Automation and Drives Siemens AG 2005
Postfach 4848, 90327 Nuremberg, Germany Technical data subject to change
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 forced breaking 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.
• All machine functions controlled by the PLC can be brought into a safe state which can
be configured 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.
Relevant standards
The following standards must absolutely be adhered to with respect to the EMERGENCY
STOP function:
• EN 292 Part 1
• EN 292 Part 2
• EN 418
• EN 60204 Part 1:1992 Section 10.7
VDE 0113 Part 1 only applies for a transitional period and will be replaced by 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 human action in cases where the normal stop function is not
suitable.
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.
Standard EN 2922
In accordance with the basic safety requirements of the EC Machinery Directive, stipulated in
Subsection 6.1.1 of EN 2922 with respect to EMERGENCY STOP, machines must be
equipped with an EMERGENCY STOP facility.
Exceptions
No EMERGENCY STOP facility is required on machines:
• where an EMERGENCY STOP facility would not reduce the risk, either because the
shutdown time would not be reduced or because the measures required to be taken
would not be suitable for controlling the risk.
• that are held and operated manually.
Notice
The machine manufacturer is expressly directed to comply with the national and
international standards. The SINUMERIK controls support the machine manufacturer in
the implementation of the EMERGENCY STOP function according to the information in
the following function description. But the responsibility for the EMERGENCY STOP
function (its triggering, sequence and acknowledgment) rests exclusively with the
machine manufacturer himself.
EN standard
In accordance with EN 418, EMERGENCY STOP operating elements must be designed so
that they latch mechanically on their own and are easy for the operator and others to actuate
in the event of an emergency.
The following list includes some possible types of operating elements:
• Mushroomhead pushbutton switches
• Wires/cables, cords, rods
• Puller grips
• In special cases: Footoperated switches without protective covers
Resetting of the EMERGENCY STOP pushbutton or a signal derived directly from the button
must be taken to the control system (PLC) as a PLC input.
In the PLC user program, this PLC input must be directed to the NC via the interface signal
DB10 DBX56.2 (Acknowledge EMERGENCY STOP).
Connection Conditions
See the hardware configuration guide (Operator Components Manual) for information on
connecting the EMERGENCY STOP button.
References:
/BH/ Operator Components Manual
EN 418 standard
After actuation of the EMERGENCY STOP operating element, the EMERGENCY STOP
facility must operate in the best possible way to prevent or minimize the danger.
"In the best possible way" means that the most favorable delay rate is selected and the
correct stop category (defined in EN 60204) can be determined according to a risk
assessment.
Sequence in the NC
The predefined (in EN 418) sequence of internal functions implemented to obtain the
EMERGENCY STOP state is as follows in the control system:
1. Part program execution is interrupted.
All machine axes are braked within their respectively configured, axis-specific times:
MD36610 $MA_AX_EMERGENCY_STOP_TIME (braking ramp time for errors)
.
The maximum brake ramp that can be achieved is defined by the maximum brake current
of the respective drive. The maximum brake current is achieved by setting a setpoint = 0
(fast braking).
2. The interface signal DB11, ... DBX6.3 (BAG ready for operation) is cleared.
3. The interface signal DB10, DBX106.1 (EMERGENCY STOP active) is set.
4. Alarm: "3000 Emergency Stop" is displayed.
5. After elapse of a time configurable in machine data:
MD36620 $MA_SERVO_DISABLE_DELAY_TIME (cutout delay servo enable)
, the servo enables of the machine axes are cancelled.
Please note the configuration rule below:
MD36620 $MA SERVO_DISABLE_DELAY_TIME >=
MD36610 $MA AX_EMERGENCY_STOP_TIME
6. All machine axes are switched to follow-up mode within the control.
The machine axes are therefore no longer in position control.
After the machine axes are at standstill, the energy supply must be interrupted in
accordance with EN 418.
Note
The responsibility for interrupting the power supply rests with the machine manufacturer.
• The digital and analog outputs of the PLC I/O system 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 via interface signals:
DB10, DBB4 to DBB7
in the PLC user program.
Note
If the internal functions in the NC must not be executed as described above, then the
interface signal DB10 DBX56.1 (EMERGENCY STOP) may 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 channelspecific) can therefore be assumed.
EN 418 standard
The EMERGENCY STOP switch may only be reset by manual actuation of the operating
element. Resetting of the EMERGENCY STOP operating element alone may not trigger a
restart command.
The restart of the machine must be impossible until all actuated EMERGENCY STOP
operating elements are consciously and individually reset by hand.
Note
Both interface signals:
DB10, DBX56.2 (acknowledge EMERGENCY STOP)
and
DB21, ... DBX7.7 (Reset)
must remain set together until the interface signal:
DB10, DBX106.1(EMERGENCY STOP active)
is cancelled.
The EMERGENCY STOP state cannot be reset with the interface signal DB21, ...
DBX7.7 (Reset) alone.
(0(5*(1&<6723
LQWHUIDFHVLJQDO
1
'%'%;
$FNQRZOHGJH(0(5*(1&<6723
LQWHUIDFHVLJQDO
'%'%;
(0(5*(1&<6723DFWLYH
LQWHUIDFHVLJQDO
'%'%; 2
5(6(7LQWHUIDFHVLJQDO
'%'%; 3
Effects
Resetting the EMERGENCY STOP state has the following effects:
• Within the control, the servo enable is set, the follow-up mode deactivated and the
position control activated for all machine axes.
• Interface signals DB31, ... DBB60.5 (position control active) are set.
• Interface signals DB11, ... DBX6.3 (Mode Group ready for operation) are set.
• Interface signal DB10, DBX106.1 (EMERGENCY STOP active) is reset.
• Alarm: "3000 Emergency Stop" is cleared.
• Part program processing is interrupted in all channels of the NC.
5.2 Signals
5.2.1 Signals to NC
E M
EMERGENCY STOP MD36620, 2-3
Acknowledgment, 2-5
Interface, 2-2
Sequence, 2-3 R
EMERGENCY STOP pushbutton, 2-2
Reset, 2-5
Detailed description 2
Supplementary conditions 3
SINUMERIK 840D/840Di/810D
Examples 4
Transverse Axes (P1) 5
Data lists
Function Manual
10/04
6FC5 297-7AC20-0BP1
Safety Guidelines
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 to property damage only 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.
Prescribed Usage
Note the following:
Warning
This device may only be used for the applications described in the catalog or the technical description and only in
connection with devices or components from other manufacturers which have been approved or recommended
by Siemens. Correct, reliable operation of the product requires proper transport, storage, positioning and
assembly as well as careful operation and maintenance.
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.
Siemens AG
Automation and Drives Siemens AG 2005
Postfach 4848, 90327 Nuremberg, Germany Technical data subject to change
Transverse axis
Within the framework of "milling" 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 2-1 Position of the transverse axis in the machine coordinate system
Definition
A geometry axis is defined as a transverse axis with:
MD20100 $MC_DIAMETER_AX_DEF (geometry axis as transverse axis function)
Restrictions
However, only exactly one geometry axis can be defined as transverse axis per channel.
corresponding dimensional information can be transferred to the part program directly from
the technical drawings.
;
7UDQVYHUVHD[LV
0
:
' '
=
/RQJLWXGLQDOD[LV
Initial setting
The initial setting is configured with:
MD20150 $MN_GCODE_RESET_VALUES [28] (initial setting of the G groups)
Diameter-related data
After activation of the diameter programming, the following data refer to diameter
dimensions:
DIAMON
• 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 travel with handwheel
• Part program programming:
– End positions, independent of reference mode (G90 / G91)
– Interpolation parameters of circle programming (G2 / G3), if these are programmed
absolutely with part program instruction: AC.
• Actual values read with reference to the workpiece coordinate system:
– $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
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:
– $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]
D M
DIAM90, 2-2 MD20100, 2-1
DIAMOF, 2-2 MD20150, 2-2
DIAMON, 2-2
Detailed description 2
Supplementary conditions 3
SINUMERIK 840D/840Di/810D
Examples 4
PLC Basic Program (P3) 5
Data lists
Function Manual
10/04
6FC5 297-7AC20-0BP1
Safety Guidelines
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 to property damage only 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.
Prescribed Usage
Note the following:
Warning
This device may only be used for the applications described in the catalog or the technical description and only in
connection with devices or components from other manufacturers which have been approved or recommended
by Siemens. Correct, reliable operation of the product requires proper transport, storage, positioning and
assembly as well as careful operation and maintenance.
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.
Siemens AG
Automation and Drives Siemens AG 2005
Postfach 4848, 90327 Nuremberg, Germany Technical data subject to change
2.10 Memory requirements of basic PLC program for 810D, 840D................................................. 2-68
2.11 Supplementary conditions and NC VAR selector .................................................................... 2-71
2.11.1 Supplementary conditions........................................................................................................ 2-71
2.11.1.1 Programming and parameterizing tools ................................................................................... 2-71
2.11.1.2 SIMATIC documentation required............................................................................................ 2-73
2.11.1.3 Relevant SINUMERIK documents ........................................................................................... 2-73
2.11.2 NC VAR selector ...................................................................................................................... 2-74
2.11.2.1 Overview .................................................................................................................................. 2-74
2.11.2.2 Description of Functions........................................................................................................... 2-76
2.11.2.3 Startup, installation................................................................................................................... 2-85
2.12 Block descriptions .................................................................................................................... 2-85
2.12.1 FB 1: RUN_UP Basic program, startup section ....................................................................... 2-85
2.12.2 FB 2: Read GET NC variable................................................................................................... 2-96
2.12.3 FB 3: PUT write NC variables ................................................................................................ 2-103
2.12.4 FB 4: PI_SERV General PI services ...................................................................................... 2-110
2.12.5 FB 5: GETGUD read GUD variable ....................................................................................... 2-129
2.12.6 FB 7: PI_SERV2 General PI services .................................................................................... 2-134
2.12.7 FB 9: M : N operating-unit switchover.................................................................................... 2-137
2.12.8 FB 10: Safety relay (SI relay) ................................................................................................. 2-142
2.12.9 FB 11: Brake test ................................................................................................................... 2-146
2.12.10 FB 29: Signal recorder and data trigger diagnostics.............................................................. 2-149
2.12.11 FC 2: GP_HP Basic program, cyclical section ....................................................................... 2-152
2.12.12 FC 3: GP_PRAL Basic program, interruptcontrolled section ................................................. 2-153
2.12.13 FC 7: TM_REV Transfer block for tool change with revolver................................................. 2-155
2.12.14 FC 8: TM_TRANS transfer block for tool management ......................................................... 2-158
2.12.15 FC 9: ASUB startup of asynchronous subprograms.............................................................. 2-165
2.12.16 FC 10: AL_MSG error and operating messages.................................................................... 2-167
2.12.17 FC 12: AUXFU call interface for user with auxiliary functions ............................................... 2-168
2.12.18 FC 13: BHGDisp display control for handheld unit ................................................................ 2-169
2.12.19 FC 15: POS_AX positioning of linear and rotary axes ........................................................... 2-172
2.12.20 FC 16: PART_AX positioning of indexing axes...................................................................... 2-176
2.12.21 FC 17: YDelta star/delta changeover..................................................................................... 2-180
2.12.22 FC 18: SpinCtrl spindle control .............................................................................................. 2-183
2.12.23 FC 19: MCP_IFM transmission of MCP signals to interface.................................................. 2-191
2.12.24 FC 21: transfer PLC NCK data exchange.............................................................................. 2-197
2.12.25 FC 22: TM_DIR Direction selection for tool management ..................................................... 2-204
2.12.26 FC 24: MCP_IFM2 Transmission of MCP signals to interface............................................... 2-206
2.12.27 FC 25: MCP_IFT transfer of MCP/OP signals to interface .................................................... 2-209
2.12.28 FC 26: HPU_MCP Transfer of HPU/HT6 signals to the interface.......................................... 2-212
2.12.28.1 MCP selection signals to the user interface........................................................................... 2-214
2.12.28.2 Checkback signals from user interface for controlling displays ............................................. 2-216
2.12.29 FC 19, FC 24, FC 25, FC 26 source code description........................................................... 2-216
2.13 Signal/data descriptions ......................................................................................................... 2-218
2.13.1 Interface signals NCK/PLC, MMC/PLC, MCP/PLC ............................................................... 2-218
2.13.2 Decoded M signals................................................................................................................. 2-218
2.13.3 G Functions ............................................................................................................................ 2-220
2.13.4 Message signals in DB 2........................................................................................................ 2-222
2.14 Useful Tips on Programming with STEP 7............................................................................. 2-224
2.14.1 General................................................................................................................................... 2-224
2.14.2 Copying data .......................................................................................................................... 2-224
2.14.3 ANY and POINTER................................................................................................................ 2-225
2.14.3.1 General................................................................................................................................... 2-225
2.14.3.2 Use of POINTER and ANY in FC if POINTER or ANY is available as parameter................. 2-225
2.14.3.3 Use of POINTER and ANY in FB if POINTER or ANY is available as parameter ................. 2-226
2.14.3.4 POINTER or ANY variable for transfer to FC or FB............................................................... 2-227
General
The PLC basic program organizes the exchange of signals and data between the PLC user
program and the NCK (Numerical Control Kernel), MMC (Man Machine Communication) and
MCP (Machine Control Panel) areas. A distinction is made between the following groups for
signals and data:
• Cyclic signal exchange
• Eventdriven signal exchange
• Messages
the NCK and transfers the data to the application interface at the start of the cycle. Where
the data do not require user acknowledgment, this does not affect NC machining.
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. The signals are evaluated there
and entered in the PLC diagnostics buffer on the occurrence of the message events. Where
an operator panel (e.g. MMC 100) is provided, the messages are transferred to and
displayed on the OP.
Note
The function of the machine is largely determined by the PLC program. Every PLC program
in the working memory can be edited with the programming device.
I/O expansion
I/O expansion
840Di 840D
PLC CPU Integrated PLC 317-2DP Integrated PLC 317-2DP
master/slave master/slave
MLFB 6FC5 317-2AJ10-0AB0 6FC5 317-2AJ10-1AB0
Memory for user 128 to 768 KB 128 to 768 KB
and basic program
Data block memory Max. 256 KB Max. 256 KB
Memory submodule no no
Bit memories 32768 32768
Timers 512 512
Counters 512 512
Clock memories 8 8
Program/data blocks:
OB
10, 20-21, 32-35, 40, 55-57, 10, 20-21, 32-35, 40, 55-57,
80, 82, 85-87, 100, 80, 82, 85-87,100,
FB 121-122 121-122
FC 0-2048 0-2048
DB 0-2048 0-2048
1-2048 1-2048
Max. length of data block 32 KB 32 KB
Max. block length FC, FB 64 KB 64 KB
Inputs/outputs 1)
(address capacity in bytes):
- digital / - analog
- incl. reserved area 4096/4096 4096/4096
- process image 8192/8192 8192/8192
256/256 256/256
Inputs/outputs 2) Through optional configuring Through optional configuring
(addressing): of I/O devices: of I/O devices:
- digital from I/O byte 0 onwards from I/O byte 0 onwards
- analog from PI/PO byte 272 from PI/PO byte 272
onwards onwards
(PROFIBUS only)
Processing time:
- Bit commands (I/O) ≤ 0.031 ms/kA ≤ 0.103 ms/kA
- Word commands 0.1 ms/kA 0.1 ms/kA
PDIAG (Alarm S,SQ) Yes Yes
PROFIBUS Master/Slave Master/Slave
Number of PROFIBUS max. 125 max. 125
slaves
Max. number of PROFIBUS 512 512
slots
DP master system: DP 1 1
DP master system: MPI/DP 2 N/A
PBC (programmable block Yes Yes
communication)
840Di 840D
Consistent data to standard 128 128
slave via SFC 14, 15
1) Notice!: The inputs/outputs above 4096 are reserved for integrated drives.
2) Subrack 0 is integrated in the NC. Subracks 1 to 3 are available for I/O devices.
I/O expansion
840Di 840D
PLC CPU Integrated PLC 317-2DP Integrated PLC 317-2DP
master/slave master/slave
MLFB 6FC5 317-2AJ10-0AB0 6FC5 317-2AJ10-1AB0
I/O modules PROFIBUS only 24
PROFIBUS DP modules 1 (2) 1
Interfaces (MPI) 1 (0) 1
Note
Number of PROFIBUS slaves
Since the SDB 2000 and other SDBs must be stored by the PLC operating system in the
static RAM, which can also be accessed by the PROFIBUS ASIC, SDBs smaller than 32 KB
may be rejected when the configuration is loaded. It cannot be determined whether the
configuration is legal until the SDB container has been loaded to the CPU. As a result, the
values specified in the above tables should only be seen as guide values.
If the configuration is illegal, a general reset request is issued when the SDBs are loaded.
The cause of the configuring error can be found in the diagnostic buffer on completion of the
general reset.
PLC versions
In SW 3.5 and higher on the 840D, version 6 (version code 35.06.03) is installed with PLC
314 and version 3 (version code 35.03.03) with PLC 315-2DP or higher.
These versions are compatible with the corresponding SIMATIC CPU300.
All modules and software packages approved by SIMATIC for these versions and CPUs are
therefore suitable. Modules that can only be installed in subrack 0 are the exception
(modules FM NC and FM 357 are also exceptions).
Version code: XX.YY.ZZ
• XX: SIMATIC CPU PLC version
• YY: Firmware transfer increment
• ZZ: Internal increment
Example
Module codes
The table below shows the relationship between the module code and the corresponding
PLC module, the suitable PLC operating system and its current software version:
Module code PLC module Suitable PLC operating systems PLC operating
(corresponding SIMATIC MLFB) system SW version
0208 PLC 314 6ES7 314–1AE0–0AB0 07.02.12
1008 PLC 3152DP with ASPC 2 Step C 6ES7 315–2AF00–0AB0 04.02.14
1100 PLC 3152DP with ASPC 2 Step D 6ES7 315–2AF01–0AB0 03.10.23
1200 PLC 3152DP with ASPC 2 Step E 6ES7 315–2AF01–0AB0 03.10.23
6ES7 315–2AF03–0AB0 FW1.2 12.30.10
1400 PLC 314C2DP with IBC 16 6ES7 314–6CF00–0AB0 FW1.0.2 10.60.20
2200 PLC 317-2DP with IBC 32 6ES7 317–2AJ10–0AB0 FW2.1 20.71.15
MCI 1 (840Di) PLC 3152DP with ASPC 2 Step E 6ES7 315–2AF03–0AB0 FW1.0 04.20.36
MCI 2 (840Di) PLC 317-2DP with IBC32 6ES7 317–2AJ10–0AB0 FW2.1 20.70.17
2100
810 D, 840D
The tables below show the key data of the OPI interface and the PLC basic program
functionality with reference to SINUMERIK 810D, 840D and 840Di:
OPI interface
Reserved components
The components below are reserved for the basic program:
PLC 317-2DP
PLC CPU: PLC 317-2DP are reserved for further number bands for SIEMENS applications
referring to FC, FB, DB and I/O areas.
FC, FB and DB
I/O range
General procedure
STEP 7 is used to define the hardware configuration for a PLC CPU, including the
associated I/O.
The procedure to be followed is shown below:
1. Load tool box to PG/PC
2. Create a new project (File, New, Project)
3. Insert, Hardware, SIMATIC 300 station
4. Select SIMATIC 300 station1 with mouse
5. Open object by right-clicking with the mouse to start the HWConfig
6. Destination system, load to PG, the hardware equipment complement is read back from
the central system
7. Configure distributed I/Os
8. Insert PLC basic program
The addresses for the I/O modules can be changed if necessary (permissible only on certain
PLC CPUs, e.g. PLC 3152DP).
As an alternative, the entire hardware configuration can be entered manually (see also
appropriate STEP7 documentation). The notices below must be observed.
STEP7, Version 3
In STEP7 Version 3 and higher, the hardware configuration of the SINUMERIK components
must be defined with the entries in SIMATIC\RACK 300. The install or setup program of the
basic program on the tool box diskettes is required for this purpose.
Note
On the SINUMERIK 810D or 840D, SIMATIC subrack 0 is integrated in the NC. The
following components are plugged into this subrack:
- Slot 2: The integrated PLC (PLC 314 or PLC 315-2DP)
- Slot 3: An IM 360
- Slot 4: The FM NCU.
With PLC 314, NC software version 3.5 and higher, the FM NCU must also be defined if
further MPI (C bus) devices are included in subrack 1 to subrack 3 (e.g., FM modules with C
bus connection). The properties of the FM NCU must not be changed, as process interrupts
(e.g. auxiliary functions) of the NCU may, in this case, no longer function.
Installation
With Toolbox SW 6.1 and higher, the installation is performed by a WINDOWS-compliant
setup program for the basic program, hardware selection in STEP7 (SINUMERIK
810D/840D option package) and the NC-Var Selector. 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 STEP 7
(gp8x0d61, 61 is the main basic program version).
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.
From software version 3.7 to version 4.2, installation is carried out using INSTALL.BAT
(INSTALL1.BAT, INSTALL4.BAT).
This program installs the basic program and additional files for the relevant STEP7 version.
With automatic installation in STEP 7 V3 and higher, the TYP, GSD and meta files in the
hardware catalog are also augmented and updated.
The hardware components of the SINUMERIK system are then also available for hardware
configuration under STEP 7. This eliminates the need for unzipping, mentioned below.
The basic program is supplied in zipped format as a project for STEP 7 Version 1.x or as a
library for STEP 7 Version 2.x and subsequent versions.
General
The OB source programs, including standard parameterization, interface symbols and DB
templates for handheld unit and M decoding functions are enclosed in the SIMATIC project
or SIMATIC library of the basic program.
STEP 7 must be installed before the basic program.
STEP7 V1.x
The basic program is stored as a compressed file with the name GP840D.EXE (or
GP810D.EXE and GPFMNC.EXE) in the main directory on the diskette. The basic program
(GP840D.exe) must be copied to the main directory (root) of a drive (e.g., c:\) and then
called. The project structure required for the basic program is generated automatically. The
catalog name of the basic program is GP840Dxy.S7A. In this case, xy stands for the basic
program version.
Note
When STEP 7 V1 is used, the GP840Dxy.S7A catalog must be copied to the root directory.
Any existing catalog with the same name GP840Dxy.S7A must be deleted beforehand.
Note
The name GP840D specified above refers to the basic program of the SINUMERIK 840D.
The basic program is named GP810D on the SINUMERIK 810D and GPFMNC on the FM-
NC. With effect from SW 4.2, the basic program for 810D and 840D is combined. It is now
called GP8x0D.
Comment
The catalog structures of a project and the procedure for creating projects and user
programs are described in the relevant SIMATIC documentation.
STEP7 V1
A network link to the PLC must be activated for the machine CPU program under menu
items "Edit", "Configuration". This is done in the "Services", "Parameterize" menu followed by
selection of the MPI parameters.
Default:
• "Networked"
• "MPI subnetwork number = 0"
• "CPU MPI Addr = 2"
The following must be copied into the CPU program for the machinespecific program files:
1. The basic-program blocks (FCs, FBs, DBs, OBs, SFCs, SFBs, and UDTs) ("File",
"Manage Project" menu in the Step7 program editor).
2. File GPOB840D.AWL (or GPOB810D.AWL or GPOBFMNC.AWL) and other STL (AWL)
files if appropriate must also be copied from the basic program catalog into the CPU
program. The OBs contained in this file are the basis for the user program with the
associated basic program calls. Existing user blocks must be copied as STL files to the
newly created CPU program (catalog name CPU1.S7D) and compiled.
3. We also recommend that the symbolic names are transferred with the files from the basic
program package using the symbol editor.
STEP7 V2
The basic-program blocks are copied using the SIMATIC Manager and
"File"/"Open"/"Library".
The following sections must be copied from the library:
AP off: FCs, FBs, DBs, OBs, SFC, SFB, UDT and the SDB container.
For the 810D, the SDB container includes:
• The source_files (SO):
– GPOB810D or GPOB840D
– Possibly MDECLIST, HHU_DB and others
• Symbol table (SY)
Note
The SDB container is only included for these control variants.
Basic program
The basic-program version, including the control type, is output in the version display of the
MMC in SW 4 (NCK, PLC) and higher.
In earlier versions of the basic program, the PLC version is stored in data block DB 17 on the
data double word DBD 0. A HEX number must be set as the data format.
For example, the following display appears in V 3.2:
DB17.DBD0: 0332_0100
The version is shown in decades 3 and 4 of the display (bold type). The two leftaligned
decades contain the control type of this basic program. The remaining decades contain a
development code.
The type of control is encoded as follows:
User program
In SW 4 and higher, users can also display the version codes of their own user programs on
the MMC.
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.
References:
/FB1/Description of Functions, Basic Machine; PLC Basic Program (P3);
Chapter: Block Description
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)
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. All existing blocks
Overall reset
A description of how to perform a general PLC reset appears in the Installation and Startup
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.
Proceed as follows:
NC variables
The latest NC VAR selector can be used for each NC software version (even earlier
versions). The variables can also be selected from the latest list for earlier NC software
versions. The data content in DB 120 (default DB for variables) does not depend on the
software version, i.e., selected variables in an older software version must not be reselected
when the software is upgraded.
called by the user program. In many cases, the FC numbers of the CP and FM module
handling blocks are also included in the number range of the basic program for the 810D and
840D systems.
What action can be taken if such a conflict occurs?
The block numbers of the basic program must remain unchanged. The block numbers of
handling blocks can be assigned new, free numbers using STEP7. These new blocks (with
new FC numbers) are then called in the user program with the parameter assignments
required by the function.
2.4.9 Troubleshooting
This section describes problems which may occur, their causes and remedies and should be
read carefully before hardware is replaced.
General
The AS 300 family is used as the PLC for all systems. The essential difference between the
NCU variants lies in the method by which they are linked. On the 840D and 810D, the PLC
314 CPU (user memory capacity up to 128 KB) or PLC 315-2 DP (user memory capacity up
to 288 KB) is integrated as a submodule into the NC unit.
The PLC/CPU 315-2 DP also supports distributed I/Os on the PROFIBUS (L2DP). The
relevant performance data for individual PLC CPUs can be found in the above table or in
Catalog FT70.
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 810D and 840D systems have an integrated PLC, signals can be exchanged between
the NCK and PLC directly via a dualport RAM.
%H6\ 1&
)XQNW
3/& 3%XV
3HULSKHULH P&
.%XV
3/&0RGXO
&200RGXO
03, '35
3*%+*
0677
P& H[WHUQH
.RPP
%766
230677
NCK/PLC interface
NCK/PLC data exchange is organized by the basic program in the PLC.
The status information (e.g., "Program running") stored in the internal DPR is copied to data
blocks by the basic program at the beginning of the cycle (OB1), which the user can then
access (user interface). The user also enters NC control signals (e.g., NC start) in the
interface data blocks, and these are also transferred to the NC at the start of the cycle.
Auxiliary functions transferred to the PLC dependent on the workpiece program are first
evaluated by the basic program (alarmdriven) and then transferred to the user interface at
the start of OB1. If the relevant NC block contains auxiliary functions that require the
interruption of the NC machining process (e.g., M06 for tool change), the basic program halts
the execution of the block on the NC 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 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 must be loaded by the user and called in the PLC program of
the machine manufacturer (machine program). You can find an overview of the FC, FB and
DB blocks, divided according to their basic and expanded function, in:
References:
/FB1/Description of Functions, Basic Machine; PLC Basic Program (P3);
Chapter: Starting Up the PLC Program
OP/PLC interface
Data are exchanged between the OP and PLC via the OP/NC serial bus, COM module and
C bus. The COM module transfers the data intact from one bus segment to another. It
merely converts the baud rate. The OP is always the active partner (client) and the PLC is
always the passive partner (server). Data transmitted or requested by the OP are read from
and written to the OP/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.
General
The diagnostic buffer on the PLC, which can be read out using STEP 7, contains diagnostic
information about the PLC operating system. Data are also entered in the diagnostic buffer
by the basic program and the Alarms/Messages function via FC10. A short guide to
interpreting the alarms and messages generated by the basic program and stored in the
diagnostic buffer is given below. A description text for these alarms/messages is entered in
the diagnostic buffer.
Alarms/Messages
The event ID is the first item to be interpreted in the diagnostic buffer. In the first two
decades of the event ID, the basic program generates the following number combinations:
46 hex = 70 dec
00 hex = 00 dec
20 hex = 32 dec
Alarm number (OM): 70 00 32
(controlled by DB2.DBX184.0)
(OM = operational message)
Excerpt from diagnostic buffer in text format (relevant data highlighted):
Event 1 of 10: Event ID 16# B046
No entry in text database. Hex values are displayed.
Event ID: 16# B046
OB: 16# 01
PK: 16# 01
DatID 1/ 2: 16# 59 C9
Supplementary info1 / 2 / 3: 16# 0200 0000 0020
Outgoing event
:36:02:459 08.04.03
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:
• NCKspecific signals
• Mode groupspecific signals
• Channelspecific signals
• Axis/spindle/drivespecific signals
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.
'%
00& 0HOGXQJHQ
'% 1&
6LJQDOHDQ1&.&RPSLOH]\NOHQ
1& 6LJQDOHYRQ1&.&RPSLOH]\NOHQ
'% 1&
6LJQDOHDQ1&
6LJQDOHYRQ1&
'% %$*
'% %$*
'% %$*
%$* 6LJQDOHDQ%$*
'DWHQVFKQLWWVWHOOH
6LJQDOHYRQ%$*
'% 00&
6LJQDOHDQ00&
00& 6LJQDOHYRQ00&
'% .DQDO
'%
'%
.DQDO
.DQDO
3/&
6LJQDOHDQ.DQDO $QZHQGHU
1&.DQDO
6LJQDOHYRQ.DQDO SURJUDPP
'% $FKVH6SLQGHO
$FKVH '% $FKVH6SLQGHO
'% $FKVH6SLQGHO
6SLQGHO
6LJQDOHDQ$FKVH
$QWULHE
' 6LJQDOHYRQ$FKVH
'% :=9HUZDOWXQJ
:HUN]HXJ $XIWUDJI¾U%H(QWODGHVWHOOHQ
YHUZDOWXQJ
$XIWUDJI¾U6SLQGHOXQG5HYROYHU
)&
)XQNWLRQVVFKQLWWVWHOOH
1&.DQDO
$683VWDUWHQ
$FKVH .RQNXUULHUHQGH$FKVH6SLQGHOVWDUWHQ
6SLQGHO 3RVLWLRQLHUDFKVH7HLOXQJVDFKVH
:HUN]HXJ 4XLWWLHUXQJI¾U:HUN]HXJYHUZDOWXQJ
YHUZDOWXQJ 5LFKWXQJVDXVZDKO:HUN]HXJ0DJD]LQ
$QWULHE 6WHUQ'UHLHFN8PVFKDOWXQJ
'
)%
1&.9DULDEOHOHVHQVFKUHLEHQ
1& 3,'LHQVWH
*8'/HVHQ
Compile-cycle signals
In addition to the standard signals exchanged between the PLC and NCK, an interface DB
for compile cycles is also generated if required (DB 9). The signals, which are dependent on
the compile cycles, are transmitted cyclically at the start of OB1.
Signals PLC/NC
The group of signals from the PLC to NC includes:
• Signals for modifying the highspeed digital I/O signals of the NC
Signals NC/PLC
The group of signals from the NC to PLC includes:
• Actual values of the digital and analog I/O signals of the NC
• Ready and status signals of the NC
Also output in this group are the handwheel selection signals from the MMC and the status
signals of the MMC.
The signals for handwheel selection are decoded by the basic program and entered in the
machine/axisspecific interface.
'%
%\WH %HHLQIOXVVXQJGLJLWDOH1&.(LQJ¦QJH
2Q%RDUG(LQJ¦QJH
%HHLQIOXVVXQJGLJLWDOH1&.$XVJ¦QJH
2Q%RDUG$XVJ¦QJH
5HVHUYH
6FKO¾VVHOVFKDOWHU1RW$XV
,VWZHUWHGHUGLJLWDOHQ1&.(LQJ¦QJH
2Q%RDUG(LQJ¦QJH
6ROOZHUWHGHUGLJLWDOHQ1&.$XVJ¦QJH
2Q%RDUG$XVJ¦QJH
5HVHUYH
+DQGUDGDQZDKO
00&
6WDWXVVLJQDOH00&
'HFRGLHUXQJ
+DQGUDGDQZDKO 6WDWXVVLJQDOH*UXQGSURJUDPP *3
6WDWXVVLJQDOH
6RIWZDUHQRFNHQ 1&.
%HHLQIOXVVXQJGLJLWDOH1&.(LQJ¦QJH
([WHUQH(LQJ¦QJH
%HHLQIOXVVXQJGLJLWDOH1&.$XVJ¦QJH
$FKVQDKWVWHOOH ([WHUQH$XVJ¦QJH
*HR$FKVQDKWVWHOOH
LP.DQDO %HHLQIOXVVXQJDQDORJH1&.(LQJ¦QJH
([WHUQH(LQJ¦QJH
%HHLQIOXVVXQJDQDORJH1&.$XVJ¦QJH
([WHUQH$XVJ¦QJH
,VWZHUWHGHUGLJLWDOHQ1&.(LQJ¦QJH
([WHUQH(LQJ¦QJH
6ROOZHUWHGHUGLJLWDOHQ1&.$XVJ¦QJH
([WHUQH$XVJ¦QJH
,VWZHUWHGHUDQDORJHQ1&.(LQJ¦QJH
([WHUQH(LQJ¦QJH
6ROOZHUWHGHUDQDORJHQ1&.$XVJ¦QJH
([WHUQH$XVJ¦QJH
Note
When implementing digital and analog NCK I/Os, you must observe the information in the
following references:
References:
/FB2/Description of Functions, Extended Functions;
Digital and Analog NCK I/Os (A4)
'%
*3 %\WH 6WHXHUVLJQDOH %HWULHEVDUWHQ
%HWULHEVDUWHQ %HWULHEVDUWHQ$QZDKO *UXSSH
$QZDKO $QZDKOVLJQDOHYRQ00& 00& %$*
DNWLYH%HWULHEVDUW
0677 1&.
0677
'%
3URJUDPP 00&
%\WH
EHHLQIOXVVXQJ
6FKXW]EHUHLFKH 6WHXHUVLJQDOH
DNWLYLHUHQ
9HUIDKUVLJQDOH
*3 *HR$FKVHQ
%76LJQDO 3URJUDPPEHHLQ
5DQJLHUXQJ IOXVVXQJYRQ00&
3URJUDPP.DQDO
=XVWDQG 6WDWXVVLJQDOH
6WDWXV*HR$FKVHQ
+LOIVIXQNWLRQV
QGHUXQJVVLJQDOH
+LOIV*$NWLRQHQ
067'(
+):HUWH *3
GHFRGLHUWH0 0'HFRGHU
6LJQDOH00 1&.DQDO
DNWLYH*)XQNWLRQHQ **UXSSHQ
'HFRGHU
6WDWXVVLJQDOH
6FKXW]EHUHLFKH
$FKV6SLQGHO 06
1DKWVWHOOH )9HUWHLOHU
'%
9RUVFKXE
JHPHLQVDPH 6SLQGHONRUUHNWXU
%\WH $FKV 6WHXHUVLJQDOH
6SLQGHOVLJQDOH 9HUIDKUVLJQDOH
,1&0RGH
$FKVVLJQDOH (QGVFKDOWHU
*3 6SLQGHOVLJQDOH 6WHXHUVLJQDOH
$QWULHEVVLJQDOH 6WHXHUVLJQDOH
,1&0RGH
$QZDKO 7HFKQRORJLH 6WHXHUVLJQDOH
GXUFK 6FKOHLIHQ $FKVH
)& 5HVHUYH
)& 6SLQGHO
JHPHLQVDPH 6WDWXVVLJQDOH
$FKV
DNWLYHU,1&0RGH
$QWULHE
6SLQGHOVLJQDOH
1&.
:HUWHYRP06)9HUWHLOHUGHV*UXQGSURJUDPPV
General
The following groups of functions are required for the PLC/MMC interface:
• Control signals
• Machine operation
• PLC messages
• PLC status display
Control signals
In some cases, signals are input via the machine control panel and must be taken into
account by the MMC. This group of signals includes, for example, display actual values in
MCS or WCS, key disable, etc. These are exchanged with the MMC via a separate interface
DB (DB19).
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. However, it is
also possible to perform some operator actions on the MMC (e.g., mode selection, INC
mode selection).
The PLC operating system enters the operating signals sent by the MMC directly into the
interface data blocks. In standard cases, the basic program, which decodes the operating
signals, allows the operator actions to be performed on the machine control panel (provided
the operator actions are available) or on the MMC. If required, the user can switch off the
operation via MMC 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 (OS or MMC) via the MPI or via the OPI through the
COM module, 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 is executed by the MMC software.
• An SFC (system function call) can also be used by the user program to enter messages
in the diagnostic buffer.
• The events are entered in the diagnostic buffer in coded format.
The associated message texts must be stored on the OP or MMC.
An FC (FC10) for message acquisition is prepared in conjunction with the basic program.
This FB records events, subdivides them into signal groups and reports them to the MMC via
the diagnostic buffer.
The message acquisition structure is shown in the figure "Acquisition and signaling of PLC
events".
The features include:
• 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 when 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
– Error messages
Acknowledgment procedures
The following acknowledgment procedures are implemented for error and operating
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 buffer for incoming and outgoing messages. The MMC
maintains an uptodate log of existing operating messages using the identifiers "operating
message arrived" and "operating message departed".
Error messages are used to display error states on the machine which generally lead to a
machine stoppage. 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 error message is only deleted if the user has
acknowledged the message (e.g., by pressing a key on the machine control panel). 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 "error departed".
This enables the MMC to also maintain an uptodate log of existing error messages. The time
of day indicating the time of error occurrence remains available for messages which are still
pending (in contrast to a received interrogation).
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 MMC.
QGHUXQJVVLJQ
3DUDPHWHU
%LWIHOGHU
0HOGXQJV
HUIDVVXQJ
.DQDO 9RUVFKXEVSHUUH
(LQOHVHVSHUUH
1&6WDUW6SHUUH
.DQDOQ 6)&:5B8606*
$FKVH6SLQGHO 9RUVFKXE
6SLQGHOVSHUUH
$FKVH6SLQGHOQ
'LDJQRVH
3XIIHU
(UIDVVXQJ 0HOGHGLHQVW
6DPPHOVLJQDOH 6DPPHOVLJQDOH
6SHUUVLJQDOH I¾U.DQDOXQG 3* 2300&
$FKV'%
General
On the SINUMERIK 840D/810D, the machine control panel (MCP) is connected on the same
bus that connects the OP with the NC. The advantage of this is that only one bus cable is
required to connect the operator unit. The handheld unit (HHU) can be connected to the MPI
of the PLC or to the operator panel interface (OPI) (840D only). However, since the OP bus
on the 840D supports higher baud rates, two different types of bus topology are provided.
840D topology
On the 840D, the machine control panel is connected to the OPI bus segment (transmission
rate 1.5 Mbps) as an active global data node. Where the connection of further keys and
displays is required for customized operator panels, an additional keyboard (machine control
panel without operating unit) can be used. 64 pushbuttons, switches, etc. and 64 display
elements can be connected via ribbon cable.
The signals arriving from the machine control panel are copied by the COM module into the
DPR (dualport RAM) for transfer to the NC. The NC in turn transmits them to the PLC (VDI
task). The basic program of the PLC enters the incoming signals in the input image. The NC-
related signals are generally distributed by the basic program to the VDI interface. This can
be modified by the user if required.
The signals (displays) from the PLC to the MCP (displays) are transferred in the opposite
direction.
The signals of the handheld unit (HHU) are transferred either via the operator panel interface
in the same way as via the machine control panel or by means of the GD service (GD =
Global Data) of the MPI interface. The PLC operating system enters the HHU data, for
example, in the input image and transfers the display values, e.g., from the output image,
back to the HHU. The corresponding parameters are set via system data block SDB210,
which is generated with the STEP7 communication configuration tool.
%7
.XQGHQ
7DVWHQ$Q]HLJHQ 0677
0%DXG
&20 1&
'35
):
0677
6LJ 9',
%+* 7DVN
'35
)%
0677
3*
.%DXG 6LJ
3/&
810D topology
On the 810D, the machine control panel, handheld unit and OP are connected to the MPI
(multipoint Interface) of the AS 300. The transmission rate in this configuration is 187.5
Kbps. The PLC operating system copies the incoming signals straight to the user interface
(e.g., input image) at the cycle control point.
Transfer to the VDI interface is performed, as on the 840D, by the user program or by a
standard routine of the basic program.
%7
.XQGHQ
7DVWHQ$Q]HLJHQ 0677
%+* 1&8
$6
.%DXG
%H6\
3%XV
3*
.%XV
Bus addresses
The default bus addresses for the standard configurations are entered in the "Connecting the
MCP on the 810D" figures. In addition to the bus addresses, the implicit communication
service (global data) also requires the definition of a GD circle number.
The following should be taken into account when allocating bus addresses (node no.):
Bus addresses 840D
The two bus segments on the 840D must be examined separately:
Note
FC 19 must be called in the PLC user program.
Customized keys, which can be used to trigger a wide range of machine functions, must be
evaluated directly by the user program. The user program also routes the status signals to
the output area for the LEDs.
%HWULHEVDUWHQ )&
,1&0RGH
(%Q 7DVWHQ 9RUVFKXE6SLQGHONRUUHNWXU
VLJQDOH 5LFKWXQJVWDVWHQ
6FKO¾VVHOVFKDOWHU
%$*
.XQGHQWDVWHQ 1&.
$FKV
DNWXHOOH%HWULHEVDUW 6SLQGHO
/HXFKW DNWXHOOHU,1&0RGH 1DKWVWHOOH
$%P GLRGHQ 9RUVFKXE6SLQGHO1&6WDWXV
/(' DNWLYH5LFKWXQJVWDVWH
6WDWXV.XQGHQWDVWHQ
EHUZDFKXQJ
$'R
6HQGHGDWHQ
$'S EHUZDFKXQJ
(PSIDQJVGDWHQ
6WDQGDUGHLQVWHOOXQJ
'!Q P R S
'!Q P S
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:
• Startup and synchronization (OB 100)
• Cyclic mode (OB 1)
• Process interrupt handling (OB 40)
Each section of the basic program - as illustrated in the figure below - must be called by the
user in OBs 1, 40 and 100.
)%
2%
6WDUW"XS
&ROGUHVWDUW
8VHU
SURJUDP
2% 1&.
)& 0RGHJURXS
&\FOLF &KDQQHO
SURFHVVLQJ *32%
$[LV
6SLQGOH
)&
0&3+
+8
)&
7RROPDQDJH
PHQWQRW)0
1&
)&
0&3
8VHU 0&3B,)0
SURJUDP
)&
0&3B,)7
$68%
&RQ
)& D[HVVSLQGOHV
70
70B7UDQV )%
70B'LU 5HDGZULWH
YDU
)& 3,VHUYLFHV
6WDUGHOWD )&
++8
)& 'LVSOD\
(UURUDQG FRQWURO
RSHUDWLQJ
PHVVDJHV
2% )&
*JURXS
3URFLQWHUUXSW *3B35$/
GLVWULEXWRU
8VHU
SURJUDP
Startup
NCK and PLC synchronization 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 the event of an error, the basic program outputs an error identifier to the
diagnostic buffer and switches the PLC to STOP.
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 MMC and NCK during powerup.
Sign of life
After a proper initial start and the first complete OB1 cycle (initial setting cycle) the PLC and
NCK continuously exchange sign of life signals. If the signoflife signal from the NCK fails to
arrive, the PLC/NCK interface is neutralized and the signal "NCK CPU ready" in DB 10 is set
to zero.
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 and G functions
• M decoding (M00 - M99),
• M, S, F distribution
• Transmission of the machine control panel signals via the NCK (on the 840D only)
• Acquisition and conditioning of the user errors and operating messages.
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-groupspecific signals such as operating modes
• Channelspecific signals such as program and feed modifications
Axis- and spindlespecific signals such as feed disable
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 spindlespecific 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.
General
The user must program OB 35 for time-alarm processing. The default time base setting of
OB 35 is 100 ms. Another time base can be selected using the STEP7 application "S7
Configuration". However, the OB 35 with a time base setting not less than approx. 15 ms
must not be used without additional measures, otherwise this would cause the PLC CPU to
stop. The stop is caused by the reading of the MMC system state list during runup of the
MMC. This reading process blocks priority class control for approx. 8 to 12 ms. The OB 35
with a time base set to a rather lower value is then no longer processed correctly. If,
however, small time base settings are required for OB 35, the stop can be prevented by
programming OB 80 with at least the program command "BE".
General
A process alarm OB 40 (interrupt) can, for example, be triggered by appropriately configured
I/Os or by certain NC functions. Due to the different origin of the interrupt, the PLC user
program must first interpret the cause of the interrupt in OB 40. The cause of the interrupt is
contained in the local data of OB 40.
General
During cyclic operation, the PLC continuously monitors NC availability by querying the sign-
oflife character. If the NCK is no longer reacting, then the NCK PLC interface is neutralized
and IS NCK CPU ready in signals from NC group (DB 10.DBX 104.7) is reset. The signals
sent by the NCK to the PLC are initialized with default settings.
The PLC itself remains active so that it can continue to control machine functions.
2.7.6 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 can be called at a suitable point in the user
program and supplied with parameters.
These functions can be used, for example, to pass the following jobs from the PLC to the
NCK:
• Traverse concurrent axes (FC 15, FC 16),
• Start asynchronous subprograms (ASUBs) (FC 9),
• Select NC programs and NC blocks (FB 4),
• Control of spindle (FC 18),
• Read/write variables (FB 2, FB 3).
Note
The following note will later help you to check and diagnose a function call (FCs, FBs of
basic program). 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 timerelated
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 can be traversed either from the PLC or from the NC.
• They can be started from a function call on the PLC in all operating modes.
• The start is independent of NC block boundaries.
Function calls are available for positioning (FC 15) and indexing axes (FC 16).
)& )&
3RV$[ 3DUW$[
6WDUW ,Q3RV 6WDUW ,Q3RV
$[LV1R $FWLY $[LV1R $FWLY
,& 6WDUW(UU ,& 6WDUW(UU
,QFK (UURU '& (UURU
+:KHHO2Y 3OXV
3RV 0LQXV
)5DWH 3RV
)5DWH
(LQJDQJV $XVJDQJV
SDUDPHWHU SDUDPHWHU
ASUBs
Asynchronous subprograms (ASUBs) can be used to activate any selected function in the
NC. 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). ASUBs
can only be started in MDA or Automatic mode with running parts program.
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. The
asynchronous subprogram is started by FC 9.
)&
$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.
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, projectrelated 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 8bit exponent) and vice versa). A loss of accuracy results from the
conversion from 64 bits to 32bit REAL. The maximum precision of 32bit REAL numbers is
approximately 10 to the power of 7.
)% )%
*(7 387
5HT (UURU 5HT (UURU
1XP9DU 1'5 1XP9DU 'RQH
$GGU 6WDWH $GGU 6WDWH
8QLW 8QLW
&ROXPQ &ROXPQ
/LQH /LQH
5' 6'
General
Note
With basic program SW 3.2 and higher, files NST_UDT.STL and TM_UDT.AWL are stored
on the basic program diskette supplied with the system.
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 Assignment to interface DB Meaning
number
UDT 2 DB 2 Alarms/Messages
UDT 10 DB 10 NCK signals
UDT 11 DB 11 Mode group signals
UDT 19 DB 19 MMC signals
UDT 21 DB 21 to DB 30 Channel signal
UDT 31 DB 31 to DB 61 Axis/spindle signals
UDT 71 DB 71 Tool management: Load/unload locations
UDT 72 DB 72 Tool management: Change in spindle
UDT 73 DB 73 Tool management: Change in revolver
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. To do so, however, a fully qualified
instruction is needed for data access in the earlier program (e.g., "U DB31.DBX 60.0" - this
command is converted to "AxisX.E_SpKA" when the symbols function is activated in the
editor).
Description
Abbreviated symbolic names of the interface signals are defined in the two STL files
NST_UDT.AWL and TM_UDT.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 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
English versions of the UDT interfaces are available in SW 4.4 and higher under
NST_UDTB.AWL and TM_UDTB.AWL. Only the English versions will continue to be
developed in future versions.
Proceed as follows to convert the German language symbols used thus far into English
language symbols:
• If sources are not being used, only the NST_UDTB.AWL and TM_UDTB.AWL blocks
must be translated. The new symbols can then be seen immediately.
• If you are using sources, the sources must first be compiled with the previous UDTs
(NST_UDT.AWL and TM_UDT.AWL). It is then necessary to compile NST_UDTB.AWL
and TM_UDTB.AWL. After this step, you need to initiate a reverse compilation into the
sources in accordance with the previous source setup. The interface symbols are then
permanently converted to English.
Description of Functions
When the M decoding according to list function is activated via the BP parameter of
FB1 "ListMDecGrp", up to 256 M functions with extended address can be decoded by the
basic program.
The assignment between 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 crosschannel 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 readin disable in the associated NC channel is set
simultaneously by the basic program.
The readin 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 highspeed auxiliary function does not
result in a readin disable.
The figure below shows the structure of the M decoding according to list:
0'HNRGLHUXQJ
10 QDFK/LVWH
6LJQDOHDQ1& '%
6LJQDOOLVWH
(LQOHVHVSHUUH
%HDUEHLWXQJ
6WDWXV
.DQDO 6WHXHUVLJQDO
1&7HLOHSURJUDPP (LQOHVHVSHUUH Z
'% )&<
Z
(LQOHVHVSHUUH
10
'%
(LQOHVHVSHUUH
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
Assignment of groups
Group Extended First M address in group Last M address in group
M address
2 MSigGrp[2].MExtAdr MSigGrp[2].MFirstAdr MSigGrp[2].MLastAdr
... ... ... ...
16 MSigGrp[16].MExtAdr MSigGrp[16].MFirstAdr MSigGrp[16].MLastAdr
Example
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 := 0;
MSigGrp[1].MFirstAdr := L#0;
MSigGrp[1].MLastAdr := L#0;
MSigGrp[2].MExtAdr := 0;
MSigGrp[2].MFirstAdr := L#0;
MSigGrp[2].MLastAdr := L#0;
MSigGrp[15].MExtAdr := 0;
MSigGrp[15].MFirstAdr := L#0;
MSigGrp[15].MLastAdr := L#0;
MSigGrp[16].MExtAdr := 0;
MSigGrp[16].MFirstAdr := L#0;
MSigGrp[16].MLastAdr := L#0;
END_DATA_BLOCK
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 readin disable is set in the channel in which the M function has been
output.
Example
The table below contains the parameters for the following programming example:
Example parameters
Group Decoding list (DB 75) Signal list
Extended First Last DB 76
M address M address M address
in group
1 2 1 5 DBX0.0 to DBX0.4
2 3 12 23 DBX2.0 to DBX3.3
3 40 55 55 DBX4.0
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
General
The user has the option of storing PLCspecific machine data in the NC. These data can then
be processed while the PLC is running up (OB 100). This enables, for example, user options,
machine expansion levels, machine configurations, etc., to be implemented.
The interface to read these data is stored in the DB 20. However, DB20 is set up by the
basic program during powerup only when user machine data are used, i.e., sum of BP
parameters UDInt, UDHex and UDReal is greater than zero.
The size of the individual ranges and, therefore, the total length of DB 20,
is set using PLC machine data
MD14504 MAXNUM_USER_DATA_INT,
MD14506 MAXNUM_USER_DATA_HEX,
MD14508 MAXNUM_USER_DATA_FLOAT
and specified for the user in BP parameters
UDInt, UDHex and UDReal
.
The basic program stores the data in DB 20 in the following order:
Integer MD, Hex field MD, 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).
'%
$QZHQGHU $Q]DKO8',QW
0DVFKLQHQGDWHQ
7\S,17
$QZHQGHU $Q]DKO8'+H[
0DVFKLQHQGDWHQ
7\S%<7(
$QZHQGHU $Q]DKO8'5HDO
0DVFKLQHQGDWHQ
7\S5($/
Figure 2-14 DB 20
Note
If the number of PLC machine data used is increased later, then DB20 must be deleted
beforehand. To prevent such extensions in use having any effect on the existing user
program, the data in DB20 should be accessed in symbolic form wherever possible, e.g., 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 Alarm display and PLC STOP
Remedy Delete DB 20 followed by Reset
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:
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 e+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.
An entry is made in the symbol table to allow data access in symbolic form:
Interrupts
...
L "UData".UDInt[0];
L "UData".UDInt[1];
L "UData".UDInt[2];
L "UData".UDInt[3];
V "UData".UDHex0[0];
V "UData".UDHex0[1];
V "UData".UDHex0[2];
V "UData".UDHex0[3];
V "UData".UDHex0[4];
V "UData".UDHex0[5];
V "UData".UDHex0[6];
V "UData".UDHex0[7];
... ...
V "UData".UDHex0[15];
L "UData".UDReal[0];
...
General
The communications system integrated in the NC permits a maximum of 2 machine control
panels and one handheld unit to exchange data with the 810D and the 840D. An SDB 210 is
not required to transfer the signals of these components. The information given below is
based on the assumption that no SDB 210 has been installed for the components
concerned.
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. Addresses
for status information, MPI or OPI (a GD parameter set must be set for the handheld unit
rather than an MPI address) must also be defined. The default time settings for timeout and
cyclic forced retriggering do not have to be changed.
Activation
Each component is activated either via the number of machine control panels (parameter
MCPNum) or, in the case of the handheld unit, parameter BHG := 2 (BHG := 1 corresponds
to a link via the MPI interface in conjunction with an SDB 210). Whether a component is to
be linked to the OPI or the MPI is determined by parameters MCPMPI and BHGMPI.
Handheld unit
The handheld unit addresses the MPI or OPI by means of a GD parameter set. These
parameter values must be assigned according to the handheld unit settings. However, the
parameter names on the handheld unit are the reverse of the parameter names in the basic
program. All Send type parameters on the handheld unit must be defined as Rec type (and
Rec in Send type) in the basic program.
Control signals
Parameters MCP1Stop, MCP2Stop and BHGStop can be used to stop communication with
individual components (parameter setting = 1). 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 of alarms
40260 to 40262.
Configuring
There are basically two communication mechanisms for transferring data between the
MCP/HHU and PLC. With the first mechanism, data are transported via the COM module
(840D/810D). The mechanism is parameterized completely via the MCP/HHU parameters in
FB1.
An overview of the various interfacing options as a function of the NC type used is given
below. In each case, the parameter set of FB1 and the valid status information relevant for
the respective data transmission method are specified.
If an error is detected due to a timeout monitor, a corresponding entry is made in the
diagnostic buffer of the PLC CPU (errors 400260 to 400262). In this case, the input signals
from the MCP or from the handheld unit (MCP1In/MCP2In or BHGIn) are initialized with 0. If
it is possible to resynchronize the PLC and MCP/HHU, communication is resumed
automatically and the error message reset by the BP.
840D: OPI/MPI connection
Communication starts from the PLC BP via the NCK and COM mode, i.e., even a link via the
MPI does not require an SDB210. Parameter settings are made via the relevant parameters
in FB1.
%766
03,
Status information
Available in Bit No. Description
MCP1StatSend 4 Syntax error in GD package:
MCP2StatSend Error in parameter set (FB1)
BHGStatSend
MCP1StatSend 27 Transmitter:
MCP2StatSend Timeout
BHGStatSend
MCP1StatRec 10 Receiver:
MCP2StatRec Timeout
BHGStatRec
An error entry is also made in the PLC diagnostic buffer for timeouts (bits 10 and 27),
resulting in the following error messages on the MMC:
• 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
powerup.
840D: MPI connection for HHU (not for new development)
Communications for HHU by PLC operating system and parameterization via SDB210.
Communication for the MCP is controlled from the PLC BP via the NCK and COM module as
described above.
%766
03,
6'%
I¾U%+*
0677 0677
3/&&38 1&. %+*
03,
Status information
Available in Bit No. Description
MCP1StatSendMCP2Stat 4 Syntax error in GD package:
Send Error in parameter set (FB1)
BHGStatSend
MCP1StatSendMCP2Stat 27 Transmitter:
SendB Timeout
HGStatSend
MCP1StatRec 10 Receiver:
MCP2StatRec Timeout
BHGStatRec
An error entry is also made in the PLC diagnostic buffer for timeouts (bits 10 and 27),
0677 0677
3/&&38 1&. %+*
03,
6'%
I¾U0677
X%+*
Status information
Available in Bit No. Description
MCP1StatRec 10 Receiver: Time out
MCP2StatRec
BHGStatRec
An error entry is also made in the PLC diagnostic buffer for timeouts,
resulting in the following error messages on the MMC:
• 400260: MCP 1 failure
Or
• 400261: MCP 2 failure
• 400262: HHU failure
An MCP/HHU failure is only detected following a cold restart if the unit has already been
involved in data exchange. The first exchange of data with the MCP/HHU activates the
monitoring function.
840D: PROFIBUS connection
With an MCP PROFIBUS connection, these components must be considered in the STEP 7
hardware configuration. The addresses must be stored in the input and output log range.
These start addresses must also be stored in the pointer parameters of the FB1. The FB1
parameters listed below are used for further parameterization. There is no PROFIBUS
variant of the HHU. For this reason, an Ethernet connection is shown for the HHU in this
figure. PROFIBUS slave address can be stored in MCP1BusAdr and MCPBusAdr.
%766
&2 1&
0&3 0&3 %+*
LQW '
3
5
03,'3
'3
3URILEXV
I¾U0&
ManualTurn
ManualTurn uses FC 30 to 35 and DB 81 to 89.
ManualTurn is an operating system for conventional, cyclecontrolled turning machines. The
above FCs and DBs can be used provided that the machine to be configured is not a turning
machine with a maximum of two axes and one spindle. If your machine is of this type and if
you might require conventional operating methods in addition to CNC functions, then you
should not use the FCs and DBs above.
ShopMill
ShopMill uses FC30 to 35 and DB 81 to 89.
ShopMill is an operating system for 2 1/2D milling machines in the workshop environment.
The above FCs and DBs can be used provided that the machine to be configured is not a
milling machine for 2 1/2D machining operations. However, if you intend to use your machine
for applications of this type, then the FCs and DBs should not be used.
2.9.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.
ManualTurn
ManualTurn uses FC 30 to 35 and DB 81 to 89.
ManualTurn is an operating system for conventional, cyclecontrolled turning machines. The
above FCs and DBs can be used provided that the machine to be configured is not a turning
machine with a maximum of two axes and one spindle. If your machine is of this type and if
you might require conventional operating methods in addition to CNC functions, then you
should not use the FCs and DBs above.
ShopMill
ShopMill uses FC30 to 35 and DB 81 to 89.
ShopMill is an operating system for 2 1/2D milling machines in the workshop environment.
The above FCs and DBs can be used provided that the machine to be configured is not a
milling machine for 2 1/2D machining operations. However, if you intend to use your machine
for applications of this type, then the FCs and DBs should not be used.
General
The basic program consists of basic and optional functions. The basic functions include
cyclic signal exchange between the NC and PLC.
The options include, for example, the FCs, which can be used if required.
The table below lists the memory requirements for the basic functions and the options. The
data quoted represent guide values, the actual values depend on the current software
version.
Example:
Based on the memory requirements in the table above, the memory requirements have been
determined for two sample configurations (see table below).
Hardware
Programming devices or PCs with the following equipment are required for the PLCs
installed on the 810D and 840D:
Minimum Recommendation
Processor 80486 Pentium
RAM (MB) 32 Or more
Hard disk, 200 > 400
free capacity (MB)
Interfaces MPI incl. cable
Memory card
Graphics VGA or TIGA SVGA
Mouse yes
Operating system Windows 95/98/NT Windows 95/98/NT
or higher
Minimum Recommendation
STEP 7 and higher STEP 7 and higher
Version 4 Version 5.1
The STEP7 package for the S7300 can be obtained and 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
• Parameterizing
– Parameterizing tool HW Config for CPU and I/O device parameterization
– Communication Configuration configuration tool for setting the CPU communication
parameters
– Output of system data such as hardware and software version, memory capacity, I/O
expansion/assignment
• Testing and diagnostics (ONLINE)
– Variable status/forcing (I/Os, flags, data block contents, etc.)
– Status of individual blocks
– Display of system states (ISTACK, BSTACK, system status list)
– Display of system messages
– PLC STOP/complete restart/overall reset triggering from the programming device
– Compress PLC
• Documentation
– Printout of individual or all blocks
– Allocation of symbolic names (also for variables in data blocks)
– Input and output of comments within each block
– Printout of test and diagnostics displays
– Hardcopy function
– Cross-reference list
– Program overview
– Assignment plan I/O/M/T/C/B/P/D
• Archiving of utility routines
Note
More information about possible functions can be found in SIMATIC catalogs and STEP
7 documentation.
2.11.2.1 Overview
General
A catalog with an optional catalog name must be set up via the Windows Explorer. The
selected data of the VAR selector (data.VAR and data.AWL (STL)) must be stored in this
catalog. An "Insert", "External source" into the STEP 7 machine project for the "Data.AWL"
file must then be carried out via the STEP 7 manager (V3 and higher). 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.
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 STEP 7 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".
Note
The latest NC VAR selector can be used for each NC software version (even earlier
versions). The variables can also be selected from the latest list for earlier NC software
versions. The data content in DB 120 (default DB for variables) does not depend on the
software version, i.e., selected variables in an older software version must not be reselected
when the software is upgraded.
3URMHNW
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.
In SW V6.3 and higher, the variable lists ncv*.mdb are separated according to:
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
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).
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 not therefore 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$56HOHFWRU 67(3
XVHUGDWD
8( 9DU,'
&DOO)%9DU %HU(LQK
9DU1DPH 6SDOWH
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.
Note
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 machinespecific 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.
If, after selection of the project, new variables are to be added, a complete list of NCK
variables must be selected (see: Selecting complete list). No complete list need be called if
the user only wishes to delete variables from the project.
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.
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 2-25 Window with filter criteria for displaying list of variables
Selecting variables
A variable is selected by means of a simple mouse click and transferred to the window of
selected variables by double-clicking.
This action can also be undone under the "Edit" menu item.
Alias name
The variable names provided can be up to 32 characters in length. 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 STEP 7 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 doubleclicking on the S7
variable name field. This action can also be undone under the "Edit" menu item.
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 2-27 Entry field for line, column and block no.
Delete variables
Variables are deleted in the window of selected variables by selecting the appropriate
variables (single mouse click) and pressing the "Delete" key. No deletion action is taken with
the doubleclick 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 2-28 Window for project path and name of file to be stored
Code generation
This menu item contains three selection options:
1. Settings (input of data block number to be generated) and other settings
2. Generate (create data block)
3. In the STEP 7 project (transferring the data block to a STEP 7 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 "Unit 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 a STEP7 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 will be available as
of STEP7 Version 5.1 and NCVar Selector 6.04.05. This process take some time due to the
time require by STEP7. Before transferring a new AWL file, the file window of the AWL file
must be closed in the LAD/FUP/AWL Editor.
Description of Functions
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 startup of the control, it is vital to synchronize the NCK and PLC, as
these systems have their own types of powerup procedure. During startup routine, therefore,
the CPUs perform "subsidiary startup functions" and exchange ID information to ensure that
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
An additional SDB 210 must be generated via the STEP7 Communication Configuration
application for the operator components connected on the MPI interface.
The corresponding procedure is explained in the Installation and Startup Guide.
Caution
The text below is only relevant if an MCP1In, MCP1Out, MCP1StatSend, or
MCP1StatRec pointer parameter (or the parameters for the second MCP and the HHU) is
to be assigned to a data block (these pointers are usually stored on inputs or outputs).
To assign the MCP1In, MCP1Out, MCP1StatSend, or MCP1StatRec pointer parameter
(or the parameters for the second MCP and the HHU) to data block elements:
The In parameter (e.g., MCP1In) for this operator component must point to a data block.
The parameterized DB number must be the same for the other parameters if the other
pointers point to data blocks (the other parameters can point to inputs, outputs or flags).
All pointers of an operator component do not have to point to data blocks.
Code Comment
FUNCTION_BLOCK FB 1
VAR_INPUT
MCPNum: INT:= 1; //0: No MCP
//1: 1 MCP (default)
//2: 2 MCPs
MCP1In: POINTER; //Start addr. MCP 1 input signals
MCP1Out: POINTER; //Start addr. MCP 1 output signals
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. MCP 2 input signals
MCP2Out: POINTER; //Start addr. MCP 2 output signals
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;
MCP2StopI: BOOL:= FALSE;
MCP1NotSend: BOOL:= FALSE;
MCP2NotSend BOOL:= FALSE;
MCPSDB210: BOOL:= FALSE;
MCPCopyDB77: BOOL:= FALSE;
MCPBusType: BYTE = 0;
HHU: INT ; //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;
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; //Selection of handwheel using MMC
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 display
END_VAR
VAR_OUTPUT
MaxBAG: INT ;
MaxChan: INT ;
Code Comment
MaxAxis: INT ;
ActivChan: ARRAY[1..10] OF BOOL;
ActivAxis: ARRAY[1.0.31] OF BOOL;
UDInt : INT ;
UDHex: INT ;
UDReal : INT ;
END_VAR
Declaration 810D
Code Comment
FUNCTION_BLOCK FB 1
VAR_INPUT
MCPNum: INT:= 1; //0: No MCP
//1: 1 MCP (default)
//2: 2 MCPs
MCP1In: POINTER;
MCP1Out: POINTER;
MCP1StatRec: POINTER;
MCP1Timeout: S5TIME:= S5T#700MS;
MCP2In: POINTER;
MCP2Out: POINTER;
MCP2StatRec: POINTER;
MCP2Timeout: S5TIME:= S5T#700MS;
HHU: INT:= 0; //Handheld unit interface
//0 - no HHU
//1 - HHU on MPI
BHGIn: POINTER; //Transmit data of the HHU
BHGOut: POINTER; //Receive data of the HHU
BHGStatRec: POINTER; //Status DW for receiving HHU
BHGTimeout: S5TIME:= S5T#700MS;
NCCyclTimeout: S5TIME:= S5T#200MS;
NCRunupTimeout: S5TIME:= S5T#50S;
ListMDecGrp: INT:= 0;
NCKomm: BOOL:= FALSE;
MMCToIF: BOOL:= TRUE;
HWheelMMC: BOOL:= TRUE; //Selection of handwheel using MMC
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 E function in OB40
UserVersion: Pointer; //Pointer to string variable indicated
//in version display
END_VAR
VAR OUTPUT
MaxBAG: INT ;
MaxChan: INT ;
MaxAxis: INT ;
ActivChan: ARRAY[1..10] OF BOOL;
ActivAxis: ARRAY[1.0.31] OF BOOL;
UDInt : INT ;
UDHex: INT ;
UDReal : INT ;
END_VAR
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 := 14,
MCP1Timeout := S5T#700MS,
MCPMPI:= TRUE,
NCCyclTimeout := S5T#200MS,
NCRunupTimeout := S5T#50S);
//INSERT USER PROGRAM HERE
END_ORGANIZATION_BLOCK
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
Description of Functions
The PLC user program can read variables from the NCK area using FB GET.
FB 2 also includes an Instance DB from the user area (capable of multi-instances with SW
V3.7 and higher).
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 ADDR1ADDR8 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. A basic type can be selected for these variables,
i.e., area/column/line are preset to "0".
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.
Note
After communication between the PLC and NC (read/write NC variables, FB2, 3, 5, or PI
general services, FB4) has been aborted by POWER OFF, the start jobs must be deleted in
the first OB1 run after cold restart or reset (signal: Req = 0).
FB 2 can read NC variables only if basic program parameter NCKomm ="1" has been set (in
OB 100: FB 1, DB7).
When channel-specific variables are read, only the variables of
one channel may be addressed in a job (FB 2 call) via Addr1 to Addr8.
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).
Area
Group 1 C1 N B Q T
Group 2 C[2] N B Q 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.
Declaration
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 ;
Unit7 : BYTE ;
Column7 : WORD ;
Line7 : WORD ;
Addr8 : ANY ;
Unit8 : BYTE ;
Column8 : WORD ;
Line8 : WORD ;
FMNCNo : int;1)
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
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
Proceed as follows to read NC variables:
• Select variables with the NC VAR selector.
• Store the selected variables in a *.VAR file in the required project catalog (*.S7D).
• 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 FB 2 parameters
Pulse diagram
5HT
1'5
(UURU
Call example
Reading of three channelspecific 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:
FB 2
BEGIN
END_DATA_BLOCK
Function FC "VariablenCall" : VOID
E 7.7; //Unassigned machine control
panel pushbutton
S M 100.0; //Activate req.
V M 100.1; //NDR completed message
R M 100.0; //Terminate job
V E 7.6; //Manual error acknowledgment
V M 102.0; //Error pending
R M 100.0; //Terminate job
Call fb 2, db 110(
Req := M 100.0,
NumVar := 3, //Read 3 variables
Addr1 := NCVAR.C1AxConfMachAxUsed
1,
Addr2 := NCVAR.C1AxConfMachAxUsed
2,
Addr3 := NCVAR.C1SpindDefMasterSpin
d,
Error := M102.0,
NDR := M100.1,
State := MW104,
RD1 := P#DB99.DBX0.0 BYTE 1,
RD2 := P#DB99.DBX1.0 BYTE 1,
RD3 := P#M110.0 INT 1);
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);
Data types
The data types of the NCK are listed in the NCVAR selector with the variables. The tables
below give the assignments to the S7 data types.
Description of Functions
The PLC user program can write variables in the NCK area using FB PUT.
Every FB 3 call must be assigned a separate instance DB from the user area. (multiinstance
capability in SW 3.7 and higher).
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 FB3 is called.
Variable addressing
For some NC variables, it is necessary to select area no. and/or line or column in the NC
VAR selector. A basic type can be selected for these variables,
i.e., area/column/line are preset to "0".
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 PUT.
Note
After communication between the PLC and NC (read/write NC variables, FB2, 3, 5, or PI
general services, FB4) has been aborted by POWER OFF, the start jobs must be deleted in
the first OB1 run after cold restart or reset (signal: Req = 0).
FB 3 can only write NC variables if basic program parameter NCKomm has been set to "1"
(in OB100: FB 1, DB7). When channelspecific 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 one job. (Failure to
observe this rule results in Error:= TRUE, State:= W#16#02).
Area
Group 1 C[1] N B Q T
Group 2 C[2] N B Q T
Area
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.
Declaration
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:
SD1 : ANY ;
SD2 : ANY ;
SD3 : ANY ;
SD4 : ANY ;
SD5 : ANY ;
SD6 : ANY ;
SD7 : ANY ;
SD8 : ANY ;
END_VAR
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.
Pulse diagram
5HT
'RQH
(UURU
(5) If function activation is reset prior to receipt of acknowledgment, the output signals are not
updated without the operational sequence of the activated function being affected.
(6) Negative acknowledgment: Error has occurred, error code in the output parameter state.
Call example
Writing of three channelspecific machine data of channel 1:
Select the three data with NC VAR selector and store in the file DB120.VAR:
1,
SD3 := P#M110.0 REAL 1);
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
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);
Description of Functions
FB PI_SERV can be used to start program-instance services in the NCK area. The possible
services are described in this section. 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 a separate instance DB from the user area. The multi-
instance capability can also be applied in SW 3.7 and higher. Please refer to the STEP 7
Descriptions for more information.
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 logic "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
After communication between the PLC and NC (read/write NC variables, FB2, 3, 5, or PI
general services, FB4) has been aborted by POWER OFF, the start jobs must be deleted in
the first OB1 run after cold restart or reset (signal: Req = 0).
FB 4 can start PI services only if the basic program parameter NCKomm has been set to "1"
(in OB100: FB 1, DB7).
Declaration
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
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 block output State. The error identifiers, which may be
encountered, are as follows:
Pulse diagram
5HT
'RQH
(UURU
Overview of PI services
The following section provides an overview of the PI services that can be started from the
PLC. The meaning and application of the general FB 4 input variables (Unit, Addr ..., WVar
...) depend on the individual PI service concerned.
PI service: SELECT
Select a program for execution for a channel.
Function:
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 Guide (Chapter "File and Program Management", Section
"Program Memory"). Please also refer to example of FB 4 for notation of path and program
names.
Parameterization
Signal Type Value range Meaning
PIService ANY PI.SELECT Program selection
Unit INT 1 to 10 Channel
Addr1 STRING Path name
Addr2 STRING Program name
PI service: ASUB
Assign interrupt
Function:
A program stored on the NCK is assigned an interrupt signal for a 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 Guide (Chapter "File and Program Management", Section
"Program Memory"). Please also refer to example of FB 4 for notation of path and program
names.
Parameterization
Signal Type Value range Meaning
PIService ANY PI.ASUP Assign interrupt
Unit INT 1 to 10 Channel
WVar1 INT 1 to 8 Interrupt number
WVar2 INT 1 to 8 Priority
WVar3 INT 0/1 LIFTFAST
WVar4 INT 0/1 BLSYNC
Addr1 STRING Path name
Addr2 STRING Program name
Note
The SETINT instruction is also used to make the assignment.
The ASUB PI service may only be executed when the channel to be activated is in Reset.
Only PRIO 1 is possible when selecting the ASUB via FB 4 and then starting it with FC 9.
References:
/PA/Programming Guide
PI service: FINDBL
Activate block search
Function:
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 collisionfree approach path.
Parameterization
Signal Type Value range Meaning
PIService ANY PI.FINDBL Block search
Unit INT 1 to 10 Channel
WVar1 WORD x Preprocessing mode
x: Describes the preprocessing mode
x = 1 without calculation
x = 2 with calculation
x = 3 with main block observation
PI service: SETUFR
Activate user frames
Function:
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: CONFIG
Reconfiguration
Function:
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 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: CANCEL
Execute cancel
Function:
The CANCEL command activates the Cancel function (in accordance with key on MMC).
Parameterization
Signal Type Value range Meaning
PIService ANY PI.CANCEL Cancel
PI service: DELETO
Delete tool
Function:
Deletes the tool assigned to the transferred T number with all cutting edges (in TO, in some
cases TU, TUE and TG (type 400), TD and TS blocks).
Parameterization
Signal Type Value range Meaning
PIService ANY PI.DELETO Delete tool
Unit INT 1, 2 TOA
WVar1 INT T number
PI service: CREATO
Create tool
Function:
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 Value range Meaning
PIService ANY PI.CREATO Create tool
Unit INT 1, 2 TOA
WVar1 INT T number
PI service: CREACE
Create cutting edge
Function:
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 Value range Meaning
PIService ANY PI.CREACE Create cutting edge
Unit INT 1, 2 TOA
Parameterization
Signal Type Value range Meaning
WVar1 INT T number
PI service: TMCRTO
Create tool
Function:
Creation of a tool with specification of an identifier, a duplo number and a T number
(optional). 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 Value range Meaning
PIService ANY PI.TMCRTO Create tool
Unit INT 1, 2 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
PI service: TMFDPL
Empty location search for loading
Function:
(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 Value range Meaning
PIService ANY PI.TMFDPL Empty location
for loading
Unit INT 1, 2 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
PI service: TMMVTL
Prepare magazine location for loading, unload tool
Function:
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
5. Relocation between magazine and buffer storage
6. Relocation within buffer storage
The following variables from the TM block are used to monitor case 1, 3, 4, 5:
magCmd (area no. = TO unit, line = magazine number)
magCmdState <- "acknowledgment"
The following variables from the TMC block are used to monitor case 2), 6):
magCBCmd (area no. = TO unit)
magCBCmdState <- "acknowledgment"
Load function
Prepares the specified real magazine for the specified channel for loading, i.e., traverses the
magazine to the selected location for loading at the specified loading point/station
(location_number_from, magazine_number_from) and inserts the tool.
When location_number_to = -1, an empty location for the tool specified by a T number is first
sought in the specified magazine and the magazine then traversed. After execution of the PI,
the number of the location found is listed in the TM area in component magCMCmdPar2 for
the real magazine of the channel.
With location_number_to = -2 and a valid magazine number, loading takes place into the
currently queued magazine position of the specified magazine. After execution of the PI, the
number of the location for tool loading is listed in the TM area in component
magCMCmdPar2 for the real magazine of the channel.
Unload function
The tool specified by the tool number is unloaded at the specified loading point/station
(location_number_to, magazine_number_to), i.e., the magazine is traversed to the position
for unloading and the tool is then removed. The magazine location for the tool is marked as
being free in the TP block. The tool can be specified either via a T number or by means of
the location and magazine numbers. The value -1 is entered at unused specification points.
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 Value range Meaning
PIService ANY PI.TMMVTL Make magazine
location ready for
loading, unload tool
Unit INT 1, 2 TOA
WVar1 INT T number
WVar2 INT Location_number_from
WVar3 INT Magazine_number_fro
m
WVar4 INT Location_number_to
WVar5 INT Magazine_number_to
PI service: TMPOSM
Position magazine location or tool
Function:
(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.
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 Value range Meaning
PIService ANY PI.TMPOSM Position magazine
location or tool
Unit INT 1, 2 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
WVar5 INT Location number_ref
WVar6 INT Magazine number_ref
PI service: LOGIN
Create password
Function:
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
Reset password
Function:
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
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
0: Reset semaphore
1: Test and set semaphore
Parameterization:
Parameterization
Signal Type Value range Meaning
PIService ANY PI.MMCSEM Create new cutting
edge
Unit INT 1, 2 to 10 Channel
WVar1 INT 1 to 10 FunctionNumber
WVar2 Word 0, 1 SemaphoreValue
Parameterization
Signal Type Value range Meaning
PIService ANY PI.CRCEDN Create new cutting
edge
Unit INT 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
01 - 31999 cutting edge
Parameterization
Signal Type Value range Meaning
PIService ANY PI.DELETE Delete cutting edge
Unit INT TOA
Parameterization
Signal Type Value range Meaning
WVar1 INT T number of tool for
which the cutting edge
must be deleted. 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 cutting
01 - 31999 edge that must be
deleted
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:
Note
Before and after this PI service, the MMCSEM PI service must be called up with associated
WVar1 parameters for this PI service. See PI service MMCSEM for more information.
Parameterization
Signal Type Value range Meaning
PIService ANY PI.TSEARC Complex search using search screen forms
Unit INT 1, 2 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: Symmetrical with real magazine location positioned in
front of the location specified by MagNrRef and PlaceNrRef
WVar8 INT 0, 1, 2, 3 KindofSearch
0: Find all tool with this property cutting edge specifically
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
Digitizing on (DIGION)
Function:
Selecting digitizing in the specified channel
Parameterization:
Initiate NC Reset
NCRES
Function:
Initiates an NCK Reset. The Unit and WVar1 parameters must be assigned 0.
Parameterization:
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:
Description of Functions
The PLC user program can read a GUD variable (GUD = Global User Data) from the NCK or
channel area using the FB GETGUD. 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.
(multiinstance capability in SW 3.7 and higher). 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 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 the 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 the variable pointer. GUD variable fields are an
exception. In these, Line1 .. Line8 must also be parameterized with the field index of this
variable.
Successful completion of the read process is indicated by a logic "1" in status parameter
Done.
The read process extends over several PLC cycles generally 1 to 2).
The block can be called up in cyclic mode only.
Any errors are indicated by Error and State.
Note
After communication between the PLC and NC (read/write NC variables, FB2, 3, 5, or PI
general services, FB4) has been aborted by POWER OFF, the start jobs must be deleted in
the first OB1 run after cold restart or reset (signal: Req = 0).
FB 5 can read GUD variables only if basic program parameter NCKomm has been set to "1"
FB 1, DB 7).
Declaration
END_VAR
VAR_OUTPUT
Error : bool;
Done : bool;
State : word;
END_VAR
VAR_IN_OUT:
RD: any;
END_VAR
BEGIN
END_FUNCTION_BLOCK
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 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
updated without the operational sequence of the activated function being affected.
(6) Negative acknowledgment: Error has occurred, error code in the output parameter state.
Call example
Reading of a GUD variable with the name "GUDVAR1" as an integer variable
(see also table in FB 2: Assignment of NC data type in SIMATIC data type).
Call and parameterization of FB 5 with instance DB 111:
Description of Functions
A detailed description of the FB 7 is contained in the description of FB 4. The only difference
to FB 4 is the number of WVar1 and subsequent parameters. In FB 7, WVar1 to WVar16 are
defined in VAR_INPUT (FB4 has WVar1 to WVar10). All other parameters are identical to FB
4. This PI server can be used for all PI services previously implemented with FB 4. In
addition, the PI services listed below can only be handled with FB 7.
Declaration
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
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:
Parameterization
Signal Type Value range Meaning
PIService ANY PI.TMFPBP Empty location search
Unit INT ... max. TOA TOA
WVar1 INT MagazineNumber_From:
Magazine number of magazine from which
search must begin (start of search area)
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
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 0, 1 .. 7 Number of required location type
WVar12 INT 0: default Specifies the required search direction
1: forwards 0: Empty location search strategy is set in
2: backwards $TC_MAMP2
3: Symmetrical
Description of Functions
This block allows switchover between several operating units (MMC operator panel fronts
and/or MCP machine control panels), which are connected to one or more NCU control
modules via a bus system.
References:
/FB2/Description of Functions, Expansion 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 data block DB19 (see FB 2 above, Chapter 5 Signal Description). FB 9 uses 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 operating-unit switchover:
MCP switchover
As an option, an MCP assigned to the MMC 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 MMCs and MCPEnable must be set to true. The
MCP of the passive MMC 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 OB 100.
Releases
When one MCP is switched over to another, any active feedrate or axis enabling signals may
be transferred at the same time.
Note
Keys actuated at the moment of switchover remain operative until the new MCP is activated
(by the MMC, 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 nonactuated 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 below: Example of override switchover).
Declaration of function
FUNKTION_BLOCK FB9
VAR_INPUT
Ack :BOOL; //Acknowledge alarms
OPMixedMode: BOOL:= FALSE; // Hybrid 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; // Alarm: Error in MMC bus address, bus type!
Alarm2 :BOOL; // Alarm: No confirmation MMC1 offline!
Alarm3 :BOOL; // Alarm: MMC1 is not going offline!
Alarm4 :BOOL; // Alarm: No confirmation MMC2 offline!
Alarm5 :BOOL; // Alarm: MMC2 is not going offline!
Alarm6 : BOOL ; // Alarm: Queuing MMC is not going online!
Report : BOOL ; // Message: Sign-of-life monitoring
ErrorMMC : BOOL ; // Error detection MMC
END_VAR
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 not multiinstancecapable.
FB9 call
CALL FB 9 , DB 109 (
Ack := Error_ack, // e.g., MCP reset
OPMixedMode := FALSE,
ActivEnable = TRUE, //
MCPEnable := TRUE, // Enable MCP switchover
Alarm1 := DB2.dbx188.0, // Error message 700.100
Alarm2 := DB2.dbx188.1, // Error message 700.101
Alarm3 := DB2.dbx188.2, // Error message 700.102
Alarm4 := DB2.dbx188.3, // Error message 700.103
Alarm5 := DB2.dbx188.4, // Error message 700.104
Alarm6 := DB2.dbx188.5, // Error message 700.105
Report :=DB2.dbx192.0) // Operational message 700.132
Note
Input parameter “MCPEnable” must also be set to true to enable MCP switchover. The
default value of these parameters is set in this way and need not be specially assigned when
the function is called.
Alarm, error
The output parameters "Alarm1" to "Alarm6" and "Report" can be transferred to the DB2
areas for MMC alarm and error messages.
If execution of an MMC function has failed (for which an appropriate error message cannot
be displayed), status parameter ErrorMMC is set to 'logic 1' (e.g., booting error when no
connection is made).
// Save override
Description of Functions
The SPL block "Safety relay" for "Safety Integrated" is the PLC equivalent to 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. 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. The 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 separate instance.
The corresponding NCK SPL block is described in:
References:
/FBSI/Description of Functions, Safety Integrated.
FUNCTION_BLOCK FB 10
VAR_INPUT
In1 : BOOL := True ; //Input 1
In2 : BOOL := True ; //Input 2
In3 : BOOL := True ; //Input 3
Ack1; : BOOL //Ack 1 signal
Ack2 : . 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
Out1 : BOOL ; //Delayed output to false by timer 1
Out2 : BOOL ; //Delayed output to false by timer 2
Out3 : BOOL ; //Delayed output to false by timer 3
END_VAR
VAR_INOUT
FirstRun BOOL: //True by user after initial start of SPL
END_VAR
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.
Description of Functions
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 socalled "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 errorfree
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 required parameterization of NC and drive is described in:
References:
/FBSI/Description of Functions, 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 servo disable, feedrate enable signals). The "PLC monitoring axis" (DB "Axis".DBX 28.7)
must also be set to status 1 by the user program for the entire duration of the test. Before the
"PLC monitoring axis" signal is activated, the axis must be switched to "neutral axis" status
(e.g., byte 8 must be set to channel 0 in the axis DB, activation signal must be set in the
same byte, current-status checkback can be polled in byte 68). The block must not be
started until the NC checkback via the appropriate bit (DB "Axis".DBX 63.1) has arrived. 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
Note on FB 18
If FC 15, FC 16 or FC 18 are 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 FC 18 repeatedly, whereby the inactive FC 18 will not be
processed by the program. A multiple-use interlock must be provided.
VAR_INPUT
Start : BOOL ; //Start of brake test
Ack : 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 : S5TIME ; //TimeValue -> close brake
TV_FeedComman : S5TIME //TimeValue -> force FeedCommand
d
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
Error identifiers
Error identifiers
State Meaning
0 No error
1 Start conditions not fulfilled, e.g., axis not under closedloop control/brake closed/axis
disabled
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 end stop cannot be reached. TV
FXSreached monitoring timeout
7 Brake is not holding at all (end position is reached)/approach velocity too high
8 Brake opens during the holding period
9 Error in brake test deselection
10 Internal error
11 "PLC monitoring axis" signal not activated by 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.
R DBX 8.4;
S DBX 28.7; //Request PLC-monitored axis
V DBX 63.1; //Checkback signal, axis monitored by PLC
V M 110.5;
FP M 110.2;
R M 110.5;
S M 111.0; //Start brake test for FB
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
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.
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 ;
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
TITLE =
//Ring buffer DB for FB 29
VERSION : 1.0
STRUCT
Box: ARRAY [0 to 249 ] OF STRUCT //can be any size of this struct
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 is complete (function 1),
read out the ring buffer DB in STEP7 by opening the data block in the data view. You can
now analyze the contents of the ring buffer DB (e.g., in a signal timing chart).
Call example
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,
NewCycle := TRUE,
Var1 := MB 100,
BufDB := 81,
ClearBuf :=M 50.0);
END_FUNCTION
Description of Functions
The complete processing of the NCKPLC 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 machine control panel 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
//INSERT USER PROGRAM HERE
CALL FC 19 ( //MCP signals to interface
BAGNo := B#16#1, //Mode group no. 1
ChanNo := B#16#1, //Channel no. 1
SpindleIFNo := B#16#4, //Spindle interface number
= 4
FeedHold := m22.0, //Feed stop signal
//modal
SpindleHold := db2.dbx151.0) //Spindle stop modal
;
//in message
DB
CALL FC 10 ( //Error and operational
messages
ToUserIF := TRUE, //Signals transferred from
DB2
//to interface
Ack := I6.1); //Acknowledgment of error
messages
//via I 6.1
END_ORGANIZATION_BLOCK
Description of Functions
Blocksynchronized transfers from the NCK to the PLC (auxiliary and G functions) are carried
out in the interruptdriven part of the basic program. Auxiliary functions are subdivided into
normal and highspeed auxiliary functions. The highspeed 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. Normal auxiliary functions are only
acknowledged when they have existed for the duration of one cycle. This allows the
application to issue a read disable to the NC.
Highspeed 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.
The G functions are evaluated immediately and passed to the application interface.
NC process alarms
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. (only if 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. To be able to implement highspeed, job-
controlled 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 with SW 3.2 and higher:
• Selected auxiliary functions
• Tool-change function for tool-management option
• Position reached for positioning axes, indexing axes and spindles with activation via PLC
• Block transfer to FM (function available soon)
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 interruptdriven 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 channelspecifically 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).
The change signals and function value are available to the user in the associated channel
DB. The change signal for this interruptcontrolled function is reset to zero in the cyclical
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 15 (positioning axis), FC 16 (indexing axis) or FC 18
(spindle control) for an axis or spindle, the associated "GP_InPosition" bit makes it possible
to implement instantaneous evaluation of the "InPos" signal of the FCs listed above. This
capability can be used, for example, to obtain immediate activation of clamps for an indexing
axis.
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;
//Assigned to basic program
GP_IRFromNCK : BOOL ; //Interrupt by NCK for user
GP_TM : BOOL ; //Tool management
GP_InPosition : ARRAY [1..3] OF BOOL; //Axis-oriented for positioning and
//indexing axes, spindles
GP_AuxFunction : ARRAY[1..10] OF BOOL; //Channel-oriented for //auxiliary
functions
GP_FMBlock : ARRAY[1..10] OF BOOL; //Channel-oriented for block
//transfer to FM (available soon)
//Further local user data may be defined from this point onwards
END_VAR
BEGIN
CALL FC 3;
//INSERT USER PROGRAM HERE
END_ORGANIZATION_BLOCK
Description of Functions
After a revolver has been changed, the user will call this block. 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.
Output parameter "Ready" is set to the value TRUE when the job has been executed
correctly.
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
It is not permissible to abort the transfer (e.g., by an external signal reset). 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 Description of
Functions Tool Management. In addition, PI services for tool management via FB 4, FC 8
and FC 22 are available. Machine data 20310 bit 12 must not be set to 1 for circular
magazines.
TaskIdent = 4
TaskIdentNo = channel
NewToolMag = Magazine number of the revolver
NewToolLoc = Original location of the tool
OldToolMag = Magazine no. buffer storage (spindle) = 9998
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
Timing diagram
6WDUW
5HDG\
(UURU !
Call example
Description of Functions
In the case of changed tool positions or status changes, the user will call FC TM_TRANS.
This FC is parameterized with parameter "TaskIdent":
1. For loading/unloading positions
2. For spindle change positions
3. For revolver change positions as transfer identifier
4. Asynchronous transfer
5. 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 socalled "old tool" (e.g., on loading), the value 0 is
assigned to parameters "OldToolMag", "OldToolLoc".
Block FC TM_TRANS may be started (with "Start" parameter = "TRUE") only 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.
Output parameter "Ready" is set to the value TRUE when the job has been executed
correctly.
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 "Status" parameter, then the associated
interface in data block DB 71 or DB 72 or DB 73, word 0 is deactivated (process complete).
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.
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 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.
Warning
It is not permissible to abort the transfer (e.g., by an external signal reset). 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 Description of
Functions Tool Management. In addition, PI services for tool management via FB 4, FC 7
and FC 22 are available.
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
Other values:
The number corresponds to the error message of
the tool management function in the NCK caused
by this transfer.
Timing diagram
6WDUW
5HDG\
(UURU !
(6) Negative acknowledgment: Error has occurred, error code in the output parameter "Error".
Status list
Status = 1:
The operation is complete (loading/unloading/reloading, prepare change, change).
The parameters of FC 8 (FC TM_TRANS) "NewToolMag", "NewToolLoc", "OldToolMag" and
"OldToolLoc" must be parameterized to the tool target positions specified in the interface
(except for Prepare change). For further information, please refer to description of
parameters of FC TM_TRANS or general Section of tool management in the PLC.
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 toolchange 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 complete.
Status = 2:
The "new" tool cannot be made available.
This status is only admissible in conjunction with the "Change tool" 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 has 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 TM_TRANS. 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 take the specified magazine position into account in the subsequent
command. However, it can only do so if the position is free. Parameters "NewToolMag" and
"NewToolLoc" are not taken into account.
Status = 5:
The operation is complete.
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, chaintype magazines and disk magazines for the "Tool change preparation"
phase. Status 104 enables the tool management to adjust the current position of a magazine
and to improve the search strategy for subsequent commands.
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
Description of Functions
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).
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 required 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. 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 function is initiated only with the LowHigh edge.
Declaration
Timing diagram
6WDUW
$FWLY
'RQH
(UURU
Call example
Description of Functions
FC AL_MSG evaluates the signals entered in DB 2 and displays them as incoming and
outgoing error and operational messages on the MMC. The incoming signals (positive edge)
are displayed immediately in the case of both error and operating messages. Outgoing
signals (negative edge) are only canceled immediately in the case of operating messages.
Error messages remain stored on the MMC - even if the signals no longer exist - until the
"acknowledge" parameter is issued, i.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 alarm 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 alarm 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.
The following program illustrates this method:
CALL FC 10 (
ToUserIF := TRUE,
Ack := I 6.1);
u m 50.0; //Feed disable for channel 1
to DB 21;
s dbx 6.0; //Set disable condition, reset via
//FC AL_MSG, if M 50.0 outputs the signal "0".
Error and operational messages are provided by the user in data block DB 2.
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 MMC.
END_FUNCTION
Call example
2.12.17 FC 12: AUXFU call interface for user with auxiliary functions
Description of Functions
FC AUXFU is generally called on an eventdriven 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
jobcontrolled 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.
Declaration
Example
Description of Functions
This module carries out the display control of the handheld unit (HHU). The information to be
output on the display is stored as 32 characters in string data ChrArray. A fixed text
assignment of 32 characters is therefore required for this string when the data block is
created. Variable components within this string can be inserted by means of the optional
numerical converter, for which 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.
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).
Signals
Byte 1 is supplied by the output signals of the HHU and the character specifications are
supplied by the module. These may not be written by the PLC user program.
Additional parameters
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.
Note
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. In this case, it
is advisable to use the input signal from the HHU to the PLC "Acknowledgment digital
display" (DB m+5.7) for parameter "Convert". In this way it can be ensured that the most
recent numerical information is displayed.
Ranges of values
Call example
CALL FC 13 (
Row := MB 26,
Description of Functions
(Do not use for new applications, function is integrated in FC 18 in SW 3.6 and higher.)
FC POS_AX can be used to traverse axes in any operating mode, also from the PLC. (See
also Description of Functions Positioning Axes SW 2).
In order to traverse the NC axes via the PLC, the traversing check must be activated for the
PLC.
This can be achieved, for example, by calling FC "POS_AX" with activation of the "Start"
parameter.
FC "POS_AX" then requests an axis check by the NC.
The NC feeds back the status of this axis in byte 68 in the associated axis interface (DB 31,
...) (see interface lists).
Once the axis check has been completed ("InPos" is True, "Start" changes to zero), it is
switched to a neutral state by FC POS AX.
Alternatively, the PLC user program can also request the check for the PLC prior to calling
FC "POS_AX".
By calling this function several times in succession, a better response reaction by the axes
can be obtained as the changeover process in the FC can be omitted.
Activation through the PLC user program is executed in the corresponding axis interface in
byte 8.
After return of the check, the axis can again be programmed by the NC program.
Note
Rotary axes can be positioned by the shortest possible route through the programming of a
negative feed value in absolute programming mode. In incremental mode (parameter "IC" :=
TRUE), the traversing direction can be defined by means of the parameter "Pos" sign:
Positive sign indicates travel in a positive direction
Negative sign indicates travel in a negative direction
After the FC has been called, ACCU1 contains an error statement by the NCK (but not if the
output parameters are assigned to a data block). This is generally the value 0 (signifies: No
error has occurred). The interpretation of other numerical values is shown in the following
table.
FC 15 must be called cyclically until the "Active" signal produces an edge transition from 1 to
0. Only when the "Active" signal has a 0 state can the axis concerned be restarted (the next
start must be delayed by at least one PLC cycle). This also applies when the assignment in
data byte 8 has changed.
The function cannot be aborted by means of parameter "Start", but only by means of the
axial interface signals (e.g., delete distancetogo). The axial interface also returns status
signals of the axis that may need to be evaluated (e.g., exact stop, traverse command).
Warning
If several block calls (FC 15, FC 16, FC 18) are 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.
Error identifiers
Error identifiers
State Meaning
Errors caused by PLC handling
1 Several axis/spindle functions have been activated simultaneously
20 A function has been started without the position being reached
30 The axis/spindle has been transferred to the NC while still in motion
40 The axis is programmed in the NC program
Errors which occur during NCK routines.
The alarm numbers are described in the 840D Diagnostics Guide
100 Corresponds to alarm no.: 16830
105 Corresponds to alarm no.: 16770
106 Corresponds to alarm no.: 22052
107 Corresponds to alarm no.: 22051
Error identifiers
State Meaning
108 Corresponds to alarm no.: 22050
109 Corresponds to alarm no.: 22055
110 Velocity/speed is negative
111 Setpoint speed is zero
112 Invalid gear stage
115 Programmed position has not been reached
117 G96/G961 is not active in the NC
118 G96/G961 is still active in the NC
120 Not an indexing axis
121 Indexing position error
125 DC (shortest path) not possible
126 Minus absolute value not possible
127 Plus absolute value not possible
130 Software limit switch plus
131 Software limit switch minus
132 Working area limitation plus
133 Working area limitation minus
System or other serious alarms
200 Corresponds to system alarm no.: 450007
Declaration
Timing diagram
6WDUW
$FWLY
,Q3RV
(UURU
6WDUW(UU
6WDUW
$FWLY
,Q3RV
(UURU
6WDUW(UU
Call example
CALL FC 15 (
Start := M 100.0,
AxisNo := 5,
IC := #incr, //e.g., local variable
Inch := FALSE,
HWheelOv := FALSE,
Pos := MD160,
FRate := MD164,
InPos := Q 36.0,
Active := Q 36.1,
StartErr := Q 36.2,
Error := Q 36.3);
Description of Functions
(Do not use for new applications, function is integrated in FC 18 in SW 3.6 and higher.)
FC PART_AX can be used to traverse NC axes defined via machine data as "indexing axes",
also from the PLC.
References:
/FB2/Description of Functions, Expansion Functions; Indexing Axes (T1)
In order to traverse the indexing axes via the PLC, the traversing check must be activated for
the PLC.
This can be achieved, for example, by calling FC "PART_AX" with activation of the "Start"
parameter.
The FC "PART_AX" then requests checking of the axes from the NC.
The NC feeds back the status of this axis in byte 68 in the associated axis interface (DB 31,
...) (see interface lists).
On completion ("InPos" is True, "Start" changes to zero), the axis check function is switched
to a neutral status by FC PART_AX.
Alternatively, the PLC user program can also request the check for the PLC prior to calling
FC "PART_AX".
By calling this function several times in succession, a better response reaction by the axes
can be obtained as the changeover process in the FC can be omitted.
Activation through the PLC user program is executed in the corresponding axis interface in
byte 8.
After return of the check, the axis can again be programmed by the NC program.
Note
After the FC has been called, ACCU1 contains an error statement by the NCK (but not if the
output parameters are assigned to a data block). This is generally the value 0 (signifies: No
error has occurred). See table 8-48 for the interpretation of other numerical values for error
codes in FC 15.
FC 16 must be called cyclically until the "Active" signal produces an edge transition from 1 to
0. Only when the "Active" signal has a 0 state can the axis concerned be restarted (the next
start must be delayed by at least one PLC cycle). This also applies when the assignment in
data byte 8 has changed.
The function cannot be aborted by means of parameter "Start", but only by means of the
axial interface signals (e.g., delete distancetogo). The axial interface also returns status
signals of the axis that may need to be evaluated (e.g., exact stop, traverse command).
Warning
If several block calls (FC 15, FC 16, FC 18) are 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.
Declaration
AxisNo: INT ;
IC: BOOL ;
DC: BOOL
Minus: BOOL ;
Plus: BOOL ;
Pos: INT ;
FRate: REAL;
END_VAR
VAR_OUTPUT
InPos: BOOL ;
Active: BOOL ;
StartErr: BOOL ;
Error : BOOL ;
END_VAR
Timing diagram
6WDUW
$FWLY
,Q3RV
(UURU
6WDUW(UU
6WDUW
$FWLY
,Q3RV
(UURU
6WDUW(UU
Call example
Start := I72.4,
AxisNo := 6,
IC := FALSE,
DC := #short, //e.g., local variable
Minus := FALSE,
Plus := FALSE,
Pos := MW 168,
FRate := MD164,
InPos := Q 36.4,
Active := Q 36.5,
StartErr := Q 36.6,
Error := Q 36.7);
Description of Functions
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: Delete the "Motor selection in progress" interface signal in the relevant axis DB (DB
31, ... DBX21.5) and connect the changeover process using "Motor selection" A (DB
31, ... DBX21.5).
Step 2: As soon as the "Pulses enabled" = 0 (DB 31, ... DBX93.7) checkback signal 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 "Motor selection in
progress" (DB31, ... DBX21.5).
(LQJDQJ)&
3/&QDFK1&.
1670RWRUDQZDKOHUIROJW
'%'%;
1670RWRUDQZDKO
'%'%;
167,PSXOVIUHLJDEH
'%'%
,PSXOVLQWHUQ
1&.QDFK3/&
167,PSXOVHIUHLJHJHEHQ
'%'%;
)&7LPHU:HUWYRP
$QZHQGHUSDUDPHWULHUEDU
<$XVJDQJ
'$XVJDQJ
Figure 2-29 Timing with interface signals with a delay of 500 ms set in FC 17.
Error message
If the parameter "SpindleIFNo" is not in the permissible range, the PLC is stopped with
output of alarm 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.
Supplementary conditions
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 pulses on the drive, IS "Current controller active"
(DB31, ... DBX61.7) and "Speed controller active" (DB31, ... DBX61.6) are deactivated
simultaneously to IS "Pulses enabled" (DB31, ... DBX93.7).
• 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, the changeover of the
star/delta contactor cannot be delayed by the user. 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
Call example
CALL FC 17 (
YDelta := I 45.7, //Star delta
SpindleIFNo := 4,
TimeVal := S5T#150ms,
TimerNo := 10, //Timer 10
Description of Functions
FC SpinCtrl can be used to control spindles and axes from the PLC.
References:
/FB1/Description of Functions, Basic Machine; Spindles (S1)
/FB2/Description of Functions, Expansion Functions; Positioning Axes (P2)
/FB/Description of Functions, Expansion 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.
The NC feeds back the status of this spindle/axis in byte 68 in the associated spindle/axis
interface (DB 31, ...) (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 distancetogo). The axial interface also returns axis
status signals that may need to be evaluated
(e.g., exact stop, traverse command).
InPos on spindle - rotation/oscillation:
For the "Rotate spindle" and "Oscillate spindle" functions, the meaning of the "InPos"
parameter is defined as follows:
Setpoint speed is output --> function was started without error.
The reaching of the required spindle speed must be evaluated using the spindle interface.
Simultaneity:
Several axes can be traversed simultaneously or subject to a delay by the blocks FC 15, 16
and 18. The upper limit is defined by the maximum number of axes. The NCK handles the
PLC function request (FC 15, 16, 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).
Warning
If several block calls (FC 15, FC 16, FC 18) are 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:
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.
InPos: Is set to "1" when position is reached with "Exact stop fine".
Error : With positioning error = "1"
State : Error code
9. Rotate spindle with automatic gear stage selection:
The following signals are relevant:
Error : BOOL ;
State : BYTE ;
END_VAR
FRate
The feed rate in FC 18 can also be specified as:
1. Cutting rate with unit m/min or feet/min
2. 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.
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". For a list of the error codes, see
the table in the description of FC 15.
Timing 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
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 := Bq16q2, //Rotate spindle
Mode := Bq16q5, //Rotational direction as for M4
AxisNo := 5,
Pos := 0.0,
FRate := MD108,
InPos := M112.0,
Error := M113.0,
State := MB114);
3. Start spindle oscillation
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);
4. Traverse indexing axis
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);
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);
Description of Functions
With FC MCP_IFM (M variants), 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 commands
• Traversing keys
• Overrides
• Key switch
In the basic program (FC 2), FC 27 transmits handwheel selections, modes and other
operation signals from the operator panel or MMC to the NCK/PLC interface in such a way
as to allow the modes to be selected from the machine control panel or the operator panel.
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:
• 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 in addition to interface byte "Rapid traverse"
override (DBB 5) to the NC channel if MMC signal "Feed override for rapid traverse
effective" is set (exception: Switch setting "Zero"). "Rapid traverse override effective"
is also set with this MMC 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 geoaxis 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 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).
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 MCP fails, the signals it outputs are preset to zero; this also applies to "FeedHold" and
"SpindleHold" output signals.
With SW V4 and higher, multiple calls of FC 19 or FC 25 are permitted within the same 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.
With SW 5 and higher, the INC selections are only transferred to the mode group interface.
This results in runtime improvements. The activation for this command is performed by this
block once after powerup via DB10.DBX 57.0. 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. A support for two MCPs is still provided within
certain restrictions in the control panel blocks (support is not provided for standard axis
numbers 10 to 31, mutual interlocking of axis selections with two MCPs).
Key switch
Source: Destination:
MCP switch Interface DB
Position 0 DB10.DBX56.4
Position 1 DB10.DBX56.5
Source: Destination:
MCP switch Interface DB
Position 2 DB10.DBX56.6
Position 3 DB10.DBX56.7
Source: Destination:
MCP button Interface DB (Parameter ChanNo)
AUTOMATIC DB11, ... DBX0.0
MDA 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. (SW 5 and higher) DB11.DBB2, Bits 0 to 5
SW 4 and lower
Source: Destination:
MCP button Interface DB (Parameter ChanNo)
INC 1 ... 10 000, INC Var. DB21, ... DBB13, Bit 0 to 5
INC 1 ... 10 000, INC Var. DB21, ... DBB17, Bit 0 to 5
INC 1 ... 10 000, INC Var. DB21, ... DBB21, Bit 0 to 5
Source: Destination:
MCP button Interface DB (all axis DBs)
INC 1 ... 10 000, INC Var. DB31, ... DBB5, Bit 0 to 5
(up to SW 4)
Source: Destination:
MCP button 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
Source: Destination:
MCP button Interface DB (Parameter ChanNo)
Rapid traverse override DB21, ... DBX20.5
Source: Destination:
MCP button 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
Source: Destination:
MCP switch Interface DB (all axis DBs)
Feedrate override DB31, ... DBB0 (selected axis number) The feed override
of the 1st MCP applies to all axes.
Spindle override DB31, ... DBB19 (parameter SpindleIFNo)
Channel signals
Source: Destination:
MCP button 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 button FC output parameters
Feed stop Parameter: "FeedHold" latched, LEDs are
Feed enable driven
Spindle stop Parameter: "SpindleHold" latched, LEDs
Spindle enable are driven
Destination: Source:
MCP LED Interface DB (parameter ModeGroupNo)
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
All signals are ORed to obtain the LED checkback signals of the INC selections.
Destination: Source:
MCP LED Interface DB (parameter ChanNo)
INC 1 ... 10 000, INC Var. DB21, ... DBB41, Bit 0 to 5
INC 1 ... 10 000, INC Var. DB21, ... DBB47, Bit 0 to 5
INC 1 ... 10 000, INC Var. DB21, ... DBB53, Bit 0 to 5
Destination: Source:
MCP LED Interface DB (all axis DBs)
INC 1 ... 10 000, INC Var. DB31, ... DBB65, Bit 0 to 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
//signals to interface
BAGNo := B#16#1, //Mode group no. 1
ChanNo := B#16#1, //Channel no. 1
SpindleIFNo B#16#4, //Spindle interface
:=
//number = 4
FeedHold := m22.0, //Feed stop signal
//modal
SpindleHold db2.dbx151.0); //Spindle stop modal in
:=
//message DB
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 to 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.
Description of Functions
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.
VAR_INPUT
Enable : BOOL ;
Funct: BYTE ;
S7Var : ANY ;
IVar1 : INT ;
IVar2 : INT ;
END_VAR
VAR_OUTPUT
Error : BOOL ;
ErrCode : INT
END_VAR
Functions
1: Signals for synchronized actions to channel:
2: Signals for synchronized actions from channel:
Synchronized actions can be disabled or enabled by the PLC.
The data area is stored on the user interface in DB21 to DB30.DBB 300..307 (to channel)
and DBB 308..315 (from channel). Parameter "S7Var" is not evaluated for this function, but
must be assigned an actual parameter (see call example). The data are transferred to/from
the NC as soon as FC 21 is processed.
The following signals are relevant:
Call example
Functions
3, 4: Rapid PLC NCK data exchange
General
A separate, internal data area is provided to allow the highspeed exchange of data between
the PLC and NCK. The size of the internal data field is preset to 1024 bytes. The NCK is
accessed (read/written) from the PLC via FC21. The assignment of this area (structure) must
be declared identically in both the NC parts program and the PLC user program.
These data can be accessed from the NC parts program by commands $A_DBB[x],
$A_DBW[x], $A_DBD[x], $A_DBR[x] (see Programming Guide). The concrete address is the
data field is specified by a byte offset (0 to 1023) in parameter IVAR1. In this case, the
alignment must be selected according to the data format, i.e., a Dword starts at a 4byte limit
and a word at a 2byte limit. Bytes can be positioned on any chosen offset within the data
field, singlebit access operations are not supported and converted to a byte access operation
by FC 21. Data type information and quantity of data are taken from the ANY parameter,
transferred via S7Var.
Without additional programming actions, data consistency is only ensured for 1 and 2 byte
access in the NCK and in the PLC. However, 2 byte consistency is only ensured for the data
types Word or Int, not for the data type Byte. In the case of longer data types or transfer of
fields, which should be transferred consistently, a semaphore byte must be programmed in
parameter IVAR2 that can be used by FC 21 to determine the validity or consistency of a
block. This handling must be supported by the NC, i.e., in the part program, by writing or
deleting the semaphore byte. The semaphore byte is stored in the same data field as the
actual user data.
The semaphore byte is identified by a value between 0 and 1023 in IVAR2.
The PLC reads and describes the semaphore byte via FC 21 in the same call, which should
transfer the user data. The PLC programmer only needs to set up a semaphore variable. For
access from the NC via the parts program, the semaphore feature must be programmed
using individual instructions according to the flow chart shown below. The sequence is
different for reading and writing variables.
Only individual variables or arrays can be supported directly by the semaphore technique.
Structure transfers must be subdivided into individual jobs. The user must ensure data
consistency of this structure by programming a semaphore system.
If IVAR2 = -1, data are transferred without a semaphore.
Data exchange with semaphore in PLC (schematic of FC 21)
Q Q
6HPDSKRU " 6HPDSKRU "
M M
'DWHQYRQ 'DWHQYRQ
(UURU (UURU
1&]XU3/& 3/&]XU1&
(UU&RGH (UU&RGH
¾EHUWUDJHQ ¾EHUWUDJHQ
OHVHQLP VFKUHLEHQ
1&. LP1&.
Q Q
6HPDSKRU " 6HPDSKRU "
M M
'DWHQYRQ 'DWHQYRQ
3/&OHVHQ ]XU3/&
¾EHUWUDJHQ
Call example
1. Read double word of position offset 4 with semaphore in byte 0 and store in MD 100:
Data type Dword (4 bytes)
Position offset 4
6HPDSKRU
CALL FC 21 (
Enable := M 10.0, // if True, FC 21
is 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 while 1, until value is read
R F10.0;
Examples of NCK programming:
Data transfer from NC to PLC, with data written via synchronized actions;
Byte 0 serves as the semaphore
ID=1 WHENEVER $A_DBB[0] == 0 DO $A_DBR[4] = $AA_IM[X] $A_DBB[0] = 1
Data transfer from PLC to NC, with data read via synchronized actions;
Byte 1 serves as the semaphore
ID=2 WHENEVER $A_DBB[1] == 1 DO $R1 = $A_DBR[12] $A_DBB[1] = 0
2. Read word of position offset 8 without semaphore and store in MW 104:
CALL FC 21 (
Enable := M 10.0, // if True, FC 21 is
active
Funct := B#16#3, //Read data
S7Var := P#M 104.0 WORD 1,
IVAR1 := 8,
IVAR2 := -1,
Error := M 10.1,
ErrCode := MW12);
Function
5: Update control signals to channel:
The purpose of function 5 is to transmit important control signals at high speed in between
cyclic data transfers. Data bytes 6 and 7 of user interfaces DB21 to DB30 are transferred to
the NC. The channel is specified in parameter "IVAR1". This enable, for example, the feed
disable, read-in disable to be transferred outside of the PLC cycle.
The following signals are relevant:
Description of Functions
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 be called only in conjunction with tool management or after a DB 74 data
block has been set up as described below in the example. In this example there are two
magazines. The first magazine has 10 locations and the second has 12 locations. When
adapting to the real machine, you only need to change the data AnzMag, MagNo[.].
DATA_BLOCK DB 74
STRUCT
P: ARRAY[1 to 9] of DINT
w1: WORD ;
AnzMag: BYTE ;
res:BYTE;
MagNo: array [1 to 16] of struct //Byte 40
AnzPlatz:INT;
res1:BYTE;
res2:BYTE;
end_struct;
end_struct
BEGIN
P[4]:=L#320; //Absolutely essential
AnzMag:=b#16#2; //Total number of magazines = 2
MagNo[1].AnzPlatz:=10; //Number of locations for magazine 1 =
10
MagNo[2].AnzPlatz:=12; //Number of locations for magazine 2 =
12
END_DATA_BLOCK
Note
For further details on tool management (also with regard to PLC) refer to the Description of
Functions, 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).
Call example
Description of Functions
With FC MCP_IFM2 (M variant slim operator panel), 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), FC 27 transmits handwheel selections, modes and other
operation signals from the operator panel or MMC to the NCK/PLC interface in such a way
as to allow the modes to be selected from the machine control panel or the operator panel.
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). "MMCToIF" can also be
activated/deactivated in the cyclical 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:
• 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 in addition to interface byte "Rapid traverse"
override (DBB 5) to the NC channel if MMC signal "Feed override for rapid traverse
effective" is set (exception: Switch setting "Zero"). "Rapid traverse override effective"
is also set with this MMC 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 geoaxis interface of the
parameterized channel.
– When the system is switched between MCS and WCS, the active axes are generally
deselected.
The handwheel selection signals of the MMC are decoded and activated in the associated
(machine) axis interface or geo axis interface of the relevant handwheel (only if FB 1
parameter "HWheelMMC := TRUE").
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 are permitted within the PLC cycle from SW 4 and
higher. In this case, the first call in the cycle drives the LED displays. Moreover, all actions of
the parameterized block are performed 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.
With SW 5 and higher, the INC selections of the override switch are only transferred to the
mode group interface. This results in runtime improvements. The activation for this command
is performed by this block once after powerup via DB10.DBX 57.0. 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 of two MCPs is still
provided within certain restrictions in the control panel blocks (the standard software does
not support axis numbers 10 to 31, mutual interlocking of axis with two MCPs).
Call example
Description of Functions
With FC MCP_IFT (T variants), the following are transferred from the machine control panel
(MCP) to the corresponding signals of the NCK/PLC interface:
• Mode groups
• Direction keys of four axes
• WCS/MCS switchover commands
• Overrides
• Key switch
In the basic program (FC 2), FC 27 transmits handwheel selections, modes and other
operation signals from the operator panel or MMC to the NCK/PLC interface in such a way
as to allow the modes to be selected from the machine control panel or the operator panel.
Transmission of MMC signals to the interface can be deactivated by setting the value
"FALSE" in the parameter in FB 1 (DB 7) "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:
• 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 in addition to interface byte "Rapid traverse"
override (DBB 5) to the NC channel if MMC signal "Feed override for rapid traverse
effective" is set (exception: Switch setting "Zero"). "Rapid traverse override effective"
is also set with this MMC 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 geoaxis 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).
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.
In the case of machine control panel failure, the signals it supplies are set to zero.
With SW V4 and higher, multiple calls of FC 25 or FC 19 are permitted within the same 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.
With SW 5 and higher, the INC selections of the override switch are only transferred to the
BAG group. This results in runtime improvements. The activation for this command is
performed by this block once after powerup via DB10.DBX 57.0. Machine control panels can
still be handled in parallel by this module. Support for of two MCPs is still provided within
certain restrictions in the control panel blocks (the standard software does not support axis
numbers 10 to 31, mutual interlocking of axis with two MCPs).
To afford this flexibility, tables for axis numbers are stored in DB 10. The table starts from
byte 8 (symbolic name: MCP1AxisTbl[1..22]) for the first machine control panel (MCP) and
from byte 32 (symbolic name: MCP2AxisTbl[1..22]) for the second MCP. The machine axis
numbers must be entered byte by byte here.
It is permissible to enter a value of 0 in the axis table. Checks are not made to find
impermissible axis numbers, meaning that false entries can lead to a PLC Stop.
For FC 19, the maximum possible number of axis selections can also be restricted. This limit
is set for the appropriate MCP in DB10.DBW30 (symbolic name: MCP1MaxAxis) or
DB10.DBW54 (symbolic name: MCP2MaxAxis). The default setting is 0, corresponding to
the maximum number of configured axes. The axis numbers and the limit can also be
adapted dynamically. Afterwards, a new axis must be selected on FC 19.
Axis numbers may not be switched over while the axes are traversing the relevant direction
keys.
The compatibility mode is preset with axis numbers 1 to 9 for both MCPs and the restriction
for the configured number of axes.
Call example
//signals to interface
BAGNo := B#16#1, //Mode group no. 1
ChanNo := B#16#1, //Channel no. 1
SpindleIFNo := B#16#4, //Spindle interface
//number = 4
FeedHold := m22.0, //Feed stop signal
//modal
SpindleHold := db2.dbx151.0); //Spindle stop modal in
//message DB
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 to 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.
Description of Functions
With FC HPU_MCP (machine control panel signals of the hand-held programming device),
the following are transferred from the machine control panel (MCP) to the corresponding
signals of the NCK/PLC interface:
• Mode groups
• WCS/MCS switchover
• Traversing keys
• Override
In the basic program (FC 2), FC 27 transmits handwheel selections, modes and other
operation signals from the operator panel or MMC to the NCK/PLC interface in such a way
as to allow the modes to be selected from the machine control panel or the operator panel.
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:
• 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 in addition to interface byte "Rapid traverse"
override (DBB 5) to the NC channel if MMC signal "Feed override for rapid traverse
effective" is set (exception: Switch setting "Zero"). "Rapid traverse override effective"
is also set with this MMC 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 (for 6 axes).
– When the WCS is selected, the signals of the first three axes are transferred to the
Geo axis interface of the parameterized channel. The remaining three axes are
transferred to the interface of the selected machine axis.
The handwheel selection signals of the MMC are decoded and activated in the associated
(machine) axis interface or geo axis interface of the relevant handwheel (only if FB 1
parameter "HWheelMMC := 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.
In the case of a failure of the MCP, the signals it supplies are set to zero.
With SW V4 and higher, multiple calls of FC 19 or FC 25 are permitted within the same PLC
cycle. In this case, the first call in the cycle drives the LED displays. Moreover, all actions of
the parameterized block are performed 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.
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.
With SW 5 and higher, the INC selections of the override switch are only transferred to the
BAG group. This results in runtime improvements. The activation for this command is
performed by this block once after powerup via DB10.DBX 57.0. 2 MCPs 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 of two MCPs is still provided within
certain restrictions in the control panel blocks (the standard software does not support axis
numbers 10 to 31, mutual interlocking of axis with two MCPs).
Source: Destination:
MCP button Interface DB (Parameter ChanNo)
INC 1 ... 10 000, INC Var. DB21, ... DBB13, Bit 0 to 5
INC 1 ... 10 000, INC Var. DB21, ... DBB17, Bit 0 to 5
INC 1 ... 10 000, INC Var. DB21, ... DBB21, Bit 0 to 5
Source: Destination:
MCP button Interface DB (6 axis DBs)
INC 1 ... 10 000, INC Var. DB31, ... DBB5, Bit 0 to 5
(up to SW 4)
Source: Destination:
MCP button 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 button Interface DB (6 assigned axis DBs)
Direction key + DB31, ... DBX4.7
Direction key - DB31, ... DBX4.6
Rapid traverse override DB31, ... DBX4.5
Override
Source: Destination:
MCP setting Interface DB (Parameter ChanNo)
Feedrate override DB21, ... DBB4
Source: Destination:
MCP setting Interface DB (6 assigned axis DBs)
Feedrate override DB31, ... DBB0
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
Call example
Task
Machine control panel to application interface
(FC 19 M variant, FC 24 slim variant, FC 25 T variant, FC 26 HPU/HT6 variant)
Associated blocks
DB 7 (this was DB 5, up to SW 3), mode group number, channels, axes
Resources used
None.
General
Blocks FC 19 (M version), FC 24 (slim-line version), FC 25 (T version) and FC 26 (HPU/HT6
version) transfer 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. "ChanNo"
selects the channel to be processed. The "SpindleIFNo" parameter defines the axis interface
of the spindle. The spindle override is transferred to this spindle interface. The parameters
are checked for errors. 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.
Block Descriptions
All four blocks have a similar structure. The blocks are organized into separate sections for
individual subtasks.
In the input network, various parameters are copied into 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 startup.
The MCS/WCS switchover with edge evaluation, axis selections, direction keys and rapid
traverse overlay are determined in Network Global_in for further processing in the block.
Userspecific modifications should be made to this Section of the program. The userspecific
modifications will usually mainly involve axis selections.
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. If
the mode group number is 0, this network is not processed. If the number is too large,
message 401901 or 402501 is output and the control switches to Stop mode.
In the channel network, INCREMENT selections of the geo axes are transferred to the
interface of all geo axes dynamically by the pushbutton switches (up to SW 4). The NC Start,
Stop, Reset and SingleBlock 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.
If the number is too large, message 401902 or 402502 is output and the control switches to
Stop mode.
The spindle network transfers the spindle override into the interface configured via
SpindleIFNo.
The axis network transfers the feedrate override to the selected axis interface. The direction
keys are assigned to the selected axis/spindle. If an axis was selected previously, the
direction information is set to 0. The INC checkback of the selected axis is displayed.
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.
General
The NCK/PLC, MMC/PLC and MCP/PLC interface signals are contained in the Lists
document
References:
/LIS/Lists
for SINUMERIK 840D, with references to the
Description of Functions in which the signals are described.
The NCK signals, which are evaluated and prepared by the basic program and transferred to
the user interface, are listed in the following sections.
General
The M functions programmed in the part program, ASUB or synchronized actions are
channel specifically transferred from the NC to the PLC:
Note
The spindle-specific M functions below are not decoded: M3, M4, M5, and M70.
Note
The M02/M30 auxiliary function output to the PLC does not state that the part program has
been terminated. In order to securely identify the end of a part program in the channel,
DB21, ... DBX33.5 (M02/M30 active)
must be evaluated. 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 parts program in this case.
2.13.3 G Functions
General
The G 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: DB21
• G functions from channel 2: DB22
• 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 in the 8 G groups specified in the machine data element:
MD22510 $NC_ GCODE_GROUPS_TO_PLC
are overwritten according to the initial setting defined via the machine data, as are the values
programmed in the part program.
G functions (values)
A full list of all G functions can be found in:
References:
/PG/Programming Guide, Basics
General
DB 2 allows the user to display the messages for individual signals on the operator panel. As
the lists of interface signals show, signals are divided into predefined groups. When a
message occurs, disappears or is acknowledged, the number entered in the message
number column is transferred to the MMC. Text can be stored in the MMC for each message
number.
References:
/IAD/Installation and Start-Up Guide; Message Numbers
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.
Channel areas in DB 2
User areas in DB 2
User areas in DB 2
2.14.1 General
General
Some useful tips on programming complex machining sequences in STEP7 are given in the
following. This information concentrates mainly on the handling of data type POINTER and
ANY. Detailed information about the structure of data types POINTER and ANY can be
found in Chapter "CPU register and storage of data" in STEP7 manual "Designing user
programs".
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 42; //Transfer 84 bytes
M001:
L DBW [AR1,P#0.0]; //Copy word-oriented
L DBW [AR1,P#0.0];
T DIW [AR2,P#0.0];
+AR1 P#2.0;
+AR2 P#2.0;
TAK;
LOOP M001;
2.14.3.1 General
General
The following programming examples illustrate different programming mechanisms. They
demonstrate how input/output and transit variables (VAR_INPUT, VAR_OUTPUT,
VAR_IN_OUT) are accessed by data types "POINTER" or "ANY" within an FC or FB. The
access operations are described in such a way that a part symbolic method of programming
can be used.
Description of Functions
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 crossarea 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.
Description of Functions
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 crossarea 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.
FUNCTIONBLOCK FB 99 Comment
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 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
Note
Address register AR2 is used in the block. However, this register is also used for multi-
instance DBs. For this reason, the relevant FB must not be declared as a multiinstance
DB.
2.14.4 Multiinstance DB
With version 2 and higher of STEP 7, FBs might have a multiinstance capability, i.e., they
might incorporate multiinstance DBs. The primary characteristic of multiinstance DBs is that
they can be used for various instances of FBs (see STEP 7 documentation), thus allowing
the DB data quantity to be optimized.
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
For more complex programs using pointers and address registers in FBs, which are to be
multi-instance capable, certain rules specified by the programmer must be complied with.
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 multiinstance 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. It is best to save the AR2 register of the
instance in a local variable (VAR_TEMP).
The 'load pointer to an instance variable' command returns a pointer value at the start of the
instance data. To be able to access this variable via a pointer, the offset stored in AR2 must
be added.
Example
FUNCTION_BLOCK FB 99 Comment
VAR_INPUT
varin: INT ;
END_VAR
VAR
variable1: ARRAY[0 to 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. If cross-area
processing is to take place, then an area should be skipped
when these two pointers are added.
AD DW#16#00FF_FFFF, //Skipping of an area
LAR1 //Load into AR1
TAR2;
+AR1 AR2; //AR2 instance offset to be added
//The ARRAY of variable1 can now be accessed indirectly via
AR1.
L DIW [AR1, P#0.0]; //E.g., access to first element
END_FUNCTION_BLOCK
2.14.5 Strings
General
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 STRING
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 STEP7 compiler stores the maximum possible number of characters
in the 1st byte. The 2nd byte contains the number of characters actually used. Normally, the
useful length of the assigned string is stored in byte 2 by the 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.
General
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.
M R
M decoding acc. to list, 2-50
Read/Write NC variables, 2-48
MAXNUM_USER_DATA_FLOAT, 5-1
MAXNUM_USER_DATA_HEX, 5-1
MAXNUM_USER_DATA_INT, 5-1
MD14504, 2-54
S
MD14506, 2-54 Signals
MD14508, 2-54 PLC/axes, spindles, 2-32
MD35400, 2-185 PLC/mode group, 2-30
memory requirements of basic PLC program PLC/Mode group, 2-30
Maximum, 2-71 PLC/NC, 2-28
Minimum, 2-70 PLC/NCK channels, 2-31
Memory requirements of basic PLC program, 2-68 Startup and synchronization of NCK PLC, 2-42
Message signals in DB2, 2-222 Symbolic programming of user program with
MM_NUM_VDIVAR_ELEMENTS, 5-1 interface DB, 2-48
Mode group, 2-43
U
N Useful Tips on Programming with STEP 7, 2-224
NC failure, 2-45 Useful tips on programming with Step7
NC VAR selector, 2-74 ANY and POINTER, 2-225
Startup, installation, 2-85 Multiinstance DB, 2-228
NC variables, 2-80 POINTER or ANY variable, 2-227
Strings, 2-229
Use of ANY and POINTER in FB, 2-226
P Use of ANY and POINTER in FC, 2-225
USER_DATA_FLOAT[n], 5-1
PI services
USER_DATA_HEX[n], 5-1
Overview, 2-112
USER_DATA_INT[n], 5-1
PLC CPUs, properties, 2-22
Detailed description 2
Supplementary conditions 3
SINUMERIK 840D/840Di/810D
Examples 4
Reference point approach (R1) 5
Data lists
Function Manual
10/04
6FC5 297-7AC20-0BP1
Safety Guidelines
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 to property damage only 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.
Prescribed Usage
Note the following:
Warning
This device may only be used for the applications described in the catalog or the technical description and only in
connection with devices or components from other manufacturers which have been approved or recommended
by Siemens. Correct, reliable operation of the product requires proper transport, storage, positioning and
assembly as well as careful operation and maintenance.
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.
Siemens AG
Automation and Drives Siemens AG 2005
Postfach 4848, 90327 Nuremberg, Germany Technical data subject to change
Functionality
The function: "Reference Point Approach" 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 approaching the reference point, the measuring system of the machine axis is not set
to zero but to the corresponding reference point value.
Measuring systems
• Incremental rotary measuring system with at least one zero mark
• Incremental linear measuring system
• Rotary measuring system with distancecoded reference marks (supplied by Heidenhain)
• Linear measuring system with distancecoded reference marks (supplied by Heidenhain)
• Absolute rotary measuring system
• Absolute linear measuring system
Referencing methods
• Referencing with incremental measuring systems with BERO and one-edge and two-
edge detection
• Referencing with incremental measuring systems with replacement of homing cam with
BERO
• Referencing with incremental measuring systems with BERO with configured approach
velocity for spindle applications
Homing
Reference point approach of a machine axis can be started by:
• Operating modes JOG and MDA, machine function REF: Manually
• Part program: Part program command G74
Measuring systems
• Incremental rotary measuring system with at least one zero mark
• Incremental linear measuring system
• Rotary measuring system with distancecoded reference marks (supplied by Heidenhain)
• Linear measuring system with distancecoded reference marks (supplied by Heidenhain)
• Absolute rotary measuring system
• Absolute linear measuring system
Referencing methods
• Referencing with incremental measuring systems with BERO and one-edge and two-
edge detection
• Referencing with incremental measuring systems with replacement of homing cam with
BERO
• Referencing with incremental measuring systems with BERO with configured approach
velocity for spindle applications
• Referencing with measuring systems with distancecoded reference marks through
traversal of 2 or 4 zero marks
• Referencing of passive measuring systems using measuring system compensation
• Referencing in followup mode
• Referencing with cam switch at the drive
Key statement
In axis-specific reference point approach, reference point approach must be triggered
separately for each machine axis that is to be referenced.
Direction enable
To avoid operator errors, direction enable must be parameterized. Direction enable specifies
which traversing key starts reference point approach:
MD34010: $MA_REFP_CAM_DIR_IS_MINUS (approach reference point in minus direction)
Jog mode
The following machine data item is parameterized to specify whether reference point
approach is completed when the direction key is pressed once or whether the operator is
required keep the direction key pressed for safety reasons (jog):
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.
Referencing status
When reference point approach is started, the referencing status of the machine axis is
reset:
DB31, ... DBB60.4 (referenced / synchronized 1)
DB31, ... DBB60.5 (referenced / synchronized 2)
DB21, ... DBB36.2 (all axes with obligatory reference point are referenced)
Sequence
The order in which machine axes are to be referenced must be defined by the machine
operator or machine manufacturer in the PLC user program.
• Machine operator
The machine axes must be started by the machine operator in the specified order.
• Machine manufacturer
The machine axes can only be started in the order specified in the PLC user program.
Referencing status
All machine axes that have not yet successfully completed reference point approach when
the action is aborted remain in status: "not referenced":
DB31, ... DBB60.4 (referenced / synchronized 1)
Key statement
In channel-specific reference point approach, all machine axes of the channel are referenced
in the parameterized sequence when reference point appraoch is initiated.
Number Meaning
-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 Number of the sequence in channel-specific reference point approach
The machine axes are referenced in ascending order of numbers.
Machine axes with the same number are referenced simultaneously.
Referencing status
When reference point approach is started, the referencing status of the machine axis is
reset:
DB31, ... DBB60.4 (referenced / synchronized 1)
DB31, ... DBB60.5 (referenced / synchronized 2)
Referencing status
All machine axes for which reference point approach has not yet been successfully
completed when the action is aborted remain in status: "not referenced":
DB31, ... DBB60.4 (referenced / synchronized 1)
DB31, ... DBB60.5 (referenced / synchronized 2)
Key statement
Referencing of machine axes can be activated for the first time or repeated from the part
program Referencing must be repeated, for example, after:
• converting the actual value of the machine axis: PRESETON function:
• Parking of the machine axis:
DB 31, ... DBB1.5 (position measuring system 1) = 0
DB 31, ... DBB1.6 (position measuring system 2) = 0
• DB 31, ... DBB2.1 (servo enable) = 0
Programming
Syntax
G74 Machine axis { Machine axis }
Function
Machine axes can be referenced from a part program with part program instruction G74
Parameter: Machine axis
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.
Activation
G74 is non modal.
Reset response
Mode group RESET
DB11, ... DBX0.7 (mode group reset)
or channel RESET
DB21, ... DBB7.7 (reset)
aborts reference point approach for all programmed machine axes.
Referencing status
All machine axes for which reference point approach has not yet been successfully
completed when the action is aborted remain in status: "not referenced":
DB31, ... DBB60.4 (referenced / synchronized 1)
DB31, ... DBB60.5 (referenced / synchronized 2)
,65HIHUHQFHSRLQWDSSURDFKGHOD\
'%'%;
,67UDYHUVHFRPPDQGSOXV
'%'%;
,67UDYHUVHFRPPDQGPLQXV
'%'%;
,67UDYHONH\SOXVPLQXV
'%'%;DQG
,65HIHUHQFHGV\QFKURQL]HG
'%'%;DQG
=HURPDUNSRVLWLRQPHDVXULQJV\VWHP
9HORFLW\
0'5()3B9(/2B6($5&+B&$0
5HIHUHQFHSRLQWDSSURDFKYHORFLW\
0'5()3B9(/2B326
5HIHUHQFHSRLQWSRVLWLRQLQJYHORFLW\
0'5()3B9(/2B6($5&+B0$5.(5
5HIHUHQFHSRLQWFUHHSYHORFLW\
W
Figure 2-1 Time sequence when referencing with incremental measuring systems (example)
,65HIHUHQFHSRLQWDSSURDFKGHOD\
'%'%;
,67UDYHUVHFRPPDQGSOXV
'%'%;
,67UDYHUVHFRPPDQGPLQXV
'%'%;
,67UDYHONH\SOXVPLQXV
'%'%;DQG
,65HIHUHQFHGV\QFKURQL]HG
'%'%;DQG
=HURPDUNSRVLWLRQPHDVXULQJV\VWHP
9HORFLW\
0'5()3B9(/2B6($5&+B&$0
5HIHUHQFHSRLQWDSSURDFKYHORFLW\
0'5()3B9(/2B6($5&+B0$5.(5
5HIHUHQFHSRLQWFUHHSYHORFLW\
0'5()3B9(/2B326
5HIHUHQFHSRLQWSRVLWLRQLQJYHORFLW\
W
3KDVH
Phase 1: Start
To start reference point approach see chapter above:
• Axisspecific referencing
• Channelspecific 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
0'5()3B0$;B&$0B',67
9HORFLW\ 0D[LPXPGLVWDQFHWRUHIHUHQFHFDP
0LQLPXPGLVWDQFH
0'5()3B9(/2B6($5&+B&$0
5HIHUHQFHSRLQWDSSURDFKYHORFLW\
'LVWDQFH
,QLWLDOSRVLWLRQ =HURPDUN 5HIHUHQFHSRLQW
RIWKHD[LV FDPV
Phase 1: Features
• Feed override active.
• Feed stop (channelspecific and axisspecific) is active.
• NC-STOP and NC-START are active.
• If in phase 1 within the parameterized path:
MD34030: (maximum distance to reference cam)
does not reach the reference cam:
DB31, ... DBX12.7 (reference point approach delay) = 1
the machine axis is stopped.
,65HIHUHQFHSRLQWDSSURDFKGHOD\
'%'%;
,67UDYHUVHFRPPDQGSOXV
'%'%;
,67UDYHUVHFRPPDQGPLQXV
'%'%;
,67UDYHONH\SOXVPLQXV
'%'%;DQG
,65HIHUHQFHGV\QFKURQL]HG
'%'%;DQG
=HURPDUNSRVLWLRQPHDVXULQJV\VWHP
9HORFLW\
0'5()3B9(/2B6($5&+B&$0
5HIHUHQFHSRLQWDSSURDFKYHORFLW\
0'5()3B9(/2B326
5HIHUHQFHSRLQWSRVLWLRQLQJYHORFLW\
0'5()3B9(/2B6($5&+B0$5.(5
5HIHUHQFHSRLQWFUHHSYHORFLW\
3KDVH
Phase 2: Start
Phase 2 is automatically started when phase 1 has been completed without an alarm.
Initial situation
The machine axis is now positioned on the reference cam
Phase 2: Sequence
In phase 2, depending on the parameterized synchronization type:
MD34050: $MA_REFP_SEARCH_MARKER_REVERSE (direction reversal to reference
cam)
Note
If the actual velocity of the machine axis during approach to the reference cam does not
reach the setpoint velocity of phase 2 within the parameterized tolerance limits,
MD35150: $MA_SPIND_DES_VELO_TOL (spindle speed tolerance)
phase 1 is restarted. This will be the case, for example, if the machine axes are
positioned at the reference cam when reference point approach starts.
9HORFLW\
0'5()3B0$;B0$5.(5B',67
0D[LPXPGLVWDQFHWRUHIHUHQFHFDP
0'5()3B9(/2B6($5&+B&$0
5HIHUHQFHSRLQWDSSURDFKYHORFLW\
0'5()3B9(/2B6($5&+B0$5.(5
5HIHUHQFHSRLQWFUHHSYHORFLW\
'LVWDQFH
,QLWLDOSRVLWLRQ 5HIHUHQFH
RIWKHD[LV =HURPDUN SRLQW
FDPV
'HOD\
5HIHUHQFH
SRLQWDSSURDFK
9HORFLW\
0'5()3B0$;B0$5.(5B',67
0D[LPXPGLVWDQFHWRUHIHUHQFHFDP
0'5()3B9(/2B6($5&+B&$0
5HIHUHQFHSRLQWDSSURDFKYHORFLW\
0'5()3B9(/2B6($5&+B0$5.(5
5HIHUHQFHSRLQWFUHHSYHORFLW\
'LVWDQFH
,QLWLDOSRVLWLRQ 'HOD\
RIWKHD[LV 5HIHUHQFHSRLQW
DSSURDFK =HURPDUN
Prerequisite
The reference cam offset only affects machine axes for which a reference cam has been
parameterized:
MD34000: $MA_REFP_CAM_IS_ACTIVE (axis with reference point cam) = 1
7KHUPDOH[SDQVLRQ
&DPVLJQDO
=HURPDUNVHDUFK
=HURPDUN
&DPVLJQDO
ZLWK
2IIVHW
5()3B&$0B6+,)7
Dynamic response
The following factors will influence the dynamic response between arrival at the reference
cam on the machine to detecting the reference cam signal transmitted by the PLC user
program to the NC:
• Switching accuracy of the reference cam switch
• Delay of the reference cam switch (NC contact)
• Delay at the PLC input
• PLC cycle time
• Cycle time for updating the VDI interface
• Interpolation cycle
• Position control cycle
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:
Warning
If the reference cam is not aligned correctly or precisely, an incorrect zero mark may
result. 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.
Internally, feedrate override = 100% is applied; at a prescribed feedrate offset of 0% the
action is aborted.
• The feed stop (channelspecific and axisspecific) is active.
• NC-STOP and NC-START are not active.
• If in phase 2 within the parameterized path:
MD34060: $MA_REFP_MAX_ MARKER_DIST (max. path of travel to reference mark)
the machine axis does not reach the reference mark (encoder zero mark), the machine
axis is stopped.
,65HIHUHQFHSRLQWDSSURDFKGHOD\
'%'%;
,67UDYHUVHFRPPDQGSOXV
'%'%;
,67UDYHUVHFRPPDQGPLQXV
'%'%;
,67UDYHONH\SOXVPLQXV
'%'%;DQG
,65HIHUHQFHGV\QFKURQL]HG
'%'%;DQG
=HURPDUNSRVLWLRQPHDVXULQJV\VWHP
9HORFLW\
0'5()3B9(/2B6($5&+B&$0
5HIHUHQFHSRLQWDSSURDFKYHORFLW\
0'5()3B9(/2B326
5HIHUHQFHSRLQWSRVLWLRQLQJYHORFLW\
0'5()3B9(/2B6($5&+B0$5.(5
5HIHUHQFHSRLQWFUHHSYHORFLW\
3KDVH
Phase 3: Start
At the end of phase 2 the machine axis travels at reference point creep velocity. As soon as
phase 2 is completed successfully without an alarm phase 3 is started without stopping.
Initial situation
The encoder zero mark has been detected.
Phase 3: Sequence
The machine axis traverses at the parameterized 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)
9HORFLW\ 0'5()3B6(7B326>RU@
0'5()3B029B',675()3B029(B',67B&255
0'5()3B9(/2B6($5&+B&$0
5HIHUHQFHSRLQWDSSURDFKYHORFLW\
0'5()3B9(/2B6($5&+B0$5.(5
5HIHUHQFHSRLQWFUHHSYHORFLW\
'LVWDQFH
5HIHUHQFH
=HURPDUN 'HOD\ SRLQW
5HIHUHQFH FDPV
SRLQWDSSURDFK
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.
Reference position of machine axis = MD34100: $MA_ REFP_SET_POS[ n ] (reference point
value [ n ])
The reference point value is specified by the PLC user program with:
DB31, ... DBX2.4 / .5 / .6 / .7 (reference point value 1 / 2 / 3 / 4)
The reference point value taken from the NC is the one that was selected by the PLC user
program when the reference cam was reached in phase 1:
DB31, ... DBX12.7 (reference point approach delay) = 1
The machine axis is now referenced. To identify this, the NC sets an interface signal for the
measuring system that is currently active:
DB31, ... DBB60.4 / .5 (referenced/synchronized 1 / 2) = 1
Features of phase 3
• Feed override active.
• The feed stop (channelspecific and axisspecific) is active.
• NC-STOP and NC-START are active
is smaller than the deceleration distance derived from the reference point positioning
velocity:
MD34070: $MA_REFP_VELO_POS (reference point positioning velocity)
required to stop at the reference point, the machine axis first stops "behind" the reference
point and then returns to it.
([DPSOH0'5()3B029(B',675()3B6(7B326B&255 =(52
0'5()3B6(7B326>RU@
9HORFLW\ UHIHUHQFHSRLQWYDOXH
0'5()3B9(/2B6($5&+B&$0
5HIHUHQFHSRLQWDSSURDFKYHORFLW\
0'5()3B9(/2B6($5&+B0$5.(5
5HIHUHQFHSRLQWFUHHSYHORFLW\
'LVWDQFH
=HURPDUN 5HIHUHQFH
'HOD\ SRLQW
5HIHUHQFH FDPV
SRLQWDSSURDFK
Figure 2-10 Reference point distance plus reference point offset smaller than braking distance
Automatic referencing
Buffering the actual value makes "automatic referencing" possible, so that even machine
axes with incremental measuring systems no longer have to reapproach the reference point
after having been in the "not referenced" state, e.g.:
• POWER OFF/ON
• "parking" selected
DB31, ... DBB1.5 / .6 (position measuring system 1 / 2) = 0
DB31, ... DBB2.1 (servo enable) = 0
to reference the measuring system.
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.
Warning
The machine axis must not be moved mechanically while the measuring system (encoder) of
the machine axis is switched off (POWER OFF, axis "parked" etc.). 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.
Note
The axis-specific interface signal:
DB31, ... DBB60.7 (position reached with exact stop fine)
is evaluated when the actual value is buffered. The actual values of machine axes that do
not use the signal cannot be buffered.
Functional sequence
Two different cases apply for automatic referencing, which depend on the encoder status:
5HIHUHQFHPDUN
',$'85JODVVVFDOHZLWKGLVWDQFHFRGHGUHIHUHQFHPDUNV
'LPHQVLRQVLQPPIRUPPVFDOHGLYLVLRQ
Warning
After calculation of the absolute offset and entry in:
MD34090: $MA_REFP _MOVE_DIST_CORR
reference point approach must be repeated for the machine axis.
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 (referencing mode) = 8
Advantage: Plausibility check by NC possible; increases the safety of the referencing
result
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
,65HIHUHQFHSRLQWDSSURDFKGHOD\
'%'%;
,67UDYHUVHFRPPDQGPLQXV
'%'%;
,67UDYHONH\SOXVPLQXV
'%'%;DQG
,65HIHUHQFHGV\QFKURQL]HG
'%'%;DQG
5HIHUHQFHPDUNVOLQHDUPHDVXULQJV\VWHP
9HORFLW\
0'5()3B9(/2B326
5HIHUHQFHSRLQWSRVLWLRQLQJYHORFLW\
0'5()3B9(/2B6($5&+B0$5.(5
5HIHUHQFHSRLQWFUHHSYHORFLW\
W
3KDVH 3KDVH
Phase 1: Start
To start reference point approach see chapter above:
• Axisspecific referencing
• Channelspecific 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
a part program (G74) before the traversing range limit of a machine axis.
Phase 1:
Abort criterion
If the parameterized number of reference marks is not detected within the parameterized
path:
MD34060: $MA_REFP_MAX_ MARKER_DIST (max. path of travel to reference mark)
the machine axis is stopped and reference point approach is aborted.
Features of phase 1
• After phase 1 is successfully completed, the actual value system of the machine axis is
synchronized.
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: STOP_AT_ABS_MARKER = mode
• mode = 0: Travel to target position
• mode = 1: No travel to target position
Features of phase 2
Irrespective of whether a reference point cam is parameterized for the machine axis, phase 2
exhibits different characteristics.
Note
The reference point position is also mapped on the parameterized (fictitious) modulo range
for axis function: "Definition of reference point position of rotary, distancecoded encoder,
within the configured modulo range":
MD30455: MISC_FUNCTION_MASK (axis functions), BIT1 = 1
Calibration
Calibration 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 calibration status of an
absolute 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)
Status Meaning
0 Encoder not calibrated
1 Encoder calibration enabled
2 Encoder is calibrated
Calibration types
The following types of calibration are supported:
• Calibration by entering a reference point offset
• Calibration by entering a reference point value
Recalibration
Recalibration 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
• SRAM data loss of the NC
• Battery failure
• Function: PRESET
Warning
The status of the absolute value encoder is only automatically reset to 0 = "encoder not
calibrated" by the NC on gear change:
MD34210 $MA_ENC_REFP_STATE = 0
In all other cases, it is the sole responsibility of the NC user to indicate the uncalibrated
state of the absolute value encoder by setting the status to 0 = "encoder not calibrated"
manually and to perform calibration again.
Warning
Data backup
When the machine data of machine A are saved, encoder status:
MD34210: $MA_ENC_REFP_STATE (status of absolute encoder)
of the machine axes is also saved.
When this data block is loaded into machine B of the same type, fas part of a series start-
up or after servicing, for example, the NC automatically views the machine axes in
question as calibrated / referenced. It is therefore the special responsiblity of the machine
manufacturer / user to perform recalibration.
See the explantions on:
MD30250 $MA_ACT_POS_ABS (absolute encoder position at switch-off time)
machine is determined and passed on to the NC as the reference point offset. This should
be done as follows:
1. Establish the position of the machine axis with reference to machine zero, for example,
by measuring the position, (e.g. laser interferometer) or by traversing the machine axis to
a known position (e.g. fixed stop).
2. Establish the actual position of the machine axis displayed by the NC on the HMI user
interface.
3. Enter the reference point offset as the difference between the actual positions determined
under 1 and 2:
MD34090: $MA_REFP_MOVE_DIST_CORR (reference point offset)
4. Identify the absolute encoder as calibrated:
MD34210: $MA_ENC_REFP_STATE = 2
Notice
Encoder calibration does not become active until you next activate the encoder (e.g.
when powering up the control).
5. Initiate POWER ON reset.
6. Check the machine axis position displayed on the HMI user interface.
Note
Backlash compensation
If backlash compensation has been parameterized for a measuring system with absolute
encoder, please ensure that the machine axis approaches the machine position for which
calibration is to be performed such that no backlash occurs.
Activating reference point offset permanently
The entered reference point offset:
MD34090: $MA_REFP_MOVE_DIST_CORR
only becomes active permanently after POWER ON reset. If the machine axis is
traversed after the absolute encoder has been calibrated and without POWER ON reset,
the reference point offset entered in the machine data, for example, as part of internal
overrun offset, might be overwritten.
Checking the actual position
If you have calibrated the absolute encoder, we recommend that you verify the actual
position of the machine axis after you next power up the control (POWER ON).
Principle
When performing calibration by entering a reference point value, the position of the machine
axis is determined with reference to machine zero, for example, by measuring the position,
(e.g. with a laser interferometer) or by traversing the machine axis to a known position (e.g.
fixed stop) and made known to the NC as a reference point value. The NC then calculates
the reference point offset from the difference between the encoder absolute value and the
reference point value.
Sequence
Proceed as follows when calibrating by entering the reference point value:
1. Set the referencing mode to: "Transfer reference point value":
MD34200: $MA_ENC_REFP_MODE = 0
2. Traverse the machine axis in JOG mode to the position to be measured (e.g. with laser
inferometer) or to a known position (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. Make the position of the machine axis related to machine zero known to the NC as the
reference point value:
MD34100: REFP_SET_POS = position
4. Enable encoder calibration:
MD34210: $MA_ ENC_REFP_STATE = 1
5. Initiate NC-RESET to transfer the entered machine data values.
6. Switch to JOG-REF mode.
7. Operate the travel key used for referencing in step 2. The machine axis does not move
when the traversing key is actuated!
The NC now calculates the reference point offset from the entered reference point which
was also returned by the absolute value encoder and enters it in machine data:
MD34090: $MA_REFP_MOVE_DIST_CORR (reference point offset)
and sets the absolute encoder status to "Encoder calibrated"
MD34210: $MA_ ENC_REFP_STATE = 2
The actual value system of the machine axis is synchronized.
The machine axis is now referenced. To identify this, the NC sets an interface signal for
the measuring system that is currently active:
DB31, ... DBB60.4 / .5 (referenced/synchronized 1 / 2) = 1
8. Initiate POWER ON reset.
Note
Activating reference point offset permanently
The entered reference point offset:
MD34090: $MA_REFP_MOVE_DIST_CORR
only becomes active permanently after POWER ON reset. If the machine axis is
traversed after the absolute encoder has been calibrated and without POWER ON reset,
the reference point offset entered in the machine data, for example, as part of internal
overrun offset, might be overwritten.
Checking the actual position
If you have calibrated the absolute encoder, we recommend that you verify the actual
position of the machine axis after you next power up the control (POWER ON).
Principle
In automatic calibration with a probe, a known position in the machine is approached by 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 calibration
The part program for automatic calibration using a probe must be written by the machine
manufacturer / user for the specific requirements of the machine.
Collision-free movement
As no actual-value-related monitoring is active for the machine axes being referenced, the
machine operator must ensure that collisions do not occur while the machine axes are being
traversed!
Part program
The part program for automatic calibration of absolute encoders with probe must perform the
points listed below for each axis in this order:
1. Approach calibration 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
Sequence
Proceed as follows when automatically calibrating with probe:
1. Enable part program start even for unreferenced machine axes:
MD20700: $MC_REFP_NC_START_LOCK = 0
2. Enter the machine axis position with reference to machine zero when probe is switched
as the reference point for all relevent machine axes:
MD34100: $MA_REFP_SET_POS = reference point value
3. Initiate NC-RESET to transfer the entered machine data values.
4. Start part program.
5. Disable part program start again for unreferenced machine axes:
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 enabled:
MD34090: $MA_REFP_MOVE_DIST_CORR (reference point offset)
Note
Activating reference point offset permanently
The entered reference point offset:
MD34090: $MA_REFP_MOVE_DIST_CORR
only becomes active permanently after POWER ON reset. If the machine axis is
traversed after the absolute encoder has been calibrated and without POWER ON reset,
the reference point offset entered in the machine data, for example, as part of internal
overrun offset, might be overwritten.
Checking the actual position
If you have calibrated the absolute encoder, we recommend that you verify the actual
position of the machine axis after you next power up the control (POWER ON).
Principle
When calibrating with a BERO, reference point approach to a defined machine position is 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.
Sequence
Proceed as follows when calibrating with BERO:
1. Set the referencing mode to: "Referencing with BERO":
MD34200: $MA_ENC_REFP_MODE = 2
2. Parameterize reference point value:
MD34100: $MA_REFP_SET_POS = reference point value
3. Start reference point approach.
Reference point approach can be started in JOG-REF mode manually or in AUTOMATIC
or MDA modes 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 / .5 (referenced/synchronized 1 / 2) = 1
Note
If the BERO is removed after calibration of the absolute encoder, the referencing mode
must be parameterized to "Referencing with absolute encoder".
MD34200: $MA_ENC_REFP_MODE = 0
Note
A requirement for correct compensation of the signal propagation delay are SIMODRIVE
611-D drives. The assignments made in the factory for the compensation times do not
usually have to be changed.
Creep velocity
If travel to the BERO is to be performed at the parameterized reference point creep velocity:
MD34040: $MA_REFP_VELO_SEARCH_MARKER (reference point creep velocity)
"BERO with configured approach speed for spindles" must be parameterized as the
reference mode.
MD34200: $MA_ENC_REFP_MODE = 7
Value Meaning
FALSE Travel motion is enabled
When reference point approach is triggered, the machine axis traverses to the reference
point position. Reference point approach is completed when the reference point position
is reached.
TRUE Travel motion is not enabled
When reference point approach is triggered, the machine axis does not traverse and
reference point approach is brought to an end immediately.
Functionality
Automatic encoder replacement detection is required for absolute encoders to ascertain
whether the encoder has been replaced and therefore needs to be re-calibrated. 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
and the status of the measuring system as displayed as "not referenced":
DB31, ... DBB60.4 / .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 re-calibration
In some special cases, for example, when a machine axis is removed and then mounted
again (built-on rotary axes), re-calibration will not be necessary / required. To avoid re-
calibration, 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 = FALSE
If zero is now read by the NC as the serial number, the encoder status is not reset and the
serial number displayed 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 control is later powered up, the serial number of the absolute encoder read by
the NC is: zero. Serial number "zero" is ignored and the encoder status remains the
same, that is "calibrated".
4. When the NC is powered up it again reads the serial number it read under 1 and which is
still displayed in the machine data. The encoder status is still: "calibrated".
Note
PROFIBUS drives
Because not all drives connected via PROFIBUS-DP can supply the encoder serial
number in time for power-up of the control or at all, to avoid unnecessary re-calibration,
the range of the encoder serial number for PROFIBUS drives can be defined
permanently as FALSE in the control:
MD34232: $MA_EVERY_ENC_SERIAL_NUMBER = FALSE
Manual parameterization to TRUE has no effect.
Key statement
The measuring system of a machine axis is activated in the following cases:
• Power up of the control (POWER ON)
• Switch-on of the measuring system via interface signal (deselection of "Parking")
DB31, ... DBB1.5 / .6 (position measuring system 1 / 2)
DB31, ... DBB2.1 (servo enable)
• Undershooting the parameterized encoder limit frequency (spindles)
MD36300: $MA_ENC_FREQ_LIMIT (encoder limit frequency)
When the measuring system is activated, the NC synchronizes the actual value system of
the machine axis with the current absolute value. Axis travel movements are disabled during
synchronization. Spindle travel movements are not.
• NC
Due to the internal NC evaluation procedure, the limit speed up to which error-free
calculation of the absolute value by the NC is possible is: 4 encoder revolutions per
interpolation cycle. For an interpolation cycle of, for example, 12 ms: Limit speed = 4 / 12
ms = 20000 rpm
The limit frequency corresponding to the limit speed is:
Note
The position control switch-on speed for spindles:
MD35300: $MA_SPIND_POSCTRL_VELO (position control switch-on speed)
must be set to the encoder limit frequency of the absolute encoder:
MD36300: $MA_ENC_FREQ_LIMIT (encoder limit frequency)
Functionality
When actual value adjustment to the referencing measuring system is performed, the
resulting absolute actual position after the successful referencing of the measuring system of
a machine axis is transferred directly to all other measuring systems of the machine axis
which are then marked as referenced:
DB31, ... DBB60.4 / .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
Actual value adjustment to the referencing measuring system is activated machine axis
specifically by means of:
MD34102: REFP_SYNC_ENCS = 1
Functionality
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.
Parameterization
The following machine data must be parameterized for actual value adjustment to a
referenced measuring system:
• Homing mode: Actual value adjustment to a referenced measurement system
MD34200: $MA_ENC_REFP_MODE[measuring system] = 6
• Travel path to eliminate backlash:
MD34080: $MA_REFP_MOVE_DIST[measuring system] (referencing point distance)
Note
Reference point distance greater than zero
To ensure the existing backlash can be reliably eliminated, the parameterized value for
the reference point distance must be larger than the maximum backlash of both
measuring systems.
Reference point distance equal to zero
The reference point distance can also be zero. In this case, actual value adjustment is
performed without a traversing movement as soon as reference point approach starts.
The active backlash should then be less than half the increment of the measuring system
whose actual value is taken.
Functionality
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 e.g.
absolute value encoder
2. Passive measuring system: Direct measuring system with distancecoded 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.
Parameterization
In addition to the specific machine data required to reference the individual measuring
systems, the following machine data must be set:
Sequence
1. Initial situation: Neither measuring system is 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)
Functionality
Incremental measuring systems and measuring systems with distance-coded reference
marks can be referenced even when the machine axis is in follow-up mode. A precondition
for that is correct parameterization of reference point approach according to the measuring
system used. See Section:
• Referencing with incremental measurement systems
• Referencing with distancecoded 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 by
maintaining the parameterized travel velocity during the referencing procedure is
guaranteed. During referencing in follow-up mode, responsibility for achieving reproducibility
of the referencing results lies with the machine manufacturer / user.
Enable
The function "Referencing in follow-up mode" is enabled with:
MD34104: $MA_REFP_PERMITTED_IN_FOLLOWUP = TRUE
5. The referencing operation is started in the NC as soon as part program instruction G74 is
executed.
6. External movement of machine axis across encoder zero mark or parameterized number
of distance-coded reference marks.
7. The measuring system is referenced when the encoder zero mark or parameterized
number of distance-coded reference marks are successfully detected:
DB31, ... DBX60.4 / .5 (referenced/synchronized 1 / 2) = 1
8. Block change is executed when the referencing operation is successfully completed.
%(52
*HDUV /RDG
'ULYH 0RWRU
6SLQGOH
0HDVXULQJV\VWHP
3RVLWLRQ
=HURPDUN
Zero mark evaluation with BERO must be parameterized as the referencing mode:
MD34200: $MA_ENC_REFP_MODE = 5
Supplementary conditions
• Linear axes with a travel range of > 4096 encoder revolutions, an EQN 1325 rotary
absolute encoder and a parameterized absolute encoder range of
MD34220: ENC_ABS_TURNS_MODULO = 4096:
– The maximum possible travel range corresponds to that of incremental encoders.
• Endlessly turning rotary axes with absolute encoder:
– Any number of integer transmission ratios are permitted.
– We recommend that you parameterize endlessly turning rotary axes with an absolute
encoder as modulo rotary axes (travel range 0...360 degrees).
MD34220: $MA_ENC_ABS_TURNS_MODULO
Otherwise the machine axis may require a very long travel path to reach absolute zero
when the measuring system is activated.
• Machine axes with absolute encoder
– To ensure that the NC correctly determines the current actual position when the
measuring system is switched on again, the machine manufacturer / user must ensure
that the machine axis is moved less than half the parameterized travel range when the
measuring system is switched off (POWER OFF, "parking" selected).
MD34220: $MA_ENC_ABS_TURNS_MODULO
5.2 Signals
SINUMERIK 840D/840Di/810D
Description of Functions Basic Machine
(Part 1)
Spindles (S1)
Brief Description 1
Application of The primary function of a spindle is to impart a rotary motion to a tool or
spindles workpiece, in order to facilitate machining.
Depending on the type of machine, the spindle must support the following
functions in order to achieve this:
Notes
Detailed Description 2
Maximum number The spindles can be assigned to the available channels.
of spindles
Table 2-1 Maximum number of spindles
With SW 4.4 and higher, it is possible to configure each axis existing in the
channel as a spindle. The number of axes per channel depends on the control
version.
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:
Changing the Interface signals or programming commands can be used to switch between
spindle mode the spindle modes and axis operation:
Oscillation mode
Synchronous mode
Gear unit Gear unit
changing changed COUPON COUPOF
SPOS, M19, SPOSA
Control mode SPCOF Positioning mode
M3, M4, M5
M4145
SPCOF M70
M3, M4, M5 SPOS, M19 Axis name
M4145 SPOSA
Axis mode
G332 G331
Rigid tapping
When is control The spindle is in control mode with the following functions:
mode used?
S Constant spindle speed S.... M3/M4/M5 and G93, G94, G95, G97, G971
S Constant cutting rate G96/G961 S.... M3/M4/M5
S Constant spindle speed S.... M3/M4/M5 and G33, G34, G35
S Constant spindle speed S.... M3/M4/M5 and G63
Requirements
S The spindle need not be synchronized
S A spindle position actual value encoder is not required for M3/M4/M5 in
conjunction with time reciprocal feed coding (G93), feedrate in mm/min or
inch/min (G94) and rigid tapping (G63).
Position control The spindle can be operated with or without position control:
ON/OFF
S SPCON (position control ON)
S SPCOF (position control OFF)
S The speed control mode is activated in the parts program with M3, M4, M5
or with SPCOF.
“Position Position control is particularly suitable when the position of the spindle is
controller active” required to be tracked over a longer period or when synchronous spindle
DB31, ... DBX61.5 setpoint value linkage is to be activated.
S Position control mode is activated in the parts program with SPCON (spindle
number).
(SW 5.3 and Spindle actual speed display and spindle behavior with G96,
higher) G961
S Signals “nAct = nSet” (DB31, ... DBX83.5) and “setpoint speed limited”
(DB31, ... DBX83.1) are also set to defined values even if severe speed
changes are specified (transverse axis travels toward position 0).
S If the speed falls below the minimum speed or if the signal “Axis/spindle
stationary” is recognized (DB31, ... DBX61.4), signal “nAct =nSet” (DB31, ...
DBX83.5) is reset. (e.g. for machine emergency strategy).
Spindle behavior End of gear stage change “Gear changed” (DB31, ... DBX16.3)
at the end of gear
stage change
S The IS “Gear changed” (DB31, ... DBX16.3) tells the NC that the new gear
stage (IS “Actual gear stage A to C” (DB31, ... DBX16.0-16.2)) applies and
oscillation mode is quitted. It does not matter whether IS “Oscillation speed”
(DB31, ... DBX18.5) is still set. The actual gear stage should correspond to
the set gear stage. Otherwise, alarm 22010 is signaled if MD 11410:
SUPPRESS_ALARM_MASK, Bit 3 = 0. The actual gear stage reported is
relevant for selection of the set of parameters.
S After acknowledging gear stage change (GSW) via the PLC (DB31, ...
DBX16.3) the spindle is in speed control mode (DB31, ... DBX84.7 = 1).
DBX84.7 = 1). If a direction of rotation (M3, M4, M5 or FC18: “Start spindle
rotation”), then the last speed and direction of rotation will become active
again after the gear stage change.
Scope Oscillation mode is activated for the spindle during the gear stage change. For a
detailed description of the method of operation of the spindle oscillation mode,
please refer to Subsection 2.3.4 “Gear stage change with oscillation mode”.
When is The spindle positioning mode stops the spindle at the defined position and
positioning mode activates the position control, which remains active until it is deactivated. The
used? spindle is in positioning mode with the following functions. The parameter [n]
with, where n=spindle number, is not required for the main spindle.
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 is rotating) or the distancetogo.
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 distance to be traveled.
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 is rotating) or automatically by the control
(spindle is stationary).
MD 20850 In order to achieve consistency in the response at the VDI interface for “M19”
(SW 5.3 and and SPOS or SPOSA, it can be programmed to output the auxiliary function
higher) M19 at the VDI interface with SPOS and SPOSA and MD 20850:
SPOS_TO_VDI = 1.
After activation the minimum duration of a SPOS/SPOSA block is increased to
the time for output and acknowledgment of the auxiliary function by the PLC.
M19 (DIN 66025) M19 can be used to position the spindle. The position and the position
(SW 5.3 and approach mode are read from SD 43240: M19_SPOS and
higher) SD 43250: M19_SPOSMODE. The positioning possibilities with M19 are
identical to those of SPOS = <approach mode> <position/distance>.
M19 is output as an auxiliary function at the VDI interface as an alternative to
M3, M4, M5 and M70. The M19 block remains active in the interpolator for the
duration of the positioning (like SPOS).
Parts programs using M19 as a macro (e.g. DEFINE M19 AS SPOS = 0) or as a
subroutine continue to remain executable. For the sake of compatibility to
previous controls, the internal processing of M19 (NCK positions the spindle)
can be disabled as shown in the following example:
MD 22000: AUXFU_ASSIGN_GROUP[0] = 4 ; Auxiliary function group: 4
MD 22010: AUXFU_ASSIGN_TYPE[0] = “M” ; Auxiliary function type: “M”
MD 22020: AUXFU_ASSIGN_EXTENSION[0] = 0 ; AuxFuncExtension: 0
MD 22030: AUXFU_ASSIGN_VALUE[0] = 19 ; Auxiliary function value: 19
SD 43240 and The positioning data for M19 are stored in the axis-specific setting data
SD 43250 SD 43240: M19_SPOS[n] (position) and SD 43250: M19_SPOSMODE[n]
(position approach mode).
End of positioning The positioning end can be programmed using the following commands:
(SW 5.1 and
higher)
S FINEA [Sn] End of movement on reaching
“Exact stop fine” (DB31, ... DBX60.7)
Block change Settable block change time (SW 6.2 and higher)
In addition to the existing programmable end-of-motion criterion with FINEA,
COARSEA, IPOENDA, for singleaxis interpolation a new end-of-motion criterion
can be programmed with IPOBRKA in the braking ramp (100–0%).
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 both to parts program
blocks and for technology cycle blocks.
Note
For further explanations on the settable block change time of settable
positioning axes for single axis interpolation, please refer to:
References: /FB/, P2, “Positioning axes”
SPOS, M19 and SPOSA have the same functionality, but differ in their block
change behavior:
Caution
! The part program author must ensure that one of the wait conditions for
WAITS:
– Position reached
– Spindle is stationary or
– Spindle up to programmed speed
will occur. In cases where a spindle is used in several channels, the part
programmer must ensure that WAITS starts at the earliest in the phase in which
the spindle of another channel is already in the acceleration or deceleration
phase towards the new speed or direction of rotation.
The WAITS instructions are used for coordination in the part program
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 of another channel is still turning with its “old” speed. In
this case, the “Spindle in setpoint range” signal is active and WAITS is stopped
too soon. To prevent this from happening, it is strongly recommended to set a
WAITM before WAITS.
M function output The output of the auxiliary function M19 to the VDI interface is carried out by:
(SW 5.3 and
higher)
S M[n]=19 always output to the interface
The spindle can be in speed control mode or in position control mode when
positioning is started (by the SPOS, M19 or SPOSA command in the program).
The following sequence is obtained:
Speed
(rev/min) Phase 1a (special case)
MD 36300: ENC_FREQ_LIMIT
encoder limit frequency
Phase 1b
Phase 2
MD 36302: ENC_FREQ_LIMIT_LOW
encoder limit frequency
resynchronization
Phase 3
MD 35300:
Phase 1c SPIND_POSCTRL_VELO
(Phase 4a) position control
Phase 4 activation speed
Note
The speed in MD 36302: ENC_FREQ_LOW must be greater than the position
control activation speed (MD 35300: SPIND_POSCTRL_VELO).
Note
If the position control is activated, 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
S Spindle speed > position control activation speed
When the command SPOS, M19 or SPOSA comes into effect, the spindle
starts decelerating with the position control activation speed defined in
MD 35200: GEAR_STEP_SPEEDCTL_ACCEL. When the speed drops
below the encoder limit frequency, the spindle is synchronized.
Phase 3
S Spindle speed > position control activation speed
When the position control activation speed defined in MD 35300:
SPIND_POSCTRL_VELO is reached:
– the position control is activated (if not already active),
– the distance-to-go (to destination point) is calculated,
– the acceleration defined in MD 35210:
GEAR_STEP_POSCTRL_ACCEL (acceleration in position control
mode) activated or maintained
Phase 4
S Spindle speed > position control activation speed
The spindle brakes from the calculated “braking point” with MD 35210:
GEAR_STEP_POSCTRL_ACCEL down to the destination point.
Phase 5
S Spindle speed > position control activation speed
The 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 (overstepping is possible); in position
control mode, the setpoint speed is reduced to 90% of the measurement
system limit speed. In this case, the “Programmed speed too high” interface
signal is enabled. If “MS limit frequency” exceeded is still detected after a
reduction in the setpoint speed, then an alarm is output.
Note
The positioning operation is considered completed when the end of positioning
criterion is signaled (see “Positioning end”). This requires “Exact stop fine”. This
applies to SPOS, M19 or SPOSA from the parts program, synchronized actions
and spindle positioning by the PLC using FC 18.
Positioning from A distinction is made between two cases with regard to positioning from
standstill standstill:
S 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).
Speed
(rev/min) SPOS[1]=180
2
MD 35300:
SPIND_POSCTRL_VELO
3 Position control activation
1 speed
4 Time (s)
Zero mark
Speed
(rev/min)
2
MD 35300:
SPIND_POSCTRL_VELO
1 Position control activation
3a 3
speed
4a 4 Time (s)
SPOS[1]=180
Phase 1
S Case 1: Spindle not synchronized
If SPOS, M19 or SPOSA is programmed, the spindle will accelerate with the
acceleration defined in MD 35200: GEAR_STEP_POSCTRL_ACCEL
(acceleration in position control mode). The direction of rotation is defined in
MD 35350: SPIND_POSITIONING_DIR.
Exception: If ACN, ACP, IC is used for positioning, the programmed
direction of travel is activated.
The spindle is synchronized with the next zero mark of the spindle position
actual value encoder and switches to position control mode (see also
Section 2.2). The zero mark in the path stored in MD 34060:
REFP_MAX_MARKER_DIST is monitored to make sure it is detected
(except for IC). If the speed entered in MD 35300: SPIND_POSCTRL_VELO
(positioning speed) is reached but the spindle is not yet synchronized, the
spindle continues to rotate at the positioning creep speed (the spindle is not
accelerated further).
Phase 2
S Case 1: Spindle not synchronized
When the spindle is synchronized, the position control is activated. The
spindle rotates at the speed defined in MD 35300:
SPIND_POSCTRL_VELO until it detects the braking start point, at which
point it can approach the programmed spindle position accurately with the
defined acceleration.
Phase 3 At the instant in time detected by the brake start point calculation in phase 1, the
spindle brakes down to standstill at the acceleration set in MD 35210:
GEAR_STEP_POSCTRL_ACCEL down to a standstill.
Phase 3a:
As command SPOS takes effect, the destination point is so close that the
spindle can no longer be accelerated to the value in MD 35300:
SPIND_POSCTRL_VELO. The spindle is braked down to standstill at the
acceleration set in MD 35210: GEAR_STEP_POSCTRL_ACCEL.
Phase 4, 4a The spindle is stationary and has reached the destination point. The position
control is active and holds the spindle in the programmed position. The IS
“Position reached with exact stop fine/coarse” (DB31, ... DBX60.6 and
DBX60.7) 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 (defined in MD 36010: STOP_LIMIT_FINE and
MD 36000: STOP_LIMIT_COARSE).
Phase 3:
At the instant in time detected by the brake start point calculation in phase 2, the
spindle brakes down to standstill at the acceleration set in MD 35210:
GEAR_STEP_POSCTRL_ACCEL down to a standstill.
Phase 4:
The spindle is stationary and has reached the destination point. The position
control is active and holds the spindle in the programmed position. The IS
“Position reached with exact stop fine/coarse” 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
(defined in MD 36010: STOP_LIMIT_FINE and MD 36000:
STOP_LIMIT_COARSE).
Special features
S The accelerations are defined in the following machine data:
MD 35210: GEAR_STEP_POSCTRL_ACCEL (acceleration in position
control mode)
MD 35200: GEAR_STEP_SPEEDCTRL_ACCEL (acceleration in
speedcontrol mode).
Why axis mode? For certain machining tasks (e.g. on turning machines with end face machining),
the spindle not only has to be rotated with M3, M4 and M5 and positioned with
SPOS, M19 and SPOSA, but also addressed as an axis with its own identifier
(e.g. C).
Requirements
S The same spindle motor is used for spindle mode and axis mode.
S The same position measurement system or separate position measurement
systems can be used for spindle mode and axis mode.
Configurable The M function used to switch the spindle to axis mode can be configured in
M function MD 20094: SPIND_RIGID_TAPPING_M_NR. In default condition, the value 70
(SW 5.3 and is set.
higher)
Functionality If the axis mode is active and the rotary axis referenced, all axis functions can
be used.
References: /FB/, R2, “Rotary Axes”
The most important functions are:
Special features
S The feed override switch is active.
S IS “Reset” (DB21, ... DBX7.7) does not terminate axis mode as standard.
S The interface signals DBB16 to DBB19 and DBB82 to DBB91 in
DB31, ... are of no significance if the IS “Axis/no spindle”
(DB31, ... DBX60.0) is set to zero.
S Axis mode can be activated in all gear stages. If the position actual value
encoder is installed on the motor (indirect measurement system), the
positioning and contouring accuracy can vary for the different gear stages.
S The gear stage 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.
S In axis mode, the machine data of the set of parameters with index zero are
effective in order to carry out adaptation in this mode.
For further notes of the parameter block for the interpolation parameters for axis
or spindle modes with 5 gear stages, see Section 2.3 Configurable gears.
S The relevant machine data for servo parameter set change are:
MD 31050: DRIVE_AX_RATIO_DENOM (Denominator measuring gear
unit)
MD 31060: DRIVE_AX_RATIO_NUMERA (Numerator load gear unit)
MD 32200: POSCTRL_GAIN (Servo gain factor)
MD 32452: BACKLASH_FACTOR (Evaluation factor for backlash)
MD 32610: VELO_FFW_WEIGHT (Weighting factor for feedforward control)
MD 32800: EQUIV_CURRCTRL_TIME (Equivalent current control
time for feedforward control)
MD 32810: EQUIV_SPEEDCTRL_TIME (Equivalent speed control time
constant for feedforward control)
MD 32910: DYN_MATCH_TIME (Time constant for dynamic response
matching)
MD 36012: STOP_LIMIT_FACTOR Factor for exact stop coarse/fine and
zero speed monitoring)
MD 36200: AX_VELO_LIMIT (Threshold for velocity monitoring)
S The dynamic limits of the axis stored in the machine data are applicable in
axis operation.
Change to spindle
mode
S The interpolation parameter (set 1 ... 5) is selected according to the currently
valid gear stage.
S The feedforward control function is always activated, except for tapping with
compensating chuck. This is achieved by entering the absolute offset
between the machine zero and the position of the 1st FFW_MODE
(feedforward type) must always have a value different from 0.
S The feedforward control should always be operated with the value 100%,
since alarms could otherwise be produced during positioning.
0 Valid
1 Valid
2 Valid
Depending on
3 Valid Gear stage
4 Valid
5 Valid
Fig. 2-4 Validity of parameter sets for axis and spindle modes
Machine data With the default setting of the spindle operating mode, the basic spindle setting
after POWER ON, NCSTART and RESET can be configured by means of
machine data:
MD 35020: SPIND_DEFAULT_MODE and
MD 35030: SPIND_DEFAULT_ACT_MASK.
Refer to Section 4.2 for information on setting the machine data.
MD 35030: SPIND_DEFAULT_ACT_MASK
RESET 2
NC–START 1
Power ON 0
0 1 2 3
Positioning mode
Speed mode with
Speed mode w/o
Axis mode
pos.contr.
pos.contr.
Standard setting
MD 35020: SPIND_DEFAULT_MODE
2.2 Referencing/synchronizing
Note
For explanations on spindle synchronization and rotary axis referencing, please
refer to:
References: /FB/, R1, “Reference Point Approach”
Why The control must be synchronized with the position measurement system on the
synchronize? spindle so that the control can know the exact position when switched on. This
process is known as synchronization.
Only a synchronized spindle can be used for:
S Thread cutting
S Rigid tapping
S Programming as an axis
Why The control must be synchronized with the position measurement system on the
reference? rotary axis so that the control can accurately detect the machine origin when
switched on. This process is known as referencing. The sequence of operations
required to reference an axis is known as reference point approach.
Only a referenced axis can approach a programmed position accurately on the
machine.
Synchronization When the spindle is switched on, the spindle can be synchronized as follows:
procedure
S 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.
S The spindle can be synchronized from the movement (after M3 or M4) using
SPOS, M19 or SPOSA.
The responses are as follows:
– SPOS = Pos, SPOS = DC(Pos) and SPOS = AC(Pos) retains the
direction of motion and the position is approached.
– With SPOS = ACN(Pos) or SPOS = ACP(Pos), the position is always
approached with negative or positive direction of motion. If necessary,
the direction of motion is inverted prior to positioning.
S If does not make any difference whether the procedure is initiated from the
parts program, FC 18 or synchronized actions.
S Crossing the zero mark in JOG mode by means of direction keys in speed
control mode.
Note
During synchronization of the spindle, all four possible reference point values
and reference point offsets are effective as appropriate to the measurement
system selected. The offset to the measuring system applies in the same way.
The following machine data should be considered:
MD 34080: REFP_MOVE_DIST (Reference point distance/end point for
distance-coded system)
MD 34090: REFP_MOVE_DIST_CORR (Reference point offset/absolute
offset distance-coded)
MD 34100: REFP_SET_POS (Reference point value, no meaning for
distance-coded system).
Note
If a non-referenced spindle with SPOS=IC(...) and a path < 360 degrees is
positioned, it can happen that the zero mark is not crossed and the spindle
position is still not synchronized with the zero mark.
This can happen:
S After POWER ON
S By setting the axial IS “Resynchronize spindle when positioning 2 and 1”
(DB31, ...DBX17.5 and 7.4)
Special features The position falsification caused by the BERO signal delay can be
for synchro- corrected internally in the NC by entering a signal runtime compensation value.
nization with In the machine data 31122: BERO_DELAY_TIME_PLUS or MD 31123:
BERO BERO_DELAY_TIME_MINUS together with the setting MD 34200:
ENC_REFP_MODE = 2 or 7 (from SW 4.1).
Note
Compensation of the signal runtime by the NC requires the use of type 611D
drives.
The signal run times are preset on delivery so that the contents generally do
not have to be changed.
Sequence of If the spindle is to be programmed in axis mode directly after control power up, it
referencing must be ensured that the axis is referenced. When the control is switched on,
the spindle can be synchronized as follows (condition is one zero mark per
revolution):
S The rotary axis is referenced at the same time that the spindle is
synchronized (see synchronization procedure) if the position measurement
system used for the spindle is also used for the rotary axis.
Position The spindle can be switched from spindle mode to axis mode (rotary axis) if a
measurement single motor is used for spindle and axis mode. Please refer to Section 2.1 for
system, Spindle details of how to switch the spindle between spindle and axis mode.
The spindle (spindle mode and axis mode) can be equipped with one or two
position measurement systems. With two position measurement systems, it is
possible to assign one position measurement system to the spindle and the
other to the rotary axis, or to assign two position measurement systems to the
spindle. Where two position measurement systems are provided, both are
updated by the control, but only one can be active. The active position
measurement system is selected with IS “Position control system 1 and 2”
(DB31, ... DBX1.5 and DBX1.6).
The active position measurement system is required for the following functions:
IS “Resynchronize In the following cases, the spindle position measurement system must be
spindle” DB31, ... resynchronized:
DBX16.4
S The position encoder is on the motor, a Bero proximity switch is mounted on
the spindle and a gear change is performed. The synchronization is
triggered internally when the spindle is rotating in the new gear stage (see
synchronization procedure).
S The machine has a selector switch for a vertical and horizontal spindle. Two
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 action is triggered
with IS “Resynchronize spindle 1”
(DB31, ... DBX16.4) or IS “Resynchronize spindle 2”
(DB31, ... DBX16.5). The spindle must be in control mode.
Why do we need Gear stages are used on spindles to step down the speed of revolution of the
gear stages? motor in order to generate a high torque at low spindle speeds.
Number of 5 gear stages can be configured for each spindle. If the spindle motor installed
gear stages on the spindle has a direct transmission ratio (1:1) or an invariable transmission,
MD 35010: GEAR_STEP_CHANGE_ENABLE must be set to zero. In this case,
the 1st gear stage is active. This is the default setting.
Selection between Gear stage selection between two gear stages with specification of a maximum
two gear stages spindle speed is shown in the example below:
Motor
speed
(rev/min) With automatic gear stage selection, this speed
range is not utilized in gear stage 1.
Max. motor
speed
Gear
step 1
Gear
step 2
0
Spindle speed (rev/min)
n
1max n
2max
g1max
Fig. 2-6 Gear stage change with selection between two gear stages
Parameters on On gear stage change, interpolation parameters and, with the default setting,
gear stage change also servo parameters sets of the position controller are activated according to
MD 35590: PARAMSET_CHANGE_ENABLE.
Servo parameter sets of position controller 1 to 6:
The servo parameter sets are used for fast matching of the position controller to
changed properties of the machine during operation on gear change of the
spindle.
If the spindle is operating in axis mode, the new gear stage is stored internally
and parameter set index “0” remains active in the servo. The new gear stage is
activated when the spindle is next programmed.
Note
For further information about closed-loop control and the servo parameter set,
please see
References: /FB/, G2 “Velocities, Setpoint/Actual Value Systems,
ClosedLoop Control”
/PGA/, Chapter 5 “Programmable Servo Parameter Set”
Changing The gear stage will also switch over the set of servo parameters if the machine
parameter sets and data MD 35590: PARAMSET_CHANGE_ENABLE = 0 or = 1. With
formatting
S 0: parameter set changes cannot be controlled.
S 1: the servo parameter set is defined primarily by internal
NC switchover at the VDI interface.
The following settings apply when the parameter set change cannot be
controlled:
For axes, the 1st parameter set with index 0 is active.
For spindles, the 2nd to 6th parameter set is active, depending on the gear
stage engaged plus one.
On stipulation of the servo parameter set by the VDI interface, parameter sets 1
to 6 can be activated via indices 0 to 5. The following settings apply:
For the axes involved, the parameter set number the corresponds to the master
spindle gear stage incremented by one is active. This corresponds to
parameter set numbers 2 to 6.
For spindles, the 2nd to 6th parameter set is always active depending on the
gear stage engaged plus one.
MD 35590: PARAMSET_CHANGE_ENABLE = 2, the servo parameter set is
stipulated by the PLC. A gear stage can be specified by the PLC at any time.
Sequence for If the new gear is preselected, the following sequence takes place:
changeover IS “Set gear stage A to C” (DB31, ... DBX82.0-82.2) and
IS “Switch gear stage” (DB31, ... DBX82.3). At the point when the IS “Oscillation
speed” (DB31, ... DBX18.5) is enabled, the spindle decelerates to a stop with
the acceleration of oscillation or with the acceleration for speed control/position
control.
Only when the spindle stops (IS “Axis/Spindle stationary”
(DB31, ... DBX61.4)) is it possible to activate oscillation with IS “Oscillation
speed” (DB31, ... DBX18.5) (see Subsection 2.3.4 Gear stage change in
oscillation mode).
In principle, the new gear stage can also be engaged without oscillation (see
Subsection 2.3.5 Gear stage change at fixed position).
When the new gear is engaged, IS “Actual gear stage A to C” (DB31, ...
DBX16.0-16.2) and IS “Gear changed” (DB31, ... DBX16.3) are set.
End of gear stage The gear stage change is considered completed (spindle mode Oscillation
change mode is deselected) and the spindle is switched to the parameter block of the
new actual gear stage. IS “Change gear” (DB31, ... DBX82.3) is reset by the
NCK, which causes the PLC program to reset IS “Gear changed”.
IS “Gear changed” (DB31, ... DBX16.3) tells the NC that the new gear stage
applies with IS “Actual gear stage A to C” (DB31, ... DBX16.0-16.2), and
oscillation mode is quitted. It does not matter whether IS “Oscillation speed”
(DB31, ... DBX18.5) is still set. The actual gear stage, which should correspond
to the set gear stage, is relevant for selecting the parameter set. If this is not the
case, Alarm 22010 is signalled on MD11410: SUPPRESS_ALARM_MASK,
Bit^3 = 0.
After acknowledging gear stage change via the PLC with
IS “Gear changed” (DB31, ... DBX16.3) the spindle is in speed control mode
(DB31, ... DBX84.7).
For further information about signal exchange between the PLC and NC, please
see:
References: /FB1/, A2,“Various Interface Signals”, Section 2.7
1. Specifying a In the case of M40, the spindle must be in control mode for automatic gear
gear stage in the stage selection with an S value. The gear stage change is otherwise rejected
parts program and alarm 22000 “Gear change not possible” is output.
Automatic selection when M40 is active
The gear stage is selected automatically by the control system. The control
checks which gear stage is possible for the programmed spindle speed (S
value). If the suggested gear stage is not equal to the current (actual) gear step,
the “Change gear” interface signal and the “Set gear stage A to C” interface
signals are enabled.
When determining which gear stage is suitable, a gear change is requested
only if the new speed is not within the permissible speed range of the active
gear stage.
If necessary, the speed is limited to the maximum speed of the current gear
stage or increased to the minimum speed of the current gear stage, and IS
“Programmed speed too high” or “Programmed speed too low” is set.
Speed
(rev/min)
Maximum spindle speed
Maximum speed of gear stage 2
ÉÉÉ
ÉÉÉ
Maximum speed for gear change 2
ÉÉÉ
ÉÉÉ
Maximum speed of gear stage 1
ÉÉÉÉÉÉ
ÉÉÉÉÉÉ
Maximum speed for gear change 1
step 1
step 2
Gear
Gear
Fig. 2-7 Example for two “gear stages with overlapping speed ranges” for automatic
gear stage change (M40)
Block change When a gear stage change is programmed in the parts program, the gear
change block remains active until the gear has been changed by the PLC
(same effect as if IS “Readin disable” (DB21, ...DBX6.1) were set).
2. Specifying a The gear stage change can also be performed by function block FC18 during a
gear stage from parts program, in the reset state or in all operating modes.
the PLC with FC18 If the speed and direction of rotation is specified with FC18, the NC can be
requested to select the speed to match the gear stage. This corresponds to an
automatic gear stage change with M40.
The gear stage is not changed if the spindle is positioned by FC18 or if
traversing in axis mode.
For further information on function block FC18 please refer to:
References: /FB1/, P3, “FC18: SpinCtrl Spindle control”
4. Manual Outside a parts program that is running, the gear stage can also be changed
specification of a even without a request from the NC or the machine. This is the case, for
gear stage example, when a gear stage is changed directly by hand.
To select the matching parameter sets, the NC must be informed of the current
gear stage. For this to work, the control or the parts program must be in the
reset state.
Supplementary conditions
Transfer of the gear stage to the NC is initiated when IS “Actual gear stage A to
C” (DB31, ... DBX16.0-16.2). These three bits must be set continuously during
operation. Successful transfer is acknowledged with IS “Set gear stage A to C”
(DB31, ... DBX82.0-82.2) to the PLC.
IS “Gear changed” (DB31, ... DBX16.3) does not have to be set. If position
control is active when a new gear stage is specified by the PLC with IS “Actual
gear stage A to C” (DB31, ... DBX16.0-16.2), it is disabled throughout the gear
change action.
NC stop during Spindle stop with IS “NC-Stop” (DB21, ... DBX7.4) possible
gear stage change
if
S the spindle is in oscillation mode for a gear change
S IS “Gear changed” (DB31, ... DBX16.3) has not yet been output.
Note
Option for aborting:
IS “Delete distancetogo/Spindle reset” (DB31, ... DBX2.2) or IS
“Gear changed” (DB31, ... DBX16.3) with corresponding acknowledgment from
actual gear stage (IS “Actual gear stage” DB31, ... DBX16.0-16.2).
Spindle response How the spindle behaves once the gear stage has been changed depends on
after a gear stage the following initial conditions:
change S If the spindle was in the stop stage before the gear stage change (M5,
FC18: “Stop rotate spindle”), in positioning or axis mode, M5 (spindle stop)
is active after completion of the gear stage change.
S If a direction of rotation
(M3, M4, or FC18: “Start spindle rotation”), then the last speed and direction
of rotation will become active again after the gear stage change. The spindle
accelerates at the new gear stage to the spindle speed last programmed (S
value).
The next block in the parts program can be executed.
Special points The following points must be observed on gear stage change:
(SW 4.4 and
1. The gear stage change is not terminated by selecting IS “Ramp-up
higher) changeover to V/f mode” (DB31, ... DBX20.1). The setpoint 0 is output.
The acknowledgment of the gear stage change is carried out as usual by
the PLC signal “Gear changed” (DB31, ... DBX16.3).
2. The signal “Rampfunction generator rapid stop” must be reset by the PLC
before the gear stage change is ended by the PLC.
3. The gear stage change procedure is terminated without an alarm output on
an NC reset. The gear stage output with IS “Actual gear stage A to C”
(DB31, ... DBX16.0-16.2) is taken over by the NC.
Star/delta In SW 6.4 and higher, digital main spindle drives can be switched in both
switchover with directions between star and delta using FC17, even when the spindle is
FC17 (SW 6.4 and running. This automatic switchover is controlled by a defined logic circuit in
higher) FC17 which provides the user with a configurable switchover time for the
relevant spindle.
For further information on function block FC17 please refer to:
References: /FB1/, P3, “FC17: Y/Delta Star/delta switchover
Parameter set of In axis mode, it is possible to configure positive or negative load gear factors
the load gear ratio for each gear stage. The setting is defined in machine data MD 31060:
DRIVE_AX_RATIO_NUMERA. The setting range is the same size for positive
and negative load gear factors. It is not possible to enter the value 0. In this
case, alarm 17095 is output.
Note
The reference will be lost if an indirect encoder is configured and the load gear
ratio changes. IS “Referenced/Synchronized 1 or 2” (DB31, ... DBX60.4/60.5) is
reset for the relevant measuring system.
Application and Using a configured intermediate gear unit, it is possible to adapt a variety of
functions rotating tools. The intermediate gear unit at the tool side has a multiplicative
effect on the motor/load gear unit. It is set via the machine data
MD 31066: DRIVE_AX_RATIO2_NUMERA “numerator intermediate
gear unit”
MD 31064: DRIVE_AX_RATIO2_DENOM “denominator intermediate
gear unit”
An encoder present on the tool side for the intermediate gear unit is configured
using MD 31044: ENC_IS_DIRECT2 “Encoder on intermediate
gear”.
Change parameters for these machine data can be activated with “NewConfig”
either using the commissioning software SinuCOM-NC or via the operator panel
HMI per soft key. The existing motor/load gear unit, on the other hand, are
active after Power On.
Tool change If the intermediate gear unit is also changed on tool change, the user must also
reconfigure the transmission ratio of the numerator and denominator via the
machine data of the intermediate gear.
Example:
For a new tool inserted with a transmission ratio of 2:1, a matching intermediate
gear unit is configured and is active immediately in the parts 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 active activate a
NewConfig.
Note
At zero speed, changeover is jerk-free. The user is therefore responsible for
taking appropriate precautions.
Applications in which changeover takes place during motions and which
require a smooth or soft speed transition can be handles using existing speed
setpoint filters.
For further information on closed-loop control conditions, please see
References: /FB/, G2 “Velocities, Setpoint/Actual Value Systems,
ClosedLoop Control”
Mode change A gear change which has not been acknowledged cannot be interrupted by a
mode change (e.g. switchover to JOG).
The switchover is delayed by a time not exceeding MD 10192:
GEAR_CHANGE_WAIT_TIME. If the gear stage change is not acknowledged
within this time, the NC will provide one of the following two alarms:
S 16938: If the program interruption has occurred during the program status
Running.
Further events Events that initiate reorganizing will also wait until a gear stage change is
completed.
The time setting in machine data MD 10192: GEAR_CHANGE_WAIT_TIME will
now determine how long it is waited for the gear stage change. If this time
expires without ending the gear stage change, the NC will also react with the
alarms mentioned above.
The following events have an analog response:
S User ASUB
S Mode change
S Delete distance-to-go
S Axis replacement
S Activate PI user data
S Enable PI service machine data
S Switch over skip block, switch over Dry Run
S Editing in the modes
S Correction block alarms
S Overstore
S Rapid retraction with G33, G34, G35
S Subroutine level abortion, subroutine abortion
Response after The active gear stage on the machine can be specified by the PLC control after
POWER ON POWER ON and in the RESET state. The NCK will then select the appropriate
set of parameters and check back the “Set gear stage A to C” (DB31, ...
DBX82.0-82.2) to the PLC.
What is Oscillation in this context means that the spindle motor rotates alternately in the
oscillation? clockwise and counterclockwise direction. This oscillation movement makes it
easy to engage a new gear stage.
Oscillation mode IS “Change gear” (DB31, ... DBX82.3) indicates that a gear change is
necessary. In principle, the new gear stage can also be engaged without
oscillation
S MD 35010: GEAR_STEP_CHANGE_ENABLE must be set to 1.
S IS “Oscillation mode” (DB31, ... DBX84.6) is set.
S The acceleration is defined in MD 35410: SPIND_OSCILL_ACCEL.
IS “Oscillation The spindle is in oscillation mode if a new gear stage was defined using the
speed” automatic gear stage selection (M40) or M41 to M45 (“Change gear” interface
DB31, ... DBX18.5 signal is enabled). IS “Change gear” (DB31, ... DBX82.3) is only enabled when
a new gear stage is defined that is not the same as the current actual gear
stage.
If the “Oscillation speed” interface signal is enabled without defining a new gear
stage, the spindle does not change to oscillation mode.
Oscillation is started with the oscillation speed interface signal (DB31, ...
DBX18.5). Depending on the IS “Oscillation via PLC” (DB31, ... DBX18.4) while
the function is in operation, a distinction is made between:
Oscillation time The oscillation time for oscillation mode can be defined in a machine data for
each direction of rotation:
Phase 2:
When time t1 (t2) expires, the spindle motor accelerates in the opposite
direction to the speed defined in MD 35400: SPIND_OSCILL_DES_VELO. Time
t2 (t1) starts.
Phase 3:
When time t2 (t1) expires, the spindle motor accelerates in the opposite (same
direction as phase 1) to the speed defined in the MD 35400:
SPIND_OSCILL_DES_VELO. Time t1 (t2) starts. The process continues with
phase 2.
Oscillation via PLC With IS “Oscillation via the PLC” (DB31, ... DBX18.4) and “Oscillation speed”
(DB31, ...DBX18.5), the spindle motor accelerates to the speed defined in MD
35400: SPIND_OSCILL_DES_VELO (oscillation speed). The direction of
rotation is defined by the IS “Set direction of rotation CCW” (DB31, ... DBX18.7)
and IS “Set direction of rotation CW” (DB31, ... DBX18.6). The oscillation
movement and the two times t1 and t2 (for clockwise and counterclockwise
rotation) must be simulated on the PLC.
Special features Setting/resetting interface signals (IS) and machine data in oscillation mode
S To decelerate the spindle, the PLC user need not set the IS “Spindle stop”
(DB31, ... DBX4.3). The spindle is brought to a standstill internally by the
control when a gear stage change is requested.
S The IS “Gear changed” (DB31, ... DBX16.3) should always be used for
terminating gear stage change.
S IS “Oscillation speed” (DB31, ... DBX18.5) should be used to support
mechanical engagement of the gear. It has no effect on the internal control
mechanism for the gear stage change procedure and should therefore only
be set as necessary.
S If the IS “oscillation speed” (DB31, ... DBX18.5) is reset, the oscillation stops.
However, the spindle remains in oscillation mode.
S The acceleration is defined in MD 35410: SPIND_OSCILL_ACCEL.
S If an indirect measuring system (motor encoder) is used, the synchronization
is lost.
If MD 31050: ENC_IS_DIRECT = 0, IS “Referenced/synchronized” (DB31, ...
DBX60.4/5 = 0) is automatically deleted. The zero mark is referenced the
next time it is crossed.
Note
For further information on gear changes, please see:
Subsection 2.3.5 “Gear change at fixed position (SW 5.3 and higher)”
Functionality Machine tools of the conventional design require a gear stage change of the
spindle in oscillation mode.
Configuration via MD 35010: GEAR_STEP_CHANGE_ENABLE = 1
the following procedure is implemented:
Block change If the spindle has been switched over to oscillation mode, IS “Change gear”
(DB31, ... DBX82.3) is set, part program processing is stopped. A new block is
not executed. If oscillation mode is quitted using the IS “Gear switched” (DB31,
... DBX16.3), part program processing is continued as shown in Fig. 2-8. A new
block is executed.
Speed
(rev/min)
Time (s)
Oscillation mode Typical time sequence for the gear stage with the spindle:
Spindle speed
2.3.5 Gear stage change at fixed position (SW 5.3 and higher)
Application Machine tools increasingly use standardized spindle drives, firstly to save
and advantages technological dead time at a gear stage change and secondly to gain the cost
benefits of using standardized components.
The function Gear stage change at fixed position supports the “directed gear
stage change” of load gears that require a different activation from the NC. The
gear stage change can in this case only be performed at a defined spindle
position. An oscillation motion as required by conventional load gears is thus no
longer necessary.
S After the GSC position configured in MD 35012 is reached, the timer set in
MD 35310: SPIND_POSIT_DELAY_TIME is activated before the system
switches over to oscillation mode and the normal GSC dialog commences.
S The position control is not disabled when an active measuring system with
indirect encoder (motor encoder) MD 31040 is used: 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 position closed loop control is no
longer possible.
Gear stage change Typical time sequence for the gear stage at fixed position:
at fixed position
Spindle speed
Gear stage change The gear stage change position is configured in machine data
at position MD 35012: GEAR_STEP_CHANGE_POSITION configured for each gear
MD 35012 stage.
GSC delay In SW 6.1 and higher, the time set in machine data MD 3510:
MD 35310 SPIND_POSIT_DELAY_TIME is awaited until gear change request IS
“Oscillation mode” (DB31, ... DBX84.6), “Change gear” (DB31, ... DBX82.3), and
“Set gear stage A to C” (DB31, ... DBX82.0-82.2) are output.
Position The position is always approached across the shortest path (equivalent to DC).
identifiers/position If no reference is available and if the spindle is at zero speed
(e.g. after power ON), then the approach direction is determined by
MD 35350: SPIND_POSITIONING_DIR.
If an adjustable gear stage change position is required, then this can be
achieved by writing the machine data and by a subsequent NewConfig. The
change in the MD value can be carried out using the parts program or via the
MMC.
If the system is unable to reach the preset position, then alarm 22020 is
signaled and the gear stage change dialog between NCK and PLC does not
take place in order not to destroy the gears. As this alarm is serious, the parts
program cannot be continued and the cause must be eliminated under all
circumstances The cause for the abortion of positioning is from experience
generally to be found in incorrect MD settings or incompatible PLC signals.
Acceleration The acceleration values are determined by the gear stage dependent
MD 35200: GEAR_STEP_SPEEDCTRL_ACCEL and
MD 35210: GEAR_STEP_POSCTRL_ACCEL. The acceleration can be
changed proportionally by the programming of ACC[Sn].
Please note: ACC[Sn] is valid modally. After the gear stage change it should be
set back to a value appropriate for the machining.
Block change The block change is stopped and the machining blocks are not started until the
gear stage has been changed by the PLC (DB31, ... DBX16.3).
End of gear stage After the gear stage change has been ended, the spindle is in openloop control
change mode again and will automatically change to the controller mode defined by
SPCON or SPCOF.
All gearspecific limit values (min./max. speed of gear stage, etc.) correspond to
the fed back values of the actual gear stage.
Supplementary
conditions
S The spindle must possess at least one measuring system.
S Positioncontrolled operation must be possible and must have been
activated.
Activation The function for gear stage change at a fixed position is activated by setting
MD 35010: GEAR_STEP_CHANGE_ENABLE = 2.
Application With SW 4.3 and higher, the “selectable spindles” function allows you to write
parts 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 parts program.
Note
SD 42800: SPIND_ASSIGN_TAB[0] contains the logical master spindle. It is
only used for display purposes.
This setting data is defined in the parts program by “SETMS (logical spindle)”.
The value 0 must be entered in SD 42800 for spindles which are not used.
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. See also:
Supplementary
conditions
S The switchable channel spindles are not a substitute for the axis
replacement function.
S You can only switch spindles which have been assigned to the channel by
parameterization.
S If spindles which are presently active in another channel are output for
switchover, either the “AutoGet” function is triggered for the physical spindle
or alarm 16105 “Assigned spindles do not exist” is output, depending on the
configuration variant.
Basic setting After POWER ON of the NC in startup switch position 1 (delete SRAM) the
SD 42800 SD 42800 is in its basic setting. The numbers of the logical and physical
spindles are identical.
SD 42800: SPIND_ASSIGN_TAB[1] = 1
SD 42800: SPIND_ASSIGN_TAB[2] = 2
SD 42800: SPIND_ASSIGN_TAB[3] = 3
SD 42800: SPIND_ASSIGN_TAB[4] = 4
SD 42800: SPIND_ASSIGN_TAB[5] = 5
...
2.5 Programming
Note
Detailed information about programming the spindle can be found in
References: /PG/, “Programming Guide Fundamentals”
SETMS(n) The spindle with the number (n) is the master spindle (may differ from the initial
setting in MD 20090: SPIND_DEF_MASTER_SPIND.
The master spindle must be defined for the following functions:
S G95 Revolutional feedrate
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 each of the axis DBs,
DB31, ... DBB86 ff.
SPOS=DC(Pos) The direction of motion is retained for positioning while in motion and the
SPOS[n]=DC(Pos) position approached. When positioning from standstill, the position is
SPOSA=DC(Pos) approached via the shortest path.
SPOSA[n]=DC(Pos)
SPOS=IC(Pos) The travel path is specified. The direction of travel is obtained from the sign in
SPOS[n]=IC(Pos) front of the travel path. If the spindle is in motion, the direction of travel is
SPOSA=IC(Pos) inverted as necessary to allow traversing in the programmed direction.
SPOSA[n]=IC(Pos) If the zero mark is crossed during traversing, the spindle is automatically
synchronized with the zero mark if no reference is available or, if a new one has
been requested per interface signal.
SPCOF Spindle position control for the master spindle OFF, activate speed control
SPCOF(n) mode for master spindle OFF, spindle position control mode for the master
SPCOF(n,m) spindle OFF, activate speed control mode for spindle number n, as well as for
spindle number n and m.
FPRAON (S2) Revolutional feedrate for spindle S2 on, derived from the master spindle.
FPRAON (S2, A) Revolutional feedrate for spindle S2 on, derived from axis A. The revolutional
feedrate value must be specified with FA[Sn].
C30 G90 G1 F3600 Rotary axis C (spindle in axis mode) travels to the position at 30 degrees at a
speed of 3600 degrees/min=10 rpm.
LIMS= Programmable maximum spindle speed limitation with G96, G961, G97
FA[Sn] Programming of positioning speed (axial feed) for spindles in ƪdeg/minƫ. The
value configured in MD35300: SPIND_POSCTRL_VELO is valid again when
FA[Sn]=0.
SPI(n) Axis functions for a spindle with SPI(n) (SW 6.1 and higher)
With SPI(n) (spino), a spindle number is converted to data type AXIS according
to machine data MD35000: SPIND_ASSIGN_TO_MACHAX[ ]. SPI is used to
program axis functions using the spindle number. The following statements with
SPI are possible:
M40 to M45 M functions M40 to M45 can also be programmed in synchronized actions.
(SW 6.2 and Please note the following:
higher) Programming of M40...M45 in the parts program has no effect on the current
status of the automatic gear stage change of the synchronized actions and
viceversa.
When programming S values with M40, the automatic gear stage change acts
separately for synchronized actions and the parts program.
For synchronized actions:
S M40 is deactivated after POWER ON. The gear stage is not adjusted if an S
value is specified from a synchronized action.
Note
Detailed information about programming of spindles and spindle movements
from synchronized actions can be found in:
References: /PGA/, “Programming Guide Advanced”
/FBSY/ , “Description of Functions Synchronized Actions”
Automatic gear When the PLC specifies the direction of rotation and speed using FC18, the
stage change on NCK can determine and select a gear stage to match the speed. This is
FC18 (SW 6.2 and equivalent to the M40 functionality when programming via the parts program.
higher) The correct start code must be set when FC18 is called in a PLC user program,
in order to activate the gear stage selection.
Note
For detailed explanations on how to program spindle controls via the PLC with
FC18, please refer to:
References: /FB1/, P3, “Basic PLC Program”
2.5.4 Special spindle movements via the PLC interface (SW 6.1 and
higher)
Why use a special This function can be used to program the spindle via an axial PLC interface
spindle interface? alternatively to the FC18. For the sake of simplicity, this results in a slightly
reduced functionality. This functionality can be used preferably for simple control
applications.
Functionality Special VDI interface signals are provided to start and stop spindles outside the
running parts program. To do so, the channel status and the program status
need not be in the active mode. These states will occur, e.g. in case of Reset
and in JOG mode.
The spindle concerned must have the state “Channel axis” or “Neutral axis” and
must not be moved using the JOG keys or positioned by FC18 or synchronized
actions. If these conditions are fulfilled, spindle jobs will be accepted via the
DBB30 spindle interface.
The spindle specifications are kept beyond a mode change (e.g. from JOG
mode to AUTOMATIC). With the start of the parts program, the spindle settings
are accepted (direction of rotation, speed or cutting rate) into the parts program
and can be modified again by parts program statements. In JOG mode, the
spindle can be moved at the speed last programmed.
Multichannel In the case of multichannel operation, the spindle started by the PLC becomes
operation active in the channel that at the appropriate moment handles the spindle. This
channel can be determined on the PLC by reading IS “NC axis/spindle in
channels A to D” B31, ... DBX68.0-68.3.
Spindle job In order to start a spindle job, the channel handling the spindle must be in the
acceptance status. A spindle job is always started with the LowHigh edge of a
DBB30 signal.
Generally, the DBB30 start signals do not have any meaning in the static status
and do not prevent the spindle to be programmed by FC18, synchronized
actions, parts program or JOG traversing movements
(e.g. when the STOP signal is statically on “1”).
Conditions for the Outside a running parts program, spindles can be started and stopped using the
acceptance status special VDI interface signals NCK –> PLC.
S It must be in the status “Channel axis” or “Neutral axis” and must not be
moved by means of the JOG keys.
Spindle job Lowhigh edges outside the acceptance range will be ignored. No alarm
outside the message is output by the NCK. It can be assumed that the acceptance range
acceptance range will be announced to the operator by the PLC program.
Spindle jobs outside the acceptance range can also be carried out using the
functions FC18 or the ASUB.
Note
The direct writing of the setting data comes into effect immediately and acts
asynchronously to the parts program execution.
Conditions for The following conditions apply for writing data to the setting data SD 43200:
writing SPIND_S:
Spindle The following basic logic functions can be specified for the spindle:
commands
Basic logic functions: Spindle commands:
Motion specification: Independently of a running parts program:
Spindle stop Input from the PLC via axial
Spindle start clockwise rotation VDI interface signals DB31, ... DBB30
Spindle start counterclockwise rotation
Select gear stage
Spindle positioning
Speed: Speed settings from the parts program or
MD 35035 bit 4 = 1 FC18 are always written to the setting data
When the movement is started, the speed SD 43200: SA_SPIND_S.
is read from SD 43200: SPIND_S
Speed setpoint: You can use the JOG keys to traverse the
MD 35035 bit 5 =1 spindle with the speed from SD 43200:
The contents of SD 43200: SA_SPIND_S SA_SPIND_S.
acts as the speed setpoint
Constant cutting rate: MD 35035 Settings of the constant cutting rate from the
bit 8 = 1 parts program, FC18 and synchronized ac-
is read from setting data SD 43202: tions are written to the setting data SD
SPIND_CONSTCUT_S 43200: SA_SPIND_S.
Motion specification
The direction of rotation is specified in DBB30 and transmitted by the NCK input
signals at the axial VDI interface (PLC –> NCK) in data bytes DB31, ... DBB30
(JobShop).
Priorities If several DBB30 signals are set at the same time, the following order of
priorities is defined:
Acknowledgment A spindle start can be detected at the VDI interface based on traversing
spindle start/stop commands output, such as
“Traversing command minus” DB31, ... DBX64.6 = 1 or
“Traversing command plus” DB31, ... DBX64.7 = 1.
A spindle stop is executed if the IS “Axis/spindle stationary”
DB31, ... DBX61.4 = 1 is output.
Direct acknowledgment signals for the DBB30 input signals will not be output.
Invert M3/M4 Interface signal “Invert M3/M4” DB31, ... DBX17.6 acts on the signals
“Spindle start CW” DB31, ... DBX30.1 and
“Spindle start CCW” DB31, ... DBX30.2 in the same way as for direction of
rotation programming for M3 or M4 via part program, synchronous action, or
FC18.
Speed default
Speed settings from the parts program, FC18 or synchronized actions are
always written to the setting data SD 43200: SPIND_S and always from the
usual sources.
Read SD 43200 When the movement is started, the speed is always read from the
setting data SD 43200: SPIND_S [r.p.m.]
on the positive edge of the start signals
“Spindle start CW” DB31, ... DBX30.1, and
“Spindle start CCW” DB31, ... DBX30.2
Note
Rewriting the setting data is not activated until the next positive edge of the
start signals “Spindle start CW” DBB31, ... DBX30.1, and “Spindle start CCW”
DBB31, ... DBX30.2 for the current spindle speed. The contents of the setting
data is only accepted with the next spindle start signal.
Gear stage change In the current version, no gear stage change is triggered if the set speed is out
and influence on of the speed range of the gear stage. The usual speed limitations and the
the speed speed increase to the set speed are active.
Note
Rewriting the setting data is not activated until the next positive edge of the
start signals “Spindle start CW” DBB31, ... DBX30.1 and “Spindle start CCW”
DBB31, ... DBX30.2 for the current constant cutting speed. The contents of the
setting data is only accepted with the next spindle start signal.
Supplementary To make sure that settings for the constant cutting rate are active, the spindle
condition concerned must be a master spindle in the channel handling the spindle. This
condition is met when IS “constant cutting speed active” DB31, ... DBX84.0 = 1
is set on the axial VDI interface.
Writing from the When writing the appropriate value for the constant cutting rate from the parts
parts program program, it is interpreted as follows if the following is set/active in the
12th G group:
Setting via FC18 If the constant cutting rate is set via FC18, the decision how the speed value
synchronized (bytes 8...11) is interpreted is decided by setting bit 6 in byte 2 in the area
actions “Signals to concurring positioning axes”.
In the case of setting via synchronized actions, the feedrate type will decide
how the S value is interpreted, analogously to the parts program.
Reading from The programmed cutting rate value can be determined both in the parts
parts program and program and in synchronized actions by reading the system variables
synchronized $P_CONSTCUT_S and $AC_CONSTCUT_S.
actions Reading the programmed cutting rate value via the OPI interface is also
possible.
System variable WB: Defined range of values of the two new system variables.
S Bit 0 = 1 Gear stage change for blocks with M40, M41 to M45 or
via FC18 and synchronized actions are suppressed with
DryRun.
S Bit 1 = 1 Gear stage change for blocks with M40, M41 to M45 or
via FC18 and synchronized actions are suppressed with
Program Test and SERUPRO.
Parts program, The behavior of the gear stage change from parts programs, FC18 and
synchronized synchronized actions for the DryRun, Program Test and SERUPRO
actions and FC18 (SearchRunByProgramTest) functions can be configured with the existing
machine data MD 35035: SPIND_FUNCTION_MASK.
A gear stage change is not usually necessary for these functions and can
therefore be suppressed as follows in MD 35035: SPIND_FUNCTION_MASK
with bits 0 to 2:
Gear stage change If a gear stage change is suppressed, the interpolator limits the programmed
suppression spindle speed to the permissible speed range of the active gear stage if
necessary. The interface signals
IS “Setpoint speed increased” (DB31,...DBX83.2) and
IS “Setpoint speed limited” (DB31,...DBX83.1), which are generated on such a
restriction, are suppressed. Monitoring by the PLC program is not necessary
during DryRun.
When the gear stage change is suppressed, no new gear stage setpoint
IS “Gear stage setpoint” (DB31,...DBX82.0-2) is output to the PLC.
The gear stage change request IS “Gear change” (DB31,...DBX82.3) is also
suppressed. This ensures that no gear stage change information has to be
processed by the PLC program.
Determining the System variable $P_GEAR returns the gear stage programmed in the parts
last active program (which may not have been output to the PLC). System variable
gear stage $AC_SGEAR can be used to read the last active gear stage from the parts
program, synchronized actions and operator panel interface.
The DryRun function can be deselected within a running parts program. Once it
has been deselected, the correct gear stage requested by the parts program
must be determined and selected.
It cannot be assured that the remainder of the parts program will run without
errors until the correct gear stage has been activated. Any necessary gear
stage change is performed in the system REPOS started on deselection when
the spindle is in speed control mode. A complete gear stage change dialog
takes place with the PLC and the last programmed gear stage is activated.
If there is a mismatch between the gear stage programmed in the parts program
and the actual gear stage returned over the VDI interface at REPOS, no gear
stage change takes place.
The same applies to the SERUPRO function.
For further information about SERUPRO block search, please refer to
References: /FB/, K1, “Mode Group, Channels, Program Operation Mode”
Supplementary If the gear stage change is suppressed, the output spindle speed moves within
conditions the speed range specified by the current gear stage.
The following restrictions apply to the subsequent activation of a gear stage on
REPOS:
S The gear stage change is not activated subsequently if the spindle in the
deselection or target block is a command spindle (synchronized action) or
PLC spindle (FC18).
Traversing at revolutional feedrate can be selected via the axial setting data
MD 43300: ASSIGN_FEED_PER_REV_SOURCE (revolutional feedrate for
spindles) in JOG mode via the channel-specific setting data
MD 42600: JOG_FEED_PER_REV_SOURCE (revolutional feedrate control in
JOG mode). The following settings can be made via the setting data:
S >0: The machine axis number of the rotary axis/spindle from which
the revolutional feedrate is to be derived.
S –1: The revolutional feedrate is derived from the master spindle of the
particular channel in which the axis/spindle is active.
S 0: Function is deselected.
FPRAON (S2) Revolutional feedrate for spindle S2 on, derived from the master spindle
FPRAON (S2, A) Revolutional feedrate for spindle S2 on, derived from axis A. The revolutional
feedrate value must be specified with FA[Sn].
SPI(n) (SW 6.1 and It is also possible to program SPI(n) instead of SPI(Sn).
higher)
Speed ranges The spindle monitoring functions and the currently active functions
(G94, G95, G96, G961, G97, G971, G33, G34, G35, G331, G332, etc.) define
the admissible speed ranges of the spindle.
Speed
Spindle is stationary
IS: Axis/spindle stationary (n<nmin )
IS: Referenced/synchronized
limited by G25 and G26
Speed range of spindle
or spindle chuck
and G97
Only when the axis/spindle is stationary, i.e. the actual spindle speed is below a
value defined in MD 36060: STANDSTILL_VELO_TOL (maximum
velocity/speed Axis/spindle stationary), is it possible to perform certain functions
on the machine, such as tool change, open machine doors, path feed enable,
etc. If the spindle is not moving,
Function The “Spindle in setpoint range” monitor checks whether the programmed
spindle speed has been reached, whether the spindle is stationary (IS
“Axis/spindle stationary”) or whether it is still in the acceleration or braking
phase.
In the spindle mode control mode, the speed setpoint (programmed speed
spindle offset including the active limitations) is compared with the actual speed.
If the deviation of the actual speed from the speed setpoint is greater than the
spindle speed tolerance of MD 35150: SPIND_DES_VELO_TOL,
S the axial IS “Spindle in setpoint range” (DB31, ... DBX83.5) is set to zero
S the next machining block is not enabled,
MD 35500: SPIND_ON_SPEED_AT_IPO_START = 1 is set
Exception: MD 35500: SPIND_STOPPED_AT_IPO_START = 0 Path
interpolation is not affected, traversing path axes not stopped
Speed change The 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 control is not automatically brought to a
standstill.
S Spindle override 0%
S M5
S S0
S IS “Spindle stop” (DB31, ... DBX8.3)
S Cancel IS “Controller enable” (DB31, ... DBX2.1)
S IS “Reset” (DB21, ... DBX7.7)
S IS “Delete distance-to-go/Spindle Reset” (DB31, ... DBX2.2)
S IS “Oscillation speed” (DB31, ... DBX18.5)
S IS “NCSTOP axes plus spindles” (DB21, ... DBX7.4)
S IS “Axis/spindle lock” (DB31, ... DBX1.3)
S IS “Delete S value” (DB31, ... DBX16.7)
Warning
! 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, gears, measurement gears, encoder and machine data prevents the
maximum speed of the actual spindle position encoder from being exceeded.
Max. encoder If the spindle speed reaches a speed (large S value programmed), which
frequency exceeds the maximum encoder limit frequency (the maximum mechanical
exceeded speed limit of the encoder must not be exceeded), the synchronization is lost.
The spindle continues to rotate, but with reduced functionality.
With the following functions, the spindle speed is reduced until the active
measurement system is operating below the encoder limit frequency again:
Maximum encoder If the maximum encoder frequency limit has been exceeded and the speed
limit frequency subsequently falls below the maximum encoder limit frequency (smaller S value
exceeded programmed, spindle offset switch changed, etc.), the spindle is automatically
synchronized with the next zero mark or the next Bero signal. The new
synchronization will always be carried out for the active position measuring
system that has lost its synchronization and the max. encoder limit frequency
has currently not been reached.
Special features If the following functions are active, the maximum encoder frequency cannot be
exceeded.
Destination point During positioning (the spindle is in positioning mode), the system monitors the
monitoring distance from the spindle (with reference to the actual position) to the
programmed spindle set position (destination point).
Two limit values can be defined in MD 36000: STOP_LIMIT_COARSE (exact
stop coarse limit) and MD 36010: STOP_LIMIT_FINE as the incremental path
starting at the spindle set position. The positioning of the spindle is always as
accurate as the connected spindle measurement encoder, the backlash, the
transmission ratio, etc.
Different exact In SW 5.1 and higher, different exact stop windows can be configured for
stop windows different parameter sets. This makes it possible to work to different levels of
for different accuracy in axis mode and spindle positioning. The exact stop window can be
parameter sets configured separately for each gear stage for spindle positioning.
Commanded position
Speed
Position
Exact stop limit fine
Block change for If the spindle is being positioned with SPOS or M19, the block change will be
SPOS and M19 dependent on the end point monitoring with the IS “Position reached with exact
stop fine”. All other functions programmed in the block must have achieved their
end criterion (e.g. all auxiliary functions acknowledged by the PLC).
With SPOSA, the block change does not depend on the monitoring of the
destination point.
J
Supplementary Conditions 3
There are no further supplementary conditions to note.
J
Notes
Examples 4
4.1 Example of automatic gear stage selection (M40)
To illustrate the contents of the new block search variables (SW 5.3 and higher):
Assumptions about automatic gear stage selection (M40):
S0...500 1st gear stage
S501..1000 2nd gear stage
S1001..2000 3rd gear stage
* f (PlanAxPosPCS): The speed depends on the current position of the transverse axis
in the workpiece coordinate system.
Notes
5.4 Interrupts
For detailed descriptions of the alarms, please refer to
References: /DA/, “Diagnostics Guide”
and the online help of MMC 101/102/103 systems.
J
Index
M
Manual specification of a gear stage, 1/S1/2-35
Motion specification, 1/S1/2-57
C
Configurable gear adaption, 1/S1/2-30
P
Program testing and SERUPRO, 1/S1/2-61
D
Dry run feedrate (DryRun), 1/S1/2-61
S
Setting the constant cutting rate, 1/S1/2-58
G Special spindle interface, 1/S1/2-54
Gear stage change from NC, 1/S1/2-30 Specify gear stage, 1/S1/2-30
Gear stages, 1/S1/2-30 Speed default, 1/S1/2-58
SPI(n, 1/S1/2-52
Spindle commands, 1/S1/2-56
Spindle job, 1/S1/2-55
I Spindlespecific functions, 1/S1/2-60
Invert M3/M4, 1/S1/2-57 Star/delta switchover with FC17, 1/S1/2-36
Notes
Detailed description 2
Supplementary conditions 3
SINUMERIK 840D/840Di/810D
Examples 4
Feeds (V1) 5
Data lists
Function Manual
10/04
6FC5 297-7AC20-0BP1
Safety Guidelines
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 to property damage only 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.
Prescribed Usage
Note the following:
Warning
This device may only be used for the applications described in the catalog or the technical description and only in
connection with devices or components from other manufacturers which have been approved or recommended
by Siemens. Correct, reliable operation of the product requires proper transport, storage, positioning and
assembly as well as careful operation and maintenance.
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.
Siemens AG
Automation and Drives Siemens AG 2005
Postfach 4848, 90327 Nuremberg, Germany Technical data subject to change
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 iii
Table of contents
Tables
Table 2-1 Input byte for "Multiple feedrates in one block"........................................................................ 2-31
Feeds (V1)
iv Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Brief description 1
1.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)
• Feedrate with thread cutting (G33, G34, G35)
• Feedrate for tapping with compensating chuck (G63)
• Feedrate for rigid tapping (G331, G332)
• Feedrate for chamfer/rounding FRC, FRCM
• Non-modal feedrate FB
Note
If a very short distance is specified, the axis can be overloaded.
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 1-1
Brief description
1.1 Brief Description
Feedrate control
The programmed feedrate can be modified for adaptation to changes in technological
conditions during machining or for test purposes.
• Via the machine control panel
• Via the operator panel
• Via the PLC
• Via a program command
Feedrate interpolation
To permit flexible definition of the feedrate characteristic, the feedrate programming
according to DIN 66205 has been extended by linear and cubic characteristics.
The cubic profiles can be programmed directly or as interpolating spline.
You can program the following feedrate profiles:
• FNORM
Behavior 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 F value programmed in the block is positioned from the current value at the start of the
block to the end of the block linearly across the path distance and applies as a modal
value thereafter.
• FCUB
The F values programmed non-modally (relative to the end of the block) are connected by
a spline. The spline starts and ends at a tangent to the previous or subsequent define
feedrate. If the F address is missing in a block, the last F value programmed is used
instead.
• FPO
The F address [syntax: F=FPO (...,...,...)] designates the feedrate response over a
polynomial from the current value to the end of the block in which it has been
programmed. The end value then applies as a modal value.
Machine data:
MD20172 $MC_COMPRESS_VELO_TOL
supports the definition of a tolerance for the path feedrate, if FLIN and FCUB are used in
conjunction with compression COMPON.
Feeds (V1)
1-2 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Brief description
1.1 Brief Description
Non-modal feedrate FB
A separate feedrate can be specified for a single block with the FB command. During this
block the previously active path feedrate is overwritten, after the block the previously active
modal path feedrate becomes active once more.
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 1-3
Detailed description 2
2.1 Path feedrate F
2.1.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 standard setting 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 the program until a new F value or a new type of feedrate is
programmed.
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 2-1
Detailed description
2.1 Path feedrate F
Feeds (V1)
2-2 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Detailed description
2.1 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
/FB/Description of Functions, Extended Functions; Jog With/Without Handwheel (H1)
Y
) )>PLQ@
V
Note
G93may 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.
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 2-3
Detailed description
2.1 Path feedrate F
9 Q )
Note
The programmed F value is deleted when the system switches between the feedrate types
G93, G94 and G95 .
In JOG mode the behavior of the axis/spindle also depends on the setting of setting data:
SD41100 JOG_REV_IS_ACTIVE (revolutional feedrate when JOG active).
• If this setting data is active, an axis/spindle is always moved with revolutional feedrate
machine data:
MD32050 JOG_REV_VELO (revolutional feedrate with JOG)
or
MD32040 JOG_REV_VELO_RAPID
(revolutional feedrate with JOG with rapid traverse overlay)
depending on the master spindle.
• If the setting data is not active, the behavior of the axis/spindle depends on the setting
data:
SD43300 ASSIGN_FEED_PER_REV_SOURCE
(revolutional feedrate for positioning axes/spindles).
• If the setting data is not active, the behavior of a geometry axis on which a frame with
rotation is effective depends on the channel-specific setting data:
SD42600 JOG_FEED_PER_REV_SOURCE
(in JOG mode, revolutional feedrate for geometry axes on which a frame with rotation
acts).
Alarms
• If no F value is programmed, alarm 10860 "No feedrate programmed" is output.
The alarm is not generated with G0 blocks.
• If a negative path velocity is programmed, alarm 14800 "Programmed path velocity
smaller than or equal to zero" is output.
Feeds (V1)
2-4 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Detailed description
2.1 Path feedrate F
• If a revolutional feedrate (G95) is programmed but no master spindle has been defined,
alarm 10810 "No master spindle defined" is output.
6 6SHHG
Q
U
π = Circle constant
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.
For G96,G961 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 DIAMETER_AX_DEF (geometry axis functioning as transverse axis).
The function G96,G961 requires that the machine zero and the workpiece zero of the
transverse axis are in the turning center of the spindle.
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 2-5
Detailed description
2.1 Path feedrate F
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 when G96, G961 and G0 blocks are active can be
defined in 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.
Feeds (V1)
2-6 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Detailed description
2.1 Path feedrate F
Note
When the block is processed, all programmed values are transferred to to setting data
SD43230 SPIND_MAX_VELO_LIMS.
The minimum spindle speed can be changed in the part program with G25. In the event of
incorrect programming that would mean one of the spindle limits (G25 or
SPIND_MAX_VELO_G25) is not reached, the "Set speed too low" interface signal (DB31, ...
DBX83.2) is set.
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 2-7
Detailed description
2.1 Path feedrate F
6SLQGOHZRUNLQJDUHDDIWHU**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
about this and the way in which setting data work, please see:
References:
/FB1/ Description of Functions, Basic Machine; Spindles (S1);
Chapter: Spindle Monitoring Functions, Setting Data
Alarms
Constant cutting rate G96, G961
• If no F value is programmed, alarm 10860 "No feedrate programmed" is output. The
alarm is not generated with G0 blocks.
• If a negative path velocity is programmed, alarm 14800 "Programmed path velocity
smaller than or equal to zero" is output.
• If a transverse axis has not been defined in machine data:
MD20100 DIAMETER_AX_DEF (geometry axes functioning as transverse axes)
when G96, G961 are active, alarm 10870 "No transverse axis defined" is output.
Feeds (V1)
2-8 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Detailed description
2.1 Path feedrate F
• 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.
2.1.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 Guide, Fundamentals
/PAZ/ Programming Guide, Cycles
The minimum spindle speed can be changed in the part program with G25.
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 2-9
Detailed description
2.1 Path feedrate F
2.1.4.2 Programmable run-in and run-out path for G33, G34 and G35
Application
5XQLQRUUXQRXWSDWKDFFWRGLUHFWLRQRIPDFKLQLQJ
Feeds (V1)
2-10 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Detailed description
2.1 Path feedrate F
Due to the collar on the thread run-out, little room is left for the tool deceleration ramp,
leading to the risk of collision between the workpiece and the tool edge. The tool braking
ramp can be set shorter via DITE. Due to the inertia of the mechanical system, however,
a collision can nevertheless occur.
Remedy: Program a shorter thread, reduce the spindle speed.
The programmed runin and runout path only increases the rate of acceleration on the path. If
one of the two paths is set larger than the thread axis needs with active acceleration, the
thread axis is accelerated or decelerated with maximum acceleration.
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 smoothing with Z=53
N61 G0 X20
SD42010
Only paths, and not positions, are programmed with DITS and DITE.
Setting data:
SD42010 THREAD_RAMP_DISP[0,1]
corresponds with the part program instructions and defines the following acceleration
response of the axis during 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.
In order to avoid technology alarm 22280, the acceleration limits of the axis must be
taken into account for very small run-in/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.
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 2-11
Detailed description
2.1 Path feedrate F
Compatibility
Machine data:
MD20650 THREAD_START_IS_HARD
is omitted and replaced by:
SD42010 THREAD_RAMP_DISP[0]
or
SD42010 THREAD_RAMP_DISP[1].
Constraints
When a block is loaded into the interpolator with the DITS and/or DITE command, the path
programmed under DITS is written to setting data:
SD42010 THREAD_RAMP_DISP[0]
and the path programmed under DITE is written to setting data:
SD42010 THREAD_RAMP_DISP[1].
The programmed run-in path is handled according to the current setting (inches, metric).
If no runin/deceleration path is programmed before or in the first thread block, it is
determined by the current content of setting data:
SD42010 THREAD_RAMP_DISP[0,1].
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
Feeds (V1)
2-12 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Detailed description
2.1 Path feedrate F
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*
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.
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 2-13
Detailed description
2.1 Path feedrate F
Sample program
Thread cutting G33 with degressive thread lead G35
Alarms
Thread cutting G33, G34, G35
• The following alarms are output when programming is incorrect:
Feeds (V1)
2-14 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Detailed description
2.1 Path feedrate F
Note
The nondestructive 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.
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.
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 2-15
Detailed description
2.1 Path feedrate F
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 Guide, Advanced
/FB1/ Description of Functions, Basic Machine; 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.
Feeds (V1)
2-16 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Detailed description
2.1 Path feedrate F
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
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 2-17
Detailed description
2.1 Path feedrate F
Application
G331 (tapping) and G332 (tapping retraction) can be used to tap a thread without a
compensating chuck (rigid tapping) if the spindle is technically capable of operating in
position control mode.
Speed S, feedrate F, thread lead
A revolutional feedrate [mm/revolution] is used for G331and G332 threads. The revolutional
feedrate is defined by programming the thread lead increase [mm/revolution].
The speed of the axes for the thread length is calculated from the programmed spindle
speed S and the thread lead.
Feeds (V1)
2-18 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Detailed description
2.2 Feedrate FA for positioning axes
Note
For further information about programming G63/G331/G332, please see:
References:
/PA/ Programming Guide, Fundamentals
/PAZ/ Programming Guide, Cycles
The stop, which was activated previously, is possible again after G331/G332 has been
executed.
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]
Syntax
FA[<positioning axis>] = <feedrate value>
Functionality
The velocity of a positioning axis is programmed with axisspecific feedrate FA.
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 2-19
Detailed description
2.2 Feedrate FA for positioning axes
• 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
Parameter: Feed value
• Value range
0.001...999,999.999 mm/min, degrees/min or 0.001, ...39 999,9999 inch/min
For more information about the value range of the axial feedrate see:
References:
/PA/ Programming Guide, Fundamentals"
/FB/ Description of Functions, Basic Machine; Velocities, Setpoint/Actual-Value Systems,
Closed-Loop Control (G2)
• NC/PLC interface (channel-specific)
The feedrate is output at the channel-specific NC/PLC interface:
DB21, ... DBB158 - DBB193
For a description of the channel-specific NC/PLC interface signals (modification signal,
machine axis number of positioning axis, etc.) see:
References
/FB/Description of Functions, Basic Machine; Various Interface Signals and Functions
(A2)
• NC/PLC interface (axis-specific)
The feed value is output at the axis-specific NC/PLC interface:
DB31, ... DBB78 - DBB81
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::
/FB/ Description of Functions - Basic Machine, Auxiliary Functions (H2)
Feeds (V1)
2-20 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Detailed description
2.3 Feedrate control
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.
2.3.1 General
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 2-21
Detailed description
2.3 Feedrate control
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 *
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:
/FB/ Description of Functions, Basic Machine; Continuous-Path Mode, Exact Stop and Look
Ahead (B1)
Feeds (V1)
2-22 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Detailed description
2.3 Feedrate control
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 2-23
Detailed description
2.3 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 axisspecifically 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 machinespecific acceleration and speed limits or
generate a contour error.
The feedrate override can be changed separately for path and positioning axes.
The overrides act on the programmed values or on the limits (e.g., G26, LIMS for spindle
speed).
A sequence of G63 blocks is traversed without taking into account the feedrate override. A
sequence of G63 blocks consists of directly consecutive blocks with G code G63. It starts
with the first G63 block and finishes with the first path motion block, which is not a G63 block.
Channel-specific "Feedrate override" DB21, ...DBB4 / "Rapid traverse override" DB21, ...DBB5
One enable signal and one byte is provided on the PLC interface for the override factor for
each of the feedrate types.
IS "Feedrate override" (DB21, ... DBB4)
IS "Feedrate override active" (DB21, ... DBX6.7)
IS "Rapid traverse override" (DB21, ... DBB5)
IS "Rapid traverse override active" (DB21, ... DBX6.6)
The interface for the override can be provided by the PLC in binarycoded or Graycoded
format.
Machine data:
MD12020 OVR_FEED_IS_GRAY_CODE (path feedrate override switch Gray-coded)
and
MD12040 OVR_RAPID_IS_GRAY_CODE (rapid traverse override switch Gray-coded)
are used to define whether binary or Gray coding is active.
The following permanent assignment applies to binary coding:
Feeds (V1)
2-24 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Detailed description
2.3 Feedrate control
An active feedrate override acts on all path axes assigned to the current channel.
An active rapid traverse override acts on all axes moving with rapid traverse and assigned to
the current axis.
If no dedicated rapid traverse override switch is used, the system can be switched between
rapid traverse override and feedrate override. In this case, feedrate overrides above 100%
are limited to 100% rapid traverse override.
The override, which is to be active, can be selected from the PLC or operator panel. When
rapid traverse override is activated via the operator front panel, interface signal "Feedrate
override for rapid traverse selected" (DB21, ... DBX25.3) is transferred by the PLC basic
program to interface signal "Rapid traverse override active" (DB21, ... DBX6.6) and interface
signal "Feedrate override" (DB21, ... DBB4) is copied to IS "Rapid traverse override" (DB21,
... DBB5).
If selected via the PLC, interface signal "Rapid traverse override active" (DB21, ...DBX6.6)
must be set by the PLC user program and the interface signal of the feedrate override
(DB21, ... DBB4) must be copied to the interface signal of the rapid traverse override (DB21,
... DBB5).
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 2-25
Detailed description
2.3 Feedrate control
Feeds (V1)
2-26 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Detailed description
2.3 Feedrate control
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 2-27
Detailed description
2.3 Feedrate control
Override active DB21, ...DBX6.6 / DB21, ... DBX6.7 / DB31, ... DBX1.7
The override values set with the selector switch on the machine control panel are
immediately active for all operating modes and machine functions, provided that IS "Rapid
traverse override active", (DB21, ... DBX6.6) "Feedrate overide active" (DB21, ... DBX6.7)
and "Override active" (DB31, ... DBX1.7) are set.
An override factor of 0% acts as a feedrate disable.
Override inactive
When the override is inactive (i.e., the above interface signals are set to “0”), the override
factor “1” is used internally on the NC (i.e., the override is 100%). In this case, the value
entered in the PLC interface has no effect.
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 Graycoded interface, the value
entered in the machine data for the 1st switch setting is output as the override value. This
should be initialized with "0" .
An override factor of 0% acts as a feedrate disable.
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:
Feeds (V1)
2-28 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Detailed description
2.3 Feedrate control
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.
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.
Evaluation
The effect of:
SD42100 DRY_RUN_FEED
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 2-29
Detailed description
2.3 Feedrate control
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.
If the machine data setting:
MD10704 DRYRUN_MASK = 1
is set, 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.
Application
The functionality described in the following is used primarily for grinding, but is not restricted
to it.
Feeds (V1)
2-30 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Detailed description
2.3 Feedrate control
References:
/FB/ Description of Functions, Extensions; Grinding (W4)
/FB/ Description of Functions, Extensions; 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
I1 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.
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 endofblock criterion is satisfied when:
• The programmed end position is reached
• The retraction motion ends (SR)
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 2-31
Detailed description
2.3 Feedrate control
Delete distance-to-go
A retraction motion or dwell time causes the distancetogo 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.
%\WH %\WH
0'B08/7)(('B$66, 'LJLWDOLQSXW 'LJLWDOLQSXW 0'
*1B)$67,1ELWV E\WHBRUB&RPSDUDWRULQSXW E\WHBRUB&RPSDUDWRULQSXW 08/7)(('B$66,*1B)$67,1
E\WH E\WH ELWV
%LW %LW
0' 0'
08/7)(('B$66,*1B)$67,1 ,QYHUVLRQ ,QYHUVLRQ 08/7)(('B$66,*1B)$67,1
ELWV VFUHHQIRUP VFUHHQIRUP ELWV
%LW %LW
B B
,QSXWELW
,QSXWE\WHIRU
0XOWLSOHIHHGUDWHV
LQRQHEORFN
The assignment of the digital input bytes and parameterization of the comparators are
described in:
References:
/FB/ Description of Functions, Basic Machine; Various Interface Signals (A2)
Feeds (V1)
2-32 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Detailed description
2.3 Feedrate control
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 2-33
Detailed description
2.3 Feedrate control
If feedrates, a sparking out time (dwell) or retraction path are programmed for an axis on
account of an external input, this axis must not be programmed as a POSA axis in this block
(positioning axis beyond end of block).
When the input for the sparking out time or retraction path is activated, the distancetogo 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.
Feeds (V1)
2-34 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Detailed description
2.3 Feedrate control
&DOLSHUV
5LQJ
*ULQGLQJGLVF
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
/FB/Description of Functions, Basic Machine; Various Interface Signals and Functions (A2)
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 2-35
Detailed description
2.3 Feedrate control
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.
Constraints
• The fixed feedrate is not active for spindles, positioning axes and tapping.
• During travel at fixed feedrate, the override is determined by machine data:
MD12200 $MN_RUN_OVERRIDE_0 (travel with override 0)
• When fixed feedrate is selected, it is not possible to activate DRF offset.
• The fixed feedrates are always linear feedrate values. Revolutional feedrates are
converted to linear feedrates internally.
Feeds (V1)
2-36 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Detailed description
2.3 Feedrate control
Interface signals
General
The machining conditions can change significantly during surface transitions to
chamfer/rounding. The chamfer/rounding contour elements therefore need their own
optimized feedrate values in order to achieve the required surface finish.
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:
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 2-37
Detailed description
2.3 Feedrate control
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.
Constraints
• 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.
• FRCM=0 activates the feedrate programmed in F for the chamfer/rounding.
• If FRCM is programmed, the FRCM value must be reprogrammed, equivalent to F, on a
G94 ↔ G95 change, etc. If only F is reprogrammed and FRCM > 0 before the feedrate type
is changed, error message 10860 (no feedrate programmed) appears.
General
A separate feedrate can be specified for a single block with the command FB (Feed Block).
For this block the previously active path feedrate is overwritten. After this block, the
previously active modal path feedrate becomes active once more.
Function
The non-modal feedrate is programmed with FB=<value>.
The feedrate value is interpreted according to the type of feedrate active:
Constraints
• The programmed value of FB=<value> must be greater than zero.
Feeds (V1)
2-38 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Detailed description
2.3 Feedrate control
Single axes
Single axes can be programmed:
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 2-39
Detailed description
2.3 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.
Feeds (V1)
2-40 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Detailed description
2.3 Feedrate control
ACC[Axis]= <value> Wher Axis = Channel axis name (X, Y ....), spindle (S1, ...)
e 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
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.
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 2-41
Detailed description
2.3 Feedrate control
• Neutral axes
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
The last programmed value is retained following a RESET.
M30
Feeds (V1)
2-42 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Detailed description
2.3 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]
...
SCPARA[Axis]= Wher Axis = Channel axis name (X, Y ....), spindle (S1, ...)
<value>
e Value = Desired parameter set (1≤ value ≤ 6)
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 2-43
Detailed description
2.3 Feedrate control
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:
Feeds (V1)
2-44 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Detailed description
2.3 Feedrate control
N03 $A_OUT[1]=1
N04 POS[X]=100 COARSEA[X]
N05 ......
TARGET: ; Block search target
• 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.
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 2-45
Supplementary conditions 3
3.1 General constraints
Feedrate interpolation
This function is also available for SINUMERIK 810DE (CCU1).
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).
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 3-1
Supplementary conditions
3.2 Supplementary conditions for feedrate programming
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.
Feeds (V1)
3-2 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Examples 4
4.1 Feedrate programming for chamfer/rounding FRC, FRCM
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 4-1
Examples
4.1 Feedrate programming for chamfer/rounding FRC, FRCM
M02
Feeds (V1)
4-2 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Data lists 5
5.1 Machine data
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 5-1
Data lists
5.2 Setting data
Feeds (V1)
5-2 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Data lists
5.3 Signals
5.3 Signals
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 5-3
Data lists
5.3 Signals
Feeds (V1)
5-4 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
Index
G93, G94, G95, 2-3
Path feedrate F, 2-1
A Rigid tapping G331/G332, 2-18
Spindle override, 2-27
Acceleration correction
Thread cutting G33, 2-9
in the part program/synchronized action, 2-41
Fixed feedrate values, 2-36
Axis/spindle disable ?DB31, ... DBX1.3, 2-23
G
C
G96, G961, G97, G971, 2-5
CFC, 2-2
CFCIN, 2-2
CFTCP, 2-2
Constant cutting rate (G96), 2-5
I
Constant speed G9, 2-6 Inverse-time feedrate (G93), 2-3
D L
Deletion of distance-to-go, 2-32 Linear feedrate (G94), 2-3
Dry run feedrate, 2-29
Dynamic response of an axis/spindle, 2-39
M
Masterslave switchover with G96, G961, 2-8
E MD10704, 2-30
end-of-motion criterion MD10710, 2-7
Programmable in program/synchronized MD11410, 2-10, 2-14
action, 2-42 MD11550, 2-19
MD12000, 2-26
MD12010, 2-26
F MD12020, 2-24
MD12030, 2-25
Feed disable, 2-22
MD12040, 2-24
Feedrate disable DB21, ... DBX6.0, 2-22
MD12050, 2-25
Feedrate FB
MD12060, 2-27
Non-modal, 2-38
MD12070, 2-27
Feedrate for chamfer/rounding, 2-37
MD12080, 2-28
Feedrate override switch, 2-24
MD12082, 2-26
Feedrate/spindle stop, 2-22
MD12100, 2-28
Feedrates
MD12200, 2-36
Dry run feedrate, 2-29
MD12202, 2-36
Feed disable, 2-22
MD12204, 2-36
Feed override, 2-24, 2-28
MD12240, 3-1
Feedrate control, 2-21
MD20100, 2-5, 2-8
Feedrate/spindle stop, 2-22
MD20150, 2-15, 2-17, 2-18, 3-2
feedrates in one block, 2-30
Feeds (V1)
Function Manual, 10.04, 6FC5 297-7AC20-0BP1 Index-1
Index
Feeds (V1)
Index-2 Function Manual, 10.04, 6FC5 297-7AC20-0BP1
10.04
SINUMERIK 840D/840Di/810D
Description of Functions Basic Machine
(Part 1)
Notes
Brief Description 1
The SINUMERIK 840D/810D controls allow calculation of tool compensation
data.
1. Length compensation
2. Radius compensation
3. Storage of tool data in a flexible tool offset memory
– Tool identification with T numbers from 0 to 32000
– Definition of a tool with a maximum of 9 cutting edges
– Cutting edge described by up to 25 tool parameters
Type
Geometry: Length Wear: Length Basic/adapter dimension
Geometry: Radius Wear: radius
Technology
4. Tool selection selectable: Immediate or via selectable M function
5. Tool radius compensation
– Selection and deselection strategy configurable: Normal or
contourrelated
– Compensation applies to all interpolation types:
Linear
Circular
Helical
Spline
Polynomial
Involute
– Compensation at outer corners selectable: transition circle/ellipse (G450)
or equidistant intersection (G451)
– Parameterdriven adaptation of G450/G451 functions to the contour
– Free traversing on outer corners with G450 and DISC parameter
– Number of dummy blocks without axis motion selectable in the
compensation plane
– Contour monitoring selection:
Possible contour violations are predicted if
the path distance is shorter than the tool radius
the width of an inner corner is smaller than the tool diameter.
– Keep tool radius compensation constant (from SW 4)
– Intersection procedure for polynomials (from SW 4)
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 Guide: Fundamentals”
Flat/unique With SW 4 and higher, simple offset selection using D numbers is available in
D number the basic version without management functions.
structure With SW 5 and higher, offset selection via unique D numbers is available with
management function (see FB Tool Management).
Tool offset special Setting data SD 42900 to SD 42960 can be used to control the evaluation of the
treatment sign for the tool length and tool wear.
(SW 5 and higher) The same applies to the response of the wear components when mirroring
geometry axes or changing the machining plane via setting data.
References: /PG/ Programming Guide Fundamentals,
“Tool Offsets” chapter
G461/G462 In order to enable the solid machining of internal corners in certain situations
(SW 5 and higher) with the activation and deactivation of tool radius compensation, commands
G461 and G462 have been introduced and the approach/retraction strategy has
thus been extended for tool radius compensation.
Changing from The change from G40 to G41/G42 and vice versa is no longer treated as a tool
G40 to G41/42 change for tools with relevant tool point direction (turning and grinding tools).
(SW 5 and higher)
Notes
Detailed Description 2
2.1 Tool
Tool selection The T function is used to select a tool in a program. The setting in MD 22550:
TOOL_CHANGE_MODE (new tool offset with M function) determines whether
the new tool is loaded immediately on execution of the T function.
Toolchange TOOL_CHANGE_MODE = 0
immediately The new tool is loaded immediately on execution of the T function. This setting
is used mainly on turning machines with tool turrets.
Tool cutting edge Each tool can have up to 9 cutting edges. The 9 tool cutting edges are assigned
to the D functions D1 to D9.
T..
D1
D2
D3
.
.
.
.
.
.
.
D9
Fig. 2-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 offsets of the active tool.
Selection of the When a new tool (new T number) has been programmed and the old one
cutting edge replaced, the following options are available for selecting the cutting edge:
when changing 1. The cutting edge number is programmed
tool
2. The cutting edge number is specified by MD 20270:
CUTTING_EDGE_DEFAULT
=0 No automatic cutting edge selection takes place after M06
<>0 Number of cutting edge selected after M06
= –1 Cutting edge number of old tool is retained and
is selected for new tool after M06
Activating the tool D1 to D9 activates tool compensation for a cutting edge on the active tool. Tool
offsets length compensation and tool radius compensation can be activated at different
times:
Tool offset Each channel can have a dedicated tool offset memory (TO unit). MD 28085:
memory size MM_LINK_TOA_UNIT (assignment of TO unit to a channel) is set to define
which TO memory exists for the appropriate channel. The maximum number of
tool cutting edges for all tools managed by the NCK is set by means of
MD 18100: MM_NUM_CUTTING_EDGES_IN_TOA (number of tool cutting
edges in NCK).
Tools The tool offset memory consists of tools with the numbers T1 to T32000.
Each tool can be set up using TOA files or individually with the “New tool”
softkey. Offsets which are not required should 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 offset memory, and the first tool does not have to be
assigned number T1.
Tool cutting edges Each tool can have up to 9 cutting edges (D1 to D9). The first cutting edge (D1)
is automatically set up when a new tool is loaded in the tool offset memory.
Other cutting edges (up to 8) are set up consecutively and contiguously using
the “New cutting edge” soft key. A different number of tool cutting edges can
assigned to each tool in this way.
T3 T7
T2 T2
T1 T1
D1 D1
D2 D2
D3 D3
.. ..
.. ..
.. ..
. .
D9 D9
Up to SW 3.x The D No. and the T No. are required for calculation of the tool offset.
T1
T2
ÉÉÉ
ÉÉÉ
ÉÉÉ
Tn
DP25
Offset block
DP1
offset
Example:
The offset block above is to be calculated on the NC:
Call in part program
...
Tn D2
...
SW 4 and higher The D No. is sufficient for calculating the tool compensation values (can be set
(also possible) per MD).
D1
D2
ÉÉÉÉÉ ÉÉÉ
:
ÉÉÉÉÉ ÉÉÉ
Dn
Offset value
Example:
The offset block above is to be calculated on the NC:
Call in part program
...
Dn
Effect on the T If the ’tool management’ function is active, the values programmed with
number reference to the master spindle (or master toolholder) are displayed as
programmed/active T numbers.
If tool management is not active, all programmed T values are displayed as
programmed/active, regardless of which address extension was programmed.
If T_M_ADDRESS_EXT_IS_SPINO = TRUE
(spindle number as address extension), only the T value programmed with
reference to the master spindle is displayed as programmed/active.
Example The effect of the machine data is shown in the following example.
Two spindles are used. Spindle 1 is the master spindle.
M6 was defined as the tool change signal.
T1 = 5
M1= 6
T2 = 50
M2 = 6
D4
Note
Previously, when tool management was not activated, each tool change
command (programmed with T or M) caused the tool offset to be recalculated in
the path. The address extension is not defined further by this operation.
The meaning of the extension is defined by the user (in the PLC user program).
Functions In SW 5 and higher, the functions for allocating D numbers have been extended
(SW 5 and higher) significantly:
S The number of cutting edges (or offset data sets) per tool can also be
defined by machine data
(MD 18106: MM_MAX_CUTTING_EDGE_PERTOOL).
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.
S 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).
Cutting edge When you rename D numbers, the information in the tool catalog detailing the
number CE numbers defined for these cutting edges is lost.
It is therefore impossible to determine, after the renaming operation, which
cutting edge of the catalog is referenced.
Since this information is required for retooling procedures, a cutting edge
number CE has been introduced for each cutting edge. This number remains
stored when the D number is renamed.
The D number identifies the cutting edge offset in the parts program. In SW 5
and higher, this offset number D is administered separately from the cutting
edge number CE (the number in the tool catalog). Any number can be used.
The number is used to identify an offset in the parts program and on the display.
The CE number identifies the actual physical cutting edge during retooling. The
cutting edge number CE is not evaluated by the NCK on offset selection during
a tool change (only available via the OPI).
The cutting edge number is defined with system variable $TC_DPCE[t,d].
Note
The offset values $TC_DP1, ..., $TC_DP25 of the active tool offset can be read
with system variable $P_AD[n]; where n=1, ...,25. The CE cutting edge number
of the active offset is returned with n=26.
Commands If the maximum cutting edge number (MD 18105) is greater than the maximum
number of cutting edges per tool (MD 18106), the following commands are
available:
Note
If the maximum cutting edge number is less than the maximum number of
cutting edges per tool
(MM_MAX_CUTTING_EDGE_NO < MM_MAX_CUTTING_EDGE_PERTOOL)
the language commands described have no effect on the system.
This relation is set by default on the NCK to ensure compatibility of existing
applications.
Activation In order to work with unique D numbers and thus 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:
Examples MM_MAX_CUTTING_EDGE_NO = 1
A maximum of one offset can be defined per tool
(with D number = 1).
Note
When the ’flat D numbers’ function is active, only one D offset can be defined in
the TO unit.
MM_MAX_CUTTING_EDGE_NO = 9999
Tools can be assigned unique D numbers.
For example:
MM_MAX_CUTTING_EDGE_PERTOOL = 1
Only tools which have one cutting edge are used. The value 1 of the machine
data inhibits the definition of a second cutting edge for a tool.
MM_MAX_CUTTING_EDGE_PERTOOL = 12
Up to 12 cutting edges can be defined for a tool (9 cutting edges per
tool were allowed up to SW 4).
S Internal T number T = 1
S D number = 2
S 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
S MM_MAX_CUTTING_EDGE_NO = 20
Within the parts program, this offset is programmed as standard with T1, ....D2.
You assign the current D number of cutting edge 3 to a variable (DNoOld) and
define the variable DNoNew for the new D number:
def int DNoOld, DNoNew = 17
DNoOld = GETDNO( 1, 3 )
SETDNO( 1, 3, DNoNew )
Note
If the tool has a further cutting edge defined; e.g.
$TC_DPCE[ 1, 2 ] = 1 ; = CE,
D number 2 of cutting edge 1 cannot have the same name as the D number of
cutting edge 3; i.e.
SETDNO( 1, 1, 17)
If one of the offsets 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 is assigned the (new) D number 100
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 returned.
.... ; One or more loops over the locations of the magazine(s) to check
the tools and their cutting edge numbers.
If a tool is found which is not yet disabled ($TC_TP8) and has the
desired cutting edge number CE (GETDNO), the new D number is
allocated to the cutting edge (SETDNO).
2.1.5 Correction block for error during tool change (SW 5 and higher)
If a tool preparation has been programmed in the parts program and the NCK
detects an error (e.g. the data set for the programmed T number does not exist
in the NCK), the machining program is terminated with an alarm message (up to
SW 4).
In SW 5 and higher, the user can assess the error situation (programming error
in the parts program, tool data set not in NCK) and initiate appropriate measures
before continuing with machining.
The tool change can be programmed in various ways depending on machine
data MD 22550: TOOL_CHANGE_MODE:
TOOL_CHANGE_MODE = 0
T= ’T no.’ ; Tool preparation and tool change in one NC block;
; i.e. when T is programmed, a new D offset is activated
; in the NCK (see MD 20270: CUTTING_EDGE_DEFAULT)
TOOL_CHANGE_MODE = 1
T= ’T no.’ ; Tool preparation
M06 ; Tool change
; (the number of the tool change M code can be set)
; i.e. when M06 is programmed, a new D offset is activated
; in the NCK (see MD 20270: CUTTING_EDGE_DEFAULT)
The following problems can occur if tool management is not active:
Note
The ’tool not in magazine’ problem cannot be detected since the NCK did not
have access to any magazine information during the tool compensation.
D offset Program execution is interrupted at the block containing the invalid D value
data set missing (independent of the value of machine data MD 22550). The operator must either
correct the program or reload the missing data set.
To do this, he needs the D number for the flat D number function, or otherwise
the T number as well. These parameters are passed together with the activated
alarm 17181 (same function as 17180).
Error in The options for intervention in the event of an error depend on how the tool
parts program change was programmed (defined via machine data MD 22550:
TOOL_CHANGE_MODE).
The following occurs when this part of the program is executed again:
Txx ; Error! Data set with xx does not exist,
; store status; store xx;
; continue program
....
Tyy M06 ; Detect flag ’xx missing’ –> reject without further reaction,
; because Tyy M06 is correct –> program does not stop (correct).
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
During program testing, the program also stops immediately at the Txx block
containing the error if TOOL_CHANGE_ERROR_MODE Bit0=1, to allow the
program to be corrected.
DRF handwheel During DRF handwheel traversal, it is possible to move a transverse axis
traversal with half through only half the distance of the specified increment as follows:
distance (SW 6 Specify the distance with handwheel via
and higher) MD 11346: HANDWHEEL_TRUE_DISTANCE = 1
Define the DRF offset in the transverse axis as a diameter offset with bit 9 = 1 of
MD 20360: TOOL_PARAMETER_DEF_MASK
When an axial DRF offset is deselected, an existing tool offset (handwheel
override in tool direction) is also deleted.
Note
For further information about superimposed movements with the handwheel,
please refer to:
References: /FB/, H1 “Manual Travel and Handwheel Travel”
/PG/, “Programming Guide Fundamentals”
The Programming Guide contains a complete technical description of
axis-specific deselection of the DRF offset.
Data backup Data backup is carried out in the same format, i.e. a backup file with which the
’flat D number’ function is created cannot be input to the NCK of a control that
has not activated the function.
The same also applies in reverse for transfer.
The programmer has various options for specifying the D number in the parts
program.
One option is to read it from the system variable
$A_DNO[n] (n=1,...9).
(“DNO” stands for D number)
Meaning The variable reads the value of the nth position from a table containing
the D numbers.
The variable is typically used for indirect D programming
(via parameter): D=$A_DNO[1]
The variable reads a field element (=the concrete D number) in the D
number table of VDI. The PLC writes the matching D number for this T
number to the field after the NCK has output the auxiliary function T to
the PLC.
Field elements have the value zero, if no D number has been defined
for them.
A maximum of 9 different D numbers can be stored in the VDI inter-
face for 1 T.
The D numbers themselves will accept values between 0 and 32000,
i.e. the table can contain gaps.
Data type INT
Value range 1–99 999 999
Indices n=1–9.
Index n indicates the position in the D number table that is to be read.
Access Read in parts program
Preprocessor Yes
stop
Synchronized Read in synchronized actions
action
Validity Only relevant in conjunction with the ’flat D numbers’ or tool manage-
ment on PLC.
Extending the It is not possible to extend the address of D. Only one active offset data block is
address of D possible for the tool path at a given time.
Direct, absolute Programming in the parts program is carried out as before. Only the value range
programming of the programmed D number is increased.
Example 1:
MD 22550: TOOL_CHANGE_MODE = 0
MD 18102: MM_TYPE_OF_CUTTING_EDGE = 1
MD 20270: CUTTING_EDGE_DEFAULT = –1
...
D92
X0 Traverse with offsets of D92
T17 outputs T=17 to PLC
X1 Traverse with offsets of D92
D16
X2 Traverse with offsets of D16
D32000
X3 Traverse with offsets of D32000
T29000 outputs T=29000 to PLC
X4 Traverse with offsets of D32000
D1
X5 Traverse with offsets of D1
...
Example 2:
MD 22550 = 0
T1
T2
T3
D777 Do not wait, activate D777,
T3 = programmed and active tool in the display
D777 = programmed and active offset
Note
Indirect D=$A_DNO[n]
parameterized means: Select the D number entered at position n (=1 to 9) in the VDI D number
program table.
The variable $A_DNO is read during runup with a forced synchronization
beforehand in the main run.
The D numbers available in the VDI interface can be read with $A_DND.
Note
It must be guaranteed beyond doubt that the PLC has written the D numbers
that match the previously programmed T value, before the NCK main run reads
the D number. This mechanism (in the NCK) initiates a general wait for PLC in
the NCK.
Before outputting the T number to the PLC, the NCK stores the status of the VDI
with reference to the queued D number(s). A counter is contained in the VDI for
this purpose. The PLC increments the counter each time the D number is
refreshed. If necessary the next D number request from the NCK waits until the
counter value has changed. The VDI then contains the new D number table
which belongs to the value previously programmed.
Important
! D can only be programmed without an address extension. D always refers to
the master spindle. T can be programmed with an address extension.
The PLC must only write the D offsets to the VDI with T values or M6
commands with reference to the master spindle. The NCK assumes that this is
the case when performing synchronization actions during reading of the D
numbers from the VDI.
S $TC_DP1[0] = 0
Delete all D offsets in NCK.
Active offset data blocks (D numbers) cannot be deleted. It may therefore be
necessary to program D0 before deleting.
Tool MDs The following machine data affect the way tools and cutting edges (D numbers)
work in the NCK:
S MD20270: CUTTING_EDGE_DEFAULT
S MD20130: CUTTING_EDGE_RESET_VALUE
S MD20120: TOOL_RESET_VALUE
S MD20121: TOOL_PRESEL_RESET_VALUE
S MD22550: TOOL_CHANGE_MODE
S MD22560: TOOL_CHANGE_M_CODE
S MD 20110: RESET_MODE_MASK
S MD20112: START_MODE_MASK
2.2.5 Programming M6
The NC recognizes 1 master spindle per channel (spindle number set by MD).
Offsets and the M6 command (tool change) are calculated only with reference
to the master spindle.
MD 22550 defines whether the tool change command is performed with an M
function. T is used as the tool preparation command. MD 22560 specifies the
name of the M function for the tool change. The default is M6. An address
extension of M6 is interpreted as a spindle number.
MD 20110, bit 3 can be used to define that the active tool and the tool offset are
transferred as follows:
S Bit 3=1 from the last test program to finish in test mode, or
S Bit 3=0 from the last program to finish before activation of the program test
Too management The active tool management of the NCK 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 the tool management only makes sense when concrete tools
have been defined and these are to be utilized by the NCK.
Flat D number Flat D number means that the tool management is carried out outside the NCK
and there is no reference made to T numbers.
No mixture It does not make sense to mix or distribute the tool management functions over
of tool management the NCK and PLC, since the main reason for tool management on the NCK is to
and flat D No. save time.
This only works if the tasks that are timecritical are carried out on the NCK. This
is not the case for ’flat D number’ however.
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.
Tool cutting edge The following data are used to describe a tool cutting edge uniquely:
S Tool type (end mill, drill, etc.)
S Geometrical description
S Technological description
Tool parameter The geometrical description, the technological description and the tool type are
mapped to tool parameters for each type of tool.
The following tool parameters are available for this purpose:
Reserved ... means that this tool parameter of 840D/810D is not used
(reserved for expansions).
Milling cutter types 111, 120, 121, 130, 155, 156 and 157 3D are given special
treatment for face milling by evaluating tool parameters (1 – 23). For further
information about different tool types see Subsection 2.3.1 Tool type (tool
parameter) and
References /FB/, W5, “3D Tool Radius Compensation”
Meaning A 3digit number is used to define the tool type. The operator/machine
setter/programmer selects the tool type. This determines further components
such as geometry, wear and tool base dimensions in advance. The tool type
has no meaning in the grinding and turning tool groups. Nonlisted numbers are
also permitted, in particular with grinding tools (400–499).
Table 2-2 Table of the main tool parameters available (only the tool type is necessary)
–Length
–Radius
–Peripheral speed
–Wheel radius min.
Grinding wheel peripheral speed
– Length 2
– Length 3
Geometry length 1
Maximum speed
Undercut angle
Tool type
Wear radius
Wear length
Milling tools and drilling tools (all other)
100 Milling tool according to CLDATA*1 x x x x x x x
110 Ball end mill x x x x x x x
120 End mill x x x x x
121 End mill with corner rounding x x x x x
130 Angle head cutter x x x x x x x
131 Angle head mill with corner rounding x x x x x x x
140 Facing tool x x x x x
145 Thread cutter x x x x x
150 Side mill x x x x x
155 Truncated cone mill x x x x x x x
200 Twist drill x x x
205 Drill x x x
210 Boring bar x x x
220 Center drill x x x
230 Countersink x x x
231 Counterbore x x x
240 Tap regular thread x x x
241 Tap fine thread x x x
242 Tap/Whitworth thread x x x
250 Reamer x x x
Grinding tools and turning tools (400 – 599)
400 Surface grinding wheel x x x x x x x x x x
401 Surface grinding wheel with monitoring x x x x x x x x x x x x x
403 Same as 401 but without tool base dimension x x x x x x x x x x x x
for GWPS*2
410 Face grinding wheel x x x x x x x x x
411 Face grinding wheel with monitoring x x x x x x x x x x x x
413 Same as 411 but without tool base dimension x x x x x x x x x x x
for GWPS*2
490 Dresser x x x x x x x x
500 Roughing tool x x x x x x x x x
510 Finishing tool x x x x x x x x x
520 Plunge cutter x x x x x x x x x
530 Parting tool x x x x x x x x x
540 Threading tool x x x x x x x x x
Special tools (700)
700 Slotting saw x x x x x
Special features
S The tool type must be specified for each tool cutting edge.
S The tool type is only permitted to accept the defined values (see table 2-1).
S Tool type 0 (zero) means that no valid tool is defined.
Tool offset data for The following offset data (TOA data) can be specified for slotting saw tool type
slotting saw type (type 700):
L2
ÈÈ
k
ÈÈ
ÈÈ
ÈÈ d
ÈÈ
ÈÈ
Toolholder
(reference point) ÈÈ
ÈÈ
L1
d/2 = L1
b/2–k = L2
The width of the saw blade is taken into account with G40 to G42
(G40 no compensation for saw blade, G41 saw blade compensation left, G42
saw blade compensation right).
The control also needs the following parameters in order to calculate the tool
radius offset for turning tools (tool type 5xx):
S
R
Length 1
Length of cutting The cutting edge position describes the position of the tool tip P in relation to the
edge cutting edge center point S. The cutting edge position is entered in tool
parameter 2 (shown as P2 in the figure).
+X
P2 = 1 P2 = 2 P2 = 3 P2 = 4 P2 = 5 P2 = 6 P2 = 7 P2 = 8 P2 = 9
P P=S
S
+Z
Fig. 2-5 Tool parameter 2c (P2): Machining behind the turning center
S
+Z
P P=S
P2 = 1 P2 = 2 P2 = 3 P2 = 4 P2 = 5 P2 = 6 P2 = 7 P2 = 8 P2 = 9
+X
Fig. 2-6 Tool parameter 2 (P2): Machining in front of the turning center
+Z +Z +Z +Z +Z
P2 = 5 P2 = 6 P2 = 7 P2 = 8
P2 = 9
P P=S
P2 = 1 P2 = 2 P2 = 3 P2 = 4
S
+X +X +X +X +X
Fig. 2-7 Tool parameter 2 (P2): Cutting edge position for vertical boring and turning mills
Special feature
S If the cutting edge center point S is used instead of point P as a reference
point to calculate the tool length compensation, the identifier 9 must be
entered for the cutting edge position.
Tool length 1 to 3 The lengths of the tools for the tool length compensation are entered as tool
lengths 1 to 3 (tool parameters 3 to 5). The following basic length specifications
are required to be entered, according to the tool type:
Important
! Regardless of the tool type, all three tool parameters 3 to 5 (tool length 1 to 3)
are included in the calculation on the three geometry axes.
If more than the minimum number of tool lengths are entered in tool parameters
3 to 5 (only tool length 1 is required for tool type 2xx), the additional tool lengths
are included in the calculation on the geometry axes without triggering an
alarm.
Note
Please refer to the following documentation for information concerning the entry
of the tool size (lengths) in tool parameters 3 to 4 (tool lengths 1 to 3) and how
they are calculated into the three geometry axes:
References: /BA/, Operator’s Guide
ÉÉÉ
ÉÉÉ F = toolholder reference point
F
Fig. 2-8 Twist drill (tool type 200) with tool length (tool parameter 3)
Special feature The active size of the tool is only defined when the geometry tool length
compensation (tool parameters 3 to 5) and the wear tool length compensation
(tool parameters 12 to 14) are added together (see Subsection 2.2.5). The base
dimension/adapter dimension is also added (see Subsection 2.2.7) in order to
calculate the complete tool length compensation into the geometry axes.
The geometry tool radius compensation defines the shape of the tool.
ÉÉÉÉÉ b
r
e
h
(h ... tool length)
f
WZ–P6 :f ... length 1
WZ–P7 :e ... length 2
WZ–P8 :d/2... radius 1
a
WZ–P9 :r ... radius 2
WZ–P10 :a... angle 1
WZ–P11 :b... angle 2
d
Note
The tool description as given in fig. 2-9 is required only for 3D face milling. The
following applies in other cases:
Of the tool parameters 6 to 11, only tool parameter 6 (tool radius 1) is used on
SINUMERIK 840D/810D.
For information about the entry of the tool shape (radius for TRC) in tool
parameters 6 to 11 and the calculation in the three geometry axes initiated by
the tool radius compensation, please read:
References: /PA/, “Programming Guide Fundamentals”
/FB/, W5, “3D Tool Radius Compensation”
Tool radius 1 The tool radius must be entered for the following tool types in tool parameter 6
(tool radius 1):
The tool radius compensation is used to calculate the tool radius into the current
plane (G17 to G19), see Section 2.3.
Meaning While the geometry tool length compensation (tool parameters 3 to 5) is used to
define the size of the tool, the wear tool length compensation can be used to
correct the change in the active tool size. The active tool size can change due
to:
S Differences between the tool fixture on the tool measurement machine and
the tool fixture on the machine tool.
S The wear on the tool caused during the service life by machining.
S Definition of a finishing allowance.
Active tool size The geometry tool compensation (tool parameters 3 to 5) and the wear tool
length compensation (tool parameters 12 to 14) are added together (geometry
tool length 1 is added to wear tool length 1, etc.) to arrive at the size of the
active tool.
Meaning While the geometry tool radius compensation (tool parameters 6 to 11) is used
to define the shape of the tool, the wear tool radius compensation can be used
to correct the change in the active tool shape.
The active tool size can change due to:
S The wear on the tool caused during the service life by machining.
S Definition of a finishing allowance.
Active tool shape The geometry tool radius compensation (tool parameters 6 to 11) and the wear
tool radius compensation (tool parameters 15 to 20) are added together
(geometry tool radius 1 is added to wear tool radius 1, etc.) to arrive at the
shape of the active tool.
Meaning The base dimension/adapter dimension can be used when the reference point
of the tool holder (tool size) is different from the reference point of the toolholder.
This is the case when:
S 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).
S The tool is used in a second tool fixture located at another position (e.g.
vertical and horizontal spindle).
Turning
center
Tool base
Tool base dimension
dimension Length 2 Tool base
Length 1 dimension
Radius F Length 1
F’ F’
Length 2 Length 1
Basic length In order that the discrepancy between the toolholder reference point F and the
1 to 3 toolholder reference point F’ can be corrected on the three geometry axes
(three dimensional), all 3 basic lengths are active irrespective of the tool type. In
other words, a twist drill (tool type 200) with a tool length compensation
(length 1) can also have a base dimension/adapter dimension in 3 axes.
Note
Please refer to the following documentation for more information on the
base/adapter dimension tool length compensation:
References: /PA/, “Programming Guide 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 degrees with no leading sign) is entered in tool parameter 24
as the tool clearance angle.
Undercut Undercut
X angle angle
Longitudinal/face The tool clearance angle is entered differently, according to the type of
machining (longitudinal or face). If a tool is to be used for both longitudinal and
face machining, two cutting edges must be entered for different tool clearance
angles.
Tool clearance
angle for face
machining
Tool clearance
X angle for
longitudinal
machining
Fig. 2-12 Tool clearance angle for longitudinal and face machining
Note
If the tool clearance angle (tool parameter 24) is entered as zero, monitoring is
not active during relief cutting in the turning cycles.
For a detailed description of the tool clearance angle, please read:
References: /PAZ/, “Programming Guide Cycles”
2.3.9 Tools with relevant tool point direction (SW 5 and higher)
Up to SW 4.x The change from G40 to G41/G42 or vice versa is treated as a tool change for
tools with relevant tool point direction. This causes a preprocessor stop when a
transformation (e.g. TRANSMIT) is active, and thus to deviations from the
intended part contour.
Cutting edge
center point
Programmed retraction block
ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
with preceding
block
ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
Last position of cutting edge center point
on the contour (up to SW 4.x)
ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
Tool edge reference point
Fig. 2-13 Retraction behavior for tool with relevant tool point direction
Note
The subject is irrelevant with respect to face milling as only defined tool types
without relevant tool point direction 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 tool point direction parameter is ignored).
Note
Please refer to the following documents for information on tool radius
compensation (TRC):
References: /PA/, “Programming Guide Fundamentals”
Only the Programming Guide 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 parts 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. Tool radius compensation can be used to calculate the equidistant
path to the programmed contour from the tool radius.
Tool
Workpiece
contour
Path of the
tool center point
at equal distance
to the contour
TRC on the plane Tool radius compensation is active on the current plane (G17 to G19) for the
following types of interpolation:
S G41 ... TRC on the lefthand side of the contour in the direction of
S G42 ... TRC on the righthand side of the contour in the direction of
Intermediate In general, only program blocks with positions on geometry axes in the current
blocks plane are programmed when tool radius compensation (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:
Special features
S Tool radius compensation can only be selected in a program block with G0
(rapid traverse) or G1 (linear interpolation).
S A tool must be loaded (T function) at the latest in the program block with the
tool radius compensation selection and the tool cutting edge (tool offset) (D1
to D9) must be activated.
S Tool radius compensation is not selected with a tool cutting edge/tool offset
of D0.
S If only one geometry axis is programmed on the plane when the tool radius
compensation is selected, the second axis is automatically added on the
plane (last programmed position).
S If no geometry axis is programmed for the current plane in the block with the
tool radius compensation selection, no selection takes place.
The instructions NORM and KONT can be used to control the approach
response (selection of tool radius compensation with G41/42) and the retraction
response (deselection of tool radius compensation with G40):
NORM ... Standard setting at beginning/end point (default setting)
KONT ... Travel round contour at beginning/end point
KONTC ... Approach/retraction with constant curvature
(SW version 7 and higher)
KONTT .. Approach/retraction with constant tangent
(SW version 7 and higher)
Special features
S KONT only differs from NORM when the tool start position is behind the
contour.
ÉÉÉÉÉÉ
Contour = straight line
ÉÉÉÉÉÉ
ÉÉÉÉÉÉ
Behind
P1
contour
R = Tool radius
In front of
contour P1’
G42corrected
P0
Example for selecting TRC Example for selecting TRC
with NORM behind the contour with KONT behind the contour
ÉÉÉ
ÉÉÉ ÉÉÉ
ÉÉÉ
P0 P0
ÉÉÉ
ÉÉÉ Contour violation
ÉÉÉ
P1
ÉÉÉ Contour OK
G42
P1 ÉÉÉ
ÉÉÉ R
G42
ÉÉÉ
R
ÉÉÉ R
P1’ P1”
P1’
Fig. 2-15 Example for selecting TRC with KONT or NORM in front of and behind the
contour
Supplementary The approach and retraction blocks are polynomials in the following two
conditions variants. They are therefore available only for control versions in which
polynomial interpolation is released.
S 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.
S 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. See example further below.
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 allowed 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 the 3D variants of the tool radius
compensation (CUT3DC, CUT3DCC, CUT3DF).
If they are programmed, the control switches internally to NORM without an
error message.
Example KONTC
Figure 2-16 shows a typical application for approach and retraction with
constant curvature:
The full circle is approached beginning at the circle center point. The direction
and curvature radius of the approach circle at the block end point are identical
to the values of the next circle. Infeed takes place in the Z direction in both
approach/retraction blocks simultaneously. This is shown in the 3D diagram in
Fig. 2-17. The associated NC program segment is as follows:
$TC_DP1[1,1]=121 ; Milling tool
$TC_DP6[1,1]=10 ; Radius 10 mm
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 planes.
60
40
N20
20
N30
0
-20
N40
-40
-60
-60 -40 -20 0 20 40 60
Fig. 2-16 Approach and retraction with constant curvature during inside machining of a
full circle. Projection in the X–Y plane.
60
40
-50
50 20
0
0 50
0
50
-50
Fig. 2-17 Approach and retraction with constant curvature during inside machining of a
full circle. 3D representation.
KONTT and
KONTC compared
Fig. 2-18 shows the differences in approach/retract behavior between KONTT
and KONTC. A circle with a radius of 20 mm about the center point at X0 Y–40
is compensated with a tool with an external radius of 20 mm. The tool center
point therefore moves along a circular path with radius 40 mm. The end point of
the approach blocks is at X40 Y30. The transition between the circular block
and the retraction block is at the zero point. Due to the extended continuity of
curvature associated with KONTC, the retraction block first executes a
movement with a negative Y component. This will often be undesired. This
response does not occur with the KONTT retraction block. However, with this
block, an acceleration step change occurs at the block transition.
If the KONTT or KONTC block is the approach block rather than the retraction
block, the contour is exactly the same, but machined in the opposite direction,
i.e. the approach and retraction behavior are symmetrical.
30
20
10
KONTT
0
-10 KONTC
-20
-30
-40
-40 -20 0 20 40
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.
Meaning The soft approach and retraction function (SAR) is used to achieve a tangential
approach to the start point of a contour, regardless of the position of the start
point.
The approach response can be varied and adapted to special needs using a
range of additional parameters.
The two functions, soft approach and soft retraction, are largely symmetrical.
The following Section is therefore restricted to a detailed description of
approach; special reference is made to differences that occur with retraction.
Retraction On retraction, the points are crossed in the reverse direction, i.e. starting at P4
movement and ending at P0.
Parameters The response of the soft approach and retraction function is determined by up
to 9 parameters:
P0 P0
P3 with approach P3 with approach P3 with approach
on straight line (G147) on quadrant (G247) on semicircle (G347)
P0
Tool Tool center path Tool center path Tool center path
Tool Tool
DISR DISR
ÉÉÉÉÉ
P4 Contour
ÉÉÉÉÉÉ
P4 Contour
ÉÉÉÉÉÉÉ
P4 Contour
DISR
ÉÉÉÉÉ ÉÉÉÉÉÉ ÉÉÉÉÉÉÉ
Fig. 2-19 Approach response depending on G147 to G347 and DISR (on simultaneous activation of tool radius
compensation)
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.
P0 P1 P0 P1
Infeed movement
ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
P4 P3 P4
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.
S Programming the end point P4 (or P0 for retraction) generally with X...
Y... Z....
– Possible ways of programming the end point P4 for approach:
End point P4 can be programmed in the actual SAR block.
Example:
0 10 20 30 40 50 X
Contour
ÉÉÉÉÉÉÉÉ
P4
–10
DISR=13 ÉÉÉÉÉÉÉÉ
Fig. 2-21 Example
ÉÉÉÉÉÉÉÉÉÉ
(G248 G40 ....)
P4
Contour (preceding block)
0 X
ÉÉÉÉÉÉ
10 20 30 40 50 60
ÉÉÉÉÉÉ
–10
Z G0
20
P0 P1
G0
10
P2 F500
5
P4
0 P3 F2000 F2000 X
S Programmed 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 speed defined by FAD is not used for
following blocks.
Velocities In the approach display shown in Figures 2-24 and 2-25 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.
P0 P1 P2, P3 P4
No velocity programmed
Only F programmed
P0 P1 P2 P3 P4
No velocity programmed
Only F programmed
On retraction, the roles of the modal feed from the preceding block and the feed
value programmed in the SAR block are swapped, i.e. the actual retraction
contour (straight line, circle, helix) is traversed at the old feedrate; a new velocity
programmed with the F command is valid from point P2 to point P0. If level
retraction is active and FAD is programmed, the path from P3 to P2 is traversed
with FAD, otherwise the old velocity applies. 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 condition that G0 is not active.
P4 P3 P2 P1 P0
No velocity programmed
Only F programmed
System variables Points P3 and P4 can be read in the WCS as a system variable during
approach.
Supplementary
conditions
S 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.
S 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.
S At least two blocks must always be taken into consideration:
– The SAR block itself and
– the block which defines the approach or retraction direction
Further blocks can be programmed between these two blocks.
With MD 20202: WAB_MAXNUM_DUMMY_BLOCKS limits the maximum
number of intermediate blocks.
S If tool radius compensation is activated simultaneously in an approach
block, the first linear block of the SAR contour is the block in which activation
takes place. The complete contour generated by the SAR function is
handled by the tool radius compensation as if it has been programmed
explicitly (collision monitoring, calculation of intersection, approach response
NORM/KONT).
S The direction of the infeed movement and the position of the circle plane or
the helix axis are defined exclusively by the active plane (G17 – G19) –
rotated with an active frame where appropriate.
S On approach, a preprocessor stop must not be inserted between the SAR
block and the following block which defines the direction of the tangent.
Whether programmed explicitly or inserted automatically by the controller, a
preprocessor stop results, in this case, in an alarm.
Response with If a SAR cycle is interrupted and repositioned, it resumes at the point of
REPOS interruption on RMI. The contact point on RME is the end point of the last SAR
block; with RMB it is the start point of the first SAR block.
If RMI is programmed together with DISPR (reapproach at distance DISPR in
front of interruption point), the reapproach point can appear in a subblock of the
SAR cycle before the interruption subblock.
Y SAR contour
ÉÉÉÉÉÉÉÉÉ
ÉÉ
ÉÉÉÉÉÉÉÉÉ
ÉÉ
ÉÉ
0
ÉÉ
20 40 60 80 100 X
ÉÉ
ÉÉ
–20 Tool
–40
Infeed
movement
in Z ÉÉ
Tool center path
Part program:
$TC_DP1[1,1]=120 ; Tool definition T1/D1
$TC_DP6[1,1]=10 ; Radius
N10 G0 X0 Y0 Z30
N20 G247 G341 G42 NORM D1 T1 Z0 FAD=1000 F=2000 DISCL=5 DISR=10
N30 X40
N40 X100
N50 Y–30
...
S The end point of the circle is obtained from N30, since only the Z position is
programmed in N20
S Infeed movement
– From Z20 to Z7 (DISCL=AC(7)) with rapid traverse
– Then on to Z0 with FAD=200
– Approach circle in XY plane and following blocks with F1500 (for this
velocity to be active in the following blocks, the active G code G0 must
be overwritten in N30 with G1. Otherwise the contour would continue to
be machined with G0.)
The following conditions apply to retraction:
S After the circle block, the retraction movement leads from Z8 to Z20 and the
movement is parallel to the XY plane up to the end point at X70 Y0.
P3ab
ÉÉÉÉÉ
P0an 50 x
20 30 40 60 80
Contour P0ab
ÉÉÉÉÉ
P4an P4ab
Part program:
$TC_DP1[1,1]=120 ; Tool definition T1/D1
$TC_DP6[1,1]=10 ; Radius
Note
The contour generated in this way is modified by the 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.
Special features
S The deselection of tool radius compensation can only be performed in a
program block with G0 (rapid traverse) or G1 (linear interpolation).
ÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇ
Fig. 2-29 Example of a 90 degree outside corner with G450 and G451
G450 transition With the G function G450 active, the center point of the tool with outside corners
circle performs a circular path along the tool radius. The circular path begins
perpendicular to the path tangent at the end point of the previous path section
(program block) and ends in the perpendicular position at the start point of the
new path section (program block).
In cases where the outside corners are very flat, the response with G450
(transition circle) and G451 (intersection) becomes increasingly similar –––>
very flat outside corners.
If pointed outside corners are desired, the tool must be retracted from the
contour –––> see DISC.
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. This produces a conic section
from the transition circle and causes the tool edge to lift off the external corner.
The value range of the DISC instruction is 0 to 100 in increments of 1.
DISC = 0 ... Oveshoot deactivated, transition circle active
DISC = 100 ... Overshoot so large that the theoretical response
is the same as for intersection (G451).
The setting in MD 20220: CUTCOM_MAX_DISC (maximum value for DISC) can
be used to define the maximum value that can be programmed with DISC.
Values over 50 are generally not advisable with DISC.
DISC=0 DISC=100
ÉÉÉÉÉÉÉ DISC=25
ÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉ
Conic section
ÉÉÉÉÉÉÉ
Circle
Contour angle
S/R
1.0
0.8
DISC=100
0.6 DISC=
50
0.4 40
30
0.2 20
10
0
0 30 60 90 120 150 180
Contour angle [degrees]
R radius S traverse overshoot
S/R scaled overshoot (with reference to the tool radius)
G451 intersection When G functionG451 is active, the approached position (intersection point) is
determined by the path lines (straight line, circle or helix only) which are located
at a distance equal to the tool radius away from the programmed contour (i.e.
the center point path of the tool); splines and polynomials are never extended.
In cases where the outside corners are very pointed, G451 may produce
excessive idle paths –––> very pointed outside corners.
Very pointed Where outside corners are very pointed, G451 can result in excessive idle
outside corners paths (see Fig. 2-32). The system therefore switches automatically from G451
(intersection) to G450 (transition circle, with DISC where appropriate) when the
outside corners are very pointed. The contour angle which can be traversed
following this automatic switchover (intersection –––> transition circle) can be
defined in MD 20210: CUTCOM_CORNER_LIMIT (maximum angle for
compensation blocks with tool radius compensation).
Contour angle
Very flat Where the outside corners are very flat, the response with G450 (transition
outside corners circle) and G451 (intersection) becomes increasingly similar. In this case, it is no
longer advisable to insert a transition circle. One reason why it is not permitted
to insert a transition circle at these outside corners with 5axis machining, is that
this would impose restrictions on the speed in contouring mode (G64). Where
the outside corners are very flat, the system therefore switches automatically
from G450 (transition circle, with DISC where appropriate) to G451
(intersection). The contour angle which can be traversed following this
automatic switchover (transition circle –––> intersection) can be defined in
MD 20230: CUTCOM_CURVE_INSERT_LIMIT (maximum angle for intersection
calculation with tool radius compensation).
Contour angle
Intersection If two consecutive blocks form an inside corner, an attempt is made to find an
intersection of the two equidistant paths. If an intersection is found, the
programmed contour is shortened to the intersection (first block shortened at
end, second block shortened at beginning).
Shortened
contour
No intersection In certain cases, no intersection is found between two consecutive blocks for
inside corners (see Fig. 2-35).
Predictive contour If no intersection is found between two consecutive blocks, the control
calculation automatically checks the next block and attempts to find an intersection with the
equidistant paths of this block (see fig. 2-35: intersection S). This automatic
check of the next block (predictive contour calculation) is always performed until
a number of blocks defined by machine data has been reached. This maximum
number of blocks used for the predictive check can be entered in MD 20240:
CUTCOM_MAXNUM_CHECK_BLOCKS. If no intersection is found within the
number of blocks defined for the check, program execution is interrupted and
alarm 10751 is output.
ÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
N30 S
ÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
N50
N40
Fig. 2-35 If there is no intersection between N30 and block N40, the intersection
between block N30 and block N50 is calculated.
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ S3
Intersection points
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ S2 S1
S1 and S2 are not
approached
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
Fig. 2-36
ÉÉÉÉÉÉÉÉÉÉÉÉ
Example: Inside corner with TRC without contour violation
(predicting 3 blocks)
Special features Where multiple intersections with the next block are found, the intersection
nearest the start of the next block applies.
Note
CDOF2 is only effective for 3D peripheral milling and has the same meaning 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, the warning 107663 is output; the program is not interrupted. The
output of this warning is suppressed if bit 1 in machine data
MD 11410: SUPPRES_ALARM_MASK is set.
Special features When the intersections of nonconsecutive blocks are checked, it is not the
programmed original contours which are examined but the associated
calculated equidistant paths. This may result in a “bottleneck” being falsely
detected at outside corners. The reason for this is that the calculated tool path
does not run equidistant to the programmed original contour when DISC>0.
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
DISC = 0 (circle)
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
Fig. 2-37 Bottleneck detection and outside corners
Supplementary A variable compensation value can be used for any type of interpolation (even
conditions circle and spline interpolation).
It is also possible to change the sign (and thus the compensation side!).
Programmed contour
N40
N30
N50
N20
Intersection When the intersections in blocks with variable compensation value are
calculation 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.
D2 Programmed contour
N30
Tool center path
Theoretical tool
center path
Compensation D2 at
D1 end of block N20
Compensation D1 at
start of block N20
N10 N20
Restrictions If the compensation radius is programmed as being larger than the programmed
circle radius for machining on the inside of the circle, the machining operation is
rejected with the alarm 10758 “Curvature radius with variable compensation
value too small”.
Maintaining the If a radius of two circles is increased slightly, a third block may be necessary in
stability of order to maintain the stability of the closed contour. This is the case if two
closed contours adjacent blocks, which represent two possible intersection points for a closed
(SW 7.1) contour, are skipped due to the compensation.
With setting data SD 42496: CUTCOM_CLSD_CONT is not equal to zero, a
stable closed contour can be achieved in SW 7.1 and higher by choosing the
first intersection point instead of the second. In that case, the second
intersection point is always reached, even if the block is skipped. A third block is
then not required.
Meaning The “Keep tool radius compensation constant” function is used to suppress the
tool radius compensation for a number of blocks, whereby a difference between
the programmed and the actual tool center path traveled set up by the tool
radius compensation in the previous blocks is retained as the offset.
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 basic setting is
CUTCONOF.
It can be used independently of the type of tool radius compensation (21/2D, 3D
face milling, 3D circumferential milling).
Normal case Normally, the tool radius compensation is already active prior to activation of the
offset suppression, and is still active when offset 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 offset suppression is active are traversed without
offset.
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 offset suppression, i.e. the block that contains
CUTCONOF, is offset 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 offset plane
(vertical circles), are treated as though they had CUTCONON programmed.
This implicit activation of the offset suppression is automatically canceled in the
first traversing block that contains a traversing motion in the offset plane and is
not such a circle.
Vertical circle in this sense can only occur during circumferential milling.
Example:
N10 ; Definition of tool d1
N20 $TC_DP1[1,1]= 110 ; Type
N30 $TC_DP6[1,1]= 10. ; Radius
N40
N50 X0 Y0 Z0 G1 G17 T1 D1 F10000
N60
N70 X20 G42 NORM
N80 X30
N90 Y20
N100 X10 CUTCONON; Activate offset suppression
N110 Y30 KONT ; On deactivation of offset suppression
; insert bypass circle if necessary
N120 X–10 CUTCONOF
N130 Y20 NORM ; No bypass circle when deactivating TRC
N140 X0 Y0 G40
N150 M30
ÉÉÉÉÉÉÉÉÉN120
ÉÉÉÉÉÉÉÉÉ N110
ÉÉÉÉÉÉÉÉÉ
N130
Contour with TRC N100
ÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉ N90
N140
ÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉ N70 N80
50 X
–10
Special cases
1. If tool radius compensation active (G40), CUTCONON has no effect. No
alarm is produced.
The G code remains active, however. This is significant when tool radius
compensation is to be activated in a later block with G41 or G42.
2. It is permissible to change the G code in the 7th G code group (tool radius
compensation; G40 / G41 / G42) with active CUTCONON. A change to G40
is active immediately.
The offset used for traversing the previous blocks is traveled.
3. If CUTCONON or CUTCONOF is programmed without traversing in the
active compensation plane, the effect is delayed until the next block that has
such a traversing motion.
Response up to If an alarm occurs (which can be deleted with RESET), block processing in the
SW 3 main run and the blocks that have already been processed are not affected.
S with active Look Ahead, when the axis have come to a standstill.
Alarms for preprocessing stop and active tool radius compensation (SW 4 and
higher)
Response up to The tool radius compensation generally requires at least one of the following
SW 3 traversing blocks (even more for bottlenecks) to determine the end point of a
block. Since the preprocessing stop of such a block is not available, traversing
is made to the offset point in the last block. Correspondingly, the offset point in
the start point is approached in the first block after a preprocessing stop.
The contour obtained may deviate considerably from the one that would result
without preprocessing stop. In particular, contour violations are possible.
Response from If two curves with active tool radius compensation form an outside corner,
SW 4 and higher Group (corner response with tool offset; G450/G451) regardless of the type of
curves involved (straight lines, circles, polynomials)
Note
The following example describes only the situation for deactivation of tool
radius compensation. The response for approach is virtually identical.
Example
G42 D1 T1 ; Tool radius 20 mm
...
G1 X110 Y0
N10 X0
N20 Y10
N30 G40 X50 Y50
N30 Y
Tool radius
X
Center point path with
tool radius compensation
ÉÉÉÉÉ
ÉÉÉÉÉ
10 Programmed
N10 contour
N20
0 20 50 100
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. In this case, the shaded area in the figure is not machined,
although this would be possible with the tool used.
G461 If no intersection is possible between the last TRC block and a previous block,
the offset curve of this block is extended with a circle whose center point
coincides with the end point of the noncorrected block, and whose radius is
equal to the tool radius.
Auxiliary curve
N30 Y
10 ÉÉÉ
ÉÉÉ
Programmed
contour
ÉÉÉ
N20 N10
0 20 50 100
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 whether further intersections with still earlier blocks exist.
If CDON is active, the search continues for further intersections 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, alarm 10751 (collision danger) is output.
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), see figure below.
Auxiliary curve
N30 Y
X
Center point path
(corrected path)
ÉÉÉÉ
ÉÉÉÉ
10
Programmed
contour
ÉÉÉÉ
N20 N10
0 20 50 100
The search for the intersection is then identical to the procedure for G461.
With G462, the corner generated by N10 and N20 in the example 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), the behavior differs
according to whether the end point is in front of or behind the contour.
End point in front If the end point is in front of the contour, the retraction behavior is the same as
of contour with NORM. This property does not change even if the last contour block for
G451 is extended with a straight line or a circle. Additional circumnavigation
strategies to avoid a contour violation in the vicinity of the contour end point are
therefore not required.
End point behind If the end point is behind the contour, a circle or straight line is always inserted
contour depending on G450/G451. In this case, G460–462 has no effect.
If, in this situation, the last traversing block has no intersection with a preceding
block, an intersection with the inserted contour element or with the linear section
from the end point of the circumnavigation circle to the programmed end point
can result.
If the inserted contour element is a circle (G450), and it intersects with the
preceding block, this is the same as the intersection which would be produced
with NORM and G461. In general, however, a remaining section of the circle still
has to be traversed. An intersection calculation is no longer required for the
linear section of the retraction block.
In the second case (if no intersection is found between the inserted contour
element and the preceding blocks), the intersection between the retraction
straight line and a preceding block is approached.
Therefore, when G461 or G462 is active, a behavior different to G460 can only
arise if NORM is active or if the behavior with KONT is identical to NORM due to
the geometrical conditions.
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 for approach:
N30 X0 Y0 F10000 T1 D1
N40 Y20
N50 G42 X50 Y5 G461
N60 Y0 F600
N70 X30
N80 X20 Y–5
N90 X0 Y0 G40
N100 M30
2.5.1 General
Introduction The orientation of the tool can be changed (e.g. when loading a different tool)
for one 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 5axis
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 If the control tool compensations for orientational toolholders are to be taken
into account, the following must be present:
Selecting the A toolholder defined in the control must be specified for the “Orientational
toolholder toolholder” function. The NC program command:
TCARR = m
where m is the number of the toolholder is available for this purpose. 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.
Assignment The tool that was active beforehand is assigned to the new toolholder.
tool/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.
Orientational Example: Cardan toolholder with two axes for the tool orientation
toolholder
ϕ C
A’
C
A’
z
y
Variant 1 Variant 2
x
Orientation in Z The G function TOFRAME defines a frame such that the Z direction in this
direction frame is the same as the current tool orientation.
If Then
No toolholder is active The Z direction in the new frame is:
the same as the old Z direction with G17
Toolholder without orientation change is the same as the old Y direction with G18
active the same as the old X direction with G19
Frame change The user can change the frame after selection of the tool. This does not have
any effect on the components of the tool length compensation. Angles in the
toolholder data:
The 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 or rotation in the toolholder data are activated
again.
Tool compensation The TRC takes account of the current tool orientation when CUT2D or
types CUT3DFS is active.
All other tool compensation types
These are all compensation types of G code group 22, except for CUT3DC and
CUT3DF. The response remains the same with respect to the plane used for
compensation. This is determined independent of the tool orientation from the
active frame.
For CUT2DF and CUT3DFF, the compensation plane used for TRC is
determined from the frame independent of the current tool orientation. The
active plane (G17/G18/G19) is considered.
CUT3DC and CUT3DF
3D tool compensation for face milling
3D tool compensation for face milling with active 5-axis transformation is not
affected by the “Orientational toolholder” function.
The orientation information is determined by the active kinematic 5-axis
transformation.
Limited toolholder An alarm is output if an orientation that cannot be reached with the defined
orientation toolholder kinematic is defined by the frame. The following kinematics cannot
achieve any orientation:
S if the two rotary axes which are necessary to define the kinematic are not
perpendicular to each other and
if the tool axis which defines the tool direction does not stand perpendicular
on the second rotary axis or
Ambiguities A particular frameselected tool orientation can with two axes generally be set
with two different rotary angle pairs. The control selects the one setting for
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.
S
S
S
! " "
""
The meaning of the individual parameters
"#$
$
%
18 to
%
"
"
& ' #&
&
(&
#
)
*
(& +
&
,'
- .
and
&
&
)
"
"
!
)
'
/ " #& & "
&
!
(
"
$
by letter T, P or M
The following three options are available as the kinematic type; both upper and
lower case notation are supported:
""
'
""
' 0 !
( ) (
Note
The system variables are available with and without active tool management.
As of SW 6.4 System variables for the user and for fine offsets
$TC_CARR34 to $TC_CARR40
contain parameters that are freely available to the user and were not interpreted
further up to software version 6.4 within the NCK or have no meaning.
$TC_CARR41 to $TC_CARR65
& "
""
/(
&
&
/(
"
""
& /(
#
%
/(
(
$TC_CARR47 to $TC_CARR54 and $TC_CARR61 to $TC_CARR63
"
and produce an alarm if read or write access is attempted.
Annotations:
* An orientational toolholder cannot be later assigned a number with system
variable $TC_CARR34, but only a name. ** System variables $TC_CARR35 to
$TC_CARR40 refer to the intended use of the orientational toolholder within the
measuring cycles and can also be used for different purposes.
Representation of The concept of the kinematic chain is used to describe the kinematic interaction
the kinematic between a reference point and the tool tip.
chain (SW 4 and The chain specifies all the data required for the toolholder data block in a
higher) schematic. To describe the concrete case with a particular kinematic, the
relevant components of the chain must be assigned real vectors, lengths and
angles. The chain represents the maximum constellation. In simple applications,
individual components can be zero, e.g. kinematics with one or no rotary axis.
The machine does not have to have axes that rotate the tool and/or workpiece
table. The function can be used even if the orientations are set manually by
handwheel or reconfiguration.
The machine design is described by the following parameters:
S Up to four offset vectors (l1 to l4) for relevant machine dimensions (axis
distances, distances to machine or tool reference points).
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.
Less than two The option not to define a rotating axis makes sense when the toolholder to be
rotating axes described can only rotate the tool in one plane. A sensible minimum data block
may therefore contain only one single entry different from 0 in the toolholder
data; namely, a value in one of the components of v1 or v2 to describe a rotating
axis parallel to the axis where the angle of rotation 1 or 2 is determined from
one frame.
Further The two vectors v1 and v2 can be colinear. However, the degree of freedom for
special cases orientation is lost, i.e. such a kinematic is the same as one where only one
rotary axis defined. All possible orientations lie on one cone sheath. The conical
sheath deforms to a straight line if tool orientation t and v1 or v2 become
colinear. Change of orientation is therefore not possible in this special case. The
cone sheath deforms to a circular surface (i.e. all orientations are possible in
one plane), if tool orientation t and v1 or v2 are perpendicular to each other.
It is permissible for the two vectors v1 and v2 to be zero. A change in orientation
is then no longer possible. In this special case, the various lengths l1 and l2,
which are not equal to zero, act as additional tool length compensations, in
which the components in the individual axes are not affected by changing the
plane (G17 – G19).
Extension of the In software versions up to and including SW 5.2, system variable sets
kinematics data $TC_CARRR1 to $TC_CARR17 were available for “orientational toolholders”
(SW 5.3 and with the scope described at the start of Subsection 2.5.2.
higher) The functionality described there is extended as follows in SW 5.3 and higher:
S Possibility to permit only discrete values in a grid for the rotary axis positions
(Hirth tooth system).
The extensions are compatible with earlier software versions and encompass
the kinematic data blocks from $TC_CARR18 to $TC_CARR23.
Machines with On machines with rotary tool there is no change in the definition of the
rotary tool (SW 5.3 kinematics compared to older software versions. The newly introduced vector l4,
and higher) in particular, has no significance. Should the contents of l4 not be zero, this is
ignored.
The concept “Orientational toolholders” is actually no longer really appropriate
for the new kinematic types with which the table can also be rotated, either
alone or additionally to the tool. However, it has been kept for reasons of
compatibility.
The kinematic chains used to describe the machine with rotary tool (general
case) is shown in the diagram below in Fig. 2-45:
Toolholder
l1 reference point Resulting tool length compensation
Tool
reference point
v1, 1
Tool length
l3 + wear
+ tool base
l2 dimension
v2, 2
Tool orientation
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
"
" (&
# ! $
$
using letter T
Machines with On machines with rotary workpiece the vector l1 has no significance. If it
rotary workpiece contains a value other than zero, this is ignored. The kinematic chain for
(SW 5.3 and machines with rotary workpiece is shown in the diagram below in Fig. 2-46.
higher)
Reference point
l3 of the table
l4
v1, 1
l2 v2, 2
Machine reference
point
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
"
" (&
# ! #*/
&
$
$
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 brings the advantage that the position of the
workpiece zero in the basic setting (i.e. with rotary axes not turned) does not
change when the rotary table is activated. The (open) kinematic chain in
Fig. 2-46 is then closed. In this special case, therefore, the following formula
applies
Machines with On machines with extended kinematics (both tool and workpiece are rotary) it is
extended only possible to turn each of the components with one axis.
kinematics (SW 5.3 The kinematic of the rotary tool is described with the first rotary axis (v1) and the
and higher) two vectors l1 and l2, that of the rotary table with the second rotary axis (v2) and
the two vectors l3 and l4. The two chain components for machines with rotary
tool and rotary workpiece are shown in the diagram below in Fig. 2-47.
Toolholder
l1 reference point
Resulting tool length compensation
Tool
reference point
v1, 1 Reference point
of the table
Tool length
l2 + wear
+ tool base
dimension
l4
v2, 2
l3
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) partial chain to describe
the table, as in Fig. 2-47, is then closed. In this special case the formula applies
Rotary tool types T For machine kinematics with a rotary tool (types T and M), the orientational
and M toolholder component which describes the tool or head component (as opposed
to the table component) acts, in conjunction with the active tool, as a new
overall tool.
Fine offset (SW 6.4 The offset vectors l1 to l4 and the offsets of the rotary axes v1 and v2 can be
and higher) represented as the sum of a basic value and a fine offset. The fine offset
parameters assigned to the basic values are obtained by adding the
to the index of the basic value of value 40.
Example:
The parameter $TC_CARR5 is assigned to the fine offset $TC_CARR45.
Note
The meaning of the system variables $TC_CARR41 to $TC_CARR65 available
for the fine offset are described in the table in Subsection 2.5.1 and also
Reference: /PGA/, Programming Guide Production Planning “Tool
Offsets”
Activation
The fine offsets are added to the basic values when setting data SD 42974:
TOCARR_FINE_CORRECTION = 1 is set.
Supplementary conditions
The amount is limited to the permissible fine offset. The maximum permissible
value is defined for the
S components of vectors l1 to l4
using machine data MD 20188: TOCARR_FINE_LIM_LIN
Description A data block for describing a rotation comprises one vector v1 /v2 to describe
of a rotation the direction of rotation of the rotary axis in its initial state and an angle 1 /2.
The angle of rotation is counted in the positive direction for clockwise rotation
from the perspective 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).
The tool orientation in the basic setting (both angles 1 and 2 equal to zero) is
(as for the standard case) as follows:
for G17: parallel to Z,
for G18: parallel to Y and
for G19: parallel to X.
Note
The tool reference point for the basic dimension is defined by the reference
point at the machine.
For further information about the reference points in the working area, please
see:
References /FB/, K1, “Axes. Coordinate Syst., Frames”.
z
y
v2
Axis 2
v1
l2
Axis 1 l1 l3
Length + Wear
Suitable assumptions were made for the following values in the data block:
S The two rotary axes intersect at one point. All components of l2 are therefore
zero.
S The first rotary axis lies in the xz 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 no zero).
S 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.
Specify associated The following associated data block values are specified for the toolholder
data block values shown on a machine with rotatable toolholder:
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.
x component of the base dimension: 0
y component of the base dimension: 0
z component of the base dimension: 250
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 which data are to
be stored. Thus, for the example, it is possible to specify only one z component
for the 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 which point is 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.
Demarcation to If the required functionality specifies that the TCP (tool center point) does not
5-axis vary in the event of reorientation with reference to the workpiece, even during
transformation interpolation, the 5axis software is required.
Note
For further information on 5-axis transformation, please see:
References: /FB/, F2, “3 to 5-Axis Transformation”
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 corresponding axis is used at the beginning of the current block
instead of the entry in $TC_CARR13 or $TC_CARR14.
Mixed operation is allowed, i.e. the angles for one axis can be determined from
the entry in system variable $TC_CARR13 or $TC_CARR14 and the angles for
the other axis from the position of a channel axis.
This makes it possible for machines on which the axes which serve to set the
orientational tool holder are known within the NC to access their position
directly, whereas it was previously necessary for example to read the system
variable $AA_IM[axis] and to write the result of the read operation into
$TC_CARR13/14. This saves especially the implicit preprocessing stop for
reading the axis positions.
Frame orientation With TCOFR (determination of the angle from the orientation defined by an
TCOFR active frame), the increments are scaled after determination of the angle from
the active frame rotation. If the requested orientation is not possible due to the
machine kinematic, the machining is aborted with an alarm. This also applies if
the target orientation is very close to an achievable orientation. In particular the
alarm in such situations cannot be prevented through the angle approximation.
TCOFR/TCOABS A frame rotation does not take place on activation and a rotation which is
frame rotation 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.
Z Frame offset
Example On the machine in the upper 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 around the Y axis. The
coordinate system is not rotated relative to the actual environment (marked in
Fig. 2-49 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) the activation with TCARR similarly
does not lead to an immediate rotation of the coordinate system, (see
Fig. 2-49), 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.
In SW 6.1 and higher, the zero offset can be written to a dedicated system
frame $P_PARTFR. Bit 2 in
MD 28082: MM_SYSTEM_FRAME_MASK must be set for this purpose.
The basic frame designated by MD 20184:
TOCARR_BASE_FRAME_NUMBER is then no longer required for the zero
offset.
Activation of With kinematic type M (tool and table are each rotary around one axis), the
kinematic type M 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.
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 similar manner
to the situation with rotary tool.
With PAROT the translations, scalings and mirroring in the active frame are
kept, while the rotation component is rotated by the rotation component of an
orientational toolholder corresponding to the table.
PAROT and 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 fixed XY plane of the
room, 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.
Language command PAROT is not rejected if no orientational toolholder is
active. It causes no changes in the programmed frame.
Note
For further information about functions TCARR, TOROT and PAROT with
reference to channel-specific system frames, please see:
Creating a The number of available toolholder data blocks in the NCK is defined in
toolholder machine data MD 18088: MM_NUM_TOOL_CARRIER.
1. The value is calculated as follows:
MD 18088: MM_NUM_TOOL_CARRIER =
’number of TO units’ * ’number of toolholder data blocks of a TO unit’
Note
For further information about the definition and assignment of a TO unit using
MD 28085: MM_LINK_TOA_UNIT please see:
Selecting the A toolholder with number m is selected with the NC program command TCARR
toolholder = m (TCARR Tool Carrier). TCARR = 0 deselects an active toolholder.
New tool or new toolholder
When a new tool is activated, it is always treated as if it was mounted on the
active toolholder.
A new toolholder is activated immediately when it is programmed. It is not
necessary to change tools or reprogram the active tool. The toolholder (number)
and tool (number) are independent and can be used in any combination.
Toolholder from G TCOABS (Tool Carrier Orientation ABSolute): The tool orientation is determined
code of group 42 explicitly if the corresponding values are entered in system variable
$TC_CARR13 or $TC_CARR14 and G code TCOABS is activated in G code
group 42.
Tool orientation frame TCOFR (Tool Carrier Orientation FRame):
The tool orientation can also be determined automatically from the current
orientation of an active frame when the tool is selected if one of the following G
codes is active in G code group 42 when the toolholder is selected:
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 on which the
orientation of the tool is independent of the orientation of the active frame.
After the tool selection, you can change the frame which does not affect the
components of the 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.
Toolholder from G The G codes of group 53 (TOFRAME, TOROT, etc.) can be used to define a
code of group 53 frame such that an axis direction (Z, Y or X) in this frame is equal to the current
tool orientation.
The G code of group 6 (G17 – G19) which is active at the time TOFRAME is
called determines the tool orientation.
If no toolholder is active, or if a toolholder is active but does not cause the tool
orientation to change, the Z direction in the new frame is
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 tool data are
reactivated on a change from TCOFR to TCOABS.
Read angle of rotation (α1 or α2)
The angles currently used to calculate the orientation can be read with 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 nonrotating toolholders, the behavior depends solely on the active plane of
G code group 6 (G17 – G19) and is thus identical to the previous behavior.
All other types of tool compensation
The behavior is unchanged for all other types of tool compensation.
For CUT2DF and CUT3DFF in particular, the compensation plane used for TRC
is determined from the frame independent of the current tool orientation.
Allowance is made for the active plane (G17 – G19) and the behavior is thus
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 prepared by the active kinematic transformation.
Two rotary axes Two general solutions exist for two rotary axes. The control itself chooses these
two solution pairs such that the orientation angles resulting from the frame are
as close as possible to the specified angles.
The two following options are available for specifying the angles:
1. If $TC_CARR21 or $TC_CARR22 contains a reference to a rotary axis, the
position of this axis at the start of the block in which the toolholder is
activated is used to specify the angle.
2. If $TC_CARR21 or $TC_CARR22 does not contain a reference to a rotary
axis, the values contained in $TC_CARR13 or $TC_CARR14 are used.
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.
Rotary axis offset Rotary axis offsets can be specified with system variables $TC_CARR24 and
(SW 6.1 and $TC_CARR25. A value not equal to zero in one of these parameters means that
higher) the associated rotary axis has the position specified by the parameter (and not
position zero) in the initial setting. All angle specifications then refer to the
coordinate system displaced by this value.
When the machining plane is changed (G17 – G19)
only the tool length components of the active tool are interchanged. The
components of the toolholder are not interchanged. The resulting tool length
vector is then rotated in accordance with the current toolholder and, if
necessary, modified by the offsets belonging to the toolholder.
The two toolholder angles α1 and α2 are determined using a frame,
independent of the active plane currently selected (G17 – G19)
Limits (SW 6.1 and Limit angles (software limits) can be specified for each rotary axis in the system
higher) variable set ($TC_CARR30 to $TC_CARR33) used to describe the orientational
toolholder. 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 an orientational
toolholder is activated.
Selecting the A toolholder with number m is selected with the number m of the toolholder
toolholder with: TCARR = m
Canceling all From within the parts program, it is possible to deleted all the values of all the
toolholder data toolholder data blocks using one command.
blocks $TC_CARR1[0] = 0
Values not set by the user are preset to 0.
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 further information about programming tool offsets with toolholder
kinematics and system variables, please refer to:
Full orientation For a given data block that describes a certain kinematic, all the conceivable
special orientations can only be displayed when the following conditions are
satisfied:
S The two vectors v1 and v2, that describe the rotary axes, must be defined,
i.e. must not be equal to zero.
Non-defined If these conditions are not satisfied and an orientation that cannot be achieved
orientation by an active frame is requested with TCOFR, an alarm is output.
Relationship between the vector and angle of rotation
If a vector v1 or v2 that describes the direction of rotation is equal to zero, the
associated angle of rotation or must also be zero. Otherwise, an alarm is
produced. The alarm is not output until the toolholder is activated, i.e. when the
toolholder is being changed.
Fine tool offset combined with orientation
It is not allowed to combine tool fine offsets and toolholders. The activation of
tool fine offset for an active toolholder, and vice versa the activation of the tool
holder with an active tool fine offset, produces an alarm.
Toolholder The following supplementary conditions must be met for the toolholder
kinematics kinematics:
S The tool orientation in the initial setting (both angles α1 and α2 are zero) is
as standard, even when
– G17: Parallel to Z
– G18: Parallel to Y
– G19: Parallel to X
S 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.
S 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.
Response with The toolholder can be changed in an asynchronous subprogram (ASUB). When
ASUP, REPOS the interrupted program is continued with REPOS, the approach motion of the
new toolholder is taken into account and the program continued with this
motion. The treatment here is analogous to tool change in an ASUB.
References: /FB/, K1, “Mode Group, Channel, Program Operation, Reset
Response”
Requirements Incremental programming with G91 is defined in SW 4.3 and higher such that
the compensation value is traversed additively to the incrementally programmed
value when a tool offset is selected.
Supplementary If the response is set such that the offset remains active beyond program end
condition and RESET (MD 20110: RESET_MODE_MASK, Bit 6=1), and if an incremental
path is programmed in the first parts program block, the offset is always
traversed additively to the programmed path.
Note
With this configuration, part programs must always begin with absolute
programming.
S a frame defining the oblique plane is active, but the tool cannot be set
exactly perpendicularly because an indexed toolholder (Hirth tooth system)
prevents free setting of the tool orientation.
In these cases it is then necessary – contrary to the actually requested motion
perpendicular to the plane – to drill in 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 contents
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 G91 Z ...
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 below.
MOVT = AC ( ....)
Fig. 2-50 Definition of the position for absolute programming of a motion in tool direction
The reference to this auxiliary plane serves only for calculation of 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 The following supplementary conditions apply for programming with MOVT:
conditions
S It is independent of the existence of an orientational toolholder. 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 basis setting.
S A block with MOVT must not contain any programming of geometry axes
(Alarm 14157).
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 5axis
transformation. The following system variables have been introduced in order to
assign a separate orientation to each tool cutting edge:
MD 18114 The system variables for describing the tool orientation are only available if
machine data
MD 18114: MM_ENABLE_TOOL_ORIENT is not equal to zero.
If this machine data MD 18114: MM_ENABLE_TOOL_ORIENT contains
value 1: only system variable $TC_DPV[t, d] is available,
value 2: all four system variables are available.
Plane change A change of plane causes a change of orientation. The following rotations are
initiated:
On a change from
G17 ==> G19:
G18 ==> G17:
G19 ==> G18:
rotation through –90 degrees about the Z axis and then
rotation through –90 degrees about the X axis.
On a change from
G17 ==> G19:
G18 ==> G17:
G19 ==> G18:
rotation through 90 degrees about the X axis and then
rotation through 90 degrees about the Z axis.
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 plane change.
The basic orientation is also rotated when an adapter transformation is active.
If setting data SD 42940: TOOL_LENGTH_CONST is not equal to zero, the tool
orientation is not rotated on a plane change.
Tool length The tool orientation components are handled in in terms of their setting data
components SD 42910: MIRROR_TOOL_LENGTH and
SD 42950: TOOL_LENGTH_TYPE
in exactly the same way as tool length components, i.e. the components are
exchanged accordingly and assigned to geometry axes.
System variable The purpose of system variable $TC_DPV[t, d] is to allow the simple
$TC_DPV[t, d] specification of certain frequently needed basic orientations (parallel to
coordinate axes). The permissible values are shown in the table below. The
values in the first and second/third columns are equivalent.
*) 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).
In the table above, V stands for a positive value in the system variable.
Examples:
For milling tools,
$TC_DPV[t, d] = 2 is equivalent to
$TC_DPV3[t, d] = 0, $TC_DPV4[t, d] = 0, $TC_DPV5[t, d] = V.
Supplementary If the “Scratching” function is used in the RESET state, the following must be
conditions noted with respect to the initial setting value:
S The wear components are evaluated depending on the initial setting values
of the G code groups TOWSTD, TOWMCS and TOWWCS.
S If a value other than the initial setting value is needed to ensure correct
calculation, scratching may be performed only in the Stop state.
Note
The following Section 2.8 “Special handling of tool offsets” special attention
is paid to tool offsets with evaluation of sign for tool length with wear and
temperature fluctuations.
The following are considered:
Tool type
Transformations for tool components
Assignment of tool length components
to geometry axes and independently of tool type
SD 42900 – 42960 Setting data SD 42900 - SD 42940 can be used to make the following settings
with reference to the tool offset:
S Sign of the tool length
S Sign of the wear
S Behavior of the wear components when mirroring geometry axes
S Behavior of the wear components when changing the machining plane via
setting data
S Assignment of tool length components independent of the actual tool type
S 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:
S Wear values: $TC_DP12 to $TC_DP20
S 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/, Description of Functions, Tool Management
/PG/, Programming Guide Fundamentals
Section: Tool offsets
Mirroring is performed for all tool base dimensions whose associated axes are
mirrored. Wear values are not mirrored.
Mirror wear values The following setting data should be set in order to mirror the wear values:
S SD 42910: MIRROR_TOOL_WEAR <> 0
Inverting the sign mirrors the wear values of the tool length components whose
associated axes are mirrored.
X1 X2
D13
Z1 Z2
M1 M1 W2 M2
Function In the case of tools with the relevant tool point direction (tool types 400–599:
turning and grinding tools), the tool point direction determines which wear
components of the tool are mirrored by sign inversion.
Length of cutting Length 1 Length 2
edge
1 ––– –––
2 ––– inverted
3 inverted inverted
4 inverted –––
5 ––– –––
6 ––– –––
7 ––– inverted
8 inverted –––
9 ––– –––
In the case of tool types without a relevant cutting edge position, the wear
length is not mirrored.
Note
By simultaneously activating both functions:
S Tool length mirroring (SD 42900 <> 0)
S Wear length mirroring (SD 42920 <> 0)
the mirroring (sign inversion) can be canceled in one or more components.
SD 42930: WEAR_SIGN
Setting data not equal to zero:
the sign of all wear dimensions is inverted. 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.
Assignment of The assignment of tool length components to geometry axes for turning and
tools grinding tools (tool types 400 to 599) is generated from the value of setting data
SD 42940 in accordance with the following table:
*) 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 between the tool length components
and the geometry axes for all other tools (tool types < 400 and > 599):
Level Length 1 Length 2 Length 3
17*) Z Y X
18 Y X Z
19 X Z Y
–17 Z X Y
–18 Y Z X
–19 X Y Z
*) 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 an offset and an axis.
Three tool length components can be arranged on the 6 different types above.
Note
When orientatable toolholders 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 orientational toolholders 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.
For further information on how specific offsets for various mounting locations
and tools are included in the corresponding coordinate systems, please see
Subsection 2.9.5.
Note
Temperature compensation in the tool direction is operative only as an option
with generic 5axis transformation types 24 and 56. See Subsection 2.8.2.
Change tool or The values displayed for the tool correspond to the expansion in the WCS. If a
working plane toolholder with an inclined clamping position is to be used, you should make
sure that the transformation used supports the toolholder. If this is not the case,
incorrect tool dimensions will be displayed. When changing the working plane
from G17 to G18 or G19, you should also ensure that the transformation can
also be used for these planes. If the transformation is only available for G17
machining, the dimensions continue to be displayed for a tool in the Z direction
after the plane change.
When transformation is deactivated, the basic tool is displayed in the x, y or z
direction, according to the working plane. Allowance is made for a programmed
toolholder. These tool dimensions are not altered when traversing without a
transformation.
Temperature On 5axis machines with moving tool, temperature fluctuations can occur in the
compensation in machining heads. These can result directly in expansion fluctuations which are
real time transmitted to the tool spindle in the form of linear expansion. A typical case on
5axis heads, for example, is thermal expansion in the direction of the
longitudinal spindle axis.
It is possible to compensate this thermal expansion even when the tool is
orientated by assigning the temperature compensation values to the tool rather
than to the machine axes. In this way, linear expansion fluctuations can be
compensated even when the tool orientation changes.
Using the orientation transformation whose direction is determined by the
current tool orientation, it is possible to overlay motions in real time and rotate
them simultaneously. At the same time, the compensation values are adjusted
continuously in the tool coordinate system.
Compensation applies to the “Temperature compensation” option and is active
only when the axis to be compensated is really referenced.
Activation Temperature compensation in the tool direction is an option which must enabled
beforehand. It is activated by setting machine data
MD 20390: TOOL_TEMP_COMP_ON to a value other than zero.
In addition, bit 2 must be set for each of the relevant channel axes in machine
data
MD 32750: TEMP_COMP_TYPE[<axis index>].
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 affect on other axes. In this case, an alarm is not output.
Applicability Temperature compensation in the tool direction is operative only with generic
5axis transformations where
Note
Temperature compensation can be activated with all other types of
transformation. It is not affected by a change in the tool orientation. The axis
move as if no orientation transformation with temperature compensation were
active.
Supplementary Temperature compensation in the tool direction is an option which must enabled
conditions beforehand and is available
Limit values The compensation values are limited to maximum settings by machine data
MD 20392: TOOL_TEMP_COMP_LIMIT[0] to
MD 20392 TOOL_TEMP_COMP_LIMIT[2]
The limit value default setting is 1mm. If a temperature compensation value
higher than this limit is specified, it will be limited without an alarm.
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 an orientational toolholder.
Example of a 5axis machine with rotating tool (transformation type 24). The
relevant machine data are listed below:
The first rotary axis rotates around Z C axis
The second rotary axis rotates around Y B axis
The relevant machine data are listed below:
MD 20390: TOOL_TEMP_COMP_ON = TRUE ;Temperature comp. active
Option ;Enable option
MD 32750: TEMP_COMP_TYPE[ AX1 ] = 4 ;Offset in tool direction
MD 32750: TEMP_COMP_TYPE[ AX2 ] = 4 ;Offset in tool direction
MD 32750: TEMP_COMP_TYPE[ AX3 ] = 4 ;Offset in tool direction
;Assignment of
;transformation type 24:
; Position setpoints
; of machine axes
N10 g74 x0 y0 z0 a0 b0 ; X Y Z
N20 x20 y20 z20 f10000 ; 20.30 20.00 21.00
N30 traori() ; 20.30 20.00 21.00
N40 x10 y10 z10 b90 ; 11.00 10.00 9.70
N50 trafoof ; 10.30 10.00 11.00
N60 x0 y0 z0 b0 c0 ; 0.30 0.00 1.00
N70 m30
With the exception of block N40, the 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.
MD 20390: TOOL_TEMP_COMP_ON = TRUE ; Temperature comp. active
Option ; Enable option
MD 32750: TEMP_COMP_TYPE[ AX1 ] = 4 ; Offset in tool direction
MD 32750: TEMP_COMP_TYPE[ AX2 ] = 4 ; Offset in tool direction
MD 32750: TEMP_COMP_TYPE[ AX3 ] = 4 ; Offset in tool direction
2.9.1 General
Note
The function is enabled by setting MD 18080
MM_TOOL_MANAGEMENT_MASK, Bit 8=1.
Several sum offsets (DL numbers) can be defined per D number. This allows
you to determine, e.g. workpiecelocationdependent offset values and assign
them to a cutting edge. Sum offsets have the same effect as wear, i.e. they are
added to the offset values of the D number.
The data are permanently assigned to a D number.
You can define the following settings in machine data:
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.
Parameters for The offsets of the tool geometry are assigned to system variables $TC_DP3 to
geometry and wear $TC_DP11. System variables $TC_DP12 to $TC_DP20 allow you to name a
wear for each of these parameters.
Base dimension/
adapter dimension
$TC_DP21 Adapter length 1
$TC_DP22 Adapter length 2
$TC_DP23 Adapter length 3
Technology
$TC_SCP13, $TC_SCP23,$TC_SCP33,
$TC_SCP43,$TC_SCP53,$TC_SCP63
$TC_ECP13, $TC_ECP23,$TC_ECP33,
$TC_ECP43,$TC_ECP53,$TC_ECP63
$TC_SCP14, $TC_SCP24,$TC_SCP34,
$TC_SCP44,$TC_SCP54,$TC_SCP64
$TC_ECP14, $TC_ECP24,$TC_ECP34,
$TC_ECP44,$TC_ECP54,$TC_ECP64
$TC_DP5 Length 3 $TC_DP14
etc ....
Radius compensation
$TC_DP6 Radius $TC_DP15
$TC_DP7 Corner radius $TC_DP16
Further offsets
$TC_DP8 Length 4 $TC_DP17
...etc.
$TC_SCP21, $TC_SCP31,$TC_SCP41,
$TC_SCP51,$TC_SCP61,$TC_SCP71
$TC_ECP21, $TC_ECP31,$TC_ECP41,
$TC_ECP51,$TC_ECP61,$TC_ECP71
Supplementary The maximum number of DL data sets of a cutting edge and the total number of
conditions sum offsets in the NCK are defined by machine data. The default value is zero;
i.e. no sum offsets can be programmed.
2.9.3 Activation
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 offsets are combined and
added to the tool wear.
Note
DL0 is not allowed. When the offset is deselected (D0 and T0), the sum offset
is also deactivated.
Programming a sum offset which does not exist triggers an alarm, i.e. the effect
is the same as programming a D offset which does not exist.
In this case, only the defined wear is included in the offset (defined in system
variables $TC_DP12 to $TC_DP20).
Important
! If a sum offset is programmed when a D offset is active (also applies to
deselection), this has the same effect on the path as when you program a D
command. An active radius compensation thus loses its reference to adjacent
blocks.
Sum offset 1
$TC_SCP13[t , 2 ]
...
$TC_SCP21[t, 2 ]
D offset 2
$TC_DP1[t , 2 ] Sum offset 2
...
$TC_SCP23[t , 2 ]
$TC_DP3[t , 2 ] ...
...
$TC_SCP31[t, 2 ]
$TC_DP11[t , 2 ]
...
$TC_DP25[t , 2 ]
...
Tool T = t is active. With the data in the figure, the following is programmed:
$TC_ECP21[t, 2 ] $TC_SCP21[t, 2 ]
D offset 2
$TC_DP1[t , 2 ] Setup offset 2 Sum offset
fine 2
$TC_DP3[t , 2 ] $TC_ECP23[t, 2 ] $TC_SCP23[t , 2 ]
$TC_DP11[t , 2 ]
$TC_ECP31[t, 2 ] $TC_SCP31[t, 2 ]
$TC_DP25[t , 2 ]
$TC_DPCE[t, 2 ]
Fig. 2-53 MD 18112 MM_KIND_OF_SUMCORR, Bit 4 = 1 setup offsets + sum offsets ’fine
Tool T = t is active. With the data in the figure, the following is programmed:
Reading/writing The individual sets of sum offset parameters are differentiated according to the
in the parts number ranges of system variable $TC_SCP.
program The meaning of the individual variables is similar to geometry variables
$TC_DP3 to $TC_DP11. Only length1, length2 and length3 are enabled for the
basic functionality (variables $TC_SCP13 – $TC_SCP15 for the first sum offset
of the cutting edge).
R5 = $TC_SCP13[ t, d ] ; Sets the value of the R parameter to the value
of the first component of sum offset 1 of the
cutting edge (d) of the tool (t).
Creating a new If the offset data set (x) does not yet exist, it is created on the first write
sum offset operation to one of its parameters (y).
$TC_SCPxy[ t, d ] = r.r ; Parameter y of sum offset x is assigned the value
’r.r.’ The other parameters of x are zero.
When working with setup offsets, the 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].
Creating a new If the offset data set (x) does not yet exist, it is created on the first write
setup offset operation to one of its parameters (y).
$TC_ECPxy[ t, d ] = r.r ; Parameter y of setup offset x is assigned the value
’r.r.’ The other parameters of x are zero.
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].
DELDL – Delete Sum offsets are generally only relevant when machining with a cutting edge at a
sum offset certain time at a certain location of the workpiece. You can use the NC
language command DELDL to delete the sum offsets from cutting edges (in
order to release memory).
status = DELDL( t, d ) ; Deletes all sum offsets of cutting edge d of 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 of the cutting edges of all tools of the
TO units 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 the deletion.
The deleted sum offsets can subsequently no longer be activated or
programmed.
Sum offsets and setup offsets of active tools cannot be deleted (similar to the
deletion of D offsets or tool data).
The ’status’ return value indicates the result of the deletion command:
0 Deletion was successful
–1 Deletion was not (one cutting edge) or not completely
(several cutting edges) successful.
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. The sum offsets can be excluded
from a data backup by machine data (can be set separately for setup offsets
and sum offsets ’fine’).
Note
Sum offsets behave in the same way as D offsets with reference to block
search and REPOS. The behavior on Reset and PowerOn can be defined by
machine data.
If machine data MD 20110: RESET_MODE_MASK defines that the last active
tool offset number (D) is to be activated after PowerOn, the last active DL
number is then no longer active.
2.9.4 Examples
Example 1 Machine data are to be used to define that no offsets and no sum offsets
are active on a tool change ($MC_CUTTING_EDGE_DEFAULT=0,
$MC_SUMCORR_DEFAULT=0):
X10
X20
X1
X2
D0 ; Deselect offset
X3
Example 2 Machine data are to be used to define that offset D2 and sum offset DL=1
are activated on a tool change ($MC_CUTTING_EDGE_DEFAULT=2,
$MC_SUMCORR_DEFAULT=1):
X10
X20
X1
Composition of For a tool offset without an active kinematic transformation, the effective tool
the effective tool length consists of up to 8 vectors:
length 1. Tool length (geometry) ($TC_DP3 – $TC_DP5)
2. Wear ($TC_DP12 – $TC_DP14)
3. Tool base dimension (see note) ($TC_DP21 – $TC_DP23)
4. Adapter dimension (see note) ($TC_ADPT1 – $TC_ADPT3)
5. Sum offsets fine ($TC_SCPx3 – $TC_SCPx5)
6. Sum offsets coarse
or setting-up offsets ($TC_ECPx3 – $TC_ECPx5)
7. Offset vector l1
of the orientational toolholder ($TC_CARR1 – $TC_CARR3)
8. Offset vector l2
of the orientational toolholder ($TC_CARR1 – $TC_CARR3)
9. Offset vector l3
of the orientational toolholder ($TC_CARR15 – $TC_CARR17)
Note
The tool base dimension and adapter dimension can only be applied as
alternatives.
Type of action of The type of action of the individual vectors or groups of vectors depends on the
the individual following further quantities:
vectors
Influencing quantity Scope
G codes Active processing level
Tool type Milling tool or turning/grinding tools
Machine data Tool management active / not active,
orientational toolholder exists / does not exist.
Setting data Behavior of tool length components when mirroring
or when changing the plane
Orientational toolholder Set values of the orientational toolholder
Adapter transformations Transformed tool compensation values
Distribution over How the three vector components of partial totals of the vectors involved are
the geometry axis distributed over the three geometry axis components, is determined by the
components following quantities:
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 date to assign the tool an
orientation.
Stepless variation The orientational toolholder enables stepless variation of the tool orientation
of the tool using offset vectors l1 - l3 in addition to further offsets or length changes.
orientation Further information can be found in Section 2.5 “Orientational toolholders”.
Minor operator In the typical case of operation, except for the compensations, all tool
compensations parameters are already determined in the production planning phase and are
no longer changed by the machine operator.
Minor compensations, however, must also be modified during the normal
production mode. Reasons for this include
tool wear, clamping errors or sensitivity of the machine to temperature. These
compensations are defined as follows:
In particular, offsets which affect the tool length calculation should be entered in
the coordinates used for measurement. These workpiece offsets can be set
more easily in setting data SD 42935: WEAR_TRANSFORM and G code group
56 with the three values TOWSTD, TOWMCS and TOWWCS.
SD 42935
$SC_WEAR_TRANSOFORM: 3)
– 1) Bit 0 = TRUE
2)
– 2) Bit 1 = TRUE Sum offset fine
– 3) Bit 2 = TRUE 1)
Setup offsets or
sum offsets coarse
Wear
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)
Syntax Corrections
TOWBCS Wear values in basic coordinate system (BCS)
TOWTCS Wear values in the tool coordinate system (TCS)
at the toolholder (tool carrier reference point T)
TOWKCS Wear values in tool coordinate system for kinematic transformation
(KCS) of tool head
Z
MCS
X
Z K Kinematic transformation
Tool component
KCS
X
Tool carrier
T Tool component
Z’ X
Z X Z
X’ WCS
BCS
TCS
Tool P
Kinematic transformation
Workpiece (table or part component)
S 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 orientational toolholder:
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.
Orientational toolholder
A table component of the orientational toolholder is not applied directly in 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.
TOWKCS The wear value specifications for the kinematic transformation are interpreted in
the associated tool coordinate system (KCS).
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.
G code change Changing the G code of the TOWSTD, TOWMCS, TOWWCS, TOWBCS,
when a tool is TOWTCS and TOWKCS group does not affect a tool that is already active and
active does not apply until the next tool is selected.
A new G code of this group will also come into effect if it is programmed in the
same block in which a tool is selected.
Note
Wear components which are subjected to an active rotation by an adapter
transformation or an orientational toolholder are referred to as nontransformed
wear components.
S SD 42920: WEAR_SIGN_CUTPOS
has no effect on the nontransformed wear components.
In addition, with TOWWCS
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,
S saving
S deleting
S reading
S modifying
the current states of tool data. Some of the functions were previously
implemented in measuring cycles. They are now universally available.
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.
Scope of a tool
environment
The TOOLENV memory function is used to save any current states needed for
the evaluation of tool data stored in the memory. The individual data are as
follows:
S 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.
Not in the tool The value of MD 18104: MM_NUM_TOOL_ADAPTER determines whether the
environment adapter length or the tool base dimension is included in the tool length
calculation.
Since a change to this machine data only takes effect after Power On, it is not
saved in the tool environment.
Note
Resulting length of orientational toolholders and transformations:
Both orientational toolholders and transformations can use system parameters
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.
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.
S 0: Function o.k
_NAME STRING
Name under which the current set of data is stored.
If a data set with the same name already exists, it is overwritten. In this case,
the status is 0.
Function This function can be used to delete sets of data used to describe tool
DELTOOLENV environments. Deletion means that the set of data stored under a particular
name can no longer be accessed (an access attempt triggers an alarm).
S 0: Function o.k
S –2: A tool environment with the specified name does not exist.
_NAME string
Name of data set to be deleted
The first call format deletes all data sets.
The second call format deletes the data set with the specified name.
Data sets can only be deleted using the DELTOOLENV command, by an
INITIAL.INI download or by a cold start (NCK power-up with default machine
data). There are no further automatic deletion operations (e.g. on RESET).
$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 MD 18116. MM_NUM_TOOL_ENV.
This system variable can be accessed even if no tool environments are
possible (MD 18116: MM_NUM_TOOL_ENV = 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 types:
_NAME STRING
Name of the data set with number i.
i INT
Number of data set.
If an index which does not refer to a defined data set is passed, alarm 17020
(illegal array index1) is output.
Function The GETTENV function is used to read the T, D and DL numbers stored in a
GETTENV 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
S 0: Function o.k
S –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 the following:
_TDDL[0] the T number
_TDDL[1] the D number
_TDDL[2] the DL number of the tool
whose tool environment is stored in the data set specified by “_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.
Function The GETTCOR function is used to read out tool lengths or tool length
GETTCOR 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
S 0: Function o.k
S –2: A tool environment with the name specified in “_STAT” does not exist.
S –3: Invalid string in parameter “_COMP”. Causes of this error
can be invalid characters or characters programmed twice.
S –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]),
Cutting edge position (LEN[1]),
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.
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 other components have no impact on the result.
The measurements refer to the basic system on the control (inch or metric).
_COMP STRING
This string consists of two substrings separated by a colon.
The individual characters (letters) of the first string specify the tool length
components to be included in the tool length calculation.
The second substring identifies the coordinate system in which the tool length
is to be output. It consists of only one relevant character.
The order of the characters in the strings and their notation (upper or lower
case) is arbitrary. Any number of spaces or tabs (white spaces) can be inserted
between the characters.
The letters in the substrings must not be programmed twice.
The meanings in the first substring are as follows:
S E: Setup offsets
S G: Geometry
S K: Kinematic transformation (is only evaluated for generic 3, 4 and
5-axis transformation)
S S: Sum offsets
S T: Orientational toolholder
S W: Wear
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. The meaning of the coordinate systems is described in
Subsection 2.9.5.
If no coordinate system is specified, the components are evaluated in the
machine coordinate system (MCS). Any rotations to be included are specified in
the tool environment defined by _STAT.
The meaning of the characters is as follows:
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 number 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.
_DL INT
Number of location-dependent offset. 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.
MD 20360: The two least significant bits of this machine data specify how the wear (bit 0)
TOOL_PARAME- and tool length (bit 1) are to be evaluated if a diameter axis is used for turning
TER_DEF_MASK 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:
$MC_TOOL_PARAMETER_DEF_MASK = 3
$MC_DIAMETER_AX_DEF=“X”
X is diameter axis (standard turning machine configuration):
N30 $TC_DP1[1,1]= 500
N40 $TC_DP2[1,1]= 2
N50 $TC_DP3[1,1]= 3.0 ;Geometry L1
N60 $TC_DP4[1,1]= 4.0
N70 $TC_DP5[1,1]= 5.0
N80 $TC_DP12[1,1]= 12.0 ;Wear L1
N90 $TC_DP13[1,1]= 13.0
N100 $TC_DP14[1,1]= 14.0
N110 t1 d1 g18
N120 r1 = GETTCOR(_LEN, “GW”)
N130 r3 = _LEN[2] ;17.0 (= 4.0 + 13.0)
N140 r4 = _LEN[3] ; 7.5 (= 0.5 * 3.0 + 0.5 * 12.0)
N150 r5 = _LEN[4] ;19.0 (= 5.0 + 14.0)
N160 m30
Kinematic
transformation,
If an orientational toolholder is included in the tool length calculation:
orientational
toolholder the vectors l1 and l2 are included in the tool length calculation for ’M’ types.
vector l3 is included in addition for type ’T’.
In the case of type ’P’ the tool length is not affected by an orientational
toolholder.
for transformation type 56 (movable tool and movable workpiece), the two
machine data
MD 24550/24650:TRAFO5_BASE_TOOL_1/2 and
MD 24560/24660: TRAFO5_JOINT_OFFSET_1/2.
Examples
GETTCOR
GETTCOR(_LEN): Calculates the tool length of the currently active tool in the
machine coordinate system allowing for all components.
GETTCOR(_LEN; “CGW : W” ): Calculates the the tool length for the active
tool, consisting of the adapter or tool base dimension, geometry and wear.
Further components, such as orientational toolholder 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”, “Testenv1”,,3): Calculates the complete tool length in
the machine coordinate system for the tool stored in the tool environment
named “Testenv1”. The calculation is performed for cutting edge number D3,
regardless of which cutting edge number is stored.
Compatibility The GETTCOR function is used in conjunction with functions TOOLENV (see
Subsection 2.10.1) and SETTCOR (see Subsection 2.10.6) 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.
SETTCOR The SETTCOR function is used to change tool components allowing for all the
function conditions involved in the evaluation of the individual components.
The SETTCOR function is a predefined subroutine.
It must therefore be programmed in a separate block.
Note
A word about terminology: The use of the term tool components in connection
with the tool length, in the description below, refers to the vectorial components
which make up the complete tool length, e.g. the geometry or wear. Such
components comprise three individual values (L1, L2, L3), which are referred to
below as coordinate values. The “geometry” tool component thus consists of
the three coordinate values $TC_DP3 to $TC_DP5.
Syntax:
Status = SETTCOR(_CORVAL, _COMP, _CORCOMP, _CORMODE,
_GEOAX, _STAT, _T, _D, _DL)
All parameters can be omitted with the exception of the first two parameters
(_CORVAL and _COMP).
Value/parameter:
Status INT
S 0: Function o.k
S –13: The value in parameter _GEOAX does not refer to a geometry axis
S –14: Attempted write access to non-existent setup offset
The notation of the characters in the string (upper or lower case) is arbitrary.
Any number of spaces or tabs (white spaces) can be inserted.
The meanings are as follows:
S E: Setup offsets
S G: Geometry
S S: Sum offsets
S W: Wear
_CORCOMP INT
This parameter specifies the component(s) of the tool data set to be described.
If this parameter is not specified, its value is 0.
Meaning of numeric values:
S 0:
The offset value _CORVAL[0] refers to the geometry axis passed in the
_GEOAX parameter in the workpiece coordinate system (WCS), i.e. the
offset value must be combined with the specified tool components such that
the complete tool length changes by the specified value in the given axis
direction, allowing for any parameters that can affect the tool length
calculation. This change should be achieved as a result of the offset of the
component entered in _COMP and the symbolic calculation rule in
_CORMODE (see parameter below). The resulting offset can thus act on all
three axis components.
S 1:
Same as 0 but vectorial. The contents of the _CORVAL vector refer to the
abscissa, ordinate and application in the workpiece coordinate system
(WCS). The subsequent _GEOAX parameter is not evaluated.
S 2:
Vectorial offset, i.e. L1, L2 and L3 can be changed simultaneously. Unlike
variants 0 and 1, the offset values in _CORVAL refer to the coordinates of
the Val1 component (see parameter _CORMODE below) of the tool. An
inclination of the tool in relation to the workpiece coordinate system has no
effect on the contour.
S 3 to 5:
Offset of tool length L1 to L3 ($TC_DP3 to $TC_DP5) or of the
corresponding values for wear, setup or sum offsets.
The offset value is contained in _CORVAL[0]. It is measured in the
coordinates of the Val1 component (see parameter _CORMODE below) of
the tool. An inclination of the tool in relation to the workpiece coordinate
system has no effect on the contour.
S 6:
Offset of tool radius ($TC_DP6) or of the corresponding values for wear,
setup or sum offsets.
S 7 to 11:
Offset of $TC_DP7 to $TC_DP11 or of the corresponding values for wear,
setup or sum offsets. These parameters are treated in the same way as the
tool radius.
_CORMODE INT
This parameter specifies the type of write operation to be performed. If this
parameter is not specified, its value is 0.
Meaning of units digit:
S 0: Val1new = _CORVAL
S 1: Val1new = Val1old + _CORVAL
S 2: Val1new = _CORVAL
Val2new = 0
_T INT
Internal T number of the 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 number 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.
_DL INT
Number of location-dependent offset. 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. If T, D and DL
specify a tool without location-dependent offsets, the _COMP parameter may
not contain sum or setup offsets (error code in “Status”).
Not all possible combinations of the three _COMP, _CORCOMP and
_CORMODE parameters are suitable. For example, arithmetic rule 3 in
_CORCOMP demands definition of two characters in _COMP. If an illegal
parameter combination is specified, an error code is returned in the status.
Note
Calculation of the tool length depending on machine data (MD 20360:
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 when the tool length is calculated. The SETTCOR offset is
implemented such that the total effective tool length change is equal to the
value passed in _CORVAL. If a length is weighted with factor 0.5 in length
calculation based on MD 20360: TOOL_PARAMETER_DEF_MASK, the offset
for that component must be double the value passed in the parameter (see
example 9 in Chapter 6).
Examples
Example 1:
N10 def real _CORVAL[3]
N20 $TC_DP1[1,1] = 120 ; Milling tool
N30 $TC_DP3[1,1] = 10.0 ; Geometry L1
N40 $TC_DP12[1,1]= 1.0 ; Wear L1
N50 _CORVAL[0] = 0.333
N60 t1 d1 g17 g0
N70 r1 = settcor(_CORVAL, “G”, 0, 0, 2)
N80 t1 d1 x0 y0 z0 ; ==> MCS position X0.000 Y0.000
Z1.333
N90 M30
Function The LENTOAX function provides information about the assignment of tool
LENTOAX 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 – 19).
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 subroutine.
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
S “BCS” or “B”: the tool length is represented in the basic coordinate system
S “WCS” or “W”: the tool length is represented in the workpiece coordinate
system (WCS, default)
S “KCS” or “K”: the tool length is represented in the tool coordinate system of
the kinematic transformation
S “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 If the tool length components are parallel to the geometry axes, the axis indices
explanations 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 if setting data SD 42900:
MIRROR_TOOL_LENGTH is set and mirroring is active.
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.
_MATRIX = ǒ Ǔ
0 0 1
0 1 0
1 0 0
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). The associated matrix
_MATRIX in this case is:
ȡ0 sin(60°) cos(60°)
ȣ
ȧ
_MATRIX = 0 cos(60°) * sin(60°) ȧ
Ȣ1 0 0 Ȥ
Note
For further information on the coordinate systems mentioned above, please
refer to Chapter 8 of the Programming Guide.
Supplementary Conditions 3
3.1 Flat D number structure
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
MD $MC_AUXFU_AT_BLOCK_SEARCH_END can be used to control the
timing of output of auxiliary functions to PLC at the end of a block search –
automatically on End, or on NC Start.
REORG The (only) writable variable $A_MONIFACT which is defined here is stored by a
main run data. Since the write process takes place synchronously to the main
run, no special measures are required for Reorg.
Notes
Examples 4
4.1 Example of orientational toolholders
Requirement The following example uses a toolholder which is described fully by a rotation
around 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 around the Y axis.
Block N120 activates the tool radius compensation and all settings are made to
describe the offset in the following blocks with a rotation of 37 degrees around
the Y axis.
N10 ; Definition of toolholder 1
N20 $TC_CARR8[1] = 1 ; Component of first rotary axis in Y direction
N30
N40 ; Definition of tool offset memory T1/D1
N50 $TC_DP1[1,1] = 120 ; End mill
N60 $TC_DP3[1,1] = 20 ; Length 1
N70 $TC_DP6[1,1] = 5 ; Radius
N80
N90 ROT Y37 ; 37° rotation around y axis
N100
N110 X0 Y0 Z0 F10000
N120 G42 CUT2DF TCOFR TCARR = 1 T1 D1 X10
N130 X40
N140 Y40
N150 X0
N160 Y0
N170 M30
Use of the MOV For use of the MOV command it is assumed that the program is running on a
command 5axis machine on which the tool rotates around the Y axis in case of a rotation
of the B axis:
N10 TRAORI()
N20 X0 X0 Z0 B45 F2000 ; Setting of the tool orientation
N30 MOVT=–10 ; Infeed motion 10 mm in tool direction (under
; 45 degrees in the Y-Z plane)
N40 MOVT=AC(20) ; Return in tool direction to distance 20mm from
; zero point
Machine with Complete definition for the use of an orientational toolholder with rotary table:
rotary table
N10 $TC_DP1[1,1]= 120
N20 $TC_DP3[1,1]= 13 ; Tool length 13mm
; Definition of toolholder 1:
Explanation of the The definition of the orientational toolholder is given in full. The components
example above 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. 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 components are not affected by the table rotation.
N280 defines a rotation in accordance with the rotation of the table of the
orientational toolholder. 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.
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
components are 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; the frame definition from N280 is thus
undone. In previous software versions older than SW 6, in which the disable
command PAROTOF is not yet provided, the basic frame must be deleted
explicitly, which can be carried out using the command
$P_CHBFRAME[$MC_TOCARR_BASE_FRAME_NUMBER] = CTRANS(X,0).
Basic orientation A milling tool is defined with length L1=10 whose basic orientation is in the
in the bisector bisector of the XZ plane.
N10 $TC_DP1[1,1]=120
N20 $TC_DP3[1,1]=10
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 XZ plane N40 to N60.
In N70, the tool is activated and the zero position is approached. Based on the
tool length, the machine positions X0 Y0 Z10 result in this block.
In N80, an incremental traversing movement of 10 takes place in the tool
direction. The resulting axis positions are thus X7.071 Y0 Z17.071.
Tool with adapter A tool with adapter and orientational toolholder is defined in the following
program example. In order to simplify the overview, only length L1 is different to
zero for the additive and insert offsets and for the adapter. The offset vectors of
the orientational toolholder are all zero.
N10 $TC_TP2[1] = “MillingTool” ; Identifier
N20 $TC_TP7[1] = 9 ; Location type
N30 $TC_TP8[1] = 2 ; Status : Enabled and not blocked
; D offset D=1
; Magazine data
N110 $TC_MAP1[1]=3 ; Type of magazine: turret
N120 $TC_MAP2[1]=“Turret” ; Name of a magazine
N130 $TC_MAP3[1]=17 ; Status of magazine
N140 $TC_MAP6[1]=1 ; Dimension - row
N150 $TC_MAP7[1]=2 ; Dimension - column –> 2 locations
; 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
Explanation of the Starting at block N390, various methods are used to approach position X0 Y0
example above Z0. The machine positions reached are specified in the blocks in comments.
After the program a description is given of how the positions were reached.
N390: Adapter transformation 5 (block N90) transforms length L1 into length L2.
Only the actual adapter dimension is not subject to this transformation. The Y
value (L2 with G17) results from the sum of the tool length (10), tool wear (1),
sum offset (0.1) and insert offset (0.01). The adapter dimension (0.001) is in Z
(L1).
N400: In block N350, bits 0 and 2 are enabled in setting data
$SC_WEAR_TRANSFORM. This means that the tool wear and the insert offset
are not subject to the transformation because of TOWMCS in block N400. The
sum of these two offsets is 1.01. The Z position is therefore increased by this
amount and the Y position is reduced by this amount compared with block
N390.
TOWWCS is active in N410. The sum of the tool wear and the insert offset is
thus effective in the active workpiece coordinate system. In block N370, a
rotation through 30 degrees is activated about the X axis. The original offset
value of 1.01 in the Z direction thus yields a new Z component of 0.875
( = 1.01 * cos(30)) and a new Y component of –0.505 ( = 1.01 * sin(30)). This
yields the dimension specified in the program comment when added to the sum
of the tool length, sum offset and adapter dimension produced in block N390.
In addition, an orientational toolholder is activated in block N420. This executes
a rotation through 45 degrees about the X axis (see N310 – N330). Since all
offset vectors of the toolholder are zero, there is no additional zero offset. The
orientational toolholder acts on the sum of the tool length, sum offset and
adapter dimension. The resulting vector component is X0 Y7.141 Z7.142. The
sum of the tool wear and insert offset evaluated in the WCS is then added as in
block N410.
G18 is activated in N430. The components of the sum of the tool length, sum
offset and adapter dimension are interchanged accordingly. The orientational
toolholder continues to act on this new vector (rotation through 45 degrees
about X axis). The resulting vector component is X10.100 Y0.0071 Z0.0071.
The vector generated from the tool wear and insert offset (X0 Y–0.505 Z0.875)
is not affected by the plane change. The sum of the two vectors yields the
dimension specified in the comment in N430.
_CORCOMP is 3, and so the wear value and offset 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:
N10 def real _CORVAL[3]
N20 $TC_DP1[1,1] = 120 ; Milling tool
N30 $TC_DP3[1,1] = 10.0 ; Geometry L1
N40 $TC_DP12[1,1]= 1.0 ; Wear L1
N50 _CORVAL[0] = 0.333
N60 t1 d1 g17 g0
N70 r1 = settcor(_CORVAL, “GW”, 0, 3, 0)
N80 t1 d1 x0 y0 z0 ; ==> MCS position X0.333 Y0.000
Z11.000
N90 M30
Example 6:
N10 def real _CORVAL[3]
N20 $TC_DP1[1,1] = 500 ; Turning tool
N30 $TC_DP3[1,1] = 10.0 ; Geometry L1
N40 $TC_DP4[1,1] = 15.0 ; Geometry L2
N50 $TC_DP12[1,1]= 10.0 ; Wear L1
N60 $TC_DP13[1,1]= 0.0 ; Wear L2
N70 _CORVAL[0] = 5.0
N80 rot y-30
N90 t1 d1 g18 g0
N100 r1 = settcor(_CORVAL, “GW”, 0, 3, 1)
N110 t1 d1 x0 y0 z0 ; ==> MCS position X24.330 Y0.000
Z17.500
N120 M30
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 offset 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 after
N100 is executed.
At the end of the program, the contents of the relevant tool parameters are thus
as follows:
$TC_DP3[1,1] : 21.830 ; Geometry L1
$TC_DP4[1,1] : 21.830 ; Geometry L2
$TC_DP12[1,1]: 2.500 ; Wear L1
$TC_DP13[1,1]: –4,330 ; Wear L2
The geometric conditions are shown in figure 4-1. 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.
X X’ P1
P2
20
P0
Original _CORVAL = 5, effective in X’ direction
tool length
Wear L1=10, L2=0
10
30
Geometry L1=10, L2=15
Z
10 20 30
Z’
If the example program is continued after N110 with the following instructions:
N120 _CORVAL[0] = 0.0
N130 r1 = settcor(_CORVAL, “GW”, 0, 3, 0)
N140 t1 d1 x0 y0 z0 ; ==> MCS position X24.330 Y0.000
Z17.500
the remaining wear is included completely in the geometry because the offset is
now effective in the Z’ axis (parameter _GEOAX is 0). Since the new offset
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 calling SETTCOR twice with parameter _CORCOMP = 0
can be achieved by calling it once with _CORRCOMP = 1 (vectorial offset):
In this case, all wear components of the tool are equal to zero immediately after
the first SETTCOR call in N100.
Example 7:
N10 def real _CORVAL[3]
N20 $TC_DP1[1,1] = 500 ; Turning tool
N30 $TC_DP3[1,1] = 10.0 ; Geometry L1
N40 $TC_DP4[1,1] = 15.0 ; Geometry L2
N50 $TC_DP12[1,1]= 10.0 ; Wear L1
N60 $TC_DP13[1,1]= 0.0 ; Wear L2
N70 _CORVAL[0] = 5.0
N80 rot y-30
N90 t1 d1 g18 g0
N100 r1 = settcor(_CORVAL, “GW”, 3, 3)
N110 t1 d1 x0 y0 z0 ; ==> MCS position X25.000 Y0.000
Z15.000
X X’
20 Resulting wear component
Z
10 P0 20 30
Wear L1=10, L2=0
(negative evaluation) Original tool length
Z’
N80 _CORVAL[0] = 1.
N90 _CORVAL[1] = 1.
N100 _CORVAL[2] = 1.
N110 t1 d1 g18 g0 x0 y0 z0 ; ==> MCS position X1.5 Y5 Z4
N120 r1 = settcor(_CORVAL, “g”, 1, 1)
N130 t1 d1 x0 y0 z0 ; ==> MCS position X2.5 Y6 Z5
N140 r3 = $TC_DP3[1,1] ; = 5. = (3.000 + 2. * 1.000)
N150 r4 = $TC_DP4[1,1] ; = 5. = (4.000 + 1.000)
N160 r5 = $TC_DP5[1,1] ; = 6. = (5.000 + 1.000)
N170 m30
The offset of the tool length is to be 1 mm in each axis (N80 to N100). 1 mm is
thus added to the original length in lengths L2 and L3. Twice the offset value
(2 mm) is added to the original tool length in L1, in order to change the total
length by 1 mm as required. If the positions approached in blocks N110 and
N130 are compared, it can be seen that each axis position has changed by 1
mm.
J
Notes
5.4 Interrupts
Index
G461, 1/W1/1-6, 1/W1/2-77
G462, 1/W1/1-6, 1/W1/2-77
G91 extension, zero point offset, 1/W1/2-105
Symbols
$A_DNO[n], 1/W1/2-24
K
Keep tool radius compensation
constant, 1/W1/2-71
A KONT, 1/W1/2-44
Alarm for preprocessing stop, 1/W1/2-74
Assignment tool/toolholder, 1/W1/2-80
L
Length of cutting edge, relevant, 1/W1/2-40
B
Basic tool orientation, 1/W1/4-162
N
NORM, 1/W1/2-44
C
Collision monitoring, 1/W1/2-68
Cutting edge number, 1/W1/2-14
O
Offset number, 1/W1/2-15
Orientational toolholder, 1/W1/1-6, 1/W1/2-80,
D 1/W1/4-159
D functions, 1/W1/2-9
D number structure – flat (without tool
management), 1/W1/2-23
D numbers, Allocation of free ..., 1/W1/2-14
P
DISC, 1/W1/2-63 Polynomial, intersection procedure, 1/W1/2-75
F S
Flat D number structure, 1/W1/2-23 Selection of the cutting edge when changing
D number programming, 1/W1/2-25 tool, 1/W1/2-10
Read D number from the PLC, 1/W1/2-24 Slotting saw, 1/W1/2-32
Smooth approach and retraction
Approach movement, 1/W1/2-49
Meaning, 1/W1/2-49
G Retraction movement, 1/W1/2-49
G40, 1/W1/2-43
G41, 1/W1/2-43
G42, 1/W1/2-43
T
G450/G451, 1/W1/2-62
G451, 1/W1/2-64 T function, 1/W1/2-9
G460, 1/W1/2-76 TOA, 1/W1/2-11
SINUMERIK 840D/840Di/810D
Description of Functions Basic Machine
(Part 1)
Brief Description 1
The signal description contains a detailed description of the NC/PLC interface
signals:
Notes
Detailed Description 2
2.1 Various interface signals and functions (A2)
The disabled data areas are assigned to the keyswitch positions in the MMC machine data
for protection levels.
Application example(s) Depending on the rights given to the operator, programmer or installation engineer, certain
functions will be disabled by the keyswitch. Unintentional changes to data (e.g. zero
offsets) or activation of program conditions (e.g. selecting dry run feedrate) by the operator
are therefore ruled out.
Related to .... Disabling by means of password
DB10 NC Ready
DBX108.7
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal The control system is ready.
transition 0 –––> 1 This interface signal is an image of the relay contact “NC-ready”.
This signal is set if:
S Relay contact “NC ready” is closed
S All the voltages in the control have been established
S The control is in cyclic mode
DB10 NC Ready
DBX108.7
Signal state 0 or signal The control is not ready. The relay contact “NC Ready” is open.
transition 1 –––> 0 The following faults will cause NC Ready to be canceled:
S Undervoltage and overvoltage monitoring has responded
S Individual components are not ready (NCK CPU Ready)
S NC CPU watchdog
If the signal “NC Ready” becomes 0 the following measures are introduced by the control if
still possible:
S Removal of servo enables (which stops the drives)
S The following measures are introduced by the PLC basic program:
– Status signals from NCK to PLC (user interface) are reset
– Modification signals for auxiliary functions are deleted
– Cyclic processing of the PLC to NCK user interface is terminated
For further information see References!
The control is not ready until after power ON.
Related to .... Relay contact “NC Ready”
References /DA/, “Diagnostics Guide”
/FB/, P3, “Basic PLC Program”
DB19 COM2
DBX12.2
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 5.1
Signal state 1 or signal COM2 active
transition 0 –––> 1
Signal state 0 or signal COM2 inactive
transition 1 –––> 0
Application example(s) Valid for HMI Embedded; a file transfer can be initiated via RS-232-C.
DB19 COM1
DBX12.3
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 5.1
Signal state 1 or signal COM1 active
transition 0 –––> 1
Signal state 0 or signal COM1 inactive
transition 1 –––> 0
Application example(s) Valid for HMI Embedded; a file transfer can be initiated via RS-232-C.
DB19 RS-232-C ON
DBX12.7
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 5.1
Signal state 1 or signal RS-232-C ON active
transition 0 –––> 1
Signal state 0 or signal RS-232-C ON inactive
transition 1 –––> 0
Application example(s) Valid for HMI Embedded; a file transfer can be initiated via RS-232-C.
DB19 Unload
DBX13.5
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 2.1
Signal state 1 or signal Unload active
transition 0 –––> 1
Signal state 0 or signal Unloading inactive
transition 1 –––> 0
Application example(s) Valid for HMI Advanced; a file transfer can be initiated using the hard disk.
DB19 Selection
DBX13.7
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 5.1
Signal state 1 or signal Selection active
transition 0 –––> 1
Signal state 0 or signal Selection inactive
transition 1 –––> 0
Application example(s) Valid for HMI Advanced; a file transfer can be initiated using the hard disk.
– Spindle disable If IS “Spindle disable” is set, as for axis disable, no more speed setpoints are output to the
speed controller in openloop 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.
Signal state 0 or signal (Normal conditions)
transition 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” signal (edge change 1 0) does not take effect
until the axis/spindle is stationary (i.e. no interpolation setpoint is applied).
Fig. 5-1
Position reference value
from interpolator
Speed iset
Position Current En-
controller controller controller Motor coder
_ _ 1
iact
Axis nact
disable
active Actual position value
Application example(s) The interface signal “Axis disable” and “Spindle disable” is used when a new NC program is
being tested and the machine axes and spindles are not to carry out any traversing or
rotational movements.
S 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.
S Resynchronization takes place automatically on the next traversing command for this
axis, i.e. the axis traverses the remaining distancetogo.
S Example:
G0 X0 Y0 ,
G1 F1000 X100 ; the “axis disable” signal occurs briefly at X20,
; X axis stops, NC continues to interpolate
Y100 ;
X200 ; X traverses from approx. 20 to 200
...
The following behavior applies in association with synchronous mode:
S This signal is no longer effective when the coupling for FS/FA is activated. → No. 6
S If the signal for the LS/LA is set, it also applies to the following spindle(s)/axis(es) →
No. 7
S A workpiece clamped between two spindles (workpiece transfer from front to rearside
machining) cannot be destroyed.
Notice: When changing over from the “Follow-up” state to the “Hold” state and in the servo
mode (with release of the servo enable signal), a Delete distance-to-go command is acti-
vated in the control. As a consequence, for example, an NC block in which only that axis is
traversed is ended directly.
Related to ... IS “Controller enable” (DB31, ... DBX2.1)
NST “Clamping in progress” (DB31, ... DBX2.3)
IS “Follow-up mode active”(DB31, ... DBX61.3)
DB31, ... Position measuring system 1 (PMS1) / Position measuring system 2 (PMS2)
DBX1.5 - DBX1.6
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
PMS1: Signal state 1 Position measuring system 1 is used for the axis/spindle (e.g. for position control, absolute
PMS2: Signal state 0 value calculation, display). If a position measuring system 2 also exists (MD30200
NUM_ENCS = 2), this actual value is also acquired.
PMS1: Signal state 0 Position measuring system 2 is used for the axis/spindle (e.g. for position control, absolute
PMS2: Signal state 1 value calculation, display). If a position measuring system 1 also exists, this actual value is
also acquired.
PMS1: Signal state 1 As it is not possible to use both position measuring systems simultaneously for the position
PMS2: Signal state 1 control of an axis/spindle, the control automatically selects position measuring system 1. If
a position measuring system 2 also exists, this actual value is also acquired.
PMS1: Signal state 0 1) The axis is in the PARK position. The following applies:
PMS2: Signal state 0 S Both position measuring systems are inactive.
S There is no actual value acquisition.
S The position measuring system monitoring is switched off (e.g. cable connection of
encoder).
S The reference point has no effect (interface signal “Referenced/synchronized” has the
signal condition 0).
As soon as an axis is in the parking position, the interface signals “Position controller
active” (DB31, ... DBX61.5), “Speed controller active” (DB31, ... DBX61.6), and
“Current controller active” (DB31, ... DBX61.7) are set to 0 signal.
After parking 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 ramp stop and then servo enable is removed internally.
This is appropriate for the following situations:
S Spindle encoder stops outputting above a certain speed (supplies no further pulses)
S Spindle encoder is decoupled mechanically because it would not be able to cope with
the speed.
The spindle can then continue to run in speedcontrolled mode. In order to really bring the
axis/spindle to a stop, the servo 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 IS “Servo enable” must be set to 1.
DB31, ... Position measuring system 1 (PMS1) / Position measuring system 2 (PMS2)
DBX1.5 - DBX1.6
Application example(s) 1) Switching from position measuring system 1 to position measuring system 2 (and vice
versa):
If the axis in both position measuring systems was referenced and the limit frequency
of the motor sensor has not been exceeded in the meantime (i. e. IS “Referenced/
synchronized 1 and 2” (DB31, ... DBX60.4 and 60.5) in signal state 1) reference point
approach does not have to be repeated after switching over.
On switchover the actual difference between position measuring system 1 and 2 is
traversed immediately. With MD36500 ENC_CHANGE_TOL (maximum tolerance on
position actual value switchover) in which the difference between the two actual values
existing on switchover can lie. 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. For further information see
Description of Functions G2, Velocities, Setpoint/ActualValue Systems, ClosedLoop
Control.
1 0 0 0
2 0 0 1
3 0 1 0
4 0 1 1
5 1 0 0
6 1 0 1
7 1 1 0
8 1 1 1
The switchable drive parameters are organized as follows:
S Current setpoint filter (lowpass, bandstop); for adaptation to the mechanics
S Motor speed normalization
S Speed controller parameters
S Speed setpoint filter
S Speed monitoring data
As soon as the new drive parameter set is active, the drive informs the PLC by sending
interface signals “Active drive parameter set” (DDB31, ... DBX93.0,1 and 2).
Application example(s) Drive parameter switchover can be used for the following:
S Gear switchover
S Measuring circuit switchover
to demand a travel enable from the PLC controller. If all axis travel conditions are fulfilled,
the PLC acknowledges them with
1. The mechanical brake of the relevant axis was released first and
all further axis travel conditions are fulfilled. With
1. The servo enable for the drive has been withdrawn (either by the PLC
with IS “Servo enable” = 0 signal or internally on the control in the event of a fault;
see References) and
The position setpoint is corrected continuously to the actual value during follow-up mode.
Zero speed and clamping monitoring are not active.
Signal state 0 or signal The control signals that followup mode for the axis/spindle is not active.
transition 1 –––> 0 Zero speed and clamping monitoring are active.
In this case, the above requirements are not fulfilled. IS “Followup mode”
active is reset during the “Hold” state.
Special cases, errors, ... Note: A delete distancetogo is triggered internally on transition from “Follow up” to “Hold”
(IS “Followup mode” = 0) or in control mode (IS “Servo enable” = 1).
Related to .... IS “Controller enable” (DB31, ... DBX2.1)
IS “Follow-up mode! (DB31, ... DBX1.4)
References /DA/, “Diagnostics Guide”
1 0 0 0
2 0 0 1
3 0 1 0
4 0 1 1
5 1 0 0
6 1 0 1
7 1 1 0
8 1 1 1
Application example(s) Drive parameter switchover can be used for the following:
S Gear switchover
S Measuring circuit switchover
Related to .... NST “ Drive parameter set selection” (DB31, ... DBX21.0,1 and 2)
References NST “ Drive parameter set selection” (DB31, ... DBX21.0,1 and 2) or
/IAD/, SINUMERIK 840D Installation and Start-Up Guide, Section SIMODRIVE 611D
/IAG/, SINUMERIK 810D Installation and Start-Up Guide
(terminal 63)
PE (software)
&
PE (hardware)
Pulses
enabled
611D
I/RF ”Safe operational stop”
(terminal 663) Drive module
PE = Pulse enable
I/R = Infeed/regenerative feedback module
Related to ... IS “Pulse enable” (DB31, ... DBX21.7)
MD1404: PULSE_SUPPRESSION_DELAY
MD1403: PULSE_SUPPRESSION_SPEED
References /IAD/, SINUMERIK 840D Installation and Start-Up Guide, Section SIMODRIVE 611D
/IAG/, SINUMERIK 810D Installation and Start-Up Guide
3
Warning Warning
2
Warning Drive MD: MOTOR_
threshold
TEMP_WARN_LIMIT
1
Time Time
611D/611U-MD: 611D/611UMD
MOTOR_TEMP_ALARM_TIME
1 Warning Warning
2
2
IS 0
”Motor Time
Temperature
prewarning”
Alarm Alarm
1
4 3
IS 0
”DRIVE
Ready”
Application example(s) As soon as “Motor temperature prewarning” has been signaled, the PLC can, for example,
initiate controlled shutdown of the drives.
Related to ... IS “Drive ready” (DB31, ... DBX93.5)
MD1602: MOTOR_TEMP_WARN_LIMIT
MD1603: MOTOR_TEMP_ALARM_TIME
MD1607: MOTOR_TEMP_SHUTDOWN_LIMIT
References /DA/, “Diagnostics Guide”
/IAD/, SINUMERIK 840D Installation and Start-Up Guide, Section SIMODRIVE 611D
/IAG/, SINUMERIK 810D Installation and Start-Up Guide
active
inactive
Time
Speed n Speed
setpoint nset SPEED_DES_EQ_ACT_TOL
Speed
tolerance
band
IS Ramp-up Time
procedure
completed
1
T < TD T > TD
! hence ! signal
no signal which is
interlocked
0
IS Time
“nact = nset”
1
T < TD T > TD T > TD
! hence ! Signal ! Signal
no signal
0
Time
TD= MD1427: SPEED_DES_EQ_ACT_DELAY
Related to ... IS “nact = nset” (DB31, ... DBX94.6)
NST “|MD| = Mdx” (DB31, ... DBX94.3)
MD1426: SPEED_DES_EQ_ACT_TOL
MD1427: SPEED_DES_EQ_ACT_DELAY
References /IAD/, SINUMERIK 840D Installation and Start-Up Guide, Section SIMODRIVE 611D
/IAG/, SINUMERIK 810D Installation and Start-Up Guide
active
inactive
Time
Speed nset
Speed setpoint
Speed
tolerance
band
Time
Torque Threshold torque 611DMD:
TORQUE_THRESHOLD_X
for JMdJ < Mdx
Mdx
Mdx
Torque setpoint
Md
Time
IS Ramp-up
procedure completed
1
T < TD T > TD
! hence ! signal
no which is
signal interlocked
0
Time
IS
“IMdI < Mdx”
1
Remains active during the
TD2
rampup function
rampup procedure
0
Time
TD= MD1427: SPEED_DES_EQ_ACT_DELAY
TD2 = MD1429: TORQUE_THRESHOLD_X_DELAY
Related to .... IS “Rampup function complete” (DB31, ... DBX94.2)
MD1428: TORQUE_THRESHOLD_X
MD1429: TORQUE_THRESHOLD_X_DELAY
MD1427: SPEED_DES_EQ_ACT_DELAY
References /IAD/, SINUMERIK 840D Installation and Start-Up Guide, Section SIMODRIVE 611D
/IAG/, SINUMERIK 810D Installation and Start-Up Guide
Selection:
The variable to be monitored can be selected by entering a signal number or by enter-
ing a symbolic address. The variable signaling function can be enabled/disabled for
each specific axis using MD1620 PROG_SIGNAL_FLAGS (bits, variable signaling
function). It is also possible to determine whether the threshold value comparison is to
be signed or unsigned.
For further information see References.
Signal state 0 SIMODRIVE 611D reports to the PLC that the threshold value of the variable being moni-
tored has not been exceeded or that the conditions defined in the above 611DMD have not
been fulfilled.
If the variable signaling function is disabled (MD1620 PROG_SIGNAL_FLAGS), signal
state “0” is output to the PLC.
Fig. 5-7
Threshold
Tolerance band
MD1623:
MD1624:
PROG_SIGNAL_
PROG_SIGNAL_
THRESHOLD
HYSTERESIS
Signal
“Threshold value exceeded”
The DC link undervoltage warning threshold should be set greater than 400V depending on
the application. If the DC link voltage drops below 280V, it is switched off by the hardware.
Signal state 0 or signal The DC link voltage UDClink is greater than the DC link undervoltage warning threshold.
transition 1 –––> 0
Application example(s) If a warning signal is given, measures can be taken by the PLC user program, for example,
to stop machining (e.g. start tool retraction) or to back up the DC link voltage.
Related to .... MD1604: LINK_VOLTAGE_WARN_LIMIT (DC link undervoltage warning threshold)
References /IAD/, SINUMERIK 840D Installation and Start-Up Guide, Section SIMODRIVE 611 digital
and /IAG/, SINUMERIK 810D Installation and Start-Up Guide
The i2t monitoring function can be used to protect the power section of digital drives against
continuous overloads.
Signal state 0 or signal The i2t monitoring function has not responded.
transition 1 –––> 0
Application example(s) Further measures can be initiated by the PLC user program, if necessary, when the warn-
ing signal is activated.
Related to .... MD1261: I2T_NOMINAL_REDUCTION (i2t power section nominal current limitation)
MD1262: DIAGNOSIS_I2T (i2t time under limitation)
MD1263: LIMIT_I2T (i2t current limitation factor)
MD1264: LOAD_I2T (i2t current load factor)
References /IAD/, SINUMERIK 840D Installation and Start-Up Guide, Section SIMODRIVE 611digital
and
/IAG/, SINUMERIK 810D Installation and Start-Up Guide
Edge change 1–––> 0 Meaning before the fixed stop has been reached
IS “Fixed stop reached” DB31, ... DBX62.5 = 0.
Travel to fixed stop is aborted
Alarm “20094: axis%1 Function aborted” is displayed
Meaning once fixed stop has been reached
IS “Fixed stop reached” DB31, ... DBX62.5 = 1.
The torque limitation and the monitoring of the fixed stop monitoring
window are canceled. Selection “Acknowledge fixed stop reached” DB31, ...DBX1.1.
IS irrelevant for ... MD37060 FIXED_STOP_ACKN_MASK (monitoring of PLC acknowledgments for travel to
fixed stop) = 0 or 2
Related to ... MD37060 FIXED_STOP_ACKN_MASK (monitoring of PLC acknowledgments for travel to
fixed stop)
IS “Activate travel to fixed stop” (DB31, ... DBX62.4)
DB21, ...
DBX30.5 Activate associated M01
Edge evaluation: no Signal(s) updated: Signal(s) valid from SW: 6.4
Signal state 1 or signal PLC signals to NCK that associated M01 (auxiliary function) must be activated.
transition 0 –––> 1
Signal state 0 or signal Deactivate associated M01 (auxiliary function).
transition 1 –––> 0
Related to ... DB 21-30, DBX 318.5
DB21, ...
DBB58, DBB60 - DBB65 M, S, T, D, H, F functions Modification
Edge evaluation: no Signal(s) updated: Jobcontrolled by Signal(s) valid from SW: 1.1
NCK
Signal state 1 or signal An M, S, T, An D, H, or F function has been output to the interface with a new value
transition 0 –––> 1 together with the associated change signal at the beginning of an OB1 cycle. In this case,
the change signal indicates that the appropriate value is valid.
Signal state 0 or signal The change signals are reset by the basic PLC program at the beginning of the next OB1
transition 1 –––> 0 cycle.
The value of the function is not valid.
DB21, ...
DBB60 - 64, DBB66 - 67 M, S, T, D, H, F functions Additional info “Quick” (highspeed acknowledgment)
Edge evaluation: no Signal(s) updated: Jobcontrolled by Signal(s) valid from SW: 4.1
NCK
Signal state 1 or signal An M, S, T, An D, H, or F function has been output to the interface with a new value
transition 0 –––> 1 together with the associated change signal at the beginning of an OB1 cycle. In this case,
the additional info “Quick” indicates that the auxiliary function is programmed for highspeed
acknowledgment.
Signal state 0 or signal The change signals are reset by the basic PLC program at the beginning of the next OB1
transition 1 –––> 0 cycle.
The value of the function is not valid.
DB21, ...
DBX59.0 - DBX59.4 M function 1–5 not included in list
Edge evaluation: no Signal(s) updated: Jobcontrolled by Signal(s) valid from SW: 1.1
NCK
Signal state 1 or signal M function greater than 99 (with extended address = 0) or with extended address > 0 not
transition 0 –––> 1 included in the decoding list.
This signal is active in conjunction 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 signal M function is lower than 99 (with extended address = 0) or included in the decoding list with
transition 1 –––> 0 an extended address > 0.
The S functions remain valid until they are overwritten by new S functions.
Signal state 0 or signal After PLC power-up.
transition 1 –––> 0 All auxiliary functions are deleted before a new function is entered.
Application example(s) Spindle speed control by the PLC.
The extended address is used to program the spindle for which the
S word is valid.
e.g.: S2=500
DB21, ...
DBB118, DBB119 T function 1
Edge evaluation: no Signal(s) updated: Jobcontrolled by Signal(s) valid from SW: 1.1
NCK
Signal state 1 or signal The T function programmed in an NC block is made available here as soon as the T
transition 0 –––> 1 change signal is applied.
Value range of T function: 0–99,999,999; integer
The T function remains valid until it is overwritten by a new T function.
Signal state 0 or signal After PLC power-up.
transition 1 –––> 0 All auxiliary functions are deleted before a new function is entered.
Application example(s) Control of automatic tool selection.
Special cases, errors, ... When T0 is selected, the current tool is removed from the tool holder but not replaced by a
new tool (default configuration by machine manufacturer).
DB21, ...
DBB129 D function 1
Edge evaluation: no Signal(s) updated: Jobcontrolled by Signal(s) valid from SW: 1.1
NCK
Signal state 1 or signal The D function programmed in an NC block is made available here as soon as the D
transition 0 –––> 1 change signal is applied.
Value range of D function: 0–999; integer
The D function remains valid until it is overwritten by a new D function.
Signal state 0 or signal After PLC power-up.
transition 1 –––> 0 All auxiliary functions are deleted before a new function is entered.
Application example(s) Implementation of protective functions.
Special cases, errors, ... D0 is reserved for deselecting the current tool offset.
DB21, ...
DBB194 - DBB206 Dynamic M functions: M0 - M99
Edge evaluation: no Signal(s) updated: Jobcontrolled by Signal(s) valid as of SW version 1.1
NCK
Signal state 1 or signal The dynamic M signal bits are set by decoded M functions.
transition 0 –––> 1
Signal state 0 or signal The dynamic M signal bits are acknowledged by the basic PLC program, in the case of a
transition 1 –––> 0 general auxiliary function output, after one complete pass of OB1.
In the case of a quick auxiliary function output, they are acknowledged in the same OB40
cycle once the PLC has detected the auxiliary functions.
Application example(s) Spindle clockwise/counterclockwise rotation, switch coolant ON/OFF.
DB21, ...
DBX318.5 Associated M01/M00 active
Edge evaluation: no Signal(s) updated: Signal(s) valid from SW: 6.4
Signal state 1 or signal This bit indicates that an M00 or M01 auxiliary function is active if these associated (auxil-
transition 0 –––> 1 iary) functions have been enabled/activated beforehand.
Signal state 0 or signal No associated M00/M01 auxiliary functions active.
transition 1 –––> 0
Related to ... DB 21-30, DBX30.5
DB31, ...
DBD 78 Value of F auxiliary function
Edge evaluation: no Signal(s) updated: Jobcontrolled Signal(s) valid from SW: 1.1
The values of the F auxiliary 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 auxiliary function
Edge evaluation: no Signal(s) updated: Jobcontrolled Signal(s) valid from SW: 1.1
The values for the M3, M4 and M5 auxiliary functions are sent to the associated interface
for the addressed spindle.
DB31, ...
DBD88 Value of S auxiliary function
Edge evaluation: no Signal(s) updated: Jobcontrolled Signal(s) valid from SW: 1.1
The values for the S auxiliary functions are sent to the associated interface for the ad-
dressed spindle.
DB11, ...
DBX0.0 AUTOMATIC mode
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal AUTOMATIC mode is selected by the PLC program.
transition 0 –––> 1
Signal state 0 or signal AUTOMATIC mode is not selected by the PLC program.
transition 1 –––> 0
Signal irrelevant for ... If “Operating mode switchover inhibit” (DB11, ... DBX0.4) signal = 1
Related to .... IS “Active AUTOMATIC” mode (DB11, ... DBX6.0)
DB11, ...
DBX0.1 MDA mode
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal MDA mode is selected by the PLC program.
transition 0 –––> 1
Signal state 0 or signal MDA mode is not selected by the PLC program.
transition 1 –––> 0
Signal irrelevant for ... If IS “Operating mode switchover inhibit” (DB11, ... D0.4) signal = 1
Related to .... IS “Active MDA mode” (DB11, ... DBX6.1)
DB11, ...
DBX0.2 JOG mode
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal JOG mode is selected by the PLC program.
transition 0 –––> 1
Signal state 0 or signal JOG mode is not selected by the PLC program.
transition 1 –––> 0
Signal irrelevant for ... If “Operating mode switchover inhibit” (DB11, ... DBX0.4) signal = 1
Related to .... IS “Active JOG” mode (DB11, ... DBX6.2)
DB11, ...
DBX0.4 Mode switchover disable
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal The current active mode (JOG, MDA or AUTOMATIC) of the mode group cannot be
transition 0 –––> 1 changed. The machine functions selected within a mode group can be changed.
DB11, ...
DBX0.4 Mode switchover disable
Signal state 0 or signal The mode of the mode group can be changed.
transition 1 –––> 0
Fig.
Mode selection
AUTOMATIC
mode
Mode switchover
disable
MDA
NC
mode
DBX0.4 = 0
JOG
mode
DB11, ...
DBX0.5 Mode group stop
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal An NC stop is activated for all the channels of the mode group. The channel status of all the
transition 0 –––> 1 active channels changes to interrupted. All the channels in channel status RESET remain
in that state. 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 signal Channel status and program run are not affected.
transition 1 –––> 0
Special cases, errors, ... All the axes of a mode group that are not triggered by a program or a program block
(e.g. axes traversing because traverse keys on machine control panel are being operated)
decelerate to rest with mode group stop.
DB11, ...
DBX0.6 Mode group stop axes plus spindles
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal An NC stop is activated for all the channels of the mode group. The channel status of all the
transition 0 –––> 1 active channels changes to interrupted. All the channels in channel status RESET remain
in that state. 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
moving axes and spindles are decelerated to zero speed according to their acceleration
ramp without contour violation. The program can be restarted with NC start.
Signal state 0 or signal Channel status and program run are not affected.
transition 1 –––> 0
Special cases, errors, ... All the axes and spindles of a mode group that are not triggered by a program or a program
block (e.g. axes traversing because traverse keys on machine control panel are being
operated, spindles are being 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: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal A RESET is activated for all the channels of the mode group. All channels are then in
transition 0 –––> 1 channel status RESET. All the current programs go into program status aborted. All 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 signal Channel status and program run are not affected by this signal.
transition 1 –––> 0
Related to ... NST “Channel reset” (DB21, ... DBX7.7)
IS “All channels in reset state” (DB11, ... DBX6.7)
Special cases, errors, ... An alarm which cancels IS “Mode group ready” ensures that all the channels in 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.
DB11, ...
DBX1.0 Machine function TEACH IN
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal Machine function TEACH IN is activated in JOG mode for the mode group.
transition 0 –––> 1
Signal state 0 or signal Machine function TEACH IN is not activated.
transition 1 –––> 0
Signal irrelevant for ... If JOG mode is not active.
References /BA/, “Operator’s Guide”
DB11, ...
DBX1.1 Machine function REPOS
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal Machine function REPOS is activated in JOG mode for the mode group.
transition 0 –––> 1
Signal state 0 or signal Machine function REPOS is not activated.
transition 1 –––> 0
Signal irrelevant for ... If JOG mode is not active.
Application example(s) Because of an error during parts program operation (e.g. tool breakage) the axis is
traversed from the place of error in JOG mode. The axis can then be returned manually to
the exact previous position with machine function REPOS so that the program can be
continued in AUTOMATIC mode.
References /BA/, “Operator’s Guide”
DB11, ...
DBX1.2 Machine function REF
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal Machine function REF is activated in JOG mode for the mode group.
transition 0 –––> 1
Signal state 0 or signal Machine function REF is not activated.
transition 1 –––> 0
Signal irrelevant for ... If JOG mode is not active.
References /FB/, R1, “Reference Point Approach”
DB11, ...
DBX1.6 Single block type B
Edge evaluation: Signal(s) updated: Signal(s) valid from SW: 1.1
Signal state 1 or signal Bit set and DB11, ...DBX1.7 not set: Response across modes
transition 0 –––> 1 – All channels are stopped.
– All channels receive a start.
– Channel KS stops at the end of the block.
– Channels KA receive a STOPATEND. (analogous to “NC Stop at
block limit” DB21.DBB7.BIT2).
– All channels are stopped at a block limit (at some point in time).
(If bits DB11, ... DBX1.6 and DB11, ... DBX1.7 are set concurrently, it is impossible to deter-
mine which single block type is desired. In this case, the control assumes: no single block
across mode groups).
Signal state 0 or signal If bit DB11, ...DBX1.6 is not set and bit DB11, ... DBX1.7 is set, single block type A is ap-
transition 1 –––> 0 plied.
(If bits DB11, ... DBX1.6 and DB11, ... DBX1.7 are not set, it is impossible to determine
which single block type is desired. In this case, the control assumes:
no single block across mode groups).
DB11, ...
DBX1.7 Single block type A
Edge evaluation: Signal(s) updated: Signal(s) valid from SW: 1.1
Signal state 1 or signal Bit set and DB11, ...DBX1.6 not set: Response across modes
transition 0 –––> 1 – All channels are stopped.
– All channels receive a start (Start key).
– Channel KS stops at the end of the block (due to single-block).
– Channels KA receive a STOP. (analogous to STOP key).
– All channels are stopped. (deceleration phase of all KAs)
(If bits DB11, ... DBX1.6 and DB11, ... DBX1.7 are set concurrently, it is impossible to deter-
mine which single block type is desired. In this case, the control assumes: no single block
across mode groups).
Signal state 0 or signal If bit DB11, ...DBX1.7 is not set and bit DB11, ... DBX1.6 is set, single block type B is ap-
transition 1 –––> 0 plied.
(If bits DB11, ... DBX1.6 and DB11, ... DBX1.7 are not set, it is impossible to determine
which single block type is desired. In this case, the control assumes:
no single block across mode groups).
Related to .... Single block type B
DB11, ...
DBX4.0 Selected mode AUTOMATIC
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal AUTOMATIC mode is selected by the MMC.
transition 0 –––> 1
Signal state 0 or signal AUTOMATIC mode is not selected by the MMC.
transition 1 –––> 0
DB11, ...
DBX4.1 Selected mode MDA
Edge evaluation: Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal MDA mode is selected by the MMC.
transition 0 –––> 1
Signal state 0 or signal MDA mode is not selected by the MMC.
transition 1 –––> 0
DB11, ...
DBX4.2 Selected JOG mode
Data block Signal(s) from mode group (MMC –––> PLC)
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal JOG mode is selected by the MMC.
transition 0 –––> 1
Signal state 0 or signal JOG mode is not selected by the MMC.
transition 1 –––> 0
DB11, ...
DBX5.0 Selected machine function TEACH IN
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal Machine function TEACH IN is selected in the mode group by the MMC.
transition 0 –––> 1
Signal state 0 or signal Machine function TEACH IN is not selected by the MMC.
transition 1 –––> 0
References /BA/, “Operator’s Guide”
DB11, ...
DBX5.1 Selected REPOS machine function
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal Machine function REPOS is selected in the mode group by the MMC.
transition 0 –––> 1
Signal state 0 or signal Machine function REPOS is not selected by the MMC.
transition 1 –––> 0
Application example(s) Because of an error during parts program operation (e.g. tool breakage) the axis is
traversed from the place of error in JOG mode. The axis can then be returned manually to
the exact previous position with machine function REPOS so that the program can be
continued in AUTOMATIC mode.
References /BA/, “Operator’s Guide”
DB11, ...
DBX5.2 Selected machine function REF
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal The REF machine function is selected in the mode group by the MMC.
transition 0 –––> 1
Signal state 0 or signal Machine function REF is not selected by the MMC.
transition 1 –––> 0
References /FB/, R1, “Reference Point Approach”
DB11, ...
DBX6.0 Active mode AUTOMATIC
Data block Signal(s) from mode group (NCK –––> PLC)
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal AUTOMATIC mode is active.
transition 0 –––> 1
Signal state 0 or signal AUTOMATIC mode is not active.
transition 1 –––> 0
DB11, ...
DBX6.1 Active mode MDA
Edge evaluation: Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal MDA mode is active.
transition 0 –––> 1
Signal state 0 or signal MDA mode is not active.
transition 1 –––> 0
DB11, ...
DBX6.2 Active JOG mode
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal JOG mode is active.
transition 0 –––> 1
Signal state 0 or signal JOG mode is not active.
transition 1 –––> 0
DB11, ...
DBX6.3 Mode group ready
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal This signal is set after POWER ON when all voltages are present. The mode group is now
transition 0 –––> 1 ready and parts programs can be processed and axes traversed in the individual channels.
Signal state 0 or signal The mode group is not ready. Possible causes are:
transition 1 –––> 0 – A serious axis or spindle alarm has occurred
– Hardware error
– Incorrect mode group configuration (machine data)
DB11, ...
DBX6.7 All channels in Reset state
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal All the channels that belong to this mode group are in “channel status reset” state (DB21, ...
transition 0 –––> 1 DBX7.7).
Signal state 0 or signal At least one of the channels in the mode group is not in “Channel status reset” (DB21, ...
transition 1 –––> 0 DBX7.7).
Related to .... IS “Channel status Reset” (DB21, ... DBX7.7)
DB11, ...
DBX7.0 Active machine function TEACH IN
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal Machine function TEACH IN is active in the mode group.
transition 0 –––> 1
Signal state 0 or signal Machine function TEACH IN is not active.
transition 1 –––> 0
References /BA/, “Operator’s Guide”
DB11, ...
DBX7.1 Active REPOS machine function
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal Machine function REPOS is active in the mode group.
transition 0 –––> 1
Signal state 0 or signal Machine function REPOS is not active.
transition 1 –––> 0
Application example(s) Because of an error during parts program operation (e.g. tool breakage) the axis is
traversed from the place of error in JOG mode. The axis can then be returned manually to
the exact previous position with machine function REPOS so that the program can be
continued in AUTOMATIC mode.
References /BA/, “Operator’s Guide”
DB11, ...
DBX7.2 Active machine function REF
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal Machine function REF is active in the mode group.
transition 0 –––> 1
Signal state 0 or signal Machine function REF is not active.
transition 1 –––> 0
References /FB/, R1, “Reference Point Approach”
DB21, ...
DBX0.4 Activate single block
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal The program is processed in singleblock mode in AUTOMATIC and MDA modes.
transition 0 –––> 1
Signal state 0 or signal No effect
transition 1 –––> 0
Application example(s) A new program can first be tested in singleblock mode in order to monitor the individual
program steps more exactly.
Special cases, errors, ... – Intermediate blocks are inserted if necessary if cutter radius compensation is selected.
– With a series of G33 blocks, single block is effective only if “dry run feedrate” is selected.
– Calculation blocks are not processed in single block mode in the case of decode single
block.
Related to .... IS “Program status interrupted” (DB21, ... DBX35.3)
References Section 2.4
DB21, ...
DBX0.5 Activate M01
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal M01 programmed in the parts program leads to a programmed stop when processed in
transition 0 –––> 1 AUTOMATIC or MDA mode.
Signal state 0 or signal M01 programmed in the parts program does not lead to a programmed stop.
transition 1 –––> 0
Related to .... IS “M01 selected” (DB21, ... DBX24.5)
NST “M0/M01 active” (DB21, ... DBX32.5)
DB21, ...
DBX1.6 PLC action ended
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 4.3
Signal state 1 or signal Axis disable is set internally for all axes (not spindles). Therefore the machine axes do not
transition 0 –––> 1 move when a parts program block or a parts program is being processed. The axis move-
ments 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 parts program is processed in the normal way.
Tool management:
Because of the axis disable, the assignment of a tool magazine is not changed during pro-
gram testing. A PLC application must ensure that the integrity of the data in the tool man-
agement system and the magazine is not corrupted (see the example on the toolbox dis-
kette).
Signal state 0 or signal Parts program processing is not affected by the function program test
transition 1 –––> 0
Related to .... IS “Program testing active” (DB 21-22, DBX33.7)
DB21, ...
DBX1.7 Activate program test
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal Axis disable is set internally for all axes (not spindles). Therefore the machine axes do not
transition 0 –––> 1 move when a parts program block or a parts program is being processed. The axis move-
ments 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 parts program is processed in the normal way.
Tool management:
Because of the axis disable, the assignment of a tool magazine is not changed during pro-
gram testing. A PLC application must ensure that the integrity of the data in the tool man-
agement system and the magazine is not corrupted (see the example on the toolbox dis-
kette).
Signal state 0 or signal Parts program processing is not affected by the function program test
transition 1 –––> 0
Related to .... IS “Program test selected” (DB21, ... DBX25.7)
IS “Program test active” (DB 21-22, DBX33.7)
DB21, ...
DBX2.0 Skip block
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal Blocks marked in the parts program with an oblique (/) are skipped. If there is a series of
transition 0 –––> 1 skip blocks, this signal is only active if it is pending before decoding of the first block of the
series, ideally before NC start.
Signal state 0 or signal The marked parts program blocks are not skipped. A series of blocks will only be
transition 1 –––> 0 processed if the signal is in the 0 state before the first block is decoded.
Related to .... IS “Skip block selected” (DB21, ... DBX26.0)
IS “Program status stopped” (DB21, ... DBX35.2)
DB21, ...
DBX6.1 Read-in disable
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal Data transfer of the next block into the interpolator is disabled. This signal is only active in
transition 0 –––> 1 modes AUTOMATIC and MDA.
Signal state 0 or signal Data transfer of the next block into the interpolator is enabled. This signal is only active in
transition 1 –––> 0 modes AUTOMATIC and MDA.
Application example(s) In a case where an auxiliary function has to have been executed before the next
block can be processed (e.g. for a tool change), automatic block change must be
inhibited with readin disable.
N20 N21
T GXM
N20 N21
T
T M
Read into buffer Output of auxiliary function
Block processed
Data transfer to interpolator
Read-in disable signal Read-in disable for tool change
Data transfer Query point of read-in enable
Content of the interpolator Cancel read-in disable
Related to .... IS “Program status running” (DB21, ... DBX35.0)
DB21, ...
DBX6.4 Program level abort
Edge evaluation: yes Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal On each signal transition 0 –> 1 the current program level being processed (subroutine
transition 0 –––> 1 level, asynchronous subroutine level, save routine) is immediately aborted. Processing of
the parts program continues one level higher after the exit point.
Signal state 0 or signal No effect
transition 1 –––> 0
Special cases, errors, ... The main program level cannot be aborted with this IS, only with IS “Reset”.
DB21, ...
DBX7.0 NC start disable
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal IS “NC Start” (DB21...,DBX7.1) is ineffective.
transition 0 –––> 1
Signal state 0 or signal IS “NC Start” (DB21...,DBX7.1) is effective.
transition 1 –––> 0
Application example(s) This signal is used to suppress renewed program processing because, for example, there
is no lubricant.
Special cases, errors, ... Initiation of a part program selected in the channel by the part program instruction START
(program coordination) is not affected by IS “NC start disable”.
Related to .... IS “NC start” (DB21, ... DBX7.1)
DB21, ...
DBX7.1 NC start
Edge evaluation: yes Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal AUTOMATIK mode: The selected NC program is started or resumed and the auxiliary
transition 0 –––> 1 functions stored during the program interruption are output.
If data are transferred from the PLC to the NC in the “Program interrupted” state, the data
are calculated immediately on NC Start.
MDI mode: The entered block information or parts program blocks are released for
execution.
Signal state 0 or signal No effect
transition 1 –––> 0
Related to .... IS “NC Start disable” DB21, ... DBX7.0)
DB21, ...
DBX7.2 NC stop at block limit
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal The current NC program is stopped after the current parts program block has been
transition 0 –––> 1 processed. Otherwise as for IS “NC Stop” DB21, ... DBX7.3.
Signal state 0 or signal No effect
transition 1 –––> 0
Related to .... IS “NC Stop” (DB21, ... DBX7.3)
IS “NC Stop axes plus spindles” (DB21, ... DBX7.4)
IS “Program status stopped” (DB21, ... DBX35.2)
IS “Channel status interrupted” (DB21, ... DBX35.6)
DB21, ...
DBX7.3 NC stop
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal The current NC program is stopped immediately, the current block is not completed. Only
transition 0 –––> 1 the axes are stopped. They are brought to a controlled stop, however, without a contour
violation.
Distances to go are not completed until a start signal is given.
The program status changes to stopped, the channel status changes to interrupted.
If incremental paths are traversed in JOG mode, this movement is aborted. The remaining
increments are completed following a renewed NC Start.
Signal state 0 or signal No effect
transition 1 –––> 0
Application example(s) If the NC program has been stopped, auxiliary functions, for example, can be put into the
memory. They are then executed on the next NC Start.
The program is resumed at the point of interruption on NC Start. If auxiliary functions were
put into the memory when the program was interrupted, only these become active on the
first NC start. On the second NC start the program is then continued.
DB21, ...
DBX7.4 NC Stop axes plus spindles
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal The current NC program is stopped immediately, the current block is not completed.
transition 0 –––> 1 Distancestogo are not completed until a start signal is given. The axes and the spindles are
stopped. They are brought to a controlled standstill, however.
The program status changes to stopped, the channel status changes to interrupted.
Signal state 0 or signal No effect
transition 1 –––> 0
Signal irrelevant for ... Channel status Reset
Program status aborted
Special cases, errors, ... All axes and spindles that were not caused to move by a program or program block (e.g.
axes are moved by pressing the travel keys on the machine control panel) are not
decelerated to zero speed with “NC stop axes plus spindles”.
If the NC program was stopped, auxiliary functions can be stored for example. They are
then executed on the next NC Start.
The program is resumed at the point of interruption on NC Start. If auxiliary functions were
put into the memory when the program was interrupted, only these become active on the
first NC start. The program is then continued on the second NC Start.
The “NC stop axes plus spindles” signal must be active for at least one PLC cycle.
If data were transferred to the NC after “NC stop axes plus spindles” (e.g. tool offset),
these are calculated immediately on NC start.
Spindles are not stopped with MD35040 SPIND_ACTIVE_AFTER_RESET=1.
DB21, ...
DBX7.7 Reset
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal The channel is reset. The initial settings are set (e.g. G functions). The alarms for the chan-
transition 0 –––> 1 nel are cleared if they are not POWER ON alarms. The Reset signal must be issued by the
PLC (e.g. through gating with the Reset key on the MCP). The signal is only evaluated by
the selected channel.
The program status changes to aborted, the channel status changes to “Channel status
Reset”.
Signal state 0 or signal No effect
transition 1 –––> 0
Related to .... IS “Mode group Reset” (DB11, ... DBX0.7)
IS “Channel status Reset” (DB21, ... DBX35.7)
M00
Data transfer into main memory M modification signal (1 PLC cycle time)
Block processed IS “M00/M01 active”
NC block with M00 IS “Channel state active” (even if
axes are traversed in JOG)
Related to .... IS “Activate M01” (DB21, ... DBX0.5)
IS “M01 selected” (DB21, ... DBX24.5)
Application example(s) The block search function allows you to jump to a specific block in a part program and start
running the part program at that block.
Example applications of search at end point and search at contour are given in Section 6.1.
References /BA/, “Operator’s Guide”
M02
For a list of the possible G groups and their associated functions, please refer to the Pro-
gramming Guide
Signal state = 0 No G function or G group mnemonic identifier is active.
Application example(s) The active G group is stored in binary code in the relevant byte. The following place value
applies:
Bit 7 6 5 4 3 2 1 0
Value 128 64 32 16 8 4 2 1
Example:
G90 0 1 0 1 1 0 1 0
Special cases, errors, ... In contrast to auxiliary functions, G functions are not have to be acknowledged when output
to the PLC, i.e. processing of the parts program is continued immediately after the G func-
tion has been output.
References /PA/, “Programming Guide Fundamentals”
Preselect RMN
Stop part program
REPOSMODEEDGEACKN
t 3 4 5 6
Related to .... IS “REPOSPATHMODE0-2” (DB21, ... DBX31.0-31.2)
IS “REPOSMODEEGGE” (DB21, ... DBX31.4)
IS “REPOSMODEEGGEACKN” (DB21, ... DBX319.0)
IS “Repos Delay Ackn” (DB31, ... DBX70.2)
References Section for block search, “Reapproach after SERUPRO target found”
DB21, ...
DBX319.5 Repos DEFERAL Chan
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 6.4
Signal state 1 or signal All axes currently controlled by this channel have either no REPOS offset or their REPOS
transition 0 –––> 1 offsets are invalid.
Signal state 0 or signal Miscellaneous.
transition 1 –––> 0
Related to .... IS “Repos offset” (DB31, ... DBX70.0)
IS “EMERGENCY STOP” 1
Acknowledge IS
“EMERGENCY STOP”
IS “EMERGENCY STOP
active” 2
IS “RESET”
3
1 IS “Acknowledge EMERGENCY STOP” has no effect
2 IS “Reset” has no effect
3 IS “Acknowledge EMERGENCY STOP” and “RESET” reset
“EMERGENCY STOP active”
Special cases, errors, ... The EMERGENCY STOP state cannot be reset solely by IS “Reset” (DB21, ... DBX7.7).
Related to .... IS “EMERGENCY STOP” (DB10 DBX56.1)
IS “EMERGENCY STOP active” (DB10 DBX106.1)
IS “Mode group reset” (DB10 DBX0.7)
00000000 0.00 0%
00000001 0.01 1%
00000010 0.02 2%
00000011 0.03 3%
. .
11001000 2.00 200%
Binary values u 200 are limited to 200%.
MD12100 OVR_FACTOR_LIMIT_BIN (limit for binary-coded override switch) can be used
as an additional limit for the maximum feed override.
The factors stated in the table for the feedrate override are stored in NC-MD12030
OVR_FACTOR_FEEDRATE [n]. The table contains the default settings.
The number of possible switch settings on standard machine control panels are described
in the configuring guides for the 840D/810D.
Related to .... IS “Feedrate override active” (DB21, ... DBX6.7)
MD12030 OVR_FACTOR_FEEDRATE [n] (weighting of feedrate override switch)
MD12100 OVR_FACTOR_LIMIT_BIN (limitation with binary-coded override switch)
The factors stated in the table for rapid traverse override are stored in MD12050
OVR_FACTOR_RAPID_TRA[n]. The table contains the default settings.
The number of possible switch settings on standard machine control panels are described
in the configuring guides for the 840D/810D.
Signal state 0 or signal
transition 1 –––> 0
Related to .... IS “Rapid traverse override active” (DB21, ... DBX6.6)
MD12050 OVR_FACTOR_RAPID_TRA[n] (weighting of rapid traverse override switch)
MD12100 OVR_FACTOR_LIMIT_BIN (limitation with binary-coded override switch)
00000000 0.00 0%
00000001 0.01 1%
00000010 0.02 2%
00000011 0.03 3%
S S
S S
S S
01100100 1.00 100%
S S
S S
S S
11001000 2.00 200%
Binary values u 200 are limited to 200%.
MD12100 OVR_FACTOR_LIMIT_BIN (limit for binarycoded override switch) can be
used as an additional limit for the maximum axisspecific feed override.
The factors stated in the table for axial feedrate override are stored in NC-MD12010
OVR_FACTOR_AX_SPEED [n]. The table contains the default settings.
The number of possible switch settings on standard machine control panels are described
in the configuring guides for the 840D/810D.
Related to .... NST “Override active” (DB31, ... DBX1.7)
MD12010 OVR_FACTOR_AX_SPEED [n] (weighting of axis feedrate override
switch)
MD12100 OVR_FACTOR_LIMIT_BIN (limitation with binary-coded override switch)
00000000 0.00 0%
00000001 0.01 1%
00000010 0.02 2%
00000011 0.03 3%
S S
S S
S S
01100100 1.00 100%
S S
S S
S S
11001000 2.00 200%
Binary values u 200 are limited to 200%.
MD12100 OVR_FACTOR_LIMIT_BIN (limit for binary-coded override switch) can be used
as an additional limit for the maximum spindle speed override.
The factors stated in the table for spindle speed override are stored in
MD12070 OVR_FACTOR_SPIND_SPEED [n]. The table contains the default settings.
The number of possible switch settings on standard machine control panels are described
in the configuring guides for the 840D/810D.
Related to .... IS “Offset active” (DB 31, ... DBX1.7)
MD12070 OVR_FACTOR_SPIND_SPEED[n] (weighting of spindle override switch)
MD12100 OVR_FACTOR_LIMIT_BIN (limitation with binary-coded override switch)
Edge evaluation: no Signal(s) updated: cyclic Signal(s) valid from SW: 1.1
Signal state 1 or signal The signal is active in all modes.
transition 0 –––> 1 Feed stop:
S The signal triggers a feed stop for the axis. Traversing axes are brought to a standstill
under controlled braking (ramp stop). No alarm is output.
S 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 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 parts program is resumed.
S The position control is retained, i.e. the following error is eliminated.
S If a travel request is issued for an axis with an active “Feed stop”, the request is
retained. This pending travel request is executed immediately when “Feed stop” is
canceled.
If the axis is interpolating in relation to others, this also applies to these axes.
Spindle stop:
S The spindle is brought to a standstill along the acceleration characteristic.
S In positioning mode, activation of the “Spindle stop” signal interrupts the positioning
process. The above response applies with respect to individual axes.
Signal state 0 or signal Feed stop:
transition 1 –––> 0 S The feedrate is enabled for the axis.
S If a travel request (“Travel command”) is active when the “Feed stop” is canceled, this
is executed immediately.
Spindle stop:
S The speed is enabled for the spindle.
S The spindle is accelerated to the previous speed setpoint with the acceleration
characteristic or, in positioning mode, positioning is resumed.
Application example(s) Feed stop:
S The traversing motion in the machine axes is not started when “Feed hold” is active, if,
for example, certain operating states that do not permit axis motion (e.g. door not
closed) prevail.
Spindle stop:
S Change a tool
S Enter auxiliary functions (M, S, H, T, D and F functions) during setup.
Special cases, errors, ... Spindle stop is inactive when G331 or G332 are active.
Notes
Index
E
Error, 1/Z1/2-17, 1/Z1/2-19
Error RS232C, 1/Z1/2-19
Numbers
611D Ready, 1/Z1/2-7
F
FC9: Start (measuring in Jog mode), 1/Z1/2-21
A Follow up operation, 1/Z1/2-25
Active, 1/Z1/2-19 Followup mode active, 1/Z1/2-34
Active drive parameter set A, B, C, 1/Z1/2-38
Active motor A, B, 1/Z1/2-39
Active or passive file system, 1/Z1/2-14, H
1/Z1/2-15
Heatsink temperature prewarning, 1/Z1/2-43
Actual value in WCS, 1/Z1/2-11
Higraph first error display, 1/Z1/2-11
Air temperature alarm, 1/Z1/2-8
Alarm area selection, 1/Z1/2-12
Analog spindle 1, utilization in percent, 1/Z1/2-11
Analog spindle 2, utilization in percent, 1/Z1/2-11 I
Axis/spindle disable, 1/Z1/2-23
Interface signals
Axis/spindle stops, 1/Z1/2-35
Activate channelspecific protection zone,
1/Z1/2-51
Activate dry run feed, 1/Z1/2-109
C Activate M01, 1/Z1/2-73
Activate machinerelated protection zone,
Cancel alarm cleared, 1/Z1/2-16
1/Z1/2-51
Channel number (FC9: ChanNo), 1/Z1/2-21
Activate program test, 1/Z1/2-73
Channel number of machine control panel on
Activate referencing, 1/Z1/2-95
MMC, 1/Z1/2-11
Activate single block, 1/Z1/2-72
Channelspecific NCK alarm is active, 1/Z1/2-22
Active G function of groups 1 to 60, 1/Z1/2-85
Clear cancel alarms, 1/Z1/2-10
Active JOG mode, 1/Z1/2-71
Clear recall alarms, 1/Z1/2-10
Active machine function REF, 1/Z1/2-72
COM1, 1/Z1/2-12, 1/Z1/2-18
Active machine function TEACH IN, 1/Z1/2-72
COM2, 1/Z1/2-12, 1/Z1/2-17
Active mode AUTOMATIC, 1/Z1/2-71
Controller enable, 1/Z1/2-28
Active mode MDA, 1/Z1/2-71
Controller parameter set switchover (checkback
Active REPOS machine function, 1/Z1/2-72
signal), 1/Z1/2-36
Active spindle control mode, 1/Z1/2-106
Controller parameter set switchover (request),
Active spindle mode oscillation mode,
1/Z1/2-29
1/Z1/2-106
Current controller active, 1/Z1/2-36
Active spindle positioning mode, 1/Z1/2-107
Actual direction of rotation clockwise,
1/Z1/2-104
D Actual gear stage A to C, 1/Z1/2-99
Darken screen, 1/Z1/2-10 All axes referenced, 1/Z1/2-95
Delete distancetogo (axisspecific)/Spindle reset, All channels in Reset state, 1/Z1/2-71
1/Z1/2-29 AUTOMATIC mode, 1/Z1/2-66
Delete distancetogo (channelspecific), 1/Z1/2-21 Block search active, 1/Z1/2-80
Displayed channel number of MMC, 1/Z1/2-17 Change gear, 1/Z1/2-103
Drive parameter set selection A, B, C, 1/Z1/2-31 Channel status active, 1/Z1/2-83
Drive Ready, 1/Z1/2-40 Channel status interrupted, 1/Z1/2-83
T
R
Tool offset selection, 1/Z1/2-12
Ramp-up function complete, 1/Z1/2-44 Torque limit 2, 1/Z1/2-30
Rampfunction generator rapid stop, 1/Z1/2-30 Torque limit 2 active, 1/Z1/2-38
Rampfunction generator rapid stop active,
1/Z1/2-37
Rampup times, 1/Z1/2-30
Recall alarm cleared, 1/Z1/2-16 U
REPOS Delay Ackn, 1/Z1/2-89 UDClink lower than warning threshold, 1/Z1/2-49
REPOS offset, 1/Z1/2-88 Unload, 1/Z1/2-13, 1/Z1/2-20
REPOS offset valid, 1/Z1/2-88
REPOSDELAY, 1/Z1/2-88, 1/Z1/2-89
REPOSMODEEDGE, 1/Z1/2-79
REPOSMODEEDGEACKN, 1/Z1/2-86
V
RMB, 1/Z1/2-78 Variable signaling function, 1/Z1/2-48
Notes
Basic axis An axis whose setpoint or actual value is used to calculate a compensation
value.
BP Basic program
CC Compile Cycles
Compensation Axis whose setpoint or actual value is modified by the compensation value.
axis
Compensation The difference between the axis position measured by the encoder and the
value desired, programmmed position.
CR Carriage return
DC Direct control: movement of the rotary axis across the shortest path to the
absolute position within one revolution
DIR Directory
EIA code Special punchtape code: number of punched holes per character always
odd
FIFO First in first out: memory which operates without addresses where the data are
always read out in the same order in which they were stored.
GEO Geometry
GS Gear stage
HMI Human Machine Interface: User interface on numerical control systems for
operator control, programming and simulation
INC Increment
Intermediate point A position of the basic axis and the corresponding compensation value of the
compensation axis
IPO Interpolator
IS Interface signal
ISO code Special punchtape code, number of punched holes per character always
even
LF Line feed
LR Position control
MD Machine data
mm Millimeter
NC Numerical control
NCK Numerical Control Kernel: Numerical kernel with block preparation, traversing
ranges, etc.
OP Operator panel
OPT Options
Path axes In contrast to positioning axes, all path axes assigned to a channel are
controlled by the interpolator such that they start, stop, accelerate and reach
their end point simultaneously (one feedrate for all path axes).
PC Personal computer
PE Paper error
PG Programming unit
PTP Point-to-point
RAM Random access memory, in which data can be read and written
RI Ring indicator
RPA R parameter active: memory area on the NCK for R parameter numbers
SEA Setting data active: memory area for setting data on the NCK
SD Setting data
SM Stepper motor
TO Tool offset
V.24 Definition of the interchange circuit between DTE and DCE (RS 232-C)
ZO Zero offset
Notes
Absolute A coordinate specifying the destination of an axis movement relative to the ori-
coordinate gin of the currently active coordinate system. See also →Incremental coordi-
nate.
Approach fixed Traversing motion towards one of the predefined →fixed machine points.
machine point
AUTOMATIC Sequential block mode (DIN): A mode on NC systems in which a →parts pro-
gram is executed continuously.
Auxiliary functions Auxiliary functions can be used in parts programs to pass parameters to the
PLC where they trigger reactions defined by the machine manufacturer.
Axis identifier In compliance with DIN 66217, axes are identified with X, Y and Z for a right-
handed, right-angled →coordinate system.
Rotary axes rotating around →X, Y and Z are identified with A, B and C. Addi-
tional axes operating in parallel to those specified can be identified with other
letters.
Basic coordinate The programmer uses axis names of the basic coordinate system in the →parts
system program. The basic coordinate system exists in parallel to the →machine coor-
dinate system when no →transformation is active. The two systems differ only
in terms of the axis identifiers used.
Block A section of a →parts program terminated with a line feed. Blocks are divided
into →main blocks and →subblocks.
Block A block is a file which is required for program generation and program manage-
ment.
C-axis An axis around which a controlled rotation and positioning movement is per-
formed with the workpiece spindle.
Circular The →tool is required to travel in a circle between defined points on the contour
interpolation at a specified feedrate while machining the workpiece.
COM Component of the NC control for the implementation and coordination of com-
munication.
Command channel The PLC program uses the command channel to transfer or trigger NC func-
tions (e.g. external S, transformation).
Data block A data unit on the →PLC which can be accessed by →HIGHSTEP programs.
Data blocks contain data definitions. The data can be initialized directly during
the definition.
Data word A data unit, two bytes in size, within a →data block.
Exact stop When an exact stop instruction is programmed, the position specified in a block
is approached precisely and in some cases very slowly. In order to reduce the
approach time, →exact stop limits are defined for rapid traverse and normal
speed/velocity.
Exact stop limit If all path axes have reached their exact stop limit, then the control responds as
if it had reached a target point exactly. Processing of the next block in the
→parts program commences.
Fixed point Machine tools can approach defined fixed points such as a tool change point,
approach loading point, pallet change point, etc. The coordinates of these points are
stored on the control. Where possible, the control system traverses these axes
in →Rapid traverse.
Frame A frame is a calculation rule that translates one Cartesian coordinate system
into another Cartesian coordinate system. A frame contains the components
→zero offset, →rotation, →scaling and →mirroring.
Gantry axes Gantry axes consist of at least one machine axis pair, i.e. a→ master and a
→synchronized (slave) axis which are mechanically coupled. Consequently, the
NC always traverses them simultaneously. The difference in the actual positions
is monitored at all times.
Gantry axis A gantry axis grouping is programmed (via machine data) to define which syn-
grouping chronized (slave) axes are to be controlled by which →master axis. The master
axis and →synchronized axes cannot be traversed separately.
Geometry axis Geometry axes are used to describe a 2 or 3-dimensional area in the workpiece
coordinate system.
Initialization Initialization blocks are special program blocks. They contain values which are
block assigned prior to execution of the program.
Initialization blocks are used primarily for initializing predefined data.
Interpolator Logical unit of the →NCK which determines intermediate values for the move-
ments to be traversed on the individual axes on the basis of destination posi-
tions specified in the parts program.
JOG A mode on the control: a manual setup mode Manual operating mode that al-
lows the operator to manually control the traversing movements of the axis in
feed or in →rapid traverse.
Keywords Words written in a specific way which have a defined meaning in the program-
ming language for →parts programs.
Limit speed Max. (spindle) speed: The maximum speed of a spindle can be limited by ma-
chine data settings, commands from the →PLC or by setting data.
Linear axis The linear axis is an axis which, in contrast to a rotary axis, describes a straight
line.
Linear The tool must approach a target point along a straight line, machining the work-
interpolation piece as it moves.
Machine point A point clearly defined by the machine tool; e.g. machine reference point.
fixed
Machine control Operator panel on a →machine tool with control elements such as keys, rotary
panel switches, etc. and simple indicators such as LEDs. It is used to directly control
the machine tool via the PLC.
Machine zero Fixed point on the machine tool which can be referenced by all (derived) mea-
suring systems.
Macro A collection of instructions under a common identifier. The identifier in the pro-
gram represents the collected sequence of instructions.
Main block A block prefixed by “:” containing all the parameters required to start execution
of a →parts program.
Main program A parts program identified by a number or identifier in which other master rou-
tines, subroutines or cycles can be called.
Master axis The master axis is the →gantry axis which actually exists from the point of view
of the operator and programmer and can therefore be controlled in the same
ways as a normal NC axis.
MDA A mode on the control: “manual data automatic”: manual input of blocks with
execution.
Metric Standardized system of units for lengths in millimeters (mm), meters (m), etc.
measurement
system
Mirroring Mirroring exchanges the leading signs of the coordinate values of a contour in
relation to an axis. Mirroring can be performed simultaneously in relation to sev-
eral axes.
Mode group Axes and spindles which are related in terms of the technical process can be
combined to form a mode group. Axes/spindles belonging to one mode group
can be controlled from one or several →channels. The same →operating mode
is always assigned to the channels of the mode group.
NC Numerical control. It incorporates all the components of the machine tool control
system: →NCK, →PLC, →MMC, →COM.
NCK Numerical control kernel: Component of the NC which processes →parts pro-
grams and basically coordinates the sequence of motions on the machine tool.
Offset memory Data area in the control system containing the tool offset data.
Operating mode An operating concept on a SINUMERIK control. The modes →JOG, →MDA,
and →AUTOMATIC are defined.
Oriented spindle Stops the workpiece spindle with a specified orientation angle, e.g. to perform
stop an additional machining operation at a specific position. M function M19 is per-
manently assigned this function in compliance with DIN 66025.
Override Manual control feature which enables the user to overstore programmed fee-
drates or speeds, in order to adapt them to a specific workpiece or material.
Path axis Path axes are all the machining axes of the →channel which are controlled by
the →interpolator such that they start, accelerate, stop and reach their end point
simultaneously.
Path feed The path feed is applied to →path axes. It represents the geometric total of the
feedrates of the participating geometry axes.
PLC Programmable logic controller: a component of the →NC: a control which can
be programmed to control the logic on a machine tool.
Point-to-point time The time taken to travel from the point of interruption on the contour with the
spindle in motion back to the interruption point with the new tool and the spindle
in motion.
Polar coordinates A coordinate system which defines the position of a point in a plane in terms of
its distance from the origin and the angle formed by the radius vector with a de-
fined axis.
Positioning axis An axis which performs an auxiliary movement on a machine tool (e.g. tool
magazine, pallet transport). Positioning axes do not interpolate with the path
axes.
Pre-coincidence Block change occurs when the path has reached a defined delta distance from
the end position.
Program block Program blocks contain the main program and subprograms of the parts pro-
gram.
Programmable Programmable →frames can be used to define new coordinate system starting
frames points dynamically during execution of the parts program. A distinction is made
between absolute definition using a new frame and additive definition with refer-
ence to an existing starting point.
Programmable Limitation of the area in which the tool can move to a space defined by pro-
working area grammed limits.
limitation
Programming key Characters and character sequences which have a defined meaning in the pro-
gramming language for →parts programs.
Protection area Three-dimensional area within a →working area which the tool tip may not
enter.
Rapid traverse Fastest traversing velocity of an axis. It is used, for example, to move the tool
from its rest position to the →workpiece contour or to retract the tool from the
contour. Rapid traverse is programmed via machine data on a machine-specific
basis.
Reference point Point on the machine tool to which the measuring system of the →machine
axes is referred.
Rotary axis Rotary axes cause the workpiece or tool to rotate to a specified angle position.
Rounding axis Rounding axes cause the workpiece or tool to rotate to an angle position de-
scribed on a graduated grid. When the grid position has been reached, the axis
is “in position”.
R parameter Calculation parameter. The programmer of the parts programmer can assign or
request the values of the R parameter as required.
Setting data Data which provide the control with information on properties of the machine
tool in a way defined by the system software.
Soft key A key whose name appears on an area of the screen. The choice of soft keys
displayed is adapted dynamically to the operating situation. The soft keys can
be assigned to software functions by the user. The functions are displayed in
the menu and change according to which menu is displayed.
Subblock Block prefixed by “N” containing information for an operation such as, for exam-
ple, a position parameter.
Synchronized axis The synchronized axis is the →gantry axis whose setpoint position is always
derived from the traversing motion of the →master axis, thus ensuring that they
both traverse synchronously. From the point of view of the operator and pro-
grammer, the synchronized axis is “non-existent”.
Synchronous axes Synchronous axes require the same time for their distance as geometry axes
for their path distance.
System variable A variable which exists although it has not been programmed by the program-
mer of the →parts program. It is defined by the data type and the variable name,
which is prefixed with $. See also →User-defined variable.
TOA area The TOA area contains all tool and magazine data. As standard, this area corre-
sponds with the channel area with regards to the data range. However, it is pos-
sible to define via MD that several channels share a TOA unit so that these
channels have available common tool management data.
TOA unit Each TOA area may contain several TOA units. The number of possible TOA
units is limited by the maximum number of active channels. One TOA unit con-
tains exactly one tool management data block and one magazine data block.
From SW 4 and higher, an (optional) tool holder data block may be available.
Tool A part used on the machine tool for machining, e.g. cutting tools, mills, drills,
laser beams, etc.
Tool nose radius When a contour is programmed, it is assumed that a pointed tool is used. Since
compensation this is not feasible in practice, the control makes allowance for the curvature
radius of the tool being used. The curvature centre point displaced by the curva-
ture radius is guided equidistantly to the contour.
Tool offset Allowance for the tool dimensions when calculating the path.
Tool radius In order to program a desired →workpiece contour directly, the control must
compensation traverse a path equidistant to the programmed contour with allowance for the
radius.
User-defined Users can define variables in the →parts program for their own use. A definition
variable contains a data type specification and the variable name. See also →System
variable.
Variable definition A variable definition includes the specification of a data type and a variable
name. The variable name can be used to address the value of the variable.
Velocity control In order to achieve an acceptable traversing speed for traversing motions over
very short distances, velocity control combined with Look Ahead over several
blocks can be programmed.
Working area Three-dimensional space into which the tool tip can travel on the basis of the
machine tool design. See also →Protection area.
Workpiece The workpiece coordinate system has its origin in the →workpiece zero. When
coordinate system programming in the workpiece coordinate system, the dimensions and direc-
tions refer to this system.
Workpiece zero The workpiece zero is the origin of the →workpiece coordinate system. It is de-
fined by the distance to the machine zero.
Zero offset Specification of a new reference point for a coordinate system by means of a
reference to an existing zero point and a →frame.
J
Notes
/ST7/ SIMATIC
Products for Totally Integrated Automation and Micro Automation
Catalog ST 70
/Z/ MOTION-CONNECT
Cable, Connectors & System Components for SIMATIC, SINUMERIK,
Masterdrives and SIMOTION
Catalog NC Z
Safety Integrated
Application Manual
The safety program for industries of the world
Electronic Documentation
User Documentation
Manufacturer/Service Documentation
a) Lists
b) Hardware
/ASAL/ SIMODRIVE
Planning Guide General Information for Asynchronous Motors
/APH2/ SIMODRIVE
Planning Guide 1PH2 Asynchronous Motors
/APH4/ SIMODRIVE
Planning Guide 1PH4 Asynchronous Motors
/APH7/ SIMODRIVE
Planning Guide 1PH7 Asynchronous Motors
/APL6/ SIMODRIVE
Planning Guide 1PL6 Asynchronous Motors
Please enter the ID No.: 15257461 in the ’Search’ field (top right) and click on
’go’.
/GHA/ SINUMERIK/SIMOTION
ADI4 – Analog Drive Interface for 4 Axes
Manual
/PFK6/ SIMODRIVE
Planning Guide 1FK6 Three-Phase AC Servomotors
/PFK7/ SIMODRIVE
Planning Guide 1FK7 Three-Phase AC Servomotors
/PFS6/ SIMODRIVE
Planning Guide 1FS6 Three-Phase AC Servomotors
/PFT5/ SIMODRIVE
Planning Guide 1FT5 Three-Phase AC Servomotors
/PFT6/ SIMODRIVE
Planning Guide 1FT6 Three-Phase AC Servomotors
/PJAS/ SIMODRIVE
Planning Guide Asynchronous Motors (Compendium)
/PJFE/ SIMODRIVE
Planning Guide 1FE1 Built-In Synchronous Motors
Three-Phase AC Motors for Main Spindle Drives
/PJF1/ SIMODRIVE
Installation Guide 1FE1 051.–1FE1 147. Built-In Synchronous Motors
Three-Phase AC Motors for Main Spindle Drives
/PJLM/ SIMODRIVE
Planning Guide 1FN1, 1FN3 Linear Motors
ALL General Information about Linear Motors
1FN1 1FN1 Three-Phase AC Linear Motor
1FN3 1FN3 Three-Phase AC Linear Motor
CON Connections
/PJM/ SIMODRIVE
Planning Guide Motors
Three-Phase AC Servo Motors for Feed and Main Spindle Drives
/PJM2/ SIMODRIVE
Planning Guide Servomotors
Three-Phase AC Motors for Feed and Main Spindle Drives
/PJTM/ SIMODRIVE
Planning Guide 1FW6 Integrated Torque Motors
/PKTM/ SIMODRIVE
Planning Guide 1FW3 Complete Torque Motors
/PMHS/ SIMODRIVE
Installation Guide Measuring System for Main Spindle Drives
SIZAG2 Toothed-Wheel Encoder
/PMS/ SIMODRIVE
Planning Guide ECO Motor Spindle for Main Spindle Drives
/PPH/ SIMODRIVE
Planning Guide 1PH2, 1PH4, 1PH7 Motors
AC Induction Motors for Main Spindle Drives
/PPM/ SIMODRIVE
Planning Guide Hollow-Shaft Motors
for 1PM4 and 1PM6 Main Spindle Drives
c) Software
/FBST/ SIMATIC
Description of Functions FM STEPDRIVE/SIMOSTEP
d) Installation and
Start-Up
AE1 Updates/Supplements
BE1 Expanding the Operator Interface
HE1 Online Help
IM2 Starting up HMI Embedded
IM4 Starting up HMI Advanced
TX1 Creating Foreign Language Texts
Description of Functions
From
Name
Your company address/Dept. Should you come across any printing errors
when reading this publication, please notify us
Address on this sheet.
Suggestions for improvement are also welcome.
Zip code: City:
Phone: /
Fax: /
Recommendations and/or corrections
Overview of SINUMERIK 840D/840Di/810D Documentation (10.2004)
General Documentation User Documentation
Safety
SINUMERIK SINUMERIK Integrated SINUMERIK SINUMERIK SINUMERIK SINUMERIK
840D/810D 840D/840Di/ Application 840D/810D/ 840D/840Di/ 840D/840Di/ 840D/840Di/
810D/ Manual FM-NC 810D 810D 810D
Programming Guide Operator ’s Guide System Overview Configuring Operator Description of Func-
– Short Guide – ManualTurn (HW) *) Components tions
– Fundamentals *) – Short Guide ManualTurn – 810D (HW) *) – ManualTurn
– Advanced *) – ShopMill – 840D – ShopMill
– Cycles – Short Guide ShopMill – ShopTurn
– Measuring Cycles – ShopTurn
– ISO Turning/Milling – Short Guide ShopTurn
– Lists System Variables
Manufacturer/Service Documentation
SINUMERIK
SINUMERIK SIMODRIVE SINUMERIK SINUMERIK SINUMERIK SINUMERIK SINUMERIK
611D 840D/840Di/ 840D/840Di/ 840D/810D 840D/810D 840D/810D 840D/810D
840D/810D 810D 810D
Manufacturer/Service Documentation
MOTION
SINUMERIK SINUMERIK SINUMERIK SINUMERIK SINUMERIK CONTROL
SIMODRIVE SINUMERIK SIMODRIVE SIMODRIVE SIMODRIVE SIMODRIVE SYSTEMS
840D 840D/840Di 840D 840D
810D 611D 611D
611D
Description of Description of Installation & Start-Up Lists *) Description of Description of Functions EMC
Functions Functions Guide *) Functions – Hydraulics Module Guidelines
SINUMERIK Digitizing – 810D Linear Motor – Analog Module
Safety Integrated – 840D/611D
– HMI
Manufacturer/Service Documentation
Electronic Documentation